mirror of
https://github.com/ZNixian/equivalent_exchange.git
synced 2024-11-21 22:33:44 +01:00
craft emc work except for groups
This commit is contained in:
parent
8caab933f6
commit
dd3f8dfff0
@ -41,7 +41,10 @@ local emcs = {
|
||||
mese_crystal = 425,
|
||||
-- Precise Value: 848
|
||||
diamond = 976,
|
||||
obsidian =
|
||||
|
||||
-- REDO VALUE HERE
|
||||
obsidian = 0,
|
||||
|
||||
nyancat = 3786750,
|
||||
nyancat_rainbow = 3786750,
|
||||
-- Exceptions --
|
||||
@ -52,7 +55,9 @@ local emcs = {
|
||||
},
|
||||
["bucket"] = {
|
||||
bucket_water = 275,
|
||||
bucket_lava =
|
||||
|
||||
-- REDO VALUE HERE
|
||||
bucket_lava = 0,
|
||||
},
|
||||
["farming"] = {
|
||||
seed_wheat = 20,
|
||||
@ -72,11 +77,81 @@ local emcs = {
|
||||
},
|
||||
}
|
||||
|
||||
-- Add all items to a table.
|
||||
local registered_items = {}
|
||||
local local_emcs = {}
|
||||
|
||||
for itemname, value in pairs(minetest.registered_items) do
|
||||
table.insert(registered_items, itemname)
|
||||
end
|
||||
|
||||
-- Add EMC values to raw materials.
|
||||
for modname, itemlist in pairs(emcs) do
|
||||
for itemname, emcvalue in pairs(itemlist) do
|
||||
minetest.override_item(modname..":"..itemname, {
|
||||
description = minetest.registered_items[modname..":"..itemname].description.."\nEMC Value: "..emcvalue,
|
||||
emc = emcvalue,
|
||||
for itemname, emcvalue in pairs(itemlist) do
|
||||
minetest.override_item(modname..":"..itemname, {
|
||||
description = minetest.registered_items[modname..":"..itemname].description.."\nEMC Value: "..emcvalue,
|
||||
emc = emcvalue,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
for i=1,10 do
|
||||
for _, itemname in pairs(registered_items) do
|
||||
if itemname ~= ""
|
||||
and itemname ~= ":"
|
||||
and minetest.get_all_craft_recipes(itemname) ~= nil
|
||||
and minetest.registered_items[itemname]
|
||||
and minetest.registered_items[itemname].emc == nil then
|
||||
|
||||
for _, recipe in pairs(minetest.get_all_craft_recipes(itemname)) do
|
||||
local emcvalue = 0
|
||||
|
||||
if recipe.type == "cooking" and minetest.registered_items[recipe.items[1].emc] ~= nil then
|
||||
emcvalue = minetest.registered_items[recipe.items[1]].emc * 1.5
|
||||
-- table.insert(exceptions, itemname)
|
||||
|
||||
else
|
||||
for _,item in pairs(recipe.items) do
|
||||
if string.sub(item,1,string.len("group:"))=="group:" then
|
||||
local current_emc = 0
|
||||
for _,definition in pairs(minetest.registered_nodes) do
|
||||
if definition.groups[item] and definition.emc ~= nil then
|
||||
if definition.emc < current_emc then
|
||||
current_emc = definition.emc
|
||||
|
||||
elseif current_emc == 0 then
|
||||
current_emc = definition.emc
|
||||
end
|
||||
end
|
||||
end
|
||||
emcvalue = current_emc
|
||||
elseif minetest.registered_items[item] and minetest.registered_items[item].emc then
|
||||
emcvalue = emcvalue + minetest.registered_items[item].emc
|
||||
else
|
||||
emcvalue = nil
|
||||
break
|
||||
end
|
||||
end
|
||||
output_number = recipe.output:split(" ")
|
||||
local craft_number
|
||||
if output_number[2] then
|
||||
craft_number = tonumber(output_number[2])
|
||||
else
|
||||
craft_number = 1
|
||||
end
|
||||
if emcvalue ~= nil then
|
||||
emcvalue = emcvalue / craft_number
|
||||
end
|
||||
end
|
||||
local_emcs[itemname] = emcvalue
|
||||
end
|
||||
end
|
||||
end
|
||||
for item, value in pairs(local_emcs) do
|
||||
minetest.override_item(item, {
|
||||
description = minetest.registered_items[item].description.."\nEMC Value: "..value,
|
||||
emc = value,
|
||||
})
|
||||
end
|
||||
local_emcs = {}
|
||||
end
|
Loading…
Reference in New Issue
Block a user