diff --git a/autoplace_tool.lua b/autoplace_tool.lua index 505cf58..01f7f56 100644 --- a/autoplace_tool.lua +++ b/autoplace_tool.lua @@ -124,7 +124,7 @@ minetest.register_tool("building_lib:autoplace", { rotation ) end, - on_blur = function(player) + on_deselect = function(player) local playername = player:get_player_name() building_lib.clear_preview(playername) end diff --git a/build_tool.lua b/build_tool.lua index 998970c..30af5a6 100644 --- a/build_tool.lua +++ b/build_tool.lua @@ -151,7 +151,7 @@ minetest.register_tool("building_lib:place", { rotation ) end, - on_blur = function(player) + on_deselect = function(player) local playername = player:get_player_name() building_lib.clear_preview(playername) end diff --git a/init.lua b/init.lua index 58e9bf4..93e135f 100644 --- a/init.lua +++ b/init.lua @@ -12,7 +12,6 @@ dofile(MP .. "/memoize.lua") dofile(MP .. "/entity.lua") dofile(MP .. "/preview.lua") dofile(MP .. "/api.lua") -dofile(MP .. "/wield_events.lua") dofile(MP .. "/common.lua") dofile(MP .. "/placements/mapblock_lib.lua") dofile(MP .. "/placements/dummy.lua") diff --git a/mod.conf b/mod.conf index 245045a..2f0d70c 100644 --- a/mod.conf +++ b/mod.conf @@ -1,4 +1,4 @@ name = building_lib description = Mapblock granular building placement and tools -depends = mapblock_lib, promise +depends = mapblock_lib, promise, wield_events optional_depends = mtt \ No newline at end of file diff --git a/remove_tool.lua b/remove_tool.lua index 92c24b1..41624b0 100644 --- a/remove_tool.lua +++ b/remove_tool.lua @@ -42,7 +42,7 @@ minetest.register_tool("building_lib:remove", { building_info.rotation ) end, - on_blur = function(player) + on_deselect = function(player) local playername = player:get_player_name() building_lib.clear_preview(playername) end diff --git a/wield_events.lua b/wield_events.lua deleted file mode 100644 index a2e9af9..0000000 --- a/wield_events.lua +++ /dev/null @@ -1,34 +0,0 @@ - --- playername -> name -local last_wielded_item = {} - --- check for tools -local function wield_check() - for _, player in ipairs(minetest.get_connected_players()) do - local itemstack = player:get_wielded_item() - local playername = player:get_player_name() - local name = itemstack and itemstack:get_name() - -- TODO: check player:get_wield_index() to differenciate same-named items - - if last_wielded_item[playername] and name ~= last_wielded_item[playername] then - -- last item got out of focus - local item_def = minetest.registered_items[last_wielded_item[playername]] - if item_def and type(item_def.on_blur) == "function" then - item_def.on_blur(player) - end - end - - local item_def = minetest.registered_items[name] - if item_def and type(item_def.on_step) == "function" then - item_def.on_step(itemstack, player) - end - - last_wielded_item[playername] = name - end - minetest.after(0, wield_check) -end - -minetest.after(0, wield_check) -minetest.register_on_leaveplayer(function(player) - last_wielded_item[player:get_player_name()] = nil -end) \ No newline at end of file