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"}, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
groups = { breakable = 1 }, groups = { breakable = 1, rotatable = 3 },
sounds = lzr_sounds.node_sound_wood_defaults(), sounds = lzr_sounds.node_sound_wood_defaults(),
on_place = minetest.rotate_node 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"}, tiles = {"lzr_core_palm_tree_top.png", "lzr_core_palm_tree_top.png", "lzr_core_palm_tree.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
groups = { breakable = 1 }, groups = { breakable = 1, rotatable = 3 },
sounds = lzr_sounds.node_sound_wood_defaults(), sounds = lzr_sounds.node_sound_wood_defaults(),
on_place = minetest.rotate_node on_place = minetest.rotate_node

View File

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

View File

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