summaryrefslogtreecommitdiff
path: root/ihl/enviroment/LightBulbBlock.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
committerFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
commit05c78126859231a68e199dc34613689bd0978e2f (patch)
tree050bea104a18c72905095d29f31bec2935a27a24 /ihl/enviroment/LightBulbBlock.java
Initial commit
Diffstat (limited to 'ihl/enviroment/LightBulbBlock.java')
-rw-r--r--ihl/enviroment/LightBulbBlock.java133
1 files changed, 133 insertions, 0 deletions
diff --git a/ihl/enviroment/LightBulbBlock.java b/ihl/enviroment/LightBulbBlock.java
new file mode 100644
index 0000000..7175949
--- /dev/null
+++ b/ihl/enviroment/LightBulbBlock.java
@@ -0,0 +1,133 @@
+package ihl.enviroment;
+
+import java.util.Random;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+
+import ihl.IHLCreativeTab;
+import ihl.items_blocks.IHLItemBlock;
+import net.minecraft.block.Block;
+import net.minecraft.block.ITileEntityProvider;
+import net.minecraft.block.material.Material;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class LightBulbBlock extends Block implements ITileEntityProvider
+{
+ public static GlowningAirBlock glowningAir;
+
+ public LightBulbBlock(String unlocalizedName1)
+ {
+ super(Material.glass);
+ this.setStepSound(soundTypeGlass);
+ this.setBlockName(unlocalizedName1);
+ GameRegistry.registerBlock(this,IHLItemBlock.class, unlocalizedName1);
+ this.setHardness(0.3F);
+ this.setResistance(0.5F);
+ this.setCreativeTab(IHLCreativeTab.tab);
+ this.setBlockTextureName("glass");
+ }
+
+ @Override
+ public boolean hasTileEntity(int metadata)
+ {
+ return true;
+ }
+
+ public static void init()
+ {
+ glowningAir = new GlowningAirBlock();
+ GameRegistry.registerBlock(glowningAir, "glowningAir");
+ LightBulbBlock mblock = new LightBulbBlock("lightBulb");
+ GameRegistry.registerTileEntity(LightBulbTileEntity.class, "lightBulb");
+ SpotlightBlock sblock = new SpotlightBlock("spotlight");
+ GameRegistry.registerTileEntity(SpotlightTileEntity.class, "spotlight");
+ SpotlightTileEntity.createLightSphereVectors();
+ }
+
+ /**
+ * Returns the quantity of items to drop on block destruction.
+ */
+ @Override
+ public int quantityDropped(Random random)
+ {
+ return 0;
+ }
+
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ /**
+ * The type of render function that is called for this block
+ */
+ @Override
+ public int getRenderType()
+ {
+ return -2;
+ }
+
+ @Override
+ public void setBlockBoundsBasedOnState(IBlockAccess iBlockAccess, int x, int y, int z)
+ {
+ TileEntity te = iBlockAccess.getTileEntity(x, y, z);
+ if(te!=null && te instanceof LightBulbTileEntity)
+ {
+ LightBulbTileEntity ate = (LightBulbTileEntity) te;
+ setBlockBoundsBasedOnFacing(ate.getFacing());
+ }
+ }
+
+ private void setBlockBoundsBasedOnFacing(int facing)
+ {
+ int var2 = facing & 7;
+ float var6 = 0.1875F;
+ float var7 = 0.5F;
+
+ if (var2 == 0)
+ {
+ this.setBlockBounds(0.5F - var6, 1.0F - var7, 0.5F - var6, 0.5F + var6, 1.0F, 0.5F + var6);
+ }
+ else if (var2 == 1)
+ {
+ this.setBlockBounds(0.5F - var6, 0.0F, 0.5F - var6, 0.5F + var6, var7, 0.5F + var6);
+ }
+ else if (var2 == 2)
+ {
+ this.setBlockBounds(0.5F - var6, 0.5F - var6, 1.0F - var7, 0.5F + var6, 0.5F + var6, 1.0F);
+ }
+ else if (var2 == 3)
+ {
+ this.setBlockBounds(0.5F - var6, 0.5F - var6, 0.0F, 0.5F + var6, 0.5F + var6, var7);
+ }
+ else if (var2 == 4)
+ {
+ this.setBlockBounds(1.0F - var7, 0.5F - var6, 0.5F - var6, 1.0F, 0.5F + var6, 0.5F + var6);
+ }
+ else if (var2 == 5)
+ {
+ this.setBlockBounds(0.0F, 0.5F - var6, 0.5F - var6, var7, 0.5F + var6, 0.5F + var6);
+ }
+ }
+
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isNormalCube()
+ {
+ return false;
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World arg0, int arg1)
+ {
+ return new LightBulbTileEntity();
+ }
+}