Raycoms Posted June 26, 2017 Posted June 26, 2017 I'm trying to make a custom 2x2 crafting grid inside a container with a done button. I created the GUI button etc. The gui opens, the button clicks, the crafting works. The only problem is that the player inventory does bug heavily.https://pastebin.com/iZ0hGNTh It doesn't let me click the block I want. Quote
Jay Avery Posted June 26, 2017 Posted June 26, 2017 On 6/26/2017 at 10:57 PM, Raycoms said: It doesn't let me click the block I want. Expand What exactly do you mean? Quote
Raycoms Posted June 26, 2017 Author Posted June 26, 2017 When I click on a certain block or it selects another block of the inventory or it does not select any block at all. Quote
Jay Avery Posted June 26, 2017 Posted June 26, 2017 When you say block, do you mean inventory slot? Quote
Raycoms Posted June 26, 2017 Author Posted June 26, 2017 I'm sorry, exactly that's what I meant. I click on a slot and it chooses the content of another slot or no content at all. Quote
Jay Avery Posted June 26, 2017 Posted June 26, 2017 Where in the code do you open the container? Quote
Raycoms Posted June 26, 2017 Author Posted June 26, 2017 I open the gui on button click: private void craftingClicked() { Minecraft.getMinecraft().displayGuiScreen(new WindowGuiCrafting(Minecraft.getMinecraft().thePlayer.inventory, Minecraft.getMinecraft().theWorld, building)); } /** * Create a crafting gui window. * * @param playerInv the player. * @param worldIn the world. * @param building the building it belongs to. */ public WindowGuiCrafting(InventoryPlayer playerInv, World worldIn, final AbstractBuilding.View building) { this(playerInv, worldIn, BlockPos.ORIGIN, building); } /** * Create a crafting gui window. * * @param playerInv the player. * @param worldIn the world. * @param blockPosition the position. * @param building the building. */ public WindowGuiCrafting(InventoryPlayer playerInv, World worldIn, BlockPos blockPosition, final AbstractBuilding.View building) { super(new CraftingGUIBuilding(playerInv, worldIn, blockPosition, building)); } Quote
Jay Avery Posted June 27, 2017 Posted June 27, 2017 You need to make an IGuiHandler to control opening both the server-side container and the client-side gui. Then call player#openGui to open them both as needed. 1 Quote
Raycoms Posted June 27, 2017 Author Posted June 27, 2017 But the button in the gui is only on the client side, how would I trigger the server side then? Is there a message for that? Quote
Raycoms Posted June 27, 2017 Author Posted June 27, 2017 Oh okay, I got it, sometimes I'm a bit slow. Okay I created the message, only problem is. player.openGUI() on the server side doesn't take anything I could work with, it wants a tileEntityChest or similar, but I don't have anything like that, its a crafting table gui... Quote
Recommended Posts
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.