3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/shared_types/legacy/ContainerType.h"
8#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
9#include "mc/legacy/ActorUniqueID.h"
10#include "mc/world/Container.h"
11#include "mc/world/item/ItemInstance.h"
12#include "mc/world/item/ItemStack.h"
13#include "mc/world/level/block/actor/BlockActor.h"
14#include "mc/world/level/block/actor/BlockActorType.h"
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>> mPlayers;
53 ::ll::TypedStorage<8, 48, ::HashedString const> mRecipeTag;
54 ::ll::TypedStorage<4, 4, int const> mBurnInterval;
55 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSmeltSoundEvent;
56 ::ll::TypedStorage<4, 4, int> mSoundTick;
57 ::ll::TypedStorage<4, 4, int> mSoundTickTarget;
58 ::ll::TypedStorage<8, 8, ::Block const&> mUnlitFurnace;
59 ::ll::TypedStorage<8, 8, ::Block const&> mLitFurnace;
60 ::ll::TypedStorage<8, 128, ::ItemInstance> mLastFuelItem;
61 ::ll::TypedStorage<1, 1, bool> mNoDrop;
62 ::ll::TypedStorage<1, 1, bool> mNeedsLitStateFixup;
75 virtual ::ItemStack
const& getItem(
int slot)
const ;
78 virtual void setItem(
int modelSlot,
::ItemStack const& item) ;
81 virtual ::std::string getName()
const ;
84 virtual int getMaxStackSize()
const ;
87 virtual int getContainerSize()
const ;
93 virtual void startOpen(
::Player& player) ;
96 virtual void stopOpen(
::Player& player) ;
99 virtual bool canPushInItem(
int slot,
int face,
::ItemStack const& item)
const ;
102 virtual bool canPullOutItem(
int slot,
int face,
::ItemStack const& item)
const ;
105 virtual ::Container* getContainer() ;
108 virtual ::Container
const* getContainer()
const ;
126 virtual void onMove() ;
129 virtual void serverInitItemStackIds(
132 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
139 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource& region) ;
152 ::BlockActorType blockActorType,
155 ::SharedTypes::Legacy::LevelSoundEvent smeltSound,
156 ::SharedTypes::Legacy::ContainerType containerType,
221 ::BlockActorType blockActorType,
224 ::SharedTypes::Legacy::LevelSoundEvent smeltSound,
225 ::SharedTypes::Legacy::ContainerType containerType,
241 MCNAPI ::ItemStack
const&
$getItem(
int slot)
const;
280 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
Definition BlockActorDataPacket.h:19
Definition BlockActor.h:32
Definition BlockSource.h:67
Definition CompoundTag.h:13
Definition Container.h:30
Definition DataLoadHelper.h:20
Definition FurnaceBlockActor.h:33
MCAPI void $serverInitItemStackIds(int containerSlot, int count, ::std::function< void(int, ::ItemStack const &)> onNetIdChanged)
MCAPI void $startOpen(::Player &player)
MCAPI::std::string $getName() const
MCAPI int $getContainerSize() const
MCAPI ::std::unique_ptr<::BlockActorDataPacket > $_getUpdatePacket(::BlockSource ®ion)
MCAPI void $_onUpdatePacket(::CompoundTag const &data, ::BlockSource ®ion)
MCAPI void $setItem(int modelSlot, ::ItemStack const &item)
MCAPI void $load(::ILevel &level, ::CompoundTag const &base, ::DataLoadHelper &dataLoadHelper)
static MCAPI ::std::string const & ITEMS_LIST_KEY()
MCAPI void checkForAlternativeFuelAchievement(::BlockSource ®ion, ::ItemStack const &item)
static MCAPI ::std::string const & FILTERED_CUSTOM_NAME_KEY()
static MCAPI ::std::string const & BURN_DURATION_KEY()
MCAPI void $tick(::BlockSource ®ion)
static MCAPI void ** $vftableForContainer()
MCAPI void $fixupOnLoad(::LevelChunk &lc)
static MCAPI float _getXPRewardMultiplier(::ItemStackBase const &item)
MCAPI void checkForSmeltEverythingAchievement(::BlockSource ®ion)
MCAPI void $onCustomTagLoadDone(::BlockSource ®ion)
MCAPI::Container const * $getContainer() const
static MCAPI ::std::string const & CUSTOM_NAME_KEY()
static MCAPI float const & DEFAULT_SMELTING_TIME()
MCAPI bool $save(::CompoundTag &tag, ::SaveContext const &saveContext) const
static MCAPI ::std::string const & LAST_FUEL_KEY()
static MCAPI float getItemBurnDuration(::Item const &item, float burnInterval)
static MCAPI int const & BURN_INTERVAL()
static MCAPI ::std::string const & COOK_TIME_KEY()
MCAPI bool canBurn(::Recipes const &recipes)
static MCAPI int getXPRewardFromSmeltingItems(::ItemStackBase const &item, int numItemsSmelted)
MCAPI bool $canPushInItem(int slot, int face, ::ItemStack const &item) const
static MCAPI ::std::string const & SLOT_KEY()
MCAPI::ItemStack const & $getItem(int slot) const
static MCAPI int getAvailableFuelSetCount(int slot, ::ItemStackBase const &item)
static MCAPI ::std::string const & STORED_XP_KEY()
MCAPI bool $canPullOutItem(int slot, int face, ::ItemStack const &item) const
MCAPI void $onNeighborChanged(::BlockSource ®ion, ::BlockPos const &position)
MCAPI void $onRemoved(::BlockSource &)
MCAPI int $getMaxStackSize() const
static MCAPI ::std::string const & BURN_TIME_KEY()
MCAPI void $stopOpen(::Player &player)
static MCAPI ::std::string const & STORED_XP_DEPRECATED_KEY()
MCAPI void _tryBroadcastBurnSound(::BlockSource ®ion)
MCAPI void * $ctor(::BlockActorType blockActorType, ::BlockPos const &pos, ::HashedString const &recipeTag, ::SharedTypes::Legacy::LevelSoundEvent smeltSound, ::SharedTypes::Legacy::ContainerType containerType, int burnInterval, ::Block const &unlitFurnace, ::Block const &litFurnace)
MCAPI FurnaceBlockActor(::BlockActorType blockActorType, ::BlockPos const &pos, ::HashedString const &recipeTag, ::SharedTypes::Legacy::LevelSoundEvent smeltSound, ::SharedTypes::Legacy::ContainerType containerType, int burnInterval, ::Block const &unlitFurnace, ::Block const &litFurnace)
MCAPI void burn(::Recipes const &recipes)
MCAPI::Container * $getContainer()
MCAPI int withdrawStoredXPReward()
static MCAPI void ** $vftableForBlockActor()
static MCAPI float getBurnDuration(::ItemStackBase const &itemInstance, float burnInterval)
Definition HashedString.h:5
Definition ItemStackBase.h:35
Definition ItemStack.h:25
Definition LevelChunk.h:74
Definition SaveContext.h:5