From 8bf1609cccba24e2516ecb98dbf694b91fe697bf Mon Sep 17 00:00:00 2001 From: Zughy <63455151+Zughy@users.noreply.github.com> Date: Fri, 12 Aug 2022 11:17:37 +0200 Subject: [PATCH] Fix crash when crafting callbacks return strings (#12685) Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com> --- builtin/game/register.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/builtin/game/register.lua b/builtin/game/register.lua index ee4edabbf..8b6f5b990 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -303,14 +303,16 @@ end function core.on_craft(itemstack, player, old_craft_list, craft_inv) for _, func in ipairs(core.registered_on_crafts) do - itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack + -- cast to ItemStack since func() could return a string + itemstack = ItemStack(func(itemstack, player, old_craft_list, craft_inv) or itemstack) end return itemstack end function core.craft_predict(itemstack, player, old_craft_list, craft_inv) for _, func in ipairs(core.registered_craft_predicts) do - itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack + -- cast to ItemStack since func() could return a string + itemstack = ItemStack(func(itemstack, player, old_craft_list, craft_inv) or itemstack) end return itemstack end