package gregtech.common.blocks; import net.minecraft.block.Block; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; import gregtech.api.util.GT_LanguageManager; import gregtech.common.tileentities.render.TileLaser; public class GT_Block_Laser extends Block implements ITileEntityProvider { public static IIcon[] textures; public GT_Block_Laser() { super(Material.iron); setBlockName("LaserPlate"); this.setCreativeTab(GregTech_API.TAB_GREGTECH); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".name", "Laser Resistant Plate"); GregTech_API.registerMachineBlock(this, -1); GameRegistry.registerBlock(this, GT_Item_Block_Laser.class, getUnlocalizedName()); ItemList.Laser_Plate.set(new ItemStack(this, 1)); } @Override public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } } @Override public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMetaData) { if (GregTech_API.isMachineBlock(this, aMetaData)) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } } @Override public String getHarvestTool(int aMeta) { return "wrench"; } @Override public int getHarvestLevel(int aMeta) { return 2; } @Override public String getUnlocalizedName() { return "gt.laserplate"; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { blockIcon = Textures.BlockIcons.LASER_PLATE.getIcon(); } @Override public IIcon getIcon(int side, int meta) { return blockIcon; } @Override public boolean renderAsNormalBlock() { return false; } @Override public float getBlockHardness(World world, int x, int y, int z) { return 1.0f; } @Override public int damageDropped(int meta) { return meta; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean hasTileEntity(int metadata) { return true; } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileLaser(); } }