From 656c37372ddfcaf3157b90041a2016fb4928f45a Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Mon, 10 Feb 2020 12:57:21 +0100 Subject: [PATCH] Wrap upstream tile thingie --- .../world/blocks/distribution/CraterConveyor.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/core/src/mindustry/world/blocks/distribution/CraterConveyor.java b/core/src/mindustry/world/blocks/distribution/CraterConveyor.java index bfb1a63575..5863ef2188 100644 --- a/core/src/mindustry/world/blocks/distribution/CraterConveyor.java +++ b/core/src/mindustry/world/blocks/distribution/CraterConveyor.java @@ -26,6 +26,8 @@ import static mindustry.Vars.*; public class CraterConveyor extends Block implements Autotiler{ private TextureRegion[] regions = new TextureRegion[8]; + protected final Array upstreamTiles = new Array<>(); + public float speed = 0f; public CraterConveyor(String name){ @@ -138,14 +140,9 @@ public class CraterConveyor extends Block implements Autotiler{ CraterConveyorEntity entity = tile.ent(); int[] bits = buildBlending(tile, tile.rotation(), null, true); - final boolean[] upstream = {false}; - upstream(tile, t -> { - if(t.block() instanceof CraterConveyor) upstream[0] = true; - }); - entity.blendbit2 = 0; if(bits[0] == 0 && blends(tile, tile.rotation(), 0) && !blends(tile, tile.rotation(), 2)) entity.blendbit2 = 5; // a 0 that faces into a crater conveyor with none behind it - if(upstream[0] && !blends(tile, tile.rotation(), 0)) entity.blendbit2 = 6; // a 0 that faces into none with a crater conveyor behind it + if(!upstream(tile, upstreamTiles).isEmpty() && !blends(tile, tile.rotation(), 0)) entity.blendbit2 = 6; // a 0 that faces into none with a crater conveyor behind it entity.blendbit1 = bits[0]; entity.blendsclx = bits[1]; @@ -303,6 +300,12 @@ public class CraterConveyor extends Block implements Autotiler{ ) cons.get(tile.left()); } + private Array upstream(Tile tile, Array upstreamTiles){ + upstreamTiles.clear(); + upstream(tile, upstreamTiles::add); + return upstreamTiles; + } + // ▲ | ▼ fixme: refactor // awaken inputting conveyors