summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--[-rwxr-xr-x]init.lua30
-rw-r--r--settingtypes.txt9
3 files changed, 39 insertions, 4 deletions
diff --git a/README.md b/README.md
index c61faf5..7ed1100 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,10 @@ Use safemode to make areas be safe zones; otherwise they are killzones by defaul
## Config
in minetest.conf
+* `pvp_areas.enable_pvp`
+ * Allow PvP by default.
+ * default is `false`, PvP is disabled
+
* `pvp_areas.safemode`
* safemode = true --> PvP Control areas are safe zones
* default is `false`, making PvP Control areas kill zones
diff --git a/init.lua b/init.lua
index 9e833f7..f59cbe3 100755..100644
--- a/init.lua
+++ b/init.lua
@@ -8,15 +8,39 @@ local pvp_areas_modname = minetest.get_current_modname()
local hasareasmod = minetest.get_modpath("areas")
-local safemode = minetest.setting_getbool("pvp_areas.safemode") or false
-local area_label = minetest.setting_get("pvp_areas.label") or "Defined area."
+-- The settings object
+local settings = {}
+if minetest.settings then
+ settings = minetest.settings
+else
+ --- Function to retrieve a setting value.
+ --
+ -- @function settings:get
+ -- @param setting **string** setting name
+ -- @return String value of setting
+ function settings:get(setting)
+ return minetest.setting_get(setting)
+ end
+
+ --- Function to retrieve a boolean setting value.
+ --
+ -- @function settings:get_bool
+ -- @param setting **string** setting name
+ -- @return **bool**: True if setting is enabled
+ function settings:get_bool(setting)
+ return minetest.setting_getbool(setting)
+ end
+end
+
+local safemode = settings:get_bool("pvp_areas.safemode") or false
+local area_label = settings:get("pvp_areas.label") or "Defined area."
-- if false Mob does Damage
local mobsDoNoDamage = false
local pvp_areas_store = AreaStore()
pvp_areas_store:from_file(pvp_areas_worlddir .. "/pvp_areas_store.dat")
-local pvp_default = minetest.is_yes(minetest.setting_getbool("pvp_areas_enable_pvp"))
+local pvp_default = minetest.is_yes(settings:get_bool("pvp_areas.enable_pvp"))
minetest.log("action", "[" .. pvp_areas_modname .. "] PvP by Default: " .. tostring(pvp_default))
local pvp_areas_players = {}
diff --git a/settingtypes.txt b/settingtypes.txt
index d0c30d5..22572b8 100644
--- a/settingtypes.txt
+++ b/settingtypes.txt
@@ -1,2 +1,9 @@
# Allow PvP by default.
-pvp_areas_enable_pvp (PvP by Default) bool false
+pvp_areas.enable_pvp (PvP by default) bool false
+
+# When not enabled PvP Control areas are kill zones.
+pvp_areas.safemode (PvP Control areas are safe zones) bool false
+
+# If ShadowNinja's `areas` mod is also present with HUD registration feature,
+# this label will be displayed anywhere a PvP Control area has been set.
+pvp_areas.label (Show PvP area labels) string Defined area.