Cuberite
A lightweight, fast and extensible game server for Minecraft
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | List of all members
cWSSAnvil Class Reference

Implements the Anvil world storage schema. More...

#include <WSSAnvil.h>

Inheritance diagram for cWSSAnvil:
Inheritance graph
[legend]
Collaboration diagram for cWSSAnvil:
Collaboration graph
[legend]

Classes

class  cMCAFile
 

Public Member Functions

 cWSSAnvil (cWorld *a_World, int a_CompressionFactor)
 
virtual ~cWSSAnvil () override
 

Protected Types

enum  { MCA_MAX_CHUNKS = 32 * 32 , MCA_HEADER_SIZE = MCA_MAX_CHUNKS * 8 , MCA_CHUNK_HEADER_LENGTH = 5 }
 

Protected Member Functions

bool CheckBlockEntityType (const cParsedNBT &a_NBT, int a_TagIdx, const AStringVector &a_ExpectedTypes, Vector3i a_Pos)
 Returns true iff the "id" child tag inside the specified tag equals (case-sensitive) any of the specified expected types. More...
 
void ChunkLoadFailed (const cChunkCoords a_ChunkCoords, const AString &a_Reason, ContiguousByteBufferView a_ChunkDataToSave)
 Reports that the specified chunk failed to load and saves the chunk data to an external file. More...
 
AString DecodeSignLine (const AString &a_Line)
 Decodes the text contained within a sign. More...
 
bool GetBlockEntityNBTPos (const cParsedNBT &a_NBT, int a_TagIdx, Vector3i &a_AbsPos)
 Helper function for extracting the X, Y, and Z int subtags of a NBT compound; returns true if successful. More...
 
bool GetChunkData (const cChunkCoords &a_Chunk, ContiguousByteBuffer &a_Data)
 Gets chunk data from the correct file; locks file CS as needed. More...
 
virtual const AString GetName () const override
 
const std::byte * GetSectionData (const cParsedNBT &a_NBT, int a_Tag, const AString &a_ChildName, size_t a_Length)
 Copies a_Length bytes of data from the specified NBT Tag's Child into the a_Destination buffer. More...
 
void LoadArrowFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadBannerFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadBatFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadBeaconFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
OwnedBlockEntity LoadBedFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
bool LoadBiomeMapFromNBT (cChunkDef::BiomeMap &a_BiomeMap, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads the chunk's biome map into a_BiomeMap if biomes present and valid; returns false otherwise. More...
 
void LoadBlazeFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadBlockEntitiesFromNBT (cBlockEntities &a_BlockEntitites, const cParsedNBT &a_NBT, int a_Tag, const ChunkBlockData &a_BlockData)
 Loads the chunk's BlockEntities from NBT data (a_Tag is the Level\TileEntities list tag; may be -1) More...
 
OwnedBlockEntity LoadBlockEntityFromNBT (const cParsedNBT &a_NBT, int a_Tag, Vector3i a_Pos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
 Loads the data for a block entity from the specified NBT tag. More...
 
void LoadBoatFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadBrewingstandFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadCatFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadCaveSpiderFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadChestFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadChickenFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
virtual bool LoadChunk (const cChunkCoords &a_Chunk) override
 
bool LoadChunkFromData (const cChunkCoords &a_Chunk, ContiguousByteBufferView a_Data)
 Loads the chunk from the data (no locking needed) More...
 
bool LoadChunkFromNBT (const cChunkCoords &a_Chunk, const cParsedNBT &a_NBT, ContiguousByteBufferView a_RawChunkData)
 Loads the chunk from NBT data (no locking needed). More...
 
void LoadCodFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadCommandBlockFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadCowFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadCreeperFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadDispenserFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadDolphinFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadDonkeyFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
bool LoadDoublesListFromNBT (double *a_Doubles, int a_NumDoubles, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads an array of doubles of the specified length from the specified NBT list tag a_TagIdx; returns true if successful. More...
 
OwnedBlockEntity LoadDropperFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadDrownedFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadEggFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadElderGuardianFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadEnchantingTableFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
OwnedBlockEntity LoadEnderChestFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadEnderCrystalFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadEnderDragonFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadEndermanFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadEndermiteFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadEndPortalFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadEntitiesFromNBT (cEntityList &a_Entitites, const cParsedNBT &a_NBT, int a_Tag)
 Loads the chunk's entities from NBT data (a_Tag is the Level\Entities list tag; may be -1) More...
 
bool LoadEntityBaseFromNBT (cEntity &a_Entity, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads entity common data from the NBT compound; returns true if successful. More...
 
void LoadEntityFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_EntityTagIdx, std::string_view a_EntityName)
 
std::pair< AString, cUUIDLoadEntityOwner (const cParsedNBT &a_NBT, int a_TagIdx)
 Loads the owner name and UUID from the entity at the specified NBT tag. More...
 
void LoadEvokerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadExpOrbFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadFallingBlockFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadFireballFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadFireChargeFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
bool LoadFloatsListFromNBT (float *a_Floats, int a_NumFloats, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads an array of floats of the specified length from the specified NBT list tag a_TagIdx; returns true if successful. More...
 
OwnedBlockEntity LoadFlowerPotFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadFoxFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadFurnaceFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadGhastFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadGiantFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadGuardianFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadHangingFromNBT (cHangingEntity &a_Hanging, const cParsedNBT &a_NBT, int a_TagIdx)
 
bool LoadHeightMapFromNBT (cChunkDef::HeightMap &a_HeightMap, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads the chunk's height map into a_HeightMap if heights present and valid; returns false otherwise. More...
 
void LoadHoglinFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadHopperFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadHorseFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadHuskFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadIllusionerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadIronGolemFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadItemFrameFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
bool LoadItemFromNBT (cItem &a_Item, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads a cItem contents from the specified NBT tag; returns true if successful. More...
 
void LoadItemGridFromNBT (cItemGrid &a_ItemGrid, const cParsedNBT &a_NBT, int a_ItemsTagIdx, int s_SlotOffset=0)
 Loads contentents of an Items[] list tag into a cItemGrid ItemGrid begins at the specified slot offset Slots outside the ItemGrid range are ignored. More...
 
OwnedBlockEntity LoadJukeboxFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadLeashKnotFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadLeashToPosition (cMonster &a_Monster, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads the position to where is leashed the monster. More...
 
void LoadLlamaFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadMagmaCubeFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
std::shared_ptr< cMCAFileLoadMCAFile (const cChunkCoords &a_Chunk)
 Gets the correct MCA file either from cache or from disk, manages the m_MCAFiles cache; assumes m_CS is locked. More...
 
void LoadMinecartCFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadMinecartFFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadMinecartHFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadMinecartRFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadMinecartTFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadMobHeadFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
OwnedBlockEntity LoadMobSpawnerFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
bool LoadMonsterBaseFromNBT (cMonster &a_Monster, const cParsedNBT &a_NBT, int a_TagIdx)
 Loads monster common data from the NBT compound; returns true if successful. More...
 
void LoadMooshroomFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadMuleFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadNoteBlockFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadOcelotFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadOldMinecartFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPaintingFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPandaFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadParrotFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPhantomFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPickupFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPigFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPiglinBruteFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPiglinFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPillagerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadPolarBearFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
bool LoadProjectileBaseFromNBT (cProjectileEntity &a_Entity, const cParsedNBT &a_NBT, int a_TagIx)
 Loads projectile common data from the NBT compound; returns true if successful. More...
 
void LoadPufferfishFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadRabbitFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadRavagerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSalmonFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSheepFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadShulkerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
OwnedBlockEntity LoadSignFromNBT (const cParsedNBT &a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos)
 
void LoadSilverfishFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSkeletonFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSkeletonHorseFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSlimeFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSnowballFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSnowGolemFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSpiderFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSplashPotionFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadSquidFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadStrayFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadStriderFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadThrownEnderpearlFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadTNTFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadTraderLlamaFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadTropicalFishFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadTurtleFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadVexFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadVillagerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadVindicatorFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadWanderingTraderFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadWitchFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadWitherFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadWitherSkeletonFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadWolfFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadZoglinFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadZombieFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadZombieHorseFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadZombieVillagerFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
void LoadZombifiedPiglinFromNBT (cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx)
 
virtual bool SaveChunk (const cChunkCoords &a_Chunk) override
 
Compression::Result SaveChunkToData (const cChunkCoords &a_Chunk)
 Saves the chunk into datastream (no locking needed) More...
 
bool SetChunkData (const cChunkCoords &a_Chunk, ContiguousByteBufferView a_Data)
 Sets chunk data into the correct file; locks file CS as needed. More...
 

Protected Attributes

Compression::Compressor m_Compressor
 
cCriticalSection m_CS
 Protects m_Files against multithreaded access. More...
 
Compression::Extractor m_Extractor
 
std::list< std::shared_ptr< cMCAFile > > m_Files
 A MRU cache of MCA files. More...
 

Private Types

using Super = cWSSchema
 

Detailed Description

Implements the Anvil world storage schema.

Definition at line 26 of file WSSAnvil.h.

Member Typedef Documentation

◆ Super

using cWSSAnvil::Super = cWSSchema
private

Definition at line 29 of file WSSAnvil.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
MCA_MAX_CHUNKS 

Maximum number of chunks in an MCA file - also the count of the header items.

MCA_HEADER_SIZE 

The MCA header is 8 KiB.

MCA_CHUNK_HEADER_LENGTH 

There are 5 bytes of header in front of each chunk.

Definition at line 38 of file WSSAnvil.h.

Constructor & Destructor Documentation

◆ cWSSAnvil()

cWSSAnvil::cWSSAnvil ( cWorld a_World,
int  a_CompressionFactor 
)

Definition at line 83 of file WSSAnvil.cpp.

◆ ~cWSSAnvil()

cWSSAnvil::~cWSSAnvil ( )
overridevirtual

Definition at line 123 of file WSSAnvil.cpp.

Member Function Documentation

◆ CheckBlockEntityType()

bool cWSSAnvil::CheckBlockEntityType ( const cParsedNBT a_NBT,
int  a_TagIdx,
const AStringVector a_ExpectedTypes,
Vector3i  a_Pos 
)
protected

Returns true iff the "id" child tag inside the specified tag equals (case-sensitive) any of the specified expected types.

Logs a warning to the console on mismatch. The coordinates are used only for the log message.

Definition at line 836 of file WSSAnvil.cpp.

◆ ChunkLoadFailed()

void cWSSAnvil::ChunkLoadFailed ( const cChunkCoords  a_ChunkCoords,
const AString a_Reason,
ContiguousByteBufferView  a_ChunkDataToSave 
)
protected

Reports that the specified chunk failed to load and saves the chunk data to an external file.

Definition at line 173 of file WSSAnvil.cpp.

◆ DecodeSignLine()

AString cWSSAnvil::DecodeSignLine ( const AString a_Line)
protected

Decodes the text contained within a sign.

Older versions used direct string representation, newer versions use JSON-formatted string. This function extracts the text from either version.

Definition at line 807 of file WSSAnvil.cpp.

◆ GetBlockEntityNBTPos()

bool cWSSAnvil::GetBlockEntityNBTPos ( const cParsedNBT a_NBT,
int  a_TagIdx,
Vector3i a_AbsPos 
)
protected

Helper function for extracting the X, Y, and Z int subtags of a NBT compound; returns true if successful.

Definition at line 3846 of file WSSAnvil.cpp.

◆ GetChunkData()

bool cWSSAnvil::GetChunkData ( const cChunkCoords a_Chunk,
ContiguousByteBuffer a_Data 
)
protected

Gets chunk data from the correct file; locks file CS as needed.

Definition at line 224 of file WSSAnvil.cpp.

◆ GetName()

virtual const AString cWSSAnvil::GetName ( void  ) const
inlineoverrideprotectedvirtual

Definition at line 302 of file WSSAnvil.h.

◆ GetSectionData()

const std::byte * cWSSAnvil::GetSectionData ( const cParsedNBT a_NBT,
int  a_Tag,
const AString a_ChildName,
size_t  a_Length 
)
protected

Copies a_Length bytes of data from the specified NBT Tag's Child into the a_Destination buffer.

Definition at line 4021 of file WSSAnvil.cpp.

◆ LoadArrowFromNBT()

void cWSSAnvil::LoadArrowFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2119 of file WSSAnvil.cpp.

◆ LoadBannerFromNBT()

OwnedBlockEntity cWSSAnvil::LoadBannerFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 885 of file WSSAnvil.cpp.

◆ LoadBatFromNBT()

void cWSSAnvil::LoadBatFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2294 of file WSSAnvil.cpp.

◆ LoadBeaconFromNBT()

OwnedBlockEntity cWSSAnvil::LoadBeaconFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 916 of file WSSAnvil.cpp.

◆ LoadBedFromNBT()

OwnedBlockEntity cWSSAnvil::LoadBedFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 959 of file WSSAnvil.cpp.

◆ LoadBiomeMapFromNBT()

bool cWSSAnvil::LoadBiomeMapFromNBT ( cChunkDef::BiomeMap a_BiomeMap,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads the chunk's biome map into a_BiomeMap if biomes present and valid; returns false otherwise.

Definition at line 466 of file WSSAnvil.cpp.

◆ LoadBlazeFromNBT()

void cWSSAnvil::LoadBlazeFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2314 of file WSSAnvil.cpp.

◆ LoadBlockEntitiesFromNBT()

void cWSSAnvil::LoadBlockEntitiesFromNBT ( cBlockEntities a_BlockEntitites,
const cParsedNBT a_NBT,
int  a_Tag,
const ChunkBlockData a_BlockData 
)
protected

Loads the chunk's BlockEntities from NBT data (a_Tag is the Level\TileEntities list tag; may be -1)

Definition at line 566 of file WSSAnvil.cpp.

◆ LoadBlockEntityFromNBT()

OwnedBlockEntity cWSSAnvil::LoadBlockEntityFromNBT ( const cParsedNBT a_NBT,
int  a_Tag,
Vector3i  a_Pos,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta 
)
protected

Loads the data for a block entity from the specified NBT tag.

Returns the loaded block entity, or nullptr upon failure.

Definition at line 621 of file WSSAnvil.cpp.

◆ LoadBoatFromNBT()

void cWSSAnvil::LoadBoatFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1740 of file WSSAnvil.cpp.

◆ LoadBrewingstandFromNBT()

OwnedBlockEntity cWSSAnvil::LoadBrewingstandFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 984 of file WSSAnvil.cpp.

◆ LoadCatFromNBT()

void cWSSAnvil::LoadCatFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2334 of file WSSAnvil.cpp.

◆ LoadCaveSpiderFromNBT()

void cWSSAnvil::LoadCaveSpiderFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2343 of file WSSAnvil.cpp.

◆ LoadChestFromNBT()

OwnedBlockEntity cWSSAnvil::LoadChestFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1042 of file WSSAnvil.cpp.

◆ LoadChickenFromNBT()

void cWSSAnvil::LoadChickenFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2363 of file WSSAnvil.cpp.

◆ LoadChunk()

bool cWSSAnvil::LoadChunk ( const cChunkCoords a_Chunk)
overrideprotectedvirtual

Definition at line 133 of file WSSAnvil.cpp.

◆ LoadChunkFromData()

bool cWSSAnvil::LoadChunkFromData ( const cChunkCoords a_Chunk,
ContiguousByteBufferView  a_Data 
)
protected

Loads the chunk from the data (no locking needed)

Definition at line 305 of file WSSAnvil.cpp.

◆ LoadChunkFromNBT()

bool cWSSAnvil::LoadChunkFromNBT ( const cChunkCoords a_Chunk,
const cParsedNBT a_NBT,
ContiguousByteBufferView  a_RawChunkData 
)
protected

Loads the chunk from NBT data (no locking needed).

a_RawChunkData is the raw (compressed) chunk data, used for offloading when chunk loading fails.

Definition at line 345 of file WSSAnvil.cpp.

◆ LoadCodFromNBT()

void cWSSAnvil::LoadCodFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2383 of file WSSAnvil.cpp.

◆ LoadCommandBlockFromNBT()

OwnedBlockEntity cWSSAnvil::LoadCommandBlockFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1066 of file WSSAnvil.cpp.

◆ LoadCowFromNBT()

void cWSSAnvil::LoadCowFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2392 of file WSSAnvil.cpp.

◆ LoadCreeperFromNBT()

void cWSSAnvil::LoadCreeperFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2412 of file WSSAnvil.cpp.

◆ LoadDispenserFromNBT()

OwnedBlockEntity cWSSAnvil::LoadDispenserFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1104 of file WSSAnvil.cpp.

◆ LoadDolphinFromNBT()

void cWSSAnvil::LoadDolphinFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2432 of file WSSAnvil.cpp.

◆ LoadDonkeyFromNBT()

void cWSSAnvil::LoadDonkeyFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2441 of file WSSAnvil.cpp.

◆ LoadDoublesListFromNBT()

bool cWSSAnvil::LoadDoublesListFromNBT ( double *  a_Doubles,
int  a_NumDoubles,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads an array of doubles of the specified length from the specified NBT list tag a_TagIdx; returns true if successful.

Definition at line 3810 of file WSSAnvil.cpp.

◆ LoadDropperFromNBT()

OwnedBlockEntity cWSSAnvil::LoadDropperFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1127 of file WSSAnvil.cpp.

◆ LoadDrownedFromNBT()

void cWSSAnvil::LoadDrownedFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2450 of file WSSAnvil.cpp.

◆ LoadEggFromNBT()

void cWSSAnvil::LoadEggFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2230 of file WSSAnvil.cpp.

◆ LoadElderGuardianFromNBT()

void cWSSAnvil::LoadElderGuardianFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2459 of file WSSAnvil.cpp.

◆ LoadEnchantingTableFromNBT()

OwnedBlockEntity cWSSAnvil::LoadEnchantingTableFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1150 of file WSSAnvil.cpp.

◆ LoadEnderChestFromNBT()

OwnedBlockEntity cWSSAnvil::LoadEnderChestFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1175 of file WSSAnvil.cpp.

◆ LoadEnderCrystalFromNBT()

void cWSSAnvil::LoadEnderCrystalFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1760 of file WSSAnvil.cpp.

◆ LoadEnderDragonFromNBT()

void cWSSAnvil::LoadEnderDragonFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2468 of file WSSAnvil.cpp.

◆ LoadEndermanFromNBT()

void cWSSAnvil::LoadEndermanFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2488 of file WSSAnvil.cpp.

◆ LoadEndermiteFromNBT()

void cWSSAnvil::LoadEndermiteFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2508 of file WSSAnvil.cpp.

◆ LoadEndPortalFromNBT()

OwnedBlockEntity cWSSAnvil::LoadEndPortalFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1190 of file WSSAnvil.cpp.

◆ LoadEntitiesFromNBT()

void cWSSAnvil::LoadEntitiesFromNBT ( cEntityList a_Entitites,
const cParsedNBT a_NBT,
int  a_Tag 
)
protected

Loads the chunk's entities from NBT data (a_Tag is the Level\Entities list tag; may be -1)

Definition at line 532 of file WSSAnvil.cpp.

◆ LoadEntityBaseFromNBT()

bool cWSSAnvil::LoadEntityBaseFromNBT ( cEntity a_Entity,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads entity common data from the NBT compound; returns true if successful.

Definition at line 3624 of file WSSAnvil.cpp.

◆ LoadEntityFromNBT()

void cWSSAnvil::LoadEntityFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_EntityTagIdx,
std::string_view  a_EntityName 
)
protected

Definition at line 1571 of file WSSAnvil.cpp.

◆ LoadEntityOwner()

std::pair< AString, cUUID > cWSSAnvil::LoadEntityOwner ( const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads the owner name and UUID from the entity at the specified NBT tag.

Returns a pair of {name, uuid}. If the entity is not owned, name is an empty string and uuid is nil.

Definition at line 3571 of file WSSAnvil.cpp.

◆ LoadEvokerFromNBT()

void cWSSAnvil::LoadEvokerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2517 of file WSSAnvil.cpp.

◆ LoadExpOrbFromNBT()

void cWSSAnvil::LoadExpOrbFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1984 of file WSSAnvil.cpp.

◆ LoadFallingBlockFromNBT()

void cWSSAnvil::LoadFallingBlockFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1806 of file WSSAnvil.cpp.

◆ LoadFireballFromNBT()

void cWSSAnvil::LoadFireballFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2246 of file WSSAnvil.cpp.

◆ LoadFireChargeFromNBT()

void cWSSAnvil::LoadFireChargeFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2262 of file WSSAnvil.cpp.

◆ LoadFloatsListFromNBT()

bool cWSSAnvil::LoadFloatsListFromNBT ( float *  a_Floats,
int  a_NumFloats,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads an array of floats of the specified length from the specified NBT list tag a_TagIdx; returns true if successful.

Definition at line 3828 of file WSSAnvil.cpp.

◆ LoadFlowerPotFromNBT()

OwnedBlockEntity cWSSAnvil::LoadFlowerPotFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1205 of file WSSAnvil.cpp.

◆ LoadFoxFromNBT()

void cWSSAnvil::LoadFoxFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2526 of file WSSAnvil.cpp.

◆ LoadFurnaceFromNBT()

OwnedBlockEntity cWSSAnvil::LoadFurnaceFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1244 of file WSSAnvil.cpp.

◆ LoadGhastFromNBT()

void cWSSAnvil::LoadGhastFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2535 of file WSSAnvil.cpp.

◆ LoadGiantFromNBT()

void cWSSAnvil::LoadGiantFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2555 of file WSSAnvil.cpp.

◆ LoadGuardianFromNBT()

void cWSSAnvil::LoadGuardianFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2575 of file WSSAnvil.cpp.

◆ LoadHangingFromNBT()

void cWSSAnvil::LoadHangingFromNBT ( cHangingEntity a_Hanging,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2013 of file WSSAnvil.cpp.

◆ LoadHeightMapFromNBT()

bool cWSSAnvil::LoadHeightMapFromNBT ( cChunkDef::HeightMap a_HeightMap,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads the chunk's height map into a_HeightMap if heights present and valid; returns false otherwise.

Definition at line 496 of file WSSAnvil.cpp.

◆ LoadHoglinFromNBT()

void cWSSAnvil::LoadHoglinFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2641 of file WSSAnvil.cpp.

◆ LoadHopperFromNBT()

OwnedBlockEntity cWSSAnvil::LoadHopperFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1304 of file WSSAnvil.cpp.

◆ LoadHorseFromNBT()

void cWSSAnvil::LoadHorseFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2595 of file WSSAnvil.cpp.

◆ LoadHuskFromNBT()

void cWSSAnvil::LoadHuskFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2650 of file WSSAnvil.cpp.

◆ LoadIllusionerFromNBT()

void cWSSAnvil::LoadIllusionerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2659 of file WSSAnvil.cpp.

◆ LoadIronGolemFromNBT()

void cWSSAnvil::LoadIronGolemFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2668 of file WSSAnvil.cpp.

◆ LoadItemFrameFromNBT()

void cWSSAnvil::LoadItemFrameFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2041 of file WSSAnvil.cpp.

◆ LoadItemFromNBT()

bool cWSSAnvil::LoadItemFromNBT ( cItem a_Item,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads a cItem contents from the specified NBT tag; returns true if successful.

Doesn't load the Slot tag

Definition at line 673 of file WSSAnvil.cpp.

◆ LoadItemGridFromNBT()

void cWSSAnvil::LoadItemGridFromNBT ( cItemGrid a_ItemGrid,
const cParsedNBT a_NBT,
int  a_ItemsTagIdx,
int  s_SlotOffset = 0 
)
protected

Loads contentents of an Items[] list tag into a cItemGrid ItemGrid begins at the specified slot offset Slots outside the ItemGrid range are ignored.

Definition at line 779 of file WSSAnvil.cpp.

◆ LoadJukeboxFromNBT()

OwnedBlockEntity cWSSAnvil::LoadJukeboxFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1327 of file WSSAnvil.cpp.

◆ LoadLeashKnotFromNBT()

void cWSSAnvil::LoadLeashKnotFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2078 of file WSSAnvil.cpp.

◆ LoadLeashToPosition()

void cWSSAnvil::LoadLeashToPosition ( cMonster a_Monster,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads the position to where is leashed the monster.

Definition at line 3740 of file WSSAnvil.cpp.

◆ LoadLlamaFromNBT()

void cWSSAnvil::LoadLlamaFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2688 of file WSSAnvil.cpp.

◆ LoadMagmaCubeFromNBT()

void cWSSAnvil::LoadMagmaCubeFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2697 of file WSSAnvil.cpp.

◆ LoadMCAFile()

std::shared_ptr< cWSSAnvil::cMCAFile > cWSSAnvil::LoadMCAFile ( const cChunkCoords a_Chunk)
protected

Gets the correct MCA file either from cache or from disk, manages the m_MCAFiles cache; assumes m_CS is locked.

Definition at line 254 of file WSSAnvil.cpp.

◆ LoadMinecartCFromNBT()

void cWSSAnvil::LoadMinecartCFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1845 of file WSSAnvil.cpp.

◆ LoadMinecartFFromNBT()

void cWSSAnvil::LoadMinecartFFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1877 of file WSSAnvil.cpp.

◆ LoadMinecartHFromNBT()

void cWSSAnvil::LoadMinecartHFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1911 of file WSSAnvil.cpp.

◆ LoadMinecartRFromNBT()

void cWSSAnvil::LoadMinecartRFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1831 of file WSSAnvil.cpp.

◆ LoadMinecartTFromNBT()

void cWSSAnvil::LoadMinecartTFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1894 of file WSSAnvil.cpp.

◆ LoadMobHeadFromNBT()

OwnedBlockEntity cWSSAnvil::LoadMobHeadFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1433 of file WSSAnvil.cpp.

◆ LoadMobSpawnerFromNBT()

OwnedBlockEntity cWSSAnvil::LoadMobSpawnerFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1349 of file WSSAnvil.cpp.

◆ LoadMonsterBaseFromNBT()

bool cWSSAnvil::LoadMonsterBaseFromNBT ( cMonster a_Monster,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Loads monster common data from the NBT compound; returns true if successful.

Definition at line 3683 of file WSSAnvil.cpp.

◆ LoadMooshroomFromNBT()

void cWSSAnvil::LoadMooshroomFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2726 of file WSSAnvil.cpp.

◆ LoadMuleFromNBT()

void cWSSAnvil::LoadMuleFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2746 of file WSSAnvil.cpp.

◆ LoadNoteBlockFromNBT()

OwnedBlockEntity cWSSAnvil::LoadNoteBlockFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1507 of file WSSAnvil.cpp.

◆ LoadOcelotFromNBT()

void cWSSAnvil::LoadOcelotFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2755 of file WSSAnvil.cpp.

◆ LoadOldMinecartFromNBT()

void cWSSAnvil::LoadOldMinecartFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1716 of file WSSAnvil.cpp.

◆ LoadPaintingFromNBT()

void cWSSAnvil::LoadPaintingFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2096 of file WSSAnvil.cpp.

◆ LoadPandaFromNBT()

void cWSSAnvil::LoadPandaFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2809 of file WSSAnvil.cpp.

◆ LoadParrotFromNBT()

void cWSSAnvil::LoadParrotFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2818 of file WSSAnvil.cpp.

◆ LoadPhantomFromNBT()

void cWSSAnvil::LoadPhantomFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2827 of file WSSAnvil.cpp.

◆ LoadPickupFromNBT()

void cWSSAnvil::LoadPickupFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1928 of file WSSAnvil.cpp.

◆ LoadPigFromNBT()

void cWSSAnvil::LoadPigFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2836 of file WSSAnvil.cpp.

◆ LoadPiglinBruteFromNBT()

void cWSSAnvil::LoadPiglinBruteFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2878 of file WSSAnvil.cpp.

◆ LoadPiglinFromNBT()

void cWSSAnvil::LoadPiglinFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2869 of file WSSAnvil.cpp.

◆ LoadPillagerFromNBT()

void cWSSAnvil::LoadPillagerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2887 of file WSSAnvil.cpp.

◆ LoadPolarBearFromNBT()

void cWSSAnvil::LoadPolarBearFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2896 of file WSSAnvil.cpp.

◆ LoadProjectileBaseFromNBT()

bool cWSSAnvil::LoadProjectileBaseFromNBT ( cProjectileEntity a_Entity,
const cParsedNBT a_NBT,
int  a_TagIx 
)
protected

Loads projectile common data from the NBT compound; returns true if successful.

Definition at line 3788 of file WSSAnvil.cpp.

◆ LoadPufferfishFromNBT()

void cWSSAnvil::LoadPufferfishFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2905 of file WSSAnvil.cpp.

◆ LoadRabbitFromNBT()

void cWSSAnvil::LoadRabbitFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2914 of file WSSAnvil.cpp.

◆ LoadRavagerFromNBT()

void cWSSAnvil::LoadRavagerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2958 of file WSSAnvil.cpp.

◆ LoadSalmonFromNBT()

void cWSSAnvil::LoadSalmonFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2967 of file WSSAnvil.cpp.

◆ LoadSheepFromNBT()

void cWSSAnvil::LoadSheepFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2976 of file WSSAnvil.cpp.

◆ LoadShulkerFromNBT()

void cWSSAnvil::LoadShulkerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3022 of file WSSAnvil.cpp.

◆ LoadSignFromNBT()

OwnedBlockEntity cWSSAnvil::LoadSignFromNBT ( const cParsedNBT a_NBT,
int  a_TagIdx,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta,
Vector3i  a_Pos 
)
protected

Definition at line 1529 of file WSSAnvil.cpp.

◆ LoadSilverfishFromNBT()

void cWSSAnvil::LoadSilverfishFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3031 of file WSSAnvil.cpp.

◆ LoadSkeletonFromNBT()

void cWSSAnvil::LoadSkeletonFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3051 of file WSSAnvil.cpp.

◆ LoadSkeletonHorseFromNBT()

void cWSSAnvil::LoadSkeletonHorseFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3084 of file WSSAnvil.cpp.

◆ LoadSlimeFromNBT()

void cWSSAnvil::LoadSlimeFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3093 of file WSSAnvil.cpp.

◆ LoadSnowballFromNBT()

void cWSSAnvil::LoadSnowballFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2214 of file WSSAnvil.cpp.

◆ LoadSnowGolemFromNBT()

void cWSSAnvil::LoadSnowGolemFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3122 of file WSSAnvil.cpp.

◆ LoadSpiderFromNBT()

void cWSSAnvil::LoadSpiderFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3142 of file WSSAnvil.cpp.

◆ LoadSplashPotionFromNBT()

void cWSSAnvil::LoadSplashPotionFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2190 of file WSSAnvil.cpp.

◆ LoadSquidFromNBT()

void cWSSAnvil::LoadSquidFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3162 of file WSSAnvil.cpp.

◆ LoadStrayFromNBT()

void cWSSAnvil::LoadStrayFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3182 of file WSSAnvil.cpp.

◆ LoadStriderFromNBT()

void cWSSAnvil::LoadStriderFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3191 of file WSSAnvil.cpp.

◆ LoadThrownEnderpearlFromNBT()

void cWSSAnvil::LoadThrownEnderpearlFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 2278 of file WSSAnvil.cpp.

◆ LoadTNTFromNBT()

void cWSSAnvil::LoadTNTFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 1962 of file WSSAnvil.cpp.

◆ LoadTraderLlamaFromNBT()

void cWSSAnvil::LoadTraderLlamaFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3200 of file WSSAnvil.cpp.

◆ LoadTropicalFishFromNBT()

void cWSSAnvil::LoadTropicalFishFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3209 of file WSSAnvil.cpp.

◆ LoadTurtleFromNBT()

void cWSSAnvil::LoadTurtleFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3218 of file WSSAnvil.cpp.

◆ LoadVexFromNBT()

void cWSSAnvil::LoadVexFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3227 of file WSSAnvil.cpp.

◆ LoadVillagerFromNBT()

void cWSSAnvil::LoadVillagerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3236 of file WSSAnvil.cpp.

◆ LoadVindicatorFromNBT()

void cWSSAnvil::LoadVindicatorFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3284 of file WSSAnvil.cpp.

◆ LoadWanderingTraderFromNBT()

void cWSSAnvil::LoadWanderingTraderFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3293 of file WSSAnvil.cpp.

◆ LoadWitchFromNBT()

void cWSSAnvil::LoadWitchFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3302 of file WSSAnvil.cpp.

◆ LoadWitherFromNBT()

void cWSSAnvil::LoadWitherFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3322 of file WSSAnvil.cpp.

◆ LoadWitherSkeletonFromNBT()

void cWSSAnvil::LoadWitherSkeletonFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3348 of file WSSAnvil.cpp.

◆ LoadWolfFromNBT()

void cWSSAnvil::LoadWolfFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3368 of file WSSAnvil.cpp.

◆ LoadZoglinFromNBT()

void cWSSAnvil::LoadZoglinFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3444 of file WSSAnvil.cpp.

◆ LoadZombieFromNBT()

void cWSSAnvil::LoadZombieFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3453 of file WSSAnvil.cpp.

◆ LoadZombieHorseFromNBT()

void cWSSAnvil::LoadZombieHorseFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3486 of file WSSAnvil.cpp.

◆ LoadZombieVillagerFromNBT()

void cWSSAnvil::LoadZombieVillagerFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3528 of file WSSAnvil.cpp.

◆ LoadZombifiedPiglinFromNBT()

void cWSSAnvil::LoadZombifiedPiglinFromNBT ( cEntityList a_Entities,
const cParsedNBT a_NBT,
int  a_TagIdx 
)
protected

Definition at line 3495 of file WSSAnvil.cpp.

◆ SaveChunk()

bool cWSSAnvil::SaveChunk ( const cChunkCoords a_Chunk)
overrideprotectedvirtual

Definition at line 149 of file WSSAnvil.cpp.

◆ SaveChunkToData()

Compression::Result cWSSAnvil::SaveChunkToData ( const cChunkCoords a_Chunk)
protected

Saves the chunk into datastream (no locking needed)

Definition at line 332 of file WSSAnvil.cpp.

◆ SetChunkData()

bool cWSSAnvil::SetChunkData ( const cChunkCoords a_Chunk,
ContiguousByteBufferView  a_Data 
)
protected

Sets chunk data into the correct file; locks file CS as needed.

Definition at line 239 of file WSSAnvil.cpp.

Member Data Documentation

◆ m_Compressor

Compression::Compressor cWSSAnvil::m_Compressor
protected

Definition at line 95 of file WSSAnvil.h.

◆ m_CS

cCriticalSection cWSSAnvil::m_CS
protected

Protects m_Files against multithreaded access.

Definition at line 88 of file WSSAnvil.h.

◆ m_Extractor

Compression::Extractor cWSSAnvil::m_Extractor
protected

Definition at line 94 of file WSSAnvil.h.

◆ m_Files

std::list<std::shared_ptr<cMCAFile> > cWSSAnvil::m_Files
protected

A MRU cache of MCA files.

Protected against multithreaded access by m_CS.

Definition at line 92 of file WSSAnvil.h.


The documentation for this class was generated from the following files: