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);
179 MCAPI
void _saveCustomNameToUpdatePacket(
::CompoundTag& tag)
const;
182 MCAPI
bool canRenderCustomName()
const;
184 MCAPI
float distanceToSqr(
::Vec3 const& to)
const;
187 MCFOLD ::AABB
const& getAABB()
const;
190 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> getClientUpdatePacket(
::BlockSource& region);
192 MCAPI ::Bedrock::Safety::RedactableString getDisplayName()
const;
194 MCFOLD ::ActorTerrainInterlockData& getEntityTerrainInterlockData();
196 MCAPI ::std::string getFilteredNameTag()
const;
199 MCFOLD ::BlockPos
const& getPosition()
const;
202 MCFOLD ::BlockActorRendererId getRendererId()
const;
205 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> getServerUpdatePacket(
::BlockSource& region);
207 MCFOLD ::BlockActorType getType()
const;
209 MCAPI
bool hasCustomName()
const;
212 MCAPI
bool hasFilteredNameTag()
const;
215 MCAPI
bool isChanged()
const;
217 MCAPI
bool isCustomNameSaved()
const;
220 MCAPI
bool isInWorld()
const;
223 MCAPI
bool isMovable()
const;
225 MCFOLD
bool isType(::BlockActorType type)
const;
231 MCAPI
void setCanRenderCustomName(
bool value);
233 MCAPI
void setChanged();
235 MCAPI
void setCustomNameSaved(
bool saveCustomName);
237 MCAPI
void setMovable(
bool canMove);
243 MCAPI static ::std::unordered_map<::BlockActorType, ::std::string>
const& _getClassIdMap();
245 MCFOLD
static bool isType(::BlockActor& te, ::BlockActorType type);
247 MCAPI static ::std::shared_ptr<::BlockActor>
254 MCAPI
void* $ctor(::BlockActorType type,
::BlockPos const& pos, ::BlockActorRendererId rendererId);
278 MCFOLD
bool $isPermanentlyRendered()
const;
280 MCAPI
bool $isWithinRenderDistance(
::Vec3 const& cameraPosition)
const;
288 MCFOLD
void $onMove();
296 MCFOLD
void $triggerEvent(
int b0,
int b1);
302 MCFOLD
bool $hasAlphaLayer()
const;
308 MCAPI
void $getDebugText(
309 ::std::vector<::std::string>& outputInfo,
314 MCFOLD ::Bedrock::Safety::RedactableString
const& $getCustomName()
const;
316 MCFOLD ::std::string $getName()
const;
318 MCAPI
void $setFilteredNameTag(::std::string
const& filteredName);
322 MCFOLD ::std::string $getImmersiveReaderText(
::BlockSource& region);
324 MCFOLD ::PistonBlockActor* $getOwningPiston(
::BlockSource& region);
326 MCFOLD ::PistonBlockActor
const* $getOwningPiston(
::BlockSource& region)
const;
328 MCFOLD ::Container* $getContainer();
330 MCFOLD ::Container
const* $getContainer()
const;
332 MCFOLD
void $eraseLootTable();
338 MCFOLD
void $onSubChunkLoaded(
::LevelChunk&,
short,
bool);
340 MCFOLD ::std::vector<::std::string> $getUgcStrings(
::CompoundTag const& tag)
const;
342 MCFOLD ::std::vector<::std::string> $getFilteredUgcStrings(
::CompoundTag const& tag)
const;
344 MCFOLD
void $setUgcStrings(
::CompoundTag& tag, ::std::vector<::std::string>
const& list)
const;
346 MCFOLD
void $setFilteredUgcStrings(
::CompoundTag& tag, ::std::vector<::std::string>
const& list)
const;
352 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(
::BlockSource& region);
356 MCFOLD
bool $_playerCanUpdate(
::Player const& player)
const;
364 MCAPI
static void** $vftable();
Definition SaveContext.h:5