From f4f46eb924f1e16c65ff75e8901d87c5537d9359 Mon Sep 17 00:00:00 2001 From: buthed010203 Date: Fri, 23 Jul 2021 13:45:48 -0400 Subject: [PATCH] Better plan skipping (#5634) This prevents the plans being skipped when there is a large number of items entering the core yet the core is still starved of that item. --- core/src/mindustry/entities/comp/BuilderComp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 9b456e5602..f9a5af6ca2 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -179,7 +179,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ //requests that you have at least *started* are considered if(state.rules.infiniteResources || team.rules().infiniteResources || request.breaking || core == null || request.isRotation(team)) return false; - return (request.stuck && !core.items.has(request.block.requirements)) || (Structs.contains(request.block.requirements, i -> !core.items.has(i.item) && Mathf.round(i.amount * state.rules.buildCostMultiplier) > 0) && !request.initialized); + return (request.stuck && !core.items.has(request.block.requirements)) || (Structs.contains(request.block.requirements, i -> !core.items.has(i.item, Math.min(i.amount, 15)) && Mathf.round(i.amount * state.rules.buildCostMultiplier) > 0) && !request.initialized); } void removeBuild(int x, int y, boolean breaking){