Allow extended rotation in editor
parent
856741ec3a
commit
99650cec51
|
@ -419,7 +419,7 @@ register_element("emitter", {
|
|||
minetest.swap_node(pos, {name=nname, param2=node.param2})
|
||||
full_update()
|
||||
end,
|
||||
groups = { laser_block = 1 },
|
||||
groups = { rotatable = 2, laser_block = 1 },
|
||||
sounds = lzr_sounds.node_sound_wood_defaults(),
|
||||
}, { allow_take = true, keep_state_on_take = true })
|
||||
|
||||
|
@ -459,7 +459,7 @@ register_element("detector", {
|
|||
"lzr_laser_detector_on_front.png",
|
||||
},
|
||||
light_source_on = 5,
|
||||
groups = { laser_block = 1 },
|
||||
groups = { rotatable = 2, laser_block = 1 },
|
||||
sounds = lzr_sounds.node_sound_wood_defaults(),
|
||||
}, { allow_take = true, is_detector = true })
|
||||
|
||||
|
|
|
@ -157,11 +157,23 @@ function screwdriver.use(itemstack, player, pointed_thing, is_right_click)
|
|||
local def = minetest.registered_nodes[node.name]
|
||||
if not def then return end -- probably unnessesary
|
||||
|
||||
local rotatable = minetest.get_item_group(node.name, "rotatable")
|
||||
-- Node MUST have 'rotatable' group
|
||||
-- TODO: Allow rotation in level editing/admin mode
|
||||
if not def.groups.rotatable then
|
||||
if rotatable <= 0 then
|
||||
return itemstack
|
||||
end
|
||||
-- rotatable=2: rotatable if takable or if in editor mode
|
||||
if rotatable == 2 then
|
||||
if not (def.groups.takable or lzr_gamestate.get_state() == lzr_gamestate.EDITOR) then
|
||||
return itemstack
|
||||
end
|
||||
-- rotatable=3: rotatable in editor mode only
|
||||
elseif rotatable == 3 then
|
||||
if lzr_gamestate.get_state() ~= lzr_gamestate.EDITOR then
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
||||
local on_rotate = def.on_rotate
|
||||
if on_rotate == false then return end
|
||||
|
|
Loading…
Reference in New Issue