aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/RepairResultSlot.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.World/RepairResultSlot.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.World/RepairResultSlot.cpp')
-rw-r--r--Minecraft.World/RepairResultSlot.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/Minecraft.World/RepairResultSlot.cpp b/Minecraft.World/RepairResultSlot.cpp
index 041a64a7..51e95b42 100644
--- a/Minecraft.World/RepairResultSlot.cpp
+++ b/Minecraft.World/RepairResultSlot.cpp
@@ -5,7 +5,7 @@
#include "net.minecraft.world.entity.player.h"
#include "RepairResultSlot.h"
-RepairResultSlot::RepairResultSlot(RepairMenu *menu, int xt, int yt, int zt, shared_ptr<Container> container, int slot, int x, int y) : Slot(container, slot, x, y)
+RepairResultSlot::RepairResultSlot(AnvilMenu *menu, int xt, int yt, int zt, shared_ptr<Container> container, int slot, int x, int y) : Slot(container, slot, x, y)
{
m_menu = menu;
this->xt = xt;
@@ -25,24 +25,24 @@ bool RepairResultSlot::mayPickup(shared_ptr<Player> player)
void RepairResultSlot::onTake(shared_ptr<Player> player, shared_ptr<ItemInstance> carried)
{
- if (!player->abilities.instabuild) player->withdrawExperienceLevels(m_menu->cost);
- m_menu->repairSlots->setItem(RepairMenu::INPUT_SLOT, nullptr);
+ if (!player->abilities.instabuild) player->giveExperienceLevels(-m_menu->cost);
+ m_menu->repairSlots->setItem(AnvilMenu::INPUT_SLOT, nullptr);
if (m_menu->repairItemCountCost > 0)
{
- shared_ptr<ItemInstance> addition = m_menu->repairSlots->getItem(RepairMenu::ADDITIONAL_SLOT);
+ shared_ptr<ItemInstance> addition = m_menu->repairSlots->getItem(AnvilMenu::ADDITIONAL_SLOT);
if (addition != NULL && addition->count > m_menu->repairItemCountCost)
{
addition->count -= m_menu->repairItemCountCost;
- m_menu->repairSlots->setItem(RepairMenu::ADDITIONAL_SLOT, addition);
+ m_menu->repairSlots->setItem(AnvilMenu::ADDITIONAL_SLOT, addition);
}
else
{
- m_menu->repairSlots->setItem(RepairMenu::ADDITIONAL_SLOT, nullptr);
+ m_menu->repairSlots->setItem(AnvilMenu::ADDITIONAL_SLOT, nullptr);
}
}
else
{
- m_menu->repairSlots->setItem(RepairMenu::ADDITIONAL_SLOT, nullptr);
+ m_menu->repairSlots->setItem(AnvilMenu::ADDITIONAL_SLOT, nullptr);
}
m_menu->cost = 0;
@@ -54,12 +54,12 @@ void RepairResultSlot::onTake(shared_ptr<Player> player, shared_ptr<ItemInstance
if (++dmg > 2)
{
- m_menu->level->setTile(xt, yt, zt, 0);
+ m_menu->level->removeTile(xt, yt, zt);
m_menu->level->levelEvent(LevelEvent::SOUND_ANVIL_BROKEN, xt, yt, zt, 0);
}
else
{
- m_menu->level->setData(xt, yt, zt, dir | (dmg << 2));
+ m_menu->level->setData(xt, yt, zt, dir | (dmg << 2), Tile::UPDATE_CLIENTS);
m_menu->level->levelEvent(LevelEvent::SOUND_ANVIL_USED, xt, yt, zt, 0);
}
}