Add screwdriver support to decor nodes

master
Wuzzy 2022-02-10 20:41:22 +01:00
parent bc6ada5c4d
commit 4fadb93c4d
4 changed files with 13 additions and 13 deletions

View File

@ -84,7 +84,7 @@ minetest.register_node("lzr_core:tree", {
tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = { breakable = 1 },
groups = { breakable = 1, rotatable = 3 },
sounds = lzr_sounds.node_sound_wood_defaults(),
on_place = minetest.rotate_node
@ -95,7 +95,7 @@ minetest.register_node("lzr_core:palm_tree", {
tiles = {"lzr_core_palm_tree_top.png", "lzr_core_palm_tree_top.png", "lzr_core_palm_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = { breakable = 1 },
groups = { breakable = 1, rotatable = 3 },
sounds = lzr_sounds.node_sound_wood_defaults(),
on_place = minetest.rotate_node

View File

@ -38,7 +38,7 @@ end
register_pane("rusty_bar", S("Rusty Iron Bars"), {
sounds = lzr_sounds.node_sound_metal_defaults(),
groups = {breakable = 1, pane = 1},
groups = {breakable = 1, rotatable = 3, pane = 1},
recipe = {
{"", "default:dirt", ""},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
@ -48,7 +48,7 @@ register_pane("rusty_bar", S("Rusty Iron Bars"), {
register_pane("wood_frame", S("Wood Frame"), {
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = {breakable = 1, pane = 1},
groups = {breakable = 1, rotatable = 3, pane = 1},
recipe = {
{"group:wood", "group:stick", "group:wood"},
{"group:stick", "group:stick", "group:stick"},
@ -60,7 +60,6 @@ minetest.register_node("lzr_decor:barricade", {
description = S("Barricade"),
drawtype = "plantlike",
paramtype = "light",
paramtype2 = "facedir",
inventory_image = "xdecor_baricade.png",
tiles = {"xdecor_baricade.png"},
groups = {breakable = 1},
@ -71,7 +70,6 @@ minetest.register_node("lzr_decor:bonfire", {
walkable = false,
drawtype = "plantlike",
paramtype = "light",
paramtype2 = "facedir",
light_source = 11,
inventory_image = "lzr_decor_bonfire.png^[verticalframe:7:0",
wield_image = "lzr_decor_bonfire.png^[verticalframe:7:0",
@ -95,8 +93,8 @@ minetest.register_node("lzr_decor:bonfire", {
minetest.register_node("lzr_decor:barrel", {
description = S("Barrel"),
tiles = {"xdecor_barrel_top.png", "xdecor_barrel_top.png", "xdecor_barrel_sides.png"},
on_place = minetest.rotate_node,
groups = {breakable = 1},
paramtype2 = "facedir",
groups = {breakable = 1, rotatable = 3},
sounds = lzr_sounds.node_sound_wood_defaults()
})
@ -110,7 +108,7 @@ local function register_storage(name, desc, def)
node_box = def.node_box,
on_rotate = def.on_rotate,
on_place = def.on_place,
groups = def.groups or {breakable = 1},
groups = def.groups or {breakable = 1, rotatable = 3},
sounds = lzr_sounds.node_sound_wood_defaults(),
use_texture_alpha = def.use_texture_alpha,
})
@ -229,7 +227,7 @@ minetest.register_node("lzr_decor:chair", {
paramtype2 = "facedir",
tiles = {"xdecor_wood.png"},
sounds = lzr_sounds.node_sound_wood_defaults(),
groups = { breakable = 1 },
groups = { breakable = 1, rotatable = 3 },
on_rotate = screwdriver.rotate_simple,
node_box = pixelbox(16, {
{3, 0, 11, 2, 16, 2},
@ -335,7 +333,7 @@ minetest.register_node("lzr_decor:table", {
paramtype = "light",
paramtype2 = "facedir",
tiles = {"xdecor_wood.png"},
groups = { breakable = 1 },
groups = { breakable = 1, rotatable = 3 },
sounds = lzr_sounds.node_sound_wood_defaults(),
node_box = pixelbox(16, {
{0, 14, 0, 16, 2, 16}, {5.5, 0, 5.5, 5, 14, 6}

View File

@ -166,12 +166,12 @@ function screwdriver.use(itemstack, player, pointed_thing, is_right_click)
end
-- rotatable=2: rotatable if takable or if in editor/menu mode
if rotatable == 2 then
if not (def.groups.takable or gs == lzr_gamestate.EDITOR or gs == lzr_gamestate.MENU) then
if not (minetest.get_item_group(node.name, "takable") == 1 or (gs == lzr_gamestate.EDITOR or gs == lzr_gamestate.MENU)) then
return itemstack
end
-- rotatable=3: rotatable in editor/menu mode only
elseif rotatable == 3 then
if gs == lzr_gamestate.EDITOR or gs == lzr_gametate.MENU then
if not (gs == lzr_gamestate.EDITOR or gs == lzr_gamestate.MENU) then
return itemstack
end
end

View File

@ -72,6 +72,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description,
end
local new_groups = table.copy(groups)
new_groups.stair = 1
new_groups.rotatable = 3
minetest.register_node(":stairs:stair_" .. subname, {
description = description,
drawtype = "nodebox",
@ -126,6 +127,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description,
end
local new_groups = table.copy(groups)
new_groups.slab = 1
new_groups.rotatable = 3
minetest.register_node(":stairs:slab_" .. subname, {
description = description,
drawtype = "nodebox",