#[non_exhaustive]pub enum CodecKind {
Show 13 variants
VarInt,
VarLong,
Boolean,
Byte,
UnsignedByte,
Short,
UnsignedShort,
Int,
Long,
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.
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.
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.