27class FurnaceContainerManagerModel :
public ::ContainerManagerModel {
30 using FilterFunction = ::std::function<::FilterResult(
::ItemInstance const&,
bool)>;
35 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockPos;
36 ::ll::TypedStorage<4, 4, int> mLastTickCount;
37 ::ll::TypedStorage<4, 4, int> mLastLitTime;
38 ::ll::TypedStorage<4, 4, int> mLastLitDuration;
39 ::ll::TypedStorage<4, 4, int> mLastStoredXP;
40 ::ll::TypedStorage<4, 4, int> mLastInputId;
41 ::ll::TypedStorage<4, 4, int> mLastInputAux;
42 ::ll::TypedStorage<1, 1, ::BlockActorType const> mBlockActorType;
43 ::ll::TypedStorage<1, 1, ::ContainerEnumName const> mIngredientContainerName;
44 ::ll::TypedStorage<8, 48, ::HashedString const> mRecipeTag;
45 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::Recipe>>> mRecipeBook;
46 ::ll::TypedStorage<1, 1, bool> mSmeltableFilterOn;
47 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
48 ::ll::TypedStorage<8, 32, ::std::string> mCaseFoldedSearchString;
49 ::ll::TypedStorage<4, 4, int> mNumFoodRecipes;
50 ::ll::TypedStorage<4, 4, int> mNumBlocksRecipes;
51 ::ll::TypedStorage<4, 4, int> mNumItemsRecipes;
56 FurnaceContainerManagerModel();
61 virtual ~FurnaceContainerManagerModel() ;
63 virtual ::std::vector<::ItemStack> getItemCopies()
const ;
65 virtual void setSlot(
int slot,
::ItemStack const& item,
bool fromNetwork) ;
67 virtual ::ItemStack
const& getSlot(
int slot)
const ;
69 virtual void setData(
int id,
int value) ;
71 virtual bool isValid(
float pickRange) ;
73 virtual void broadcastChanges() ;
75 virtual ::ContainerScreenContext _postInit() ;
77 virtual void _onDynamicContainerContentsChanged() ;
83 MCAPI FurnaceContainerManagerModel(
85 ::SharedTypes::Legacy::ContainerType containerType,
86 ::BlockActorType blockActorType,
87 ::ContainerID containerId,
92 MCAPI ::FilterResult _filterByInventory(
::ItemInstance const& item,
bool includeCursorItem)
const;
96 MCAPI
void _populateRecipeBook();
99 MCAPI
void fireItemAcquiredEvent(
::ItemInstance const& itemInstance,
int count);
103 MCAPI
int getBurnProgress(
int max);
105 MCAPI
int getLitProgress(
int max);
108 MCAPI ::std::vector<::ItemInstance> getUnlockedRecipeIngredientsForResult(
::ItemInstance const& item)
const;
111 MCAPI
void grantExperienceForSmelting(
::ItemInstance const& item,
int count);
113 MCAPI
bool isFinished(::std::string& outputName,
int& outputId,
int& outputAuxValue);
116 MCAPI ::IngredientSearchInfo searchIngredientInContainers(
118 ::std::vector<::ContainerModel*>
const& containers
121 MCAPI
void setIsFiltering(
bool smeltableFilterOn);
124 MCAPI
void setSearchString(::std::string
const& searchString);
133 ::SharedTypes::Legacy::ContainerType containerType,
134 ::BlockActorType blockActorType,
135 ::ContainerID containerId,
150 MCAPI ::std::vector<::ItemStack> $getItemCopies()
const;
152 MCAPI
void $setSlot(
int slot,
::ItemStack const& item,
bool fromNetwork);
154 MCAPI ::ItemStack
const& $getSlot(
int slot)
const;
156 MCAPI
void $setData(
int id,
int value);
158 MCAPI
bool $isValid(
float pickRange);
160 MCAPI
void $broadcastChanges();
162 MCAPI ::ContainerScreenContext $_postInit();
164 MCAPI
void $_onDynamicContainerContentsChanged();
172 MCAPI
static void** $vftable();
Definition ContainerScreenContext.h:16