diff --git a/src/main/java/refinedstorage/block/BlockNode.java b/src/main/java/refinedstorage/block/BlockNode.java index 896f2cb65..aabd9d3b9 100755 --- a/src/main/java/refinedstorage/block/BlockNode.java +++ b/src/main/java/refinedstorage/block/BlockNode.java @@ -26,10 +26,6 @@ public abstract class BlockNode extends BlockBase { return true; } - public boolean hasConnectivityState() { - return false; - } - @Override protected BlockStateContainer.Builder createBlockStateBuilder() { BlockStateContainer.Builder builder = super.createBlockStateBuilder(); @@ -90,4 +86,8 @@ public abstract class BlockNode extends BlockBase { NetworkUtils.rebuildGraph(network); } } + + public boolean hasConnectivityState() { + return false; + } } diff --git a/src/main/java/refinedstorage/tile/TileCrafter.java b/src/main/java/refinedstorage/tile/TileCrafter.java index 300e7adf5..d216b472f 100755 --- a/src/main/java/refinedstorage/tile/TileCrafter.java +++ b/src/main/java/refinedstorage/tile/TileCrafter.java @@ -98,6 +98,11 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer { return new CombinedInvWrapper(patterns, upgrades); } + @Override + public boolean hasConnectivityState() { + return true; + } + @Override public T getCapability(Capability capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY && facing != getDirection()) { diff --git a/src/main/java/refinedstorage/tile/TileCraftingMonitor.java b/src/main/java/refinedstorage/tile/TileCraftingMonitor.java index bc66338e2..d3e27de7c 100755 --- a/src/main/java/refinedstorage/tile/TileCraftingMonitor.java +++ b/src/main/java/refinedstorage/tile/TileCraftingMonitor.java @@ -39,4 +39,9 @@ public class TileCraftingMonitor extends TileNode { @Override public void updateNode() { } + + @Override + public boolean hasConnectivityState() { + return true; + } } diff --git a/src/main/java/refinedstorage/tile/TileFluidInterface.java b/src/main/java/refinedstorage/tile/TileFluidInterface.java index 965334d66..dd3e13930 100755 --- a/src/main/java/refinedstorage/tile/TileFluidInterface.java +++ b/src/main/java/refinedstorage/tile/TileFluidInterface.java @@ -137,6 +137,16 @@ public class TileFluidInterface extends TileNode implements IComparable { return RefinedStorage.INSTANCE.fluidInterfaceUsage; } + @Override + public int getCompare() { + return compare; + } + + @Override + public void setCompare(int compare) { + this.compare = compare; + } + @Override public NBTTagCompound write(NBTTagCompound tag) { super.write(tag); @@ -186,6 +196,11 @@ public class TileFluidInterface extends TileNode implements IComparable { return out; } + @Override + public boolean hasConnectivityState() { + return true; + } + @Override public boolean hasCapability(Capability capability, EnumFacing facing) { return capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY || super.hasCapability(capability, facing); @@ -199,14 +214,4 @@ public class TileFluidInterface extends TileNode implements IComparable { return super.getCapability(capability, facing); } - - @Override - public int getCompare() { - return compare; - } - - @Override - public void setCompare(int compare) { - this.compare = compare; - } } diff --git a/src/main/java/refinedstorage/tile/TileInterface.java b/src/main/java/refinedstorage/tile/TileInterface.java index 6b6359ecb..438ab6d75 100755 --- a/src/main/java/refinedstorage/tile/TileInterface.java +++ b/src/main/java/refinedstorage/tile/TileInterface.java @@ -154,6 +154,11 @@ public class TileInterface extends TileNode implements IComparable { return new CombinedInvWrapper(importItems, exportItems, upgrades); } + @Override + public boolean hasConnectivityState() { + return true; + } + @Override public T getCapability(Capability capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { diff --git a/src/main/java/refinedstorage/tile/TileNetworkReceiver.java b/src/main/java/refinedstorage/tile/TileNetworkReceiver.java index 37516f84b..6b35f1664 100755 --- a/src/main/java/refinedstorage/tile/TileNetworkReceiver.java +++ b/src/main/java/refinedstorage/tile/TileNetworkReceiver.java @@ -17,4 +17,9 @@ public class TileNetworkReceiver extends TileNode { public void setRedstoneMode(RedstoneMode mode) { // NO OP } + + @Override + public boolean hasConnectivityState() { + return true; + } } diff --git a/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java b/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java index 491d9591a..607d45196 100755 --- a/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java +++ b/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java @@ -148,4 +148,9 @@ public class TileNetworkTransmitter extends TileNode { public boolean isDimensionSupported() { return isSameDimension() || upgrades.hasUpgrade(ItemUpgrade.TYPE_INTERDIMENSIONAL); } + + @Override + public boolean hasConnectivityState() { + return true; + } } diff --git a/src/main/java/refinedstorage/tile/TileNode.java b/src/main/java/refinedstorage/tile/TileNode.java index 042891f0a..8e0eadd74 100755 --- a/src/main/java/refinedstorage/tile/TileNode.java +++ b/src/main/java/refinedstorage/tile/TileNode.java @@ -1,6 +1,5 @@ package refinedstorage.tile; -import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; @@ -8,7 +7,6 @@ import net.minecraft.world.World; import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.INetworkNode; import refinedstorage.api.network.NetworkUtils; -import refinedstorage.block.BlockNode; import refinedstorage.tile.config.IRedstoneConfigurable; import refinedstorage.tile.config.RedstoneMode; import refinedstorage.tile.data.TileDataParameter; @@ -39,12 +37,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, IRedsto return isConnected() && canUpdate(); } - private boolean canSendConnectivityUpdate() { - Block block = getBlockType(); - - return block instanceof BlockNode ? ((BlockNode) block).hasConnectivityState() : false; - } - @Override public void update() { if (!worldObj.isRemote) { @@ -58,7 +50,7 @@ public abstract class TileNode extends TileBase implements INetworkNode, IRedsto } } - if (active != isActive() && canSendConnectivityUpdate()) { + if (active != isActive() && hasConnectivityState()) { updateBlock(); active = isActive(); @@ -155,7 +147,7 @@ public abstract class TileNode extends TileBase implements INetworkNode, IRedsto public NBTTagCompound writeUpdate(NBTTagCompound tag) { super.writeUpdate(tag); - if (canSendConnectivityUpdate()) { + if (hasConnectivityState()) { tag.setBoolean(NBT_CONNECTED, isActive()); } @@ -163,10 +155,14 @@ public abstract class TileNode extends TileBase implements INetworkNode, IRedsto } public void readUpdate(NBTTagCompound tag) { - if (canSendConnectivityUpdate()) { + if (hasConnectivityState()) { connected = tag.getBoolean(NBT_CONNECTED); } super.readUpdate(tag); } + + public boolean hasConnectivityState() { + return false; + } } diff --git a/src/main/java/refinedstorage/tile/TileRelay.java b/src/main/java/refinedstorage/tile/TileRelay.java index 37b0f971b..bda0388dc 100755 --- a/src/main/java/refinedstorage/tile/TileRelay.java +++ b/src/main/java/refinedstorage/tile/TileRelay.java @@ -24,4 +24,9 @@ public class TileRelay extends TileNode { public boolean canConduct(EnumFacing direction) { return canUpdate(); } + + @Override + public boolean hasConnectivityState() { + return true; + } } diff --git a/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java b/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java index ed325040d..06d07d9ae 100755 --- a/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java +++ b/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java @@ -78,6 +78,11 @@ public class TileWirelessTransmitter extends TileNode implements IWirelessTransm return false; } + @Override + public boolean hasConnectivityState() { + return true; + } + @Override public T getCapability(Capability capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { diff --git a/src/main/java/refinedstorage/tile/grid/TileGrid.java b/src/main/java/refinedstorage/tile/grid/TileGrid.java index dc79472e0..5f9affce8 100755 --- a/src/main/java/refinedstorage/tile/grid/TileGrid.java +++ b/src/main/java/refinedstorage/tile/grid/TileGrid.java @@ -418,6 +418,11 @@ public class TileGrid extends TileNode implements IGrid { return REDSTONE_MODE; } + @Override + public boolean hasConnectivityState() { + return true; + } + @Override public void read(NBTTagCompound tag) { super.read(tag);