diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 36c2c1a68..cedd3b712 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -389,7 +389,7 @@ function core.do_item_eat(hp_change, replace_with_item, itemstack, user, pointed else local inv = user:get_inventory() if inv:room_for_item("main", {name=replace_with_item}) then - inv:add_item("main", replace_with_item) + user:add_item("main", replace_with_item) else local pos = user:getpos() pos.y = math.floor(pos.y + 0.5) @@ -423,7 +423,7 @@ function core.handle_node_drops(pos, drops, digger) if digger:get_inventory() then local _, dropped_item for _, dropped_item in ipairs(drops) do - local left = digger:get_inventory():add_item("main", dropped_item) + local left = digger:add_item("main", dropped_item) if not left:is_empty() then local p = { x = pos.x + math.random()/2-0.25, diff --git a/builtin/game/item_entity.lua b/builtin/game/item_entity.lua index a66bf33d0..939055cc4 100644 --- a/builtin/game/item_entity.lua +++ b/builtin/game/item_entity.lua @@ -208,7 +208,7 @@ core.register_entity(":__builtin:item", { on_punch = function(self, hitter) local inv = hitter:get_inventory() if inv and self.itemstring ~= '' then - local left = inv:add_item("main", self.itemstring) + local left = hitter:add_item("main", self.itemstring) if left and not left:is_empty() then self.itemstring = left:to_string() return diff --git a/builtin/game/register.lua b/builtin/game/register.lua index f330491a2..c6c20c8a6 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -507,6 +507,9 @@ core.registered_on_player_receive_fields, core.register_on_player_receive_fields core.registered_on_cheats, core.register_on_cheat = make_registration() core.registered_on_crafts, core.register_on_craft = make_registration() core.registered_craft_predicts, core.register_craft_predict = make_registration() +core.registered_on_inventory_move_item, core.register_on_inventory_move_item = make_registration() +core.registered_on_inventory_add_item, core.register_on_inventory_add_item = make_registration() +core.registered_on_inventory_drop_item, core.register_on_inventory_drop_item = make_registration() core.registered_on_protection_violation, core.register_on_protection_violation = make_registration() core.registered_on_item_eats, core.register_on_item_eat = make_registration() core.registered_on_punchplayers, core.register_on_punchplayer = make_registration()