mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-05-07 06:21:18 +00:00
fix disenchanting when dropping item from inv
This commit is contained in:
parent
b97fe888d1
commit
f364a5bb07
|
|
@ -260,15 +260,18 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
|||
{
|
||||
int outId = carried->id, outCount = carried->count, outAux = carried->getAuxValue();
|
||||
if (FourKitBridge::FirePlayerDropItem(
|
||||
player->entityId, carried->id, carried->count, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
player->drop(std::make_shared<ItemInstance>(outId, outCount, outAux));
|
||||
inventory->setCarried(nullptr);
|
||||
dropAllowed = false;
|
||||
}
|
||||
player->entityId, carried->id, carried->count, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
carried->id = outId;
|
||||
carried->count = outCount;
|
||||
carried->setAuxValue(outAux);
|
||||
player->drop(carried);
|
||||
inventory->setCarried(nullptr);
|
||||
dropAllowed = false;
|
||||
}
|
||||
}
|
||||
if (dropAllowed)
|
||||
{
|
||||
|
|
@ -290,16 +293,19 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
|||
{
|
||||
int outId = carried->id, outCount = 1, outAux = carried->getAuxValue();
|
||||
if (FourKitBridge::FirePlayerDropItem(
|
||||
player->entityId, carried->id, 1, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
carried->remove(1);
|
||||
if (carried->count == 0) inventory->setCarried(nullptr);
|
||||
player->drop(std::make_shared<ItemInstance>(outId, outCount, outAux));
|
||||
dropAllowed = false;
|
||||
}
|
||||
player->entityId, carried->id, 1, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
shared_ptr<ItemInstance> dropped = carried->remove(1);
|
||||
if (carried->count == 0) inventory->setCarried(nullptr);
|
||||
dropped->id = outId;
|
||||
dropped->count = outCount;
|
||||
dropped->setAuxValue(outAux);
|
||||
player->drop(dropped);
|
||||
dropAllowed = false;
|
||||
}
|
||||
}
|
||||
if (dropAllowed)
|
||||
{
|
||||
|
|
@ -548,7 +554,10 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
|||
{
|
||||
shared_ptr<ItemInstance> item = slot->remove(dropCount);
|
||||
slot->onTake(player, item);
|
||||
player->drop(std::make_shared<ItemInstance>(outId, outCount, outAux));
|
||||
item->id = outId;
|
||||
item->count = outCount;
|
||||
item->setAuxValue(outAux);
|
||||
player->drop(item);
|
||||
dropAllowed = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue