package mods.eln.sixnode.lampsocket; import mods.eln.misc.Coordonate; import mods.eln.sixnode.lampsocket.LightBlockEntity.LightBlockObserver; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import java.util.Random; public class LightBlock extends BlockContainer { public LightBlock() { super(Material.air); } public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 start, Vec3 end) { return null; } public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { return null; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } @Override public int getRenderType() { return -1; } @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return null; } public int quantityDropped(Random par1Random) { return 0; } @Override public boolean isReplaceable(IBlockAccess access, int x, int y, int z) { return true; } @Override public int getLightValue(IBlockAccess world, int x, int y, int z) { /*if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { Utils.println("Light at " + x + ":" + y + ":" + z + " " + FMLCommonHandler.instance().getEffectiveSide().toString() + " get light " + world.getBlockMetadata(x, y, z)); }*/ // Utils.println("Light at " + x + ":" + y + ":" + z + " " + FMLCommonHandler.instance().getEffectiveSide().toString() + " get light " + world.getBlockMetadata(x, y, z)); return world.getBlockMetadata(x, y, z); //return ((LightBlockEntity)world.getBlockTileEntity(x, y, z)).getClientLight(); } @Override public TileEntity createNewTileEntity(World arg0, int arg1) { return new LightBlockEntity(); } @Override public void breakBlock(World world, int x, int y, int z, Block arg4, int arg5) { Coordonate coord = new Coordonate(x, y, z, world); for (LightBlockObserver o : LightBlockEntity.observers) { o.lightBlockDestructor(coord); } super.breakBlock(world, x, y, z, arg4, arg5); } @Override public int getLightOpacity() { return 0; } }