CLASS net/minecraft/class_5699 net/minecraft/util/dynamic/Codecs COMMENT A few extensions for {@link Codec} or {@link DynamicOps}. COMMENT COMMENT

It has a few methods to create checkers for {@code Codec.flatXmap} to add COMMENT extra value validation to encoding and decoding. See the implementation of COMMENT {@link #nonEmptyList(Codec)}. FIELD field_33441 NONNEGATIVE_INT Lcom/mojang/serialization/Codec; FIELD field_33442 POSITIVE_INT Lcom/mojang/serialization/Codec; METHOD method_33817 xor (Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec; COMMENT Returns an exclusive-or codec for {@link Either} instances. COMMENT COMMENT

This returned codec fails if both the {@code first} and {@code second} codecs can COMMENT decode the input, while DFU's {@link com.mojang.serialization.codecs.EitherCodec} COMMENT will always take the first decoded result when it is available. COMMENT COMMENT

Otherwise, this behaves the same as the either codec. COMMENT COMMENT @param the first type COMMENT @param the second type COMMENT @return the xor codec for the two codecs COMMENT @see Codec#either(Codec, Codec) COMMENT @see com.mojang.serialization.codecs.EitherCodec ARG 0 first COMMENT the first codec ARG 1 second COMMENT the second codec METHOD method_36240 createNonEmptyListChecker ()Ljava/util/function/Function; METHOD method_36241 rangedInt (IILjava/util/function/Function;)Lcom/mojang/serialization/Codec; ARG 0 min ARG 1 max ARG 2 messageFactory METHOD method_36242 (Ljava/lang/Integer;)Ljava/lang/String; ARG 0 v METHOD method_36243 createRangeChecker (Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;)Ljava/util/function/Function; ARG 0 min ARG 1 max ARG 2 messageFactory METHOD method_36244 (Ljava/lang/Number;Ljava/lang/Number;Ljava/util/function/Function;Ljava/lang/Number;)Lcom/mojang/serialization/DataResult; ARG 3 value METHOD method_36245 (Ljava/util/List;)Lcom/mojang/serialization/DataResult; ARG 0 list METHOD method_36246 (Ljava/lang/Integer;)Ljava/lang/String; ARG 0 v METHOD method_36973 nonEmptyList (Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec; ARG 0 originalCodec METHOD method_37349 (Ljava/util/List;)Lcom/mojang/serialization/DataResult; ARG 0 suppliers METHOD method_37350 (Ljava/util/function/Supplier;)Lcom/mojang/serialization/DataResult; ARG 0 supplier METHOD method_37351 createPresentValuesChecker ()Ljava/util/function/Function; METHOD method_37352 createPresentValueChecker ()Ljava/util/function/Function; CLASS class_5839 Xor COMMENT An xor codec that only permits exactly one of the two data choices to be COMMENT present. COMMENT COMMENT @see Codecs#xor(Codec, Codec) COMMENT @see com.mojang.serialization.codecs.EitherCodec FIELD field_28868 first Lcom/mojang/serialization/Codec; FIELD field_28869 second Lcom/mojang/serialization/Codec; METHOD (Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)V ARG 1 first ARG 2 second METHOD decode (Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; ARG 1 ops ARG 2 input METHOD encode (Ljava/lang/Object;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; ARG 1 input ARG 2 ops ARG 3 prefix METHOD equals (Ljava/lang/Object;)Z ARG 1 o METHOD method_33821 (Lcom/mojang/datafixers/util/Pair;)Lcom/mojang/datafixers/util/Pair; ARG 0 pair METHOD method_33822 (Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; ARG 3 right METHOD method_33823 (Lcom/mojang/datafixers/util/Pair;)Lcom/mojang/datafixers/util/Pair; ARG 0 pair METHOD method_33824 (Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; ARG 3 left