From e0cc846be5440914caee64438a06b6d5a204094f Mon Sep 17 00:00:00 2001 From: SevenToaster509 Date: Sun, 12 Apr 2026 18:42:59 +0100 Subject: [PATCH] Fix: Lapis Slot for Enchanting takes and consumes any item --- .../Common/UI/UIScene_EnchantingMenu.cpp | 4 ---- Minecraft.World/EnchantmentMenu.cpp | 1 - Minecraft.World/EnchantmentSlot.h | 15 ++++++++++++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Minecraft.Client/Common/UI/UIScene_EnchantingMenu.cpp b/Minecraft.Client/Common/UI/UIScene_EnchantingMenu.cpp index ced8b5fe..7d1cea3f 100644 --- a/Minecraft.Client/Common/UI/UIScene_EnchantingMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_EnchantingMenu.cpp @@ -18,10 +18,6 @@ UIScene_EnchantingMenu::UIScene_EnchantingMenu(int iPad, void *_initData, UILaye m_enchantButton[1].init(1); m_enchantButton[2].init(2); - - - - EnchantingScreenInput *initData = static_cast(_initData); m_labelEnchant.init( initData->name.empty() ? app.GetString(IDS_ENCHANT) : initData->name ); diff --git a/Minecraft.World/EnchantmentMenu.cpp b/Minecraft.World/EnchantmentMenu.cpp index f468907c..64875812 100644 --- a/Minecraft.World/EnchantmentMenu.cpp +++ b/Minecraft.World/EnchantmentMenu.cpp @@ -106,7 +106,6 @@ void EnchantmentMenu::slotsChanged(int a) // 4J used to take a shared_ptr container, int id, int x, int y) : Slot(container,id, x, y) {} - virtual bool mayPlace(shared_ptr item) {return true;} + int slotNum; + //stack->getItem()->id == 351 && stack->getItem()->getMaterial() == 11 + EnchantmentSlot(shared_ptr container, int id, int x, int y) : Slot(container, id, x, y) { slotNum = id; } + virtual bool mayPlace(shared_ptr item) { + if (slotNum == 0 || (item->id == 351 && Item::items[item->id]->getMaterial() == 11)) { + return true; + } + else { + return false; + } + } virtual bool mayCombine(shared_ptr item) {return false;} // 4J Added }; \ No newline at end of file