Fix game crashing when crafting fireworks (#1230) (#1240)

This commit is contained in:
iris 2026-03-15 18:13:03 -05:00 committed by GitHub
parent 15ea3dc85c
commit b27cb536a5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -37,6 +37,7 @@ void FireworksRecipe::ReleaseThreadStorage()
void FireworksRecipe::setResultItem(shared_ptr<ItemInstance> item) void FireworksRecipe::setResultItem(shared_ptr<ItemInstance> item)
{ {
ThreadStorage *tls = static_cast<ThreadStorage *>(TlsGetValue(tlsIdx)); ThreadStorage *tls = static_cast<ThreadStorage *>(TlsGetValue(tlsIdx));
if (tls == nullptr) tls = tlsDefault;
tls->resultItem = item; tls->resultItem = item;
} }
@ -269,6 +270,7 @@ bool FireworksRecipe::matches(shared_ptr<CraftingContainer> craftSlots, Level *l
shared_ptr<ItemInstance> FireworksRecipe::assemble(shared_ptr<CraftingContainer> craftSlots) shared_ptr<ItemInstance> FireworksRecipe::assemble(shared_ptr<CraftingContainer> craftSlots)
{ {
ThreadStorage *tls = static_cast<ThreadStorage *>(TlsGetValue(tlsIdx)); ThreadStorage *tls = static_cast<ThreadStorage *>(TlsGetValue(tlsIdx));
if (tls == nullptr) tls = tlsDefault;
return tls->resultItem->copy(); return tls->resultItem->copy();
//return resultItem->copy(); //return resultItem->copy();
} }
@ -281,6 +283,7 @@ int FireworksRecipe::size()
const ItemInstance *FireworksRecipe::getResultItem() const ItemInstance *FireworksRecipe::getResultItem()
{ {
ThreadStorage *tls = static_cast<ThreadStorage *>(TlsGetValue(tlsIdx)); ThreadStorage *tls = static_cast<ThreadStorage *>(TlsGetValue(tlsIdx));
if (tls == nullptr) tls = tlsDefault;
return tls->resultItem.get(); return tls->resultItem.get();
//return resultItem.get(); //return resultItem.get();
} }