package choonster.testmod3.client.gui; import choonster.testmod3.client.gui.inventory.GuiModChest; import choonster.testmod3.tileentity.TileEntityModChest; import choonster.testmod3.tileentity.TileEntitySurvivalCommandBlock; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.IGuiHandler; import javax.annotation.Nullable; import static choonster.testmod3.client.gui.GuiIDs.*; public class GuiHandler implements IGuiHandler { @Override @Nullable public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { final TileEntity tileEntity = world.getTileEntity(new BlockPos(x, y, z)); switch (ID) { case SURVIVAL_COMMAND_BLOCK: case SURVIVAL_COMMAND_BLOCK_MINECART: return null; case MOD_CHEST: if (tileEntity != null) { return ((TileEntityModChest) tileEntity).createContainer(player); } default: return null; } } @Override @Nullable public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { final TileEntity tileEntity = world.getTileEntity(new BlockPos(x, y, z)); switch (ID) { case SURVIVAL_COMMAND_BLOCK: if (tileEntity != null) { return new GuiSurvivalCommandBlock((TileEntitySurvivalCommandBlock) tileEntity); } case SURVIVAL_COMMAND_BLOCK_MINECART: // Get SurvivalCommandBlockLogic from Minecart using x as entityID (NYI) return null; case MOD_CHEST: if (tileEntity != null) { return new GuiModChest(((TileEntityModChest) tileEntity).createContainer(player)); } default: return null; } } }