package com.someluigi.slperiph.ccportable.shared; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.util.Icon; import net.minecraft.world.World; import com.someluigi.slperiph.SLPMod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import dan200.computer.api.ComputerCraftAPI; public class BlockAntenn extends Block { public Icon equiv_0; public Icon equiv_4; public BlockAntenn( int typeID ) { super(typeID, Material.circuits); setCreativeTab(ComputerCraftAPI.getCreativeTab()); setHardness( 0.4f ); disableStats(); setUnlocalizedName("slp.pp.BlockAntenn"); setBlockBounds(0.375f, 0, 0.375f, 0.625f, 1, 0.625f); } public void updateAntenn(World world, int x, int y, int z) { if ( world.isRemote ) return; int transY = -1; int len = 1; while( len < BlockTransmitter.MAX_ANTENN_LENGTH ){ int typeID = world.getBlockId(x, y - len, z); if ( typeID == SLPMod.blockTransmitter.blockID ){ transY = y - len; break; } if ( typeID != blockID ) return; len++; } if ( transY == -1 ) //No transmitter found return; while ( len < BlockTransmitter.MAX_ANTENN_LENGTH ){ if ( world.getBlockId(x, transY + len, z) != blockID ) break; len++; } BlockTransmitter.setRangeAmplifier(world, x, transY, z, len); } public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving living) { updateAntenn(world, x, y, z); } public void breakBlock(World world, int x, int y, int z, int typeID, int meta) { updateAntenn(world, x, y, z); super.breakBlock(world, x, y, z, typeID, meta); } /* * Rendering */ public boolean isOpaqueCube() { return false; } public Icon getBlockTextureFromSideAndMetadata(int side, int meta) { if ( side < 2 ) return this.equiv_0; // MC 1.5 port return this.equiv_4; // MC 1.5 port } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister ir) { this.equiv_4 = ir .registerIcon("slperiph:pp-0"); this.equiv_0 = ir .registerIcon("slperiph:pp-4"); } }