]> git.lizzy.rs Git - xdecor.git/commitdiff
Move sitting stuff in separate file
authorjp <jeanpatrick.guerrero@gmail.com>
Fri, 4 Dec 2015 10:38:18 +0000 (11:38 +0100)
committerjp <jeanpatrick.guerrero@gmail.com>
Fri, 4 Dec 2015 17:14:35 +0000 (18:14 +0100)
crafts.lua
init.lua
nodes.lua
sitting.lua [new file with mode: 0644]
worktable.lua

index 4e02626baf710c1e222b515d7886a0a94772b7ae..59b2bb25c848343282ae674682b8bfbfe1315dea 100644 (file)
@@ -26,12 +26,14 @@ minetest.register_craft({
 
 minetest.register_craftitem("xdecor:bowl", {
        description = "Bowl",
-       inventory_image = "xdecor_bowl.png"
+       inventory_image = "xdecor_bowl.png",
+       wield_image = "xdecor_bowl.png"
 })
 
 minetest.register_craftitem("xdecor:bowl_soup", {
        description = "Bowl of soup",
        inventory_image = "xdecor_bowl_soup.png",
+       wield_image = "xdecor_bowl_soup.png",
        groups = {not_in_creative_inventory = 1},
        on_use = minetest.item_eat(30)
 })
@@ -205,6 +207,7 @@ minetest.register_craft({
 minetest.register_craftitem("xdecor:honey", {
        description = "Honey",
        inventory_image = "xdecor_honey.png",
+       wield_image = "xdecor_honey.png",
        groups = {not_in_creative_inventory=1},
        on_use = minetest.item_eat(2)
 })
index 225aa75951c7e5200e6994aa9176f91cdcffcb62..d60d1f174588d40a7f25f7b7c2802c722df509df 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -12,6 +12,7 @@ dofile(modpath.."/itemframe.lua")
 dofile(modpath.."/mailbox.lua")
 dofile(modpath.."/rope.lua")
 dofile(modpath.."/nodes.lua")
+dofile(modpath.."/sitting.lua")
 dofile(modpath.."/worktable.lua")
 dofile(modpath.."/xwall.lua")
 
index 799f4ea6e26f63b8eceb4648ad1cc7d418ba11e0..048b75e0ca11e9c161b411c2eec14557e84c6cd9 100644 (file)
--- a/nodes.lua
+++ b/nodes.lua
@@ -1,38 +1,6 @@
 screwdriver = screwdriver or {}
 local xbg = default.gui_bg..default.gui_bg_img..default.gui_slots
 
-local function sit(pos, node, clicker)
-       local player = clicker:get_player_name()
-       if default.player_attached[player] == true then
-               pos.y = pos.y - 0.5
-               clicker:setpos(pos)
-               clicker:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
-               clicker:set_physics_override(1, 1, 1)
-               default.player_attached[player] = false
-               default.player_set_animation(clicker, "stand", 30)
-       elseif default.player_attached[player] ~= true and
-               clicker:get_player_velocity().x == 0 and
-               clicker:get_player_velocity().y == 0 and
-               clicker:get_player_velocity().z == 0 and node.param2 <= 3 then
-
-               clicker:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0})
-               clicker:set_physics_override(0, 0, 0)
-               clicker:setpos(pos)
-               default.player_attached[player] = true
-               default.player_set_animation(clicker, "sit", 30)
-
-               if node.param2 == 0 then
-                       clicker:set_look_yaw(3.15)
-               elseif node.param2 == 1 then
-                       clicker:set_look_yaw(7.9)
-               elseif node.param2 == 2 then
-                       clicker:set_look_yaw(6.28)
-               elseif node.param2 == 3 then
-                       clicker:set_look_yaw(4.75)
-               end
-       end
-end
-
 xpanes.register_pane("bamboo_frame", {
        description = "Bamboo Frame",
        tiles = {"xdecor_bamboo_frame.png"},
@@ -139,44 +107,6 @@ xpanes.register_pane("chainlink", {
        }
 })
 
-xdecor.register("chair", {
-       description = "Chair",
-       tiles = {"xdecor_wood.png"},
-       sounds = default.node_sound_wood_defaults(),
-       groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3},
-       on_rotate = screwdriver.rotate_simple,
-       node_box = {
-               type = "fixed",
-               fixed = {{-0.3125, -0.5, 0.1875, -0.1875, 0.5, 0.3125},
-                       {0.1875, -0.5, 0.1875, 0.3125, 0.5, 0.3125},
-                       {-0.1875, 0.025, 0.22, 0.1875, 0.45, 0.28},
-                       {-0.3125, -0.5, -0.3125, -0.1875, -0.125, -0.1875},
-                       {0.1875, -0.5, -0.3125, 0.3125, -0.125, -0.1875},
-                       {-0.3125, -0.125, -0.3125, 0.3125, 0, 0.1875}}
-       },
-       on_rightclick = function(pos, node, clicker)
-               local objs = minetest.get_objects_inside_radius(pos, 0.5)
-               for _, p in pairs(objs) do
-                       if p:get_player_name() ~= clicker:get_player_name() then return end
-               end
-               pos.y = pos.y + 0
-               sit(pos, node, clicker)
-       end,
-       can_dig = function(pos, player)
-               local pname = player:get_player_name()
-               local objs = minetest.get_objects_inside_radius(pos, 0.5)
-
-               for _, p in pairs(objs) do
-                       if p:get_player_name() ~= nil or
-                               default.player_attached[pname] == true or not
-                               player or not player:is_player() then 
-                               return false
-                       end
-               end
-               return true
-       end
-})
-
 xdecor.register("cobweb", {
        description = "Cobweb",
        drawtype = "plantlike",
@@ -194,9 +124,7 @@ xdecor.register("cobweb", {
        sounds = default.node_sound_leaves_defaults()
 })
 
-local colors = {"red"} -- Add more curtains colors simply here.
-
-for _, c in pairs(colors) do
+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,
@@ -243,35 +171,6 @@ xdecor.register("crate", {
        sounds = default.node_sound_wood_defaults()
 })
 
-xdecor.register("cushion", {
-       description = "Cushion",
-       tiles = {"xdecor_cushion.png"},
-       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),
-       on_rightclick = function(pos, node, clicker)
-               local objs = minetest.get_objects_inside_radius(pos, 0.5)
-               for _, p in pairs(objs) do
-                       if p:get_player_name() ~= clicker:get_player_name() then return end
-               end
-               pos.y = pos.y + 0
-               sit(pos, node, clicker)
-       end,
-       can_dig = function(pos, player)
-               local pname = player:get_player_name()
-               local objs = minetest.get_objects_inside_radius(pos, 0.5)
-
-               for _, p in pairs(objs) do
-                       if p:get_player_name() ~= nil or
-                               default.player_attached[pname] == true or not
-                               player or not player:is_player() then 
-                               return false
-                       end
-               end
-               return true
-       end
-})
-
 local function door_access(door)
        return door:find("prison")
 end
@@ -427,8 +326,8 @@ xdecor.register("packed_ice", {
        sounds = default.node_sound_glass_defaults()
 })
 
-local flowers = {"dandelion_white", "dandelion_yellow", "geranium",
-               "rose", "tulip", "viola"}
+local flowers = {"dandelion_white", "dandelion_yellow", "geranium", "rose",
+               "tulip", "viola"}
 
 for _, f in pairs(flowers) do
        xdecor.register("potted_"..f, {
@@ -545,8 +444,8 @@ xdecor.register("stonepath", {
        selection_box = xdecor.nodebox.slab_y(0.05)
 })
 
-local stonish = {"desertstone_tile", "stone_tile", "stone_rune",
-               "coalstone_tile", "hard_clay"}
+local stonish = {"desertstone_tile", "stone_tile", "stone_rune", "coalstone_tile",
+               "hard_clay"}
 
 for _, t in pairs(stonish) do
        xdecor.register(t, {
diff --git a/sitting.lua b/sitting.lua
new file mode 100644 (file)
index 0000000..d821368
--- /dev/null
@@ -0,0 +1,103 @@
+local function sit(pos, node, clicker)
+       local player = clicker:get_player_name()
+       if default.player_attached[player] == true then
+               pos.y = pos.y - 0.5
+               clicker:setpos(pos)
+               clicker:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
+               clicker:set_physics_override(1, 1, 1)
+               default.player_attached[player] = false
+               default.player_set_animation(clicker, "stand", 30)
+       elseif default.player_attached[player] ~= true and node.param2 <= 3 and
+                       clicker:get_player_velocity().x == 0 and
+                       clicker:get_player_velocity().y == 0 and
+                       clicker:get_player_velocity().z == 0 then
+
+               clicker:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0})
+               clicker:set_physics_override(0, 0, 0)
+               clicker:setpos(pos)
+               default.player_attached[player] = true
+               default.player_set_animation(clicker, "sit", 30)
+
+               if node.param2 == 0 then
+                       clicker:set_look_yaw(3.15)
+               elseif node.param2 == 1 then
+                       clicker:set_look_yaw(7.9)
+               elseif node.param2 == 2 then
+                       clicker:set_look_yaw(6.28)
+               elseif node.param2 == 3 then
+                       clicker:set_look_yaw(4.75)
+               end
+       end
+end
+
+xdecor.register("chair", {
+       description = "Chair",
+       tiles = {"xdecor_wood.png"},
+       sounds = default.node_sound_wood_defaults(),
+       groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3},
+       on_rotate = screwdriver.rotate_simple,
+       node_box = {
+               type = "fixed",
+               fixed = {{-0.3125, -0.5, 0.1875, -0.1875, 0.5, 0.3125},
+                       {0.1875, -0.5, 0.1875, 0.3125, 0.5, 0.3125},
+                       {-0.1875, 0.025, 0.22, 0.1875, 0.45, 0.28},
+                       {-0.3125, -0.5, -0.3125, -0.1875, -0.125, -0.1875},
+                       {0.1875, -0.5, -0.3125, 0.3125, -0.125, -0.1875},
+                       {-0.3125, -0.125, -0.3125, 0.3125, 0, 0.1875}}
+       },
+       on_rightclick = function(pos, node, clicker)
+               local objs = minetest.get_objects_inside_radius(pos, 0.5)
+               for _, p in pairs(objs) do
+                       if p:get_player_name() ~= clicker:get_player_name() then return end
+               end
+
+               pos.y = pos.y + 0  -- Sitting position.
+               sit(pos, node, clicker)
+       end,
+       can_dig = function(pos, player)
+               local pname = player:get_player_name()
+               local objs = minetest.get_objects_inside_radius(pos, 0.5)
+
+               for _, p in pairs(objs) do
+                       if not player or not player:is_player() or
+                                       p:get_player_name() ~= nil or
+                                       default.player_attached[pname] == true then
+                               return false
+                       end
+               end
+
+               return true
+       end
+})
+
+xdecor.register("cushion", {
+       description = "Cushion",
+       tiles = {"xdecor_cushion.png"},
+       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),
+       on_rightclick = function(pos, node, clicker)
+               local objs = minetest.get_objects_inside_radius(pos, 0.5)
+               for _, p in pairs(objs) do
+                       if p:get_player_name() ~= clicker:get_player_name() then return end
+               end
+
+               pos.y = pos.y + 0
+               sit(pos, node, clicker)
+       end,
+       can_dig = function(pos, player)
+               local pname = player:get_player_name()
+               local objs = minetest.get_objects_inside_radius(pos, 0.5)
+
+               for _, p in pairs(objs) do
+                       if not player or not player:is_player() or
+                                       p:get_player_name() ~= nil or
+                                       default.player_attached[pname] == true then
+                               return false
+                       end
+               end
+
+               return true
+       end
+})
+
index 4911bf5bd98338758eb372b5b746cfc2e3e36fac..514edf96cfee6e021e15301b8aef3c7270a45fdc 100644 (file)
@@ -352,9 +352,12 @@ function worktable.move(pos, from_list, from_index, to_list, to_index, count, _)
 end
 
 local function update_inventory(inv, inputstack)
-       if inv:is_empty("input") then inv:set_list("forms", {}) return end
-       local output = {}
+       if inv:is_empty("input") then
+               inv:set_list("forms", {})
+               return
+       end
 
+       local output = {}
        for _, n in pairs(def) do
                local mat = inputstack:get_name()
                local input = inv:get_stack("input", 1)