summaryrefslogtreecommitdiff
path: root/ihl/enviroment/SpotlightBlock.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/SpotlightBlock.java
parentfb29b09822057ae7b1b913993dc1fa3a67345eec (diff)
Colourful lights
Diffstat (limited to 'ihl/enviroment/SpotlightBlock.java')
-rw-r--r--ihl/enviroment/SpotlightBlock.java49
1 files changed, 44 insertions, 5 deletions
diff --git a/ihl/enviroment/SpotlightBlock.java b/ihl/enviroment/SpotlightBlock.java
index 2cabecf..02cafd1 100644
--- a/ihl/enviroment/SpotlightBlock.java
+++ b/ihl/enviroment/SpotlightBlock.java
@@ -4,17 +4,25 @@ import ic2.core.IC2;
import ihl.IHLCreativeTab;
import ihl.items_blocks.IHLItemBlock;
+import java.util.List;
import java.util.Random;
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;
import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
public class SpotlightBlock extends Block implements ITileEntityProvider
{
@@ -36,7 +44,20 @@ public class SpotlightBlock extends Block implements ITileEntityProvider
{
return true;
}
-
+
+ @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);
+ }
+ }
+
+
+
/**
* Returns the quantity of items to drop on block destruction.
*/
@@ -80,17 +101,31 @@ public class SpotlightBlock extends Block implements ITileEntityProvider
}
@Override
- public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack)
+ public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack)
{
TileEntity t = world.getTileEntity(x, y, z);
if(IC2.platform.isSimulating() && t instanceof SpotlightTileEntity)
{
SpotlightTileEntity te = (SpotlightTileEntity)t;
te.setDirectionVector(player);
+ if(stack.stackTagCompound!=null)
+ te.colour=stack.stackTagCompound.getInteger("colour");
}
}
@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);
+ }
+
+ @Override
public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer player,int i,float pos_x,float pos_y,float pos_z)
{
TileEntity te = world.getTileEntity(x,y,z);
@@ -102,7 +137,11 @@ public class SpotlightBlock extends Block implements ITileEntityProvider
return false;
}
-
-
-
+ public int getLightValue(IBlockAccess world, int x, int y, int z) {
+ TileEntity te = world.getTileEntity(x, y, z);
+ if(te instanceof LightBulbTileEntity && ((LightBulbTileEntity)te).getActive()){
+ return 15;
+ }
+ return 0;
+ }
} \ No newline at end of file