package shedar.mods.ic2.nuclearcontrol.blocks.subblocks; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import shedar.mods.ic2.nuclearcontrol.IC2NuclearControl; import shedar.mods.ic2.nuclearcontrol.containers.ContainerAverageCounter; import shedar.mods.ic2.nuclearcontrol.gui.GuiAverageCounter; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityAverageCounter; import shedar.mods.ic2.nuclearcontrol.utils.BlockDamages; public class AverageCounter extends Subblock { private static final int DAMAGE = BlockDamages.DAMAGE_AVERAGE_COUNTER; private static final float[] BOUNDS = { 0, 0, 0, 1, 1, 1 }; public static final byte I_INPUT = 0; public static final byte I_OUTPUT = 1; private static final byte[][] mapping = { { I_OUTPUT, I_INPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT }, { I_INPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT }, { I_OUTPUT, I_OUTPUT, I_OUTPUT, I_INPUT, I_OUTPUT, I_OUTPUT }, { I_OUTPUT, I_OUTPUT, I_INPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT }, { I_OUTPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT, I_INPUT }, { I_OUTPUT, I_OUTPUT, I_OUTPUT, I_OUTPUT, I_INPUT, I_OUTPUT } }; private IIcon[] icons = new IIcon[2]; public AverageCounter() { super(DAMAGE, "tile.blockAverageCounter"); } @Override public TileEntity getTileEntity() { TileEntity instance = IC2NuclearControl.instance.crossRF.getAverageCounter(); if (instance == null) instance = new TileEntityAverageCounter(); //TileEntity instance = new TileEntityAverageCounter(); return instance; } @Override public boolean isSolidBlockRequired() { return false; } @Override public boolean hasGui() { return true; } @Override public float[] getBlockBounds(TileEntity tileEntity) { return BOUNDS; } @Override public Container getServerGuiElement(TileEntity tileEntity, EntityPlayer player) { return new ContainerAverageCounter(player, (TileEntityAverageCounter) tileEntity); } @Override public Object getClientGuiElement(TileEntity tileEntity, EntityPlayer player) { ContainerAverageCounter containerAverageCounter = new ContainerAverageCounter( player, (TileEntityAverageCounter) tileEntity); return new GuiAverageCounter(containerAverageCounter); } @Override public IIcon getIcon(int index) { return icons[index]; } @Override protected byte[][] getMapping() { return mapping; } @Override public void registerIcons(IIconRegister iconRegister) { icons[I_INPUT] = iconRegister .registerIcon("nuclearcontrol:averageCounter/input"); icons[I_OUTPUT] = iconRegister .registerIcon("nuclearcontrol:averageCounter/output"); } }