29class FurnaceContainerManagerModel :
public ::ContainerManagerModel {
32 using FilterFunction = ::std::function<::FilterResult(
::ItemInstance const&,
bool)>;
37 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockPos;
38 ::ll::TypedStorage<4, 4, int> mLastTickCount;
39 ::ll::TypedStorage<4, 4, int> mLastLitTime;
40 ::ll::TypedStorage<4, 4, int> mLastLitDuration;
41 ::ll::TypedStorage<4, 4, int> mLastStoredXP;
42 ::ll::TypedStorage<4, 4, int> mLastInputId;
43 ::ll::TypedStorage<4, 4, int> mLastInputAux;
44 ::ll::TypedStorage<8, 128, ::ItemInstance> mLastCraftedItem;
45 ::ll::TypedStorage<8, 32, ::std::string> mLastOutputName;
46 ::ll::TypedStorage<4, 4, int> mLastResultDisplayId;
47 ::ll::TypedStorage<1, 1, ::BlockActorType const> mBlockActorType;
48 ::ll::TypedStorage<1, 1, ::ContainerEnumName const> mIngredientContainerName;
49 ::ll::TypedStorage<8, 48, ::HashedString const> mRecipeTag;
50 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::Recipe>>> mRecipeBook;
51 ::ll::TypedStorage<1, 1, bool> mSmeltableFilterOn;
52 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
53 ::ll::TypedStorage<8, 32, ::std::string> mCaseFoldedSearchString;
54 ::ll::TypedStorage<4, 4, int> mNumFoodRecipes;
55 ::ll::TypedStorage<4, 4, int> mNumBlocksRecipes;
56 ::ll::TypedStorage<4, 4, int> mNumItemsRecipes;
61 FurnaceContainerManagerModel();
66 virtual ~FurnaceContainerManagerModel() ;
68 virtual ::std::vector<::ItemStack> getItemCopies()
const ;
70 virtual void setSlot(
int slot,
::ItemStack const& item,
bool) ;
72 virtual ::ItemStack
const& getSlot(
int slot)
const ;
74 virtual void setData(
int id,
int value) ;
76 virtual bool isValid(
float pickRange) ;
78 virtual void broadcastChanges() ;
80 virtual ::ContainerScreenContext _postInit() ;
82 virtual void _onDynamicContainerContentsChanged() ;
88 MCAPI FurnaceContainerManagerModel(::ContainerID containerId,
::Player& player,
::BlockPos const& blockPos);
90 MCAPI FurnaceContainerManagerModel(
92 ::SharedTypes::Legacy::ContainerType containerType,
93 ::BlockActorType blockActorType,
94 ::ContainerID containerId,
99 MCAPI ::FilterResult _filterByInventory(
::ItemInstance const& item,
bool includeCursorItem)
const;
101 MCAPI ::FilterResult _filterByText(
::ItemInstance const& item, ::TextSearchMode searchMode)
const;
104 _filterByTextAndInventory(
::ItemInstance const& item,
bool includeCursorItem, ::TextSearchMode searchMode)
const;
106 MCAPI
bool _foundInStartOfAnyWord(::std::string
const& itemName)
const;
108 MCAPI ::FurnaceBlockActor* _getFurnaceEntity();
112 MCAPI
void _populateRecipeBook();
114 MCAPI
void _updateResultSlotInfo();
117 MCAPI
void fireItemAcquiredEvent(
::ItemInstance const& itemInstance,
int count);
121 MCAPI
int getBurnProgress(
int max);
123 MCAPI
int getLitProgress(
int max);
126 MCAPI ::std::vector<::ItemInstance> getUnlockedRecipeIngredientsForResult(
::ItemInstance const& item)
const;
129 MCAPI
bool isFinished(::std::string& outputName,
int& outputId,
int& outputAuxValue);
132 MCAPI ::IngredientSearchInfo searchIngredientInContainers(
134 ::std::vector<::ContainerModel*>
const& containers
137 MCAPI
void setIsFiltering(
bool smeltableFilterOn);
140 MCAPI
void setSearchString(::std::string
const& searchString);
147 MCAPI
void* $ctor(::ContainerID containerId,
::Player& player,
::BlockPos const& blockPos);
151 ::SharedTypes::Legacy::ContainerType containerType,
152 ::BlockActorType blockActorType,
153 ::ContainerID containerId,
168 MCAPI ::std::vector<::ItemStack> $getItemCopies()
const;
170 MCAPI
void $setSlot(
int slot,
::ItemStack const& item,
bool);
172 MCAPI ::ItemStack
const& $getSlot(
int slot)
const;
174 MCAPI
void $setData(
int id,
int value);
176 MCAPI
bool $isValid(
float pickRange);
178 MCAPI
void $broadcastChanges();
180 MCAPI ::ContainerScreenContext $_postInit();
182 MCAPI
void $_onDynamicContainerContentsChanged();
190 MCAPI
static void** $vftable();
Definition ContainerScreenContext.h:19