From 7016268cbcaed5c725bb63ca8bb510e39191e370 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 5 Jan 2016 20:35:42 -0500 Subject: [PATCH] Better redstone support, fixed fuse sound --- .../common/block/BlockObsidianTNT.java | 2 +- .../common/tile/TileEntityBasicBlock.java | 28 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/java/mekanism/common/block/BlockObsidianTNT.java b/src/main/java/mekanism/common/block/BlockObsidianTNT.java index 580ed6aa7..93b1cc174 100644 --- a/src/main/java/mekanism/common/block/BlockObsidianTNT.java +++ b/src/main/java/mekanism/common/block/BlockObsidianTNT.java @@ -71,7 +71,7 @@ public class BlockObsidianTNT extends Block { EntityObsidianTNT entity = new EntityObsidianTNT(world, x + 0.5F, y + 0.5F, z + 0.5F); world.spawnEntityInWorld(entity); - world.playSoundAtEntity(entity, "random.fuse", 1.0F, 1.0F); + world.playSoundAtEntity(entity, "game.tnt.primed", 1.0F, 1.0F); } } diff --git a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java index a9ef2aff5..454d23d24 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java @@ -252,23 +252,35 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench { return redstoneLastTick; } + + public void onPowerChange() {} public void onNeighborChange(Block block) { if(!worldObj.isRemote) { - boolean power = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord); - - if(redstone != power) - { - redstone = power; - Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); - } + updatePower(); } } - public void onAdded() + private void updatePower() { + boolean power = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord); + + if(redstone != power) + { + redstone = power; + Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); + onPowerChange(); + } + } + + /** + * Called when block is placed in world + */ + public void onAdded() + { + updatePower(); } }