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<::ItemInstance>> 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 fromNetwork) ;
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(
90 ::SharedTypes::Legacy::ContainerType containerType,
91 ::BlockActorType blockActorType,
92 ::ContainerID containerId,
97 MCAPI ::FilterResult _filterByInventory(
::ItemInstance const& item,
bool includeCursorItem)
const;
99 MCAPI ::FilterResult _filterByText(
::ItemInstance const& item, ::TextSearchMode searchMode)
const;
101 MCAPI ::FurnaceBlockActor* _getFurnaceEntity();
108 MCAPI
void _populateRecipeBook();
110 MCAPI
void _updateResultSlotInfo();
113 MCAPI
void fireItemAcquiredEvent(
::ItemInstance const& itemInstance,
int count);
115 MCAPI
bool isFinished(::std::string& outputName,
int& outputId,
int& outputAuxValue);
118 MCAPI ::IngredientSearchInfo searchIngredientInContainers(
120 ::std::vector<::ContainerModel*>
const& containers
123 MCAPI
void setIsFiltering(
bool smeltableFilterOn);
126 MCAPI
void setSearchString(::std::string
const& searchString);
135 ::SharedTypes::Legacy::ContainerType containerType,
136 ::BlockActorType blockActorType,
137 ::ContainerID containerId,
152 MCAPI ::std::vector<::ItemStack> $getItemCopies()
const;
154 MCAPI
void $setSlot(
int slot,
::ItemStack const& item,
bool fromNetwork);
156 MCAPI ::ItemStack
const& $getSlot(
int slot)
const;
158 MCAPI
void $setData(
int id,
int value);
160 MCAPI
bool $isValid(
float pickRange);
162 MCAPI
void $broadcastChanges();
164 MCAPI ::ContainerScreenContext $_postInit();
166 MCAPI
void $_onDynamicContainerContentsChanged();
Definition ContainerScreenContext.h:17