33 enum class Property : uchar {
38 CanRenderCustomName = 4,
42 using MapIdType = ::std::unordered_map<::std::string, ::BlockActorType>;
44 using MapTypeId = ::std::unordered_map<::BlockActorType, ::std::string>;
51 LLNDAPI
static std::shared_ptr<BlockActor> create(
class CompoundTag const& nbt);
53 LLNDAPI
static std::shared_ptr<BlockActor> create(
class CompoundTag const& nbt,
class BlockPos const& pos);
58 ::ll::TypedStorage<4, 4, int> mTickCount;
59 ::ll::TypedStorage<4, 4, int> mRepairCost;
60 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
61 ::ll::TypedStorage<4, 24, ::AABB> mBB;
62 ::ll::TypedStorage<1, 1, ::BlockActorRendererId> mRendererId;
63 ::ll::TypedStorage<1, 1, ::BlockActorType const> mType;
64 ::ll::TypedStorage<1, 1, ::Bedrock::EnumSet<::BlockActor::Property, 5>> mProperties;
65 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mCustomName;
66 ::ll::TypedStorage<8, 32, ::std::string> mFilteredCustomName;
67 ::ll::TypedStorage<8, 24, ::ActorTerrainInterlockData> mTerrainInterlockData;
77 virtual ~BlockActor();
91 virtual bool isPermanentlyRendered()
const;
93 virtual bool isWithinRenderDistance(
::Vec3 const& cameraPosition)
const;
101 virtual void onMove();
109 virtual void triggerEvent(
int b0,
int b1);
115 virtual bool hasAlphaLayer()
const;
121 virtual void getDebugText(
122 ::std::vector<::std::string>& outputInfo,
127 virtual ::Bedrock::Safety::RedactableString
const& getCustomName()
const;
129 virtual ::std::string getName()
const;
131 virtual void setFilteredNameTag(::std::string
const& filteredName);
135 virtual ::std::string getImmersiveReaderText(
::BlockSource& region);
137 virtual ::PistonBlockActor* getOwningPiston(
::BlockSource& region);
139 virtual ::PistonBlockActor
const* getOwningPiston(
::BlockSource& region)
const;
141 virtual ::Container* getContainer();
143 virtual ::Container
const* getContainer()
const;
145 virtual void eraseLootTable();
151 virtual void onSubChunkLoaded(
::LevelChunk&,
short,
bool);
153 virtual ::std::vector<::std::string> getUgcStrings(
::CompoundTag const& tag)
const;
155 virtual ::std::vector<::std::string> getFilteredUgcStrings(
::CompoundTag const& tag)
const;
157 virtual void setUgcStrings(
::CompoundTag& tag, ::std::vector<::std::string>
const& list)
const;
159 virtual void setFilteredUgcStrings(
::CompoundTag& tag, ::std::vector<::std::string>
const& list)
const;
165 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource& region);
169 virtual bool _playerCanUpdate(
::Player const& player)
const;
175 MCAPI BlockActor(::BlockActorType type,
::BlockPos const& pos, ::BlockActorRendererId rendererId);
177 MCAPI
void _loadCustomNameFromUpdatePacket(
::CompoundTag const& data);
180 MCAPI ::Bedrock::Safety::RedactableString getDisplayName()
const;
189 MCAPI static ::std::unordered_map<::BlockActorType, ::std::string>
const& _getClassIdMap();
191 MCAPI static ::std::shared_ptr<::BlockActor>
198 MCAPI
void* $ctor(::BlockActorType type,
::BlockPos const& pos, ::BlockActorRendererId rendererId);
222 MCFOLD
bool $isPermanentlyRendered()
const;
224 MCAPI
bool $isWithinRenderDistance(
::Vec3 const& cameraPosition)
const;
232 MCFOLD
void $onMove();
240 MCFOLD
void $triggerEvent(
int b0,
int b1);
246 MCFOLD
bool $hasAlphaLayer()
const;
252 MCAPI
void $getDebugText(
253 ::std::vector<::std::string>& outputInfo,
258 MCFOLD ::Bedrock::Safety::RedactableString
const& $getCustomName()
const;
260 MCFOLD ::std::string $getName()
const;
262 MCAPI
void $setFilteredNameTag(::std::string
const& filteredName);
266 MCFOLD ::std::string $getImmersiveReaderText(
::BlockSource& region);
268 MCFOLD ::PistonBlockActor* $getOwningPiston(
::BlockSource& region);
270 MCFOLD ::PistonBlockActor
const* $getOwningPiston(
::BlockSource& region)
const;
272 MCFOLD ::Container* $getContainer();
274 MCFOLD ::Container
const* $getContainer()
const;
276 MCFOLD
void $eraseLootTable();
282 MCFOLD
void $onSubChunkLoaded(
::LevelChunk&,
short,
bool);
284 MCFOLD ::std::vector<::std::string> $getUgcStrings(
::CompoundTag const& tag)
const;
286 MCFOLD ::std::vector<::std::string> $getFilteredUgcStrings(
::CompoundTag const& tag)
const;
288 MCFOLD
void $setUgcStrings(
::CompoundTag& tag, ::std::vector<::std::string>
const& list)
const;
290 MCFOLD
void $setFilteredUgcStrings(
::CompoundTag& tag, ::std::vector<::std::string>
const& list)
const;
296 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(
::BlockSource& region);
300 MCFOLD
bool $_playerCanUpdate(
::Player const& player)
const;
308 MCAPI
static void** $vftable();
Definition SaveContext.h:5