diff --git a/src/main/java/storagecraft/block/BlockDetector.java b/src/main/java/storagecraft/block/BlockDetector.java index 088d8ac5c..79d89bcf6 100755 --- a/src/main/java/storagecraft/block/BlockDetector.java +++ b/src/main/java/storagecraft/block/BlockDetector.java @@ -47,14 +47,23 @@ public class BlockDetector extends BlockMachine 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() diff --git a/src/main/java/storagecraft/tile/TileDetector.java b/src/main/java/storagecraft/tile/TileDetector.java index 6c9437a43..8e5b05a83 100755 --- a/src/main/java/storagecraft/tile/TileDetector.java +++ b/src/main/java/storagecraft/tile/TileDetector.java @@ -36,6 +36,14 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven this.redstoneControlled = false; } + @Override + public void onDisconnected() + { + super.onDisconnected(); + + powered = false; + } + @Override public int getEnergyUsage() { @@ -101,7 +109,6 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven if (powered != lastPowered) { - worldObj.markBlockForUpdate(pos); worldObj.notifyNeighborsOfStateChange(pos, StorageCraftBlocks.DETECTOR); } } @@ -199,7 +206,6 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven if (powered != lastPowered) { worldObj.markBlockForUpdate(pos); - worldObj.notifyNeighborsOfStateChange(pos, StorageCraftBlocks.DETECTOR); } } diff --git a/src/main/resources/assets/storagecraft/blockstates/detector.json b/src/main/resources/assets/storagecraft/blockstates/detector.json index 70abef772..3274b8a90 100755 --- a/src/main/resources/assets/storagecraft/blockstates/detector.json +++ b/src/main/resources/assets/storagecraft/blockstates/detector.json @@ -3,13 +3,16 @@ "defaults": { "model": "orientable", "textures": { - "side": "storagecraft:blocks/detector_unpowered", - "top": "storagecraft:blocks/detector_unpowered", + "side": "storagecraft:blocks/side", + "top": "storagecraft:blocks/side", "front": "storagecraft:blocks/detector_unpowered" } }, "variants": { "inventory": [ + { + "y": 0 + }, { "y": 0 } @@ -20,6 +23,15 @@ "false": { } }, + "powered": { + "true": { + "textures": { + "front": "storagecraft:blocks/detector_powered" + } + }, + "false": { + } + }, "direction": { "north": { "y": 0 @@ -39,17 +51,6 @@ "down": { "x": 90 } - }, - "powered": { - "true": { - "textures": { - "side": "storagecraft:blocks/detector_powered", - "top": "storagecraft:blocks/detector_powered", - "front": "storagecraft:blocks/detector_powered" - } - }, - "false": { - } } } } \ No newline at end of file diff --git a/src/main/resources/assets/storagecraft/textures/blocks/cable_sensitive_powered.png b/src/main/resources/assets/storagecraft/textures/blocks/cable_sensitive_powered.png deleted file mode 100644 index a31527424..000000000 Binary files a/src/main/resources/assets/storagecraft/textures/blocks/cable_sensitive_powered.png and /dev/null differ diff --git a/src/main/resources/assets/storagecraft/textures/blocks/cable_sensitive_unpowered.png b/src/main/resources/assets/storagecraft/textures/blocks/cable_sensitive_unpowered.png deleted file mode 100644 index e01936ac3..000000000 Binary files a/src/main/resources/assets/storagecraft/textures/blocks/cable_sensitive_unpowered.png and /dev/null differ