diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 64a575bb16..332c7de701 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -100,9 +100,9 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ buildCounter = Math.min(buildCounter, 10f); //random attempt to fix a freeze that only occurs on Android - int maxPerFrame = 10, count = 0; + int maxPerFrame = state.rules.instantBuild ? plans.size : 10, count = 0; - while(buildCounter >= 1 && count++ < maxPerFrame){ + while((buildCounter >= 1 || state.rules.instantBuild) && count++ < maxPerFrame){ buildCounter -= 1f; validatePlans(); diff --git a/core/src/mindustry/game/Gamemode.java b/core/src/mindustry/game/Gamemode.java index d48bc956fd..86e94966fa 100644 --- a/core/src/mindustry/game/Gamemode.java +++ b/core/src/mindustry/game/Gamemode.java @@ -35,6 +35,7 @@ public enum Gamemode{ }, map -> map.teams.size > 1), editor(true, rules -> { rules.infiniteResources = true; + rules.instantBuild = true; rules.editor = true; rules.waves = false; rules.waveTimer = false; diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index 16a09e8990..951426907d 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -107,6 +107,8 @@ public class Rules{ public boolean hideBannedBlocks = false; /** If true, most blocks (including environmental walls) can be deconstructed. This is only meant to be used internally in sandbox/test maps. */ public boolean allowEnvironmentDeconstruct = false; + /** If true, buildings will be constructed instantly, with no limit on blocks placed per second. This is highly experimental and may cause lag! */ + public boolean instantBuild = false; /** If true, bannedBlocks becomes a whitelist. */ public boolean blockWhitelist = false; /** If true, bannedUnits becomes a whitelist. */ diff --git a/core/src/mindustry/world/blocks/environment/Floor.java b/core/src/mindustry/world/blocks/environment/Floor.java index c1c839887b..db9ae24a3f 100644 --- a/core/src/mindustry/world/blocks/environment/Floor.java +++ b/core/src/mindustry/world/blocks/environment/Floor.java @@ -92,6 +92,7 @@ public class Floor extends Block{ placeableLiquid = true; allowRectanglePlacement = true; instantBuild = true; + placeEffect = Fx.rotateBlock; } @Override