@@ -3684,6 +3684,12 @@ void Game::updateCamera(VolatileRunFlags *flags, u32 busy_time,
3684
3684
if (mlist && client->getPlayerItem () < mlist->getSize ())
3685
3685
playeritem = mlist->getItem (client->getPlayerItem ());
3686
3686
}
3687
+ if (playeritem.getDefinition (itemdef_manager).name .empty ()) { // override the hand
3688
+ InventoryList *hlist = local_inventory->getList (" hand" );
3689
+ if (hlist)
3690
+ playeritem = hlist->getItem (0 );
3691
+ }
3692
+
3687
3693
3688
3694
ToolCapabilities playeritem_toolcap =
3689
3695
playeritem.getToolCapabilities (itemdef_manager);
@@ -3768,6 +3774,11 @@ void Game::processPlayerInteraction(GameRunData *runData,
3768
3774
playeritem = mlist->getItem (client->getPlayerItem ());
3769
3775
}
3770
3776
3777
+ if (playeritem.getDefinition (itemdef_manager).name .empty ()) { // override the hand
3778
+ InventoryList *hlist = local_inventory->getList (" hand" );
3779
+ if (hlist)
3780
+ playeritem = hlist->getItem (0 );
3781
+ }
3771
3782
const ItemDefinition &playeritem_def =
3772
3783
playeritem.getDefinition (itemdef_manager);
3773
3784
@@ -4321,8 +4332,14 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats,
4321
4332
4322
4333
if (mlist && (client->getPlayerItem () < mlist->getSize ())) {
4323
4334
ItemStack item = mlist->getItem (client->getPlayerItem ());
4335
+ if (item.getDefinition (itemdef_manager).name .empty ()) { // override the hand
4336
+ InventoryList *hlist = local_inventory->getList (" hand" );
4337
+ if (hlist)
4338
+ item = hlist->getItem (0 );
4339
+ }
4324
4340
camera->wield (item);
4325
4341
}
4342
+
4326
4343
runData->update_wielded_item_trigger = false ;
4327
4344
}
4328
4345
0 commit comments