--Menu mobs spawner mobs.shown_spawner_menu = function(player_name) local formspec = {"size[8,9]label[2.7,0;Mobs Spawner]"} if mobs["spawning_mobs"] ~= nil then local Y = 1 local X = 1 for name, etat in pairs(mobs["spawning_mobs"]) do table.insert(formspec, "item_image_button["..X..","..Y..";1,1;"..name..";"..name..";]") X = X+1 if X > 6 then X = 1 Y = Y+1.2 end end end table.insert(formspec, "button_exit[3.9,8.5;1.2,1;close;Close]") minetest.show_formspec(player_name, "mobs:spawner", table.concat(formspec)) end minetest.register_on_player_receive_fields(function(player, formname, fields) local player_name = player:get_player_name() if not player_name then return end if formname == "mobs:spawner" then for f in pairs(fields) do if string.find(f, "mobs:") then local pos = player:getpos() pos.y = pos.y+1 minetest.add_entity(pos, f) return end end end end) if (minetest.get_modpath("unified_inventory")) ~= nil then unified_inventory.register_button("menu_mobs", { type = "image", image = "mobs_dungeon_master_fireball.png", tooltip = "Mobs Spawner Menu", show_with = "server", action = function(player) local player_name = player:get_player_name() if not player_name then return end if minetest.check_player_privs(player_name, {server=true}) then mobs.shown_spawner_menu(player_name) end end, }) else minetest.register_chatcommand("mobs_spawner", { params = "", description = "Spawn entity at given (or your) position", privs = {server=true}, func = function(name, param) mobs.shown_spawner_menu(name) end, }) end