Add command for darkness immunity

master
ezhh 2017-07-08 15:46:58 +01:00
parent a6035a93f1
commit d8a82a4252
3 changed files with 30 additions and 0 deletions

17
darklands.lua Normal file
View File

@ -0,0 +1,17 @@
minetest.register_chatcommand("night_safe", {
params = "",
description = "Protection from darkness",
privs = "server_assistant",
func = function (name, param)
local player = minetest.get_player_by_name(name)
local pinv = player:get_inventory()
if not pinv:contains_item("dlspcinv", ItemStack("darklands:night_safe 1")) then
pinv:add_item("dlspcinv", ItemStack("darklands:night_safe 1"))
minetest.chat_send_player(name,"The Darkness cannot hurt you...")
else
pinv:remove_item("dlspcinv", ItemStack("darklands:night_safe 1"))
minetest.chat_send_player(name,"The Darkness seeks to hurt you...")
end
end
})

View File

@ -1,2 +1,3 @@
hud?
hudbars?
darklands?

View File

@ -46,6 +46,10 @@ bewarethedark = {
}
local M = bewarethedark
if minetest.get_modpath("darklands") then
dofile(minetest.get_modpath('bewarethedark')..'/darklands.lua')
end
dofile(minetest.get_modpath('bewarethedark')..'/configuration.lua')
local C = M.config
@ -92,6 +96,14 @@ minetest.register_globalstep(function(dtime)
break
end
--skip protected players
if minetest.get_modpath("darklands") then
local player_inv = player:get_inventory({name="dlspcinv"})
if player_inv:contains_item("dlspcinv", ItemStack("darklands:night_safe 1")) then
return
end
end
local name = player:get_player_name()
local pl = M.players[name]
local pos = player:getpos()