fix: clients crashing on enchantment attempt, disabled quick equip until further notice, updated enchantingmenu swfs because lapis slot was missing?
This commit is contained in:
@@ -130,33 +130,33 @@ ArmorItem::ArmorItem(int id, const ArmorMaterial *armorType, int icon, int slot)
|
||||
}
|
||||
|
||||
shared_ptr<ItemInstance> ArmorItem::use(shared_ptr<ItemInstance> instance, Level* level, shared_ptr<Player> player) {
|
||||
int slot = Mob::getEquipmentSlotForItem(instance) - 1;
|
||||
//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
|
||||
ItemInstance copy = *instance->copy_not_shared();
|
||||
if (player->inventory->armor[slot] == nullptr) {
|
||||
player->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
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->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
}
|
||||
}
|
||||
else {
|
||||
ItemInstance copy = *instance->copy_not_shared();
|
||||
if (player->inventory->armor[slot] == nullptr) {
|
||||
player->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
}
|
||||
else {
|
||||
player->inventory->setItem(player->inventory->selected, player->inventory->armor[slot]);
|
||||
player->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
}
|
||||
}
|
||||
//// If player is in survival mode (not creative)
|
||||
//if (!player->abilities.instabuild) { //
|
||||
// // Equip the armor to the appropriate slot
|
||||
// ItemInstance copy = *instance->copy_not_shared();
|
||||
// if (player->inventory->armor[slot] == nullptr) {
|
||||
// player->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
// 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->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
// }
|
||||
//}
|
||||
//else {
|
||||
// ItemInstance copy = *instance->copy_not_shared();
|
||||
// if (player->inventory->armor[slot] == nullptr) {
|
||||
// player->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
// }
|
||||
// else {
|
||||
// player->inventory->setItem(player->inventory->selected, player->inventory->armor[slot]);
|
||||
// player->inventory->armor[slot] = make_shared<ItemInstance>(copy);
|
||||
// }
|
||||
//}
|
||||
|
||||
int material = Item::items[instance->id]->getMaterial();
|
||||
int lo, hi;
|
||||
|
||||
Reference in New Issue
Block a user