package com.jaquadro.minecraft.gardencore.core.handlers;
import com.jaquadro.minecraft.gardencore.block.BlockGarden;
import com.jaquadro.minecraft.gardencore.block.tile.TileEntityCompostBin;
import com.jaquadro.minecraft.gardencore.block.tile.TileEntityGarden;
import com.jaquadro.minecraft.gardencore.client.gui.GuiCompostBin;
import com.jaquadro.minecraft.gardencore.client.gui.GuiGardenLayout;
import com.jaquadro.minecraft.gardencore.inventory.ContainerCompostBin;
import com.jaquadro.minecraft.gardencore.inventory.ContainerGarden;
import cpw.mods.fml.common.network.IGuiHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler
{
public static int gardenLayoutGuiID = 0;
public static int compostBinGuiID = 1;
@Override
public Object getServerGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z) {
TileEntity tileEntity = world.getTileEntity(x, y, z);
if (tileEntity instanceof TileEntityGarden)
return openGardenGui(player.inventory, (TileEntityGarden) tileEntity, false);
if (tileEntity instanceof TileEntityCompostBin)
return new ContainerCompostBin(player.inventory, (TileEntityCompostBin) tileEntity);
return null;
}
@Override
public Object getClientGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z) {
TileEntity tileEntity = world.getTileEntity(x, y, z);
if (tileEntity instanceof TileEntityGarden)
return openGardenGui(player.inventory, (TileEntityGarden) tileEntity, true);
if (tileEntity instanceof TileEntityCompostBin)
return new GuiCompostBin(player.inventory, (TileEntityCompostBin) tileEntity);
return null;
}
private Object openGardenGui (InventoryPlayer playerInventory, TileEntityGarden te, boolean client) {
if (te == null)
return null;
BlockGarden block = te.getGardenBlock();
if (block == null)
return null;
return block.getSlotProfile().openPlantGUI(playerInventory, te, client);
}
}