3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/ecs/WeakEntityRef.h"
7#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
8#include "mc/world/item/HandSlot.h"
9#include "mc/world/item/ItemStack.h"
10#include "mc/world/level/Tick.h"
11#include "mc/world/level/block/VaultBlockState.h"
12#include "mc/world/level/block/actor/VanillaBlockActor.h"
29class VaultBlockActor :
public ::VanillaBlockActor {
46 ::ll::TypedStorage<4, 4, float> currentSpin;
47 ::ll::TypedStorage<4, 4, float> previousSpin;
48 ::ll::TypedStorage<8, 24, ::WeakEntityRef> displayEntity;
56 ::ll::TypedStorage<8, 32, ::std::string> lootTable;
57 ::ll::TypedStorage<4, 4, float> activationRange;
58 ::ll::TypedStorage<4, 4, float> deactivationRange;
59 ::ll::TypedStorage<8, 152, ::ItemStack> keyItem;
60 ::ll::TypedStorage<8, 32, ::std::string> overrideLootTableToDisplay;
68 ::ll::TypedStorage<8, 8, ::Tick> stateUpdateResumesAt;
69 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> itemsToEject;
70 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> rewardedPlayers;
71 ::ll::TypedStorage<1, 1, bool> doesBlockNeedToBeSaved;
72 ::ll::TypedStorage<8, 8, ::Tick> serverTick;
73 ::ll::TypedStorage<8, 8, ::Tick> lastInsertFailTimestamp;
74 ::ll::TypedStorage<4, 4, int> totalEjectionsNeeded;
82 ::ll::TypedStorage<8, 152, ::ItemStack> displayItem;
83 ::ll::TypedStorage<8, 24, ::std::vector<::ActorRuntimeID>> connectedPlayers;
84 ::ll::TypedStorage<4, 4, float> connectedParticlesRange;
85 ::ll::TypedStorage<1, 1, bool> isSharedDataDirty;
96 MCNAPI
static void emitConnectedParticles(
124 ::VaultBlockState oldState,
125 ::VaultBlockState newState
132 ::SharedTypes::Legacy::LevelSoundEvent sound
158 ::ll::TypedStorage<8, 224, ::VaultBlockActor::VaultConfig> mConfig;
159 ::ll::TypedStorage<8, 32, ::VaultBlockActor::VaultClientData> mClientData;
160 ::ll::TypedStorage<8, 184, ::VaultBlockActor::VaultSharedData> mSharedData;
161 ::ll::TypedStorage<8, 88, ::VaultBlockActor::VaultServerData> mServerData;
171 virtual ~VaultBlockActor() ;
179 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(
::BlockSource&) ;
190 MCNAPI ::Actor* tryGetOrCreateDisplayEntity(
::BlockSource& region);
Definition ActorRuntimeID.h:5
Definition BlockActorDataPacket.h:19
Definition BlockSource.h:72
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition SaveContext.h:5
Definition VaultBlockActor.h:89
static MCAPI void removeDisplayEntity(::VaultBlockActor::VaultClientData &clientData)
Definition VaultBlockActor.h:109
static MCAPI void onTransitionBetweenStates(::BlockSource ®ion, ::BlockPos pos, ::VaultBlockActor::VaultConfig const &config, ::VaultBlockActor::VaultSharedData &sharedData, ::VaultBlockState oldState, ::VaultBlockState newState)
static MCAPI void updateConnectedPlayersWithinRange(::BlockSource ®ion, ::BlockPos pos, ::VaultBlockActor::VaultServerData const &serverData, ::VaultBlockActor::VaultSharedData &sharedData, float range)
static MCAPI void tryInsertKey(::BlockSource ®ion, ::Player &player, ::BlockPos pos, ::HandSlot handSlot, ::VaultBlockActor::VaultConfig const &config, ::VaultBlockActor::VaultSharedData &sharedData, ::VaultBlockActor::VaultServerData &serverData)
static MCAPI void cycleDisplayItemFromLootTable(::BlockSource ®ion, ::VaultBlockActor::VaultConfig const &config, ::VaultBlockActor::VaultSharedData &sharedData)
static MCAPI void playInsertFailSound(::BlockSource ®ion, ::BlockPos pos, ::VaultBlockActor::VaultServerData &serverData, ::SharedTypes::Legacy::LevelSoundEvent sound)
MCAPI void $_onUpdatePacket(::CompoundTag const &tag, ::BlockSource ®ion)
MCAPI void $load(::ILevel &level, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
MCAPI ::std::unique_ptr<::BlockActorDataPacket > $_getUpdatePacket(::BlockSource &)
MCAPI void * $ctor(::BlockPos const &pos)
MCAPI void $tick(::BlockSource ®ion)
MCAPI bool $save(::CompoundTag &tag, ::SaveContext const &saveContext) const
MCAPI VaultBlockActor(::BlockPos const &pos)
Definition ActorUniqueID.h:5
Definition VaultBlockActor.h:42
Definition VaultBlockActor.h:52
Definition VaultBlockActor.h:64
Definition VaultBlockActor.h:78