mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Wieldhand: Allow overriding the hand
This commit is contained in:
parent
e4ee6548af
commit
785a9a6c1a
6 changed files with 64 additions and 4 deletions
17
src/game.cpp
17
src/game.cpp
|
@ -3684,6 +3684,12 @@ void Game::updateCamera(VolatileRunFlags *flags, u32 busy_time,
|
|||
if (mlist && client->getPlayerItem() < mlist->getSize())
|
||||
playeritem = mlist->getItem(client->getPlayerItem());
|
||||
}
|
||||
if (playeritem.getDefinition(itemdef_manager).name.empty()) { // override the hand
|
||||
InventoryList *hlist = local_inventory->getList("hand");
|
||||
if (hlist)
|
||||
playeritem = hlist->getItem(0);
|
||||
}
|
||||
|
||||
|
||||
ToolCapabilities playeritem_toolcap =
|
||||
playeritem.getToolCapabilities(itemdef_manager);
|
||||
|
@ -3768,6 +3774,11 @@ void Game::processPlayerInteraction(GameRunData *runData,
|
|||
playeritem = mlist->getItem(client->getPlayerItem());
|
||||
}
|
||||
|
||||
if (playeritem.getDefinition(itemdef_manager).name.empty()) { // override the hand
|
||||
InventoryList *hlist = local_inventory->getList("hand");
|
||||
if (hlist)
|
||||
playeritem = hlist->getItem(0);
|
||||
}
|
||||
const ItemDefinition &playeritem_def =
|
||||
playeritem.getDefinition(itemdef_manager);
|
||||
|
||||
|
@ -4321,8 +4332,14 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats,
|
|||
|
||||
if (mlist && (client->getPlayerItem() < mlist->getSize())) {
|
||||
ItemStack item = mlist->getItem(client->getPlayerItem());
|
||||
if (item.getDefinition(itemdef_manager).name.empty()) { // override the hand
|
||||
InventoryList *hlist = local_inventory->getList("hand");
|
||||
if (hlist)
|
||||
item = hlist->getItem(0);
|
||||
}
|
||||
camera->wield(item);
|
||||
}
|
||||
|
||||
runData->update_wielded_item_trigger = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue