diff options
Diffstat (limited to 'src/main/java/tectech/thing/block/BlockQuantumGlass.java')
-rw-r--r-- | src/main/java/tectech/thing/block/BlockQuantumGlass.java | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/src/main/java/tectech/thing/block/BlockQuantumGlass.java b/src/main/java/tectech/thing/block/BlockQuantumGlass.java new file mode 100644 index 0000000000..fa0b6c4681 --- /dev/null +++ b/src/main/java/tectech/thing/block/BlockQuantumGlass.java @@ -0,0 +1,110 @@ +package tectech.thing.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +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 eu.usrv.yamcore.blocks.BlockBase; +import gregtech.api.GregTechAPI; +import tectech.Reference; +import tectech.TecTech; + +/** + * Created by danie_000 on 17.12.2016. + */ +public final class BlockQuantumGlass extends BlockBase { + + public static IIcon stuff; + public static int renderID; + public static BlockQuantumGlass INSTANCE; + + public BlockQuantumGlass() { + super(Material.iron); + setBlockBounds(0, 0, 0, 1, 1, 1); + setBlockName("quantumGlass"); + setHarvestLevel("wrench", 3); + setHardness(50); + setResistance(30); + setLightOpacity(0); + setStepSound(Block.soundTypeMetal); + setBlockTextureName(Reference.MODID + ":blockQuantumGlass"); + setCreativeTab(TecTech.creativeTabTecTech); + } + + @Override + public boolean isBeaconBase(IBlockAccess worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ) { + return true; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean getCanBlockGrass() { + return false; + } + + @Override + public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { + Block block = worldIn.getBlock(x, y, z); + return block != this; // && super.shouldSideBeRendered(worldIn, x, y, z, + // side); + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + stuff = blockIcon; + } + + public static void run() { + INSTANCE = new BlockQuantumGlass(); + GameRegistry.registerBlock(INSTANCE, ItemQuantumGlass.class, INSTANCE.getUnlocalizedName()); + GregTechAPI.registerMachineBlock(INSTANCE, -1); + } + + @Override + public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMeta) { + if (GregTechAPI.isMachineBlock(this, aMeta)) { + GregTechAPI.causeMachineUpdate(aWorld, aX, aY, aZ); + } + } + + @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); + } + } +} |