#[non_exhaustive]pub enum CodecKind {
Show 60 variants
VarInt,
VarLong,
Nbt,
Boolean,
Byte,
UnsignedByte,
Short,
UnsignedShort,
Int,
Long,
Float,
Double,
Position,
Angle,
LpVec3,
TeleportFlags,
SoundEvent,
ChatType,
ChatDecoration,
TypeStruct,
Slot,
HashedSlot,
DataComponent,
StructuredComponent,
SlotDisplay,
LightData,
LightArray,
Uuid,
BitSet,
FixedBitSet,
Optional,
PrefixedOptional,
Either,
GameProfile,
GameProfileProperty,
ResolvableProfile,
PartialProfile,
DebugSubscriptionEvent,
DebugSubscriptionUpdate,
DebugSubscriptionData,
DebugPathNode,
DebugStructureInfo,
RecipeDisplay,
ShapedRecipeGrid,
EntityMetadata,
EntityMetadataEntry,
EntityMetadataValue,
Particle,
VibrationSource,
RegistryId,
Array,
ByteArray,
PrefixedArray,
Enum,
IdOr,
IdSet,
String,
Identifier,
TextComponent,
JsonTextComponent,
}Expand description
Identifies the protocol codec that reported an error.
A CodecError stores the codec that originally reported the error and may
also store enclosing codecs as additional context. Protocol descriptions are
based on the Minecraft Java Edition protocol packet format.
Signed integer codecs use two’s-complement representation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
VarInt
A variable-length, two’s-complement signed 32-bit integer.
Values range from -2,147,483,648 through 2,147,483,647.
VarLong
A variable-length, two’s-complement signed 64-bit integer.
Values range from -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807.
Nbt
A complete Named Binary Tag value.
The value is encoded and decoded using fastnbt.
Boolean
A boolean encoded as 0x00 for false or 0x01 for true.
Byte
A two’s-complement signed 8-bit integer from -128 through 127.
UnsignedByte
An unsigned 8-bit integer from 0 through 255.
Short
A two’s-complement signed 16-bit integer from -32,768 through 32,767.
UnsignedShort
An unsigned 16-bit integer from 0 through 65,535.
Int
A two’s-complement signed 32-bit integer from -2,147,483,648 through 2,147,483,647.
Long
A two’s-complement signed 64-bit integer from -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807.
Float
A big-endian IEEE-754 single-precision floating-point number.
Double
A big-endian IEEE-754 double-precision floating-point number.
Position
A block position packed into a 64-bit integer.
The x, z, and y coordinates occupy 26, 26, and 12 bits respectively.
Angle
A rotation angle encoded in 1/256 turn steps.
LpVec3
Three quantized doubles packed with a shared scale factor.
TeleportFlags
An Int bit field controlling relative teleportation behavior.
SoundEvent
A named sound with an optional fixed playback range.
ChatType
A direct chat type containing chat and narration decorations.
ChatDecoration
A chat type decoration containing a translation key, parameters, and style.
TypeStruct
A structure encoded field-by-field in declaration order.
Slot
An inventory item stack and its data component patch.
HashedSlot
An optional item stack whose added component values are CRC32C hashes.
DataComponent
A typed data component attached to an item stack.
StructuredComponent
The payload of a typed data component.
SlotDisplay
A typed, potentially recursive recipe slot display.
LightData
Chunk-section sky and block lighting masks and arrays.
LightArray
Exactly 2048 packed bytes containing 4096 four-bit light values.
Uuid
A 128-bit universally unique identifier.
BitSet
A length-prefixed bit set of packed 64-bit words.
FixedBitSet
A fixed-length bit set of packed bytes.
Optional
A value whose presence is determined by an enclosing protocol context.
PrefixedOptional
An optional value prefixed by an encoded boolean presence marker.
Either
A boolean-selected value of one of two protocol types.
GameProfile
A UUID, username, and bounded list of profile properties.
GameProfileProperty
One name, value, and optional signature in a game profile.
ResolvableProfile
A partial or complete game profile with optional skin overrides.
PartialProfile
The unresolved identity fields of a resolvable profile.
DebugSubscriptionEvent
A typed debug subscription event.
DebugSubscriptionUpdate
A typed debug subscription update.
DebugSubscriptionData
A payload selected by a debug subscription type.
DebugPathNode
One pathfinding node in debug subscription data.
DebugStructureInfo
Structure and piece bounding boxes in debug subscription data.
RecipeDisplay
A typed client recipe display.
ShapedRecipeGrid
A shaped recipe’s dimensions and rectangular ingredient array.
EntityMetadata
A terminated sequence of indexed entity metadata values.
EntityMetadataEntry
One indexed value in an entity metadata sequence.
EntityMetadataValue
A value selected by an entity metadata type ID.
Particle
A particle type ID and its type-specific payload.
VibrationSource
A source selected by a vibration particle’s position-source type ID.
RegistryId
A non-negative ID in a protocol registry.
Array
A sequence whose element count is supplied by protocol context.
ByteArray
A raw sequence of bytes whose length is supplied by protocol context.
PrefixedArray
A sequence prefixed by its element count as a VarInt.
Enum
A value selected from a fixed protocol enumeration.
IdOr
A registry ID or an inline protocol value.
IdSet
Registry IDs enumerated inline or referenced through a tag.
String
A UTF-8 string prefixed by its byte length as a VarInt.
The protocol limits both the UTF-8 payload size and the number of UTF-16 code units. Supplementary Unicode scalar values count as two UTF-16 code units. The general protocol limit is 32,767 UTF-16 code units and three UTF-8 bytes per permitted code unit; a particular field may impose a lower limit.
Identifier
A resource identifier encoded as a String.
The namespace permits [a-z0-9._-]; the value permits
[a-z0-9._/-]. See the protocol’s identifier format for details.
TextComponent
A text component encoded as an NBT tag.
Plain text-only components may use an NBT string tag. Components with styling, events, or other data use an NBT compound tag. See the text component format and NBT specification.
JsonTextComponent
A text component encoded as JSON in a protocol string.
Since Java Edition 1.20.3, the vanilla implementation permits up to 262,144 UTF-16 code units when decoding but refuses to encode more than 32,767. See the text component format.
Trait Implementations§
impl Copy for CodecKind
Source§impl Display for CodecKind
Formats a codec kind using its protocol name, such as VarInt or Boolean.
impl Display for CodecKind
Formats a codec kind using its protocol name, such as VarInt or Boolean.