forked from Reload/techage_modpack
40 lines
993 B
Lua
40 lines
993 B
Lua
--
|
|
-- Script to check recipe overlaps
|
|
--
|
|
local Recipes = {}
|
|
|
|
|
|
local function recipe_key(items)
|
|
local tbl = {}
|
|
for idx = 1,9 do
|
|
tbl[#tbl + 1] = items[idx] or "#"
|
|
end
|
|
return table.concat(tbl, "-")
|
|
end
|
|
|
|
minetest.after(1, function()
|
|
for name,_ in pairs(minetest.registered_items) do
|
|
local mod = string.split(name, ":")[1]
|
|
if mod == "techage" or mod == "signs_bot" or mod == "vm16" or mod == "beduino" then
|
|
local recipes = minetest.get_all_craft_recipes(name)
|
|
if recipes then
|
|
for _,recipe in ipairs(recipes) do
|
|
if recipe and recipe.items then
|
|
--print(dump(recipe.items))
|
|
local key = recipe_key(recipe.items)
|
|
if Recipes[key] then
|
|
if not string.find(name, "slab") and not string.find(name, "stair") then
|
|
local text = Recipes[key].." and "..name.." have the same incredients"
|
|
minetest.log("error", text)
|
|
end
|
|
end
|
|
Recipes[key] = name
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
print ("[techage] Recipe checker loaded")
|