Package net.minecraft.util.dynamic
Class Codecs
java.lang.Object
net.minecraft.util.dynamic.Codecs
A few extensions for
Codec or DynamicOps.
It has a few methods to create checkers for Codec.flatXmap to add
extra value validation to encoding and decoding. See the implementation of
nonEmptyList(Codec).
- Mappings:
Namespace Name official aiiintermediary net/minecraft/class_5699named net/minecraft/util/dynamic/Codecs
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static final recordprivate static final classCodecs.Xor<F,S> An xor codec that only permits exactly one of the two data choices to be present. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <P,I> com.mojang.serialization.Codec<I> createCodecForPairObject(com.mojang.serialization.Codec<P> codec, String leftFieldName, String rightFieldName, BiFunction<P, P, com.mojang.serialization.DataResult<I>> combineFunction, Function<I, P> leftFunction, Function<I, P> rightFunction) private static <N extends Number & Comparable<N>>
Function<N,com.mojang.serialization.DataResult<N>> createFloatRangeChecker(N min, N max, Function<N, String> messageFactory) private static <N extends Number & Comparable<N>>
Function<N,com.mojang.serialization.DataResult<N>> createIntRangeChecker(N min, N max, Function<N, String> messageFactory) static <A> com.mojang.serialization.Codec<A>createLazy(Supplier<com.mojang.serialization.Codec<A>> supplier) static <A> com.mojang.serialization.Codec.ResultFunction<A>method_39028(A a) static <E> com.mojang.serialization.Codec<E>method_39504(com.mojang.serialization.Codec<E> codec, Function<E, com.mojang.serialization.Lifecycle> function, Function<E, com.mojang.serialization.Lifecycle> function2) static <E> com.mojang.serialization.Codec<E>method_39508(Function<E, String> function, Function<String, E> function2) static <E> com.mojang.serialization.Codec<E>method_39511(ToIntFunction<E> toIntFunction, IntFunction<E> intFunction, int int2) static <E> com.mojang.serialization.Codec<E>method_39512(com.mojang.serialization.Codec<E> codec, com.mojang.serialization.Codec<E> codec2) static <T> com.mojang.serialization.Codec<List<T>>nonEmptyList(com.mojang.serialization.Codec<List<T>> originalCodec) private static com.mojang.serialization.Codec<Float>rangedFloat(float min, float max, Function<Float, String> messageFactory) private static com.mojang.serialization.Codec<Integer>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 forCodecs.Eitherinstances.
-
Field Details
-
NONNEGATIVE_INT
- Mappings:
Namespace Name Mixin selector official aLaii;a:Lcom/mojang/serialization/Codec;intermediary field_33441Lnet/minecraft/class_5699;field_33441:Lcom/mojang/serialization/Codec;named NONNEGATIVE_INTLnet/minecraft/util/dynamic/Codecs;NONNEGATIVE_INT:Lcom/mojang/serialization/Codec;
-
POSITIVE_INT
- Mappings:
Namespace Name Mixin selector official bLaii;b:Lcom/mojang/serialization/Codec;intermediary field_33442Lnet/minecraft/class_5699;field_33442:Lcom/mojang/serialization/Codec;named POSITIVE_INTLnet/minecraft/util/dynamic/Codecs;POSITIVE_INT:Lcom/mojang/serialization/Codec;
-
POSITIVE_FLOAT
- Mappings:
Namespace Name Mixin selector official cLaii;c:Lcom/mojang/serialization/Codec;intermediary field_34387Lnet/minecraft/class_5699;field_34387:Lcom/mojang/serialization/Codec;named POSITIVE_FLOATLnet/minecraft/util/dynamic/Codecs;POSITIVE_FLOAT:Lcom/mojang/serialization/Codec;
-
-
Constructor Details
-
Codecs
public Codecs()
-
-
Method Details
-
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 forCodecs.Eitherinstances.This returned codec fails if both the
firstandsecondcodecs can decode the input, while DFU'sEitherCodecwill always take the first decoded result when it is available.Otherwise, this behaves the same as the either codec.
- Type Parameters:
F- the first typeS- the second type- Parameters:
first- the first codecsecond- the second codec- Returns:
- the xor codec for the two codecs
- See Also:
-
Codec.either(Codec, Codec)EitherCodec
- Mappings:
Namespace Name Mixin selector official aLaii;a(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;intermediary method_33817Lnet/minecraft/class_5699;method_33817(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;named xorLnet/minecraft/util/dynamic/Codecs;xor(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
-
createCodecForPairObject
public static <P,I> com.mojang.serialization.Codec<I> createCodecForPairObject(com.mojang.serialization.Codec<P> codec, String leftFieldName, String rightFieldName, BiFunction<P, P, com.mojang.serialization.DataResult<I>> combineFunction, Function<I, P> leftFunction, Function<I, P> rightFunction) - Mappings:
Namespace Name Mixin selector official aLaii;a(Lcom/mojang/serialization/Codec;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/BiFunction;Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;intermediary method_37931Lnet/minecraft/class_5699;method_37931(Lcom/mojang/serialization/Codec;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/BiFunction;Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;named createCodecForPairObjectLnet/minecraft/util/dynamic/Codecs;createCodecForPairObject(Lcom/mojang/serialization/Codec;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/BiFunction;Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;
-
method_39028
public static <A> com.mojang.serialization.Codec.ResultFunction<A> method_39028(A a) - Mappings:
Namespace Name Mixin selector official aLaii;a(Ljava/lang/Object;)Lcom/mojang/serialization/Codec$ResultFunction;intermediary method_39028Lnet/minecraft/class_5699;method_39028(Ljava/lang/Object;)Lcom/mojang/serialization/Codec$ResultFunction;named method_39028Lnet/minecraft/util/dynamic/Codecs;method_39028(Ljava/lang/Object;)Lcom/mojang/serialization/Codec$ResultFunction;
-
method_39511
public static <E> com.mojang.serialization.Codec<E> method_39511(ToIntFunction<E> toIntFunction, IntFunction<E> intFunction, int int2) - Mappings:
Namespace Name Mixin selector official aLaii;a(Ljava/util/function/ToIntFunction;Ljava/util/function/IntFunction;I)Lcom/mojang/serialization/Codec;intermediary method_39511Lnet/minecraft/class_5699;method_39511(Ljava/util/function/ToIntFunction;Ljava/util/function/IntFunction;I)Lcom/mojang/serialization/Codec;named method_39511Lnet/minecraft/util/dynamic/Codecs;method_39511(Ljava/util/function/ToIntFunction;Ljava/util/function/IntFunction;I)Lcom/mojang/serialization/Codec;
-
method_39508
public static <E> com.mojang.serialization.Codec<E> method_39508(Function<E, String> function, Function<String, E> function2) - Mappings:
Namespace Name Mixin selector official aLaii;a(Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;intermediary method_39508Lnet/minecraft/class_5699;method_39508(Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;named method_39508Lnet/minecraft/util/dynamic/Codecs;method_39508(Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;
-
method_39512
public static <E> com.mojang.serialization.Codec<E> method_39512(com.mojang.serialization.Codec<E> codec, com.mojang.serialization.Codec<E> codec2) - Mappings:
Namespace Name Mixin selector official bLaii;b(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;intermediary method_39512Lnet/minecraft/class_5699;method_39512(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;named method_39512Lnet/minecraft/util/dynamic/Codecs;method_39512(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
-
method_39504
public static <E> com.mojang.serialization.Codec<E> method_39504(com.mojang.serialization.Codec<E> codec, Function<E, com.mojang.serialization.Lifecycle> function, Function<E, com.mojang.serialization.Lifecycle> function2) - Mappings:
Namespace Name Mixin selector official aLaii;a(Lcom/mojang/serialization/Codec;Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;intermediary method_39504Lnet/minecraft/class_5699;method_39504(Lcom/mojang/serialization/Codec;Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;named method_39504Lnet/minecraft/util/dynamic/Codecs;method_39504(Lcom/mojang/serialization/Codec;Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;
-
createIntRangeChecker
private static <N extends Number & Comparable<N>> Function<N,com.mojang.serialization.DataResult<N>> createIntRangeChecker(N min, N max, Function<N, String> messageFactory) - Mappings:
Namespace Name Mixin selector official aLaii;a(Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function;intermediary method_36243Lnet/minecraft/class_5699;method_36243(Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function;named createIntRangeCheckerLnet/minecraft/util/dynamic/Codecs;createIntRangeChecker(Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function;
-
rangedInt
private static com.mojang.serialization.Codec<Integer> rangedInt(int min, int max, Function<Integer, String> messageFactory) - Mappings:
Namespace Name Mixin selector official aLaii;a(IILjava/util/function/Function;)Lcom/mojang/serialization/Codec;intermediary method_36241Lnet/minecraft/class_5699;method_36241(IILjava/util/function/Function;)Lcom/mojang/serialization/Codec;named rangedIntLnet/minecraft/util/dynamic/Codecs;rangedInt(IILjava/util/function/Function;)Lcom/mojang/serialization/Codec;
-
createFloatRangeChecker
private static <N extends Number & Comparable<N>> Function<N,com.mojang.serialization.DataResult<N>> createFloatRangeChecker(N min, N max, Function<N, String> messageFactory) - Mappings:
Namespace Name Mixin selector official bLaii;b(Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function;intermediary method_37940Lnet/minecraft/class_5699;method_37940(Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function;named createFloatRangeCheckerLnet/minecraft/util/dynamic/Codecs;createFloatRangeChecker(Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function;
-
rangedFloat
private static com.mojang.serialization.Codec<Float> rangedFloat(float min, float max, Function<Float, String> messageFactory) - Mappings:
Namespace Name Mixin selector official aLaii;a(FFLjava/util/function/Function;)Lcom/mojang/serialization/Codec;intermediary method_37928Lnet/minecraft/class_5699;method_37928(FFLjava/util/function/Function;)Lcom/mojang/serialization/Codec;named rangedFloatLnet/minecraft/util/dynamic/Codecs;rangedFloat(FFLjava/util/function/Function;)Lcom/mojang/serialization/Codec;
-
createNonEmptyListChecker
public static <T> Function<List<T>,com.mojang.serialization.DataResult<List<T>>> createNonEmptyListChecker()- Mappings:
Namespace Name Mixin selector official aLaii;a()Ljava/util/function/Function;intermediary method_36240Lnet/minecraft/class_5699;method_36240()Ljava/util/function/Function;named createNonEmptyListCheckerLnet/minecraft/util/dynamic/Codecs;createNonEmptyListChecker()Ljava/util/function/Function;
-
nonEmptyList
public static <T> com.mojang.serialization.Codec<List<T>> nonEmptyList(com.mojang.serialization.Codec<List<T>> originalCodec) - Mappings:
Namespace Name Mixin selector official aLaii;a(Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;intermediary method_36973Lnet/minecraft/class_5699;method_36973(Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;named nonEmptyListLnet/minecraft/util/dynamic/Codecs;nonEmptyList(Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
-
createPresentValuesChecker
public static <T> Function<List<Supplier<T>>,com.mojang.serialization.DataResult<List<Supplier<T>>>> createPresentValuesChecker()- Mappings:
Namespace Name Mixin selector official bLaii;b()Ljava/util/function/Function;intermediary method_37351Lnet/minecraft/class_5699;method_37351()Ljava/util/function/Function;named createPresentValuesCheckerLnet/minecraft/util/dynamic/Codecs;createPresentValuesChecker()Ljava/util/function/Function;
-
createPresentValueChecker
public static <T> Function<Supplier<T>,com.mojang.serialization.DataResult<Supplier<T>>> createPresentValueChecker()- Mappings:
Namespace Name Mixin selector official cLaii;c()Ljava/util/function/Function;intermediary method_37352Lnet/minecraft/class_5699;method_37352()Ljava/util/function/Function;named createPresentValueCheckerLnet/minecraft/util/dynamic/Codecs;createPresentValueChecker()Ljava/util/function/Function;
-
createLazy
public static <A> com.mojang.serialization.Codec<A> createLazy(Supplier<com.mojang.serialization.Codec<A>> supplier) - Mappings:
Namespace Name Mixin selector official aLaii;a(Ljava/util/function/Supplier;)Lcom/mojang/serialization/Codec;intermediary method_39240Lnet/minecraft/class_5699;method_39240(Ljava/util/function/Supplier;)Lcom/mojang/serialization/Codec;named createLazyLnet/minecraft/util/dynamic/Codecs;createLazy(Ljava/util/function/Supplier;)Lcom/mojang/serialization/Codec;
-