1 local default_tool_enchantments = {"efficiency", "unbreaking", "silk_touch"}
2 local default_tool_materials = {"wood", "stone", "iron", "gold", "diamond"}
3 local default_tool = {enchantments = default_tool_enchantments, materials = default_tool_materials}
4 local default_armor_enchantments = {"unbreaking"}--, "protection"}
5 local default_armor_materials = {"leather", "chain", "iron", "gold", "diamond"}
6 local default_armor = {enchantments = default_armor_enchantments, materials = default_armor_materials}
9 lapis_itemstring = "mcl_dye:blue",
11 level_rarity_grade = 3,
12 enchantment_name_list = {},
14 book_offset = vector.new(0, 0.75, 0),
19 create_itemdef = function(def)
20 def.tool_capabilities.max_drop_level = -5000
21 def._silk_touch = true
27 create_itemdef = function(def, level)
28 def.tool_capabilities.damage_groups.fleshy = def.tool_capabilities.damage_groups.fleshy + (level + 1) / 2
34 create_itemdef = function(def, level)
35 local groupcaps = def.tool_capabilities.groupcaps
36 for _, groupcap in pairs(groupcaps) do
37 for i, t in pairs(groupcap.times) do
39 m = m + math.pow(level, 2) + 1
40 groupcap.times[i] = 1 / m
48 create_itemdef = function(def, level)
49 local toolcaps = def.tool_capabilities
50 local armor_uses = def.groups.mcl_armor_uses
53 local groupcaps = toolcaps.groupcaps
54 for _, groupcap in pairs(groupcaps) do
55 groupcap.uses = math.floor(groupcap.uses * (1 + level))
57 def.tool_capabilities.punch_attack_uses = math.floor(def.tool_capabilities.punch_attack_uses * (1 + level))
58 elseif armor_uses then
59 def.groups.mcl_armor_uses = math.floor(armor_uses / (0.6 + (0.4 / (level + 1))))
67 create_itemdef = function(def, level)
68 local groups = def.groups
69 groups.mcl_armor_points = groups.mcl_armor_points + (0.04 * level)
75 ["mcl_tools:pick"] = default_tool,
76 ["mcl_tools:axe"] = {materials = default_tool_materials, enchantments = {"efficiency", "unbreaking", "sharpness", "silk_touch"}},
77 ["mcl_tools:shovel"] = default_tool,
78 ["mcl_tools:sword"] = {materials = default_tool_materials, enchantments = {"unbreaking", "sharpness"}},
79 ["mcl_tools:hoe"] = {materials = default_tool_materials, enchantments = {"unbreaking", "silk_touch"}},
80 ["mcl_armor:helmet"] = default_armor,
81 ["mcl_armor:chestplate"] = default_armor,
82 ["mcl_armor:leggings"] = default_armor,
83 ["mcl_armor:boots"] = default_armor,
87 for k in pairs(mcl_enchanting.enchantments) do
88 table.insert(mcl_enchanting.enchantment_name_list, k)
91 local modpath = minetest.get_modpath("mcl_enchanting")
93 for _, f in pairs({"engine", "book", "table", "bookshelf_particles", "silk_touch"}) do
94 dofile(modpath .. "/" .. f .. ".lua")