Interface PacketCodecs


public interface PacketCodecs
A set of pre-defined packet codecs.
See Also:
Mappings:
Namespace Name
named net/minecraft/network/codec/PacketCodecs
intermediary net/minecraft/class_9135
official zl
  • Field Details

  • Method Details

    • byteArray

      static PacketCodec<ByteBuf,byte[]> byteArray(int maxLength)
      Returns a codec for a byte array with maximum length maxLength.
      Returns:
      a codec for a byte array with maximum length maxLength
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named byteArray Lnet/minecraft/network/codec/PacketCodecs;byteArray(I)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56895 Lnet/minecraft/class_9135;method_56895(I)Lnet/minecraft/class_9139;
      official a Lzl;a(I)Lzn;
    • string

      static PacketCodec<ByteBuf,String> string(int maxLength)
      Returns a codec for a string value with maximum length maxLength.
      Returns:
      a codec for a string value with maximum length maxLength
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named string Lnet/minecraft/network/codec/PacketCodecs;string(I)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56364 Lnet/minecraft/class_9135;method_56364(I)Lnet/minecraft/class_9139;
      official b Lzl;b(I)Lzn;
    • nbt

      Returns a codec for an NBT element.
      Returns:
      a codec for an NBT element
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named nbt Lnet/minecraft/network/codec/PacketCodecs;nbt(Ljava/util/function/Supplier;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56378 Lnet/minecraft/class_9135;method_56378(Ljava/util/function/Supplier;)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljava/util/function/Supplier;)Lzn;
    • nbtCompound

      static PacketCodec<ByteBuf,NbtCompound> nbtCompound(Supplier<NbtSizeTracker> sizeTracker)
      Mappings:
      Namespace Name Mixin selector
      named nbtCompound Lnet/minecraft/network/codec/PacketCodecs;nbtCompound(Ljava/util/function/Supplier;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57998 Lnet/minecraft/class_9135;method_57998(Ljava/util/function/Supplier;)Lnet/minecraft/class_9139;
      official b Lzl;b(Ljava/util/function/Supplier;)Lzn;
    • unlimitedCodec

      static <T> PacketCodec<ByteBuf,T> unlimitedCodec(com.mojang.serialization.Codec<T> codec)
      Returns a codec from DataFixerUpper codec codec.

      Internally, the data is serialized as an NBT element of unlimited size.

      Returns:
      a codec from DataFixerUpper codec codec
      Mappings:
      Namespace Name Mixin selector
      named unlimitedCodec Lnet/minecraft/network/codec/PacketCodecs;unlimitedCodec(Lcom/mojang/serialization/Codec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57987 Lnet/minecraft/class_9135;method_57987(Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lcom/mojang/serialization/Codec;)Lzn;
    • codec

      static <T> PacketCodec<ByteBuf,T> codec(com.mojang.serialization.Codec<T> codec)
      Returns a codec from DataFixerUpper codec codec.

      Internally, the data is serialized as an NBT element of up to 200000L bytes.

      Returns:
      a codec from DataFixerUpper codec codec
      Mappings:
      Namespace Name Mixin selector
      named codec Lnet/minecraft/network/codec/PacketCodecs;codec(Lcom/mojang/serialization/Codec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56368 Lnet/minecraft/class_9135;method_56368(Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_9139;
      official b Lzl;b(Lcom/mojang/serialization/Codec;)Lzn;
    • codec

      static <T> PacketCodec<ByteBuf,T> codec(com.mojang.serialization.Codec<T> codec, Supplier<NbtSizeTracker> sizeTracker)
      Mappings:
      Namespace Name Mixin selector
      named codec Lnet/minecraft/network/codec/PacketCodecs;codec(Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57988 Lnet/minecraft/class_9135;method_57988(Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lzn;
    • unlimitedRegistryCodec

      static <T> PacketCodec<RegistryByteBuf,T> unlimitedRegistryCodec(com.mojang.serialization.Codec<T> codec)
      Mappings:
      Namespace Name Mixin selector
      named unlimitedRegistryCodec Lnet/minecraft/network/codec/PacketCodecs;unlimitedRegistryCodec(Lcom/mojang/serialization/Codec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_58002 Lnet/minecraft/class_9135;method_58002(Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_9139;
      official c Lzl;c(Lcom/mojang/serialization/Codec;)Lzn;
    • registryCodec

      static <T> PacketCodec<RegistryByteBuf,T> registryCodec(com.mojang.serialization.Codec<T> codec)
      Mappings:
      Namespace Name Mixin selector
      named registryCodec Lnet/minecraft/network/codec/PacketCodecs;registryCodec(Lcom/mojang/serialization/Codec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56896 Lnet/minecraft/class_9135;method_56896(Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_9139;
      official d Lzl;d(Lcom/mojang/serialization/Codec;)Lzn;
    • registryCodec

      static <T> PacketCodec<RegistryByteBuf,T> registryCodec(com.mojang.serialization.Codec<T> codec, Supplier<NbtSizeTracker> sizeTracker)
      Mappings:
      Namespace Name Mixin selector
      named registryCodec Lnet/minecraft/network/codec/PacketCodecs;registryCodec(Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57997 Lnet/minecraft/class_9135;method_57997(Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lnet/minecraft/class_9139;
      official b Lzl;b(Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lzn;
    • optional

      static <B extends ByteBuf, V> PacketCodec<B,Optional<V>> optional(PacketCodec<B,V> codec)
      Returns a codec wrapping another codec, the value of which is optional.

      This can be used with PacketCodec.collect(net.minecraft.network.codec.PacketCodec.ResultFunction<B, V, O>) like codec.collect(PacketCodecs::optional).

      Returns:
      a codec wrapping another codec, the value of which is optional
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named optional Lnet/minecraft/network/codec/PacketCodecs;optional(Lnet/minecraft/network/codec/PacketCodec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56382 Lnet/minecraft/class_9135;method_56382(Lnet/minecraft/class_9139;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lzn;)Lzn;
    • readCollectionSize

      static int readCollectionSize(ByteBuf buf, int maxSize)
      Mappings:
      Namespace Name Mixin selector
      named readCollectionSize Lnet/minecraft/network/codec/PacketCodecs;readCollectionSize(Lio/netty/buffer/ByteBuf;I)I
      intermediary method_57989 Lnet/minecraft/class_9135;method_57989(Lio/netty/buffer/ByteBuf;I)I
      official a Lzl;a(Lio/netty/buffer/ByteBuf;I)I
    • writeCollectionSize

      static void writeCollectionSize(ByteBuf buf, int size, int maxSize)
      Mappings:
      Namespace Name Mixin selector
      named writeCollectionSize Lnet/minecraft/network/codec/PacketCodecs;writeCollectionSize(Lio/netty/buffer/ByteBuf;II)V
      intermediary method_57990 Lnet/minecraft/class_9135;method_57990(Lio/netty/buffer/ByteBuf;II)V
      official a Lzl;a(Lio/netty/buffer/ByteBuf;II)V
    • collection

      static <B extends ByteBuf, V, C extends Collection<V>> PacketCodec<B,C> collection(IntFunction<C> factory, PacketCodec<? super B,V> elementCodec)
      Returns a codec for a collection of values.
      Parameters:
      factory - a function that, given the collection's size, returns a new empty collection
      elementCodec - the codec of the collection's elements
      Returns:
      a codec for a collection of values
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named collection Lnet/minecraft/network/codec/PacketCodecs;collection(Ljava/util/function/IntFunction;Lnet/minecraft/network/codec/PacketCodec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56376 Lnet/minecraft/class_9135;method_56376(Ljava/util/function/IntFunction;Lnet/minecraft/class_9139;)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljava/util/function/IntFunction;Lzn;)Lzn;
    • collection

      static <B extends ByteBuf, V, C extends Collection<V>> PacketCodec<B,C> collection(IntFunction<C> factory, PacketCodec<? super B,V> elementCodec, int maxSize)
      Mappings:
      Namespace Name Mixin selector
      named collection Lnet/minecraft/network/codec/PacketCodecs;collection(Ljava/util/function/IntFunction;Lnet/minecraft/network/codec/PacketCodec;I)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57991 Lnet/minecraft/class_9135;method_57991(Ljava/util/function/IntFunction;Lnet/minecraft/class_9139;I)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljava/util/function/IntFunction;Lzn;I)Lzn;
    • toCollection

      static <B extends ByteBuf, V, C extends Collection<V>> PacketCodec.ResultFunction<B,V,C> toCollection(IntFunction<C> collectionFactory)
      Used to make a codec for a collection of values using PacketCodec.collect(net.minecraft.network.codec.PacketCodec.ResultFunction<B, V, O>).

      For example, to make a codec for a set of values, write codec.collect(PacketCodecs.toCollection(HashSet::new)).

      Parameters:
      collectionFactory - a function that, given the collection's size, returns a new empty collection
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named toCollection Lnet/minecraft/network/codec/PacketCodecs;toCollection(Ljava/util/function/IntFunction;)Lnet/minecraft/network/codec/PacketCodec$ResultFunction;
      intermediary method_56374 Lnet/minecraft/class_9135;method_56374(Ljava/util/function/IntFunction;)Lnet/minecraft/class_9139$class_9140;
      official a Lzl;a(Ljava/util/function/IntFunction;)Lzn$a;
    • toList

      static <B extends ByteBuf, V> PacketCodec.ResultFunction<B,V,List<V>> toList()
      Used to make a codec for a list of values using PacketCodec.collect(net.minecraft.network.codec.PacketCodec.ResultFunction<B, V, O>). This creates an ArrayList, so the decoded result can be modified.

      For example, to make a codec for a list of values, write codec.collect(PacketCodecs.toList()).

      See Also:
      Mappings:
      Namespace Name Mixin selector
      named toList Lnet/minecraft/network/codec/PacketCodecs;toList()Lnet/minecraft/network/codec/PacketCodec$ResultFunction;
      intermediary method_56363 Lnet/minecraft/class_9135;method_56363()Lnet/minecraft/class_9139$class_9140;
      official a Lzl;a()Lzn$a;
    • toList

      static <B extends ByteBuf, V> PacketCodec.ResultFunction<B,V,List<V>> toList(int maxLength)
      Mappings:
      Namespace Name Mixin selector
      named toList Lnet/minecraft/network/codec/PacketCodecs;toList(I)Lnet/minecraft/network/codec/PacketCodec$ResultFunction;
      intermediary method_58000 Lnet/minecraft/class_9135;method_58000(I)Lnet/minecraft/class_9139$class_9140;
      official c Lzl;c(I)Lzn$a;
    • map

      static <B extends ByteBuf, K, V, M extends Map<K, V>> PacketCodec<B,M> map(IntFunction<? extends M> factory, PacketCodec<? super B,K> keyCodec, PacketCodec<? super B,V> valueCodec)
      Returns a codec for a map.
      Parameters:
      factory - a function that, given the map's size, returns a new empty map
      keyCodec - the codec for the map's keys
      valueCodec - the codec for the map's values
      Returns:
      a codec for a map
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named map Lnet/minecraft/network/codec/PacketCodecs;map(Ljava/util/function/IntFunction;Lnet/minecraft/network/codec/PacketCodec;Lnet/minecraft/network/codec/PacketCodec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56377 Lnet/minecraft/class_9135;method_56377(Ljava/util/function/IntFunction;Lnet/minecraft/class_9139;Lnet/minecraft/class_9139;)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljava/util/function/IntFunction;Lzn;Lzn;)Lzn;
    • map

      static <B extends ByteBuf, K, V, M extends Map<K, V>> PacketCodec<B,M> map(IntFunction<? extends M> factory, PacketCodec<? super B,K> keyCodec, PacketCodec<? super B,V> valueCodec, int maxSize)
      Mappings:
      Namespace Name Mixin selector
      named map Lnet/minecraft/network/codec/PacketCodecs;map(Ljava/util/function/IntFunction;Lnet/minecraft/network/codec/PacketCodec;Lnet/minecraft/network/codec/PacketCodec;I)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57992 Lnet/minecraft/class_9135;method_57992(Ljava/util/function/IntFunction;Lnet/minecraft/class_9139;Lnet/minecraft/class_9139;I)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljava/util/function/IntFunction;Lzn;Lzn;I)Lzn;
    • either

      static <B extends ByteBuf, L, R> PacketCodec<B,com.mojang.datafixers.util.Either<L,R>> either(PacketCodec<? super B,L> left, PacketCodec<? super B,R> right)
      Mappings:
      Namespace Name Mixin selector
      named either Lnet/minecraft/network/codec/PacketCodecs;either(Lnet/minecraft/network/codec/PacketCodec;Lnet/minecraft/network/codec/PacketCodec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_57995 Lnet/minecraft/class_9135;method_57995(Lnet/minecraft/class_9139;Lnet/minecraft/class_9139;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lzn;Lzn;)Lzn;
    • indexed

      static <T> PacketCodec<ByteBuf,T> indexed(IntFunction<T> indexToValue, ToIntFunction<T> valueToIndex)
      Returns a codec for an indexed value.

      An example of an indexed value is an enum.

      Parameters:
      indexToValue - a function that gets a value from its index
      valueToIndex - a function that gets a value's index
      Returns:
      a codec for an indexed value
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named indexed Lnet/minecraft/network/codec/PacketCodecs;indexed(Ljava/util/function/IntFunction;Ljava/util/function/ToIntFunction;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56375 Lnet/minecraft/class_9135;method_56375(Ljava/util/function/IntFunction;Ljava/util/function/ToIntFunction;)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljava/util/function/IntFunction;Ljava/util/function/ToIntFunction;)Lzn;
    • entryOf

      static <T> PacketCodec<ByteBuf,T> entryOf(IndexedIterable<T> iterable)
      Returns a codec for an entry of iterable.
      Returns:
      a codec for an entry of iterable
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named entryOf Lnet/minecraft/network/codec/PacketCodecs;entryOf(Lnet/minecraft/util/collection/IndexedIterable;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56371 Lnet/minecraft/class_9135;method_56371(Lnet/minecraft/class_2359;)Lnet/minecraft/class_9139;
      official a Lzl;a(Ljn;)Lzn;
    • registry

      private static <T, R> PacketCodec<RegistryByteBuf,R> registry(RegistryKey<? extends Registry<T>> registry, Function<Registry<T>,IndexedIterable<R>> registryTransformer)
      Mappings:
      Namespace Name Mixin selector
      named registry Lnet/minecraft/network/codec/PacketCodecs;registry(Lnet/minecraft/registry/RegistryKey;Ljava/util/function/Function;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56366 Lnet/minecraft/class_9135;method_56366(Lnet/minecraft/class_5321;Ljava/util/function/Function;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lale;Ljava/util/function/Function;)Lzn;
    • registryValue

      static <T> PacketCodec<RegistryByteBuf,T> registryValue(RegistryKey<? extends Registry<T>> registry)
      Returns a codec for a Registry-registered value.

      This codec only works with RegistryByteBuf, used during the play phase. Consider using entryOf(net.minecraft.util.collection.IndexedIterable<T>) for encoding a value of a static registry during login or configuration phases.

      Returns:
      a codec for a Registry-registered value
      See Also:
      Implementation Note:
      The value is serialized as the corresponding raw ID (as a var int).
      Mappings:
      Namespace Name Mixin selector
      named registryValue Lnet/minecraft/network/codec/PacketCodecs;registryValue(Lnet/minecraft/registry/RegistryKey;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56365 Lnet/minecraft/class_9135;method_56365(Lnet/minecraft/class_5321;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lale;)Lzn;
    • registryEntry

      static <T> PacketCodec<RegistryByteBuf,RegistryEntry<T>> registryEntry(RegistryKey<? extends Registry<T>> registry)
      Returns a codec for a reference RegistryEntry.

      This codec only works with RegistryByteBuf, used during the play phase. Consider using entryOf(net.minecraft.util.collection.IndexedIterable<T>) for encoding a value of a static registry during login or configuration phases.

      Returns:
      a codec for a reference RegistryEntry
      See Also:
      Implementation Note:
      The value is serialized as the corresponding raw ID (as a var int). This does not handle direct (unregistered) entries.
      Mappings:
      Namespace Name Mixin selector
      named registryEntry Lnet/minecraft/network/codec/PacketCodecs;registryEntry(Lnet/minecraft/registry/RegistryKey;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56383 Lnet/minecraft/class_9135;method_56383(Lnet/minecraft/class_5321;)Lnet/minecraft/class_9139;
      official b Lzl;b(Lale;)Lzn;
    • registryEntry

      static <T> PacketCodec<RegistryByteBuf,RegistryEntry<T>> registryEntry(RegistryKey<? extends Registry<T>> registry, PacketCodec<? super RegistryByteBuf,T> directCodec)
      Returns a codec for a RegistryEntry.

      This codec only works with RegistryByteBuf, used during the play phase. Consider using entryOf(net.minecraft.util.collection.IndexedIterable<T>) for encoding a value of a static registry during login or configuration phases.

      Returns:
      a codec for a RegistryEntry
      See Also:
      Implementation Note:
      If the entry is a reference entry, the value is serialized as the corresponding raw ID (as a var int). If it is a direct entry, it is encoded using directCodec.
      Mappings:
      Namespace Name Mixin selector
      named registryEntry Lnet/minecraft/network/codec/PacketCodecs;registryEntry(Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/network/codec/PacketCodec;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_56367 Lnet/minecraft/class_9135;method_56367(Lnet/minecraft/class_5321;Lnet/minecraft/class_9139;)Lnet/minecraft/class_9139;
      official a Lzl;a(Lale;Lzn;)Lzn;
    • registryEntryList

      static <T> PacketCodec<RegistryByteBuf,RegistryEntryList<T>> registryEntryList(RegistryKey<? extends Registry<T>> registryRef)
      Mappings:
      Namespace Name Mixin selector
      named registryEntryList Lnet/minecraft/network/codec/PacketCodecs;registryEntryList(Lnet/minecraft/registry/RegistryKey;)Lnet/minecraft/network/codec/PacketCodec;
      intermediary method_58001 Lnet/minecraft/class_9135;method_58001(Lnet/minecraft/class_5321;)Lnet/minecraft/class_9139;
      official c Lzl;c(Lale;)Lzn;