Added Light Detector
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package appeng.block.misc;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import appeng.core.features.AEFeature;
|
||||
import appeng.tile.misc.TileLightDetector;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockLightDetector extends BlockQuartzTorch
|
||||
{
|
||||
|
||||
public BlockLightDetector() {
|
||||
super( BlockLightDetector.class );
|
||||
setfeature( EnumSet.of( AEFeature.LightDetector ) );
|
||||
setTileEntiy( TileLightDetector.class );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNeighborChange(IBlockAccess world, int x, int y, int z, int tileX, int tileY, int tileZ)
|
||||
{
|
||||
super.onNeighborChange( world, x, y, z, tileX, tileY, tileZ );
|
||||
|
||||
TileLightDetector tld = getTileEntity( world, x, y, z );
|
||||
if ( tld != null )
|
||||
tld.updateLight();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int isProvidingWeakPower(IBlockAccess w, int x, int y, int z, int side)
|
||||
{
|
||||
if ( w instanceof World && ((TileLightDetector) getTileEntity( w, x, y, z )).isReady() )
|
||||
return (int) ((World) w).getBlockLightValue( x, y, z ) - 6;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void randomDisplayTick(World w, int x, int y, int z, Random r)
|
||||
{
|
||||
// cancel out lightning
|
||||
}
|
||||
|
||||
}
|
||||
@@ -31,14 +31,18 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
public class BlockQuartzTorch extends AEBaseBlock implements IOrientableBlock, ICustomCollision
|
||||
{
|
||||
|
||||
public BlockQuartzTorch() {
|
||||
super( BlockQuartzTorch.class, Material.circuits );
|
||||
setfeature( EnumSet.of( AEFeature.DecorativeLights ) );
|
||||
protected BlockQuartzTorch(Class which) {
|
||||
super( which, Material.circuits );
|
||||
setLightOpacity( 0 );
|
||||
setLightLevel( 0.9375F );
|
||||
isFullSize = isOpaque = false;
|
||||
}
|
||||
|
||||
public BlockQuartzTorch() {
|
||||
this( BlockQuartzTorch.class );
|
||||
setfeature( EnumSet.of( AEFeature.DecorativeLights ) );
|
||||
setLightLevel( 0.9375F );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<? extends BaseBlockRender> getRenderer()
|
||||
{
|
||||
@@ -100,9 +104,8 @@ public class BlockQuartzTorch extends AEBaseBlock implements IOrientableBlock, I
|
||||
public void addCollidingBlockToList(World w, int x, int y, int z, AxisAlignedBB bb, List out, Entity e)
|
||||
{/*
|
||||
* double xOff = -0.15 * getUp().offsetX; double yOff = -0.15 * getUp().offsetY; double zOff = -0.15 *
|
||||
* getUp().offsetZ; out.add( AxisAlignedBB.getBoundingBox( xOff + (double) x + 0.15, yOff + (double) y +
|
||||
* 0.15, zOff + (double) z + 0.15,// ahh xOff + (double) x + 0.85, yOff + (double) y + 0.85, zOff + (double) z +
|
||||
* 0.85 ) );
|
||||
* getUp().offsetZ; out.add( AxisAlignedBB.getBoundingBox( xOff + (double) x + 0.15, yOff + (double) y + 0.15, zOff
|
||||
* + (double) z + 0.15,// ahh xOff + (double) x + 0.85, yOff + (double) y + 0.85, zOff + (double) z + 0.85 ) );
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user