package mods.ocminecart.common; import cpw.mods.fml.common.network.IGuiHandler; import mods.ocminecart.client.gui.ComputerCartGui; import mods.ocminecart.client.gui.NetworkRailBaseGui; import mods.ocminecart.client.gui.RemoteModuleGui; import mods.ocminecart.common.container.ComputerCartContainer; import mods.ocminecart.common.container.NetworkRailBaseContainer; import mods.ocminecart.common.container.RemoteModuleContainer; import mods.ocminecart.common.entityextend.RemoteExtenderRegister; import mods.ocminecart.common.minecart.ComputerCart; import mods.ocminecart.common.tileentity.NetworkRailBaseTile; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityMinecart; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class GuiHandler implements IGuiHandler{ @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if(y!=-10){ //if y is -10 then we send the Entity ID with the par. x TileEntity entity = world.getTileEntity(x, y, z); if(entity!=null){ switch(ID){ case 0: if(entity instanceof NetworkRailBaseTile) return new NetworkRailBaseContainer(player.inventory,(NetworkRailBaseTile) entity); } } } else{ Entity entity = world.getEntityByID(x); if(entity!=null){ switch(ID){ case 1: if(entity instanceof ComputerCart) return new ComputerCartContainer(player.inventory,(ComputerCart) entity); break; case 2: if((entity instanceof EntityMinecart) && RemoteExtenderRegister.isRemoteEnabled((EntityMinecart) entity)){ return new RemoteModuleContainer((EntityMinecart) entity); } break; } } } return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if(y!=-10){ //if y is -10 then we send the Entity ID with the par. x TileEntity entity = world.getTileEntity(x, y, z); if(entity!=null){ switch(ID){ case 0: if(entity instanceof NetworkRailBaseTile) return new NetworkRailBaseGui(player.inventory,(NetworkRailBaseTile) entity); } } } else{ Entity entity = world.getEntityByID(x); if(entity!=null){ switch(ID){ case 1: if(entity instanceof ComputerCart) return new ComputerCartGui(player.inventory,(ComputerCart) entity); break; case 2: if(entity instanceof EntityMinecart){ return new RemoteModuleGui(); } } } } return null; } }