Perform full update after dig/place laser block

master
Wuzzy 2021-12-21 22:41:21 +01:00
parent c2e0edac50
commit 5c43d34867
1 changed files with 24 additions and 0 deletions

View File

@ -65,6 +65,11 @@ lzr_laser.get_mirrored_laser_dir = function(mirror_pos, laser_dir)
return false
end
-- Update the whole playfield after placing or digging a laser node
local full_update = function()
lzr_laser.full_laser_update(lzr_globals.PLAYFIELD_START, lzr_globals.PLAYFIELD_END)
end
minetest.register_node("lzr_laser:mirror", {
description = S("Mirror"),
paramtype2 = "facedir",
@ -76,6 +81,10 @@ minetest.register_node("lzr_laser:mirror", {
"lzr_laser_mirror_block.png",
"lzr_laser_mirror_hole.png",
},
after_place_node = full_update,
after_dig_node = full_update,
groups = { mirror = 1, laser_block = 1, dig_immediate = 2 },
_lzr_active = "lzr_laser:mirror_on",
})
@ -91,6 +100,9 @@ minetest.register_node("lzr_laser:mirror_on", {
"lzr_laser_mirror_on_block.png",
"lzr_laser_mirror_on_hole.png",
},
after_place_node = full_update,
after_dig_node = full_update,
groups = { mirror = 2, laser_block = 1, dig_immediate = 2, not_in_creative_inventory = 1 },
_lzr_inactive = "lzr_laser:mirror",
})
@ -106,6 +118,9 @@ minetest.register_node("lzr_laser:emitter", {
"lzr_laser_emitter.png",
"lzr_laser_emitter_front.png",
},
after_place_node = full_update,
after_dig_node = full_update,
groups = { emitter = 1, laser_block = 1, dig_immediate = 2 },
_lzr_active = "lzr_laser:emitter_on",
})
@ -121,6 +136,9 @@ minetest.register_node("lzr_laser:emitter_on", {
"lzr_laser_emitter_on.png",
"lzr_laser_emitter_on_front.png",
},
after_place_node = full_update,
after_dig_node = full_update,
groups = { emitter = 2, laser_block = 1, dig_immediate = 2, not_in_creative_inventory = 1 },
_lzr_inactive = "lzr_laser:emitter",
})
@ -136,6 +154,9 @@ minetest.register_node("lzr_laser:detector", {
"lzr_laser_detector.png",
"lzr_laser_detector_front.png",
},
after_place_node = full_update,
after_dig_node = full_update,
groups = { detector = 1, laser_block = 1, dig_immediate = 2 },
_lzr_active = "lzr_laser:detector_on",
})
@ -151,6 +172,9 @@ minetest.register_node("lzr_laser:detector_on", {
"lzr_laser_detector_on.png",
"lzr_laser_detector_on_front.png",
},
after_place_node = full_update,
after_dig_node = full_update,
groups = { detector = 2, laser_block = 1, dig_immediate = 2, not_in_creative_inventory = 1 },
_lzr_inactive = "lzr_laser:detector",
})