26class BeaconBlockActor :
public ::VanillaBlockActor,
public ::Container {
29 using BeaconBeamSections = ::std::vector<::BeaconBeamSection>;
34 ::ll::TypedStorage<8, 24, ::std::vector<::BeaconBeamSection>> mBeamSections;
35 ::ll::TypedStorage<4, 4, float> mBeamRot;
36 ::ll::TypedStorage<4, 4, int> mNumLevels;
37 ::ll::TypedStorage<4, 4, int> mNumLevelsSet;
38 ::ll::TypedStorage<4, 4, int> mBlockRefreshCounter;
39 ::ll::TypedStorage<4, 4, int> mPrimaryEffectId;
40 ::ll::TypedStorage<4, 4, int> mSecondaryEffectId;
41 ::ll::TypedStorage<4, 4, int> mPrimaryEffectTier;
42 ::ll::TypedStorage<4, 4, int> mSecondaryEffectTier;
43 ::ll::TypedStorage<8, 24, ::std::vector<::MobEffect const*>> mBeaconEffects;
44 ::ll::TypedStorage<8, 24, ::std::vector<::std::vector<::MobEffect const*>>> mTierEffects;
45 ::ll::TypedStorage<1, 1, bool> mPermanentlyRendered;
46 ::ll::TypedStorage<1, 1, bool> mClientRenderingNeedsUpdate;
47 ::ll::TypedStorage<1, 1, bool> mIsBlockBaseLoaded;
57 virtual ~BeaconBlockActor() =
default;
65 virtual bool hasAlphaLayer()
const ;
67 virtual bool isPermanentlyRendered()
const ;
69 virtual bool isWithinRenderDistance(
::Vec3 const& cameraPosition)
const ;
71 virtual ::ItemStack
const& getItem(
int slot)
const ;
73 virtual void setItem(
int slot,
::ItemStack const& item) ;
75 virtual void removeItem(
int slot,
int count) ;
77 virtual ::std::string getName()
const ;
79 virtual int getContainerSize()
const ;
81 virtual int getMaxStackSize()
const ;
83 virtual void startOpen(
::Actor&) ;
85 virtual void stopOpen(
::Actor& actor) ;
87 virtual void serverInitItemStackIds(
90 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
93 virtual ::Container* getContainer() ;
95 virtual ::Container
const* getContainer()
const ;
97 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource& region) ;
105 MCAPI BeaconBlockActor(
::BlockPos const& pos,
bool permanentlyRendered);
107 MCAPI
int _getEffectTier(
int effectId)
const;
110 _notifyBeamSectionsChange(
::BlockSource& region, ::std::vector<::BeaconBeamSection>
const& oldBeamSections);
126 MCAPI
bool setSecondaryEffect(
int effectId);
138 MCAPI
void* $ctor(
::BlockPos const& pos,
bool permanentlyRendered);
150 MCFOLD
bool $hasAlphaLayer()
const;
152 MCAPI
bool $isPermanentlyRendered()
const;
154 MCAPI
bool $isWithinRenderDistance(
::Vec3 const& cameraPosition)
const;
156 MCFOLD ::ItemStack
const& $getItem(
int slot)
const;
158 MCFOLD
void $setItem(
int slot,
::ItemStack const& item);
160 MCFOLD
void $removeItem(
int slot,
int count);
162 MCAPI ::std::string $getName()
const;
164 MCFOLD
int $getContainerSize()
const;
166 MCFOLD
int $getMaxStackSize()
const;
168 MCFOLD
void $startOpen(
::Actor&);
170 MCFOLD
void $stopOpen(
::Actor& actor);
172 MCFOLD
void $serverInitItemStackIds(
175 ::std::function<
void(
int,
::ItemStack const&)> onNetIdChanged
178 MCFOLD ::Container* $getContainer();
180 MCFOLD ::Container
const* $getContainer()
const;
182 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(
::BlockSource& region);
Definition SaveContext.h:5