Prevent using items partially used by Rotary Macerator

This commit is contained in:
2025-03-27 22:18:42 +01:00
parent cb43a7ab76
commit 6c9c69a308
2 changed files with 38 additions and 1 deletions

View File

@@ -237,8 +237,11 @@ function industrialtest.RotaryMacerator.activeUpdate(self,pos,elapsed,meta,inv)
local modifierSlot=inv:get_stack("modifier",1)
local modifierMeta=modifierSlot:get_meta()
local uses=result.uses
local replace=false
if modifierMeta:contains("uses") then
uses=modifierMeta:get_int("uses")
else
replace=true
end
uses=math.max(uses-1,0)
if uses==0 then
@@ -250,7 +253,12 @@ function industrialtest.RotaryMacerator.activeUpdate(self,pos,elapsed,meta,inv)
uses=result.uses
end
if not modifierSlot:is_empty() and not result.modifierLeftover then
local modifierDef=modifierSlot:get_definition()
modifierMeta:set_int("uses",uses)
modifierMeta:set_string("description",string.format("%s (%s: %d)",modifierDef.description,S("Uses"),uses))
end
if replace then
modifierSlot:set_name(result.stackLeftover)
end
inv:set_stack("modifier",1,modifierSlot)
end