identify the replacer that is to be set

This commit is contained in:
Sokomine 2022-05-16 21:12:02 +02:00
parent df14c3200b
commit 80f289b287
1 changed files with 16 additions and 1 deletions

View File

@ -101,6 +101,21 @@ end
-- show a formspec with a history of stored patterns to select from
replacer_setter.get_formspec = function(player_name, current_pattern, player)
local wield_index = player:get_wield_index()
local replacer_stack = nil
if(wield_index > 1) then
local inv = player:get_inventory()
replacer_stack = inv:get_stack("main", wield_index - 1)
end
if(not(replacer_stack) or replacer_stack:get_name() ~= "replacer:replacer") then
return "formspec_version[1]"..
"size[8,3]"..
"label[0.5,0.5;Please place your replacer in the slot *to the right*\n"..
"of this tool in your inventory! Else the replacer setter\n"..
"cannot know whichreplacer to set.]"..
"button_exit[3.5,2;1,1;exit;Exit]"
end
-- is the player in creative mode?
local in_creative_mode = (minetest.settings:get_bool("creative_mode")
or minetest.check_player_privs(player_name, {creative=true}))
@ -191,7 +206,7 @@ minetest.register_on_player_receive_fields( function(player, formname, fields)
itemstack = replacer_setter.set_to(player_name,
replacer_setter.history[ player_name ][ selected.row ],
player, itemstack)
player:set_wielded_item(itemstack)
-- player:set_wielded_item(itemstack)
return true
end
end