Added a central way of limiting the syncs.
Tiles auto sync every 30 seconds they have a max so they can only sync 2 times a second
This commit is contained in:
parent
cdf8f3e0a3
commit
e930ea2a04
2 changed files with 14 additions and 7 deletions
|
@ -97,7 +97,7 @@ public class RecipeCrafter {
|
||||||
}
|
}
|
||||||
if(canGiveInvAll){
|
if(canGiveInvAll){
|
||||||
currentRecipe = recipe;//Sets the current recipe then syncs
|
currentRecipe = recipe;//Sets the current recipe then syncs
|
||||||
parentTile.syncWithAll();
|
parentTile.needsSync = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ public class RecipeCrafter {
|
||||||
if(!hasAllInputs()){//If it doesn't have all the inputs reset
|
if(!hasAllInputs()){//If it doesn't have all the inputs reset
|
||||||
currentRecipe = null;
|
currentRecipe = null;
|
||||||
currentTickTime = 0;
|
currentTickTime = 0;
|
||||||
parentTile.syncWithAll();
|
parentTile.needsSync = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (currentTickTime >= currentRecipe.tickTime()) {//If it has reached the recipe tick time
|
if (currentTickTime >= currentRecipe.tickTime()) {//If it has reached the recipe tick time
|
||||||
|
@ -127,7 +127,7 @@ public class RecipeCrafter {
|
||||||
useAllInputs();//this uses all the inputs
|
useAllInputs();//this uses all the inputs
|
||||||
currentRecipe = null;//resets
|
currentRecipe = null;//resets
|
||||||
currentTickTime = 0;
|
currentTickTime = 0;
|
||||||
parentTile.syncWithAll();
|
parentTile.needsSync = true;
|
||||||
}
|
}
|
||||||
} else if (currentTickTime < currentRecipe.tickTime()) {
|
} else if (currentTickTime < currentRecipe.tickTime()) {
|
||||||
if (energy.canUseEnergy(currentRecipe.euPerTick())) {//This checks to see if it can use the power
|
if (energy.canUseEnergy(currentRecipe.euPerTick())) {//This checks to see if it can use the power
|
||||||
|
@ -135,7 +135,7 @@ public class RecipeCrafter {
|
||||||
this.energy.setEnergyStored(this.energy.getEnergyStored() - currentRecipe.euPerTick());
|
this.energy.setEnergyStored(this.energy.getEnergyStored() - currentRecipe.euPerTick());
|
||||||
}
|
}
|
||||||
currentTickTime++;//increase the ticktime
|
currentTickTime++;//increase the ticktime
|
||||||
parentTile.syncWithAll();
|
parentTile.needsSync = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,13 +12,20 @@ import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class TileMachineBase extends TileEntity {
|
public class TileMachineBase extends TileEntity {
|
||||||
private int facing;
|
|
||||||
|
public boolean needsSync = false;
|
||||||
|
public int ticksSinceLastSync = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
// TODO make this happen less
|
//Force a sync evey 30 seconds
|
||||||
// syncWithAll();
|
if(needsSync && ticksSinceLastSync >= 10 || ticksSinceLastSync == 600){
|
||||||
|
syncWithAll();
|
||||||
|
needsSync = false;
|
||||||
|
ticksSinceLastSync = 0;
|
||||||
|
}
|
||||||
|
ticksSinceLastSync ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
|
|
Loading…
Reference in a new issue