fix: quick equip

fixed quick equip in survival
removed redundant and commented out code
This commit is contained in:
SevenToaster509 2026-04-17 19:04:55 +01:00
parent 5d4d16329d
commit 0f1a2542c8
2 changed files with 5 additions and 32 deletions

View file

@ -2070,27 +2070,25 @@ void PlayerConnection::handleCustomPayload(shared_ptr<CustomPayloadPacket> custo
if(!player->abilities.instabuild) { //
// Equip the armor to the appropriate slot
if (player->inventory->armor[slot] == nullptr) {
player->setEquippedSlot(slot, sentItem);
player->inventory->setItem(36 + slot, sentItem);
player->inventory->removeItemNoUpdate(player->inventory->selected);
// Remove the item from hand (set count to 0)
sentItem->count = 0;
}
else {
player->inventory->setItem(player->inventory->selected, player->inventory->armor[slot]);
player->setEquippedSlot(slot, sentItem);
player->inventory->setItem(36 + slot, sentItem);
}
}
else {
if (player->inventory->armor[slot] == nullptr) {
player->setEquippedSlot(slot, sentItem);
player->inventory->setItem(36 + slot, sentItem);
}
else {
player->inventory->setItem(player->inventory->selected, player->inventory->armor[slot]);
player->setEquippedSlot(slot, sentItem);
player->inventory->setItem(36 + slot, sentItem);
}
}
PlayerList* playerList = MinecraftServer::getInstance()->getPlayers();
playerList->broadcastAll(std::make_shared<SetEquippedItemPacket>(player->entityId, slot, sentItem));
//playerList->broadcastAll(std::make_shared<SetEquippedItemPacket>(player->entityId, slot, sentItem));
}
else if (CustomPayloadPacket::TRADER_SELECTION_PACKET.compare(customPayloadPacket->identifier) == 0)

View file

@ -136,31 +136,6 @@ int ArmorItem::getUseDuration(shared_ptr<ItemInstance> itemInstance)
}
shared_ptr<ItemInstance> ArmorItem::use(shared_ptr<ItemInstance> instance, Level* level, shared_ptr<Player> player) {
int slot = Mob::getEquipmentSlotForItem(instance) - 1;
//// If player is in survival mode (not creative)
if (!player->abilities.instabuild) { //
// Equip the armor to the appropriate slot
if (player->inventory->armor[slot] == nullptr) {
//player->setEquippedSlot(slot, instance);
//player->inventory->removeItemNoUpdate(player->inventory->selected);
// Remove the item from hand (set count to 0)
//instance->count = 0;
}
else {
//player->inventory->setItem(player->inventory->selected, player->inventory->armor[slot]);
//player->setEquippedSlot(slot, instance);
}
}
else {
if (player->inventory->armor[slot] == nullptr) {
//player->setEquippedSlot(slot, instance);
}
else {
//player->inventory->setItem(player->inventory->selected, player->inventory->armor[slot]);
//player->setEquippedSlot(slot, instance);
}
}
ByteArrayOutputStream baos;
DataOutputStream dos(&baos);
Packet::writeItem(instance, &dos);