From e5d41bf4565f2be1232e91a43001fb5c59ae4104 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 11 Sep 2022 20:57:18 +0700 Subject: [PATCH] Fix spilling crafting grid on ground if regular (not exosuit) slots are full --- .../dbotthepony/mc/otm/menu/ExoSuitInventoryMenu.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoSuitInventoryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoSuitInventoryMenu.kt index 3bc2384e7..a8f0e9629 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoSuitInventoryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoSuitInventoryMenu.kt @@ -10,6 +10,7 @@ import net.minecraft.world.entity.player.Player import net.minecraft.world.inventory.* import net.minecraft.world.item.ItemStack import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability +import ru.dbotthepony.mc.otm.container.iterator import ru.dbotthepony.mc.otm.network.ExoSuitCarriedPacket import ru.dbotthepony.mc.otm.network.ExoSuitMenuInitPacket import ru.dbotthepony.mc.otm.network.ExoSuitSlotPacket @@ -88,7 +89,17 @@ class ExoSuitInventoryMenu(val capability: MatteryPlayerCapability) : MatteryMen craftingResultContainer.clearContent() if (!player.level.isClientSide) { - clearContainer(player, craftingGrid) + val iterator = craftingGrid.iterator() + + for (itemStack in iterator) { + val leftover = moveItemStackToSlots(itemStack, playerInventorySlots) + + if (!leftover.isEmpty) { + player.drop(leftover, true) + } + + iterator.remove() + } } }