From c2c0de170cf23e88c20a15b5e567f617039bf587 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 5 Feb 2018 09:38:49 -0500 Subject: [PATCH] Fixed junction/tunnel crashes with sorters --- android/AndroidManifest.xml | 4 ++-- core/src/io/anuke/mindustry/entities/Player.java | 2 +- .../world/blocks/types/distribution/Junction.java | 3 ++- .../mindustry/world/blocks/types/distribution/Sorter.java | 8 ++------ .../world/blocks/types/distribution/TunnelConveyor.java | 3 ++- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 210863821c..d585e3ad6e 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="70" + android:versionName="3.3b19" > diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index a25a3a7a69..baf12ae433 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -156,7 +156,7 @@ public class Player extends SyncEntity{ stucktime = 0f; } - if(stucktime > 20f){ + if(stucktime > 15f){ damage(health+1); //die instantly stucktime = 0f; } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java index 45888a7c82..131f4f26e5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java @@ -8,7 +8,7 @@ import io.anuke.ucore.core.Timers; import io.anuke.ucore.util.Bits; public class Junction extends Block{ - protected float speed = 20; //frames taken to go through this junction + protected float speed = 15; //frames taken to go through this junction protected int capacity = 16; public Junction(String name) { @@ -43,6 +43,7 @@ public class Junction extends Block{ if(buffer.index > 0){ buffer.time += Timers.delta(); if(buffer.time >= speed){ + if(buffer.index > buffer.items.length) buffer.index = buffer.items.length; int val = buffer.items[buffer.index - 1]; Item item = Item.getByID(Bits.getLeftShort(val)); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java index 4d030df151..2c5d937c7d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java @@ -7,7 +7,6 @@ import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.core.Timers; import io.anuke.ucore.scene.style.TextureRegionDrawable; import io.anuke.ucore.scene.ui.ButtonGroup; import io.anuke.ucore.scene.ui.ImageButton; @@ -55,11 +54,8 @@ public class Sorter extends Block{ @Override public void handleItem(Item item, Tile tile, Tile source){ Tile to = getTileTarget(item, tile, source, true); - - Timers.run(15, () -> { - to.block().handleItem(item, to, tile); - }); - + + to.block().handleItem(item, to, tile); } Tile getTileTarget(Item item, Tile dest, Tile source, boolean flip){ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/TunnelConveyor.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/TunnelConveyor.java index a543f9d42b..c88311ad34 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/TunnelConveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/TunnelConveyor.java @@ -8,7 +8,7 @@ import io.anuke.ucore.core.Timers; public class TunnelConveyor extends Block{ protected int maxdist = 3; - protected float speed = 20; //frames taken to go through this tunnel + protected float speed = 18; //frames taken to go through this tunnel protected int capacity = 16; protected TunnelConveyor(String name) { @@ -43,6 +43,7 @@ public class TunnelConveyor extends Block{ if(entity.index > 0){ entity.time += Timers.delta(); if(entity.time >= speed){ + if(entity.index > entity.buffer.length) entity.index = entity.buffer.length; int i = entity.buffer[entity.index - 1]; Item item = Item.getByID(i);