Replace buckets to the selected hotbar slot, rather than the first available. (#4580)
* Replace buckets to the selected hotbar slot, rather than the first available. Replicates vanilla behaviour, as well as being more logical. * Refactor cInventory::AddItem. Behaviour is now documented * Add new cInventory::ReplaceOneEquippedItem and ::SetEquippedItem methods * Return empty potion to the same slot after drinking * Replace buckets correctly in other situations, not simply water and lava Uses the new ReplaceOneEquippedItem method * Correct collecting water from source block with bottle * Add cPlayer::ReplaceOneEquippedItemTossRest method * Handle stacked filled buckets (in theory) Use new cPlayer::ReplaceOneEquippedItemTossRest method
This commit is contained in:
committed by
GitHub
parent
d5c58c6b17
commit
cdc452916e
@@ -1211,9 +1211,9 @@ void cClientHandle::HandleLeftClick(int a_BlockX, int a_BlockY, int a_BlockZ, eB
|
||||
cItem EquippedItem = m_Player->GetEquippedItem();
|
||||
cItem OffhandItem = m_Player->GetOffHandEquipedItem();
|
||||
|
||||
cInventory & Intentory = m_Player->GetInventory();
|
||||
Intentory.SetShieldSlot(EquippedItem);
|
||||
Intentory.SetHotbarSlot(Intentory.GetEquippedSlotNum(), OffhandItem);
|
||||
cInventory & Inventory = m_Player->GetInventory();
|
||||
Inventory.SetShieldSlot(EquippedItem);
|
||||
Inventory.SetEquippedItem(OffhandItem);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user