package net.kanawo.cemodern.gui; import net.kanawo.cemodern.tile.TileEMCBuilder; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; public class GuiHandler implements IGuiHandler { public static final int EMC_BUILDER = 0; @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEMCBuilder builder = getBuilder(id, world, x, y, z); return builder == null ? null : new ContainerEMCBuilder(player.inventory, builder); } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEMCBuilder builder = getBuilder(id, world, x, y, z); return builder == null ? null : new GuiEMCBuilder(player.inventory, builder); } private static TileEMCBuilder getBuilder(int id, World world, int x, int y, int z) { if (id != EMC_BUILDER || !world.blockExists(x, y, z)) { return null; } TileEntity tile = world.getTileEntity(x, y, z); return tile instanceof TileEMCBuilder ? (TileEMCBuilder) tile : null; } }