package advancedsystemsmanager.client.gui; import advancedsystemsmanager.api.items.IItemInterfaceProvider; import advancedsystemsmanager.api.tileentities.ITileInterfaceProvider; import cpw.mods.fml.common.network.IGuiHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class GuiHandler implements IGuiHandler { public GuiHandler() { } @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { switch (ID) { case 0: ItemStack stack = player.getCurrentEquippedItem(); if (stack != null) { Item item = stack.getItem(); if (item instanceof IItemInterfaceProvider) { return ((IItemInterfaceProvider)item).getContainer(stack, player); } } break; case 1: TileEntity te = world.getTileEntity(x, y, z); if (te != null && te instanceof ITileInterfaceProvider) { return ((ITileInterfaceProvider)te).getContainer(player); } break; } return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { switch (ID) { case 0: ItemStack stack = player.getCurrentEquippedItem(); if (stack != null) { Item item = stack.getItem(); if (item instanceof IItemInterfaceProvider) { return ((IItemInterfaceProvider)item).getGui(stack, player); } } break; case 1: TileEntity te = world.getTileEntity(x, y, z); if (te != null && te instanceof ITileInterfaceProvider) { // if (te instanceof TileEntityManager) // ((TileEntityManager)te).specialRenderer = new GuiVariable((TileEntityManager)te); return ((ITileInterfaceProvider)te).getGui(player); } break; } return null; } }