Skip to content

Commit

Permalink
begin the grind: codecs
Browse files Browse the repository at this point in the history
  • Loading branch information
ix0rai committed Dec 31, 2023
1 parent 7e33089 commit d7d0350
Show file tree
Hide file tree
Showing 12 changed files with 313 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ CLASS net/minecraft/unmapped/C_rzypsigz net/minecraft/advancement/AdvancementCri
FIELD f_yiamcoxx conditions Lnet/minecraft/unmapped/C_zkhebbek;
METHOD m_djfutiin trigger ()Lnet/minecraft/unmapped/C_mysyaxfs;
METHOD m_iuvjqrcn conditions ()Lnet/minecraft/unmapped/C_zkhebbek;
METHOD m_uxddutmc (Lnet/minecraft/unmapped/C_mysyaxfs;)Lcom/mojang/serialization/Codec;
ARG 0 trigger
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ CLASS net/minecraft/unmapped/C_bmtrgtzi net/minecraft/advancement/criterion/Abst
METHOD m_whzofkzk (Lnet/minecraft/unmapped/C_hyeqtgvx;)Ljava/util/Set;
ARG 0 manager
CLASS C_hjljikdm Conditions
METHOD m_klqamsnl player ()Ljava/util/Optional;
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
CLASS net/minecraft/unmapped/C_opfhzgki net/minecraft/advancement/criterion/BrewedPotionCriterionTrigger
METHOD m_jlnjsigz trigger (Lnet/minecraft/unmapped/C_mxrobsgg;Lnet/minecraft/unmapped/C_cjzoxshv;)V
ARG 1 player
ARG 2 potion
CLASS C_nhlhuijz Conditions
FIELD f_stylqccy potion Ljava/util/Optional;
METHOD m_nwhpawqe create ()Lnet/minecraft/unmapped/C_rzypsigz;
METHOD m_smuruvko matches (Lnet/minecraft/unmapped/C_cjzoxshv;)Z
ARG 1 potion
METHOD m_ugbouwxj (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;
ARG 0 instance
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
CLASS net/minecraft/unmapped/C_zkhebbek net/minecraft/advancement/criterion/CriterionConditions
METHOD m_mmotanow validate (Lnet/minecraft/unmapped/C_zybjffid;)V
ARG 1 validator
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ CLASS net/minecraft/unmapped/C_mysyaxfs net/minecraft/advancement/criterion/Crit
ARG 2 conditions
METHOD m_xalcdvzt endTracking (Lnet/minecraft/unmapped/C_hyeqtgvx;)V
ARG 1 tracker
METHOD m_xrbtiope getCodec ()Lcom/mojang/serialization/Codec;
CLASS C_lklaplvi ConditionsContainer
FIELD f_hndsseux conditions Lnet/minecraft/unmapped/C_zkhebbek;
FIELD f_tqucppsr advancement Lnet/minecraft/unmapped/C_unoypvme;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
CLASS net/minecraft/unmapped/C_zybjffid net/minecraft/advancement/criterion/CriterionValidator
FIELD f_ollohygd dataLookup Lnet/minecraft/unmapped/C_srnkfpki;
FIELD f_zezlkhtp errorReporter Lnet/minecraft/unmapped/C_jtpvewkp;
METHOD m_fgshsjad validate (Lnet/minecraft/unmapped/C_ctsfmifk;Lnet/minecraft/unmapped/C_vczsvjil;Ljava/lang/String;)V
ARG 1 predicate
ARG 2 type
ARG 3 path
METHOD m_lpljjrzx validate (Ljava/util/List;Lnet/minecraft/unmapped/C_vczsvjil;Ljava/lang/String;)V
ARG 1 predicates
ARG 2 type
ARG 3 path
METHOD m_nhvyihxi validateEntity (Ljava/util/Optional;Ljava/lang/String;)V
ARG 1 optionalPredicate
ARG 2 path
METHOD m_svooszyh validateEntities (Ljava/util/List;Ljava/lang/String;)V
ARG 1 predicates
ARG 2 path
METHOD m_yqxxtueo validateEntity (Lnet/minecraft/unmapped/C_ctsfmifk;Ljava/lang/String;)V
ARG 1 predicate
ARG 2 path
METHOD m_zooqvlxs (Ljava/lang/String;Lnet/minecraft/unmapped/C_ctsfmifk;)V
ARG 2 predicate
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
CLASS net/minecraft/unmapped/C_ijynualg net/minecraft/loot/condition/LootConditionTypes
FIELD f_ndsvfguh TYPED_CODEC Lcom/mojang/serialization/Codec;
FIELD f_tzpkbvhm CODEC Lcom/mojang/serialization/Codec;
METHOD m_bxfjipfr joinAnd (Ljava/util/List;)Ljava/util/function/Predicate;
ARG 0 predicates
METHOD m_hfawsflu joinOr (Ljava/util/List;)Ljava/util/function/Predicate;
ARG 0 predicates
METHOD m_kmrftxnf (Ljava/lang/Object;)Z
ARG 0 operand
METHOD m_lgrkkgei (Ljava/util/List;Ljava/lang/Object;)Z
ARG 1 operand
METHOD m_osmoobxn (Ljava/lang/Object;)Z
ARG 0 operand
METHOD m_pwffgfiz register (Ljava/lang/String;Lcom/mojang/serialization/Codec;)Lnet/minecraft/unmapped/C_debunopu;
ARG 0 id
METHOD m_qiykfwny (Ljava/util/List;Ljava/lang/Object;)Z
ARG 1 operand
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ CLASS net/minecraft/unmapped/C_ctsfmifk net/minecraft/predicate/ContextAwarePred
ARG 0 lootConditions
METHOD m_iuimbrve test (Lnet/minecraft/unmapped/C_iakykpgh;)Z
ARG 1 context
METHOD m_zuojxyqu validateConditions (Lnet/minecraft/unmapped/C_eumtgsbp;)V
ARG 1 reporter
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,21 @@ CLASS net/minecraft/unmapped/C_kvkvpjlm net/minecraft/predicate/entity/EntityPre
FIELD f_eieyszej location Ljava/util/Optional;
FIELD f_ggbragpd targetedEntity Ljava/util/Optional;
FIELD f_ifyilwup passenger Ljava/util/Optional;
FIELD f_krniofyg CODEC Lcom/mojang/serialization/Codec;
FIELD f_lmuipoqi steppingOn Ljava/util/Optional;
FIELD f_mxeamups team Ljava/util/Optional;
FIELD f_niwouezd typeSpecific Ljava/util/Optional;
FIELD f_osweyokb flags Ljava/util/Optional;
FIELD f_scvxyefk effects Ljava/util/Optional;
FIELD f_tptkhefk distance Ljava/util/Optional;
FIELD f_uvagahsk ADVANCEMENT_CODEC Lcom/mojang/serialization/Codec;
FIELD f_xozemqxy type Ljava/util/Optional;
FIELD f_ycxvlbvr equipment Ljava/util/Optional;
FIELD f_yvrkjogt vehicle Ljava/util/Optional;
METHOD m_lenpszae fromBuilder (Lnet/minecraft/unmapped/C_kvkvpjlm$C_fnhnavbg;)Lnet/minecraft/unmapped/C_ctsfmifk;
ARG 0 builder
METHOD m_lpmriazj (Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;
ARG 1 instance
METHOD m_npdomabq test (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_vgpupfxx;Lnet/minecraft/unmapped/C_astfners;)Z
ARG 1 world
ARG 2 pos
Expand Down
1 change: 1 addition & 0 deletions mappings/net/minecraft/text/TextCodecs.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CLASS net/minecraft/unmapped/C_qrzzgymy net/minecraft/text/TextCodecs
11 changes: 11 additions & 0 deletions mappings/net/minecraft/util/ErrorReporter.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CLASS net/minecraft/unmapped/C_jtpvewkp net/minecraft/util/ErrorReporter
METHOD m_nnxeyyzv forChild (Ljava/lang/String;)Lnet/minecraft/unmapped/C_jtpvewkp;
ARG 1 name
METHOD m_qtdgardw report (Ljava/lang/String;)V
ARG 1 message
CLASS C_jbcmnrpq Impl
FIELD f_bbfpemek errors Lcom/google/common/collect/Multimap;
FIELD f_vksywrdq pathSupplier Ljava/util/function/Supplier;
FIELD f_vnjffosi pathCache Ljava/lang/String;
METHOD m_fdjwfdmg copyErrors ()Lcom/google/common/collect/Multimap;
METHOD m_oscjmxcu getPath ()Ljava/lang/String;
Loading

3 comments on commit d7d0350

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With commit d7d0350, 136 file(s) were updated with 797 line(s) added and 746 removed compared to the latest Quilt Mappings version.

View the diff here (1/3):
diff -bur namedTargetSrc/net/minecraft/advancement/AdvancementCriterion.java namedSrc/net/minecraft/advancement/AdvancementCriterion.java
--- namedTargetSrc/net/minecraft/advancement/AdvancementCriterion.java	2023-12-31 03:27:58.100163629 +0000
+++ namedSrc/net/minecraft/advancement/AdvancementCriterion.java	2023-12-31 03:26:51.872386570 +0000
@@ -15,7 +15,7 @@
    /**
     * Mapping not found
     */
-   private static final MapCodec<AdvancementCriterion<?>> f_yezbocli = Codecs.m_dgtnqbdd(
+   private static final MapCodec<AdvancementCriterion<?>> f_yezbocli = Codecs.withOptionalParameters(
       "trigger", "conditions", Criteria.CODEC, AdvancementCriterion::trigger, AdvancementCriterion::m_uxddutmc
    );
    /**
@@ -25,9 +25,10 @@
    public static final Codec<AdvancementCriterion<?>> CODEC = f_yezbocli.codec();
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_uxddutmc Lnet/minecraft/unmapped/C_rzypsigz;m_uxddutmc(Lnet/minecraft/unmapped/C_mysyaxfs;)Lcom/mojang/serialization/Codec;}
+    * @mapping {@literal named m_uxddutmc Lnet/minecraft/advancement/AdvancementCriterion;m_uxddutmc(Lnet/minecraft/advancement/criterion/CriterionTrigger;)Lcom/mojang/serialization/Codec;}
     */
-   private static <T extends CriterionConditions> Codec<AdvancementCriterion<T>> m_uxddutmc(CriterionTrigger<T> arg) {
-      return arg.m_xrbtiope().xmap(arg2 -> new AdvancementCriterion<>(arg, (T)arg2), AdvancementCriterion::conditions);
+   private static <T extends CriterionConditions> Codec<AdvancementCriterion<T>> m_uxddutmc(CriterionTrigger<T> trigger) {
+      return trigger.getCodec().xmap(arg2 -> new AdvancementCriterion<>(trigger, (T)arg2), AdvancementCriterion::conditions);
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/AdvancementDisplay.java namedSrc/net/minecraft/advancement/AdvancementDisplay.java
--- namedTargetSrc/net/minecraft/advancement/AdvancementDisplay.java	2023-12-31 03:27:58.064163749 +0000
+++ namedSrc/net/minecraft/advancement/AdvancementDisplay.java	2023-12-31 03:26:51.848386649 +0000
@@ -6,8 +6,8 @@
 import net.minecraft.item.ItemStack;
 import net.minecraft.network.PacketByteBuf;
 import net.minecraft.text.Text;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.text.component.AdvancementComponent;
-import net.minecraft.unmapped.C_qrzzgymy;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.dynamic.Codecs;
 
@@ -23,13 +23,13 @@
    public static final Codec<AdvancementDisplay> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
                ItemStack.f_swhvebgo.fieldOf("icon").forGetter(AdvancementDisplay::getIcon),
-               C_qrzzgymy.f_flkmksis.fieldOf("title").forGetter(AdvancementDisplay::getTitle),
-               C_qrzzgymy.f_flkmksis.fieldOf("description").forGetter(AdvancementDisplay::getDescription),
-               Codecs.m_cjqijzpr(Identifier.CODEC, "background").forGetter(AdvancementDisplay::getBackground),
-               Codecs.m_aeryaqrd(AdvancementComponent.CODEC, "frame", AdvancementComponent.TASK).forGetter(AdvancementDisplay::m_spcgkfjs),
-               Codecs.m_aeryaqrd(Codec.BOOL, "show_toast", true).forGetter(AdvancementDisplay::shouldShowToast),
-               Codecs.m_aeryaqrd(Codec.BOOL, "announce_to_chat", true).forGetter(AdvancementDisplay::shouldAnnounceToChat),
-               Codecs.m_aeryaqrd(Codec.BOOL, "hidden", false).forGetter(AdvancementDisplay::isHidden)
+               TextCodecs.f_flkmksis.fieldOf("title").forGetter(AdvancementDisplay::getTitle),
+               TextCodecs.f_flkmksis.fieldOf("description").forGetter(AdvancementDisplay::getDescription),
+               Codecs.createStrictOptionalField(Identifier.CODEC, "background").forGetter(AdvancementDisplay::getBackground),
+               Codecs.createStrictOptionalField(AdvancementComponent.CODEC, "frame", AdvancementComponent.TASK).forGetter(AdvancementDisplay::m_spcgkfjs),
+               Codecs.createStrictOptionalField(Codec.BOOL, "show_toast", true).forGetter(AdvancementDisplay::shouldShowToast),
+               Codecs.createStrictOptionalField(Codec.BOOL, "announce_to_chat", true).forGetter(AdvancementDisplay::shouldAnnounceToChat),
+               Codecs.createStrictOptionalField(Codec.BOOL, "hidden", false).forGetter(AdvancementDisplay::isHidden)
             )
             .apply(instance, AdvancementDisplay::new)
    );
diff -bur namedTargetSrc/net/minecraft/advancement/Advancement.java namedSrc/net/minecraft/advancement/Advancement.java
--- namedTargetSrc/net/minecraft/advancement/Advancement.java	2023-12-31 03:27:58.148163469 +0000
+++ namedSrc/net/minecraft/advancement/Advancement.java	2023-12-31 03:26:51.924386402 +0000
@@ -7,6 +7,7 @@
 import java.util.Map;
 import java.util.Optional;
 import java.util.function.Consumer;
+import net.minecraft.advancement.criterion.CriterionValidator;
 import net.minecraft.item.ItemConvertible;
 import net.minecraft.item.ItemStack;
 import net.minecraft.loot.LootDataLookup;
@@ -16,8 +17,7 @@
 import net.minecraft.text.Text;
 import net.minecraft.text.Texts;
 import net.minecraft.text.component.AdvancementComponent;
-import net.minecraft.unmapped.C_jtpvewkp;
-import net.minecraft.unmapped.C_zybjffid;
+import net.minecraft.util.ErrorReporter;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.dynamic.Codecs;
@@ -49,12 +49,12 @@
    public static final Codec<Advancement> f_ncipkedb = Codecs.validate(
       RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(Identifier.CODEC, "parent").forGetter(Advancement::parent),
-                  Codecs.m_cjqijzpr(AdvancementDisplay.CODEC, "display").forGetter(Advancement::display),
-                  Codecs.m_aeryaqrd(AdvancementRewards.CODEC, "rewards", AdvancementRewards.NONE).forGetter(Advancement::rewards),
+                  Codecs.createStrictOptionalField(Identifier.CODEC, "parent").forGetter(Advancement::parent),
+                  Codecs.createStrictOptionalField(AdvancementDisplay.CODEC, "display").forGetter(Advancement::display),
+                  Codecs.createStrictOptionalField(AdvancementRewards.CODEC, "rewards", AdvancementRewards.NONE).forGetter(Advancement::rewards),
                   f_bpbcihch.fieldOf("criteria").forGetter(Advancement::criteria),
-                  Codecs.m_cjqijzpr(AdvancementRequirements.CODEC, "requirements").forGetter(arg -> Optional.of(arg.requirements())),
-                  Codecs.m_aeryaqrd(Codec.BOOL, "sends_telemetry_event", false).forGetter(Advancement::sendsTelemetryEvent)
+                  Codecs.createStrictOptionalField(AdvancementRequirements.CODEC, "requirements").forGetter(arg -> Optional.of(arg.requirements())),
+                  Codecs.createStrictOptionalField(Codec.BOOL, "sends_telemetry_event", false).forGetter(Advancement::sendsTelemetryEvent)
                )
                .apply(instance, (optional, optional2, arg, map, optional3, arg2) -> {
                   AdvancementRequirements lv = (AdvancementRequirements)optional3.orElseGet(() -> AdvancementRequirements.allOf(map.keySet()));
@@ -143,10 +143,10 @@
    /**
     * Mapping not found
     */
-   public void m_jvmczssc(C_jtpvewkp arg, LootDataLookup arg2) {
+   public void m_jvmczssc(ErrorReporter arg, LootDataLookup arg2) {
       this.criteria.forEach((string, arg3) -> {
-         C_zybjffid lv = new C_zybjffid(arg.m_nnxeyyzv(string), arg2);
-         arg3.conditions().m_mmotanow(lv);
+         CriterionValidator lv = new CriterionValidator(arg.forChild(string), arg2);
+         arg3.conditions().validate(lv);
       });
    }
 
diff -bur namedTargetSrc/net/minecraft/advancement/AdvancementProgress.java namedSrc/net/minecraft/advancement/AdvancementProgress.java
--- namedTargetSrc/net/minecraft/advancement/AdvancementProgress.java	2023-12-31 03:27:58.100163629 +0000
+++ namedSrc/net/minecraft/advancement/AdvancementProgress.java	2023-12-31 03:26:51.868386584 +0000
@@ -36,7 +36,7 @@
     * @mapping {@literal hashed f_tfwtcnnx Lnet/minecraft/unmapped/C_rpzbknxp;f_tfwtcnnx:Lcom/mojang/serialization/Codec;}
     * @mapping {@literal named COMPLETED_TIME_CODEC Lnet/minecraft/advancement/AdvancementProgress;COMPLETED_TIME_CODEC:Lcom/mojang/serialization/Codec;}
     */
-   private static final Codec<Instant> COMPLETED_TIME_CODEC = Codecs.m_ifdvuwzy(COMPLETED_TIME_FORMAT)
+   private static final Codec<Instant> COMPLETED_TIME_CODEC = Codecs.formattedTime(COMPLETED_TIME_FORMAT)
       .xmap(Instant::from, instant -> instant.atZone(ZoneId.systemDefault()));
    /**
     * @mapping {@literal hashed f_ojpamimu Lnet/minecraft/unmapped/C_rpzbknxp;f_ojpamimu:Lcom/mojang/serialization/Codec;}
@@ -56,7 +56,7 @@
     */
    public static final Codec<AdvancementProgress> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(CRITERIA_CODEC, "criteria", Map.of()).forGetter(progress -> progress.criteriaProgresses),
+               Codecs.createStrictOptionalField(CRITERIA_CODEC, "criteria", Map.of()).forGetter(progress -> progress.criteriaProgresses),
                Codec.BOOL.fieldOf("done").orElse(true).forGetter(AdvancementProgress::isComplete)
             )
             .apply(instance, (map, arg) -> new AdvancementProgress(new HashMap(map)))
diff -bur namedTargetSrc/net/minecraft/advancement/AdvancementRewards.java namedSrc/net/minecraft/advancement/AdvancementRewards.java
--- namedTargetSrc/net/minecraft/advancement/AdvancementRewards.java	2023-12-31 03:27:58.276163044 +0000
+++ namedSrc/net/minecraft/advancement/AdvancementRewards.java	2023-12-31 03:26:52.084385881 +0000
@@ -29,10 +29,10 @@
     */
    public static final Codec<AdvancementRewards> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(Codec.INT, "experience", 0).forGetter(AdvancementRewards::experience),
-               Codecs.m_aeryaqrd(Identifier.CODEC.listOf(), "loot", List.of()).forGetter(AdvancementRewards::loot),
-               Codecs.m_aeryaqrd(Identifier.CODEC.listOf(), "recipes", List.of()).forGetter(AdvancementRewards::recipes),
-               Codecs.m_cjqijzpr(C_uxzryfxv.CODEC, "function").forGetter(AdvancementRewards::function)
+               Codecs.createStrictOptionalField(Codec.INT, "experience", 0).forGetter(AdvancementRewards::experience),
+               Codecs.createStrictOptionalField(Identifier.CODEC.listOf(), "loot", List.of()).forGetter(AdvancementRewards::loot),
+               Codecs.createStrictOptionalField(Identifier.CODEC.listOf(), "recipes", List.of()).forGetter(AdvancementRewards::recipes),
+               Codecs.createStrictOptionalField(C_uxzryfxv.CODEC, "function").forGetter(AdvancementRewards::function)
             )
             .apply(instance, AdvancementRewards::new)
    );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/AbstractCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/AbstractCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/AbstractCriterionTrigger.java	2023-12-31 03:27:58.116163576 +0000
+++ namedSrc/net/minecraft/advancement/criterion/AbstractCriterionTrigger.java	2023-12-31 03:26:51.888386519 +0000
@@ -13,7 +13,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 
 /**
  * @mapping {@literal hashed net/minecraft/unmapped/C_bmtrgtzi}
@@ -100,12 +99,13 @@
        * Mapping not found
        */
       @Override
-      default void m_mmotanow(C_zybjffid arg) {
-         arg.m_nhvyihxi(this.player(), ".player");
+      default void validate(CriterionValidator validator) {
+         validator.validateEntity(this.player(), ".player");
       }
 
       /**
-       * Mapping not found
+       * @mapping {@literal hashed m_klqamsnl Lnet/minecraft/unmapped/C_bmtrgtzi$C_hjljikdm;m_klqamsnl()Ljava/util/Optional;}
+       * @mapping {@literal named player Lnet/minecraft/advancement/criterion/AbstractCriterionTrigger$Conditions;player()Ljava/util/Optional;}
        */
       Optional<ContextAwarePredicate> player();
    }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/BeeNestDestroyedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/BeeNestDestroyedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/BeeNestDestroyedCriterionTrigger.java	2023-12-31 03:27:58.236163177 +0000
+++ namedSrc/net/minecraft/advancement/criterion/BeeNestDestroyedCriterionTrigger.java	2023-12-31 03:26:52.028386063 +0000
@@ -25,7 +25,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<BeeNestDestroyedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<BeeNestDestroyedCriterionTrigger.Conditions> getCodec() {
       return BeeNestDestroyedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -50,10 +50,10 @@
        */
       public static final Codec<BeeNestDestroyedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(BeeNestDestroyedCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(Registries.BLOCK.holderByNameCodec(), "block").forGetter(BeeNestDestroyedCriterionTrigger.Conditions::block),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(BeeNestDestroyedCriterionTrigger.Conditions::item),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "num_bees_inside", NumberRange.IntRange.ANY)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(BeeNestDestroyedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(Registries.BLOCK.holderByNameCodec(), "block").forGetter(BeeNestDestroyedCriterionTrigger.Conditions::block),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(BeeNestDestroyedCriterionTrigger.Conditions::item),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "num_bees_inside", NumberRange.IntRange.ANY)
                      .forGetter(BeeNestDestroyedCriterionTrigger.Conditions::beesInside)
                )
                .apply(instance, BeeNestDestroyedCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/BredAnimalsCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/BredAnimalsCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/BredAnimalsCriterionTrigger.java	2023-12-31 03:27:58.092163655 +0000
+++ namedSrc/net/minecraft/advancement/criterion/BredAnimalsCriterionTrigger.java	2023-12-31 03:26:51.856386622 +0000
@@ -10,7 +10,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 import org.jetbrains.annotations.Nullable;
 
@@ -23,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<BredAnimalsCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<BredAnimalsCriterionTrigger.Conditions> getCodec() {
       return BredAnimalsCriterionTrigger.Conditions.CODEC;
    }
 
@@ -54,10 +53,10 @@
        */
       public static final Codec<BredAnimalsCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(BredAnimalsCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "parent").forGetter(BredAnimalsCriterionTrigger.Conditions::parent),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "partner").forGetter(BredAnimalsCriterionTrigger.Conditions::partner),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "child").forGetter(BredAnimalsCriterionTrigger.Conditions::child)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(BredAnimalsCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "parent").forGetter(BredAnimalsCriterionTrigger.Conditions::parent),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "partner").forGetter(BredAnimalsCriterionTrigger.Conditions::partner),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "child").forGetter(BredAnimalsCriterionTrigger.Conditions::child)
                )
                .apply(instance, BredAnimalsCriterionTrigger.Conditions::new)
       );
@@ -124,11 +123,11 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.parent, ".parent");
-         arg.m_nhvyihxi(this.partner, ".partner");
-         arg.m_nhvyihxi(this.child, ".child");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.parent, ".parent");
+         validator.validateEntity(this.partner, ".partner");
+         validator.validateEntity(this.child, ".child");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/BrewedPotionCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/BrewedPotionCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/BrewedPotionCriterionTrigger.java	2023-12-31 03:27:58.128163536 +0000
+++ namedSrc/net/minecraft/advancement/criterion/BrewedPotionCriterionTrigger.java	2023-12-31 03:26:51.904386467 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<BrewedPotionCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<BrewedPotionCriterionTrigger.Conditions> getCodec() {
       return BrewedPotionCriterionTrigger.Conditions.CODEC;
    }
 
@@ -29,8 +29,8 @@
     * @mapping {@literal hashed m_jlnjsigz Lnet/minecraft/unmapped/C_opfhzgki;m_jlnjsigz(Lnet/minecraft/unmapped/C_mxrobsgg;Lnet/minecraft/unmapped/C_cjzoxshv;)V}
     * @mapping {@literal named trigger Lnet/minecraft/advancement/criterion/BrewedPotionCriterionTrigger;trigger(Lnet/minecraft/server/network/ServerPlayerEntity;Lnet/minecraft/registry/Holder;)V}
     */
-   public void trigger(ServerPlayerEntity player, Holder<Potion> arg2) {
-      this.trigger(player, arg2x -> arg2x.matches(arg2));
+   public void trigger(ServerPlayerEntity player, Holder<Potion> potion) {
+      this.trigger(player, arg2 -> arg2.matches(potion));
    }
 
    /**
@@ -44,8 +44,8 @@
        */
       public static final Codec<BrewedPotionCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(BrewedPotionCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(Registries.POTION.holderByNameCodec(), "potion").forGetter(BrewedPotionCriterionTrigger.Conditions::potion)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(BrewedPotionCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(Registries.POTION.holderByNameCodec(), "potion").forGetter(BrewedPotionCriterionTrigger.Conditions::potion)
                )
                .apply(instance, BrewedPotionCriterionTrigger.Conditions::new)
       );
@@ -62,8 +62,8 @@
        * @mapping {@literal hashed m_smuruvko Lnet/minecraft/unmapped/C_opfhzgki$C_nhlhuijz;m_smuruvko(Lnet/minecraft/unmapped/C_cjzoxshv;)Z}
        * @mapping {@literal named matches Lnet/minecraft/advancement/criterion/BrewedPotionCriterionTrigger$Conditions;matches(Lnet/minecraft/registry/Holder;)Z}
        */
-      public boolean matches(Holder<Potion> arg) {
-         return !this.potion.isPresent() || ((Holder)this.potion.get()).equals(arg);
+      public boolean matches(Holder<Potion> potion) {
+         return !this.potion.isPresent() || ((Holder)this.potion.get()).equals(potion);
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ChangedDimensionCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ChangedDimensionCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ChangedDimensionCriterionTrigger.java	2023-12-31 03:27:58.120163563 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ChangedDimensionCriterionTrigger.java	2023-12-31 03:26:51.892386505 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ChangedDimensionCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ChangedDimensionCriterionTrigger.Conditions> getCodec() {
       return ChangedDimensionCriterionTrigger.Conditions.CODEC;
    }
 
@@ -45,9 +45,9 @@
        */
       public static final Codec<ChangedDimensionCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ChangedDimensionCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(RegistryKey.codec(RegistryKeys.WORLD), "from").forGetter(ChangedDimensionCriterionTrigger.Conditions::from),
-                  Codecs.m_cjqijzpr(RegistryKey.codec(RegistryKeys.WORLD), "to").forGetter(ChangedDimensionCriterionTrigger.Conditions::to)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(ChangedDimensionCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(RegistryKey.codec(RegistryKeys.WORLD), "from").forGetter(ChangedDimensionCriterionTrigger.Conditions::from),
+                  Codecs.createStrictOptionalField(RegistryKey.codec(RegistryKeys.WORLD), "to").forGetter(ChangedDimensionCriterionTrigger.Conditions::to)
                )
                .apply(instance, ChangedDimensionCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ChanneledLightningCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ChanneledLightningCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ChanneledLightningCriterionTrigger.java	2023-12-31 03:27:58.192163323 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ChanneledLightningCriterionTrigger.java	2023-12-31 03:26:51.976386232 +0000
@@ -12,7 +12,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -24,7 +23,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ChanneledLightningCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ChanneledLightningCriterionTrigger.Conditions> getCodec() {
       return ChanneledLightningCriterionTrigger.Conditions.CODEC;
    }
 
@@ -50,8 +49,9 @@
        */
       public static final Codec<ChanneledLightningCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ChanneledLightningCriterionTrigger.Conditions::player),
-                  Codecs.m_aeryaqrd(EntityPredicate.f_uvagahsk.listOf(), "victims", List.of())
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(ChanneledLightningCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC.listOf(), "victims", List.of())
                      .forGetter(ChanneledLightningCriterionTrigger.Conditions::victims)
                )
                .apply(instance, ChanneledLightningCriterionTrigger.Conditions::new)
@@ -93,9 +93,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_svooszyh(this.victims, ".victims");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntities(this.victims, ".victims");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ConstructBeaconCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ConstructBeaconCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ConstructBeaconCriterionTrigger.java	2023-12-31 03:27:58.064163749 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ConstructBeaconCriterionTrigger.java	2023-12-31 03:26:51.848386649 +0000
@@ -19,7 +19,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ConstructBeaconCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ConstructBeaconCriterionTrigger.Conditions> getCodec() {
       return ConstructBeaconCriterionTrigger.Conditions.CODEC;
    }
 
@@ -42,8 +42,9 @@
        */
       public static final Codec<ConstructBeaconCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ConstructBeaconCriterionTrigger.Conditions::player),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "level", NumberRange.IntRange.ANY).forGetter(ConstructBeaconCriterionTrigger.Conditions::level)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(ConstructBeaconCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "level", NumberRange.IntRange.ANY)
+                     .forGetter(ConstructBeaconCriterionTrigger.Conditions::level)
                )
                .apply(instance, ConstructBeaconCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ConsumeItemCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ConsumeItemCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ConsumeItemCriterionTrigger.java	2023-12-31 03:27:58.228163204 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ConsumeItemCriterionTrigger.java	2023-12-31 03:26:52.016386103 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ConsumeItemCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ConsumeItemCriterionTrigger.Conditions> getCodec() {
       return ConsumeItemCriterionTrigger.Conditions.CODEC;
    }
 
@@ -44,8 +44,8 @@
        */
       public static final Codec<ConsumeItemCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ConsumeItemCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(ConsumeItemCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(ConsumeItemCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(ConsumeItemCriterionTrigger.Conditions::item)
                )
                .apply(instance, ConsumeItemCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/CriterionConditions.java namedSrc/net/minecraft/advancement/criterion/CriterionConditions.java
--- namedTargetSrc/net/minecraft/advancement/criterion/CriterionConditions.java	2023-12-31 03:27:58.304162951 +0000
+++ namedSrc/net/minecraft/advancement/criterion/CriterionConditions.java	2023-12-31 03:26:52.128385740 +0000
@@ -1,14 +1,13 @@
 package net.minecraft.advancement.criterion;
 
-import net.minecraft.unmapped.C_zybjffid;
-
 /**
  * @mapping {@literal hashed net/minecraft/unmapped/C_zkhebbek}
  * @mapping {@literal named net/minecraft/advancement/criterion/CriterionConditions}
  */
 public interface CriterionConditions {
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_mmotanow Lnet/minecraft/unmapped/C_zkhebbek;m_mmotanow(Lnet/minecraft/unmapped/C_zybjffid;)V}
+    * @mapping {@literal named validate Lnet/minecraft/advancement/criterion/CriterionConditions;validate(Lnet/minecraft/advancement/criterion/CriterionValidator;)V}
     */
-   void m_mmotanow(C_zybjffid arg);
+   void validate(CriterionValidator validator);
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/CriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/CriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/CriterionTrigger.java	2023-12-31 03:27:58.192163323 +0000
+++ namedSrc/net/minecraft/advancement/criterion/CriterionTrigger.java	2023-12-31 03:26:51.980386220 +0000
@@ -29,9 +29,10 @@
    void endTracking(PlayerAdvancementTracker tracker);
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_xrbtiope Lnet/minecraft/unmapped/C_mysyaxfs;m_xrbtiope()Lcom/mojang/serialization/Codec;}
+    * @mapping {@literal named getCodec Lnet/minecraft/advancement/criterion/CriterionTrigger;getCodec()Lcom/mojang/serialization/Codec;}
     */
-   Codec<T> m_xrbtiope();
+   Codec<T> getCodec();
 
    /**
     * @mapping {@literal hashed m_eenzxdpn Lnet/minecraft/unmapped/C_mysyaxfs;m_eenzxdpn(Lnet/minecraft/unmapped/C_zkhebbek;)Lnet/minecraft/unmapped/C_rzypsigz;}
Only in namedSrc/net/minecraft/advancement/criterion: CriterionValidator.java
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/CuredZombieVillagerCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/CuredZombieVillagerCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/CuredZombieVillagerCriterionTrigger.java	2023-12-31 03:27:58.212163257 +0000
+++ namedSrc/net/minecraft/advancement/criterion/CuredZombieVillagerCriterionTrigger.java	2023-12-31 03:26:52.000386154 +0000
@@ -10,7 +10,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -22,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<CuredZombieVillagerCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<CuredZombieVillagerCriterionTrigger.Conditions> getCodec() {
       return CuredZombieVillagerCriterionTrigger.Conditions.CODEC;
    }
 
@@ -49,9 +48,12 @@
        */
       public static final Codec<CuredZombieVillagerCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(CuredZombieVillagerCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "zombie").forGetter(CuredZombieVillagerCriterionTrigger.Conditions::zombie),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "villager").forGetter(CuredZombieVillagerCriterionTrigger.Conditions::villager)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(CuredZombieVillagerCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "zombie")
+                     .forGetter(CuredZombieVillagerCriterionTrigger.Conditions::zombie),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "villager")
+                     .forGetter(CuredZombieVillagerCriterionTrigger.Conditions::villager)
                )
                .apply(instance, CuredZombieVillagerCriterionTrigger.Conditions::new)
       );
@@ -80,10 +82,10 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.zombiePredicate, ".zombie");
-         arg.m_nhvyihxi(this.villagerPredicate, ".villager");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.zombiePredicate, ".zombie");
+         validator.validateEntity(this.villagerPredicate, ".villager");
       }
 
       /**
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/EffectsChangedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/EffectsChangedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/EffectsChangedCriterionTrigger.java	2023-12-31 03:27:58.256163110 +0000
+++ namedSrc/net/minecraft/advancement/criterion/EffectsChangedCriterionTrigger.java	2023-12-31 03:26:52.056385972 +0000
@@ -11,7 +11,6 @@
 import net.minecraft.predicate.entity.EntityEffectPredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 import org.jetbrains.annotations.Nullable;
 
@@ -24,7 +23,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<EffectsChangedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<EffectsChangedCriterionTrigger.Conditions> getCodec() {
       return EffectsChangedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -49,9 +48,9 @@
        */
       public static final Codec<EffectsChangedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(EffectsChangedCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityEffectPredicate.CODEC, "effects").forGetter(EffectsChangedCriterionTrigger.Conditions::effects),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "source").forGetter(EffectsChangedCriterionTrigger.Conditions::source)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(EffectsChangedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityEffectPredicate.CODEC, "effects").forGetter(EffectsChangedCriterionTrigger.Conditions::effects),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "source").forGetter(EffectsChangedCriterionTrigger.Conditions::source)
                )
                .apply(instance, EffectsChangedCriterionTrigger.Conditions::new)
       );
@@ -89,9 +88,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.source, ".source");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.source, ".source");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/EnchantedItemCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/EnchantedItemCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/EnchantedItemCriterionTrigger.java	2023-12-31 03:27:58.152163456 +0000
+++ namedSrc/net/minecraft/advancement/criterion/EnchantedItemCriterionTrigger.java	2023-12-31 03:26:51.928386388 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<EnchantedItemCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<EnchantedItemCriterionTrigger.Conditions> getCodec() {
       return EnchantedItemCriterionTrigger.Conditions.CODEC;
    }
 
@@ -45,9 +45,10 @@
        */
       public static final Codec<EnchantedItemCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(EnchantedItemCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(EnchantedItemCriterionTrigger.Conditions::item),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "levels", NumberRange.IntRange.ANY).forGetter(EnchantedItemCriterionTrigger.Conditions::levels)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(EnchantedItemCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(EnchantedItemCriterionTrigger.Conditions::item),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "levels", NumberRange.IntRange.ANY)
+                     .forGetter(EnchantedItemCriterionTrigger.Conditions::levels)
                )
                .apply(instance, EnchantedItemCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/EnterBlockCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/EnterBlockCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/EnterBlockCriterionTrigger.java	2023-12-31 03:27:58.192163323 +0000
+++ namedSrc/net/minecraft/advancement/criterion/EnterBlockCriterionTrigger.java	2023-12-31 03:26:51.976386232 +0000
@@ -24,7 +24,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<EnterBlockCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<EnterBlockCriterionTrigger.Conditions> getCodec() {
       return EnterBlockCriterionTrigger.Conditions.CODEC;
    }
 
@@ -49,9 +49,9 @@
       public static final Codec<EnterBlockCriterionTrigger.Conditions> CODEC = Codecs.validate(
          RecordCodecBuilder.create(
             instance -> instance.group(
-                     Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(EnterBlockCriterionTrigger.Conditions::player),
-                     Codecs.m_cjqijzpr(Registries.BLOCK.holderByNameCodec(), "block").forGetter(EnterBlockCriterionTrigger.Conditions::block),
-                     Codecs.m_cjqijzpr(StatePredicate.f_oreeybze, "state").forGetter(EnterBlockCriterionTrigger.Conditions::state)
+                     Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(EnterBlockCriterionTrigger.Conditions::player),
+                     Codecs.createStrictOptionalField(Registries.BLOCK.holderByNameCodec(), "block").forGetter(EnterBlockCriterionTrigger.Conditions::block),
+                     Codecs.createStrictOptionalField(StatePredicate.f_oreeybze, "state").forGetter(EnterBlockCriterionTrigger.Conditions::state)
                   )
                   .apply(instance, EnterBlockCriterionTrigger.Conditions::new)
          ),
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/EntityHurtPlayerCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/EntityHurtPlayerCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/EntityHurtPlayerCriterionTrigger.java	2023-12-31 03:27:58.172163389 +0000
+++ namedSrc/net/minecraft/advancement/criterion/EntityHurtPlayerCriterionTrigger.java	2023-12-31 03:26:51.952386311 +0000
@@ -20,7 +20,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<EntityHurtPlayerCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<EntityHurtPlayerCriterionTrigger.Conditions> getCodec() {
       return EntityHurtPlayerCriterionTrigger.Conditions.CODEC;
    }
 
@@ -43,8 +43,8 @@
        */
       public static final Codec<EntityHurtPlayerCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(EntityHurtPlayerCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(DamagePredicate.CODEC, "damage").forGetter(EntityHurtPlayerCriterionTrigger.Conditions::damage)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(EntityHurtPlayerCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(DamagePredicate.CODEC, "damage").forGetter(EntityHurtPlayerCriterionTrigger.Conditions::damage)
                )
                .apply(instance, EntityHurtPlayerCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/FilledBucketCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/FilledBucketCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/FilledBucketCriterionTrigger.java	2023-12-31 03:27:58.228163204 +0000
+++ namedSrc/net/minecraft/advancement/criterion/FilledBucketCriterionTrigger.java	2023-12-31 03:26:52.020386089 +0000
@@ -20,7 +20,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<FilledBucketCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<FilledBucketCriterionTrigger.Conditions> getCodec() {
       return FilledBucketCriterionTrigger.Conditions.CODEC;
    }
 
@@ -43,8 +43,8 @@
        */
       public static final Codec<FilledBucketCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(FilledBucketCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(FilledBucketCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(FilledBucketCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(FilledBucketCriterionTrigger.Conditions::item)
                )
                .apply(instance, FilledBucketCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/FishingRodHookedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/FishingRodHookedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/FishingRodHookedCriterionTrigger.java	2023-12-31 03:27:58.320162898 +0000
+++ namedSrc/net/minecraft/advancement/criterion/FishingRodHookedCriterionTrigger.java	2023-12-31 03:26:52.156385649 +0000
@@ -15,7 +15,6 @@
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.predicate.item.ItemPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -27,7 +26,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<FishingRodHookedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<FishingRodHookedCriterionTrigger.Conditions> getCodec() {
       return FishingRodHookedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -55,10 +54,10 @@
        */
       public static final Codec<FishingRodHookedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(FishingRodHookedCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "rod").forGetter(FishingRodHookedCriterionTrigger.Conditions::rod),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(FishingRodHookedCriterionTrigger.Conditions::entity),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(FishingRodHookedCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(FishingRodHookedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "rod").forGetter(FishingRodHookedCriterionTrigger.Conditions::rod),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity").forGetter(FishingRodHookedCriterionTrigger.Conditions::entity),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(FishingRodHookedCriterionTrigger.Conditions::item)
                )
                .apply(instance, FishingRodHookedCriterionTrigger.Conditions::new)
       );
@@ -111,9 +110,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.hookedEntity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.hookedEntity, ".entity");
       }
 
       /**
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ImpossibleCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ImpossibleCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ImpossibleCriterionTrigger.java	2023-12-31 03:27:58.248163137 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ImpossibleCriterionTrigger.java	2023-12-31 03:26:52.044386012 +0000
@@ -2,7 +2,6 @@
 
 import com.mojang.serialization.Codec;
 import net.minecraft.advancement.PlayerAdvancementTracker;
-import net.minecraft.unmapped.C_zybjffid;
 
 /**
  * @mapping {@literal hashed net/minecraft/unmapped/C_hzboreux}
@@ -34,7 +33,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ImpossibleCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ImpossibleCriterionTrigger.Conditions> getCodec() {
       return ImpossibleCriterionTrigger.Conditions.CODEC;
    }
 
@@ -53,7 +52,7 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
+      public void validate(CriterionValidator validator) {
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/InventoryChangedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/InventoryChangedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/InventoryChangedCriterionTrigger.java	2023-12-31 03:27:58.184163349 +0000
+++ namedSrc/net/minecraft/advancement/criterion/InventoryChangedCriterionTrigger.java	2023-12-31 03:26:51.968386259 +0000
@@ -27,7 +27,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<InventoryChangedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<InventoryChangedCriterionTrigger.Conditions> getCodec() {
       return InventoryChangedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -76,14 +76,15 @@
        */
       public static final Codec<InventoryChangedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(InventoryChangedCriterionTrigger.Conditions::player),
-                  Codecs.m_aeryaqrd(
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(InventoryChangedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(
                         InventoryChangedCriterionTrigger.Conditions.C_iakmulom.CODEC,
                         "slots",
                         InventoryChangedCriterionTrigger.Conditions.C_iakmulom.f_yrzishql
                      )
                      .forGetter(InventoryChangedCriterionTrigger.Conditions::slots),
-                  Codecs.m_aeryaqrd(ItemPredicate.f_jzkgbumt.listOf(), "items", List.of()).forGetter(InventoryChangedCriterionTrigger.Conditions::items)
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt.listOf(), "items", List.of())
+                     .forGetter(InventoryChangedCriterionTrigger.Conditions::items)
                )
                .apply(instance, InventoryChangedCriterionTrigger.Conditions::new)
       );
@@ -173,11 +174,11 @@
           */
          public static final Codec<InventoryChangedCriterionTrigger.Conditions.C_iakmulom> CODEC = RecordCodecBuilder.create(
             instance -> instance.group(
-                     Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "occupied", NumberRange.IntRange.ANY)
+                     Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "occupied", NumberRange.IntRange.ANY)
                         .forGetter(InventoryChangedCriterionTrigger.Conditions.C_iakmulom::occupied),
-                     Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "full", NumberRange.IntRange.ANY)
+                     Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "full", NumberRange.IntRange.ANY)
                         .forGetter(InventoryChangedCriterionTrigger.Conditions.C_iakmulom::full),
-                     Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "empty", NumberRange.IntRange.ANY)
+                     Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "empty", NumberRange.IntRange.ANY)
                         .forGetter(InventoryChangedCriterionTrigger.Conditions.C_iakmulom::empty)
                   )
                   .apply(instance, InventoryChangedCriterionTrigger.Conditions.C_iakmulom::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ItemDurabilityChangedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ItemDurabilityChangedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ItemDurabilityChangedCriterionTrigger.java	2023-12-31 03:27:58.328162871 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ItemDurabilityChangedCriterionTrigger.java	2023-12-31 03:26:52.164385623 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ItemDurabilityChangedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ItemDurabilityChangedCriterionTrigger.Conditions> getCodec() {
       return ItemDurabilityChangedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -46,11 +46,12 @@
        */
       public static final Codec<ItemDurabilityChangedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ItemDurabilityChangedCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(ItemDurabilityChangedCriterionTrigger.Conditions::item),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "durability", NumberRange.IntRange.ANY)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(ItemDurabilityChangedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(ItemDurabilityChangedCriterionTrigger.Conditions::item),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "durability", NumberRange.IntRange.ANY)
                      .forGetter(ItemDurabilityChangedCriterionTrigger.Conditions::durability),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "delta", NumberRange.IntRange.ANY)
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "delta", NumberRange.IntRange.ANY)
                      .forGetter(ItemDurabilityChangedCriterionTrigger.Conditions::delta)
                )
                .apply(instance, ItemDurabilityChangedCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ItemUsedOnLocationCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ItemUsedOnLocationCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ItemUsedOnLocationCriterionTrigger.java	2023-12-31 03:27:58.152163456 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ItemUsedOnLocationCriterionTrigger.java	2023-12-31 03:26:51.924386402 +0000
@@ -22,7 +22,6 @@
 import net.minecraft.predicate.item.ItemPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
 import net.minecraft.server.world.ServerWorld;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 import net.minecraft.util.math.BlockPos;
 
@@ -35,7 +34,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ItemUsedOnLocationCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ItemUsedOnLocationCriterionTrigger.Conditions> getCodec() {
       return ItemUsedOnLocationCriterionTrigger.Conditions.CODEC;
    }
 
@@ -68,8 +67,9 @@
        */
       public static final Codec<ItemUsedOnLocationCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ItemUsedOnLocationCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ContextAwarePredicate.CODEC, "location").forGetter(ItemUsedOnLocationCriterionTrigger.Conditions::location)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(ItemUsedOnLocationCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ContextAwarePredicate.CODEC, "location").forGetter(ItemUsedOnLocationCriterionTrigger.Conditions::location)
                )
                .apply(instance, ItemUsedOnLocationCriterionTrigger.Conditions::new)
       );
@@ -135,9 +135,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         this.location.ifPresent(arg2 -> arg.m_fgshsjad(arg2, LootContextTypes.ADVANCEMENT_LOCATION, ".location"));
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         this.location.ifPresent(arg2 -> validator.validate(arg2, LootContextTypes.ADVANCEMENT_LOCATION, ".location"));
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/KilledByCrossbowCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/KilledByCrossbowCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/KilledByCrossbowCriterionTrigger.java	2023-12-31 03:27:58.228163204 +0000
+++ namedSrc/net/minecraft/advancement/criterion/KilledByCrossbowCriterionTrigger.java	2023-12-31 03:26:52.016386103 +0000
@@ -17,7 +17,6 @@
 import net.minecraft.predicate.NumberRange;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -29,7 +28,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<KilledByCrossbowCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<KilledByCrossbowCriterionTrigger.Conditions> getCodec() {
       return KilledByCrossbowCriterionTrigger.Conditions.CODEC;
    }
 
@@ -61,9 +60,10 @@
        */
       public static final Codec<KilledByCrossbowCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(KilledByCrossbowCriterionTrigger.Conditions::player),
-                  Codecs.m_aeryaqrd(EntityPredicate.f_uvagahsk.listOf(), "victims", List.of()).forGetter(KilledByCrossbowCriterionTrigger.Conditions::victims),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "unique_entity_types", NumberRange.IntRange.ANY)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(KilledByCrossbowCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC.listOf(), "victims", List.of())
+                     .forGetter(KilledByCrossbowCriterionTrigger.Conditions::victims),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "unique_entity_types", NumberRange.IntRange.ANY)
                      .forGetter(KilledByCrossbowCriterionTrigger.Conditions::uniqueEntityTypes)
                )
                .apply(instance, KilledByCrossbowCriterionTrigger.Conditions::new)
@@ -120,9 +120,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_svooszyh(this.victims, ".victims");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntities(this.victims, ".victims");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/LevitationCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/LevitationCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/LevitationCriterionTrigger.java	2023-12-31 03:27:58.128163536 +0000
+++ namedSrc/net/minecraft/advancement/criterion/LevitationCriterionTrigger.java	2023-12-31 03:26:51.904386467 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<LevitationCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<LevitationCriterionTrigger.Conditions> getCodec() {
       return LevitationCriterionTrigger.Conditions.CODEC;
    }
 
@@ -45,9 +45,9 @@
        */
       public static final Codec<LevitationCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(LevitationCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(DistancePredicate.CODEC, "distance").forGetter(LevitationCriterionTrigger.Conditions::distance),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "duration", NumberRange.IntRange.ANY)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(LevitationCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(DistancePredicate.CODEC, "distance").forGetter(LevitationCriterionTrigger.Conditions::distance),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "duration", NumberRange.IntRange.ANY)
                      .forGetter(LevitationCriterionTrigger.Conditions::duration)
                )
                .apply(instance, LevitationCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/LightningStrikeCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/LightningStrikeCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/LightningStrikeCriterionTrigger.java	2023-12-31 03:27:58.164163416 +0000
+++ namedSrc/net/minecraft/advancement/criterion/LightningStrikeCriterionTrigger.java	2023-12-31 03:26:51.940386349 +0000
@@ -12,7 +12,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -24,7 +23,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<LightningStrikeCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<LightningStrikeCriterionTrigger.Conditions> getCodec() {
       return LightningStrikeCriterionTrigger.Conditions.CODEC;
    }
 
@@ -52,9 +51,11 @@
        */
       public static final Codec<LightningStrikeCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(LightningStrikeCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "lightning").forGetter(LightningStrikeCriterionTrigger.Conditions::lightning),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "bystander").forGetter(LightningStrikeCriterionTrigger.Conditions::bystander)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(LightningStrikeCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "lightning")
+                     .forGetter(LightningStrikeCriterionTrigger.Conditions::lightning),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "bystander")
+                     .forGetter(LightningStrikeCriterionTrigger.Conditions::bystander)
                )
                .apply(instance, LightningStrikeCriterionTrigger.Conditions::new)
       );
@@ -86,10 +87,10 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.lightning, ".lightning");
-         arg.m_nhvyihxi(this.bystander, ".bystander");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.lightning, ".lightning");
+         validator.validateEntity(this.bystander, ".bystander");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/LocationCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/LocationCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/LocationCriterionTrigger.java	2023-12-31 03:27:58.244163150 +0000
+++ namedSrc/net/minecraft/advancement/criterion/LocationCriterionTrigger.java	2023-12-31 03:26:52.036386038 +0000
@@ -24,7 +24,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<LocationCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<LocationCriterionTrigger.Conditions> getCodec() {
       return LocationCriterionTrigger.Conditions.CODEC;
    }
 
@@ -46,7 +46,9 @@
        * @mapping {@literal named CODEC Lnet/minecraft/advancement/criterion/LocationCriterionTrigger$Conditions;CODEC:Lcom/mojang/serialization/Codec;}
        */
       public static final Codec<LocationCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
-         instance -> instance.group(Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(LocationCriterionTrigger.Conditions::player))
+         instance -> instance.group(
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(LocationCriterionTrigger.Conditions::player)
+               )
                .apply(instance, LocationCriterionTrigger.Conditions::new)
       );
 

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

View the diff here (2/3):
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/OnKilledCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/OnKilledCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/OnKilledCriterionTrigger.java	2023-12-31 03:27:58.164163416 +0000
+++ namedSrc/net/minecraft/advancement/criterion/OnKilledCriterionTrigger.java	2023-12-31 03:26:51.944386337 +0000
@@ -11,7 +11,6 @@
 import net.minecraft.predicate.entity.DamageSourcePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -23,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<OnKilledCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<OnKilledCriterionTrigger.Conditions> getCodec() {
       return OnKilledCriterionTrigger.Conditions.CODEC;
    }
 
@@ -48,9 +47,9 @@
        */
       public static final Codec<OnKilledCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(OnKilledCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(OnKilledCriterionTrigger.Conditions::entityPredicate),
-                  Codecs.m_cjqijzpr(DamageSourcePredicate.CODEC, "killing_blow").forGetter(OnKilledCriterionTrigger.Conditions::killingBlow)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(OnKilledCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity").forGetter(OnKilledCriterionTrigger.Conditions::entityPredicate),
+                  Codecs.createStrictOptionalField(DamageSourcePredicate.CODEC, "killing_blow").forGetter(OnKilledCriterionTrigger.Conditions::killingBlow)
                )
                .apply(instance, OnKilledCriterionTrigger.Conditions::new)
       );
@@ -219,9 +218,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.entity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.entity, ".entity");
       }
 
       /**
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/PickedUpThrownItemCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/PickedUpThrownItemCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/PickedUpThrownItemCriterionTrigger.java	2023-12-31 03:27:58.248163137 +0000
+++ namedSrc/net/minecraft/advancement/criterion/PickedUpThrownItemCriterionTrigger.java	2023-12-31 03:26:52.040386025 +0000
@@ -11,7 +11,6 @@
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.predicate.item.ItemPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 import org.jetbrains.annotations.Nullable;
 
@@ -24,7 +23,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<PickedUpThrownItemCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<PickedUpThrownItemCriterionTrigger.Conditions> getCodec() {
       return PickedUpThrownItemCriterionTrigger.Conditions.CODEC;
    }
 
@@ -49,9 +48,11 @@
        */
       public static final Codec<PickedUpThrownItemCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(PickedUpThrownItemCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(PickedUpThrownItemCriterionTrigger.Conditions::item),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(PickedUpThrownItemCriterionTrigger.Conditions::entity)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(PickedUpThrownItemCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(PickedUpThrownItemCriterionTrigger.Conditions::item),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity")
+                     .forGetter(PickedUpThrownItemCriterionTrigger.Conditions::entity)
                )
                .apply(instance, PickedUpThrownItemCriterionTrigger.Conditions::new)
       );
@@ -92,9 +93,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.entity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.entity, ".entity");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.java	2023-12-31 03:27:58.192163323 +0000
+++ namedSrc/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.java	2023-12-31 03:26:51.976386232 +0000
@@ -19,7 +19,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<PlayerGeneratesContainerLootCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<PlayerGeneratesContainerLootCriterionTrigger.Conditions> getCodec() {
       return PlayerGeneratesContainerLootCriterionTrigger.Conditions.CODEC;
    }
 
@@ -42,7 +42,8 @@
        */
       public static final Codec<PlayerGeneratesContainerLootCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(PlayerGeneratesContainerLootCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(PlayerGeneratesContainerLootCriterionTrigger.Conditions::player),
                   Identifier.CODEC.fieldOf("loot_table").forGetter(PlayerGeneratesContainerLootCriterionTrigger.Conditions::lootTable)
                )
                .apply(instance, PlayerGeneratesContainerLootCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/PlayerHurtEntityCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/PlayerHurtEntityCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/PlayerHurtEntityCriterionTrigger.java	2023-12-31 03:27:58.100163629 +0000
+++ namedSrc/net/minecraft/advancement/criterion/PlayerHurtEntityCriterionTrigger.java	2023-12-31 03:26:51.864386596 +0000
@@ -11,7 +11,6 @@
 import net.minecraft.predicate.DamagePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -23,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<PlayerHurtEntityCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<PlayerHurtEntityCriterionTrigger.Conditions> getCodec() {
       return PlayerHurtEntityCriterionTrigger.Conditions.CODEC;
    }
 
@@ -48,9 +47,9 @@
        */
       public static final Codec<PlayerHurtEntityCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(PlayerHurtEntityCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(DamagePredicate.CODEC, "damage").forGetter(PlayerHurtEntityCriterionTrigger.Conditions::damage),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(PlayerHurtEntityCriterionTrigger.Conditions::entity)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(PlayerHurtEntityCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(DamagePredicate.CODEC, "damage").forGetter(PlayerHurtEntityCriterionTrigger.Conditions::damage),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity").forGetter(PlayerHurtEntityCriterionTrigger.Conditions::entity)
                )
                .apply(instance, PlayerHurtEntityCriterionTrigger.Conditions::new)
       );
@@ -122,9 +121,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.entity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.entity, ".entity");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/PlayerInteractedWithEntityCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/PlayerInteractedWithEntityCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/PlayerInteractedWithEntityCriterionTrigger.java	2023-12-31 03:27:58.152163456 +0000
+++ namedSrc/net/minecraft/advancement/criterion/PlayerInteractedWithEntityCriterionTrigger.java	2023-12-31 03:26:51.928386388 +0000
@@ -11,7 +11,6 @@
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.predicate.item.ItemPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -23,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<PlayerInteractedWithEntityCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<PlayerInteractedWithEntityCriterionTrigger.Conditions> getCodec() {
       return PlayerInteractedWithEntityCriterionTrigger.Conditions.CODEC;
    }
 
@@ -48,9 +47,11 @@
        */
       public static final Codec<PlayerInteractedWithEntityCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(PlayerInteractedWithEntityCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(PlayerInteractedWithEntityCriterionTrigger.Conditions::item),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(PlayerInteractedWithEntityCriterionTrigger.Conditions::entity)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player")
+                     .forGetter(PlayerInteractedWithEntityCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(PlayerInteractedWithEntityCriterionTrigger.Conditions::item),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity")
+                     .forGetter(PlayerInteractedWithEntityCriterionTrigger.Conditions::entity)
                )
                .apply(instance, PlayerInteractedWithEntityCriterionTrigger.Conditions::new)
       );
@@ -92,9 +93,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.entity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.entity, ".entity");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/RecipeCraftedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/RecipeCraftedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/RecipeCraftedCriterionTrigger.java	2023-12-31 03:27:58.264163084 +0000
+++ namedSrc/net/minecraft/advancement/criterion/RecipeCraftedCriterionTrigger.java	2023-12-31 03:26:52.064385947 +0000
@@ -24,7 +24,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<RecipeCraftedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<RecipeCraftedCriterionTrigger.Conditions> getCodec() {
       return RecipeCraftedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -48,9 +48,9 @@
        */
       public static final Codec<RecipeCraftedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(RecipeCraftedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(RecipeCraftedCriterionTrigger.Conditions::player),
                   Identifier.CODEC.fieldOf("recipe_id").forGetter(RecipeCraftedCriterionTrigger.Conditions::recipeId),
-                  Codecs.m_aeryaqrd(ItemPredicate.f_jzkgbumt.listOf(), "ingredients", List.of())
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt.listOf(), "ingredients", List.of())
                      .forGetter(RecipeCraftedCriterionTrigger.Conditions::ingredients)
                )
                .apply(instance, RecipeCraftedCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/RecipeUnlockedCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/RecipeUnlockedCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/RecipeUnlockedCriterionTrigger.java	2023-12-31 03:27:58.328162871 +0000
+++ namedSrc/net/minecraft/advancement/criterion/RecipeUnlockedCriterionTrigger.java	2023-12-31 03:26:52.164385623 +0000
@@ -20,7 +20,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<RecipeUnlockedCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<RecipeUnlockedCriterionTrigger.Conditions> getCodec() {
       return RecipeUnlockedCriterionTrigger.Conditions.CODEC;
    }
 
@@ -51,7 +51,7 @@
        */
       public static final Codec<RecipeUnlockedCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(RecipeUnlockedCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(RecipeUnlockedCriterionTrigger.Conditions::player),
                   Identifier.CODEC.fieldOf("recipe").forGetter(RecipeUnlockedCriterionTrigger.Conditions::recipe)
                )
                .apply(instance, RecipeUnlockedCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/ShotCrossbowCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/ShotCrossbowCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/ShotCrossbowCriterionTrigger.java	2023-12-31 03:27:58.148163469 +0000
+++ namedSrc/net/minecraft/advancement/criterion/ShotCrossbowCriterionTrigger.java	2023-12-31 03:26:51.924386402 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<ShotCrossbowCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<ShotCrossbowCriterionTrigger.Conditions> getCodec() {
       return ShotCrossbowCriterionTrigger.Conditions.CODEC;
    }
 
@@ -44,8 +44,8 @@
        */
       public static final Codec<ShotCrossbowCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(ShotCrossbowCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(ShotCrossbowCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(ShotCrossbowCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(ShotCrossbowCriterionTrigger.Conditions::item)
                )
                .apply(instance, ShotCrossbowCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/SlideDownBlockCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/SlideDownBlockCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/SlideDownBlockCriterionTrigger.java	2023-12-31 03:27:58.292162991 +0000
+++ namedSrc/net/minecraft/advancement/criterion/SlideDownBlockCriterionTrigger.java	2023-12-31 03:26:52.112385791 +0000
@@ -24,7 +24,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<SlideDownBlockCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<SlideDownBlockCriterionTrigger.Conditions> getCodec() {
       return SlideDownBlockCriterionTrigger.Conditions.CODEC;
    }
 
@@ -49,9 +49,10 @@
       public static final Codec<SlideDownBlockCriterionTrigger.Conditions> CODEC = Codecs.validate(
          RecordCodecBuilder.create(
             instance -> instance.group(
-                     Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(SlideDownBlockCriterionTrigger.Conditions::player),
-                     Codecs.m_cjqijzpr(Registries.BLOCK.holderByNameCodec(), "block").forGetter(SlideDownBlockCriterionTrigger.Conditions::block),
-                     Codecs.m_cjqijzpr(StatePredicate.f_oreeybze, "state").forGetter(SlideDownBlockCriterionTrigger.Conditions::state)
+                     Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(SlideDownBlockCriterionTrigger.Conditions::player),
+                     Codecs.createStrictOptionalField(Registries.BLOCK.holderByNameCodec(), "block")
+                        .forGetter(SlideDownBlockCriterionTrigger.Conditions::block),
+                     Codecs.createStrictOptionalField(StatePredicate.f_oreeybze, "state").forGetter(SlideDownBlockCriterionTrigger.Conditions::state)
                   )
                   .apply(instance, SlideDownBlockCriterionTrigger.Conditions::new)
          ),
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/StartedRidingCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/StartedRidingCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/StartedRidingCriterionTrigger.java	2023-12-31 03:27:58.112163588 +0000
+++ namedSrc/net/minecraft/advancement/criterion/StartedRidingCriterionTrigger.java	2023-12-31 03:26:51.884386531 +0000
@@ -18,7 +18,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<StartedRidingCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<StartedRidingCriterionTrigger.Conditions> getCodec() {
       return StartedRidingCriterionTrigger.Conditions.CODEC;
    }
 
@@ -40,7 +40,9 @@
        * @mapping {@literal named CODEC Lnet/minecraft/advancement/criterion/StartedRidingCriterionTrigger$Conditions;CODEC:Lcom/mojang/serialization/Codec;}
        */
       public static final Codec<StartedRidingCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
-         instance -> instance.group(Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(StartedRidingCriterionTrigger.Conditions::player))
+         instance -> instance.group(
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(StartedRidingCriterionTrigger.Conditions::player)
+               )
                .apply(instance, StartedRidingCriterionTrigger.Conditions::new)
       );
 
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/SummonedEntityCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/SummonedEntityCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/SummonedEntityCriterionTrigger.java	2023-12-31 03:27:58.188163337 +0000
+++ namedSrc/net/minecraft/advancement/criterion/SummonedEntityCriterionTrigger.java	2023-12-31 03:26:51.972386245 +0000
@@ -9,7 +9,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -21,7 +20,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<SummonedEntityCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<SummonedEntityCriterionTrigger.Conditions> getCodec() {
       return SummonedEntityCriterionTrigger.Conditions.CODEC;
    }
 
@@ -46,8 +45,8 @@
        */
       public static final Codec<SummonedEntityCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(SummonedEntityCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(SummonedEntityCriterionTrigger.Conditions::entity)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(SummonedEntityCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity").forGetter(SummonedEntityCriterionTrigger.Conditions::entity)
                )
                .apply(instance, SummonedEntityCriterionTrigger.Conditions::new)
       );
@@ -73,9 +72,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.entity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.entity, ".entity");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/TameAnimalCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/TameAnimalCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/TameAnimalCriterionTrigger.java	2023-12-31 03:27:58.248163137 +0000
+++ namedSrc/net/minecraft/advancement/criterion/TameAnimalCriterionTrigger.java	2023-12-31 03:26:52.044386012 +0000
@@ -9,7 +9,6 @@
 import net.minecraft.predicate.ContextAwarePredicate;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -21,7 +20,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<TameAnimalCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<TameAnimalCriterionTrigger.Conditions> getCodec() {
       return TameAnimalCriterionTrigger.Conditions.CODEC;
    }
 
@@ -46,8 +45,8 @@
        */
       public static final Codec<TameAnimalCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(TameAnimalCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "entity").forGetter(TameAnimalCriterionTrigger.Conditions::entity)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TameAnimalCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity").forGetter(TameAnimalCriterionTrigger.Conditions::entity)
                )
                .apply(instance, TameAnimalCriterionTrigger.Conditions::new)
       );
@@ -80,9 +79,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.entity, ".entity");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.entity, ".entity");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/TargetHitCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/TargetHitCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/TargetHitCriterionTrigger.java	2023-12-31 03:27:58.276163044 +0000
+++ namedSrc/net/minecraft/advancement/criterion/TargetHitCriterionTrigger.java	2023-12-31 03:26:52.080385895 +0000
@@ -10,7 +10,6 @@
 import net.minecraft.predicate.NumberRange;
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 import net.minecraft.util.math.Vec3d;
 
@@ -23,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<TargetHitCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<TargetHitCriterionTrigger.Conditions> getCodec() {
       return TargetHitCriterionTrigger.Conditions.CODEC;
    }
 
@@ -48,10 +47,10 @@
        */
       public static final Codec<TargetHitCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(TargetHitCriterionTrigger.Conditions::player),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "signal_strength", NumberRange.IntRange.ANY)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TargetHitCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "signal_strength", NumberRange.IntRange.ANY)
                      .forGetter(TargetHitCriterionTrigger.Conditions::signalStrength),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "projectile").forGetter(TargetHitCriterionTrigger.Conditions::projectile)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "projectile").forGetter(TargetHitCriterionTrigger.Conditions::projectile)
                )
                .apply(instance, TargetHitCriterionTrigger.Conditions::new)
       );
@@ -82,9 +81,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.projectile, ".projectile");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.projectile, ".projectile");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/TravelCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/TravelCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/TravelCriterionTrigger.java	2023-12-31 03:27:58.296162978 +0000
+++ namedSrc/net/minecraft/advancement/criterion/TravelCriterionTrigger.java	2023-12-31 03:26:52.116385778 +0000
@@ -22,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<TravelCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<TravelCriterionTrigger.Conditions> getCodec() {
       return TravelCriterionTrigger.Conditions.CODEC;
    }
 
@@ -47,9 +47,9 @@
        */
       public static final Codec<TravelCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(TravelCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(LocationPredicate.CODEC, "start_position").forGetter(TravelCriterionTrigger.Conditions::startPosition),
-                  Codecs.m_cjqijzpr(DistancePredicate.CODEC, "distance").forGetter(TravelCriterionTrigger.Conditions::distance)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TravelCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(LocationPredicate.CODEC, "start_position").forGetter(TravelCriterionTrigger.Conditions::startPosition),
+                  Codecs.createStrictOptionalField(DistancePredicate.CODEC, "distance").forGetter(TravelCriterionTrigger.Conditions::distance)
                )
                .apply(instance, TravelCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/UsedEnderEyeCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/UsedEnderEyeCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/UsedEnderEyeCriterionTrigger.java	2023-12-31 03:27:58.160163429 +0000
+++ namedSrc/net/minecraft/advancement/criterion/UsedEnderEyeCriterionTrigger.java	2023-12-31 03:26:51.936386362 +0000
@@ -19,7 +19,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<UsedEnderEyeCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<UsedEnderEyeCriterionTrigger.Conditions> getCodec() {
       return UsedEnderEyeCriterionTrigger.Conditions.CODEC;
    }
 
@@ -45,8 +45,8 @@
        */
       public static final Codec<UsedEnderEyeCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(UsedEnderEyeCriterionTrigger.Conditions::player),
-                  Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "distance", NumberRange.FloatRange.ANY)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(UsedEnderEyeCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "distance", NumberRange.FloatRange.ANY)
                      .forGetter(UsedEnderEyeCriterionTrigger.Conditions::distance)
                )
                .apply(instance, UsedEnderEyeCriterionTrigger.Conditions::new)
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/UsedTotemCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/UsedTotemCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/UsedTotemCriterionTrigger.java	2023-12-31 03:27:58.304162951 +0000
+++ namedSrc/net/minecraft/advancement/criterion/UsedTotemCriterionTrigger.java	2023-12-31 03:26:52.124385752 +0000
@@ -21,7 +21,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<UsedTotemCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<UsedTotemCriterionTrigger.Conditions> getCodec() {
       return UsedTotemCriterionTrigger.Conditions.CODEC;
    }
 
@@ -44,8 +44,8 @@
        */
       public static final Codec<UsedTotemCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(UsedTotemCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(UsedTotemCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(UsedTotemCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(UsedTotemCriterionTrigger.Conditions::item)
                )
                .apply(instance, UsedTotemCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/UsingItemCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/UsingItemCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/UsingItemCriterionTrigger.java	2023-12-31 03:27:58.272163058 +0000
+++ namedSrc/net/minecraft/advancement/criterion/UsingItemCriterionTrigger.java	2023-12-31 03:26:52.080385895 +0000
@@ -20,7 +20,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<UsingItemCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<UsingItemCriterionTrigger.Conditions> getCodec() {
       return UsingItemCriterionTrigger.Conditions.CODEC;
    }
 
@@ -43,8 +43,8 @@
        */
       public static final Codec<UsingItemCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(UsingItemCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(UsingItemCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(UsingItemCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(UsingItemCriterionTrigger.Conditions::item)
                )
                .apply(instance, UsingItemCriterionTrigger.Conditions::new)
       );
diff -bur namedTargetSrc/net/minecraft/advancement/criterion/VillagerTradeCriterionTrigger.java namedSrc/net/minecraft/advancement/criterion/VillagerTradeCriterionTrigger.java
--- namedTargetSrc/net/minecraft/advancement/criterion/VillagerTradeCriterionTrigger.java	2023-12-31 03:27:58.168163403 +0000
+++ namedSrc/net/minecraft/advancement/criterion/VillagerTradeCriterionTrigger.java	2023-12-31 03:26:51.948386323 +0000
@@ -11,7 +11,6 @@
 import net.minecraft.predicate.entity.EntityPredicate;
 import net.minecraft.predicate.item.ItemPredicate;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.unmapped.C_zybjffid;
 import net.minecraft.util.dynamic.Codecs;
 
 /**
@@ -23,7 +22,7 @@
     * Mapping not found
     */
    @Override
-   public Codec<VillagerTradeCriterionTrigger.Conditions> m_xrbtiope() {
+   public Codec<VillagerTradeCriterionTrigger.Conditions> getCodec() {
       return VillagerTradeCriterionTrigger.Conditions.CODEC;
    }
 
@@ -48,9 +47,9 @@
        */
       public static final Codec<VillagerTradeCriterionTrigger.Conditions> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "player").forGetter(VillagerTradeCriterionTrigger.Conditions::player),
-                  Codecs.m_cjqijzpr(EntityPredicate.f_uvagahsk, "villager").forGetter(VillagerTradeCriterionTrigger.Conditions::villager),
-                  Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "item").forGetter(VillagerTradeCriterionTrigger.Conditions::item)
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(VillagerTradeCriterionTrigger.Conditions::player),
+                  Codecs.createStrictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "villager").forGetter(VillagerTradeCriterionTrigger.Conditions::villager),
+                  Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "item").forGetter(VillagerTradeCriterionTrigger.Conditions::item)
                )
                .apply(instance, VillagerTradeCriterionTrigger.Conditions::new)
       );
@@ -88,9 +87,9 @@
        * Mapping not found
        */
       @Override
-      public void m_mmotanow(C_zybjffid arg) {
-         AbstractCriterionTrigger.Conditions.super.m_mmotanow(arg);
-         arg.m_nhvyihxi(this.villager, ".villager");
+      public void validate(CriterionValidator validator) {
+         AbstractCriterionTrigger.Conditions.super.validate(validator);
+         validator.validateEntity(this.villager, ".villager");
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/block/entity/SignText.java namedSrc/net/minecraft/block/entity/SignText.java
--- namedTargetSrc/net/minecraft/block/entity/SignText.java	2023-12-31 03:27:58.100163629 +0000
+++ namedSrc/net/minecraft/block/entity/SignText.java	2023-12-31 03:26:51.872386570 +0000
@@ -12,7 +12,7 @@
 import net.minecraft.text.OrderedText;
 import net.minecraft.text.Style;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.DyeColor;
 import net.minecraft.util.Util;
 import org.jetbrains.annotations.Nullable;
@@ -30,7 +30,7 @@
     * @mapping {@literal hashed f_cwscwtrs Lnet/minecraft/unmapped/C_ralzcant;f_cwscwtrs:Lcom/mojang/serialization/Codec;}
     * @mapping {@literal named MESSAGES_CODEC Lnet/minecraft/block/entity/SignText;MESSAGES_CODEC:Lcom/mojang/serialization/Codec;}
     */
-   private static final Codec<Text[]> MESSAGES_CODEC = C_qrzzgymy.f_ptpqrytj
+   private static final Codec<Text[]> MESSAGES_CODEC = TextCodecs.f_ptpqrytj
       .listOf()
       .comapFlatMap(
          lines -> Util.fixedSizeList(lines, 4).map(list -> new Text[]{(Text)list.get(0), (Text)list.get(1), (Text)list.get(2), (Text)list.get(3)}),
diff -bur namedTargetSrc/net/minecraft/client/multiplayer/chat/LoggedChatMessage.java namedSrc/net/minecraft/client/multiplayer/chat/LoggedChatMessage.java
--- namedTargetSrc/net/minecraft/client/multiplayer/chat/LoggedChatMessage.java	2023-12-31 03:27:58.276163044 +0000
+++ namedSrc/net/minecraft/client/multiplayer/chat/LoggedChatMessage.java	2023-12-31 03:26:52.084385881 +0000
@@ -14,7 +14,7 @@
 import net.minecraft.client.network.TrustLevel;
 import net.minecraft.network.message.SignedChatMessage;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.dynamic.Codecs;
 
@@ -162,7 +162,7 @@
        */
       public static final Codec<LoggedChatMessage.System> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  C_qrzzgymy.f_flkmksis.fieldOf("message").forGetter(LoggedChatMessage.System::message),
+                  TextCodecs.f_flkmksis.fieldOf("message").forGetter(LoggedChatMessage.System::message),
                   Codecs.INSTANT.fieldOf("time_stamp").forGetter(LoggedChatMessage.System::timestamp)
                )
                .apply(instance, LoggedChatMessage.System::new)
diff -bur namedTargetSrc/net/minecraft/client/QuickPlayLogger.java namedSrc/net/minecraft/client/QuickPlayLogger.java
--- namedTargetSrc/net/minecraft/client/QuickPlayLogger.java	2023-12-31 03:27:58.244163150 +0000
+++ namedSrc/net/minecraft/client/QuickPlayLogger.java	2023-12-31 03:26:52.032386051 +0000
@@ -209,7 +209,7 @@
       public static final MapCodec<QuickPlayLogger.QuickPlayWorld> CODEC = RecordCodecBuilder.mapCodec(
          instance -> instance.group(
                   QuickPlayLogger.ConnectionType.CODEC.fieldOf("type").forGetter(QuickPlayLogger.QuickPlayWorld::type),
-                  Codecs.f_sumxgdro.fieldOf("id").forGetter(QuickPlayLogger.QuickPlayWorld::id),
+                  Codecs.ESCAPED_STRING.fieldOf("id").forGetter(QuickPlayLogger.QuickPlayWorld::id),
                   Codec.STRING.fieldOf("name").forGetter(QuickPlayLogger.QuickPlayWorld::name)
                )
                .apply(instance, QuickPlayLogger.QuickPlayWorld::new)
diff -bur namedTargetSrc/net/minecraft/client/resource/metadata/GuiResourceMetadata.java namedSrc/net/minecraft/client/resource/metadata/GuiResourceMetadata.java
--- namedTargetSrc/net/minecraft/client/resource/metadata/GuiResourceMetadata.java	2023-12-31 03:27:58.264163084 +0000
+++ namedSrc/net/minecraft/client/resource/metadata/GuiResourceMetadata.java	2023-12-31 03:26:52.068385934 +0000
@@ -24,7 +24,9 @@
     * @mapping {@literal named CODEC Lnet/minecraft/client/resource/metadata/GuiResourceMetadata;CODEC:Lcom/mojang/serialization/Codec;}
     */
    public static final Codec<GuiResourceMetadata> CODEC = RecordCodecBuilder.create(
-      instance -> instance.group(Codecs.m_aeryaqrd(SpriteScaling.CODEC, "scaling", SpriteScaling.DEFAULT).forGetter(GuiResourceMetadata::scaling))
+      instance -> instance.group(
+               Codecs.createStrictOptionalField(SpriteScaling.CODEC, "scaling", SpriteScaling.DEFAULT).forGetter(GuiResourceMetadata::scaling)
+            )
             .apply(instance, GuiResourceMetadata::new)
    );
    /**
diff -bur namedTargetSrc/net/minecraft/command/argument/TextArgumentType.java namedSrc/net/minecraft/command/argument/TextArgumentType.java
--- namedTargetSrc/net/minecraft/command/argument/TextArgumentType.java	2023-12-31 03:27:58.244163150 +0000
+++ namedSrc/net/minecraft/command/argument/TextArgumentType.java	2023-12-31 03:26:52.040386025 +0000
@@ -9,8 +9,8 @@
 import java.util.Collection;
 import net.minecraft.server.command.ServerCommandSource;
 import net.minecraft.text.Text;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.unmapped.C_lirdakbw;
-import net.minecraft.unmapped.C_qrzzgymy;
 
 /**
  * @mapping {@literal hashed net/minecraft/unmapped/C_aluvpfjr}
@@ -58,7 +58,7 @@
     */
    public Text parse(StringReader reader) throws CommandSyntaxException {
       try {
-         return C_lirdakbw.m_pbxfhdmc(reader, C_qrzzgymy.f_flkmksis);
+         return C_lirdakbw.m_pbxfhdmc(reader, TextCodecs.f_flkmksis);
       } catch (Exception var4) {
          String string = var4.getCause() != null ? var4.getCause().getMessage() : var4.getMessage();
          throw INVALID_COMPONENT_EXCEPTION.createWithContext(reader, string);
diff -bur namedTargetSrc/net/minecraft/data/server/LootTablesProvider.java namedSrc/net/minecraft/data/server/LootTablesProvider.java
--- namedTargetSrc/net/minecraft/data/server/LootTablesProvider.java	2023-12-31 03:27:58.112163588 +0000
+++ namedSrc/net/minecraft/data/server/LootTablesProvider.java	2023-12-31 03:26:51.884386531 +0000
@@ -22,7 +22,7 @@
 import net.minecraft.loot.LootTableReporter;
 import net.minecraft.loot.context.LootContextType;
 import net.minecraft.loot.context.LootContextTypes;
-import net.minecraft.unmapped.C_jtpvewkp;
+import net.minecraft.util.ErrorReporter;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.Util;
 import net.minecraft.util.math.random.RandomSequence;
@@ -84,7 +84,7 @@
                throw new IllegalStateException("Duplicate loot table " + id);
             }
          }));
-      C_jtpvewkp.C_jbcmnrpq lv = new C_jtpvewkp.C_jbcmnrpq();
+      ErrorReporter.Impl lv = new ErrorReporter.Impl();
       LootTableReporter lv2 = new LootTableReporter(lv, LootContextTypes.GENERIC, new LootDataLookup() {
          /**
           * Mapping not found
@@ -97,13 +97,13 @@
       });
 
       for (Identifier lv3 : Sets.difference(this.lootTableIds, map.keySet())) {
-         lv.m_qtdgardw("Missing built-in table: " + lv3);
+         lv.report("Missing built-in table: " + lv3);
       }
 
       map.forEach(
          (id, table) -> table.validate(lv2.withContextType(table.getType()).makeChild("{" + id + "}", new LootDataKey<>(LootDataType.LOOT_TABLES, id)))
       );
-      Multimap<String, String> multimap = lv.m_fdjwfdmg();
+      Multimap<String, String> multimap = lv.copyErrors();
       if (!multimap.isEmpty()) {
          multimap.forEach((name, message) -> LOGGER.warn("Found validation problem in {}: {}", name, message));
          throw new IllegalStateException("Failed to validate loot tables, see logs");
diff -bur namedTargetSrc/net/minecraft/item/ItemStack.java namedSrc/net/minecraft/item/ItemStack.java
--- namedTargetSrc/net/minecraft/item/ItemStack.java	2023-12-31 03:27:58.124163549 +0000
+++ namedSrc/net/minecraft/item/ItemStack.java	2023-12-31 03:26:51.896386493 +0000
@@ -179,7 +179,7 @@
    public static final Codec<ItemStack> f_swhvebgo = RecordCodecBuilder.create(
       instance -> instance.group(
                Registries.ITEM.holderByNameCodec().fieldOf("item").forGetter(ItemStack::getHolder),
-               Codecs.m_cjqijzpr(StringNbtReader.CODEC, "nbt").forGetter(stack -> Optional.ofNullable(stack.getNbt()))
+               Codecs.createStrictOptionalField(StringNbtReader.CODEC, "nbt").forGetter(stack -> Optional.ofNullable(stack.getNbt()))
             )
             .apply(instance, (arg, optional) -> new ItemStack(arg, 1, optional))
    );
@@ -188,7 +188,8 @@
     */
    public static final Codec<ItemStack> f_qlhuxehe = RecordCodecBuilder.create(
       instance -> instance.group(
-               f_qqkxjbjo.fieldOf("item").forGetter(ItemStack::getItem), Codecs.m_aeryaqrd(Codecs.POSITIVE_INT, "count", 1).forGetter(ItemStack::getCount)
+               f_qqkxjbjo.fieldOf("item").forGetter(ItemStack::getItem),
+               Codecs.createStrictOptionalField(Codecs.POSITIVE_INT, "count", 1).forGetter(ItemStack::getCount)
             )
             .apply(instance, ItemStack::new)
    );
diff -bur namedTargetSrc/net/minecraft/item/trim/ArmorTrimMaterial.java namedSrc/net/minecraft/item/trim/ArmorTrimMaterial.java
--- namedTargetSrc/net/minecraft/item/trim/ArmorTrimMaterial.java	2023-12-31 03:27:58.320162898 +0000
+++ namedSrc/net/minecraft/item/trim/ArmorTrimMaterial.java	2023-12-31 03:26:52.152385661 +0000
@@ -10,7 +10,7 @@
 import net.minecraft.registry.RegistryFixedCodec;
 import net.minecraft.registry.RegistryKeys;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.dynamic.Codecs;
 import net.minecraft.util.dynamic.RegistryElementCodec;
 
@@ -27,13 +27,13 @@
     */
    public static final Codec<ArmorTrimMaterial> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.f_aylcbfcj.fieldOf("asset_name").forGetter(ArmorTrimMaterial::assetName),
+               Codecs.IDENTIFIER_PATH.fieldOf("asset_name").forGetter(ArmorTrimMaterial::assetName),
                RegistryFixedCodec.create(RegistryKeys.ITEM).fieldOf("ingredient").forGetter(ArmorTrimMaterial::ingredient),
                Codec.FLOAT.fieldOf("item_model_index").forGetter(ArmorTrimMaterial::itemModelIndex),
                Codec.unboundedMap(ArmorMaterials.CODEC, Codec.STRING)
                   .optionalFieldOf("override_armor_materials", Map.of())
                   .forGetter(ArmorTrimMaterial::overrideArmorMaterials),
-               C_qrzzgymy.f_flkmksis.fieldOf("description").forGetter(ArmorTrimMaterial::description)
+               TextCodecs.f_flkmksis.fieldOf("description").forGetter(ArmorTrimMaterial::description)
             )
             .apply(instance, ArmorTrimMaterial::new)
    );
diff -bur namedTargetSrc/net/minecraft/item/trim/ArmorTrimPattern.java namedSrc/net/minecraft/item/trim/ArmorTrimPattern.java
--- namedTargetSrc/net/minecraft/item/trim/ArmorTrimPattern.java	2023-12-31 03:27:58.160163429 +0000
+++ namedSrc/net/minecraft/item/trim/ArmorTrimPattern.java	2023-12-31 03:26:51.936386362 +0000
@@ -7,7 +7,7 @@
 import net.minecraft.registry.RegistryFixedCodec;
 import net.minecraft.registry.RegistryKeys;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.dynamic.RegistryElementCodec;
 
@@ -24,7 +24,7 @@
       instance -> instance.group(
                Identifier.CODEC.fieldOf("asset_id").forGetter(ArmorTrimPattern::assetId),
                RegistryFixedCodec.create(RegistryKeys.ITEM).fieldOf("template_item").forGetter(ArmorTrimPattern::templateItem),
-               C_qrzzgymy.f_flkmksis.fieldOf("description").forGetter(ArmorTrimPattern::description),
+               TextCodecs.f_flkmksis.fieldOf("description").forGetter(ArmorTrimPattern::description),
                Codec.BOOL.fieldOf("decal").orElse(false).forGetter(ArmorTrimPattern::decal)
             )
             .apply(instance, ArmorTrimPattern::new)
diff -bur namedTargetSrc/net/minecraft/loot/condition/BlockStatePropertyLootCondition.java namedSrc/net/minecraft/loot/condition/BlockStatePropertyLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/BlockStatePropertyLootCondition.java	2023-12-31 03:27:58.288163004 +0000
+++ namedSrc/net/minecraft/loot/condition/BlockStatePropertyLootCondition.java	2023-12-31 03:26:52.104385817 +0000
@@ -28,7 +28,7 @@
       RecordCodecBuilder.create(
          instance -> instance.group(
                   Registries.BLOCK.holderByNameCodec().fieldOf("block").forGetter(BlockStatePropertyLootCondition::block),
-                  Codecs.m_cjqijzpr(StatePredicate.f_oreeybze, "properties").forGetter(BlockStatePropertyLootCondition::properties)
+                  Codecs.createStrictOptionalField(StatePredicate.f_oreeybze, "properties").forGetter(BlockStatePropertyLootCondition::properties)
                )
                .apply(instance, BlockStatePropertyLootCondition::new)
       ),
diff -bur namedTargetSrc/net/minecraft/loot/condition/CompoundLootCondition.java namedSrc/net/minecraft/loot/condition/CompoundLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/CompoundLootCondition.java	2023-12-31 03:27:58.188163337 +0000
+++ namedSrc/net/minecraft/loot/condition/CompoundLootCondition.java	2023-12-31 03:26:51.972386245 +0000
@@ -39,7 +39,7 @@
     */
    protected static <T extends CompoundLootCondition> Codec<T> m_ehyomcff(Function<List<LootCondition>, T> function) {
       return RecordCodecBuilder.create(
-         instance -> instance.group(LootConditionTypes.f_tzpkbvhm.listOf().fieldOf("terms").forGetter(arg -> arg.conditions)).apply(instance, function)
+         instance -> instance.group(LootConditionTypes.CODEC.listOf().fieldOf("terms").forGetter(arg -> arg.conditions)).apply(instance, function)
       );
    }
 
@@ -47,7 +47,7 @@
     * Mapping not found
     */
    protected static <T extends CompoundLootCondition> Codec<T> m_pepuczup(Function<List<LootCondition>, T> function) {
-      return LootConditionTypes.f_tzpkbvhm.listOf().xmap(function, arg -> arg.conditions);
+      return LootConditionTypes.CODEC.listOf().xmap(function, arg -> arg.conditions);
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/loot/condition/DamageSourcePropertiesLootCondition.java namedSrc/net/minecraft/loot/condition/DamageSourcePropertiesLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/DamageSourcePropertiesLootCondition.java	2023-12-31 03:27:58.320162898 +0000
+++ namedSrc/net/minecraft/loot/condition/DamageSourcePropertiesLootCondition.java	2023-12-31 03:26:52.152385661 +0000
@@ -23,7 +23,9 @@
     * @mapping {@literal named CODEC Lnet/minecraft/loot/condition/DamageSourcePropertiesLootCondition;CODEC:Lcom/mojang/serialization/Codec;}
     */
    public static final Codec<DamageSourcePropertiesLootCondition> CODEC = RecordCodecBuilder.create(
-      instance -> instance.group(Codecs.m_cjqijzpr(DamageSourcePredicate.CODEC, "predicate").forGetter(DamageSourcePropertiesLootCondition::predicate))
+      instance -> instance.group(
+               Codecs.createStrictOptionalField(DamageSourcePredicate.CODEC, "predicate").forGetter(DamageSourcePropertiesLootCondition::predicate)
+            )
             .apply(instance, DamageSourcePropertiesLootCondition::new)
    );
 
diff -bur namedTargetSrc/net/minecraft/loot/condition/EntityPropertiesLootCondition.java namedSrc/net/minecraft/loot/condition/EntityPropertiesLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/EntityPropertiesLootCondition.java	2023-12-31 03:27:58.060163762 +0000
+++ namedSrc/net/minecraft/loot/condition/EntityPropertiesLootCondition.java	2023-12-31 03:26:51.844386661 +0000
@@ -24,7 +24,7 @@
     */
    public static final Codec<EntityPropertiesLootCondition> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(EntityPredicate.f_krniofyg, "predicate").forGetter(EntityPropertiesLootCondition::predicate),
+               Codecs.createStrictOptionalField(EntityPredicate.CODEC, "predicate").forGetter(EntityPropertiesLootCondition::predicate),
                LootContext.EntityTarget.f_qzgthnlo.fieldOf("entity").forGetter(EntityPropertiesLootCondition::entityTarget)
             )
             .apply(instance, EntityPropertiesLootCondition::new)
diff -bur namedTargetSrc/net/minecraft/loot/condition/InvertedLootCondition.java namedSrc/net/minecraft/loot/condition/InvertedLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/InvertedLootCondition.java	2023-12-31 03:27:58.184163349 +0000
+++ namedSrc/net/minecraft/loot/condition/InvertedLootCondition.java	2023-12-31 03:26:51.968386259 +0000
@@ -17,8 +17,7 @@
     * @mapping {@literal named CODEC Lnet/minecraft/loot/condition/InvertedLootCondition;CODEC:Lcom/mojang/serialization/Codec;}
     */
    public static final Codec<InvertedLootCondition> CODEC = RecordCodecBuilder.create(
-      instance -> instance.group(LootConditionTypes.f_tzpkbvhm.fieldOf("term").forGetter(InvertedLootCondition::term))
-            .apply(instance, InvertedLootCondition::new)
+      instance -> instance.group(LootConditionTypes.CODEC.fieldOf("term").forGetter(InvertedLootCondition::term)).apply(instance, InvertedLootCondition::new)
    );
 
    /**
diff -bur namedTargetSrc/net/minecraft/loot/condition/LocationCheckLootCondition.java namedSrc/net/minecraft/loot/condition/LocationCheckLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/LocationCheckLootCondition.java	2023-12-31 03:27:58.164163416 +0000
+++ namedSrc/net/minecraft/loot/condition/LocationCheckLootCondition.java	2023-12-31 03:26:51.940386349 +0000
@@ -22,9 +22,9 @@
     */
    private static final MapCodec<BlockPos> f_bxrjjfnl = RecordCodecBuilder.mapCodec(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(Codec.INT, "offsetX", 0).forGetter(Vec3i::getX),
-               Codecs.m_aeryaqrd(Codec.INT, "offsetY", 0).forGetter(Vec3i::getY),
-               Codecs.m_aeryaqrd(Codec.INT, "offsetZ", 0).forGetter(Vec3i::getZ)
+               Codecs.createStrictOptionalField(Codec.INT, "offsetX", 0).forGetter(Vec3i::getX),
+               Codecs.createStrictOptionalField(Codec.INT, "offsetY", 0).forGetter(Vec3i::getY),
+               Codecs.createStrictOptionalField(Codec.INT, "offsetZ", 0).forGetter(Vec3i::getZ)
             )
             .apply(instance, BlockPos::new)
    );
@@ -34,7 +34,7 @@
     */
    public static final Codec<LocationCheckLootCondition> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(LocationPredicate.CODEC, "predicate").forGetter(LocationCheckLootCondition::predicate),
+               Codecs.createStrictOptionalField(LocationPredicate.CODEC, "predicate").forGetter(LocationCheckLootCondition::predicate),
                f_bxrjjfnl.forGetter(LocationCheckLootCondition::offset)
             )
             .apply(instance, LocationCheckLootCondition::new)
diff -bur namedTargetSrc/net/minecraft/loot/condition/LootConditionTypes.java namedSrc/net/minecraft/loot/condition/LootConditionTypes.java
--- namedTargetSrc/net/minecraft/loot/condition/LootConditionTypes.java	2023-12-31 03:27:58.204163283 +0000
+++ namedSrc/net/minecraft/loot/condition/LootConditionTypes.java	2023-12-31 03:26:51.988386194 +0000
@@ -14,15 +14,17 @@
  */
 public class LootConditionTypes {
    /**
-    * Mapping not found
+    * @mapping {@literal hashed f_ndsvfguh Lnet/minecraft/unmapped/C_ijynualg;f_ndsvfguh:Lcom/mojang/serialization/Codec;}
+    * @mapping {@literal named TYPED_CODEC Lnet/minecraft/loot/condition/LootConditionTypes;TYPED_CODEC:Lcom/mojang/serialization/Codec;}
     */
-   private static final Codec<LootCondition> f_ndsvfguh = Registries.LOOT_CONDITION_TYPE
+   private static final Codec<LootCondition> TYPED_CODEC = Registries.LOOT_CONDITION_TYPE
       .getCodec()
       .dispatch("condition", LootCondition::getType, LootConditionType::codec);
    /**
-    * Mapping not found
+    * @mapping {@literal hashed f_tzpkbvhm Lnet/minecraft/unmapped/C_ijynualg;f_tzpkbvhm:Lcom/mojang/serialization/Codec;}
+    * @mapping {@literal named CODEC Lnet/minecraft/loot/condition/LootConditionTypes;CODEC:Lcom/mojang/serialization/Codec;}
     */
-   public static final Codec<LootCondition> f_tzpkbvhm = Codecs.createLazy(() -> Codecs.m_lprwixza(f_ndsvfguh, AllOfLootCondition.f_vkjvgkgj));
+   public static final Codec<LootCondition> CODEC = Codecs.createLazy(() -> Codecs.either(TYPED_CODEC, AllOfLootCondition.f_vkjvgkgj));
    /**
     * @mapping {@literal hashed f_acqnthsh Lnet/minecraft/unmapped/C_ijynualg;f_acqnthsh:Lnet/minecraft/unmapped/C_debunopu;}
     * @mapping {@literal named INVERTED Lnet/minecraft/loot/condition/LootConditionTypes;INVERTED:Lnet/minecraft/loot/condition/LootConditionType;}
@@ -126,16 +128,16 @@
     * @mapping {@literal hashed m_bxfjipfr Lnet/minecraft/unmapped/C_ijynualg;m_bxfjipfr(Ljava/util/List;)Ljava/util/function/Predicate;}
     * @mapping {@literal named joinAnd Lnet/minecraft/loot/condition/LootConditionTypes;joinAnd(Ljava/util/List;)Ljava/util/function/Predicate;}
     */
-   public static <T> Predicate<T> joinAnd(List<? extends Predicate<T>> list) {
-      List<Predicate<T>> list2 = List.copyOf(list);
+   public static <T> Predicate<T> joinAnd(List<? extends Predicate<T>> predicates) {
+      List<Predicate<T>> list2 = List.copyOf(predicates);
 
       return switch (list2.size()) {
          case 0 -> operand -> true;
          case 1 -> (Predicate)list2.get(0);
          case 2 -> ((Predicate)list2.get(0)).and((Predicate)list2.get(1));
-         default -> object -> {
+         default -> operand -> {
          for (Predicate<T> predicate : list2) {
-            if (!predicate.test(object)) {
+            if (!predicate.test(operand)) {
                return false;
             }
          }
@@ -149,16 +151,16 @@
     * @mapping {@literal hashed m_hfawsflu Lnet/minecraft/unmapped/C_ijynualg;m_hfawsflu(Ljava/util/List;)Ljava/util/function/Predicate;}
     * @mapping {@literal named joinOr Lnet/minecraft/loot/condition/LootConditionTypes;joinOr(Ljava/util/List;)Ljava/util/function/Predicate;}
     */
-   public static <T> Predicate<T> joinOr(List<? extends Predicate<T>> list) {
-      List<Predicate<T>> list2 = List.copyOf(list);
+   public static <T> Predicate<T> joinOr(List<? extends Predicate<T>> predicates) {
+      List<Predicate<T>> list2 = List.copyOf(predicates);
 
       return switch (list2.size()) {
          case 0 -> operand -> false;
          case 1 -> (Predicate)list2.get(0);
          case 2 -> ((Predicate)list2.get(0)).or((Predicate)list2.get(1));
-         default -> object -> {
+         default -> operand -> {
          for (Predicate<T> predicate : list2) {
-            if (predicate.test(object)) {
+            if (predicate.test(operand)) {
                return true;
             }
          }
diff -bur namedTargetSrc/net/minecraft/loot/condition/MatchToolLootCondition.java namedSrc/net/minecraft/loot/condition/MatchToolLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/MatchToolLootCondition.java	2023-12-31 03:27:58.200163297 +0000
+++ namedSrc/net/minecraft/loot/condition/MatchToolLootCondition.java	2023-12-31 03:26:51.988386194 +0000
@@ -22,7 +22,7 @@
     * @mapping {@literal named CODEC Lnet/minecraft/loot/condition/MatchToolLootCondition;CODEC:Lcom/mojang/serialization/Codec;}
     */
    public static final Codec<MatchToolLootCondition> CODEC = RecordCodecBuilder.create(
-      instance -> instance.group(Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "predicate").forGetter(MatchToolLootCondition::predicate))
+      instance -> instance.group(Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "predicate").forGetter(MatchToolLootCondition::predicate))
             .apply(instance, MatchToolLootCondition::new)
    );
 
diff -bur namedTargetSrc/net/minecraft/loot/condition/TimeCheckLootCondition.java namedSrc/net/minecraft/loot/condition/TimeCheckLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/TimeCheckLootCondition.java	2023-12-31 03:27:58.160163429 +0000
+++ namedSrc/net/minecraft/loot/condition/TimeCheckLootCondition.java	2023-12-31 03:26:51.936386362 +0000
@@ -21,7 +21,7 @@
     */
    public static final Codec<TimeCheckLootCondition> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(Codec.LONG, "period").forGetter(TimeCheckLootCondition::period),
+               Codecs.createStrictOptionalField(Codec.LONG, "period").forGetter(TimeCheckLootCondition::period),
                BoundedIntUnaryOperator.f_orheepax.fieldOf("value").forGetter(TimeCheckLootCondition::value)
             )
             .apply(instance, TimeCheckLootCondition::new)
diff -bur namedTargetSrc/net/minecraft/loot/condition/WeatherCheckLootCondition.java namedSrc/net/minecraft/loot/condition/WeatherCheckLootCondition.java
--- namedTargetSrc/net/minecraft/loot/condition/WeatherCheckLootCondition.java	2023-12-31 03:27:58.136163509 +0000
+++ namedSrc/net/minecraft/loot/condition/WeatherCheckLootCondition.java	2023-12-31 03:26:51.908386453 +0000
@@ -18,8 +18,8 @@
     */
    public static final Codec<WeatherCheckLootCondition> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(Codec.BOOL, "raining").forGetter(WeatherCheckLootCondition::isRaining),
-               Codecs.m_cjqijzpr(Codec.BOOL, "thundering").forGetter(WeatherCheckLootCondition::isThundering)
+               Codecs.createStrictOptionalField(Codec.BOOL, "raining").forGetter(WeatherCheckLootCondition::isRaining),
+               Codecs.createStrictOptionalField(Codec.BOOL, "thundering").forGetter(WeatherCheckLootCondition::isThundering)
             )
             .apply(instance, WeatherCheckLootCondition::new)
    );
diff -bur namedTargetSrc/net/minecraft/loot/entry/CombinedEntry.java namedSrc/net/minecraft/loot/entry/CombinedEntry.java
--- namedTargetSrc/net/minecraft/loot/entry/CombinedEntry.java	2023-12-31 03:27:58.308162938 +0000
+++ namedSrc/net/minecraft/loot/entry/CombinedEntry.java	2023-12-31 03:26:52.136385713 +0000
@@ -70,7 +70,9 @@
     */
    public static <T extends CombinedEntry> Codec<T> m_vyjcfyze(CombinedEntry.Factory<T> arg) {
       return RecordCodecBuilder.create(
-         instance -> instance.group(Codecs.m_aeryaqrd(LootPoolEntryTypes.CODEC.listOf(), "children", List.of()).forGetter(argxx -> argxx.children))
+         instance -> instance.group(
+                  Codecs.createStrictOptionalField(LootPoolEntryTypes.CODEC.listOf(), "children", List.of()).forGetter(argxx -> argxx.children)
+               )
                .and(m_fztvyapn(instance).t1())
                .apply(instance, arg::create)
       );

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

View the diff here (3/3):
diff -bur namedTargetSrc/net/minecraft/loot/entry/LeafEntry.java namedSrc/net/minecraft/loot/entry/LeafEntry.java
--- namedTargetSrc/net/minecraft/loot/entry/LeafEntry.java	2023-12-31 03:27:58.264163084 +0000
+++ namedSrc/net/minecraft/loot/entry/LeafEntry.java	2023-12-31 03:26:52.068385934 +0000
@@ -85,10 +85,11 @@
     */
    protected static <T extends LeafEntry> P4<Mu<T>, Integer, Integer, List<LootCondition>, List<LootFunction>> m_jmkfgrnf(Instance<T> instance) {
       return instance.group(
-            Codecs.m_aeryaqrd(Codec.INT, "weight", 1).forGetter(arg -> arg.weight), Codecs.m_aeryaqrd(Codec.INT, "quality", 0).forGetter(arg -> arg.quality)
+            Codecs.createStrictOptionalField(Codec.INT, "weight", 1).forGetter(arg -> arg.weight),
+            Codecs.createStrictOptionalField(Codec.INT, "quality", 0).forGetter(arg -> arg.quality)
          )
          .and(m_fztvyapn(instance).t1())
-         .and(Codecs.m_aeryaqrd(LootFunctionTypes.f_hcnwqyvm.listOf(), "functions", List.of()).forGetter(arg -> arg.functions));
+         .and(Codecs.createStrictOptionalField(LootFunctionTypes.f_hcnwqyvm.listOf(), "functions", List.of()).forGetter(arg -> arg.functions));
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/loot/entry/LootPoolEntry.java namedSrc/net/minecraft/loot/entry/LootPoolEntry.java
--- namedTargetSrc/net/minecraft/loot/entry/LootPoolEntry.java	2023-12-31 03:27:58.272163058 +0000
+++ namedSrc/net/minecraft/loot/entry/LootPoolEntry.java	2023-12-31 03:26:52.076385908 +0000
@@ -42,7 +42,7 @@
     * Mapping not found
     */
    protected static <T extends LootPoolEntry> P1<Mu<T>, List<LootCondition>> m_fztvyapn(Instance<T> instance) {
-      return instance.group(Codecs.m_aeryaqrd(LootConditionTypes.f_tzpkbvhm.listOf(), "conditions", List.of()).forGetter(arg -> arg.conditions));
+      return instance.group(Codecs.createStrictOptionalField(LootConditionTypes.CODEC.listOf(), "conditions", List.of()).forGetter(arg -> arg.conditions));
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/loot/function/ApplyBonusLootFunction.java namedSrc/net/minecraft/loot/function/ApplyBonusLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/ApplyBonusLootFunction.java	2023-12-31 03:27:58.192163323 +0000
+++ namedSrc/net/minecraft/loot/function/ApplyBonusLootFunction.java	2023-12-31 03:26:51.980386220 +0000
@@ -47,7 +47,7 @@
    /**
     * Mapping not found
     */
-   private static final MapCodec<ApplyBonusLootFunction.Formula> f_hdrqmynq = Codecs.m_dgtnqbdd(
+   private static final MapCodec<ApplyBonusLootFunction.Formula> f_hdrqmynq = Codecs.withOptionalParameters(
       "formula", "parameters", f_ljdofuio, ApplyBonusLootFunction.Formula::getId, ApplyBonusLootFunction.C_jvsyolwg::codec
    );
    /**
diff -bur namedTargetSrc/net/minecraft/loot/function/ConditionalLootFunction.java namedSrc/net/minecraft/loot/function/ConditionalLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/ConditionalLootFunction.java	2023-12-31 03:27:58.296162978 +0000
+++ namedSrc/net/minecraft/loot/function/ConditionalLootFunction.java	2023-12-31 03:26:52.116385778 +0000
@@ -44,7 +44,7 @@
     * Mapping not found
     */
    protected static <T extends ConditionalLootFunction> P1<Mu<T>, List<LootCondition>> m_hfvcjbcy(Instance<T> instance) {
-      return instance.group(Codecs.m_aeryaqrd(LootConditionTypes.f_tzpkbvhm.listOf(), "conditions", List.of()).forGetter(arg -> arg.conditions));
+      return instance.group(Codecs.createStrictOptionalField(LootConditionTypes.CODEC.listOf(), "conditions", List.of()).forGetter(arg -> arg.conditions));
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/loot/function/EnchantRandomlyLootFunction.java namedSrc/net/minecraft/loot/function/EnchantRandomlyLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/EnchantRandomlyLootFunction.java	2023-12-31 03:27:58.172163389 +0000
+++ namedSrc/net/minecraft/loot/function/EnchantRandomlyLootFunction.java	2023-12-31 03:26:51.952386311 +0000
@@ -44,7 +44,7 @@
     */
    public static final Codec<EnchantRandomlyLootFunction> f_bwriysqi = RecordCodecBuilder.create(
       instance -> m_hfvcjbcy(instance)
-            .and(Codecs.m_cjqijzpr(f_qkktzcyr, "enchantments").forGetter(arg -> arg.enchantments))
+            .and(Codecs.createStrictOptionalField(f_qkktzcyr, "enchantments").forGetter(arg -> arg.enchantments))
             .apply(instance, EnchantRandomlyLootFunction::new)
    );
    /**
diff -bur namedTargetSrc/net/minecraft/loot/function/ExplorationMapLootFunction.java namedSrc/net/minecraft/loot/function/ExplorationMapLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/ExplorationMapLootFunction.java	2023-12-31 03:27:58.044163815 +0000
+++ namedSrc/net/minecraft/loot/function/ExplorationMapLootFunction.java	2023-12-31 03:26:51.828386713 +0000
@@ -61,11 +61,12 @@
       instance -> m_hfvcjbcy(instance)
             .<TagKey<StructureFeature>, MapIcon.Type, byte, int, boolean>and(
                instance.group(
-                  Codecs.m_aeryaqrd(TagKey.createCodec(RegistryKeys.STRUCTURE_FEATURE), "destination", DEFAULT_DESTINATION).forGetter(arg -> arg.destination),
+                  Codecs.createStrictOptionalField(TagKey.createCodec(RegistryKeys.STRUCTURE_FEATURE), "destination", DEFAULT_DESTINATION)
+                     .forGetter(arg -> arg.destination),
                   MapIcon.Type.CODEC.optionalFieldOf("decoration", DEFAULT_DECORATION).forGetter(arg -> arg.decoration),
-                  Codecs.m_aeryaqrd(Codec.BYTE, "zoom", (byte)2).forGetter(arg -> arg.zoom),
-                  Codecs.m_aeryaqrd(Codec.INT, "search_radius", 50).forGetter(arg -> arg.searchRadius),
-                  Codecs.m_aeryaqrd(Codec.BOOL, "skip_existing_chunks", true).forGetter(arg -> arg.skipExistingChunks)
+                  Codecs.createStrictOptionalField(Codec.BYTE, "zoom", (byte)2).forGetter(arg -> arg.zoom),
+                  Codecs.createStrictOptionalField(Codec.INT, "search_radius", 50).forGetter(arg -> arg.searchRadius),
+                  Codecs.createStrictOptionalField(Codec.BOOL, "skip_existing_chunks", true).forGetter(arg -> arg.skipExistingChunks)
                )
             )
             .apply(instance, ExplorationMapLootFunction::new)
diff -bur namedTargetSrc/net/minecraft/loot/function/LootFunctionTypes.java namedSrc/net/minecraft/loot/function/LootFunctionTypes.java
--- namedTargetSrc/net/minecraft/loot/function/LootFunctionTypes.java	2023-12-31 03:27:58.168163403 +0000
+++ namedSrc/net/minecraft/loot/function/LootFunctionTypes.java	2023-12-31 03:26:51.948386323 +0000
@@ -30,7 +30,7 @@
    /**
     * Mapping not found
     */
-   public static final Codec<LootFunction> f_hcnwqyvm = Codecs.createLazy(() -> Codecs.m_lprwixza(f_uxadbhqb, C_ndfnieah.f_kakimbcn));
+   public static final Codec<LootFunction> f_hcnwqyvm = Codecs.createLazy(() -> Codecs.either(f_uxadbhqb, C_ndfnieah.f_kakimbcn));
    /**
     * @mapping {@literal hashed f_iapviynd Lnet/minecraft/unmapped/C_daukiiao;f_iapviynd:Lnet/minecraft/unmapped/C_jjwwswyo;}
     * @mapping {@literal named SET_COUNT Lnet/minecraft/loot/function/LootFunctionTypes;SET_COUNT:Lnet/minecraft/loot/function/LootFunctionType;}
diff -bur namedTargetSrc/net/minecraft/loot/function/LootingEnchantLootFunction.java namedSrc/net/minecraft/loot/function/LootingEnchantLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/LootingEnchantLootFunction.java	2023-12-31 03:27:58.260163098 +0000
+++ namedSrc/net/minecraft/loot/function/LootingEnchantLootFunction.java	2023-12-31 03:26:52.060385960 +0000
@@ -37,7 +37,7 @@
             .<LootNumberProvider, int>and(
                instance.group(
                   LootNumberProviderTypes.f_epoycneq.fieldOf("count").forGetter(arg -> arg.countRange),
-                  Codecs.m_aeryaqrd(Codec.INT, "limit", 0).forGetter(arg -> arg.limit)
+                  Codecs.createStrictOptionalField(Codec.INT, "limit", 0).forGetter(arg -> arg.limit)
                )
             )
             .apply(instance, LootingEnchantLootFunction::new)
diff -bur namedTargetSrc/net/minecraft/loot/function/SetAttributesLootFunction.java namedSrc/net/minecraft/loot/function/SetAttributesLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/SetAttributesLootFunction.java	2023-12-31 03:27:58.312162924 +0000
+++ namedSrc/net/minecraft/loot/function/SetAttributesLootFunction.java	2023-12-31 03:26:52.140385700 +0000
@@ -137,7 +137,7 @@
                   EntityAttributeModifier.Operation.CODEC.fieldOf("operation").forGetter(SetAttributesLootFunction.Attribute::operation),
                   LootNumberProviderTypes.f_epoycneq.fieldOf("amount").forGetter(SetAttributesLootFunction.Attribute::amount),
                   f_qojdchop.fieldOf("slot").forGetter(SetAttributesLootFunction.Attribute::slots),
-                  Codecs.m_cjqijzpr(UuidUtil.STRING_CODEC, "id").forGetter(SetAttributesLootFunction.Attribute::id)
+                  Codecs.createStrictOptionalField(UuidUtil.STRING_CODEC, "id").forGetter(SetAttributesLootFunction.Attribute::id)
                )
                .apply(instance, SetAttributesLootFunction.Attribute::new)
       );
diff -bur namedTargetSrc/net/minecraft/loot/function/SetEnchantmentsLootFunction.java namedSrc/net/minecraft/loot/function/SetEnchantmentsLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/SetEnchantmentsLootFunction.java	2023-12-31 03:27:58.032163855 +0000
+++ namedSrc/net/minecraft/loot/function/SetEnchantmentsLootFunction.java	2023-12-31 03:26:51.816386752 +0000
@@ -37,7 +37,7 @@
       instance -> m_hfvcjbcy(instance)
             .<Map<Holder<Enchantment>, LootNumberProvider>, boolean>and(
                instance.group(
-                  Codecs.m_aeryaqrd(
+                  Codecs.createStrictOptionalField(
                         Codec.unboundedMap(Registries.ENCHANTMENT.holderByNameCodec(), LootNumberProviderTypes.f_epoycneq), "enchantments", Map.of()
                      )
                      .forGetter(arg -> arg.enchantments),
diff -bur namedTargetSrc/net/minecraft/loot/function/SetLootTableLootFunction.java namedSrc/net/minecraft/loot/function/SetLootTableLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/SetLootTableLootFunction.java	2023-12-31 03:27:58.200163297 +0000
+++ namedSrc/net/minecraft/loot/function/SetLootTableLootFunction.java	2023-12-31 03:26:51.988386194 +0000
@@ -32,7 +32,7 @@
             .<Identifier, long, Holder<BlockEntityType<?>>>and(
                instance.group(
                   Identifier.CODEC.fieldOf("name").forGetter(arg -> arg.id),
-                  Codecs.m_aeryaqrd(Codec.LONG, "seed", 0L).forGetter(arg -> arg.seed),
+                  Codecs.createStrictOptionalField(Codec.LONG, "seed", 0L).forGetter(arg -> arg.seed),
                   Registries.BLOCK_ENTITY_TYPE.holderByNameCodec().fieldOf("type").forGetter(arg -> arg.type)
                )
             )
diff -bur namedTargetSrc/net/minecraft/loot/function/SetLoreLootFunction.java namedSrc/net/minecraft/loot/function/SetLoreLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/SetLoreLootFunction.java	2023-12-31 03:27:58.192163323 +0000
+++ namedSrc/net/minecraft/loot/function/SetLoreLootFunction.java	2023-12-31 03:26:51.980386220 +0000
@@ -16,7 +16,7 @@
 import net.minecraft.nbt.NbtList;
 import net.minecraft.nbt.NbtString;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.dynamic.Codecs;
 import org.jetbrains.annotations.Nullable;
 
@@ -34,8 +34,8 @@
             .<boolean, List<Text>, Optional<LootContext.EntityTarget>>and(
                instance.group(
                   Codec.BOOL.fieldOf("replace").orElse(false).forGetter(arg -> arg.replace),
-                  C_qrzzgymy.f_flkmksis.listOf().fieldOf("lore").forGetter(arg -> arg.lore),
-                  Codecs.m_cjqijzpr(LootContext.EntityTarget.f_qzgthnlo, "entity").forGetter(arg -> arg.entity)
+                  TextCodecs.f_flkmksis.listOf().fieldOf("lore").forGetter(arg -> arg.lore),
+                  Codecs.createStrictOptionalField(LootContext.EntityTarget.f_qzgthnlo, "entity").forGetter(arg -> arg.entity)
                )
             )
             .apply(instance, SetLoreLootFunction::new)
diff -bur namedTargetSrc/net/minecraft/loot/function/SetNameLootFunction.java namedSrc/net/minecraft/loot/function/SetNameLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/SetNameLootFunction.java	2023-12-31 03:27:58.240163164 +0000
+++ namedSrc/net/minecraft/loot/function/SetNameLootFunction.java	2023-12-31 03:26:52.028386063 +0000
@@ -15,8 +15,8 @@
 import net.minecraft.loot.context.LootContextParameter;
 import net.minecraft.server.command.ServerCommandSource;
 import net.minecraft.text.Text;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.text.Texts;
-import net.minecraft.unmapped.C_qrzzgymy;
 import net.minecraft.util.dynamic.Codecs;
 import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
@@ -39,8 +39,8 @@
       instance -> m_hfvcjbcy(instance)
             .<Optional<Text>, Optional<LootContext.EntityTarget>>and(
                instance.group(
-                  Codecs.m_cjqijzpr(C_qrzzgymy.f_flkmksis, "name").forGetter(arg -> arg.name),
-                  Codecs.m_cjqijzpr(LootContext.EntityTarget.f_qzgthnlo, "entity").forGetter(arg -> arg.entity)
+                  Codecs.createStrictOptionalField(TextCodecs.f_flkmksis, "name").forGetter(arg -> arg.name),
+                  Codecs.createStrictOptionalField(LootContext.EntityTarget.f_qzgthnlo, "entity").forGetter(arg -> arg.entity)
                )
             )
             .apply(instance, SetNameLootFunction::new)
diff -bur namedTargetSrc/net/minecraft/loot/function/SetStewEffectLootFunction.java namedSrc/net/minecraft/loot/function/SetStewEffectLootFunction.java
--- namedTargetSrc/net/minecraft/loot/function/SetStewEffectLootFunction.java	2023-12-31 03:27:58.268163071 +0000
+++ namedSrc/net/minecraft/loot/function/SetStewEffectLootFunction.java	2023-12-31 03:26:52.072385921 +0000
@@ -49,7 +49,7 @@
     */
    public static final Codec<SetStewEffectLootFunction> f_tjmdlomo = RecordCodecBuilder.create(
       instance -> m_hfvcjbcy(instance)
-            .and(Codecs.m_aeryaqrd(f_icrcoqso, "effects", List.of()).forGetter(arg -> arg.f_eqbofuad))
+            .and(Codecs.createStrictOptionalField(f_icrcoqso, "effects", List.of()).forGetter(arg -> arg.f_eqbofuad))
             .apply(instance, SetStewEffectLootFunction::new)
    );
    /**
diff -bur namedTargetSrc/net/minecraft/loot/LootDataType.java namedSrc/net/minecraft/loot/LootDataType.java
--- namedTargetSrc/net/minecraft/loot/LootDataType.java	2023-12-31 03:27:58.152163456 +0000
+++ namedSrc/net/minecraft/loot/LootDataType.java	2023-12-31 03:26:51.928386388 +0000
@@ -29,7 +29,7 @@
     * @mapping {@literal hashed f_okjixvwg Lnet/minecraft/unmapped/C_gvzqwcwq;f_okjixvwg:Lnet/minecraft/unmapped/C_gvzqwcwq;}
     * @mapping {@literal named PREDICATES Lnet/minecraft/loot/LootDataType;PREDICATES:Lnet/minecraft/loot/LootDataType;}
     */
-   public static final LootDataType<LootCondition> PREDICATES = new LootDataType<>(LootConditionTypes.f_tzpkbvhm, "predicates", createSimpleValidator());
+   public static final LootDataType<LootCondition> PREDICATES = new LootDataType<>(LootConditionTypes.CODEC, "predicates", createSimpleValidator());
    /**
     * @mapping {@literal hashed f_dqzoxwli Lnet/minecraft/unmapped/C_gvzqwcwq;f_dqzoxwli:Lnet/minecraft/unmapped/C_gvzqwcwq;}
     * @mapping {@literal named ITEM_MODIFIERS Lnet/minecraft/loot/LootDataType;ITEM_MODIFIERS:Lnet/minecraft/loot/LootDataType;}
diff -bur namedTargetSrc/net/minecraft/loot/LootManager.java namedSrc/net/minecraft/loot/LootManager.java
--- namedTargetSrc/net/minecraft/loot/LootManager.java	2023-12-31 03:27:58.308162938 +0000
+++ namedSrc/net/minecraft/loot/LootManager.java	2023-12-31 03:26:52.132385726 +0000
@@ -17,7 +17,7 @@
 import net.minecraft.resource.JsonDataLoader;
 import net.minecraft.resource.ResourceManager;
 import net.minecraft.resource.ResourceReloader;
-import net.minecraft.unmapped.C_jtpvewkp;
+import net.minecraft.util.ErrorReporter;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.profiler.Profiler;
 import org.jetbrains.annotations.Nullable;
@@ -105,7 +105,7 @@
             builder2.put(dataType, id);
          }));
       builder.put(EMPTY_LOOT_TABLE, LootTable.EMPTY);
-      C_jtpvewkp.C_jbcmnrpq lv = new C_jtpvewkp.C_jbcmnrpq();
+      ErrorReporter.Impl lv = new ErrorReporter.Impl();
       final Map<LootDataKey<?>, ?> map2 = builder.build();
       LootTableReporter lv2 = new LootTableReporter(lv, LootContextTypes.GENERIC, new LootDataLookup() {
          /**
@@ -118,7 +118,7 @@
          }
       });
       map2.forEach((key, element) -> validate(lv2, key, element));
-      lv.m_fdjwfdmg().forEach((string, string2) -> LOGGER.warn("Found loot table element validation problem in {}: {}", string, string2));
+      lv.copyErrors().forEach((string, string2) -> LOGGER.warn("Found loot table element validation problem in {}: {}", string, string2));
       this.elements = map2;
       this.typeKeys = builder2.build();
    }
diff -bur namedTargetSrc/net/minecraft/loot/LootPool.java namedSrc/net/minecraft/loot/LootPool.java
--- namedTargetSrc/net/minecraft/loot/LootPool.java	2023-12-31 03:27:58.304162951 +0000
+++ namedSrc/net/minecraft/loot/LootPool.java	2023-12-31 03:26:52.128385740 +0000
@@ -38,8 +38,8 @@
    public static final Codec<LootPool> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
                LootPoolEntryTypes.CODEC.listOf().fieldOf("entries").forGetter(arg -> arg.entries),
-               Codecs.m_aeryaqrd(LootConditionTypes.f_tzpkbvhm.listOf(), "conditions", List.of()).forGetter(arg -> arg.conditions),
-               Codecs.m_aeryaqrd(LootFunctionTypes.f_hcnwqyvm.listOf(), "functions", List.of()).forGetter(arg -> arg.functions),
+               Codecs.createStrictOptionalField(LootConditionTypes.CODEC.listOf(), "conditions", List.of()).forGetter(arg -> arg.conditions),
+               Codecs.createStrictOptionalField(LootFunctionTypes.f_hcnwqyvm.listOf(), "functions", List.of()).forGetter(arg -> arg.functions),
                LootNumberProviderTypes.f_epoycneq.fieldOf("rolls").forGetter(arg -> arg.rolls),
                LootNumberProviderTypes.f_epoycneq.fieldOf("bonus_rolls").orElse(ConstantLootNumberProvider.create(0.0F)).forGetter(arg -> arg.bonusRolls)
             )
diff -bur namedTargetSrc/net/minecraft/loot/LootTable.java namedSrc/net/minecraft/loot/LootTable.java
--- namedTargetSrc/net/minecraft/loot/LootTable.java	2023-12-31 03:27:58.228163204 +0000
+++ namedSrc/net/minecraft/loot/LootTable.java	2023-12-31 03:26:52.016386103 +0000
@@ -55,9 +55,9 @@
    public static final Codec<LootTable> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
                LootContextTypes.CODEC.optionalFieldOf("type", GENERIC).forGetter(arg -> arg.type),
-               Codecs.m_cjqijzpr(Identifier.CODEC, "random_sequence").forGetter(arg -> arg.randomSequenceId),
-               Codecs.m_aeryaqrd(LootPool.CODEC.listOf(), "pools", List.of()).forGetter(arg -> arg.pools),
-               Codecs.m_aeryaqrd(LootFunctionTypes.f_hcnwqyvm.listOf(), "functions", List.of()).forGetter(arg -> arg.functions)
+               Codecs.createStrictOptionalField(Identifier.CODEC, "random_sequence").forGetter(arg -> arg.randomSequenceId),
+               Codecs.createStrictOptionalField(LootPool.CODEC.listOf(), "pools", List.of()).forGetter(arg -> arg.pools),
+               Codecs.createStrictOptionalField(LootFunctionTypes.f_hcnwqyvm.listOf(), "functions", List.of()).forGetter(arg -> arg.functions)
             )
             .apply(instance, LootTable::new)
    );
diff -bur namedTargetSrc/net/minecraft/loot/LootTableReporter.java namedSrc/net/minecraft/loot/LootTableReporter.java
--- namedTargetSrc/net/minecraft/loot/LootTableReporter.java	2023-12-31 03:27:58.044163815 +0000
+++ namedSrc/net/minecraft/loot/LootTableReporter.java	2023-12-31 03:26:51.828386713 +0000
@@ -4,7 +4,7 @@
 import java.util.Set;
 import net.minecraft.loot.context.LootContextAware;
 import net.minecraft.loot.context.LootContextType;
-import net.minecraft.unmapped.C_jtpvewkp;
+import net.minecraft.util.ErrorReporter;
 
 /**
  * @mapping {@literal hashed net/minecraft/unmapped/C_eumtgsbp}
@@ -14,7 +14,7 @@
    /**
     * Mapping not found
     */
-   private final C_jtpvewkp f_ovshwzxs;
+   private final ErrorReporter f_ovshwzxs;
    /**
     * @mapping {@literal hashed f_tqavjmzz Lnet/minecraft/unmapped/C_eumtgsbp;f_tqavjmzz:Lnet/minecraft/unmapped/C_vczsvjil;}
     * @mapping {@literal named contextType Lnet/minecraft/loot/LootTableReporter;contextType:Lnet/minecraft/loot/context/LootContextType;}
@@ -34,15 +34,15 @@
    /**
     * Mapping not found
     */
-   public LootTableReporter(C_jtpvewkp arg, LootContextType arg2, LootDataLookup arg3) {
+   public LootTableReporter(ErrorReporter arg, LootContextType arg2, LootDataLookup arg3) {
       this(arg, arg2, arg3, Set.of());
    }
 
    /**
     * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_eumtgsbp;<init>(Lnet/minecraft/unmapped/C_jtpvewkp;Lnet/minecraft/unmapped/C_vczsvjil;Lnet/minecraft/unmapped/C_srnkfpki;Ljava/util/Set;)V}
-    * @mapping {@literal named <init> Lnet/minecraft/loot/LootTableReporter;<init>(Lnet/minecraft/unmapped/C_jtpvewkp;Lnet/minecraft/loot/context/LootContextType;Lnet/minecraft/loot/LootDataLookup;Ljava/util/Set;)V}
+    * @mapping {@literal named <init> Lnet/minecraft/loot/LootTableReporter;<init>(Lnet/minecraft/util/ErrorReporter;Lnet/minecraft/loot/context/LootContextType;Lnet/minecraft/loot/LootDataLookup;Ljava/util/Set;)V}
     */
-   private LootTableReporter(C_jtpvewkp arg, LootContextType contextType, LootDataLookup dataLookup, Set<LootDataKey<?>> visitedElements) {
+   private LootTableReporter(ErrorReporter arg, LootContextType contextType, LootDataLookup dataLookup, Set<LootDataKey<?>> visitedElements) {
       this.f_ovshwzxs = arg;
       this.contextType = contextType;
       this.dataLookup = dataLookup;
@@ -54,7 +54,7 @@
     * @mapping {@literal named makeChild Lnet/minecraft/loot/LootTableReporter;makeChild(Ljava/lang/String;)Lnet/minecraft/loot/LootTableReporter;}
     */
    public LootTableReporter makeChild(String name) {
-      return new LootTableReporter(this.f_ovshwzxs.m_nnxeyyzv(name), this.contextType, this.dataLookup, this.visitedElements);
+      return new LootTableReporter(this.f_ovshwzxs.forChild(name), this.contextType, this.dataLookup, this.visitedElements);
    }
 
    /**
@@ -63,7 +63,7 @@
     */
    public LootTableReporter makeChild(String name, LootDataKey<?> key) {
       ImmutableSet<LootDataKey<?>> immutableSet = ImmutableSet.<LootDataKey<?>>builder().addAll(this.visitedElements).add(key).build();
-      return new LootTableReporter(this.f_ovshwzxs.m_nnxeyyzv(name), this.contextType, this.dataLookup, immutableSet);
+      return new LootTableReporter(this.f_ovshwzxs.forChild(name), this.contextType, this.dataLookup, immutableSet);
    }
 
    /**
@@ -79,7 +79,7 @@
     * @mapping {@literal named report Lnet/minecraft/loot/LootTableReporter;report(Ljava/lang/String;)V}
     */
    public void report(String message) {
-      this.f_ovshwzxs.m_qtdgardw(message);
+      this.f_ovshwzxs.report(message);
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/loot/operator/BoundedIntUnaryOperator.java namedSrc/net/minecraft/loot/operator/BoundedIntUnaryOperator.java
--- namedTargetSrc/net/minecraft/loot/operator/BoundedIntUnaryOperator.java	2023-12-31 03:27:58.116163576 +0000
+++ namedSrc/net/minecraft/loot/operator/BoundedIntUnaryOperator.java	2023-12-31 03:26:51.888386519 +0000
@@ -29,8 +29,8 @@
     */
    private static final Codec<BoundedIntUnaryOperator> f_eyhevmqg = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(LootNumberProviderTypes.f_epoycneq, "min").forGetter(arg -> Optional.ofNullable(arg.min)),
-               Codecs.m_cjqijzpr(LootNumberProviderTypes.f_epoycneq, "max").forGetter(arg -> Optional.ofNullable(arg.max))
+               Codecs.createStrictOptionalField(LootNumberProviderTypes.f_epoycneq, "min").forGetter(arg -> Optional.ofNullable(arg.min)),
+               Codecs.createStrictOptionalField(LootNumberProviderTypes.f_epoycneq, "max").forGetter(arg -> Optional.ofNullable(arg.max))
             )
             .apply(instance, BoundedIntUnaryOperator::new)
    );
diff -bur namedTargetSrc/net/minecraft/loot/provider/number/LootNumberProviderTypes.java namedSrc/net/minecraft/loot/provider/number/LootNumberProviderTypes.java
--- namedTargetSrc/net/minecraft/loot/provider/number/LootNumberProviderTypes.java	2023-12-31 03:27:58.176163376 +0000
+++ namedSrc/net/minecraft/loot/provider/number/LootNumberProviderTypes.java	2023-12-31 03:26:51.960386285 +0000
@@ -24,7 +24,7 @@
     */
    public static final Codec<LootNumberProvider> f_epoycneq = Codecs.createLazy(
       () -> {
-         Codec<LootNumberProvider> codec = Codecs.m_lprwixza(f_ehdyaxdf, UniformLootNumberProvider.CODEC);
+         Codec<LootNumberProvider> codec = Codecs.either(f_ehdyaxdf, UniformLootNumberProvider.CODEC);
          return Codec.either(ConstantLootNumberProvider.f_cabhctzq, codec)
             .xmap(
                either -> either.map(Function.identity(), Function.identity()),
diff -bur namedTargetSrc/net/minecraft/network/message/SignedChatMessage.java namedSrc/net/minecraft/network/message/SignedChatMessage.java
--- namedTargetSrc/net/minecraft/network/message/SignedChatMessage.java	2023-12-31 03:27:58.176163376 +0000
+++ namedSrc/net/minecraft/network/message/SignedChatMessage.java	2023-12-31 03:26:51.960386285 +0000
@@ -12,7 +12,7 @@
 import net.minecraft.network.encryption.SignatureUpdater;
 import net.minecraft.network.encryption.SignatureValidator;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.Util;
 import org.jetbrains.annotations.Nullable;
 
@@ -30,7 +30,7 @@
                MessageLink.CODEC.fieldOf("link").forGetter(SignedChatMessage::link),
                MessageSignature.CODEC.optionalFieldOf("signature").forGetter(arg -> Optional.ofNullable(arg.signature)),
                MessageBody.CODEC.forGetter(SignedChatMessage::body),
-               C_qrzzgymy.f_flkmksis.optionalFieldOf("unsigned_content").forGetter(arg -> Optional.ofNullable(arg.unsignedContent)),
+               TextCodecs.f_flkmksis.optionalFieldOf("unsigned_content").forGetter(arg -> Optional.ofNullable(arg.unsignedContent)),
                FilterMask.CODEC.optionalFieldOf("filter_mask", FilterMask.PASSTHROUGH).forGetter(SignedChatMessage::filterMask)
             )
             .apply(
diff -bur namedTargetSrc/net/minecraft/network/PacketByteBuf.java namedSrc/net/minecraft/network/PacketByteBuf.java
--- namedTargetSrc/net/minecraft/network/PacketByteBuf.java	2023-12-31 03:27:58.128163536 +0000
+++ namedSrc/net/minecraft/network/PacketByteBuf.java	2023-12-31 03:26:51.900386479 +0000
@@ -65,7 +65,7 @@
 import net.minecraft.registry.RegistryKey;
 import net.minecraft.registry.RegistryKeys;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_qrzzgymy;
+import net.minecraft.text.TextCodecs;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.JsonHelper;
 import net.minecraft.util.Util;
@@ -1172,14 +1172,14 @@
     * @mapping {@literal named readText Lnet/minecraft/network/PacketByteBuf;readText()Lnet/minecraft/text/Text;}
     */
    public Text readText() {
-      return this.decode(NbtOps.INSTANCE, C_qrzzgymy.f_flkmksis, NbtTagSizeTracker.m_drwlvowq(2097152L));
+      return this.decode(NbtOps.INSTANCE, TextCodecs.f_flkmksis, NbtTagSizeTracker.m_drwlvowq(2097152L));
    }
 
    /**
     * Mapping not found
     */
    public Text m_aeyjpepw() {
-      return this.decode(NbtOps.INSTANCE, C_qrzzgymy.f_flkmksis);
+      return this.decode(NbtOps.INSTANCE, TextCodecs.f_flkmksis);
    }
 
    /**
@@ -1198,7 +1198,7 @@
     * @mapping {@literal named writeText Lnet/minecraft/network/PacketByteBuf;writeText(Lnet/minecraft/text/Text;)Lnet/minecraft/network/PacketByteBuf;}
     */
    public PacketByteBuf writeText(Text text) {
-      return this.encode(NbtOps.INSTANCE, C_qrzzgymy.f_flkmksis, text);
+      return this.encode(NbtOps.INSTANCE, TextCodecs.f_flkmksis, text);
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/predicate/BlockPredicate.java namedSrc/net/minecraft/predicate/BlockPredicate.java
--- namedTargetSrc/net/minecraft/predicate/BlockPredicate.java	2023-12-31 03:27:58.276163044 +0000
+++ namedSrc/net/minecraft/predicate/BlockPredicate.java	2023-12-31 03:26:52.084385881 +0000
@@ -33,10 +33,10 @@
     */
    public static final Codec<BlockPredicate> f_gxnjjbbp = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(TagKey.createCodec(RegistryKeys.BLOCK), "tag").forGetter(BlockPredicate::tag),
-               Codecs.m_cjqijzpr(f_uuasejxd, "blocks").forGetter(BlockPredicate::blocks),
-               Codecs.m_cjqijzpr(StatePredicate.f_oreeybze, "state").forGetter(BlockPredicate::properties),
-               Codecs.m_cjqijzpr(NbtPredicate.CODEC, "nbt").forGetter(BlockPredicate::nbt)
+               Codecs.createStrictOptionalField(TagKey.createCodec(RegistryKeys.BLOCK), "tag").forGetter(BlockPredicate::tag),
+               Codecs.createStrictOptionalField(f_uuasejxd, "blocks").forGetter(BlockPredicate::blocks),
+               Codecs.createStrictOptionalField(StatePredicate.f_oreeybze, "state").forGetter(BlockPredicate::properties),
+               Codecs.createStrictOptionalField(NbtPredicate.CODEC, "nbt").forGetter(BlockPredicate::nbt)
             )
             .apply(instance, BlockPredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/ContextAwarePredicate.java namedSrc/net/minecraft/predicate/ContextAwarePredicate.java
--- namedTargetSrc/net/minecraft/predicate/ContextAwarePredicate.java	2023-12-31 03:27:58.288163004 +0000
+++ namedSrc/net/minecraft/predicate/ContextAwarePredicate.java	2023-12-31 03:26:52.100385830 +0000
@@ -17,7 +17,7 @@
     * @mapping {@literal hashed f_yqigtilm Lnet/minecraft/unmapped/C_ctsfmifk;f_yqigtilm:Lcom/mojang/serialization/Codec;}
     * @mapping {@literal named CODEC Lnet/minecraft/predicate/ContextAwarePredicate;CODEC:Lcom/mojang/serialization/Codec;}
     */
-   public static final Codec<ContextAwarePredicate> CODEC = LootConditionTypes.f_tzpkbvhm.listOf().xmap(ContextAwarePredicate::new, arg -> arg.lootConditions);
+   public static final Codec<ContextAwarePredicate> CODEC = LootConditionTypes.CODEC.listOf().xmap(ContextAwarePredicate::new, arg -> arg.lootConditions);
    /**
     * @mapping {@literal hashed f_yxgkwomu Lnet/minecraft/unmapped/C_ctsfmifk;f_yxgkwomu:Ljava/util/List;}
     * @mapping {@literal named lootConditions Lnet/minecraft/predicate/ContextAwarePredicate;lootConditions:Ljava/util/List;}
@@ -55,12 +55,13 @@
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_zuojxyqu Lnet/minecraft/unmapped/C_ctsfmifk;m_zuojxyqu(Lnet/minecraft/unmapped/C_eumtgsbp;)V}
+    * @mapping {@literal named validateConditions Lnet/minecraft/predicate/ContextAwarePredicate;validateConditions(Lnet/minecraft/loot/LootTableReporter;)V}
     */
-   public void m_zuojxyqu(LootTableReporter arg) {
+   public void validateConditions(LootTableReporter reporter) {
       for (int i = 0; i < this.lootConditions.size(); ++i) {
          LootCondition lv = (LootCondition)this.lootConditions.get(i);
-         lv.validate(arg.makeChild("[" + i + "]"));
+         lv.validate(reporter.makeChild("[" + i + "]"));
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/predicate/DamagePredicate.java namedSrc/net/minecraft/predicate/DamagePredicate.java
--- namedTargetSrc/net/minecraft/predicate/DamagePredicate.java	2023-12-31 03:27:58.112163588 +0000
+++ namedSrc/net/minecraft/predicate/DamagePredicate.java	2023-12-31 03:26:51.880386544 +0000
@@ -26,11 +26,11 @@
     */
    public static final Codec<DamagePredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "dealt", NumberRange.FloatRange.ANY).forGetter(DamagePredicate::dealtDamage),
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "taken", NumberRange.FloatRange.ANY).forGetter(DamagePredicate::takenDamage),
-               Codecs.m_cjqijzpr(EntityPredicate.f_krniofyg, "source_entity").forGetter(DamagePredicate::sourceEntity),
-               Codecs.m_cjqijzpr(Codec.BOOL, "blocked").forGetter(DamagePredicate::blocked),
-               Codecs.m_cjqijzpr(DamageSourcePredicate.CODEC, "type").forGetter(DamagePredicate::type)
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "dealt", NumberRange.FloatRange.ANY).forGetter(DamagePredicate::dealtDamage),
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "taken", NumberRange.FloatRange.ANY).forGetter(DamagePredicate::takenDamage),
+               Codecs.createStrictOptionalField(EntityPredicate.CODEC, "source_entity").forGetter(DamagePredicate::sourceEntity),
+               Codecs.createStrictOptionalField(Codec.BOOL, "blocked").forGetter(DamagePredicate::blocked),
+               Codecs.createStrictOptionalField(DamageSourcePredicate.CODEC, "type").forGetter(DamagePredicate::type)
             )
             .apply(instance, DamagePredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/DamageSourcePredicate.java namedSrc/net/minecraft/predicate/entity/DamageSourcePredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/DamageSourcePredicate.java	2023-12-31 03:27:58.228163204 +0000
+++ namedSrc/net/minecraft/predicate/entity/DamageSourcePredicate.java	2023-12-31 03:26:52.020386089 +0000
@@ -25,9 +25,10 @@
     */
    public static final Codec<DamageSourcePredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(TagPredicate.m_viztzsoe(RegistryKeys.DAMAGE_TYPE).listOf(), "tags", List.of()).forGetter(DamageSourcePredicate::tags),
-               Codecs.m_cjqijzpr(EntityPredicate.f_krniofyg, "direct_entity").forGetter(DamageSourcePredicate::directEntity),
-               Codecs.m_cjqijzpr(EntityPredicate.f_krniofyg, "source_entity").forGetter(DamageSourcePredicate::sourceEntity)
+               Codecs.createStrictOptionalField(TagPredicate.m_viztzsoe(RegistryKeys.DAMAGE_TYPE).listOf(), "tags", List.of())
+                  .forGetter(DamageSourcePredicate::tags),
+               Codecs.createStrictOptionalField(EntityPredicate.CODEC, "direct_entity").forGetter(DamageSourcePredicate::directEntity),
+               Codecs.createStrictOptionalField(EntityPredicate.CODEC, "source_entity").forGetter(DamageSourcePredicate::sourceEntity)
             )
             .apply(instance, DamageSourcePredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/DistancePredicate.java namedSrc/net/minecraft/predicate/entity/DistancePredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/DistancePredicate.java	2023-12-31 03:27:58.236163177 +0000
+++ namedSrc/net/minecraft/predicate/entity/DistancePredicate.java	2023-12-31 03:26:52.028386063 +0000
@@ -19,11 +19,12 @@
     */
    public static final Codec<DistancePredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "x", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::x),
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "y", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::y),
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "z", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::z),
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "horizontal", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::horizontal),
-               Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "absolute", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::absolute)
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "x", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::x),
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "y", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::y),
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "z", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::z),
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "horizontal", NumberRange.FloatRange.ANY)
+                  .forGetter(DistancePredicate::horizontal),
+               Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "absolute", NumberRange.FloatRange.ANY).forGetter(DistancePredicate::absolute)
             )
             .apply(instance, DistancePredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/EntityEffectPredicate.java namedSrc/net/minecraft/predicate/entity/EntityEffectPredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/EntityEffectPredicate.java	2023-12-31 03:27:58.268163071 +0000
+++ namedSrc/net/minecraft/predicate/entity/EntityEffectPredicate.java	2023-12-31 03:26:52.072385921 +0000
@@ -119,10 +119,12 @@
        */
       public static final Codec<EntityEffectPredicate.EffectData> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "amplifier", NumberRange.IntRange.ANY).forGetter(EntityEffectPredicate.EffectData::amplifier),
-                  Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "duration", NumberRange.IntRange.ANY).forGetter(EntityEffectPredicate.EffectData::duration),
-                  Codecs.m_cjqijzpr(Codec.BOOL, "ambient").forGetter(EntityEffectPredicate.EffectData::ambient),
-                  Codecs.m_cjqijzpr(Codec.BOOL, "visible").forGetter(EntityEffectPredicate.EffectData::visible)
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "amplifier", NumberRange.IntRange.ANY)
+                     .forGetter(EntityEffectPredicate.EffectData::amplifier),
+                  Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "duration", NumberRange.IntRange.ANY)
+                     .forGetter(EntityEffectPredicate.EffectData::duration),
+                  Codecs.createStrictOptionalField(Codec.BOOL, "ambient").forGetter(EntityEffectPredicate.EffectData::ambient),
+                  Codecs.createStrictOptionalField(Codec.BOOL, "visible").forGetter(EntityEffectPredicate.EffectData::visible)
                )
                .apply(instance, EntityEffectPredicate.EffectData::new)
       );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/EntityEquipmentPredicate.java namedSrc/net/minecraft/predicate/entity/EntityEquipmentPredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/EntityEquipmentPredicate.java	2023-12-31 03:27:58.108163602 +0000
+++ namedSrc/net/minecraft/predicate/entity/EntityEquipmentPredicate.java	2023-12-31 03:26:51.880386544 +0000
@@ -30,12 +30,12 @@
     */
    public static final Codec<EntityEquipmentPredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "head").forGetter(EntityEquipmentPredicate::head),
-               Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "chest").forGetter(EntityEquipmentPredicate::chest),
-               Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "legs").forGetter(EntityEquipmentPredicate::legs),
-               Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "feet").forGetter(EntityEquipmentPredicate::feet),
-               Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "mainhand").forGetter(EntityEquipmentPredicate::mainhand),
-               Codecs.m_cjqijzpr(ItemPredicate.f_jzkgbumt, "offhand").forGetter(EntityEquipmentPredicate::offhand)
+               Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "head").forGetter(EntityEquipmentPredicate::head),
+               Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "chest").forGetter(EntityEquipmentPredicate::chest),
+               Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "legs").forGetter(EntityEquipmentPredicate::legs),
+               Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "feet").forGetter(EntityEquipmentPredicate::feet),
+               Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "mainhand").forGetter(EntityEquipmentPredicate::mainhand),
+               Codecs.createStrictOptionalField(ItemPredicate.f_jzkgbumt, "offhand").forGetter(EntityEquipmentPredicate::offhand)
             )
             .apply(instance, EntityEquipmentPredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/EntityFlagsPredicate.java namedSrc/net/minecraft/predicate/entity/EntityFlagsPredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/EntityFlagsPredicate.java	2023-12-31 03:27:58.048163802 +0000
+++ namedSrc/net/minecraft/predicate/entity/EntityFlagsPredicate.java	2023-12-31 03:26:51.832386701 +0000
@@ -20,11 +20,11 @@
     */
    public static final Codec<EntityFlagsPredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(Codec.BOOL, "is_on_fire").forGetter(EntityFlagsPredicate::isOnFire),
-               Codecs.m_cjqijzpr(Codec.BOOL, "is_sneaking").forGetter(EntityFlagsPredicate::isCrouching),
-               Codecs.m_cjqijzpr(Codec.BOOL, "is_sprinting").forGetter(EntityFlagsPredicate::isSprinting),
-               Codecs.m_cjqijzpr(Codec.BOOL, "is_swimming").forGetter(EntityFlagsPredicate::isSwimming),
-               Codecs.m_cjqijzpr(Codec.BOOL, "is_baby").forGetter(EntityFlagsPredicate::isBaby)
+               Codecs.createStrictOptionalField(Codec.BOOL, "is_on_fire").forGetter(EntityFlagsPredicate::isOnFire),
+               Codecs.createStrictOptionalField(Codec.BOOL, "is_sneaking").forGetter(EntityFlagsPredicate::isCrouching),
+               Codecs.createStrictOptionalField(Codec.BOOL, "is_sprinting").forGetter(EntityFlagsPredicate::isSprinting),
+               Codecs.createStrictOptionalField(Codec.BOOL, "is_swimming").forGetter(EntityFlagsPredicate::isSwimming),
+               Codecs.createStrictOptionalField(Codec.BOOL, "is_baby").forGetter(EntityFlagsPredicate::isBaby)
             )
             .apply(instance, EntityFlagsPredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/EntityPredicate.java namedSrc/net/minecraft/predicate/entity/EntityPredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/EntityPredicate.java	2023-12-31 03:27:58.084163682 +0000
+++ namedSrc/net/minecraft/predicate/entity/EntityPredicate.java	2023-12-31 03:26:51.852386635 +0000
@@ -44,33 +44,35 @@
    Optional<String> team
 ) {
    /**
-    * Mapping not found
+    * @mapping {@literal hashed f_krniofyg Lnet/minecraft/unmapped/C_kvkvpjlm;f_krniofyg:Lcom/mojang/serialization/Codec;}
+    * @mapping {@literal named CODEC Lnet/minecraft/predicate/entity/EntityPredicate;CODEC:Lcom/mojang/serialization/Codec;}
     */
-   public static final Codec<EntityPredicate> f_krniofyg = Codecs.m_segfvobg(
+   public static final Codec<EntityPredicate> CODEC = Codecs.createRecursive(
       "EntityPredicate",
       codec -> RecordCodecBuilder.create(
             instance -> instance.group(
-                     Codecs.m_cjqijzpr(EntityTypePredicate.CODEC, "type").forGetter(EntityPredicate::entityType),
-                     Codecs.m_cjqijzpr(DistancePredicate.CODEC, "distance").forGetter(EntityPredicate::distanceToPlayer),
-                     Codecs.m_cjqijzpr(LocationPredicate.CODEC, "location").forGetter(EntityPredicate::location),
-                     Codecs.m_cjqijzpr(LocationPredicate.CODEC, "stepping_on").forGetter(EntityPredicate::steppingOnLocation),
-                     Codecs.m_cjqijzpr(EntityEffectPredicate.CODEC, "effects").forGetter(EntityPredicate::effects),
-                     Codecs.m_cjqijzpr(NbtPredicate.CODEC, "nbt").forGetter(EntityPredicate::nbt),
-                     Codecs.m_cjqijzpr(EntityFlagsPredicate.CODEC, "flags").forGetter(EntityPredicate::flags),
-                     Codecs.m_cjqijzpr(EntityEquipmentPredicate.CODEC, "equipment").forGetter(EntityPredicate::equipment),
-                     Codecs.m_cjqijzpr(TypeSpecificPredicate.CODEC, "type_specific").forGetter(EntityPredicate::subPredicate),
-                     Codecs.m_cjqijzpr(codec, "vehicle").forGetter(EntityPredicate::vehicle),
-                     Codecs.m_cjqijzpr(codec, "passenger").forGetter(EntityPredicate::passenger),
-                     Codecs.m_cjqijzpr(codec, "targeted_entity").forGetter(EntityPredicate::targetedEntity),
-                     Codecs.m_cjqijzpr(Codec.STRING, "team").forGetter(EntityPredicate::team)
+                     Codecs.createStrictOptionalField(EntityTypePredicate.CODEC, "type").forGetter(EntityPredicate::entityType),
+                     Codecs.createStrictOptionalField(DistancePredicate.CODEC, "distance").forGetter(EntityPredicate::distanceToPlayer),
+                     Codecs.createStrictOptionalField(LocationPredicate.CODEC, "location").forGetter(EntityPredicate::location),
+                     Codecs.createStrictOptionalField(LocationPredicate.CODEC, "stepping_on").forGetter(EntityPredicate::steppingOnLocation),
+                     Codecs.createStrictOptionalField(EntityEffectPredicate.CODEC, "effects").forGetter(EntityPredicate::effects),
+                     Codecs.createStrictOptionalField(NbtPredicate.CODEC, "nbt").forGetter(EntityPredicate::nbt),
+                     Codecs.createStrictOptionalField(EntityFlagsPredicate.CODEC, "flags").forGetter(EntityPredicate::flags),
+                     Codecs.createStrictOptionalField(EntityEquipmentPredicate.CODEC, "equipment").forGetter(EntityPredicate::equipment),
+                     Codecs.createStrictOptionalField(TypeSpecificPredicate.CODEC, "type_specific").forGetter(EntityPredicate::subPredicate),
+                     Codecs.createStrictOptionalField(codec, "vehicle").forGetter(EntityPredicate::vehicle),
+                     Codecs.createStrictOptionalField(codec, "passenger").forGetter(EntityPredicate::passenger),
+                     Codecs.createStrictOptionalField(codec, "targeted_entity").forGetter(EntityPredicate::targetedEntity),
+                     Codecs.createStrictOptionalField(Codec.STRING, "team").forGetter(EntityPredicate::team)
                   )
                   .apply(instance, EntityPredicate::new)
          )
    );
    /**
-    * Mapping not found
+    * @mapping {@literal hashed f_uvagahsk Lnet/minecraft/unmapped/C_kvkvpjlm;f_uvagahsk:Lcom/mojang/serialization/Codec;}
+    * @mapping {@literal named ADVANCEMENT_CODEC Lnet/minecraft/predicate/entity/EntityPredicate;ADVANCEMENT_CODEC:Lcom/mojang/serialization/Codec;}
     */
-   public static final Codec<ContextAwarePredicate> f_uvagahsk = Codecs.either(ContextAwarePredicate.CODEC, f_krniofyg, EntityPredicate::wrap);
+   public static final Codec<ContextAwarePredicate> ADVANCEMENT_CODEC = Codecs.either(ContextAwarePredicate.CODEC, CODEC, EntityPredicate::wrap);
 
    /**
     * @mapping {@literal hashed m_lenpszae Lnet/minecraft/unmapped/C_kvkvpjlm;m_lenpszae(Lnet/minecraft/unmapped/C_kvkvpjlm$C_fnhnavbg;)Lnet/minecraft/unmapped/C_ctsfmifk;}
diff -bur namedTargetSrc/net/minecraft/predicate/entity/FishingHookPredicate.java namedSrc/net/minecraft/predicate/entity/FishingHookPredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/FishingHookPredicate.java	2023-12-31 03:27:58.088163669 +0000
+++ namedSrc/net/minecraft/predicate/entity/FishingHookPredicate.java	2023-12-31 03:26:51.856386622 +0000
@@ -25,7 +25,7 @@
     * Mapping not found
     */
    public static final MapCodec<FishingHookPredicate> f_ranfviet = RecordCodecBuilder.mapCodec(
-      instance -> instance.group(Codecs.m_cjqijzpr(Codec.BOOL, "in_open_water").forGetter(FishingHookPredicate::inOpenWater))
+      instance -> instance.group(Codecs.createStrictOptionalField(Codec.BOOL, "in_open_water").forGetter(FishingHookPredicate::inOpenWater))
             .apply(instance, FishingHookPredicate::new)
    );
 
diff -bur namedTargetSrc/net/minecraft/predicate/entity/LocationPredicate.java namedSrc/net/minecraft/predicate/entity/LocationPredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/LocationPredicate.java	2023-12-31 03:27:58.208163270 +0000
+++ namedSrc/net/minecraft/predicate/entity/LocationPredicate.java	2023-12-31 03:26:51.996386168 +0000
@@ -37,14 +37,14 @@
     */
    public static final Codec<LocationPredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(LocationPredicate.C_gcijxrat.CODEC, "position").forGetter(LocationPredicate::position),
-               Codecs.m_cjqijzpr(RegistryKey.codec(RegistryKeys.BIOME), "biome").forGetter(LocationPredicate::biome),
-               Codecs.m_cjqijzpr(RegistryKey.codec(RegistryKeys.STRUCTURE_FEATURE), "structure").forGetter(LocationPredicate::structure),
-               Codecs.m_cjqijzpr(RegistryKey.codec(RegistryKeys.WORLD), "dimension").forGetter(LocationPredicate::dimension),
-               Codecs.m_cjqijzpr(Codec.BOOL, "smokey").forGetter(LocationPredicate::smokey),
-               Codecs.m_cjqijzpr(LightPredicate.CODEC, "light").forGetter(LocationPredicate::light),
-               Codecs.m_cjqijzpr(BlockPredicate.f_gxnjjbbp, "block").forGetter(LocationPredicate::block),
-               Codecs.m_cjqijzpr(FluidPredicate.CODEC, "fluid").forGetter(LocationPredicate::fluid)
+               Codecs.createStrictOptionalField(LocationPredicate.C_gcijxrat.CODEC, "position").forGetter(LocationPredicate::position),
+               Codecs.createStrictOptionalField(RegistryKey.codec(RegistryKeys.BIOME), "biome").forGetter(LocationPredicate::biome),
+               Codecs.createStrictOptionalField(RegistryKey.codec(RegistryKeys.STRUCTURE_FEATURE), "structure").forGetter(LocationPredicate::structure),
+               Codecs.createStrictOptionalField(RegistryKey.codec(RegistryKeys.WORLD), "dimension").forGetter(LocationPredicate::dimension),
+               Codecs.createStrictOptionalField(Codec.BOOL, "smokey").forGetter(LocationPredicate::smokey),
+               Codecs.createStrictOptionalField(LightPredicate.CODEC, "light").forGetter(LocationPredicate::light),
+               Codecs.createStrictOptionalField(BlockPredicate.f_gxnjjbbp, "block").forGetter(LocationPredicate::block),
+               Codecs.createStrictOptionalField(FluidPredicate.CODEC, "fluid").forGetter(LocationPredicate::fluid)
             )
             .apply(instance, LocationPredicate::new)
    );
@@ -315,9 +315,9 @@
        */
       public static final Codec<LocationPredicate.C_gcijxrat> CODEC = RecordCodecBuilder.create(
          instance -> instance.group(
-                  Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "x", NumberRange.FloatRange.ANY).forGetter(LocationPredicate.C_gcijxrat::x),
-                  Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "y", NumberRange.FloatRange.ANY).forGetter(LocationPredicate.C_gcijxrat::y),
-                  Codecs.m_aeryaqrd(NumberRange.FloatRange.CODEC, "z", NumberRange.FloatRange.ANY).forGetter(LocationPredicate.C_gcijxrat::z)
+                  Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "x", NumberRange.FloatRange.ANY).forGetter(LocationPredicate.C_gcijxrat::x),
+                  Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "y", NumberRange.FloatRange.ANY).forGetter(LocationPredicate.C_gcijxrat::y),
+                  Codecs.createStrictOptionalField(NumberRange.FloatRange.CODEC, "z", NumberRange.FloatRange.ANY).forGetter(LocationPredicate.C_gcijxrat::z)
                )
                .apply(instance, LocationPredicate.C_gcijxrat::new)
       );
diff -bur namedTargetSrc/net/minecraft/predicate/entity/SlimePredicate.java namedSrc/net/minecraft/predicate/entity/SlimePredicate.java
--- namedTargetSrc/net/minecraft/predicate/entity/SlimePredicate.java	2023-12-31 03:27:58.140163496 +0000
+++ namedSrc/net/minecraft/predicate/entity/SlimePredicate.java	2023-12-31 03:26:51.912386440 +0000
@@ -19,7 +19,7 @@
     * Mapping not found
     */
    public static final MapCodec<SlimePredicate> f_itoyblvj = RecordCodecBuilder.mapCodec(
-      instance -> instance.group(Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "size", NumberRange.IntRange.ANY).forGetter(SlimePredicate::size))
+      instance -> instance.group(Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "size", NumberRange.IntRange.ANY).forGetter(SlimePredicate::size))
             .apply(instance, SlimePredicate::new)
    );
 
diff -bur namedTargetSrc/net/minecraft/predicate/FluidPredicate.java namedSrc/net/minecraft/predicate/FluidPredicate.java
--- namedTargetSrc/net/minecraft/predicate/FluidPredicate.java	2023-12-31 03:27:58.116163576 +0000
+++ namedSrc/net/minecraft/predicate/FluidPredicate.java	2023-12-31 03:26:51.888386519 +0000
@@ -24,9 +24,9 @@
     */
    public static final Codec<FluidPredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(TagKey.createCodec(RegistryKeys.FLUID), "tag").forGetter(FluidPredicate::tag),
-               Codecs.m_cjqijzpr(Registries.FLUID.holderByNameCodec(), "fluid").forGetter(FluidPredicate::fluid),
-               Codecs.m_cjqijzpr(StatePredicate.f_oreeybze, "state").forGetter(FluidPredicate::properties)
+               Codecs.createStrictOptionalField(TagKey.createCodec(RegistryKeys.FLUID), "tag").forGetter(FluidPredicate::tag),
+               Codecs.createStrictOptionalField(Registries.FLUID.holderByNameCodec(), "fluid").forGetter(FluidPredicate::fluid),
+               Codecs.createStrictOptionalField(StatePredicate.f_oreeybze, "state").forGetter(FluidPredicate::properties)
             )
             .apply(instance, FluidPredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/item/EnchantmentPredicate.java namedSrc/net/minecraft/predicate/item/EnchantmentPredicate.java
--- namedTargetSrc/net/minecraft/predicate/item/EnchantmentPredicate.java	2023-12-31 03:27:58.308162938 +0000
+++ namedSrc/net/minecraft/predicate/item/EnchantmentPredicate.java	2023-12-31 03:26:52.136385713 +0000
@@ -21,8 +21,8 @@
     */
    public static final Codec<EnchantmentPredicate> CODEC = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(Registries.ENCHANTMENT.holderByNameCodec(), "enchantment").forGetter(EnchantmentPredicate::enchantment),
-               Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "levels", NumberRange.IntRange.ANY).forGetter(EnchantmentPredicate::level)
+               Codecs.createStrictOptionalField(Registries.ENCHANTMENT.holderByNameCodec(), "enchantment").forGetter(EnchantmentPredicate::enchantment),
+               Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "levels", NumberRange.IntRange.ANY).forGetter(EnchantmentPredicate::level)
             )
             .apply(instance, EnchantmentPredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/item/ItemPredicate.java namedSrc/net/minecraft/predicate/item/ItemPredicate.java
--- namedTargetSrc/net/minecraft/predicate/item/ItemPredicate.java	2023-12-31 03:27:58.140163496 +0000
+++ namedSrc/net/minecraft/predicate/item/ItemPredicate.java	2023-12-31 03:26:51.912386440 +0000
@@ -50,14 +50,15 @@
     */
    public static final Codec<ItemPredicate> f_jzkgbumt = RecordCodecBuilder.create(
       instance -> instance.group(
-               Codecs.m_cjqijzpr(TagKey.createCodec(RegistryKeys.ITEM), "tag").forGetter(ItemPredicate::tag),
-               Codecs.m_cjqijzpr(f_kxoywlvh, "items").forGetter(ItemPredicate::items),
-               Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "count", NumberRange.IntRange.ANY).forGetter(ItemPredicate::count),
-               Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "durability", NumberRange.IntRange.ANY).forGetter(ItemPredicate::durability),
-               Codecs.m_aeryaqrd(EnchantmentPredicate.CODEC.listOf(), "enchantments", List.of()).forGetter(ItemPredicate::enchantments),
-               Codecs.m_aeryaqrd(EnchantmentPredicate.CODEC.listOf(), "stored_enchantments", List.of()).forGetter(ItemPredicate::storedEnchantments),
-               Codecs.m_cjqijzpr(Registries.POTION.holderByNameCodec(), "potion").forGetter(ItemPredicate::potion),
-               Codecs.m_cjqijzpr(NbtPredicate.CODEC, "nbt").forGetter(ItemPredicate::nbt)
+               Codecs.createStrictOptionalField(TagKey.createCodec(RegistryKeys.ITEM), "tag").forGetter(ItemPredicate::tag),
+               Codecs.createStrictOptionalField(f_kxoywlvh, "items").forGetter(ItemPredicate::items),
+               Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "count", NumberRange.IntRange.ANY).forGetter(ItemPredicate::count),
+               Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "durability", NumberRange.IntRange.ANY).forGetter(ItemPredicate::durability),
+               Codecs.createStrictOptionalField(EnchantmentPredicate.CODEC.listOf(), "enchantments", List.of()).forGetter(ItemPredicate::enchantments),
+               Codecs.createStrictOptionalField(EnchantmentPredicate.CODEC.listOf(), "stored_enchantments", List.of())
+                  .forGetter(ItemPredicate::storedEnchantments),
+               Codecs.createStrictOptionalField(Registries.POTION.holderByNameCodec(), "potion").forGetter(ItemPredicate::potion),
+               Codecs.createStrictOptionalField(NbtPredicate.CODEC, "nbt").forGetter(ItemPredicate::nbt)
             )
             .apply(instance, ItemPredicate::new)
    );
diff -bur namedTargetSrc/net/minecraft/predicate/LightPredicate.java namedSrc/net/minecraft/predicate/LightPredicate.java
--- namedTargetSrc/net/minecraft/predicate/LightPredicate.java	2023-12-31 03:27:58.292162991 +0000
+++ namedSrc/net/minecraft/predicate/LightPredicate.java	2023-12-31 03:26:52.108385804 +0000
@@ -16,7 +16,9 @@
     * @mapping {@literal named CODEC Lnet/minecraft/predicate/LightPredicate;CODEC:Lcom/mojang/serialization/Codec;}
     */
    public static final Codec<LightPredicate> CODEC = RecordCodecBuilder.create(
-      instance -> instance.group(Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "light", NumberRange.IntRange.ANY).forGetter(LightPredicate::composite))
+      instance -> instance.group(
+               Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "light", NumberRange.IntRange.ANY).forGetter(LightPredicate::composite)
+            )
             .apply(instance, LightPredicate::new)
    );
 
diff -bur namedTargetSrc/net/minecraft/predicate/NumberRange.java namedSrc/net/minecraft/predicate/NumberRange.java
--- namedTargetSrc/net/minecraft/predicate/NumberRange.java	2023-12-31 03:27:58.176163376 +0000
+++ namedSrc/net/minecraft/predicate/NumberRange.java	2023-12-31 03:26:51.960386285 +0000
@@ -62,7 +62,10 @@
     */
    static <T extends Number, R extends NumberRange<T>> Codec<R> m_jhzdhdlf(Codec<T> codec, NumberRange.Factory<T, R> arg) {
       Codec<R> codec2 = RecordCodecBuilder.create(
-         instance -> instance.group(Codecs.m_cjqijzpr(codec, "min").forGetter(NumberRange::min), Codecs.m_cjqijzpr(codec, "max").forGetter(NumberRange::max))
+         instance -> instance.group(
+                  Codecs.createStrictOptionalField(codec, "min").forGetter(NumberRange::min),
+                  Codecs.createStrictOptionalField(codec, "max").forGetter(NumberRange::max)
+               )
                .apply(instance, arg::create)
       );
       return Codec.either(codec2, codec).xmap(either -> either.map(argxx -> argxx, number -> arg.create(Optional.of(number), Optional.of(number))), argx -> {
diff -bur namedTargetSrc/net/minecraft/predicate/PlayerPredicate.java namedSrc/net/minecraft/predicate/PlayerPredicate.java
--- namedTargetSrc/net/minecraft/predicate/PlayerPredicate.java	2023-12-31 03:27:58.196163310 +0000
+++ namedSrc/net/minecraft/predicate/PlayerPredicate.java	2023-12-31 03:26:51.984386206 +0000
@@ -63,13 +63,14 @@
     */
    public static final MapCodec<PlayerPredicate> f_xpoqulgv = RecordCodecBuilder.mapCodec(
       instance -> instance.group(
-               Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "level", NumberRange.IntRange.ANY).forGetter(PlayerPredicate::level),
+               Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "level", NumberRange.IntRange.ANY).forGetter(PlayerPredicate::level),
                GameMode.CODEC.optionalFieldOf("gamemode").forGetter(PlayerPredicate::gameType),
-               Codecs.m_aeryaqrd(PlayerPredicate.C_pvnsojur.CODEC.listOf(), "stats", List.of()).forGetter(PlayerPredicate::stats),
-               Codecs.m_aeryaqrd(Codecs.m_wifswwjp(Identifier.CODEC), "recipes", Object2BooleanMaps.emptyMap()).forGetter(PlayerPredicate::recipes),
-               Codecs.m_aeryaqrd(Codec.unboundedMap(Identifier.CODEC, PlayerPredicate.AdvancementPredicate.CODEC), "advancements", Map.of())
+               Codecs.createStrictOptionalField(PlayerPredicate.C_pvnsojur.CODEC.listOf(), "stats", List.of()).forGetter(PlayerPredicate::stats),
+               Codecs.createStrictOptionalField(Codecs.object2BooleanMap(Identifier.CODEC), "recipes", Object2BooleanMaps.emptyMap())
+                  .forGetter(PlayerPredicate::recipes),
+               Codecs.createStrictOptionalField(Codec.unboundedMap(Identifier.CODEC, PlayerPredicate.AdvancementPredicate.CODEC), "advancements", Map.of())
                   .forGetter(PlayerPredicate::advancements),
-               Codecs.m_cjqijzpr(EntityPredicate.f_krniofyg, "looking_at").forGetter(PlayerPredicate::lookingAt)
+               Codecs.createStrictOptionalField(EntityPredicate.CODEC, "looking_at").forGetter(PlayerPredicate::lookingAt)
             )
             .apply(instance, PlayerPredicate::new)
    );
@@ -168,7 +169,7 @@
        * @mapping {@literal hashed f_uwdmbjky Lnet/minecraft/unmapped/C_hirptovz$C_zxyzqfnm;f_uwdmbjky:Lcom/mojang/serialization/Codec;}
        * @mapping {@literal named CODEC Lnet/minecraft/predicate/PlayerPredicate$AdvancementCriteriaPredicate;CODEC:Lcom/mojang/serialization/Codec;}
        */
-      public static final Codec<PlayerPredicate.AdvancementCriteriaPredicate> CODEC = Codecs.m_wifswwjp(Codec.STRING)
+      public static final Codec<PlayerPredicate.AdvancementCriteriaPredicate> CODEC = Codecs.object2BooleanMap(Codec.STRING)
          .xmap(PlayerPredicate.AdvancementCriteriaPredicate::new, PlayerPredicate.AdvancementCriteriaPredicate::criterions);
 
       /**
@@ -361,7 +362,8 @@
          return RecordCodecBuilder.create(
             instance -> instance.group(
                      arg.getRegistry().holderByNameCodec().fieldOf("stat").forGetter(PlayerPredicate.C_pvnsojur::value),
-                     Codecs.m_aeryaqrd(NumberRange.IntRange.CODEC, "value", NumberRange.IntRange.ANY).forGetter(PlayerPredicate.C_pvnsojur::range)
+                     Codecs.createStrictOptionalField(NumberRange.IntRange.CODEC, "value", NumberRange.IntRange.ANY)
+                        .forGetter(PlayerPredicate.C_pvnsojur::range)
                   )
                   .apply(instance, (arg2, arg3) -> new PlayerPredicate.C_pvnsojur<>(arg, arg2, arg3))
          );


The remaining diff is too long!

Please sign in to comment.