Add simple_protection support

This commit is contained in:
Jordan Irwin 2021-07-20 14:31:30 -07:00
parent c8757c94a0
commit 8ab2107d37
4 changed files with 18 additions and 4 deletions

@ -19,7 +19,7 @@ Settings documented in [reference][].
### Requirements: ### Requirements:
- Depends: default, tnt - Depends: default, tnt
- Optional depends: nether, sounds - Optional depends: nether, sounds, simple_protection
### Links: ### Links:

@ -1,10 +1,11 @@
v1.1 v1.0-1
---- ----
- added sound when hit - added sound when hit
- fixed entity vertical positioning - fixed entity vertical positioning
- fixed tnt:boom node left after explosion - fixed tnt:boom node left after explosion
- added setting to customize spawn nodes - added setting to customize spawn nodes
- added simple_protection support
v1.0 v1.0
---- ----

@ -4,4 +4,4 @@ description = An explosive nuisance.
version = 1.0 version = 1.0
author = Rui author = Rui
depends = default, tnt depends = default, tnt
optional_depends = nether, sounds optional_depends = nether, sounds, simple_protection

@ -164,8 +164,21 @@ local function add_drop(drops, item)
end end
end end
local function is_protected(pos, name) return core.is_protected(pos, name) end
if core.global_exists("s_protect") then
is_protected = function(pos, name)
local s_protect_name = name
-- simple_protection ignores names with empty strings
if s_protect_name == "" then
s_protect_name = " "
end
return core.is_protected(pos, name) or not s_protect.can_access(pos, s_protect_name)
end
end
local function destroy(drops, pos, cid) local function destroy(drops, pos, cid)
if core.is_protected(pos, "") then if is_protected(pos, "") then
return return
end end
local def = cid_data[cid] local def = cid_data[cid]