]> git.lizzy.rs Git - xdecor.git/commitdiff
Move and regroup enchanting params and registrations on top of page
authorkilbith <jeanpatrick.guerrero@gmail.com>
Wed, 27 Jan 2016 17:53:18 +0000 (18:53 +0100)
committerkilbith <jeanpatrick.guerrero@gmail.com>
Wed, 27 Jan 2016 19:11:38 +0000 (20:11 +0100)
enchanting.lua
worktable.lua

index 9be218136b8268cd1725a42410d56c8af92b94c7..15aaad69ae8c4e7d24c44bd2a61bb8922440db51 100644 (file)
@@ -1,6 +1,41 @@
 local enchanting = {}
 screwdriver = screwdriver or {}
 
+-- Cost in Mese crystal(s) for enchanting.
+local mese_cost = 1
+
+-- Force of the enchantments.
+enchanting.uses = 1.2
+enchanting.times = 0.1
+enchanting.damages = 1
+enchanting.strength = 1.2
+enchanting.speed = 0.2
+enchanting.jump = 0.2
+
+-- Enchanted tools registration.
+enchanting.tools = {
+       --[[ Registration format:
+               [Mod name] = {
+                       materials,
+                       {tool name, tool group, enchantments}
+                }
+       --]]
+       ["default"] = {
+               "steel bronze mese diamond",
+               {"axe",    "choppy",  "durable, fast"}, 
+               {"pick",   "cracky",  "durable, fast"}, 
+               {"shovel", "crumbly", "durable, fast"},
+               {"sword",  "fleshy",  "sharp"}
+       },
+       ["3d_armor"] = {
+               "steel bronze gold diamond",
+               {"boots",      nil, "strong, speed"},
+               {"chestplate", nil, "strong"},
+               {"helmet",     nil, "strong"},
+               {"leggings",   nil, "strong"}
+       }
+}
+
 function enchanting.formspec(pos, num)
        local formspec = [[ size[9,9;]
                        bgcolor[#080808BB;true]
@@ -48,7 +83,6 @@ function enchanting.fields(pos, _, fields)
        local orig_wear = tool:get_wear()
        local mod, name = tool:get_name():match("(.*):(.*)")
        local enchanted_tool = mod..":enchanted_"..name.."_"..next(fields)
-       local mese_cost = 1
 
        if mese:get_count() >= mese_cost and minetest.registered_tools[enchanted_tool] then
                tool:replace(enchanted_tool)
@@ -116,42 +150,9 @@ xdecor.register("enchantment_table", {
        allow_metadata_inventory_move = function() return 0 end
 })
 
-local function cap(str)
-       return str:gsub("^%l", string.upper)
-end
-
- -- Higher number = stronger enchant.
-enchanting.uses = 1.2
-enchanting.times = 0.1
-enchanting.damages = 1
-enchanting.strength = 1.2
-enchanting.speed = 0.2
-enchanting.jump = 0.2
-
-local tools = {
-       --[[ Registration format:
-               [Mod name] = {
-                       materials,
-                       {tool name, tool group, enchantments}
-                }
-       --]]
-       ["default"] = {
-               "steel, bronze, mese, diamond",
-               {"axe", "choppy", "durable, fast"}, 
-               {"pick", "cracky", "durable, fast"}, 
-               {"shovel", "crumbly", "durable, fast"},
-               {"sword", "fleshy", "sharp"}
-       },
-       ["3d_armor"] = {
-               "steel, bronze, gold, diamond",
-               {"boots", nil, "strong, speed"},
-               {"chestplate", nil, "strong"},
-               {"helmet", nil, "strong"},
-               {"leggings", nil, "strong"}
-       }
-}
+local function cap(S) return S:gsub("^%l", string.upper) end
 
-for mod, defs in pairs(tools) do
+for mod, defs in pairs(enchanting.tools) do
 for material in defs[1]:gmatch("[%w_]+") do
 for _, tooldef in next, defs, 1 do
 for enchant in tooldef[3]:gmatch("[%w_]+") do
index 18ef65fa399c04468c2f743107e109f7089ea7f6..238a0cdac23616afc71b87759ab72acbb8a3eaa9 100644 (file)
@@ -1,7 +1,8 @@
 local worktable = {}
 screwdriver = screwdriver or {}
 
-local nodes = { -- Nodes allowed to be cut. Registration format: [mod name] = [[ node names ]].
+-- Nodes allowed to be cut. Registration format: [mod name] = [[ node names ]].
+worktable.nodes = {
        ["default"] = [[
                wood            tree            cobble           desert_stone
                junglewood      jungletree      mossycobble      stonebrick
@@ -26,7 +27,8 @@ local nodes = { -- Nodes allowed to be cut. Registration format: [mod name] = [[
        ]],
 }
 
-local defs = {
+-- Nodeboxes definitions.
+worktable.defs = {
        -- Name       Yield   X  Y   Z  W   H  L
        {"nanoslab",    16, { 0, 0,  0, 8,  1, 8  }},
        {"micropanel",  16, { 0, 0,  0, 16, 1, 8  }},
@@ -305,7 +307,7 @@ function worktable.put(pos, listname, _, stack)
                        return stack:get_count()
                end
        end
-       if (listname == "input" and worktable.allowed(nodes[mod], node)) or
+       if (listname == "input" and worktable.allowed(worktable.nodes[mod], node)) or
                        (listname == "hammer" and stackname == "xdecor:hammer") or
                        listname == "storage" or listname == "trash" then
                if listname == "trash" then trash_delete(pos) end
@@ -343,7 +345,7 @@ function worktable.get_output(inv, input, name)
        end
 
        local output = {}
-       for _, n in pairs(defs) do
+       for _, n in pairs(worktable.defs) do
                local count = math.min(n[2] * input:get_count(), input:get_stack_max())
                local item = name.."_"..n[1]
                if not n[3] then item = "stairs:"..n[1].."_"..name:match(":(.*)") end
@@ -373,7 +375,7 @@ function worktable.on_take(pos, listname, index, stack)
                        inv:set_list("forms", {})
                end
        elseif listname == "forms" then
-               input:take_item(math.ceil(stack:get_count() / defs[index][2]))
+               input:take_item(math.ceil(stack:get_count() / worktable.defs[index][2]))
                inv:set_stack("input", 1, input)
                worktable.get_output(inv, input, input:get_name())
        end
@@ -399,8 +401,8 @@ xdecor.register("worktable", {
        allow_metadata_inventory_move = worktable.move
 })
 
-for _, d in pairs(defs) do
-for mod, n in pairs(nodes) do
+for _, d in pairs(worktable.defs) do
+for mod, n in pairs(worktable.nodes) do
 for name in n:gmatch("[%w_]+") do
        local ndef = minetest.registered_nodes[mod..":"..name]
        if ndef and d[3] then
@@ -472,7 +474,7 @@ for name in n:gmatch("[%w_]+") do
                                                        if not x[3] then
                                                                newnode = mod..":"..name
                                                        else
-                                                               newnode = mod..":"..name.."_"..defs[x[3]][1]
+                                                               newnode = mod..":"..name.."_"..worktable.defs[x[3]][1]
                                                        end
                                                end
                                        end