From de05046f38de404d5de09cf869c8d96ef2d4bde9 Mon Sep 17 00:00:00 2001 From: repo_alt Date: Fri, 1 Jan 2021 17:59:49 +0300 Subject: [PATCH] Wireless crafting terminal crash game when placed inside own crafting grid https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/6296 --- gradle.properties | 2 +- .../client/gui/GuiWirelessCraftingTerminal.java | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 36a515a..c14d765 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ aeversion=rv3 wctchannel= -wctbuild=1.8.7.6 +wctbuild=1.8.7.7-GTNH wctgroup=net.p455w0rd.wirelesscraftingterminal wctbasename=WirelessCraftingTerminal diff --git a/src/java/net/p455w0rd/wirelesscraftingterminal/client/gui/GuiWirelessCraftingTerminal.java b/src/java/net/p455w0rd/wirelesscraftingterminal/client/gui/GuiWirelessCraftingTerminal.java index 8637113..5b24417 100644 --- a/src/java/net/p455w0rd/wirelesscraftingterminal/client/gui/GuiWirelessCraftingTerminal.java +++ b/src/java/net/p455w0rd/wirelesscraftingterminal/client/gui/GuiWirelessCraftingTerminal.java @@ -53,6 +53,8 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; + +import net.p455w0rd.wirelesscraftingterminal.api.WCTApi; import net.p455w0rd.wirelesscraftingterminal.client.gui.widgets.GuiScrollbar; import net.p455w0rd.wirelesscraftingterminal.client.gui.widgets.GuiTabButton; import net.p455w0rd.wirelesscraftingterminal.client.gui.widgets.GuiTrashButton; @@ -922,9 +924,12 @@ public class GuiWirelessCraftingTerminal extends GuiContainer implements ISortSo final List slots = this.getInventorySlots(); for (final Slot s : slots) { if (s.getSlotIndex() == j && s.inventory == ((ContainerWirelessCraftingTerminal) this.inventorySlots).getPlayerInv()) { - if (!s.canTakeStack(((ContainerWirelessCraftingTerminal) this.inventorySlots).getPlayerInv().player)) { + if (s.getStack() != null && s.getStack().getItem() == WCTApi.instance().items().WirelessCraftingTerminal.getItem()) + return false; + if (!s.canTakeStack(((ContainerWirelessCraftingTerminal) this.inventorySlots).getPlayerInv().player)) return false; - } + else + break; } }