mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Unify wield item handling (#8677)
This moves the wield item functions to Player and the tool utils for range calculation Also 'local_inventory' was removed due to redundancy in Client
This commit is contained in:
parent
003af74213
commit
e462a9a5ef
14 changed files with 154 additions and 249 deletions
|
@ -210,17 +210,13 @@ int ModApiClient::l_get_language(lua_State *L)
|
|||
int ModApiClient::l_get_wielded_item(lua_State *L)
|
||||
{
|
||||
Client *client = getClient(L);
|
||||
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
||||
if (!player)
|
||||
return 0;
|
||||
|
||||
Inventory local_inventory(client->idef());
|
||||
client->getLocalInventory(local_inventory);
|
||||
|
||||
InventoryList *mlist = local_inventory.getList("main");
|
||||
|
||||
if (mlist && client->getPlayerItem() < mlist->getSize()) {
|
||||
LuaItemStack::create(L, mlist->getItem(client->getPlayerItem()));
|
||||
} else {
|
||||
LuaItemStack::create(L, ItemStack());
|
||||
}
|
||||
ItemStack selected_item;
|
||||
player->getWieldedItem(&selected_item, nullptr);
|
||||
LuaItemStack::create(L, selected_item);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue