package crazypants.enderio.machine.alloy;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.GuiHandler;
import crazypants.enderio.ModObject;
import crazypants.enderio.machine.AbstractMachineBlock;
import crazypants.enderio.network.PacketHandler;
public class BlockAlloySmelter extends AbstractMachineBlock<TileAlloySmelter> {
public static BlockAlloySmelter create() {
PacketHandler.INSTANCE.registerMessage(PacketClientState.class, PacketClientState.class, PacketHandler.nextID(), Side.SERVER);
BlockAlloySmelter ppainter = new BlockAlloySmelter();
ppainter.init();
return ppainter;
}
IIcon vanillaSmeltingOn;
IIcon vanillaSmeltingOff;
IIcon vanillaSmeltingOnly;
private BlockAlloySmelter() {
super(ModObject.blockAlloySmelter, TileAlloySmelter.class);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iIconRegister) {
super.registerBlockIcons(iIconRegister);
vanillaSmeltingOn = iIconRegister.registerIcon("enderio:furnaceSmeltingOn");
vanillaSmeltingOff = iIconRegister.registerIcon("enderio:furnaceSmeltingOff");
vanillaSmeltingOnly = iIconRegister.registerIcon("enderio:furnaceSmeltingOnly");
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
// The server needs the container as it manages the adding and removing of
// items, which are then sent to the client for display
TileEntity te = world.getTileEntity(x, y, z);
if(te instanceof TileAlloySmelter) {
return new ContainerAlloySmelter(player.inventory, (TileAlloySmelter) te);
}
return null;
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
TileEntity te = world.getTileEntity(x, y, z);
return new GuiAlloySmelter(player.inventory, (TileAlloySmelter) te);
}
@Override
protected int getGuiId() {
return GuiHandler.GUI_ID_ALLOY_SMELTER;
}
@Override
protected String getMachineFrontIconKey(boolean active) {
if(active) {
return "enderio:alloySmelterFrontOn";
}
return "enderio:alloySmelterFront";
}
}