make detector work again

This commit is contained in:
Raoul Van den Berge
2016-01-02 18:41:32 +01:00
parent 5bffb80190
commit 56b9adb0a2
5 changed files with 35 additions and 19 deletions

View File

@@ -47,14 +47,23 @@ public class BlockDetector extends BlockMachine
return new TileDetector(); return new TileDetector();
} }
public int isProvidingWeakPower(IBlockAccess world, BlockPos pos, IBlockState state, EnumFacing side) @Override
public int getWeakPower(IBlockAccess world, BlockPos pos, IBlockState state, EnumFacing side)
{ {
return ((TileDetector) world.getTileEntity(pos)).isPowered() ? 15 : 0; TileDetector detector = (TileDetector) world.getTileEntity(pos);
if (detector.getDirection() == side.getOpposite())
{
return detector.isPowered() ? 15 : 0;
}
return 0;
} }
public int isProvidingStrongPower(IBlockAccess world, BlockPos pos, IBlockState state, EnumFacing side) @Override
public int getStrongPower(IBlockAccess world, BlockPos pos, IBlockState state, EnumFacing side)
{ {
return ((TileDetector) world.getTileEntity(pos)).isPowered() ? 15 : 0; return getWeakPower(world, pos, state, side);
} }
public boolean canProvidePower() public boolean canProvidePower()

View File

@@ -36,6 +36,14 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
this.redstoneControlled = false; this.redstoneControlled = false;
} }
@Override
public void onDisconnected()
{
super.onDisconnected();
powered = false;
}
@Override @Override
public int getEnergyUsage() public int getEnergyUsage()
{ {
@@ -101,7 +109,6 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
if (powered != lastPowered) if (powered != lastPowered)
{ {
worldObj.markBlockForUpdate(pos);
worldObj.notifyNeighborsOfStateChange(pos, StorageCraftBlocks.DETECTOR); worldObj.notifyNeighborsOfStateChange(pos, StorageCraftBlocks.DETECTOR);
} }
} }
@@ -199,7 +206,6 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
if (powered != lastPowered) if (powered != lastPowered)
{ {
worldObj.markBlockForUpdate(pos); worldObj.markBlockForUpdate(pos);
worldObj.notifyNeighborsOfStateChange(pos, StorageCraftBlocks.DETECTOR);
} }
} }

View File

@@ -3,13 +3,16 @@
"defaults": { "defaults": {
"model": "orientable", "model": "orientable",
"textures": { "textures": {
"side": "storagecraft:blocks/detector_unpowered", "side": "storagecraft:blocks/side",
"top": "storagecraft:blocks/detector_unpowered", "top": "storagecraft:blocks/side",
"front": "storagecraft:blocks/detector_unpowered" "front": "storagecraft:blocks/detector_unpowered"
} }
}, },
"variants": { "variants": {
"inventory": [ "inventory": [
{
"y": 0
},
{ {
"y": 0 "y": 0
} }
@@ -20,6 +23,15 @@
"false": { "false": {
} }
}, },
"powered": {
"true": {
"textures": {
"front": "storagecraft:blocks/detector_powered"
}
},
"false": {
}
},
"direction": { "direction": {
"north": { "north": {
"y": 0 "y": 0
@@ -39,17 +51,6 @@
"down": { "down": {
"x": 90 "x": 90
} }
},
"powered": {
"true": {
"textures": {
"side": "storagecraft:blocks/detector_powered",
"top": "storagecraft:blocks/detector_powered",
"front": "storagecraft:blocks/detector_powered"
}
},
"false": {
}
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B