1
0
mirror of https://github.com/pyrollo/display_modpack.git synced 2025-10-15 08:35:35 +02:00

handle interactions w/ explosions (#3)

* don't let explosions destroy sign entities

* destroy sign entities if sign node is exploded

* remove redundant destructor call

* make sure other things don't try to interact w/ the signs entity

* name will be "" for non-players or unknown players.

* remove default value from initial values

---------

Co-authored-by: Niklp <89982526+Niklp09@users.noreply.github.com>
This commit is contained in:
fluxionary
2023-10-03 00:16:09 -07:00
committed by GitHub
parent e25588cf91
commit 2c1efede4d
5 changed files with 28 additions and 1 deletions

View File

@@ -251,6 +251,15 @@ function display_api.on_destruct(pos)
end
end
function display_api.on_blast(pos, intensity)
if not minetest.is_protected(pos, "") then
local node = minetest.get_node(pos)
local drops = minetest.get_node_drops(node, "tnt:blast")
minetest.remove_node(pos)
return drops
end
end
-- On_rotate (screwdriver) callback for display_api items. Prevents invalid
-- rotations and reorients entities.
function display_api.on_rotate(pos, node, user, _, new_param2)
@@ -272,12 +281,17 @@ function display_api.register_display_entity(entity_name)
initial_properties = {
collisionbox = {0, 0, 0, 0, 0, 0},
visual = "upright_sprite",
textures = {}
textures = {},
collide_with_objects = false,
pointable = false
},
on_activate = display_api.on_activate,
get_staticdata = function(self)
return minetest.serialize({ nodepos = self.nodepos })
end,
on_blast = function(self, damage)
return false, false, {}
end,
})
end
end