aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas--S <info@thomas-stangl.de>2018-01-27 17:40:42 +0100
committerThomas--S <info@thomas-stangl.de>2018-01-28 13:46:16 +0100
commit1c1be8a7c13cb664551503b88516c75b189aed87 (patch)
tree8163ba1896c9528683a10fa0288c9c60699034d8
parent78e3b852740c77b78e19b814e649f66b91dba673 (diff)
downloaddisplay_modpack-1c1be8a7c13cb664551503b88516c75b189aed87.tar.gz
display_modpack-1c1be8a7c13cb664551503b88516c75b189aed87.tar.bz2
display_modpack-1c1be8a7c13cb664551503b88516c75b189aed87.zip
Update the entities as soon as mapblock is loaded
Useful e.g. after /clearobjects Introduces the group `display_lib_node`
-rw-r--r--display_lib/API.md2
-rw-r--r--display_lib/init.lua8
-rw-r--r--ontime_clocks/nodes.lua12
-rw-r--r--signs/common.lua2
-rw-r--r--steles/nodes.lua4
5 files changed, 19 insertions, 9 deletions
diff --git a/display_lib/API.md b/display_lib/API.md
index 148db60..de08090 100644
--- a/display_lib/API.md
+++ b/display_lib/API.md
@@ -80,4 +80,6 @@ This is a helper to register entities used for display.
})
+**Note:** Nodes in the `display_lib_node` group will have their entities updated as soon as the mapblock is loaded (Useful after /clearobjects).
+
diff --git a/display_lib/init.lua b/display_lib/init.lua
index 59a8529..11ed60e 100644
--- a/display_lib/init.lua
+++ b/display_lib/init.lua
@@ -230,5 +230,11 @@ function display_lib.register_display_entity(entity_name)
end
end
-
+minetest.register_lbm({
+ label = "Update display_lib entities",
+ name = "display_lib:update_entities",
+ run_at_every_load = true,
+ nodenames = {"group:display_lib_node"},
+ action = function(pos, node) display_lib.update_entities(pos) end,
+})
diff --git a/ontime_clocks/nodes.lua b/ontime_clocks/nodes.lua
index 70bbfd1..d8007e8 100644
--- a/ontime_clocks/nodes.lua
+++ b/ontime_clocks/nodes.lua
@@ -35,7 +35,7 @@ minetest.register_node("ontime_clocks:green_digital", {
wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
},
tiles = {"ontime_clocks_digital.png"},
- groups = {oddly_breakable_by_hand=1,not_blocking_trains=1},
+ groups = {oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_lib_node = 1},
display_entities = {
["ontime_clocks:display"] = {
depth = 13/32 - 0.01,
@@ -73,7 +73,7 @@ minetest.register_node("ontime_clocks:red_digital", {
wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
},
tiles = {"ontime_clocks_digital.png"},
- groups = {oddly_breakable_by_hand=1,not_blocking_trains=1},
+ groups = {oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_lib_node = 1},
display_entities = {
["ontime_clocks:display"] = {
depth = 13/32 - 0.01,
@@ -111,7 +111,7 @@ minetest.register_node("ontime_clocks:white", {
wall_top = { -7/16, 0.5, -7/16, 7/16, 7/16, 7/16},
},
tiles = {"ontime_clocks_white.png"},
- groups = {choppy=1,oddly_breakable_by_hand=1,not_blocking_trains=1},
+ groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_lib_node = 1},
display_entities = {
["ontime_clocks:display"] = {
depth = 6/16 - 0.01,
@@ -148,7 +148,7 @@ minetest.register_node("ontime_clocks:frameless_black", {
wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
},
tiles = {"ontime_clocks_frameless.png"},
- groups = {choppy=1,oddly_breakable_by_hand=1,not_blocking_trains=1},
+ groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_lib_node = 1},
display_entities = {
["ontime_clocks:display"] = {
depth = 7/16,
@@ -185,7 +185,7 @@ minetest.register_node("ontime_clocks:frameless_gold", {
wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
},
tiles = {"ontime_clocks_frameless.png^[colorize:#FF0"},
- groups = {choppy=1,oddly_breakable_by_hand=1,not_blocking_trains=1},
+ groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_lib_node = 1},
display_entities = {
["ontime_clocks:display"] = {
depth = 7/16,
@@ -222,7 +222,7 @@ minetest.register_node("ontime_clocks:frameless_white", {
wall_top = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
},
tiles = {"ontime_clocks_frameless.png^[colorize:#FFF"},
- groups = {choppy=1,oddly_breakable_by_hand=1,not_blocking_trains=1},
+ groups = {choppy = 1, oddly_breakable_by_hand = 1, not_blocking_trains = 1, display_lib_node = 1},
display_entities = {
["ontime_clocks:display"] = {
depth = 7/16,
diff --git a/signs/common.lua b/signs/common.lua
index b49716e..8e899ef 100644
--- a/signs/common.lua
+++ b/signs/common.lua
@@ -153,7 +153,7 @@ function signs.register_sign(mod, name, model)
fixed = {-model.width/2, -model.height/2, 0.5,
model.width/2, model.height/2, 0.5 - model.depth},
},
- groups = {choppy=2, dig_immediate=2, not_blocking_trains = 1},
+ groups = {choppy=2, dig_immediate=2, not_blocking_trains = 1, display_lib_node = 1},
sounds = default.node_sound_defaults(),
display_entities = {
["signs:display_text"] = {
diff --git a/steles/nodes.lua b/steles/nodes.lua
index 7bad5ae..80995c2 100644
--- a/steles/nodes.lua
+++ b/steles/nodes.lua
@@ -26,6 +26,8 @@ display_lib.register_display_entity("steles:text")
for i, material in ipairs(steles.materials) do
local ndef = minetest.registered_nodes[material]
+ local groups = table.copy(ndef.groups)
+ groups.display_lib_node = 1
if ndef then
local parts = material:split(":")
@@ -44,7 +46,7 @@ for i, material in ipairs(steles.materials) do
{-7/16, -0.5, -4/16, 7/16, -4/16, 4/16}
}
},
- groups = ndef.groups,
+ groups = groups,
display_entities = {
["steles:text"] = {
on_display_update = font_lib.on_display_update,