diff --git a/core/src/mindustry/editor/EditorTool.java b/core/src/mindustry/editor/EditorTool.java index d3b47efb65..d0f64dcdad 100644 --- a/core/src/mindustry/editor/EditorTool.java +++ b/core/src/mindustry/editor/EditorTool.java @@ -22,6 +22,7 @@ public enum EditorTool{ Tile tile = editor.tile(x, y); editor.drawBlock = tile.block() == Blocks.air || !tile.block().inEditor ? tile.overlay() == Blocks.air ? tile.floor() : tile.overlay() : tile.block(); + editor.drawBlock.editorPicked(tile); } }, line(KeyCode.l, "replace", "orthogonal"){ diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 7850c56d7c..579f824646 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -963,6 +963,11 @@ public class Block extends UnlockableContent implements Senseable{ } + /** Called when pick blocked in the editor. */ + public void editorPicked(Tile tile){ + + } + public boolean isFloor(){ return this instanceof Floor; } diff --git a/core/src/mindustry/world/blocks/environment/CharacterOverlay.java b/core/src/mindustry/world/blocks/environment/CharacterOverlay.java index d95afed719..3c02614d32 100644 --- a/core/src/mindustry/world/blocks/environment/CharacterOverlay.java +++ b/core/src/mindustry/world/blocks/environment/CharacterOverlay.java @@ -80,6 +80,11 @@ public class CharacterOverlay extends OverlayFloor{ tile.overlayData = CharOverlayData.get(data, (byte)rotation); } + @Override + public void editorPicked(Tile tile){ + lastConfig = (int)CharOverlayData.character(tile.overlayData); + } + public static byte charToData(char c){ int index = chars.indexOf(Character.toUpperCase(c)); return index == -1 ? 0 : (byte)index; diff --git a/core/src/mindustry/world/blocks/environment/ColoredFloor.java b/core/src/mindustry/world/blocks/environment/ColoredFloor.java index b9d00de91a..719fa37178 100644 --- a/core/src/mindustry/world/blocks/environment/ColoredFloor.java +++ b/core/src/mindustry/world/blocks/environment/ColoredFloor.java @@ -180,6 +180,11 @@ public class ColoredFloor extends Floor{ } } + @Override + public void editorPicked(Tile tile){ + lastConfig = tile.extraData; + } + @Override public void drawPlanRegion(BuildPlan plan, Eachable list){ if(plan.config instanceof Integer i){ diff --git a/core/src/mindustry/world/blocks/environment/ColoredWall.java b/core/src/mindustry/world/blocks/environment/ColoredWall.java index 4f6fcc23e3..be62cf4f5b 100644 --- a/core/src/mindustry/world/blocks/environment/ColoredWall.java +++ b/core/src/mindustry/world/blocks/environment/ColoredWall.java @@ -64,6 +64,11 @@ public class ColoredWall extends StaticWall{ } } + @Override + public void editorPicked(Tile tile){ + lastConfig = tile.extraData; + } + @Override public void drawPlanRegion(BuildPlan plan, Eachable list){ if(plan.config instanceof Integer i){