diff --git a/core/src/mindustry/world/Build.java b/core/src/mindustry/world/Build.java index 86cca0d3d7..2b8542785e 100644 --- a/core/src/mindustry/world/Build.java +++ b/core/src/mindustry/world/Build.java @@ -37,8 +37,12 @@ public class Build{ Block previous = tile.block(); Block sub = ConstructBlock.get(previous.size); + Seq prevBuild = new Seq<>(1); + if(tile.build != null) prevBuild.add(tile.build); + tile.setBlock(sub, team, rotation); tile.bc().setDeconstruct(previous); + tile.bc().prevBuild = prevBuild; tile.build.health = tile.build.maxHealth * prevPercent; if(unit != null && unit.isPlayer()) tile.build.lastAccessed = unit.getPlayer().name; diff --git a/core/src/mindustry/world/blocks/units/Reconstructor.java b/core/src/mindustry/world/blocks/units/Reconstructor.java index fb7b4ea1de..2ea7951e08 100644 --- a/core/src/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/mindustry/world/blocks/units/Reconstructor.java @@ -114,6 +114,13 @@ public class Reconstructor extends UnitBlock{ return capacities[item.id]; } + @Override + public void overwrote(Seq builds){ + if(builds.first().block == block){ + items.add(builds.first().items); + } + } + @Override public void draw(){ Draw.rect(region, x, y);