Files
MinecraftConsoles/Minecraft.World/FireworksRecipe.h
daoge b3feddfef3 feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict

* feat: TU19 (Dec 2014) Features & Content (#32)

* December 2014 files

* Working release build

* Fix compilation issues

* Add sound to Windows64Media

* Add DLC content and force Tutorial DLC

* Revert "Add DLC content and force Tutorial DLC"

This reverts commit 97a4399472.

* Disable broken light packing

* Disable breakpoint during DLC texture map load

Allows DLC loading but the DLC textures are still broken

* Fix post build not working

* ...

* fix vs2022 build

* fix cmake build

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-03-03 03:04:10 +08:00

46 lines
1.4 KiB
C++

#pragma once
#include "Recipy.h"
class FireworksRecipe : public Recipy
{
private:
//shared_ptr<ItemInstance> resultItem;
// 4J added so we can have separate contexts and rleBuf for different threads
class ThreadStorage
{
public:
shared_ptr<ItemInstance> resultItem;
ThreadStorage();
};
static DWORD tlsIdx;
static ThreadStorage *tlsDefault;
void setResultItem(shared_ptr<ItemInstance> item);
public:
// Each new thread that needs to use Compression will need to call one of the following 2 functions, to either create its own
// local storage, or share the default storage already allocated by the main thread
static void CreateNewThreadStorage();
static void UseDefaultThreadStorage();
static void ReleaseThreadStorage();
public:
FireworksRecipe();
bool matches(shared_ptr<CraftingContainer> craftSlots, Level *level);
shared_ptr<ItemInstance> assemble(shared_ptr<CraftingContainer> craftSlots);
int size();
const ItemInstance *getResultItem();
virtual const int getGroup() { return 0; }
// 4J-PB
virtual bool requires(int iRecipe) { return false; };
virtual void requires(INGREDIENTS_REQUIRED *pIngReq) {};
// 4J Added
static void updatePossibleRecipes(shared_ptr<CraftingContainer> craftSlots, bool *firework, bool *charge, bool *fade);
static bool isValidIngredient(shared_ptr<ItemInstance> item, bool firework, bool charge, bool fade);
};