Posted December 30, 20159 yr Hey ! I'm trying to make a block with multiple tabs in it. Each tab is going to have his own inventory and I was wondering if it was (or wasn't) recommended to use multiple GUIContainers and Containers with a same TileEntity ? If so, can I switch between the two using Minecraft.getMinecraft().thePlayer.openGui(Mod.instance, ID_CUSTOM_GU, Minecraft.getMinecraft().theWorld, tile.xCoord, tile.yCoord, tile.zCoord); Thanks
December 30, 20159 yr No, it is a waste to make multiple GuiContainers for each tab. If the bottom part (the player inventory) never changes throughout the tab changes, there is only a need to update the part of the container that changes when a certain tab is selected. Let's say you have three tabs, tab0, tab1, and tab2. In your container, tell the game "if tab0 is selected, add these slots to the inventory, if tab1 is selected, add these instead" etc. Only ever change what you need to change. So, again, if the player inventory slots never change when switching tabs, you don't have to update any slot positions for the player inventory. I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat.
December 30, 20159 yr Also, remember that Minecraft#getMinecraft() IS CLIENT SIDE ONLY. So, you can never use it in the container class, because that class only runs on the server side. I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat.
December 30, 20159 yr Author Thanks (but I wanted to run Minecraft.getMinecraft on the GuiContainer). But how am I supposed to change the displayed gui in the GuiContainer ?
December 30, 20159 yr Packets are your best friend. When the tab is clicked, it will be run on client side only. So, in order to inform the server the the container update needs to run, you'll need to send a packet containing what the new selected tab number is. So, you click the tab, update the gui, send the packet, update the container. I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat.
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.