summaryrefslogtreecommitdiff
path: root/ihl/enviroment/LightBulbBlock.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-04-14 07:58:16 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-04-14 07:58:16 +0300
commitaa42aedecd2d2842351088085e8fd9d69ec79565 (patch)
tree94c888b3d362868f427980dd37765f9bb166dba9 /ihl/enviroment/LightBulbBlock.java
parentfb29b09822057ae7b1b913993dc1fa3a67345eec (diff)
Colourful lights
Diffstat (limited to 'ihl/enviroment/LightBulbBlock.java')
-rw-r--r--ihl/enviroment/LightBulbBlock.java60
1 files changed, 49 insertions, 11 deletions
diff --git a/ihl/enviroment/LightBulbBlock.java b/ihl/enviroment/LightBulbBlock.java
index 720ca4e..7c95001 100644
--- a/ihl/enviroment/LightBulbBlock.java
+++ b/ihl/enviroment/LightBulbBlock.java
@@ -1,20 +1,29 @@
package ihl.enviroment;
+import java.util.List;
import java.util.Random;
import cpw.mods.fml.common.registry.GameRegistry;
-
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import ihl.IHLCreativeTab;
+import ihl.flexible_cable.AnchorTileEntity;
import ihl.items_blocks.IHLItemBlock;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemDye;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
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);
@@ -25,7 +34,7 @@ public class LightBulbBlock extends Block implements ITileEntityProvider {
this.setResistance(0.5F);
this.setCreativeTab(IHLCreativeTab.tab);
this.setBlockTextureName("glass");
- this.setLightOpacity(16);
+ this.setLightOpacity(0);
}
@Override
@@ -34,13 +43,22 @@ public class LightBulbBlock extends Block implements ITileEntityProvider {
}
public static void init() {
- glowningAir = new GlowningAirBlock();
new LightBulbBlock("lightBulb");
new SpotlightBlock("spotlight");
- GameRegistry.registerBlock(glowningAir, "glowningAir");
GameRegistry.registerTileEntity(LightBulbTileEntity.class, "lightBulb");
GameRegistry.registerTileEntity(SpotlightTileEntity.class, "spotlight");
- SpotlightTileEntity.createLightSphereVectors();
+ }
+
+ @Override
+ public void onBlockPreDestroy(World world, int x, int y, int z, int meta) {
+ if (world.isRemote) {
+ TileEntity te = world.getTileEntity(x, y, z);
+ if (te != null && te instanceof LightBulbTileEntity) {
+ LightBulbTileEntity ate = (LightBulbTileEntity) te;
+ ate.invalidate();
+ }
+ }
+ super.onBlockPreDestroy(world, x, y, z, meta);
}
/**
@@ -73,6 +91,27 @@ public class LightBulbBlock extends Block implements ITileEntityProvider {
}
}
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @SideOnly(Side.CLIENT)
+ public void getSubBlocks(Item item, CreativeTabs tab, List itemlist) {
+ for (int colour : ItemDye.field_150922_c) {
+ ItemStack stack = new ItemStack(item);
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger("colour", colour);
+ itemlist.add(stack);
+ }
+ }
+
+ @Override
+ public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
+ super.onBlockPlacedBy(world, x, y, z, player, stack);
+ if (!world.isRemote) {
+ TileEntity tile = world.getTileEntity(x, y, z);
+ if (tile instanceof LightBulbTileEntity && stack.stackTagCompound != null)
+ ((LightBulbTileEntity)tile).colour=stack.stackTagCompound.getInteger("colour");
+ }
+ }
+
private void setBlockBoundsBasedOnFacing(int facing) {
int var2 = facing & 7;
float var6 = 0.1875F;
@@ -109,11 +148,10 @@ public class LightBulbBlock extends Block implements ITileEntityProvider {
}
public int getLightValue(IBlockAccess world, int x, int y, int z) {
-/* TileEntity te = world.getTileEntity(x, y, z);
- if (te != null && te instanceof LightBulbTileEntity) {
- LightBulbTileEntity ate = (LightBulbTileEntity) te;
- return ate.getActive() ? 15 : 0;
- }*/
+ TileEntity te = world.getTileEntity(x, y, z);
+ if(te instanceof LightBulbTileEntity && ((LightBulbTileEntity)te).getActive()){
+ return 15;
+ }
return 0;
}
}