package buildcraftAdditions.blocks; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import buildcraftAdditions.utils.RenderUtils; /** * Copyright (c) 2014-2015, AEnterprise * http://buildcraftadditions.wordpress.com/ * Buildcraft Additions is distributed under the terms of GNU GPL v3.0 * Please check the contents of the license located in * http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/ */ public abstract class BlockCoilBase extends BlockBase { private final String coilType; @SideOnly(Side.CLIENT) private IIcon sides, top, bottom; public BlockCoilBase(String coilType) { super("blockCoil" + coilType); setBlockBounds(2F / 10F, 0, 2F / 10F, 8F / 10F, 1, 8F / 10F); this.coilType = coilType; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { if (meta == 0 && side == 3) return sides; if (side == meta && side > 1) return sides; switch (side) { case 0: return bottom; case 1: return top; default: return sides; } } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister register) { sides = RenderUtils.registerIcon(register, "coils/" + coilType.toLowerCase() + "/Sides"); top = RenderUtils.registerIcon(register, "coils/" + coilType.toLowerCase() + "/Top"); bottom = RenderUtils.registerIcon(register, "coils/" + coilType.toLowerCase() + "/Bottom"); } }