28class BeaconBlockActor :
public ::BlockActor,
public ::Container {
31 using BeaconBeamSections = ::std::vector<::BeaconBeamSection>;
36 ::ll::TypedStorage<8, 24, ::std::vector<::BeaconBeamSection>> mBeamSections;
37 ::ll::TypedStorage<4, 4, float> mBeamRot;
38 ::ll::TypedStorage<4, 4, int> mNumLevels;
39 ::ll::TypedStorage<4, 4, int> mNumLevelsSet;
40 ::ll::TypedStorage<4, 4, int> mBlockRefreshCounter;
41 ::ll::TypedStorage<4, 4, int> mPrimaryEffectId;
42 ::ll::TypedStorage<4, 4, int> mSecondaryEffectId;
43 ::ll::TypedStorage<4, 4, int> mPrimaryEffectTier;
44 ::ll::TypedStorage<4, 4, int> mSecondaryEffectTier;
45 ::ll::TypedStorage<8, 24, ::std::vector<::MobEffect*>> mBeaconEffects;
46 ::ll::TypedStorage<8, 24, ::std::vector<::std::vector<::MobEffect*>>> mTierEffects;
47 ::ll::TypedStorage<1, 1, bool> mPermanentlyRendered;
48 ::ll::TypedStorage<1, 1, bool> mClientRenderingNeedsUpdate;
49 ::ll::TypedStorage<1, 1, bool> mIsBlockBaseLoaded;
59 virtual ~BeaconBlockActor() =
default;
67 virtual bool hasAlphaLayer()
const ;
69 virtual bool isPermanentlyRendered()
const ;
71 virtual bool isWithinRenderDistance(
::Vec3 const& cameraPosition)
const ;
73 virtual ::ItemStack
const& getItem(
int slot)
const ;
75 virtual void setItem(
int slot,
::ItemStack const& item) ;
77 virtual void removeItem(
int slot,
int count) ;
79 virtual ::std::string getName()
const ;
81 virtual int getContainerSize()
const ;
83 virtual int getMaxStackSize()
const ;
85 virtual void startOpen(
::Actor&) ;
87 virtual void stopOpen(
::Actor& actor) ;
89 virtual void serverInitItemStackIds(
92 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
95 virtual ::Container* getContainer() ;
97 virtual ::Container
const* getContainer()
const ;
99 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource& region) ;
107 MCAPI BeaconBlockActor(
::BlockPos const& pos,
bool permanentlyRendered);
112 _notifyBeamSectionsChange(
::BlockSource& region, ::std::vector<::BeaconBeamSection>
const& oldBeamSections);
116 MCAPI
bool _setEffect(
int effectId,
int& outEffectId,
int& outTier);
124 MCAPI ::CompoundTag getBeaconData(
::SaveContext const& saveContext);
126 MCAPI
bool isEffectAvailable(
int effectId)
const;
128 MCAPI
bool setSecondaryEffect(
int effectId);
134 MCAPI static ::BlockColor _getMediumColor(
::BlockType const& medium);
142 MCAPI
void* $ctor(
::BlockPos const& pos,
bool permanentlyRendered);
154 MCFOLD
bool $hasAlphaLayer()
const;
156 MCFOLD
bool $isPermanentlyRendered()
const;
158 MCAPI
bool $isWithinRenderDistance(
::Vec3 const& cameraPosition)
const;
160 MCFOLD ::ItemStack
const& $getItem(
int slot)
const;
162 MCFOLD
void $setItem(
int slot,
::ItemStack const& item);
164 MCFOLD
void $removeItem(
int slot,
int count);
166 MCAPI ::std::string $getName()
const;
168 MCFOLD
int $getContainerSize()
const;
170 MCFOLD
int $getMaxStackSize()
const;
172 MCFOLD
void $startOpen(
::Actor&);
174 MCFOLD
void $stopOpen(
::Actor& actor);
176 MCFOLD
void $serverInitItemStackIds(
179 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
182 MCFOLD ::Container* $getContainer();
184 MCFOLD ::Container
const* $getContainer()
const;
186 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(
::BlockSource& region);
196 MCAPI
static void** $vftableForBlockActor();
198 MCAPI
static void** $vftableForContainer();
Definition SaveContext.h:5