From 5558211c4f82fde6be66ce031e72ea908b9c8e81 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 20 Jul 2026 15:40:43 -0400 Subject: [PATCH] Fixed #12392 --- core/src/mindustry/world/blocks/units/UnitAssembler.java | 2 +- core/src/mindustry/world/consumers/ConsumeItemFilter.java | 6 +++++- core/src/mindustry/world/consumers/ConsumeItems.java | 2 +- core/src/mindustry/world/consumers/ConsumeLiquid.java | 2 +- core/src/mindustry/world/consumers/ConsumeLiquidFilter.java | 4 +++- core/src/mindustry/world/consumers/ConsumeLiquids.java | 2 +- gradle.properties | 2 +- 7 files changed, 13 insertions(+), 7 deletions(-) diff --git a/core/src/mindustry/world/blocks/units/UnitAssembler.java b/core/src/mindustry/world/blocks/units/UnitAssembler.java index c021cc6972..2f883db497 100644 --- a/core/src/mindustry/world/blocks/units/UnitAssembler.java +++ b/core/src/mindustry/world/blocks/units/UnitAssembler.java @@ -186,7 +186,7 @@ public class UnitAssembler extends PayloadBlock{ if(plan.liquidReq != null){ for(LiquidStack stack : plan.liquidReq){ - liquidFilter[stack.liquid.id] = true; + if(stack.liquid.id < liquidFilter.length) liquidFilter[stack.liquid.id] = true; } } } diff --git a/core/src/mindustry/world/consumers/ConsumeItemFilter.java b/core/src/mindustry/world/consumers/ConsumeItemFilter.java index 3bd20f19b0..fe766267ef 100644 --- a/core/src/mindustry/world/consumers/ConsumeItemFilter.java +++ b/core/src/mindustry/world/consumers/ConsumeItemFilter.java @@ -25,7 +25,11 @@ public class ConsumeItemFilter extends Consume{ public void apply(Block block){ block.hasItems = true; block.acceptsItems = true; - content.items().each(filter, item -> block.itemFilter[item.id] = true); + content.items().each(filter, item -> { + if(item.id < block.itemFilter.length){ + block.itemFilter[item.id] = true; + } + }); } @Override diff --git a/core/src/mindustry/world/consumers/ConsumeItems.java b/core/src/mindustry/world/consumers/ConsumeItems.java index c43fa42a32..a733cb4674 100644 --- a/core/src/mindustry/world/consumers/ConsumeItems.java +++ b/core/src/mindustry/world/consumers/ConsumeItems.java @@ -24,7 +24,7 @@ public class ConsumeItems extends Consume{ block.hasItems = true; block.acceptsItems = true; for(var stack : items){ - block.itemFilter[stack.item.id] = true; + if(stack.item.id < block.itemFilter.length) block.itemFilter[stack.item.id] = true; } } diff --git a/core/src/mindustry/world/consumers/ConsumeLiquid.java b/core/src/mindustry/world/consumers/ConsumeLiquid.java index a4a3ebc460..ea864d8ef7 100644 --- a/core/src/mindustry/world/consumers/ConsumeLiquid.java +++ b/core/src/mindustry/world/consumers/ConsumeLiquid.java @@ -25,7 +25,7 @@ public class ConsumeLiquid extends ConsumeLiquidBase{ @Override public void apply(Block block){ super.apply(block); - block.liquidFilter[liquid.id] = true; + if(liquid.id < block.liquidFilter.length) block.liquidFilter[liquid.id] = true; } @Override diff --git a/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java b/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java index ceacb52554..bca037f02b 100644 --- a/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java +++ b/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java @@ -26,7 +26,9 @@ public class ConsumeLiquidFilter extends ConsumeLiquidBase{ @Override public void apply(Block block){ block.hasLiquids = true; - content.liquids().each(filter, item -> block.liquidFilter[item.id] = true); + content.liquids().each(filter, item -> { + if(item.id < block.liquidFilter.length) block.liquidFilter[item.id] = true; + }); } @Override diff --git a/core/src/mindustry/world/consumers/ConsumeLiquids.java b/core/src/mindustry/world/consumers/ConsumeLiquids.java index 2b53287374..49c247356c 100644 --- a/core/src/mindustry/world/consumers/ConsumeLiquids.java +++ b/core/src/mindustry/world/consumers/ConsumeLiquids.java @@ -24,7 +24,7 @@ public class ConsumeLiquids extends Consume{ public void apply(Block block){ block.hasLiquids = true; for(var stack : liquids){ - block.liquidFilter[stack.liquid.id] = true; + if(stack.liquid.id < block.liquidFilter.length) block.liquidFilter[stack.liquid.id] = true; } } diff --git a/gradle.properties b/gradle.properties index 2678cf5800..4f9609873e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,4 +26,4 @@ org.gradle.caching=true org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 android.enableR8.fullMode=false -archash=d347a128b4 +archash=161c1e2d18