add settings
parent
68d79693e2
commit
7cdca40051
35
init.lua
35
init.lua
|
@ -17,8 +17,26 @@ local liquid_list = {
|
|||
"bucket:bucket_lava",
|
||||
"bucket:bucket_water",
|
||||
"bucket:bucket_river_water",
|
||||
--bucket_wooden
|
||||
"bucket_wooden:bucket_water",
|
||||
"bucket_wooden:bucket_river_water",
|
||||
}
|
||||
|
||||
--settings
|
||||
local lr_height = tonumber(minetest.settings:get("lr_height")) or 30
|
||||
local lr_renew = minetest.settings:get_bool("lr_renew", false)
|
||||
|
||||
--function for handling priv settings
|
||||
local function priv_selection(default_priv, setting)
|
||||
local priv = minetest.settings:get(setting)
|
||||
|
||||
if not minetest.registered_privileges[priv] then
|
||||
return default_priv
|
||||
else
|
||||
return priv
|
||||
end
|
||||
end
|
||||
|
||||
--reads list, overrides nodes, adding priv check
|
||||
for liquidcount = 1, #liquid_list do
|
||||
--checks if its a valid node/item
|
||||
|
@ -29,22 +47,25 @@ for liquidcount = 1, #liquid_list do
|
|||
--override
|
||||
minetest.override_item(liquid_list[liquidcount], {
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if not minetest.check_player_privs(placer:get_player_name(), {spill = true}) then
|
||||
minetest.chat_send_player(placer:get_player_name(), "Spill priv required to use this node")
|
||||
local pname = placer:get_player_name()
|
||||
local default_priv = priv_selection("spill", "lr_default")
|
||||
local advanced_priv = priv_selection("server", "lr_advanced")
|
||||
|
||||
if not minetest.check_player_privs(pname, priv_selection(default_priv, "lr_default")) then
|
||||
minetest.chat_send_player(pname, default_priv .. " priv required to use this node")
|
||||
return
|
||||
else
|
||||
if (minetest.get_pointed_thing_position(pointed_thing).y > 30) then
|
||||
if not (minetest.check_player_privs(placer:get_player_name(), {server = true})) then
|
||||
minetest.chat_send_player(placer:get_player_name(), "admins can only place at this height")
|
||||
if (minetest.get_pointed_thing_position(pointed_thing).y > lr_height) then
|
||||
if not (minetest.check_player_privs(pname, priv_selection("server", "lr_advanced"))) then
|
||||
minetest.chat_send_player(pname, advanced_priv .. " priv requid at this height")
|
||||
return
|
||||
end
|
||||
end
|
||||
--return minetest.item_place(itemstack, placer, pointed_thing)
|
||||
return old_place(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end,
|
||||
--prevents liquids from spreading
|
||||
liquid_renewable = false,
|
||||
liquid_renewable = lr_renew,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
|
22
readme.md
22
readme.md
|
@ -14,7 +14,27 @@ born out of me not being able to find a good public spill mod. mod is ment for c
|
|||
|
||||
## Setup
|
||||
|
||||
download mod, make sure its named liquid_restriction
|
||||
download mod, make sure its named liquid_restriction
|
||||
|
||||
**recommend settings for survival**
|
||||
```
|
||||
lr_default = "interact"
|
||||
lr_advanced = "spill"
|
||||
lr_height = 0
|
||||
lr_renew = "true"
|
||||
```
|
||||
|
||||
\-this config requires players to have the spill priv to use above 0
|
||||
|
||||
**recommend settings for creative**
|
||||
leave at defaults
|
||||
|
||||
## minetest.conf settings
|
||||
|
||||
* lr_default (by default spill): default liquid_restriction priv
|
||||
* lr_advanced (by default server): advanced liquid_restriction priv
|
||||
* lr_height (by default 30): height for advanced priv use
|
||||
* lr_renew (by default false): if liquids are renewable or not
|
||||
|
||||
## FAQ
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
lr_default (default liquid_restriction priv) string spill
|
||||
lr_advanced (advanced liquid_restriction priv) string server
|
||||
lr_height (height for advanced priv use) int 30
|
||||
lr_renew (if liquids are renewable or not) bool false
|
Loading…
Reference in New Issue