Posted August 10, 20196 yr I'm trying to move an item from a specific slot in the player inventory to a specific slot in another open inventory. When you place an item in the open inventory, the server updates the inventory, which I need to achieve. I'm using this to pick it up from my inventory: Minecraft.getMinecraft().playerController.func_187098_a(p.inventoryContainer.windowId, 45 + _book_slot, 0, ClickType.PICKUP, p); And this to place it in the other inventory: Minecraft.getMinecraft().playerController.func_187098_a(enchantment_table_window_id, 13, 0, ClickType.PICKUP, p); 5000ms apart, so there are no timing issues. The item is picked up and placed as expected. However, it doesn't cause the server to update the inventory. If I click that item, it just moves straight back into my inventory. There's clearly a desync here, but I don't know what I'm missing. Edited August 10, 20196 yr by AntiRix
August 11, 20196 yr 3 hours ago, AntiRix said: it doesn't cause the server to update the inventory Of course not. You both: a) did not do the operation on the server b) did not inform the server Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
August 11, 20196 yr Author 11 hours ago, Draco18s said: Of course not. You both: a) did not do the operation on the server b) did not inform the server I thought that I'd need to do something on the server, but I can't find the right method. I tried adding a packet to the queue with the slot and stack in that slot, but it didn't work. Can't find any help on the internet because I'm not doing a common thing. Also can't log outgoing packets because overriding that queuing method and logging the packets doesn't do anything. Tried sending CPacketClickWindow Tried updating player controller Still the same result Edited August 11, 20196 yr by AntiRix
August 15, 20196 yr Author Getting sick of this now. func_187098_a clicks the slot client-side. It also sends a CPacketClickWindow to the server. What else do I have to do?
August 15, 20196 yr I don't know what, precisely, you need to do as it entirely depends on what effect you are trying to achieve: are you trying to do this client side only? I only posted because I knew what hadn't been done. Please do not PM me, if I had any further insight I would have posted. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
August 15, 20196 yr Author On 8/10/2019 at 11:19 PM, AntiRix said: The item is picked up and placed as expected. However, it doesn't cause the server to update the inventory. If you have no further insight, it would be courteous to say that so I'm not waiting for a week. Edited August 15, 20196 yr by AntiRix
August 15, 20196 yr Author Figured it out. My original code is correct so I didn't need to do any of what you suggested. There was just a logical error in my code where the window ID was being reset to 0, so it was trying to perform the click on the wrong inventory.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.