Skip to main content

CodecKind

Enum CodecKind 

Source
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

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§

Source§

impl Clone for CodecKind

Source§

fn clone(&self) -> CodecKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for CodecKind

Source§

impl Debug for CodecKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CodecKind

Formats a codec kind using its protocol name, such as VarInt or Boolean.

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for CodecKind

Source§

impl Hash for CodecKind

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for CodecKind

Source§

fn eq(&self, other: &CodecKind) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for CodecKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.