mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-24 05:15:22 +02:00
Entirely new version of pull request #3962
Changes to be committed: modified: builtin/game/register.lua modified: src/content_nodemeta.cpp modified: src/content_nodemeta.h modified: src/game.cpp modified: src/inventory.cpp modified: src/inventory.h modified: src/inventorymanager.cpp modified: src/inventorymanager.h modified: src/mapblock.cpp modified: src/network/clientpackethandler.cpp modified: src/nodemetadata.cpp modified: src/nodemetadata.h modified: src/player.cpp modified: src/player.h modified: src/rollback_interface.cpp modified: src/script/common/c_content.cpp modified: src/script/cpp_api/s_inventory.cpp modified: src/script/cpp_api/s_inventory.h modified: src/script/cpp_api/s_nodemeta.cpp modified: src/script/cpp_api/s_nodemeta.h modified: src/script/cpp_api/s_player.cpp modified: src/script/cpp_api/s_player.h modified: src/script/lua_api/l_inventory.cpp modified: src/script/lua_api/l_nodemeta.cpp modified: src/server.cpp modified: src/serverobject.cpp modified: src/unittest/test_inventory.cpp
This commit is contained in:
@@ -197,7 +197,7 @@ int InvRef::l_set_stack(lua_State *L)
|
||||
ItemStack newitem = read_item(L, 4, getServer(L));
|
||||
InventoryList *list = getlist(L, ref, listname);
|
||||
if(list != NULL && i >= 0 && i < (int) list->getSize()){
|
||||
list->changeItem(i, newitem);
|
||||
list->changeItem(getServer(L)->getScriptIface(), i, newitem);
|
||||
reportInventoryChange(L, ref);
|
||||
lua_pushboolean(L, true);
|
||||
} else {
|
||||
@@ -298,7 +298,7 @@ int InvRef::l_add_item(lua_State *L)
|
||||
ItemStack item = read_item(L, 3, getServer(L));
|
||||
InventoryList *list = getlist(L, ref, listname);
|
||||
if(list){
|
||||
ItemStack leftover = list->addItem(item);
|
||||
ItemStack leftover = list->addItem(getServer(L)->getScriptIface(), item);
|
||||
if(leftover.count != item.count)
|
||||
reportInventoryChange(L, ref);
|
||||
LuaItemStack::create(L, leftover);
|
||||
@@ -352,7 +352,7 @@ int InvRef::l_remove_item(lua_State *L)
|
||||
ItemStack item = read_item(L, 3, getServer(L));
|
||||
InventoryList *list = getlist(L, ref, listname);
|
||||
if(list){
|
||||
ItemStack removed = list->removeItem(item);
|
||||
ItemStack removed = list->removeItem(getServer(L)->getScriptIface(), item);
|
||||
if(!removed.empty())
|
||||
reportInventoryChange(L, ref);
|
||||
LuaItemStack::create(L, removed);
|
||||
|
||||
@@ -44,7 +44,7 @@ NodeMetadata* NodeMetaRef::getmeta(NodeMetaRef *ref, bool auto_create)
|
||||
{
|
||||
NodeMetadata *meta = ref->m_env->getMap().getNodeMetadata(ref->m_p);
|
||||
if(meta == NULL && auto_create) {
|
||||
meta = new NodeMetadata(ref->m_env->getGameDef()->idef());
|
||||
meta = new NodeMetadata(ref->m_env->getGameDef()->idef(), ref->m_p);
|
||||
if(!ref->m_env->getMap().setNodeMetadata(ref->m_p, meta)) {
|
||||
delete meta;
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user