]> git.lizzy.rs Git - xdecor.git/commitdiff
Add Cobweb and allow picking water from cauldron
authorjp <jeanpatrick.guerrero@gmail.com>
Sun, 5 Jul 2015 16:25:53 +0000 (18:25 +0200)
committerjp <jeanpatrick.guerrero@gmail.com>
Mon, 6 Jul 2015 09:31:20 +0000 (11:31 +0200)
crafts.lua
depends.txt
itemframe.lua
nodes.lua
textures/xdecor_cobweb.png [new file with mode: 0644]
worktable.lua

index 407fdb02bc4b85b0dd0b6801fd980035e86ff56e..61f5d3bdba7b02a0bb123f0a8dcd51092dadeaad 100644 (file)
@@ -1,8 +1,8 @@
 minetest.register_craft({ 
        output = "xdecor:baricade",
        recipe = {
-               {"group:stick", "default:steel_ingot", "group:stick"},
-               {"", "group:stick", ""},
+               {"group:stick", "", "group:stick"},
+               {"", "default:steel_ingot", ""},
                {"group:stick", "", "group:stick"}
        } 
 })
@@ -24,25 +24,25 @@ minetest.register_craft({
 })
 
 minetest.register_craft({
-       output = "xdecor:cabinet_half 2",
+       output = "xdecor:cabinet",
        recipe = {
-               {"xdecor:cabinet"}
+               {"group:wood", "group:wood", "group:wood"},
+               {"doors:trapdoor", "", "doors:trapdoor"},
+               {"group:wood", "group:wood", "group:wood"}
        }
 })
 
 minetest.register_craft({
-       output = "xdecor:cushion 2",
+       output = "xdecor:cabinet_half 2",
        recipe = {
-               {"wool:red", "wool:red"}
+               {"xdecor:cabinet"}
        }
 })
 
 minetest.register_craft({
-       output = "xdecor:cabinet",
+       output = "xdecor:cushion 2",
        recipe = {
-               {"group:wood", "group:wood", "group:wood"},
-               {"doors:trapdoor", "", "doors:trapdoor"},
-               {"group:wood", "group:wood", "group:wood"}
+               {"wool:red", "wool:red"}
        }
 })
 
@@ -87,6 +87,15 @@ minetest.register_craft({
                {"default:stone", "default:coalblock"}
        }
 })
+
+minetest.register_craft({
+       output = "xdecor:cobweb",
+       recipe = {
+               {"farming:cotton", "", "farming:cotton"},
+               {"", "farming:cotton", ""},
+               {"farming:cotton", "", "farming:cotton"}
+       }
+})
        
 minetest.register_craft({
        output = "xdecor:empty_shelf",
@@ -146,9 +155,9 @@ minetest.register_craftitem("xdecor:hammer", {
 minetest.register_craft({
        output = "xdecor:hive",
        recipe = {
+               {"group:stick", "group:stick", "group:stick"},
                {"default:paper", "default:paper", "default:paper"},
-               {"default:paper", "", "default:paper"},
-               {"default:paper", "default:paper", "default:paper"}
+               {"group:stick", "group:stick", "group:stick"}
        }
 })
 
index e05bacb4c28c4bf0f38e023abe43c016808c2f19..eeac627cd26f7d5f14cd9c1594d2f5d2c0c938bb 100644 (file)
@@ -1,3 +1,4 @@
 default
 doors
 xpanes
+bucket?
index de366b10dbbb23d35e2464445a4db4503b429560..591864925c832f44bf5b07612ca438be1eae69a9 100644 (file)
@@ -41,8 +41,8 @@ local remove_item = function(pos, node)
 
        if objs then
                for _, obj in ipairs(objs) do
-                       if obj and obj:get_luaentity() 
-                        and obj:get_luaentity().name == "xdecor:f_item" then
+                       if obj and obj:get_luaentity() and
+                               obj:get_luaentity().name == "xdecor:f_item" then
                                obj:remove()
                        end
                end
index e0de3c5ac340aebdb0fbcc9b0dfdde2cef8a3be2..9d527031fbc1b3251b0a6de1d83ec09a013efdc7 100644 (file)
--- a/nodes.lua
+++ b/nodes.lua
@@ -44,7 +44,7 @@ xdecor.register("cabinet", {
        tiles = {
                "default_wood.png", "default_wood.png",
                "default_wood.png", "default_wood.png",
-               "default_wood.png","xdecor_cabinet_front.png"
+               "default_wood.png", "xdecor_cabinet_front.png"
        }
 })
 
@@ -110,6 +110,30 @@ xdecor.register("cauldron", {
        }
 })
 
+if minetest.get_modpath("bucket") then
+       local original_bucket_on_use = minetest.registered_items["bucket:bucket_empty"].on_use
+       minetest.override_item("bucket:bucket_empty", {
+               on_use = function(itemstack, user, pointed_thing)
+                       local inv = user:get_inventory()
+
+                       if pointed_thing.type == "node" and
+                               minetest.get_node(pointed_thing.under).name == "xdecor:cauldron" then
+                               if inv:room_for_item("main", "bucket:bucket_water 1") then
+                                       itemstack:take_item()
+                                       inv:add_item("main", "bucket:bucket_water 1")
+                               else
+                                       minetest.chat_send_player(user:get_player_name(),
+                                               "No room in your inventory to add a filled bucket!")
+                               end
+                               return itemstack
+                       else if original_bucket_on_use then
+                               return original_bucket_on_use(itemstack, user, pointed_thing)
+                       else return end
+               end
+       end
+       })
+end
+
 xdecor.register("chair", {
        description = "Chair",
        tiles = {"xdecor_wood.png"},
@@ -146,7 +170,24 @@ xdecor.register("coalstone_tile", {
        sounds = xdecor.stone
 })
 
-local colors = {"red"} -- Add more curtains colors simply here
+xdecor.register("cobweb", {
+       description = "Cobweb",
+       drawtype = "plantlike",
+       tiles = {"xdecor_cobweb.png"},
+       inventory_image = "xdecor_cobweb.png",
+       liquid_viscosity = 8,
+       liquidtype = "source",
+       liquid_alternative_flowing = "xdecor:cobweb",
+       liquid_alternative_source = "xdecor:cobweb",
+       liquid_renewable = false,
+       liquid_range = 0,
+       walkable = false,
+       selection_box = { type = "regular" },
+       groups = {dig_immediate=3, liquid=3, flammable=3},
+       sounds = xdecor.leaves
+})
+
+local colors = {"red"} -- Add more curtains colors simply here.
 
 for _, c in ipairs(colors) do
        xdecor.register("curtain_"..c, {
@@ -161,8 +202,7 @@ for _, c in ipairs(colors) do
                groups = {dig_immediate=3, flammable=3},
                selection_box = {type="wallmounted"},
                on_rightclick = function(pos, node, clicker, itemstack)
-                       local fdir = node.param2
-                       minetest.set_node(pos, { name="xdecor:curtain_open_"..c, param2=fdir })
+                       minetest.set_node(pos, {name="xdecor:curtain_open_"..c, param2=node.param2})
                end
        })
 
@@ -176,8 +216,7 @@ for _, c in ipairs(colors) do
                selection_box = {type="wallmounted"},
                drop = "xdecor:curtain_"..c,
                on_rightclick = function(pos, node, clicker, itemstack)
-                       local fdir = node.param2
-                       minetest.set_node(pos, { name="xdecor:curtain_"..c, param2=fdir })
+                       minetest.set_node(pos, {name="xdecor:curtain_"..c, param2=node.param2})
                end
        })
 
@@ -194,7 +233,7 @@ end
 xdecor.register("cushion", {
        description = "Cushion",
        tiles = {"xdecor_cushion.png"},
-       groups = {snappy=3, flammable=3, fall_damage_add_percent = -50},
+       groups = {snappy=3, flammable=3, fall_damage_add_percent=-50},
        on_place = minetest.rotate_node,
        node_box = xdecor.nodebox.slab_y(-0.5, 0.5)
 })
@@ -209,7 +248,7 @@ for _, d in pairs(door_types) do
                groups = {choppy=3, flammable=2, door=1},
                tiles_bottom = {"xdecor_"..d.."_door_b.png", "xdecor_brown.png"},
                tiles_top = {"xdecor_"..d.."_door_a.png", "xdecor_brown.png"},
-               sounds = xdecor.wood,
+               sounds = xdecor.wood
        })
 end
 
@@ -286,12 +325,14 @@ minetest.register_tool("xdecor:flint_steel", {
                }
        },
        on_use = function(itemstack, user, pointed_thing)
-               if pointed_thing.type == "node"
-                and minetest.get_node(pointed_thing.above).name == "air" then
-                       if not minetest.is_protected(pointed_thing.above, user:get_player_name()) then
+               if pointed_thing.type == "node" and
+                       minetest.get_node(pointed_thing.above).name == "air" then
+                       if not minetest.is_protected(pointed_thing.above,
+                               user:get_player_name()) then
                                minetest.set_node(pointed_thing.above, {name="xdecor:fire"})
                        else
-                               minetest.chat_send_player(user:get_player_name(), "This area is protected!")
+                               minetest.chat_send_player(user:get_player_name(),
+                                       "This area is protected!")
                        end
                else
                        return
@@ -309,7 +350,7 @@ xdecor.register("ivy", {
        climbable = true,
        groups = {dig_immediate=3, flammable=2, plant=1},
        paramtype2 = "wallmounted",
-       selection_box = { type="wallmounted" },
+       selection_box = {type="wallmounted"},
        legacy_wallmounted = true,
        tiles = {"xdecor_ivy.png"},
        inventory_image = "xdecor_ivy.png",
@@ -352,8 +393,10 @@ for _, f in ipairs(flowerstype) do
        })
 
        minetest.register_craft({
-               type = "shapeless", output = "xdecor:potted_"..f.." 2",
-               recipe = { "flowers:"..f, "xdecor:plant_pot" } 
+               output = "xdecor:potted_"..f.." 2",
+               recipe = {
+                       {"flowers:"..f, "xdecor:plant_pot"}
+               }
        })
 end
 
@@ -493,7 +536,7 @@ xdecor.register("tatami", {
        node_box = {
                type = "fixed",
                fixed = {
-                       {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
+                       {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}
                }
        }
 })
diff --git a/textures/xdecor_cobweb.png b/textures/xdecor_cobweb.png
new file mode 100644 (file)
index 0000000..29e9415
Binary files /dev/null and b/textures/xdecor_cobweb.png differ
index b6ad9ac793e9ec50aebe302f8234ce3af896b7ea..524438160207170c21a10688da62965ffcf101aa 100644 (file)
@@ -80,8 +80,8 @@ local function xfields(pos, formname, fields, sender)
                local v = material[m]
                local w = def[n]
 
-               if (inputstack:get_name() == "default:"..v)
-                and (outputstack:get_count() < 99) and fields[w[1]] then
+               if (inputstack:get_name() == "default:"..v) and
+                       (outputstack:get_count() < 99) and fields[w[1]] then
                        shape = "xdecor:"..w[1].."_"..v
                        anz = w[2]
                        get = shape.." "..anz
@@ -98,8 +98,8 @@ local function xdig(pos, player)
        local meta = minetest.get_meta(pos)
        local inv = meta:get_inventory()
 
-       if not inv:is_empty("input") or not inv:is_empty("output")
-         or not inv:is_empty("fuel") or not inv:is_empty("src") then
+       if not inv:is_empty("input") or not inv:is_empty("output") or not
+               inv:is_empty("fuel") or not inv:is_empty("src") then
                return false
        end
        return true
@@ -146,8 +146,8 @@ local function light(mat)
 end
 
 local function sound(mat)
-       if string.find(mat, "glass") or string.find(mat, "lamp")
-        or string.find(mat, "ice") then
+       if string.find(mat, "glass") or string.find(mat, "lamp") or
+               string.find(mat, "ice") then
                return default.node_sound_glass_defaults()
        elseif string.find(mat, "wood") or string.find(mat, "tree") then
                return default.node_sound_wood_defaults()