Files
BoxMoreFix/Box more!/42/media/lua/server/ConditionInheriter.lua
2026-02-20 20:25:01 -05:00

38 lines
1.2 KiB
Lua

require 'recipecode'
ConditionInheriter = ConditionInheriter or {}
function ConditionInheriter.FromConditionInheriter(craftRecipeData, player)
local items = craftRecipeData:getAllConsumedItems();
local results = craftRecipeData:getAllCreatedItems()
local box = items:get(0);
for i = 0, results:size() - 1 do
local resultItem = results:get(i);
if box:getModData()["condition" .. i] then
resultItem:setCondition(box:getModData()["condition" .. i])
end
end
end
function ConditionInheriter.ToConditionInheriter(craftRecipeData, player)
local results = craftRecipeData:getAllCreatedItems()
local items = craftRecipeData:getAllConsumedItems();
local box = results:get(0);
for i = 0, items:size() - 1 do
local item = items:get(i);
if item:getCondition() ~= item:getConditionMax() then
box:getModData()["condition" .. i] = item:getCondition();
end
end
end
if type(Recipe) == "table" then
if type(Recipe.OnCreate) ~= "table" then
Recipe.OnCreate = {}
end
Recipe.OnCreate.FromConditionInheriter = ConditionInheriter.FromConditionInheriter
Recipe.OnCreate.ToConditionInheriter = ConditionInheriter.ToConditionInheriter
end