travel
parent
e343b23b0f
commit
624c6919b0
|
@ -1,6 +1,7 @@
|
|||
|
||||
globals = {
|
||||
"minetest"
|
||||
"minetest",
|
||||
"travelnet"
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
|
@ -15,5 +16,4 @@ read_globals = {
|
|||
-- deps
|
||||
"default",
|
||||
"stairsplus"
|
||||
|
||||
}
|
||||
|
|
9
init.lua
9
init.lua
|
@ -7,4 +7,11 @@ minetest.override_item("default:ice", {
|
|||
|
||||
|
||||
dofile(MP.."/disable_mobs_spawning.lua")
|
||||
dofile(MP.."/moreblocks.lua")
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
dofile(MP.."/moreblocks.lua")
|
||||
end
|
||||
|
||||
if minetest.get_modpath("travelnet") then
|
||||
dofile(MP.."/travelnet.lua")
|
||||
end
|
||||
|
|
3
mod.conf
3
mod.conf
|
@ -1,2 +1,3 @@
|
|||
name = damocles_custom
|
||||
depends = moreblocks, default
|
||||
depends =default
|
||||
optional_depends = moreblocks,travelnet
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
|
||||
|
||||
-- who can attach to which network
|
||||
travelnet.allow_attach = function(player_name, owner_name, network_name)
|
||||
|
||||
local is_moderator = minetest.check_player_privs(player_name, { ban=true })
|
||||
if owner_name == "admin" and network_name == "moderator" and is_moderator then
|
||||
-- public moderator network
|
||||
return true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- basic travelling stuff
|
||||
travelnet.allow_travel = function( player_name, owner_name, network_name, _, station_name_target )
|
||||
|
||||
local has_override_priv = minetest.check_player_privs(player_name, { protection_bypass=true })
|
||||
if has_override_priv then
|
||||
-- admin can go everywhere...
|
||||
return true
|
||||
end
|
||||
|
||||
-- extracted target pos
|
||||
local target_pos
|
||||
|
||||
-- sanity check
|
||||
if travelnet.targets[owner_name] and travelnet.targets[owner_name][network_name] and
|
||||
travelnet.targets[owner_name][network_name][station_name_target] then
|
||||
target_pos = travelnet.targets[owner_name][network_name][station_name_target].pos
|
||||
else
|
||||
-- error!
|
||||
return false
|
||||
end
|
||||
|
||||
-- protected target with "(P) name"
|
||||
if station_name_target and string.sub(station_name_target, 1, 3) == "(P)" then
|
||||
if travelnet.targets[owner_name] and travelnet.targets[owner_name][network_name] and
|
||||
travelnet.targets[owner_name][network_name][station_name_target] then
|
||||
|
||||
minetest.load_area(target_pos)
|
||||
if minetest.is_protected(target_pos, player_name) then
|
||||
minetest.chat_send_player(player_name, "This station is protected!")
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
Loading…
Reference in New Issue