X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fnodes.lua;h=ba1fb3fe4b039c24592f3d415a38b29be41edef2;hb=ef032168084234aaf09d25193e8283bcbb4fab41;hp=ba1a6b44eea28230ea911fd92e4fa121718e00f8;hpb=6bd045e3de0988c08a5831e2b84fa763925afd65;p=xdecor.git diff --git a/src/nodes.lua b/src/nodes.lua index ba1a6b4..ba1fb3f 100644 --- a/src/nodes.lua +++ b/src/nodes.lua @@ -1,6 +1,6 @@ screwdriver = screwdriver or {} -function xdecor.register_pane(name, desc, def) +local function register_pane(name, desc, def) xpanes.register_pane(name, { description = desc, tiles = {"xdecor_"..name..".png"}, @@ -15,21 +15,21 @@ function xdecor.register_pane(name, desc, def) }) end -xdecor.register_pane("bamboo_frame", "Bamboo Frame", { +register_pane("bamboo_frame", "Bamboo Frame", { groups = {choppy=3, oddly_breakable_by_hand=2, pane=1, flammable=2}, recipe = {{"default:papyrus", "default:papyrus", "default:papyrus"}, {"default:papyrus", "farming:cotton", "default:papyrus"}, {"default:papyrus", "default:papyrus", "default:papyrus"}} }) -xdecor.register_pane("chainlink", "Chainlink", { +register_pane("chainlink", "Chainlink", { groups = {cracky=3, oddly_breakable_by_hand=2, pane=1}, recipe = {{"default:steel_ingot", "", "default:steel_ingot"}, {"", "default:steel_ingot", ""}, {"default:steel_ingot", "", "default:steel_ingot"}} }) -xdecor.register_pane("rusty_bar", "Rusty Iron Bars", { +register_pane("rusty_bar", "Rusty Iron Bars", { sounds = default.node_sound_stone_defaults(), groups = {cracky=2, pane=1}, recipe = {{"", "default:dirt", ""}, @@ -37,7 +37,7 @@ xdecor.register_pane("rusty_bar", "Rusty Iron Bars", { {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}} }) -xdecor.register_pane("wood_frame", "Wood Frame", { +register_pane("wood_frame", "Wood Frame", { sounds = default.node_sound_wood_defaults(), groups = {choppy=2, pane=1, flammable=2}, recipe = {{"group:wood", "group:stick", "group:wood"}, @@ -65,7 +65,7 @@ xdecor.register("barrel", { sounds = default.node_sound_wood_defaults() }) -function xdecor.register_storage(name, desc, def) +local function register_storage(name, desc, def) xdecor.register(name, { description = desc, inventory = {size=def.inv_size or 24}, @@ -79,14 +79,14 @@ function xdecor.register_storage(name, desc, def) }) end -xdecor.register_storage("cabinet", "Wooden Cabinet", { +register_storage("cabinet", "Wooden Cabinet", { on_rotate = screwdriver.rotate_simple, tiles = {"xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png", "xdecor_cabinet_front.png"} }) -xdecor.register_storage("cabinet_half", "Half Wooden Cabinet", { +register_storage("cabinet_half", "Half Wooden Cabinet", { inv_size = 8, node_box = xdecor.nodebox.slab_y(0.5, 0.5), on_rotate = screwdriver.rotate_simple, @@ -95,14 +95,16 @@ xdecor.register_storage("cabinet_half", "Half Wooden Cabinet", { "xdecor_half_cabinet_sides.png", "xdecor_half_cabinet_front.png"} }) -xdecor.register_storage("empty_shelf", "Empty Shelf", { +register_storage("empty_shelf", "Empty Shelf", { on_rotate = screwdriver.rotate_simple, - tiles = {"default_wood.png", "default_wood.png^xdecor_empty_shelf.png"} + tiles = {"default_wood.png", "default_wood.png", "default_wood.png", + "default_wood.png", "default_wood.png^xdecor_empty_shelf.png"} }) -xdecor.register_storage("multishelf", "Multi Shelf", { +register_storage("multishelf", "Multi Shelf", { on_rotate = screwdriver.rotate_simple, - tiles = {"default_wood.png", "default_wood.png^xdecor_multishelf.png"}, + tiles = {"default_wood.png", "default_wood.png", "default_wood.png", + "default_wood.png", "default_wood.png^xdecor_multishelf.png"}, }) xdecor.register("candle", { @@ -142,7 +144,7 @@ xdecor.register("chair", { }), can_dig = xdecor.sit_dig, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - pos.y = pos.y + 0 -- Sitting position. + pos.y = pos.y + 0 -- Sitting position xdecor.sit(pos, node, clicker, pointed_thing) return itemstack end @@ -165,32 +167,34 @@ xdecor.register("cobweb", { sounds = default.node_sound_leaves_defaults() }) -for _, c in pairs({"red"}) do -- Add more curtains colors simply here. +for _, c in pairs({"red"}) do -- Add more curtains colors simply here xdecor.register("curtain_"..c, { description = c:gsub("^%l", string.upper).." Curtain", walkable = false, tiles = {"wool_white.png^[colorize:"..c..":170"}, - inventory_image = "wool_white.png^[colorize:"..c..":170^xdecor_curtain_open_overlay.png^[makealpha:255,126,126", + inventory_image = "wool_white.png^[colorize:"..c.. + ":170^xdecor_curtain_open_overlay.png^[makealpha:255,126,126", wield_image = "wool_white.png^[colorize:"..c..":170", drawtype = "signlike", paramtype2 = "wallmounted", groups = {dig_immediate=3, flammable=3}, selection_box = {type="wallmounted"}, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + on_rightclick = function(pos, node, _, itemstack) minetest.set_node(pos, {name="xdecor:curtain_open_"..c, param2=node.param2}) return itemstack end }) xdecor.register("curtain_open_"..c, { - tiles = {"wool_white.png^[colorize:"..c..":170^xdecor_curtain_open_overlay.png^[makealpha:255,126,126"}, + tiles = {"wool_white.png^[colorize:"..c.. + ":170^xdecor_curtain_open_overlay.png^[makealpha:255,126,126"}, drawtype = "signlike", paramtype2 = "wallmounted", walkable = false, groups = {dig_immediate=3, flammable=3, not_in_creative_inventory=1}, selection_box = {type="wallmounted"}, drop = "xdecor:curtain_"..c, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + on_rightclick = function(pos, node, _, itemstack) minetest.set_node(pos, {name="xdecor:curtain_"..c, param2=node.param2}) return itemstack end @@ -198,8 +202,8 @@ for _, c in pairs({"red"}) do -- Add more curtains colors simply here. minetest.register_craft({ output = "xdecor:curtain_"..c.." 4", - recipe = { {"", "wool:"..c, ""}, - {"", "wool:"..c, ""} } + recipe = {{"", "wool:"..c, ""}, + {"", "wool:"..c, ""}} }) end @@ -211,7 +215,7 @@ xdecor.register("cushion", { node_box = xdecor.nodebox.slab_y(0.5), can_dig = xdecor.sit_dig, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - pos.y = pos.y + 0 -- Sitting position. + pos.y = pos.y + 0 -- Sitting position xdecor.sit(pos, node, clicker, pointed_thing) return itemstack end @@ -223,7 +227,10 @@ xdecor.register("cushion_block", { groups = {snappy=3, flammable=3, fall_damage_add_percent=-75, not_in_creative_inventory=1} }) -local function door_access(name) return name:find("prison") end +local function door_access(name) + return name:find("prison") +end + local xdecor_doors = { japanese = { {"group:wood", "default:paper"}, @@ -311,7 +318,7 @@ xdecor.register("lantern", { paramtype2 = "wallmounted", walkable = false, groups = {snappy=3, attached_node=1}, - tiles = {{name = "xdecor_lantern.png", animation = {type="vertical_frames", length=1.5}}}, + tiles = {{name="xdecor_lantern.png", animation={type="vertical_frames", length=1.5}}}, selection_box = xdecor.pixelbox(16, {{4, 0, 4, 8, 16, 8}}) }) @@ -340,8 +347,8 @@ for _, f in pairs({"dandelion_white", "dandelion_yellow", "geranium", minetest.register_craft({ output = "xdecor:potted_"..f, - recipe = { {"default:clay_brick", "flowers:"..f, "default:clay_brick"}, - {"", "default:clay_brick", ""} } + recipe = {{"default:clay_brick", "flowers:"..f, + "default:clay_brick"}, {"", "default:clay_brick", ""}} }) end @@ -365,8 +372,10 @@ xdecor.register("painting_1", { node_placement_prediction = "", on_place = function(itemstack, placer, pointed_thing) local num = math.random(4) - local leftover = minetest.item_place_node(ItemStack("xdecor:painting_"..num), placer, pointed_thing) - if leftover:get_count() == 0 and not minetest.setting_getbool("creative_mode") then + local leftover = minetest.item_place_node( + ItemStack("xdecor:painting_"..num), placer, pointed_thing) + if leftover:get_count() == 0 and + not minetest.setting_getbool("creative_mode") then itemstack:take_item() end return itemstack @@ -379,7 +388,8 @@ for i = 2, 4 do paramtype2 = "wallmounted", drop = "xdecor:painting_1", sunlight_propagates = true, - groups = {choppy=3, oddly_breakable_by_hand=2, flammable=2, attached_node=1, not_in_creative_inventory=1}, + groups = {choppy=3, oddly_breakable_by_hand=2, flammable=2, + attached_node=1, not_in_creative_inventory=1}, sounds = default.node_sound_wood_defaults(), node_box = painting_box }) @@ -399,7 +409,8 @@ xdecor.register("stonepath", { selection_box = xdecor.nodebox.slab_y(0.05) }) -function xdecor.register_hard_node(name, desc, def) +local function register_hard_node(name, desc, def) + def = def or {} xdecor.register(name, { description = desc, tiles = {"xdecor_"..name..".png"}, @@ -408,18 +419,18 @@ function xdecor.register_hard_node(name, desc, def) }) end -xdecor.register_hard_node("cactusbrick", "Cactus Brick", {}) -xdecor.register_hard_node("coalstone_tile", "Coal Stone Tile", {}) -xdecor.register_hard_node("desertstone_tile", "Desert Stone Tile", {}) -xdecor.register_hard_node("hard_clay", "Hardened Clay", {}) -xdecor.register_hard_node("moonbrick", "Moon Brick", {}) -xdecor.register_hard_node("stone_tile", "Stone Tile", {}) -xdecor.register_hard_node("stone_rune", "Runestone", {}) -xdecor.register_hard_node("packed_ice", "Packed Ice", { - groups = {cracky=1, puts_out_fire=1}, +register_hard_node("cactusbrick", "Cactus Brick") +register_hard_node("coalstone_tile", "Coal Stone Tile") +register_hard_node("desertstone_tile", "Desert Stone Tile") +register_hard_node("hard_clay", "Hardened Clay") +register_hard_node("moonbrick", "Moon Brick") +register_hard_node("stone_tile", "Stone Tile") +register_hard_node("stone_rune", "Runestone") +register_hard_node("packed_ice", "Packed Ice", { + groups = {cracky=1, puts_out_fire=1, slippery=3}, sounds = default.node_sound_glass_defaults() }) -xdecor.register_hard_node("wood_tile", "Wooden Tile", { +register_hard_node("wood_tile", "Wooden Tile", { groups = {choppy=1, wood=1, flammable=2}, sounds = default.node_sound_wood_defaults() }) @@ -472,4 +483,3 @@ xdecor.register("woodframed_glass", { groups = {cracky=2, oddly_breakable_by_hand=1}, sounds = default.node_sound_glass_defaults() }) -