Class Codecs

java.lang.Object
net.minecraft.util.dynamic.Codecs

public class Codecs
extends Object
A few extensions for Codec or DynamicOps.

Expect its removal once Mojang updates DataFixerUpper.

Mappings:
Namespace Name
official agf
intermediary net/minecraft/class_5699
named net/minecraft/util/dynamic/Codecs
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    (package private) static class  Codecs.Xor<F,​S>  
  • Field Summary

    Fields
    Modifier and Type Field Description
    static com.mojang.serialization.Codec<DoubleStream> DOUBLE_STREAM
    A codec for double streams.
  • Constructor Summary

    Constructors
    Constructor Description
    Codecs()  
  • Method Summary

    Modifier and Type Method Description
    private static <T> T createDoubleList​(com.mojang.serialization.DynamicOps<T> ops, DoubleStream input)
    Encodes a double stream to data of type T.
    private static <T> com.mojang.serialization.DataResult<DoubleStream> getDoubleStream​(com.mojang.serialization.DynamicOps<T> ops, T input)
    Decodes a double stream from input.
    static <F,​ S> com.mojang.serialization.Codec<com.mojang.datafixers.util.Either<F,​S>> xor​(com.mojang.serialization.Codec<F> first, com.mojang.serialization.Codec<S> second)
    Returns an exclusive-or codec for Either instances.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DOUBLE_STREAM

      public static final com.mojang.serialization.Codec<DoubleStream> DOUBLE_STREAM
      A codec for double streams.
      See Also:
      Codec.INT_STREAM
      Mappings:
      Namespace Name Mixin selector
      official a Lagf;a:Lcom/mojang/serialization/Codec;
      intermediary field_28095 Lnet/minecraft/class_5699;field_28095:Lcom/mojang/serialization/Codec;
      named DOUBLE_STREAM Lnet/minecraft/util/dynamic/Codecs;DOUBLE_STREAM:Lcom/mojang/serialization/Codec;
  • Constructor Details

    • Codecs

      public Codecs()
  • Method Details

    • getDoubleStream

      private static <T> com.mojang.serialization.DataResult<DoubleStream> getDoubleStream​(com.mojang.serialization.DynamicOps<T> ops, T input)
      Decodes a double stream from input.
      Type Parameters:
      T - the input data type
      See Also:
      DynamicOps.getIntStream(Object)
      Mappings:
      Namespace Name Mixin selector
      official b Lagf;b(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
      intermediary method_32848 Lnet/minecraft/class_5699;method_32848(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
      named getDoubleStream Lnet/minecraft/util/dynamic/Codecs;getDoubleStream(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
    • createDoubleList

      private static <T> T createDoubleList​(com.mojang.serialization.DynamicOps<T> ops, DoubleStream input)
      Encodes a double stream to data of type T.
      Type Parameters:
      T - the output data type
      See Also:
      DynamicOps.createIntList(java.util.stream.IntStream)
      Mappings:
      Namespace Name Mixin selector
      official b Lagf;b(Lcom/mojang/serialization/DynamicOps;Ljava/util/stream/DoubleStream;)Ljava/lang/Object;
      intermediary method_32850 Lnet/minecraft/class_5699;method_32850(Lcom/mojang/serialization/DynamicOps;Ljava/util/stream/DoubleStream;)Ljava/lang/Object;
      named createDoubleList Lnet/minecraft/util/dynamic/Codecs;createDoubleList(Lcom/mojang/serialization/DynamicOps;Ljava/util/stream/DoubleStream;)Ljava/lang/Object;
    • xor

      public static <F,​ S> com.mojang.serialization.Codec<com.mojang.datafixers.util.Either<F,​S>> xor​(com.mojang.serialization.Codec<F> first, com.mojang.serialization.Codec<S> second)
      Returns an exclusive-or codec for Either instances.

      This returned codec fails if both the first and second codecs can decode the input, while DFU's EitherCodec will always take the first decoded result when it is available.

      Otherwise, this behaves the same as the either codec.

      Type Parameters:
      F - the first type
      S - the second type
      Parameters:
      first - the first codec
      second - the second codec
      Returns:
      the xor codec for the two codecs
      See Also:
      Codec.either(Codec, Codec), EitherCodec
      Mappings:
      Namespace Name Mixin selector
      official a Lagf;a(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
      intermediary method_33817 Lnet/minecraft/class_5699;method_33817(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
      named xor Lnet/minecraft/util/dynamic/Codecs;xor(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;