From 2fce8034561e2254db7da104c754f490c19ef49d Mon Sep 17 00:00:00 2001 From: mezz Date: Sun, 15 Feb 2015 13:41:44 -0800 Subject: [PATCH] #19 use a tick count like Railcraft --- src/main/java/forestry/apiculture/gadgets/TileAlveary.java | 7 ++----- src/main/java/forestry/core/gadgets/TileForestry.java | 5 +++-- src/main/java/forestry/farming/gadgets/TileFarm.java | 7 +------ 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/forestry/apiculture/gadgets/TileAlveary.java b/src/main/java/forestry/apiculture/gadgets/TileAlveary.java index 1babb7d54..5bb7339b4 100755 --- a/src/main/java/forestry/apiculture/gadgets/TileAlveary.java +++ b/src/main/java/forestry/apiculture/gadgets/TileAlveary.java @@ -62,14 +62,11 @@ public abstract class TileAlveary extends TileForestry implements IAlvearyCompon @Override public void updateEntity() { + super.updateEntity(); + if (!Proxies.common.isSimulating(worldObj)) { updateClientSide(); } else { - if (!isInited) { - initialize(); - isInited = true; - } - // Periodic validation if needed if (updateOnInterval(200) && (!isIntegratedIntoStructure() || isMaster())) { validateStructure(); diff --git a/src/main/java/forestry/core/gadgets/TileForestry.java b/src/main/java/forestry/core/gadgets/TileForestry.java index fba0b390c..55c05a9da 100755 --- a/src/main/java/forestry/core/gadgets/TileForestry.java +++ b/src/main/java/forestry/core/gadgets/TileForestry.java @@ -64,7 +64,7 @@ public abstract class TileForestry extends TileEntity implements INetworkedEntit protected final AdjacentTileCache tileCache = new AdjacentTileCache(this); protected boolean isInited = false; private IInventoryAdapter inventory = FakeInventoryAdapter.instance(); - private final int tickUpdateOffset = rand.nextInt(); + private int tickCount = rand.nextInt(128); public AdjacentTileCache getTileCache() { return tileCache; @@ -114,6 +114,7 @@ public abstract class TileForestry extends TileEntity implements INetworkedEntit // / UPDATING @Override public void updateEntity() { + tickCount++; if (!isInited) { initialize(); isInited = true; @@ -121,7 +122,7 @@ public abstract class TileForestry extends TileEntity implements INetworkedEntit } public final boolean updateOnInterval(int tickInterval) { - return (worldObj.getTotalWorldTime() + tickUpdateOffset) % tickInterval == 0; + return tickCount % tickInterval == 0; } public abstract void initialize(); diff --git a/src/main/java/forestry/farming/gadgets/TileFarm.java b/src/main/java/forestry/farming/gadgets/TileFarm.java index 2bf157430..679a74b48 100755 --- a/src/main/java/forestry/farming/gadgets/TileFarm.java +++ b/src/main/java/forestry/farming/gadgets/TileFarm.java @@ -97,16 +97,11 @@ public abstract class TileFarm extends TileForestry implements IFarmComponent { @Override public void updateEntity() { + super.updateEntity(); if (!Proxies.common.isSimulating(worldObj)) { updateClientSide(); } else { - - if (!isInited) { - initialize(); - isInited = true; - } - // Periodic validation if needed if (updateOnInterval(200) && (!isIntegratedIntoStructure() || isMaster())) { validateStructure();