Force nodes to have rotatable group

master
Wuzzy 2021-12-21 23:20:50 +01:00
parent 4b6f03f258
commit 9cf755071d
2 changed files with 10 additions and 6 deletions

View File

@ -117,7 +117,7 @@ minetest.register_node("lzr_laser:mirror", {
after_rotate = after_rotate,
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { mirror = 1, laser_block = 1, dig_immediate = 3 },
groups = { rotatable = 1, mirror = 1, laser_block = 1, dig_immediate = 3 },
_lzr_active = "lzr_laser:mirror_on",
})
@ -137,7 +137,7 @@ minetest.register_node("lzr_laser:mirror_on", {
after_rotate = after_rotate,
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { mirror = 2, laser_block = 1, dig_immediate = 3, not_in_creative_inventory = 1 },
groups = { rotatable = 1, mirror = 2, laser_block = 1, dig_immediate = 3, not_in_creative_inventory = 1 },
_lzr_inactive = "lzr_laser:mirror",
drop = "lzr_laser:mirror",
})
@ -158,7 +158,7 @@ minetest.register_node("lzr_laser:emitter", {
after_rotate = after_rotate,
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { emitter = 1, laser_block = 1, dig_immediate = 3 },
groups = { rotatable = 1, emitter = 1, laser_block = 1, dig_immediate = 3 },
_lzr_active = "lzr_laser:emitter_on",
})
@ -178,7 +178,7 @@ minetest.register_node("lzr_laser:emitter_on", {
after_rotate = after_rotate,
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { emitter = 2, laser_block = 1, dig_immediate = 3 },
groups = { rotatable = 1, emitter = 2, laser_block = 1, dig_immediate = 3 },
_lzr_inactive = "lzr_laser:emitter",
})
@ -198,7 +198,7 @@ minetest.register_node("lzr_laser:detector", {
after_rotate = after_rotate,
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { detector = 1, laser_block = 1, dig_immediate = 3 },
groups = { rotatable = 1, detector = 1, laser_block = 1, dig_immediate = 3 },
_lzr_active = "lzr_laser:detector_on",
})
@ -218,7 +218,7 @@ minetest.register_node("lzr_laser:detector_on", {
after_rotate = after_rotate,
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { detector = 2, laser_block = 1, dig_immediate = 3, not_in_creative_inventory = 1 },
groups = { rotatable = 1, detector = 2, laser_block = 1, dig_immediate = 3, not_in_creative_inventory = 1 },
_lzr_inactive = "lzr_laser:detector",
drop = "lzr_laser:detector",
})

View File

@ -104,6 +104,10 @@ screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses)
if not ndef then
return itemstack
end
-- Node MUST have 'rotatable' group
if not ndef.groups.rotatable then
return itemstack
end
if mode == screwdriver.ROTATE_AXIS and ndef and ndef.on_rightclick and
((not user) or (user and not user:get_player_control().sneak)) then
return ndef.on_rightclick(pos, node, user, itemstack,