33class FurnaceBlockActor :
public ::BlockActor,
public ::Container {
46 ::ll::TypedStorage<4, 4, int> mLitTime;
47 ::ll::TypedStorage<4, 4, int> mLitDuration;
48 ::ll::TypedStorage<4, 4, int> mCookingProgress;
49 ::ll::TypedStorage<4, 4, uint> mStoredXP;
50 ::ll::TypedStorage<8, 456, ::ItemStack[3]> mItems;
51 ::ll::TypedStorage<1, 3, bool[3]> mDirty;
52 ::ll::TypedStorage<8, 64, ::std::unordered_set<::ActorUniqueID>> mActors;
53 ::ll::TypedStorage<8, 48, ::HashedString const> mRecipeTag;
54 ::ll::TypedStorage<4, 4, int const> mBurnInterval;
55 ::ll::TypedStorage<1, 1, bool> mOpenByLocalPlayer;
56 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSmeltSoundEvent;
57 ::ll::TypedStorage<4, 4, int> mSoundTick;
58 ::ll::TypedStorage<4, 4, int> mSoundTickTarget;
59 ::ll::TypedStorage<8, 8, ::Block const&> mUnlitFurnace;
60 ::ll::TypedStorage<8, 8, ::Block const&> mLitFurnace;
61 ::ll::TypedStorage<8, 128, ::ItemInstance> mLastFuelItem;
62 ::ll::TypedStorage<1, 1, bool> mNoDrop;
63 ::ll::TypedStorage<1, 1, bool> mNeedsLitStateFixup;
68 FurnaceBlockActor& operator=(FurnaceBlockActor
const&);
69 FurnaceBlockActor(FurnaceBlockActor
const&);
75 virtual ::ItemStack
const& getItem(
int slot)
const ;
77 virtual void setItem(
int slot,
::ItemStack const& item) ;
79 virtual ::std::string getName()
const ;
81 virtual int getMaxStackSize()
const ;
83 virtual int getContainerSize()
const ;
87 virtual void startOpen(
::Actor& actor) ;
89 virtual void stopOpen(
::Actor& actor) ;
91 virtual bool canPushInItem(
int slot,
int face,
::ItemStack const& item)
const ;
93 virtual bool canPullOutItem(
int slot,
int face,
::ItemStack const& item)
const ;
95 virtual ::Container* getContainer() ;
97 virtual ::Container
const* getContainer()
const ;
109 virtual void onMove() ;
111 virtual void serverInitItemStackIds(
114 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
119 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource& region) ;
123 virtual ~FurnaceBlockActor() ;
129 MCAPI FurnaceBlockActor(
130 ::BlockActorType blockActorType,
133 ::SharedTypes::Legacy::LevelSoundEvent smeltSound,
134 ::SharedTypes::Legacy::ContainerType containerType,
142 MCAPI
void burn(
::Recipes const& recipes);
144 MCAPI
bool canBurn(
::Recipes const& recipes);
148 MCAPI
void checkForSmeltEverythingAchievement(
::BlockSource& region);
150 MCAPI
int withdrawStoredXPReward();
156 MCAPI
static float _getXPRewardMultiplier(
::ItemStackBase const& item);
158 MCAPI
static int getAvailableFuelSetCount(
int slot,
::ItemStackBase const& item);
160 MCAPI
static float getBurnDuration(
::ItemStackBase const& itemInstance,
float burnInterval);
162 MCAPI
static float getItemBurnDuration(
::Item const& item,
float burnInterval);
164 MCAPI
static int getXPRewardFromSmeltingItems(
::ItemStackBase const& item,
int numItemsSmelted);
167 MCAPI
static bool isItemAllowedInFuelSlot(
int slot,
::ItemStackBase const& item,
int amount);
174 MCAPI static ::std::string
const& BURN_DURATION_KEY();
176 MCAPI static ::std::string
const& BURN_TIME_KEY();
178 MCAPI static ::std::string
const& COOK_TIME_KEY();
180 MCAPI static ::std::string
const& CUSTOM_NAME_KEY();
182 MCAPI static ::std::string
const& FILTERED_CUSTOM_NAME_KEY();
184 MCAPI static ::std::string
const& ITEMS_LIST_KEY();
186 MCAPI static ::std::string
const& LAST_FUEL_KEY();
188 MCAPI static ::std::string
const& SLOT_KEY();
190 MCAPI static ::std::string
const& STORED_XP_DEPRECATED_KEY();
192 MCAPI static ::std::string
const& STORED_XP_KEY();
199 ::BlockActorType blockActorType,
202 ::SharedTypes::Legacy::LevelSoundEvent smeltSound,
203 ::SharedTypes::Legacy::ContainerType containerType,
219 MCFOLD ::ItemStack
const& $getItem(
int slot)
const;
221 MCAPI
void $setItem(
int slot,
::ItemStack const& item);
223 MCAPI ::std::string $getName()
const;
225 MCFOLD
int $getMaxStackSize()
const;
227 MCFOLD
int $getContainerSize()
const;
231 MCAPI
void $startOpen(
::Actor& actor);
233 MCAPI
void $stopOpen(
::Actor& actor);
235 MCAPI
bool $canPushInItem(
int slot,
int face,
::ItemStack const& item)
const;
237 MCAPI
bool $canPullOutItem(
int slot,
int face,
::ItemStack const& item)
const;
239 MCFOLD ::Container* $getContainer();
241 MCFOLD ::Container
const* $getContainer()
const;
253 MCFOLD
void $onMove();
255 MCAPI
void $serverInitItemStackIds(
258 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
263 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(
::BlockSource& region);
273 MCAPI
static void** $vftableForContainer();
275 MCAPI
static void** $vftableForBlockActor();
Definition SaveContext.h:5