]> git.lizzy.rs Git - xdecor.git/blobdiff - src/nodes.lua
Make packed ice slippery
[xdecor.git] / src / nodes.lua
index ba1a6b44eea28230ea911fd92e4fa121718e00f8..ba1fb3fe4b039c24592f3d415a38b29be41edef2 100644 (file)
@@ -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()
 })
-