From 2db74c62e7bcea985516cf5bc22ae5be4f0215e3 Mon Sep 17 00:00:00 2001 From: Mithi83 <28407460+Mithi83@users.noreply.github.com> Date: Fri, 21 Jun 2024 11:48:00 +0200 Subject: [PATCH] Fix FacadeRecipe out of bound crashes (#7954) Explicitly check that the CraftingInput is exactly 3x3 in size before accessing any slots inside. Fixes #7951. --- src/main/java/appeng/recipes/game/FacadeRecipe.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/appeng/recipes/game/FacadeRecipe.java b/src/main/java/appeng/recipes/game/FacadeRecipe.java index f465dbec6d0..b9f2e55a2bf 100644 --- a/src/main/java/appeng/recipes/game/FacadeRecipe.java +++ b/src/main/java/appeng/recipes/game/FacadeRecipe.java @@ -48,8 +48,8 @@ public boolean matches(CraftingInput inv, Level level) { } private ItemStack getOutput(CraftingInput inv, boolean createFacade) { - if (inv.getItem(0).isEmpty() && inv.getItem(2).isEmpty() && inv.getItem(6).isEmpty() - && inv.getItem(8).isEmpty()) { + if (inv.width() == 3 && inv.height() == 3 && inv.getItem(0).isEmpty() && inv.getItem(2).isEmpty() + && inv.getItem(6).isEmpty() && inv.getItem(8).isEmpty()) { if (this.anchor.isSameAs(inv.getItem(1)) && this.anchor.isSameAs(inv.getItem(3)) && this.anchor.isSameAs(inv.getItem(5)) && this.anchor.isSameAs(inv.getItem(7))) { final ItemStack facades = this.facade.createFacadeForItem(inv.getItem(4), !createFacade);