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