mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-02-06 07:21:31 -08:00
outlaw separator desycning (#5516)
* Seed separators * Sync separators * Seed from tile position
This commit is contained in:
parent
c80e800ac9
commit
10dcd9cb2d
1 changed files with 15 additions and 1 deletions
|
|
@ -30,6 +30,7 @@ public class Separator extends Block{
|
|||
solid = true;
|
||||
hasItems = true;
|
||||
hasLiquids = true;
|
||||
sync = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -45,6 +46,12 @@ public class Separator extends Block{
|
|||
public float progress;
|
||||
public float totalProgress;
|
||||
public float warmup;
|
||||
public int seed;
|
||||
|
||||
@Override
|
||||
public void created(){
|
||||
seed = Mathf.randomSeed(tile.pos(), 0, Integer.MAX_VALUE - 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldAmbientSound(){
|
||||
|
|
@ -91,7 +98,7 @@ public class Separator extends Block{
|
|||
int sum = 0;
|
||||
for(ItemStack stack : results) sum += stack.amount;
|
||||
|
||||
int i = Mathf.random(sum);
|
||||
int i = Mathf.randomSeed(seed++, 0, sum);
|
||||
int count = 0;
|
||||
Item item = null;
|
||||
|
||||
|
|
@ -121,11 +128,17 @@ public class Separator extends Block{
|
|||
return !consumes.itemFilters.get(item.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte version(){
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(Writes write){
|
||||
super.write(write);
|
||||
write.f(progress);
|
||||
write.f(warmup);
|
||||
write.i(seed);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -133,6 +146,7 @@ public class Separator extends Block{
|
|||
super.read(read, revision);
|
||||
progress = read.f();
|
||||
warmup = read.f();
|
||||
if(revision == 1) seed = read.i();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue