package mods.eln.simplenode.energyconverter; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import mods.eln.misc.Direction; import mods.eln.node.simple.SimpleNode; import mods.eln.node.simple.SimpleNodeBlock; import mods.eln.node.simple.SimpleNodeEntity; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class EnergyConverterElnToOtherBlock extends SimpleNodeBlock { private EnergyConverterElnToOtherDescriptor descriptor; private IIcon elnIcon, eln2Icon; private IIcon sideIcon; public EnergyConverterElnToOtherBlock(EnergyConverterElnToOtherDescriptor descriptor) { super(Material.packedIce); this.descriptor = descriptor; setDescriptor(descriptor); } @Override public TileEntity createNewTileEntity(World var1, int var2) { return new EnergyConverterElnToOtherEntity(); } @Override protected SimpleNode newNode() { return new EnergyConverterElnToOtherNode(); } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess w, int x, int y, int z, int side) { SimpleNodeEntity e = (SimpleNodeEntity) w.getTileEntity(x, y, z); Direction s = Direction.fromIntMinecraftSide(side); if (e == null) return sideIcon; if (e.front == null) return sideIcon; if (e.front == s) return getElnIcon(side); if (e.front.back() == s) return blockIcon; return sideIcon; } public IIcon getIcon(int side, int meta) { Direction s = Direction.fromIntMinecraftSide(side); if (s == Direction.XP) return getElnIcon(side); if (s == Direction.XN) return blockIcon; return sideIcon; } IIcon getElnIcon(int side) { if (side == 2 || side == 5) return eln2Icon; return elnIcon; } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister register) { this.blockIcon = register.registerIcon("eln:elntoic2lvu_ic2"); this.elnIcon = register.registerIcon("eln:elntoic2lvu_eln"); this.eln2Icon = register.registerIcon("eln:elntoic2lvu_eln2"); this.sideIcon = register.registerIcon("eln:elntoic2lvu_side"); } }