VaultData 5.47.0
The state of a vault (vanilla VaultServerData and VaultSharedData): the players it rewarded, the reward being ejected, the item it shows and the players near it that can open it.
Bedrock saves it in the "data" tag of the block entity. Rewarded players are kept by UUID (saved in "pm_rewarded_player_uuids"); the actor IDs of Bedrock's "rewarded_players" (worlds from Bedrock) are kept as they are. Timers are server ticks and are not saved: a loaded vault updates at once.
Constants
MAX_REWARDED_PLAYERS
public const MAX_REWARDED_PLAYERS = 128Players remembered at most; the oldest are forgotten (vanilla VaultServerData.MAX_REWARD_PLAYERS).
TAG_DISPLAY_ITEM
public const TAG_DISPLAY_ITEM = "display_item"TAG_ITEMS_TO_EJECT
public const TAG_ITEMS_TO_EJECT = "items_to_eject"TAG_REWARDED_PLAYERS
public const TAG_REWARDED_PLAYERS = "rewarded_players"TAG_REWARDED_PLAYER_UUIDS
public const TAG_REWARDED_PLAYER_UUIDS = "pm_rewarded_player_uuids"UUIDs of the players the vault rewarded (PocketMine).
TAG_STATE_UPDATING_RESUMES_AT
public const TAG_STATE_UPDATING_RESUMES_AT = "state_updating_resumes_at"TAG_TOTAL_EJECTIONS_NEEDED
public const TAG_TOTAL_EJECTIONS_NEEDED = "total_ejections_needed"Properties
$lastInsertFailTimestamp
public int $lastInsertFailTimestampServer tick of the last refused key sound.
$stateUpdatingResumesAt
public int $stateUpdatingResumesAtServer tick before which the state isn't updated (vanilla state_updating_resumes_at).
Methods
addRewardedPlayer()
public function addRewardedPlayer(string $uuid) : voidRemembers a rewarded player (vanilla addToRewardedPlayers), forgetting the oldest beyond VaultData::MAX_REWARDED_PLAYERS.
clearSharedDirty()
public function clearSharedDirty() : voidgetConnectedPlayers()
public function getConnectedPlayers() : arraygetDisplayItem()
public function getDisplayItem() : ?\pocketmine\item\ItemgetItemsToEject()
public function getItemsToEject() : arrayItems left to eject, the next one last.
getNextItemToEject()
public function getNextItemToEject() : ?\pocketmine\item\ItemgetRewardedPlayers()
public function getRewardedPlayers() : arraygetTotalEjectionsNeeded()
public function getTotalEjectionsNeeded() : inthasConnectedPlayers()
public function hasConnectedPlayers() : boolhasRewardedPlayer()
public function hasRewardedPlayer(string $uuid) : boolisSharedDirty()
public function isSharedDirty() : boolmarkEjectionFinished()
public function markEjectionFinished() : voidpopNextItemToEject()
public function popNextItemToEject() : ?\pocketmine\item\ItemreadSaveData()
public function readSaveData(\pocketmine\nbt\tag\CompoundTag $nbt) : voidsetConnectedPlayers()
public function setConnectedPlayers(array $players) : voidSets the players near the vault (UUID => entity ID); those it rewarded already are left out (vanilla updateConnectedPlayersWithinRange).
setDisplayItem()
public function setDisplayItem(?\pocketmine\item\Item $item) : voidsetItemsToEject()
public function setItemsToEject(array $items) : voidwriteSaveData()
public function writeSaveData(\pocketmine\nbt\tag\CompoundTag $nbt) : void