diff --git a/core/src/mindustry/mod/ModLoadingSound.java b/core/src/mindustry/mod/ModLoadingSound.java index 0b1197eb02..7bae2f5a6b 100644 --- a/core/src/mindustry/mod/ModLoadingSound.java +++ b/core/src/mindustry/mod/ModLoadingSound.java @@ -2,7 +2,7 @@ package mindustry.mod; import arc.audio.*; import arc.math.geom.*; -import arc.mock.MockSound; +import arc.mock.*; import arc.util.ArcAnnotate.*; public class ModLoadingSound implements Sound{ diff --git a/core/src/mindustry/world/blocks/ItemSelection.java b/core/src/mindustry/world/blocks/ItemSelection.java index 65c0fb17d3..fecf5622ea 100644 --- a/core/src/mindustry/world/blocks/ItemSelection.java +++ b/core/src/mindustry/world/blocks/ItemSelection.java @@ -51,6 +51,7 @@ public class ItemSelection{ scrollPos = pane.getScrollY(); }); - table.add(pane).maxHeight(40 * 5); + pane.setOverscroll(false, false); + table.add(pane).maxHeight(Scl.scl(40 * 5)); } } diff --git a/core/src/mindustry/world/blocks/distribution/OverflowGate.java b/core/src/mindustry/world/blocks/distribution/OverflowGate.java index 56334a39e0..df7cc39c92 100644 --- a/core/src/mindustry/world/blocks/distribution/OverflowGate.java +++ b/core/src/mindustry/world/blocks/distribution/OverflowGate.java @@ -8,7 +8,7 @@ import mindustry.type.*; import mindustry.world.*; import mindustry.world.meta.*; -import java.io.*; +import static mindustry.Vars.world; public class OverflowGate extends Block{ public float speed = 1f; @@ -124,11 +124,24 @@ public class OverflowGate extends Block{ Tile lastInput; float time; + @Override + public byte version(){ + return 3; + } + + @Override + public void write(Writes write){ + write.i(lastInput == null ? Pos.invalid : lastInput.pos()); + } + @Override public void read(Reads read, byte revision){ super.read(read, revision); if(revision == 1){ new DirectionalItemBuffer(25, 50f).read(read); + }else if(revision == 3){ + lastInput = world.tile(read.i()); + lastItem = items.first(); } } } diff --git a/core/src/mindustry/world/modules/ItemModule.java b/core/src/mindustry/world/modules/ItemModule.java index df2c58fc9d..ef91960e87 100644 --- a/core/src/mindustry/world/modules/ItemModule.java +++ b/core/src/mindustry/world/modules/ItemModule.java @@ -69,15 +69,24 @@ public class ItemModule extends BlockModule{ return total; } + public Item first(){ + for(int i = 0; i < items.length; i++){ + if(items[i] > 0){ + return content.item(i); + } + } + return null; + } + public Item take(){ for(int i = 0; i < items.length; i++){ int index = (i + takeRotation); - if(index >= items.length) index -= items.length; //conditional instead of mod + if(index >= items.length) index -= items.length; if(items[index] > 0){ items[index] --; total --; takeRotation = index + 1; - return content.item(index % items.length); + return content.item(index); } } return null;