package gtnhlanth.common.block; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Blocks; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTechAPI; import gtnhlanth.Tags; public class BlockShieldedAccGlass extends Block { private static final String name = "shielded_accelerator_glass"; public BlockShieldedAccGlass() { super(Material.glass); this.setBlockName("casing." + name); this.setBlockTextureName(Tags.MODID + ":casing." + name); GregTechAPI.registerMachineBlock(this, -1); } @Override public boolean isOpaqueCube() { return false; } @Override @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 1; } @Override public boolean renderAsNormalBlock() { return false; } @Override public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { if (GregTechAPI.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { GregTechAPI.causeMachineUpdate(aWorld, aX, aY, aZ); } } @Override public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMetaData) { if (GregTechAPI.isMachineBlock(this, aMetaData)) { GregTechAPI.causeMachineUpdate(aWorld, aX, aY, aZ); } } @Override public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { return Blocks.glass.getBlockHardness(aWorld, aX, aY, aZ); } @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess worldClient, int xCoord, int yCoord, int zCoord, int aSide) { if (worldClient.getBlock(xCoord, yCoord, zCoord) instanceof BlockShieldedAccGlass) return false; return super.shouldSideBeRendered(worldClient, xCoord, yCoord, zCoord, aSide); } @Override public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) { return false; } }