3947003960
include support for mob preservation gui
668 lines
21 KiB
Lua
668 lines
21 KiB
Lua
-------------------------------------------------------------------------------
|
|
-- Mob Framework Settings Mod by Sapier
|
|
--
|
|
-- You may copy, use, modify or do nearly anything except removing this
|
|
-- copyright notice.
|
|
-- And of course you are NOT allow to pretend you have written it.
|
|
--
|
|
--! @file init.lua
|
|
--! @brief settings gui for mobf
|
|
--! @copyright Sapier
|
|
--! @author Sapier
|
|
--! @date 2012-12-27
|
|
--
|
|
-- Contact sapier a t gmx net
|
|
-------------------------------------------------------------------------------
|
|
minetest.log("action","MOD: mobf_settings mod loading ... ")
|
|
|
|
mobf_settings = {}
|
|
mobf_settings.version = "0.0.20"
|
|
mobf_settings.max_list_page_num = 5
|
|
mobf_settings.buttons = {}
|
|
mobf_settings.buttons[1] = {}
|
|
mobf_settings.buttons[2] = {}
|
|
mobf_settings.tool_buttons = {}
|
|
mobf_settings.tool_buttons[1] = {}
|
|
mobf_settings.tool_buttons[2] = {}
|
|
mobf_settings.menubutton = "button_exit[11,9.5;2,0.5;main; Exit]"
|
|
mobf_settings.formspechandler = function(player,formspec)
|
|
name = player:get_player_name()
|
|
minetest.show_formspec(name,"mobf_settings:mainform",formspec)
|
|
end
|
|
|
|
mobf_settings_debug = function () end
|
|
------------------------------------------------------------------------------
|
|
-- name: save
|
|
--
|
|
--! @brief save current config to config file
|
|
--! @ingroup mobf_settings
|
|
--
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.save()
|
|
if not minetest.is_singleplayer() then
|
|
minetest.setting_save()
|
|
end
|
|
--singleplayer saves automaticaly
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: get_animal_list
|
|
--
|
|
--! @brief get animal list form element for a page
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param page_number number of page to get list for
|
|
--!
|
|
--! @return formspec for page
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.get_animal_list(page_number)
|
|
|
|
local mobf_mob_blacklist_string = minetest.setting_get("mobf_blacklist")
|
|
local mobf_mobs_blacklisted = nil
|
|
if mobf_mob_blacklist_string ~= nil then
|
|
mobf_mobs_blacklisted = minetest.deserialize(mobf_mob_blacklist_string)
|
|
end
|
|
|
|
local retval = ""
|
|
local line = 3
|
|
|
|
local start_at = page_number -1
|
|
|
|
for i,val in ipairs(mobf_rtd.registred_mob) do
|
|
|
|
if i > (start_at*16) then
|
|
if i <= (start_at*16 + 8) then
|
|
retval = retval .. "label[1.0," .. line .. ";" .. val .. "]"
|
|
local line_btn = line + 0.25
|
|
if contains(mobf_mobs_blacklisted,val) then
|
|
retval = retval .. "button[0.5," .. line_btn .. ";0.5,0.25;page"..page_number.."_enable_" .. val .. "; ]"
|
|
else
|
|
retval = retval .. "button[0.5," .. line_btn .. ";0.5,0.25;page"..page_number.."_disable_" .. val .. ";x]"
|
|
end
|
|
end
|
|
|
|
if i > (start_at*16 + 8 ) and
|
|
i <= (start_at*16 + 16) then
|
|
|
|
local temp_line = line - (8*0.75)
|
|
retval = retval .. "label[7.0," .. temp_line .. ";" .. val .. "]"
|
|
|
|
local line_btn = temp_line +0.25
|
|
if contains(mobf_mobs_blacklisted,val) then
|
|
retval = retval .. "button[6.5," .. line_btn .. ";0.5,0.25;page"..page_number.."_enable_" .. val .. "; ]"
|
|
else
|
|
retval = retval .. "button[6.5," .. line_btn .. ";0.5,0.25;page"..page_number.."_disable_" .. val .. ";x]"
|
|
end
|
|
end
|
|
|
|
line = line + 0.75
|
|
end
|
|
end
|
|
|
|
return retval
|
|
end
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: contains
|
|
--
|
|
--! @brief check if element is in table
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param cur_table table to check for element
|
|
--! @param element element to find in table
|
|
--!
|
|
--! @return true/false
|
|
-------------------------------------------------------------------------------
|
|
function contains(cur_table,element)
|
|
|
|
if cur_table == nil then
|
|
--print("looking in empty table")
|
|
return false
|
|
end
|
|
|
|
--print("looking for " .. dump(element) .. " in " .. dump(cur_table))
|
|
|
|
for i,v in ipairs(cur_table) do
|
|
if v == element then
|
|
--print("found: " .. element .. " in table")
|
|
return true
|
|
end
|
|
end
|
|
|
|
--print("didn't find " .. element)
|
|
return false
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: contains_key
|
|
--
|
|
--! @brief check if table contains key
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param cur_table table to check for element
|
|
--! @param element element to find in table
|
|
--!
|
|
--! @return true/false
|
|
-------------------------------------------------------------------------------
|
|
function get_value(cur_table,key)
|
|
|
|
if cur_table == nil or
|
|
key == nil then
|
|
--print("looking in empty table")
|
|
return nil
|
|
end
|
|
|
|
--print("looking for " .. dump(element) .. " in " .. dump(cur_table))
|
|
|
|
for k,v in pairs(cur_table) do
|
|
if k == key then
|
|
--print("found: " .. element .. " in table")
|
|
return v
|
|
end
|
|
end
|
|
|
|
--print("didn't find " .. element)
|
|
return nil
|
|
end
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: get_known_animals_form
|
|
--
|
|
--! @brief create page to be shown
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param page name of page
|
|
--!
|
|
--! @return formspec of page
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.get_main_settings_form(page)
|
|
local retval = ""
|
|
|
|
for i=0,mobf_settings.max_list_page_num,1 do
|
|
if page == "mobf_list_page" .. i then
|
|
local nextpage = i +1
|
|
local prevpage = i -1
|
|
retval = "label[0.5,2.25;Known Mobs, Page ".. i .. "]"
|
|
.."label[0.5,2.5;-------------------------------------------]"
|
|
.."label[6.5,2.5;----------------------------------------]"
|
|
.. mobf_settings.get_animal_list(i)
|
|
|
|
if i ~= mobf_settings.max_list_page_num then
|
|
retval = retval .."button[3,9.5;2,0.5;mobf_list_page" .. nextpage ..";Next]"
|
|
end
|
|
if i ~= 1 then
|
|
retval = retval .."button[0.5,9.5;2,0.5;mobf_list_page" .. prevpage ..";Prev]"
|
|
end
|
|
|
|
return retval
|
|
end
|
|
end
|
|
|
|
if page == "mobf_restart_required" then
|
|
retval = "label[0.5,2.25;This settings require to restart Game!]"
|
|
.."label[0.5,2.5;-------------------------------------------]"
|
|
.."label[6.5,2.5;----------------------------------------]"
|
|
|
|
retval = retval .. mobf_settings.draw_buttons(mobf_settings.buttons[1],0.5)
|
|
retval = retval .. mobf_settings.draw_buttons(mobf_settings.buttons[2],6.5)
|
|
|
|
return retval
|
|
end
|
|
|
|
if page == "mobf_tools" then
|
|
retval = "label[0.5,2.25;Tools to be used with mobf]"
|
|
.."label[0.5,2.5;-------------------------------------------]"
|
|
.."label[6.5,2.5;----------------------------------------]"
|
|
|
|
retval = retval .. mobf_settings.draw_tool_buttons(mobf_settings.tool_buttons[1],0.5)
|
|
retval = retval .. mobf_settings.draw_tool_buttons(mobf_settings.tool_buttons[2],6.5)
|
|
|
|
return retval
|
|
end
|
|
|
|
return ""
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: draw_buttons
|
|
--
|
|
--! @brief get formspec for button drawing
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param buttons buttons to show
|
|
--! @param xpos pos to show buttons at
|
|
--!
|
|
--! @return formspec for button list
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.draw_buttons(buttons,xpos)
|
|
local retval = ""
|
|
|
|
local y_pos = 3.75
|
|
|
|
for i=1,#buttons,1 do
|
|
local current_setting = minetest.setting_getbool(buttons[i].value)
|
|
|
|
if buttons[i].inverted then
|
|
if not current_setting then
|
|
retval = retval .. "button[" .. xpos .. ",".. y_pos .. ";6,0.5;" ..
|
|
"en_" .. buttons[i].value .. ";" ..
|
|
buttons[i].text .. " is enabled]"
|
|
else
|
|
retval = retval .. "button[" .. xpos .. ",".. y_pos .. ";6,0.5;" ..
|
|
"dis_" .. buttons[i].value .. ";" ..
|
|
buttons[i].text .. " is disabled]"
|
|
end
|
|
|
|
else
|
|
if current_setting then
|
|
retval = retval .. "button[" .. xpos .. ",".. y_pos .. ";6,0.5;" ..
|
|
"dis_" .. buttons[i].value .. ";" ..
|
|
buttons[i].text .. " is enabled]"
|
|
else
|
|
retval = retval .. "button[" .. xpos .. ",".. y_pos .. ";6,0.5;" ..
|
|
"en_" .. buttons[i].value .. ";" ..
|
|
buttons[i].text .. " is disabled]"
|
|
end
|
|
end
|
|
|
|
y_pos = y_pos + 0.75
|
|
end
|
|
|
|
return retval
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: draw_tool_buttons
|
|
--
|
|
--! @brief get formspec for button drawing
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param buttons buttons to show
|
|
--! @param xpos pos to show buttons at
|
|
--!
|
|
--! @return formspec for button list
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.draw_tool_buttons(buttons,xpos)
|
|
local retval = ""
|
|
|
|
local y_pos = 3.75
|
|
|
|
for i=1,#buttons,1 do
|
|
|
|
retval = retval .. "button[" .. xpos .. ",".. y_pos .. ";6,0.5;" ..
|
|
buttons[i].id .. ";" ..
|
|
buttons[i].text .."]"
|
|
|
|
y_pos = y_pos + 0.75
|
|
end
|
|
|
|
return retval
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: handle_mob_en_disable_button
|
|
--
|
|
--! @brief handle press of en_disable button for a mob
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param fields
|
|
--!
|
|
--! @return
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.handle_mob_en_disable_button(fields)
|
|
for i,val in ipairs(mobf_rtd.registred_mob) do
|
|
|
|
local page = nil
|
|
|
|
for i = 0 , 5 , 1 do
|
|
if fields["page".. i .. "_enable_" .. val] ~= nil then
|
|
local mobf_mob_blacklist_string = minetest.setting_get("mobf_blacklist")
|
|
local mobf_mobs_blacklisted = nil
|
|
if mobf_mob_blacklist_string ~= nil then
|
|
mobf_mobs_blacklisted = minetest.deserialize(mobf_mob_blacklist_string)
|
|
end
|
|
|
|
if mobf_mobs_blacklisted == nil then
|
|
mobf_settings_debug("MOBF_SETTINGS: trying to enable mob but no mobs were blacklisted!?")
|
|
else
|
|
|
|
local new_blacklist = {}
|
|
|
|
for i,v in ipairs(mobf_mobs_blacklisted) do
|
|
if v ~= val then
|
|
table.insert(new_blacklist,v)
|
|
end
|
|
end
|
|
|
|
minetest.setting_set("mobf_blacklist",minetest.serialize(new_blacklist))
|
|
mobf_settings_debug("MOBF_SETTINGS: Enabling: " .. val .. " blacklist is now: " .. dump(new_blacklist))
|
|
end
|
|
page = i
|
|
end
|
|
end
|
|
|
|
for i = 0 , 5 , 1 do
|
|
if fields["page".. i .. "_disable_" .. val] ~= nil then
|
|
|
|
local mobf_mob_blacklist_string = minetest.setting_get("mobf_blacklist")
|
|
local mobf_mobs_blacklisted = nil
|
|
if mobf_mob_blacklist_string ~= nil then
|
|
mobf_mobs_blacklisted = minetest.deserialize(mobf_mob_blacklist_string)
|
|
end
|
|
|
|
if mobf_mobs_blacklisted == nil then
|
|
mobf_mobs_blacklisted = {}
|
|
end
|
|
|
|
table.insert(mobf_mobs_blacklisted,val)
|
|
|
|
minetest.setting_set("mobf_blacklist",minetest.serialize(mobf_mobs_blacklisted))
|
|
page = i
|
|
mobf_settings_debug("MOBF_SETTINGS: Disabling: " .. val)
|
|
end
|
|
end
|
|
|
|
if page ~= nil then
|
|
mobf_settings.save()
|
|
return "mobf_list_page" .. page
|
|
end
|
|
end
|
|
|
|
mobf_settings.save()
|
|
return nil
|
|
end
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: handle_config_changed_button
|
|
--
|
|
--! @brief handle press of a settings button
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param fields
|
|
--!
|
|
--! @return
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.handle_config_changed_button(fields)
|
|
|
|
local config_setting = nil
|
|
local enable = false
|
|
|
|
for j=1,2,1 do
|
|
for i=1,#mobf_settings.buttons[j],1 do
|
|
local fieldname = "en_" .. mobf_settings.buttons[j][i].value
|
|
if fields[fieldname] ~= nil then
|
|
config_setting = mobf_settings.buttons[j][i]
|
|
enable = true
|
|
break
|
|
end
|
|
|
|
fieldname = "dis_" .. mobf_settings.buttons[j][i].value
|
|
if fields[fieldname] ~= nil then
|
|
config_setting = mobf_settings.buttons[j][i]
|
|
enable = false
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
if config_setting ~= nil then
|
|
mobf_settings_debug("MOBF_SETTINGS: detected changed value " .. config_setting.value)
|
|
if enable then
|
|
minetest.setting_set(config_setting.value,"true")
|
|
else
|
|
minetest.setting_set(config_setting.value,"false")
|
|
end
|
|
mobf_settings.save()
|
|
return true
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: handle_tool_button
|
|
--
|
|
--! @brief handle press of a settings button
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param player whoever clicked the button
|
|
--! @param fields
|
|
--!
|
|
--! @return
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.handle_tool_button(player,fields)
|
|
|
|
for i=1,2,1 do
|
|
for j=1,#mobf_settings.tool_buttons[i],1 do
|
|
local id = nil
|
|
|
|
if mobf_settings.tool_buttons[i][j] ~= nil then
|
|
id = mobf_settings.tool_buttons[i][j].id
|
|
end
|
|
|
|
local value = get_value(fields,id)
|
|
if value ~= nil then
|
|
|
|
if type(mobf_settings.tool_buttons[i][j].param) == "function" then
|
|
mobf_settings.tool_buttons[i][j].param(player,fields)
|
|
else
|
|
mobf_settings_debug("MOBF_SETTINGS: invalid use of tool_button")
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: get_formspec
|
|
--
|
|
--! @brief generate page form for mobf_settings
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param player player to create page for
|
|
--! @param page pagename to create
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.get_formspec(player,page)
|
|
local version = "< 1.4.5"
|
|
|
|
if (type(mobf_get_version) == "function") then
|
|
version = mobf_get_version()
|
|
end
|
|
|
|
local playername = player:get_player_name()
|
|
|
|
if minetest.check_player_privs(playername, {mobfw_admin=true}) then
|
|
local pageform = mobf_settings.get_main_settings_form(page)
|
|
|
|
return "size[13,10]"
|
|
..mobf_settings.menubutton
|
|
.."button[0.5,0.75;3,0.5;mobf_list_page1; Known Mobs ]"
|
|
.."button[4,0.75;3,0.5;mobf_restart_required; Settings ]"
|
|
.."button[7.5,0.75;3,0.5;mobf_tools; Tools ]"
|
|
.."label[5.5,0;MOBF " .. version .. "]"
|
|
.. pageform
|
|
else
|
|
return "size[13,10]"
|
|
..mobf_settings.menubutton
|
|
.."button[0.5,0.75;3,0.5;mobf_tools; Tools ]"
|
|
.."label[0.5,2.0;You are not allowed to change any setting!]"
|
|
.."label[5.5,0;MOBF " .. version .. "]"
|
|
end
|
|
|
|
end
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: set_mob_list_page(fields)
|
|
--
|
|
--! @brief check if requested page is a list page and show it
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @oaram player
|
|
--! @param fields data for callback
|
|
--
|
|
--! @return true if handled false if not
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.set_mob_list_page(player,fields)
|
|
if fields.mobf then
|
|
mobf_settings.formspechandler(player, mobf_settings.get_formspec(player,"mobf_list_page1"))
|
|
return true
|
|
end
|
|
|
|
|
|
for i=1,5,1 do
|
|
local namestring = "mobf_list_page" .. i
|
|
|
|
if fields[namestring] ~= nil then
|
|
mobf_settings.formspechandler(player, mobf_settings.get_formspec(player,namestring))
|
|
return true
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: register_config_button(index,configvalue,buttontext,inverted)
|
|
--
|
|
--! @brief register a button to be shown on config page
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param index column to draw button at
|
|
--! @param configvalue config value to change by this button
|
|
--! @param buttontext to set for this value
|
|
--! @param inverted invert enable/disable text on button
|
|
--
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.register_config_button(index,configvalue,buttontext,inverted)
|
|
|
|
local toadd = {
|
|
value = configvalue,
|
|
text = buttontext,
|
|
inverted = inverted,
|
|
}
|
|
|
|
table.insert(mobf_settings.buttons[index],toadd)
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- name: register_tool_button(index,id,buttontext,param)
|
|
--
|
|
--! @brief register a button to be shown on config page
|
|
--! @ingroup mobf_settings
|
|
--
|
|
--! @param index column to draw button at
|
|
--! @param id to use for button (has to be unique)
|
|
--! @param buttontext to set for this value
|
|
--! @param param function to call
|
|
--
|
|
-------------------------------------------------------------------------------
|
|
function mobf_settings.register_tool_button(index,id,buttontext,param)
|
|
|
|
local toadd = {
|
|
param = param,
|
|
text = buttontext,
|
|
id = id,
|
|
}
|
|
|
|
table.insert(mobf_settings.tool_buttons[index],toadd)
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
-- register handler for pressed buttons
|
|
------------------------------------------------------------------------------
|
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|
--if one of your page buttons is pressed show another moblist page
|
|
if mobf_settings.set_mob_list_page(player,fields) then
|
|
mobf_settings_debug("mobf_settings: abort button processing")
|
|
return true
|
|
end
|
|
|
|
--handle tool buttons (no redraw of menu as this could be done by fct
|
|
if mobf_settings.handle_tool_button(player,fields) then
|
|
mobf_settings_debug("mobf_settings: abort button processing")
|
|
return true
|
|
end
|
|
|
|
--handle menu buttons
|
|
if mobf_settings.handle_config_changed_button(fields) or
|
|
fields.mobf_tools ~= nil or fields.mobf_restart_required ~= nil then
|
|
local page = "mobf_restart_required"
|
|
if fields.mobf_tools ~= nil then
|
|
page = "mobf_tools"
|
|
mobf_settings_debug("MOBF_SETTINGS: show tool page")
|
|
else
|
|
mobf_settings_debug("MOBF_SETTINGS: settings have been changed, show settings page: " .. dump(fields.mobf_restart_required))
|
|
end
|
|
|
|
mobf_settings.formspechandler(player, mobf_settings.get_formspec(player,page))
|
|
mobf_settings_debug("mobf_settings: abort button processing")
|
|
return true
|
|
end
|
|
|
|
local blacklist_changed_page = mobf_settings.handle_mob_en_disable_button(fields)
|
|
|
|
if blacklist_changed_page ~= nil then
|
|
mobf_settings.formspechandler(player, mobf_settings.get_formspec(player,blacklist_changed_page))
|
|
mobf_settings_debug("mobf_settings: abort button processing")
|
|
return true
|
|
end
|
|
|
|
return false
|
|
end)
|
|
|
|
|
|
--register chatcommand
|
|
minetest.register_chatcommand("mobf_settings",
|
|
{
|
|
params = "",
|
|
description = "show mobf settings" ,
|
|
privs = {mobfw_admin=true},
|
|
func = function(name,param)
|
|
local player = minetest.env:get_player_by_name(name)
|
|
mobf_settings.formspechandler(player,mobf_settings.get_formspec(player,"mobf_list_page1"))
|
|
end
|
|
})
|
|
|
|
------------------------------------------------------------------------------
|
|
-- register mobf_settings buttons
|
|
------------------------------------------------------------------------------
|
|
mobf_settings.register_config_button(1,"mobf_disable_animal_spawning","Animal spawning",true)
|
|
mobf_settings.register_config_button(1,"mobf_disable_3d_mode","3D mode",true)
|
|
mobf_settings.register_config_button(1,"mobf_animal_spawning_secondary","Secondary spawning algorithm",false)
|
|
mobf_settings.register_config_button(1,"mobf_delete_disabled_mobs","Delete disabled mob entities",false)
|
|
mobf_settings.register_config_button(1,"mobf_log_bug_warnings","Show noisy bug warnings",false)
|
|
mobf_settings.register_config_button(1,"vombie_3d_burn_animation_enabled","Vombie 3d burn animation",false)
|
|
mobf_settings.register_config_button(1,"mobf_log_removed_entities","Log all removed mobs",false)
|
|
mobf_settings.register_config_button(1,"mobf_grief_protection","Disallow mob stealing",false)
|
|
mobf_settings.register_config_button(2,"mobf_lifebar","lifebar",false)
|
|
|
|
mobf_settings.register_tool_button(1,"give_pathmaker_tool","Give pathmaker tool",
|
|
function(player)
|
|
player:get_inventory():add_item("main", "mobf:path_marker 1")
|
|
end)
|
|
mobf_settings.register_tool_button(1,"show_mobstore","Show preserved mobs",
|
|
function(player)
|
|
local name = player:get_player_name()
|
|
|
|
if name ~= nil then
|
|
mob_preserve.handle_command(name,nil)
|
|
end
|
|
end)
|
|
|
|
mobf_settings.register_tool_button(1,"show_pathmanager","Manage paths",
|
|
function(player)
|
|
local name = player:get_player_name()
|
|
|
|
if name ~= nil then
|
|
mobf_path.show_manage_menu(name,nil)
|
|
end
|
|
end)
|
|
|
|
minetest.log("action","MOD: mobf_settings mod version "..mobf_settings.version.." loaded") |