Some cleaning
This commit is contained in:
parent
734b09b69f
commit
8afb51dae8
|
@ -2,7 +2,7 @@ local replacements = {fuel = {}}
|
||||||
local http = ...
|
local http = ...
|
||||||
|
|
||||||
IMPORT("maxn", "copy", "insert", "sort", "match", "sub")
|
IMPORT("maxn", "copy", "insert", "sort", "match", "sub")
|
||||||
IMPORT("true_str", "is_table", "valid_item", "table_merge", "table_replace", "rcp_eq")
|
IMPORT("true_str", "is_table", "valid_item", "table_merge", "table_replace", "table_eq")
|
||||||
IMPORT("fmt", "reg_items", "reg_aliases", "reg_nodes", "is_cube", "get_cube", "ItemStack")
|
IMPORT("fmt", "reg_items", "reg_aliases", "reg_nodes", "is_cube", "get_cube", "ItemStack")
|
||||||
IMPORT("is_group", "extract_groups", "item_has_groups", "groups_to_items", "get_group_stereotype")
|
IMPORT("is_group", "extract_groups", "item_has_groups", "groups_to_items", "get_group_stereotype")
|
||||||
|
|
||||||
|
@ -248,11 +248,7 @@ local old_clear_craft = core.clear_craft
|
||||||
core.clear_craft = function(def)
|
core.clear_craft = function(def)
|
||||||
old_clear_craft(def)
|
old_clear_craft(def)
|
||||||
|
|
||||||
if true_str(def) then
|
-- TODO: hide in crafting guide
|
||||||
return -- TODO
|
|
||||||
elseif is_table(def) then
|
|
||||||
return -- TODO
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function resolve_aliases(hash)
|
local function resolve_aliases(hash)
|
||||||
|
@ -274,7 +270,7 @@ local function resolve_aliases(hash)
|
||||||
local rcp_new = copy(i3.recipes_cache[newname][j])
|
local rcp_new = copy(i3.recipes_cache[newname][j])
|
||||||
rcp_new.output = oldname
|
rcp_new.output = oldname
|
||||||
|
|
||||||
if rcp_eq(rcp_old, rcp_new) then
|
if table_eq(rcp_old, rcp_new) then
|
||||||
similar = true
|
similar = true
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
|
@ -216,18 +216,22 @@ local function array_diff(t1, t2)
|
||||||
return diff
|
return diff
|
||||||
end
|
end
|
||||||
|
|
||||||
local function rcp_eq(rcp, rcp2)
|
local function table_eq(t1, t2)
|
||||||
if rcp.type ~= rcp2.type then return end
|
local ty1, ty2 = type(t1), type(t2)
|
||||||
if rcp.width ~= rcp2.width then return end
|
if ty1 ~= ty2 then return end
|
||||||
if #rcp.items ~= #rcp2.items then return end
|
|
||||||
if rcp.output ~= rcp2.output then return end
|
|
||||||
|
|
||||||
for i, item in pairs(rcp.items) do
|
if ty1 ~= "table" and ty2 ~= "table" then
|
||||||
if item ~= rcp2.items[i] then return end
|
return t1 == t2
|
||||||
end
|
end
|
||||||
|
|
||||||
for i, item in pairs(rcp2.items) do
|
for k, v in pairs(t1) do
|
||||||
if item ~= rcp.items[i] then return end
|
local v2 = t2[k]
|
||||||
|
if v2 == nil or not table_eq(v, v2) then return end
|
||||||
|
end
|
||||||
|
|
||||||
|
for k, v in pairs(t2) do
|
||||||
|
local v1 = t1[k]
|
||||||
|
if v1 == nil or not table_eq(v1, v) then return end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -764,7 +768,7 @@ local _ = {
|
||||||
is_table = is_table,
|
is_table = is_table,
|
||||||
table_merge = table_merge,
|
table_merge = table_merge,
|
||||||
table_replace = table_replace,
|
table_replace = table_replace,
|
||||||
rcp_eq = rcp_eq,
|
table_eq = table_eq,
|
||||||
array_diff = array_diff,
|
array_diff = array_diff,
|
||||||
|
|
||||||
-- Math
|
-- Math
|
||||||
|
|
|
@ -11,32 +11,39 @@ mt3:get_meta():set_string("description", "Worn Pick")
|
||||||
mt3:get_meta():set_string("color", "yellow")
|
mt3:get_meta():set_string("color", "yellow")
|
||||||
mt3:set_wear(10000)
|
mt3:set_wear(10000)
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft {
|
||||||
output = mt:to_string(),
|
output = mt:to_string(),
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
recipe = {
|
recipe = {
|
||||||
"default:wood",
|
"default:wood",
|
||||||
mt2:to_string(),
|
mt2:to_string(),
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft {
|
||||||
output = mt3:to_string(),
|
output = mt3:to_string(),
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
recipe = {
|
recipe = {
|
||||||
"default:pick_mese",
|
"default:pick_mese",
|
||||||
"default:diamond",
|
"default:diamond",
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
|
|
||||||
|
minetest.clear_craft {
|
||||||
|
recipe = {
|
||||||
|
{"default:sand", "default:sand"},
|
||||||
|
{"default:sand", "default:sand"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
i3.register_craft {
|
i3.register_craft {
|
||||||
url = "https://raw.githubusercontent.com/minetest-mods/i3/main/tests/test_online_recipe.json"
|
url = "https://raw.githubusercontent.com/minetest-mods/i3/main/tests/test_online_recipe.json"
|
||||||
}
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
result = "default:ladder_wood 2",
|
result = "default:ladder_wood 2",
|
||||||
items = {"default:copper_ingot 7, default:tin_ingot, default:steel_ingot 2"},
|
items = {"default:copper_ingot 7, default:tin_ingot, default:steel_ingot 2"},
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft {
|
i3.register_craft {
|
||||||
result = "default:tree",
|
result = "default:tree",
|
||||||
|
@ -56,7 +63,7 @@ i3.register_craft {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X",
|
"X",
|
||||||
"#",
|
"#",
|
||||||
|
@ -68,9 +75,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X",
|
"X",
|
||||||
"#X",
|
"#X",
|
||||||
|
@ -82,9 +89,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X",
|
"X",
|
||||||
},
|
},
|
||||||
|
@ -93,10 +100,10 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X#",
|
"X#",
|
||||||
},
|
},
|
||||||
|
@ -105,9 +112,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X#X",
|
"X#X",
|
||||||
},
|
},
|
||||||
|
@ -116,9 +123,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X#XX",
|
"X#XX",
|
||||||
},
|
},
|
||||||
|
@ -127,9 +134,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X#XX",
|
"X#XX",
|
||||||
"X#X",
|
"X#X",
|
||||||
|
@ -139,9 +146,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X#XX",
|
"X#XX",
|
||||||
"X#X",
|
"X#X",
|
||||||
|
@ -152,9 +159,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X##XX",
|
"X##XX",
|
||||||
},
|
},
|
||||||
|
@ -163,9 +170,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X##X#X",
|
"X##X#X",
|
||||||
},
|
},
|
||||||
|
@ -174,9 +181,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X##X#X",
|
"X##X#X",
|
||||||
"",
|
"",
|
||||||
|
@ -187,9 +194,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -201,9 +208,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass 2",
|
['X'] = "default:glass 2",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -215,9 +222,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -230,9 +237,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -245,10 +252,10 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -262,9 +269,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -278,9 +285,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -294,9 +301,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -310,9 +317,9 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
||||||
i3.register_craft({
|
i3.register_craft {
|
||||||
grid = {
|
grid = {
|
||||||
"X #",
|
"X #",
|
||||||
" ## ",
|
" ## ",
|
||||||
|
@ -328,4 +335,4 @@ i3.register_craft({
|
||||||
['X'] = "default:glass",
|
['X'] = "default:glass",
|
||||||
},
|
},
|
||||||
result = "default:mese 3",
|
result = "default:mese 3",
|
||||||
})
|
}
|
||||||
|
|
Ŝarĝante…
Reference in New Issue