net/minecraft/world/level/block/entity/JukeboxBlockEntity.java --- Java
144    }                                                                   144    }
145                                                                        145 
146    @Override                                                           146    @Override
147    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 147    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
148       this.popOutTheItem();                                            148       this.popOutTheItem();
149    }                                                                   149    }
150                                                                        150 

net/minecraft/client/data/models/EquipmentAssetProvider.java --- Java
65             )                                                           65             )
66             .build()                                                    66             .build()
67       );                                                                67       );
..                                                                         68       EquipmentClientInfo.Layer $$1 = new EquipmentClientInfo.Layer(Res
..                                                                         .. ourceLocation.withDefaultNamespace("saddle"));
..                                                                         69       $$0.accept(
..                                                                         70          EquipmentAssets.SADDLE,
..                                                                         71          EquipmentClientInfo.builder()
..                                                                         72             .addLayers(EquipmentClientInfo.LayerType.PIG_SADDLE, $$1)
..                                                                         73             .addLayers(EquipmentClientInfo.LayerType.STRIDER_SADDLE, $$
..                                                                         .. 1)
..                                                                         74             .addLayers(EquipmentClientInfo.LayerType.CAMEL_SADDLE, $$1)
..                                                                         75             .addLayers(EquipmentClientInfo.LayerType.HORSE_SADDLE, $$1)
..                                                                         76             .addLayers(EquipmentClientInfo.LayerType.DONKEY_SADDLE, $$1
..                                                                         .. )
..                                                                         77             .addLayers(EquipmentClientInfo.LayerType.MULE_SADDLE, $$1)
..                                                                         78             .addLayers(EquipmentClientInfo.LayerType.SKELETON_HORSE_SAD
..                                                                         .. DLE, $$1)
..                                                                         79             .addLayers(EquipmentClientInfo.LayerType.ZOMBIE_HORSE_SADDL
..                                                                         .. E, $$1)
..                                                                         80             .build()
..                                                                         81       );
68                                                                         82 
69       for (Entry<DyeColor, ResourceKey<EquipmentAsset>> $$1 : Equipment 83       for (Entry<DyeColor, ResourceKey<EquipmentAsset>> $$2 : Equipment
.. Assets.CARPETS.entrySet()) {                                            .. Assets.CARPETS.entrySet()) {
70          DyeColor $$2 = $$1.getKey();                                   84          DyeColor $$3 = $$2.getKey();
71          ResourceKey<EquipmentAsset> $$3 = $$1.getValue();              85          ResourceKey<EquipmentAsset> $$4 = $$2.getValue();
72          $$0.accept(                                                    86          $$0.accept(
73             $$3,                                                        87             $$4,
74             EquipmentClientInfo.builder()                               88             EquipmentClientInfo.builder()
75                .addLayers(                                              89                .addLayers(
76                   EquipmentClientInfo.LayerType.LLAMA_BODY, new Equipme 90                   EquipmentClientInfo.LayerType.LLAMA_BODY, new Equipme
.. ntClientInfo.Layer(ResourceLocation.withDefaultNamespace($$2.getSeriali .. ntClientInfo.Layer(ResourceLocation.withDefaultNamespace($$3.getSeriali
.. zedName()))                                                             .. zedName()))
77                )                                                        91                )
78                .build()                                                 92                .build()
79          );                                                             93          );

net/minecraft/commands/arguments/ResourceSelectorArgument.java --- Java
  1 package net.minecraft.commands.arguments;
  2 
  3 import com.google.gson.JsonObject;
  4 import com.mojang.brigadier.StringReader;
  5 import com.mojang.brigadier.arguments.ArgumentType;
  6 import com.mojang.brigadier.context.CommandContext;
  7 import com.mojang.brigadier.exceptions.CommandSyntaxException;
  8 import com.mojang.brigadier.exceptions.Dynamic2CommandExceptionType;
  9 import com.mojang.brigadier.suggestion.Suggestions;
 10 import com.mojang.brigadier.suggestion.SuggestionsBuilder;
 11 import java.util.Collection;
 12 import java.util.List;
 13 import java.util.concurrent.CompletableFuture;
 14 import net.minecraft.commands.CommandBuildContext;
 15 import net.minecraft.commands.CommandSourceStack;
 16 import net.minecraft.commands.SharedSuggestionProvider;
 17 import net.minecraft.commands.synchronization.ArgumentTypeInfo;
 18 import net.minecraft.core.Holder;
 19 import net.minecraft.core.HolderLookup;
 20 import net.minecraft.core.Registry;
 21 import net.minecraft.network.FriendlyByteBuf;
 22 import net.minecraft.network.chat.Component;
 23 import net.minecraft.resources.ResourceKey;
 24 import net.minecraft.resources.ResourceLocation;
 25 import org.apache.commons.io.FilenameUtils;
 26 
 27 public class ResourceSelectorArgument<T> implements ArgumentType<Collection<Holder.Reference<T>>> {
 28    private static final Collection<String> EXAMPLES = List.of("minecraft:*", "*:asset", "*");
 29    public static final Dynamic2CommandExceptionType ERROR_NO_MATCHES = new Dynamic2CommandExceptionType(
 30       ($$0, $$1) -> Component.translatableEscape("argument.resource_selector.not_found", $$0, $$1)
 31    );
 32    final ResourceKey<? extends Registry<T>> registryKey;
 33    private final HolderLookup<T> registryLookup;
 34 
 35    ResourceSelectorArgument(CommandBuildContext $$0, ResourceKey<? extends Registry<T>> $$1) {
 36       this.registryKey = $$1;
 37       this.registryLookup = $$0.lookupOrThrow($$1);
 38    }
 39 
 40    public Collection<Holder.Reference<T>> parse(StringReader $$0) throws CommandSyntaxException {
 41       String $$1 = ensureNamespaced(readPattern($$0));
 42       List<Holder.Reference<T>> $$2 = this.registryLookup.listElements().filter($$1x -> matches($$1, $$1x.key().location())).toList();
 43       if ($$2.isEmpty()) {
 44          throw ERROR_NO_MATCHES.createWithContext($$0, $$1, this.registryKey.location());
 45       } else {
 46          return $$2;
 47       }
 48    }
 49 
 50    public static <T> Collection<Holder.Reference<T>> parse(StringReader $$0, HolderLookup<T> $$1) {
 51       String $$2 = ensureNamespaced(readPattern($$0));
 52       return $$1.listElements().filter($$1x -> matches($$2, $$1x.key().location())).toList();
 53    }
 54 
 55    private static String readPattern(StringReader $$0) {
 56       int $$1 = $$0.getCursor();
 57 
 58       while ($$0.canRead() && isAllowedPatternCharacter($$0.peek())) {
 59          $$0.skip();
 60       }
 61 
 62       return $$0.getString().substring($$1, $$0.getCursor());
 63    }
 64 
 65    private static boolean isAllowedPatternCharacter(char $$0) {
 66       return ResourceLocation.isAllowedInResourceLocation($$0) || $$0 == '*' || $$0 == '?';
 67    }
 68 
 69    private static String ensureNamespaced(String $$0) {
 70       return !$$0.contains(":") ? "minecraft:" + $$0 : $$0;
 71    }
 72 
 73    private static boolean matches(String $$0, ResourceLocation $$1) {
 74       return FilenameUtils.wildcardMatch($$1.toString(), $$0);
 75    }
 76 
 77    public static <T> ResourceSelectorArgument<T> resourceSelector(CommandBuildContext $$0, ResourceKey<? extends Registry<T>> $$1) {
 78       return new ResourceSelectorArgument<>($$0, $$1);
 79    }
 80 
 81    public static <T> Collection<Holder.Reference<T>> getSelectedResources(
 82       CommandContext<CommandSourceStack> $$0, String $$1, ResourceKey<? extends Registry<T>> $$2
 83    ) {
 84       return $$0.getArgument($$1, Collection.class);
 85    }
 86 
 87    @Override
 88    public <S> CompletableFuture<Suggestions> listSuggestions(CommandContext<S> $$0, SuggestionsBuilder $$1) {
 89       return SharedSuggestionProvider.suggest(this.registryLookup.listElementIds().map(ResourceKey::location).map(ResourceLocation::toString), $$1);
 90    }
 91 
 92    @Override
 93    public Collection<String> getExamples() {
 94       return EXAMPLES;
 95    }
 96 
 97    public static class Info<T> implements ArgumentTypeInfo<ResourceSelectorArgument<T>, ResourceSelectorArgument.Info<T>.Template> {
 98       public void serializeToNetwork(ResourceSelectorArgument.Info<T>.Template $$0, FriendlyByteBuf $$1) {
 99          $$1.writeResourceKey($$0.registryKey);
100       }
101 
102       public ResourceSelectorArgument.Info<T>.Template deserializeFromNetwork(FriendlyByteBuf $$0) {
103          return new ResourceSelectorArgument.Info.Template($$0.readRegistryKey());
104       }
105 
106       public void serializeToJson(ResourceSelectorArgument.Info<T>.Template $$0, JsonObject $$1) {
107          $$1.addProperty("registry", $$0.registryKey.location().toString());
108       }
109 
110       public ResourceSelectorArgument.Info<T>.Template unpack(ResourceSelectorArgument<T> $$0) {
111          return new ResourceSelectorArgument.Info.Template($$0.registryKey);
112       }
113 
114       public final class Template implements ArgumentTypeInfo.Template<ResourceSelectorArgument<T>> {
115          final ResourceKey<? extends Registry<T>> registryKey;
116 
117          Template(final ResourceKey<? extends Registry<T>> $$1) {
118             this.registryKey = $$1;
119          }
120 
121          public ResourceSelectorArgument<T> instantiate(CommandBuildContext $$0) {
122             return new ResourceSelectorArgument<>($$0, this.registryKey);
123          }
124 
125          @Override
126          public ArgumentTypeInfo<ResourceSelectorArgument<T>, ?> type() {
127             return Info.this;
128          }
129       }
130    }
131 }
132 

net/minecraft/world/entity/monster/breeze/Breeze.java --- Java
278    }                                                                   278    }
279                                                                        279 
280    @Override                                                           280    @Override
281    public boolean causeFallDamage(float $$0, float $$1, DamageSource $ 281    public boolean causeFallDamage(double $$0, float $$1, DamageSource 
... $2) {                                                                  ... $$2) {
282       if ($$0 > 3.0F) {                                                282       if ($$0 > 3.0) {
283          this.playSound(SoundEvents.BREEZE_LAND, 1.0F, 1.0F);          283          this.playSound(SoundEvents.BREEZE_LAND, 1.0F, 1.0F);
284       }                                                                284       }
285                                                                        285 

net/minecraft/core/component/DataComponents.java --- 1/2 --- Java
16 import net.minecraft.util.ExtraCodecs;                                  16 import net.minecraft.util.ExtraCodecs;
17 import net.minecraft.util.Unit;                                         17 import net.minecraft.util.Unit;
18 import net.minecraft.world.LockCode;                                    18 import net.minecraft.world.LockCode;
..                                                                         19 import net.minecraft.world.entity.animal.CatVariant;
..                                                                         20 import net.minecraft.world.entity.animal.Fox;
..                                                                         21 import net.minecraft.world.entity.animal.FrogVariant;
..                                                                         22 import net.minecraft.world.entity.animal.MushroomCow;
..                                                                         23 import net.minecraft.world.entity.animal.Parrot;
..                                                                         24 import net.minecraft.world.entity.animal.PigVariant;
..                                                                         25 import net.minecraft.world.entity.animal.Rabbit;
..                                                                         26 import net.minecraft.world.entity.animal.Salmon;
..                                                                         27 import net.minecraft.world.entity.animal.TropicalFish;
..                                                                         28 import net.minecraft.world.entity.animal.WolfVariant;
..                                                                         29 import net.minecraft.world.entity.animal.axolotl.Axolotl;
..                                                                         30 import net.minecraft.world.entity.animal.horse.Llama;
..                                                                         31 import net.minecraft.world.entity.animal.horse.Variant;
..                                                                         32 import net.minecraft.world.entity.decoration.PaintingVariant;
..                                                                         33 import net.minecraft.world.entity.npc.VillagerType;
19 import net.minecraft.world.food.FoodProperties;                         34 import net.minecraft.world.food.FoodProperties;
20 import net.minecraft.world.item.AdventureModePredicate;                 35 import net.minecraft.world.item.AdventureModePredicate;
21 import net.minecraft.world.item.DyeColor;                               36 import net.minecraft.world.item.DyeColor;

net/minecraft/core/component/DataComponents.java --- 2/2 --- Java
258    );                                                                  273    );
259    public static final DataComponentType<LockCode> LOCK = register("lo 274    public static final DataComponentType<LockCode> LOCK = register("lo
... ck", $$0 -> $$0.persistent(LockCode.CODEC));                           ... ck", $$0 -> $$0.persistent(LockCode.CODEC));
260    public static final DataComponentType<SeededContainerLoot> CONTAINE 275    public static final DataComponentType<SeededContainerLoot> CONTAINE
... R_LOOT = register("container_loot", $$0 -> $$0.persistent(SeededContai ... R_LOOT = register("container_loot", $$0 -> $$0.persistent(SeededContai
... nerLoot.CODEC));                                                       ... nerLoot.CODEC));
...                                                                        276    public static final DataComponentType<Holder<VillagerType>> VILLAGE
...                                                                        ... R_VARIANT = register(
...                                                                        277       "villager/variant", $$0 -> $$0.persistent(VillagerType.CODEC).ne
...                                                                        ... tworkSynchronized(VillagerType.STREAM_CODEC)
...                                                                        278    );
...                                                                        279    public static final DataComponentType<Holder<WolfVariant>> WOLF_VAR
...                                                                        ... IANT = register(
...                                                                        280       "wolf/variant", $$0 -> $$0.persistent(WolfVariant.CODEC).network
...                                                                        ... Synchronized(WolfVariant.STREAM_CODEC)
...                                                                        281    );
...                                                                        282    public static final DataComponentType<DyeColor> WOLF_COLLAR = regis
...                                                                        ... ter(
...                                                                        283       "wolf/collar", $$0 -> $$0.persistent(DyeColor.CODEC).networkSync
...                                                                        ... hronized(DyeColor.STREAM_CODEC)
...                                                                        284    );
...                                                                        285    public static final DataComponentType<Fox.Variant> FOX_VARIANT = re
...                                                                        ... gister(
...                                                                        286       "fox/variant", $$0 -> $$0.persistent(Fox.Variant.CODEC).networkS
...                                                                        ... ynchronized(Fox.Variant.STREAM_CODEC)
...                                                                        287    );
...                                                                        288    public static final DataComponentType<Salmon.Variant> SALMON_SIZE =
...                                                                        ...  register(
...                                                                        289       "salmon/size", $$0 -> $$0.persistent(Salmon.Variant.CODEC).netwo
...                                                                        ... rkSynchronized(Salmon.Variant.STREAM_CODEC)
...                                                                        290    );
...                                                                        291    public static final DataComponentType<Parrot.Variant> PARROT_VARIAN
...                                                                        ... T = register(
...                                                                        292       "parrot/variant", $$0 -> $$0.persistent(Parrot.Variant.CODEC).ne
...                                                                        ... tworkSynchronized(Parrot.Variant.STREAM_CODEC)
...                                                                        293    );
...                                                                        294    public static final DataComponentType<TropicalFish.Pattern> TROPICA
...                                                                        ... L_FISH_PATTERN = register(
...                                                                        295       "tropical_fish/pattern", $$0 -> $$0.persistent(TropicalFish.Patt
...                                                                        ... ern.CODEC).networkSynchronized(TropicalFish.Pattern.STREAM_CODEC)
...                                                                        296    );
...                                                                        297    public static final DataComponentType<DyeColor> TROPICAL_FISH_BASE_
...                                                                        ... COLOR = register(
...                                                                        298       "tropical_fish/base_color", $$0 -> $$0.persistent(DyeColor.CODEC
...                                                                        ... ).networkSynchronized(DyeColor.STREAM_CODEC)
...                                                                        299    );
...                                                                        300    public static final DataComponentType<DyeColor> TROPICAL_FISH_PATTE
...                                                                        ... RN_COLOR = register(
...                                                                        301       "tropical_fish/pattern_color", $$0 -> $$0.persistent(DyeColor.CO
...                                                                        ... DEC).networkSynchronized(DyeColor.STREAM_CODEC)
...                                                                        302    );
...                                                                        303    public static final DataComponentType<MushroomCow.Variant> MOOSHROO
...                                                                        ... M_VARIANT = register(
...                                                                        304       "mooshroom/variant", $$0 -> $$0.persistent(MushroomCow.Variant.C
...                                                                        ... ODEC).networkSynchronized(MushroomCow.Variant.STREAM_CODEC)
...                                                                        305    );
...                                                                        306    public static final DataComponentType<Rabbit.Variant> RABBIT_VARIAN
...                                                                        ... T = register(
...                                                                        307       "rabbit/variant", $$0 -> $$0.persistent(Rabbit.Variant.CODEC).ne
...                                                                        ... tworkSynchronized(Rabbit.Variant.STREAM_CODEC)
...                                                                        308    );
...                                                                        309    public static final DataComponentType<Holder<PigVariant>> PIG_VARIA
...                                                                        ... NT = register(
...                                                                        310       "pig/variant", $$0 -> $$0.persistent(PigVariant.CODEC).networkSy
...                                                                        ... nchronized(PigVariant.STREAM_CODEC)
...                                                                        311    );
...                                                                        312    public static final DataComponentType<Holder<FrogVariant>> FROG_VAR
...                                                                        ... IANT = register(
...                                                                        313       "frog/variant", $$0 -> $$0.persistent(FrogVariant.CODEC).network
...                                                                        ... Synchronized(FrogVariant.STREAM_CODEC)
...                                                                        314    );
...                                                                        315    public static final DataComponentType<Variant> HORSE_VARIANT = regi
...                                                                        ... ster(
...                                                                        316       "horse/variant", $$0 -> $$0.persistent(Variant.CODEC).networkSyn
...                                                                        ... chronized(Variant.STREAM_CODEC)
...                                                                        317    );
...                                                                        318    public static final DataComponentType<Holder<PaintingVariant>> PAIN
...                                                                        ... TING_VARIANT = register(
...                                                                        319       "painting/variant", $$0 -> $$0.persistent(PaintingVariant.CODEC)
...                                                                        ... .networkSynchronized(PaintingVariant.STREAM_CODEC)
...                                                                        320    );
...                                                                        321    public static final DataComponentType<Llama.Variant> LLAMA_VARIANT 
...                                                                        ... = register(
...                                                                        322       "llama/variant", $$0 -> $$0.persistent(Llama.Variant.CODEC).netw
...                                                                        ... orkSynchronized(Llama.Variant.STREAM_CODEC)
...                                                                        323    );
...                                                                        324    public static final DataComponentType<Axolotl.Variant> AXOLOTL_VARI
...                                                                        ... ANT = register(
...                                                                        325       "axolotl/variant", $$0 -> $$0.persistent(Axolotl.Variant.CODEC).
...                                                                        ... networkSynchronized(Axolotl.Variant.STREAM_CODEC)
...                                                                        326    );
...                                                                        327    public static final DataComponentType<Holder<CatVariant>> CAT_VARIA
...                                                                        ... NT = register(
...                                                                        328       "cat/variant", $$0 -> $$0.persistent(CatVariant.CODEC).networkSy
...                                                                        ... nchronized(CatVariant.STREAM_CODEC)
...                                                                        329    );
...                                                                        330    public static final DataComponentType<DyeColor> CAT_COLLAR = regist
...                                                                        ... er(
...                                                                        331       "cat/collar", $$0 -> $$0.persistent(DyeColor.CODEC).networkSynch
...                                                                        ... ronized(DyeColor.STREAM_CODEC)
...                                                                        332    );
...                                                                        333    public static final DataComponentType<DyeColor> SHEEP_COLOR = regis
...                                                                        ... ter(
...                                                                        334       "sheep/color", $$0 -> $$0.persistent(DyeColor.CODEC).networkSync
...                                                                        ... hronized(DyeColor.STREAM_CODEC)
...                                                                        335    );
...                                                                        336    public static final DataComponentType<DyeColor> SHULKER_COLOR = reg
...                                                                        ... ister(
...                                                                        337       "shulker/color", $$0 -> $$0.persistent(DyeColor.CODEC).networkSy
...                                                                        ... nchronized(DyeColor.STREAM_CODEC)
...                                                                        338    );
261    public static final DataComponentMap COMMON_ITEM_COMPONENTS = DataC 339    public static final DataComponentMap COMMON_ITEM_COMPONENTS = DataC
... omponentMap.builder()                                                  ... omponentMap.builder()
262       .set(MAX_STACK_SIZE, 64)                                         340       .set(MAX_STACK_SIZE, 64)
263       .set(LORE, ItemLore.EMPTY)                                       341       .set(LORE, ItemLore.EMPTY)

net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java --- 1/2 --- Java
 6 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.core.HolderLookup;                                  7 import net.minecraft.core.HolderLookup;
 8 import net.minecraft.core.NonNullList;                                   8 import net.minecraft.core.NonNullList;
 .                                                                          9 import net.minecraft.core.component.DataComponentGetter;
 9 import net.minecraft.core.component.DataComponentMap;                   10 import net.minecraft.core.component.DataComponentMap;
10 import net.minecraft.core.component.DataComponents;                     11 import net.minecraft.core.component.DataComponents;
11 import net.minecraft.nbt.CompoundTag;                                   12 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java --- 2/2 --- Java
141    }                                                                   142    }
142                                                                        143 
143    @Override                                                           144    @Override
144    protected void applyImplicitComponents(BlockEntity.DataComponentInp 145    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
145       super.applyImplicitComponents($$0);                              146       super.applyImplicitComponents($$0);
146       $$0.getOrDefault(DataComponents.CONTAINER, ItemContainerContents 147       $$0.getOrDefault(DataComponents.CONTAINER, ItemContainerContents
... .EMPTY).copyInto(this.items);                                          ... .EMPTY).copyInto(this.items);
147    }                                                                   148    }

net/minecraft/world/item/trading/ItemCost.java --- 1/2 --- Java
 5 import java.util.Optional;                                               5 import java.util.Optional;
 6 import java.util.function.UnaryOperator;                                 6 import java.util.function.UnaryOperator;
 7 import net.minecraft.core.Holder;                                        7 import net.minecraft.core.Holder;
 8 import net.minecraft.core.component.DataComponentHolder;                 8 import net.minecraft.core.component.DataComponentGetter;
 9 import net.minecraft.core.component.DataComponentPredicate;              9 import net.minecraft.core.component.DataComponentPredicate;
10 import net.minecraft.network.RegistryFriendlyByteBuf;                   10 import net.minecraft.network.RegistryFriendlyByteBuf;
11 import net.minecraft.network.codec.ByteBufCodecs;                       11 import net.minecraft.network.codec.ByteBufCodecs;

net/minecraft/world/item/trading/ItemCost.java --- 2/2 --- Java
50    }                                                                    50    }
51                                                                         51 
52    public boolean test(ItemStack $$0) {                                 52    public boolean test(ItemStack $$0) {
53       return $$0.is(this.item) && this.components.test((DataComponentHo 53       return $$0.is(this.item) && this.components.test((DataComponentGe
.. lder)$$0);                                                              .. tter)$$0);
54    }                                                                    54    }
55 }                                                                       55 }

net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.java --- 1/2 --- Java
 5 import net.minecraft.core.BlockPos;                                      5 import net.minecraft.core.BlockPos;
 6 import net.minecraft.core.Direction;                                     6 import net.minecraft.core.Direction;
 7 import net.minecraft.core.HolderLookup;                                  7 import net.minecraft.core.HolderLookup;
 .                                                                          8 import net.minecraft.core.component.DataComponentGetter;
 8 import net.minecraft.core.component.DataComponentMap;                    9 import net.minecraft.core.component.DataComponentMap;
 9 import net.minecraft.core.component.DataComponents;                     10 import net.minecraft.core.component.DataComponents;
10 import net.minecraft.nbt.CompoundTag;                                   11 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.java --- 2/2 --- Java
111    }                                                                   112    }
112                                                                        113 
113    @Override                                                           114    @Override
114    protected void applyImplicitComponents(BlockEntity.DataComponentInp 115    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
115       super.applyImplicitComponents($$0);                              116       super.applyImplicitComponents($$0);
116       this.decorations = $$0.getOrDefault(DataComponents.POT_DECORATIO 117       this.decorations = $$0.getOrDefault(DataComponents.POT_DECORATIO
... NS, PotDecorations.EMPTY);                                             ... NS, PotDecorations.EMPTY);
117       this.item = $$0.getOrDefault(DataComponents.CONTAINER, ItemConta 118       this.item = $$0.getOrDefault(DataComponents.CONTAINER, ItemConta
    inerContents.EMPTY).copyOne();                                             inerContents.EMPTY).copyOne();

net/minecraft/world/level/block/entity/BeaconBeamOwner.java --- Java
 1 package net.minecraft.world.level.block.entity;
 2 
 3 import java.util.List;
 4 
 5 public interface BeaconBeamOwner {
 6    List<BeaconBeamOwner.Section> getBeamSections();
 7 
 8    public static class Section {
 9       private final int color;
10       private int height;
11 
12       public Section(int $$0) {
13          this.color = $$0;
14          this.height = 1;
15       }
16 
17       public void increaseHeight() {
18          this.height++;
19       }
20 
21       public int getColor() {
22          return this.color;
23       }
24 
25       public int getHeight() {
26          return this.height;
27       }
28    }
29 }
30 

net/minecraft/world/item/MaceItem.java --- 1/3 --- Java
62                $$5.setSpawnExtraParticlesOnFall(true);                  62                $$5.setSpawnExtraParticlesOnFall(true);
63             }                                                           63             }
64                                                                         64 
65             SoundEvent $$6 = $$2.fallDistance > 5.0F ? SoundEvents.MACE 65             SoundEvent $$6 = $$2.fallDistance > 5.0 ? SoundEvents.MACE_
.. _SMASH_GROUND_HEAVY : SoundEvents.MACE_SMASH_GROUND;                    .. SMASH_GROUND_HEAVY : SoundEvents.MACE_SMASH_GROUND;
66             $$3.playSound(null, $$2.getX(), $$2.getY(), $$2.getZ(), $$6 66             $$3.playSound(null, $$2.getX(), $$2.getY(), $$2.getZ(), $$6
.. , $$2.getSoundSource(), 1.0F, 1.0F);                                    .. , $$2.getSoundSource(), 1.0F, 1.0F);
67          } else {                                                       67          } else {
68             $$3.playSound(null, $$2.getX(), $$2.getY(), $$2.getZ(), Sou 68             $$3.playSound(null, $$2.getX(), $$2.getY(), $$2.getZ(), Sou
   ndEvents.MACE_SMASH_AIR, $$2.getSoundSource(), 1.0F, 1.0F);                ndEvents.MACE_SMASH_AIR, $$2.getSoundSource(), 1.0F, 1.0F);

net/minecraft/world/item/MaceItem.java --- 2/3 --- Java
 91          if (!canSmashAttack($$3)) {                                    91          if (!canSmashAttack($$3)) {
 92             return 0.0F;                                                92             return 0.0F;
 93          } else {                                                       93          } else {
 94             float $$5 = 3.0F;                                           94             double $$5 = 3.0;
 95             float $$6 = 8.0F;                                           95             double $$6 = 8.0;
 96             float $$7 = $$3.fallDistance;                               96             double $$7 = $$3.fallDistance;
 97             float $$8;                                                  97             double $$8;
 98             if ($$7 <= 3.0F) {                                          98             if ($$7 <= 3.0) {
 99                $$8 = 4.0F * $$7;                                        99                $$8 = 4.0 * $$7;
100             } else if ($$7 <= 8.0F) {                                  100             } else if ($$7 <= 8.0) {
101                $$8 = 12.0F + 2.0F * ($$7 - 3.0F);                      101                $$8 = 12.0 + 2.0 * ($$7 - 3.0);
102             } else {                                                   102             } else {
103                $$8 = 22.0F + $$7 - 8.0F;                               103                $$8 = 22.0 + $$7 - 8.0;
104             }                                                          104             }
105                                                                        105 
106             return $$3.level() instanceof ServerLevel $$11             106             return $$3.level() instanceof ServerLevel $$11
107                ? $$8 + EnchantmentHelper.modifyFallBasedDamage($$11, $ 107                ? (float)($$8 + (double)EnchantmentHelper.modifyFallBas
... $3.getWeaponItem(), $$0, $$2, 0.0F) * $$7                              ... edDamage($$11, $$3.getWeaponItem(), $$0, $$2, 0.0F) * $$7)
108                : $$8;                                                  108                : (float)$$8;
109          }                                                             109          }
110       } else {                                                         110       } else {
111          return 0.0F;                                                  111          return 0.0F;

net/minecraft/world/item/MaceItem.java --- 3/3 --- Java
163    }                                                                   163    }
164                                                                        164 
165    private static double getKnockbackPower(Entity $$0, LivingEntity $$ 165    private static double getKnockbackPower(Entity $$0, LivingEntity $$
... 1, Vec3 $$2) {                                                         ... 1, Vec3 $$2) {
166       return (3.5 - $$2.length()) * 0.7F * (double)($$0.fallDistance > 166       return (3.5 - $$2.length()) * 0.7F * (double)($$0.fallDistance >
...  5.0F ? 2 : 1) * (1.0 - $$1.getAttributeValue(Attributes.KNOCKBACK_RES ...  5.0 ? 2 : 1) * (1.0 - $$1.getAttributeValue(Attributes.KNOCKBACK_RESI
... ISTANCE));                                                             ... STANCE));
167    }                                                                   167    }
168                                                                        168 
169    public static boolean canSmashAttack(LivingEntity $$0) {            169    public static boolean canSmashAttack(LivingEntity $$0) {
170       return $$0.fallDistance > 1.5F && !$$0.isFallFlying();           170       return $$0.fallDistance > 1.5 && !$$0.isFallFlying();
171    }                                                                   171    }
172                                                                        172 
173    @Nullable                                                           173    @Nullable

net/minecraft/network/codec/StreamCodec.java --- 1/2 --- Java
 7 import com.mojang.datafixers.util.Function6;                             7 import com.mojang.datafixers.util.Function6;
 8 import com.mojang.datafixers.util.Function7;                             8 import com.mojang.datafixers.util.Function7;
 9 import com.mojang.datafixers.util.Function8;                             9 import com.mojang.datafixers.util.Function8;
 .                                                                         10 import com.mojang.datafixers.util.Function9;
10 import io.netty.buffer.ByteBuf;                                         11 import io.netty.buffer.ByteBuf;
11 import java.util.function.BiFunction;                                   12 import java.util.function.BiFunction;
12 import java.util.function.Function;                                     13 import java.util.function.Function;

net/minecraft/network/codec/StreamCodec.java --- 2/2 --- Java
371       };                                                               372       };
372    }                                                                   373    }
...                                                                        374 
...                                                                        375    static <B, C, T1, T2, T3, T4, T5, T6, T7, T8, T9> StreamCodec<B, C>
...                                                                        ...  composite(
...                                                                        376       final StreamCodec<? super B, T1> $$0,
...                                                                        377       final Function<C, T1> $$1,
...                                                                        378       final StreamCodec<? super B, T2> $$2,
...                                                                        379       final Function<C, T2> $$3,
...                                                                        380       final StreamCodec<? super B, T3> $$4,
...                                                                        381       final Function<C, T3> $$5,
...                                                                        382       final StreamCodec<? super B, T4> $$6,
...                                                                        383       final Function<C, T4> $$7,
...                                                                        384       final StreamCodec<? super B, T5> $$8,
...                                                                        385       final Function<C, T5> $$9,
...                                                                        386       final StreamCodec<? super B, T6> $$10,
...                                                                        387       final Function<C, T6> $$11,
...                                                                        388       final StreamCodec<? super B, T7> $$12,
...                                                                        389       final Function<C, T7> $$13,
...                                                                        390       final StreamCodec<? super B, T8> $$14,
...                                                                        391       final Function<C, T8> $$15,
...                                                                        392       final StreamCodec<? super B, T9> $$16,
...                                                                        393       final Function<C, T9> $$17,
...                                                                        394       final Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, C> $$18
...                                                                        395    ) {
...                                                                        396       return new StreamCodec<B, C>() {
...                                                                        397          @Override
...                                                                        398          public C decode(B $$0x) {
...                                                                        399             T1 $$1 = $$0.decode($$0);
...                                                                        400             T2 $$2 = $$2.decode($$0);
...                                                                        401             T3 $$3 = $$4.decode($$0);
...                                                                        402             T4 $$4 = $$6.decode($$0);
...                                                                        403             T5 $$5 = $$8.decode($$0);
...                                                                        404             T6 $$6 = $$10.decode($$0);
...                                                                        405             T7 $$7 = $$12.decode($$0);
...                                                                        406             T8 $$8 = $$14.decode($$0);
...                                                                        407             T9 $$9 = $$16.decode($$0);
...                                                                        408             return $$18.apply($$1, $$2, $$3, $$4, $$5, $$6, $$7, $$8, 
...                                                                        ... $$9);
...                                                                        409          }
...                                                                        410 
...                                                                        411          @Override
...                                                                        412          public void encode(B $$0x, C $$1x) {
...                                                                        413             $$0.encode($$0, $$1.apply($$1));
...                                                                        414             $$2.encode($$0, $$3.apply($$1));
...                                                                        415             $$4.encode($$0, $$5.apply($$1));
...                                                                        416             $$6.encode($$0, $$7.apply($$1));
...                                                                        417             $$8.encode($$0, $$9.apply($$1));
...                                                                        418             $$10.encode($$0, $$11.apply($$1));
...                                                                        419             $$12.encode($$0, $$13.apply($$1));
...                                                                        420             $$14.encode($$0, $$15.apply($$1));
...                                                                        421             $$16.encode($$0, $$17.apply($$1));
...                                                                        422          }
...                                                                        423       };
...                                                                        424    }
373                                                                        425 
374    static <B, T> StreamCodec<B, T> recursive(final UnaryOperator<Strea 426    static <B, T> StreamCodec<B, T> recursive(final UnaryOperator<Strea
... mCodec<B, T>> $$0) {                                                   ... mCodec<B, T>> $$0) {
375       return new StreamCodec<B, T>() {                                 427       return new StreamCodec<B, T>() {

net/minecraft/client/multiplayer/chat/report/ReportEnvironment.java --- Java
44                                                                         44 
45    private static String getClientVersion() {                           45    private static String getClientVersion() {
46       StringBuilder $$0 = new StringBuilder();                          46       StringBuilder $$0 = new StringBuilder();
47       $$0.append("25w02a");                                             47       $$0.append("25w03a");
48       if (Minecraft.checkModStatus().shouldReportAsModified()) {        48       if (Minecraft.checkModStatus().shouldReportAsModified()) {
49          $$0.append(" (modded)");                                       49          $$0.append(" (modded)");
50       }                                                                 50       }

net/minecraft/core/component/DataComponentHolder.java --- 1/2 --- Java
 3 import java.util.stream.Stream;                                          3 import java.util.stream.Stream;
 4 import javax.annotation.Nullable;                                        4 import javax.annotation.Nullable;
 5                                                                          5 
 6 public interface DataComponentHolder {                                   6 public interface DataComponentHolder extends DataComponentGetter {
 7    DataComponentMap getComponents();                                     7    DataComponentMap getComponents();
 8                                                                          8 
 9    @Nullable                                                             9    @Nullable
 .                                                                         10    @Override
10    default <T> T get(DataComponentType<? extends T> $$0) {              11    default <T> T get(DataComponentType<? extends T> $$0) {
11       return this.getComponents().get($$0);                             12       return this.getComponents().get($$0);
12    }                                                                    13    }

net/minecraft/core/component/DataComponentHolder.java --- 2/2 --- Java
15       return this.getComponents().stream().map(TypedDataComponent::valu 16       return this.getComponents().stream().map(TypedDataComponent::valu
.. e).filter($$1 -> $$0.isAssignableFrom($$1.getClass())).map($$0x -> (T)$ .. e).filter($$1 -> $$0.isAssignableFrom($$1.getClass())).map($$0x -> (T)$
.. $0x);                                                                   .. $0x);
16    }                                                                    17    }
17                                                                         18 
..                                                                         19    @Override
18    default <T> T getOrDefault(DataComponentType<? extends T> $$0, T $$1 20    default <T> T getOrDefault(DataComponentType<? extends T> $$0, T $$1
.. ) {                                                                     .. ) {
19       return this.getComponents().getOrDefault($$0, $$1);               21       return this.getComponents().getOrDefault($$0, $$1);
20    }                                                                    22    }

net/minecraft/world/level/levelgen/structure/structures/OceanRuinPieces.java --- Java
270             Drowned $$6 = EntityType.DROWNED.create($$2.getLevel(), En 270             Drowned $$6 = EntityType.DROWNED.create($$2.getLevel(), En
... titySpawnReason.STRUCTURE);                                            ... titySpawnReason.STRUCTURE);
271             if ($$6 != null) {                                         271             if ($$6 != null) {
272                $$6.setPersistenceRequired();                           272                $$6.setPersistenceRequired();
273                $$6.moveTo($$1, 0.0F, 0.0F);                            273                $$6.snapTo($$1, 0.0F, 0.0F);
274                $$6.finalizeSpawn($$2, $$2.getCurrentDifficultyAt($$1), 274                $$6.finalizeSpawn($$2, $$2.getCurrentDifficultyAt($$1),
...  EntitySpawnReason.STRUCTURE, null);                                   ...  EntitySpawnReason.STRUCTURE, null);
275                $$2.addFreshEntityWithPassengers($$6);                  275                $$2.addFreshEntityWithPassengers($$6);
276                if ($$1.getY() > $$2.getSeaLevel()) {                   276                if ($$1.getY() > $$2.getSeaLevel()) {

net/minecraft/core/component/DataComponentMap.java --- 1/2 --- Java
19 import java.util.stream.StreamSupport;                                  19 import java.util.stream.StreamSupport;
20 import javax.annotation.Nullable;                                       20 import javax.annotation.Nullable;
21                                                                         21 
22 public interface DataComponentMap extends Iterable<TypedDataComponent<? 22 public interface DataComponentMap extends Iterable<TypedDataComponent<?
.. >> {                                                                    .. >>, DataComponentGetter {
23    DataComponentMap EMPTY = new DataComponentMap() {                    23    DataComponentMap EMPTY = new DataComponentMap() {
24       @Nullable                                                         24       @Nullable
25       @Override                                                         25       @Override

net/minecraft/core/component/DataComponentMap.java --- 2/2 --- Java
 82       return new DataComponentMap.Builder();                           82       return new DataComponentMap.Builder();
 83    }                                                                   83    }
 84                                                                        .. 
 85    @Nullable                                                           .. 
 86    <T> T get(DataComponentType<? extends T> var1);                     .. 
 87                                                                        84 
 88    Set<DataComponentType<?>> keySet();                                 85    Set<DataComponentType<?>> keySet();
 89                                                                        86 
 90    default boolean has(DataComponentType<?> $$0) {                     87    default boolean has(DataComponentType<?> $$0) {
 91       return this.get($$0) != null;                                    88       return this.get($$0) != null;
 92    }                                                                   89    }
 93                                                                        .. 
 94    default <T> T getOrDefault(DataComponentType<? extends T> $$0, T $$ .. 
 .. 1) {                                                                   .. 
 95       T $$2 = this.get($$0);                                           .. 
 96       return $$2 != null ? $$2 : $$1;                                  .. 
 97    }                                                                   .. 
 98                                                                        .. 
 99    @Nullable                                                           .. 
100    default <T> TypedDataComponent<T> getTyped(DataComponentType<T> $$0 .. 
... ) {                                                                    .. 
101       T $$1 = this.get($$0);                                           .. 
102       return $$1 != null ? new TypedDataComponent<>($$0, $$1) : null;  .. 
103    }                                                                   .. 
104                                                                        90 
105    @Override                                                           91    @Override
106    default Iterator<TypedDataComponent<?>> iterator() {                92    default Iterator<TypedDataComponent<?>> iterator() {

net/minecraft/world/level/block/entity/CreakingHeartBlockEntity.java --- Java
301    }                                                                   301    }
302                                                                        302 
303    @Override                                                           303    @Override
304    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 304    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
305       this.removeProtector(null);                                      305       this.removeProtector(null);
306    }                                                                   306    }
307                                                                        307 

net/minecraft/commands/Commands.java --- 1/2 --- Java
206       TeamMsgCommand.register(this.dispatcher);                        206       TeamMsgCommand.register(this.dispatcher);
207       TeleportCommand.register(this.dispatcher);                       207       TeleportCommand.register(this.dispatcher);
208       TellRawCommand.register(this.dispatcher, $$1);                   208       TellRawCommand.register(this.dispatcher, $$1);
...                                                                        209       TestCommand.register(this.dispatcher, $$1);
209       TickCommand.register(this.dispatcher);                           210       TickCommand.register(this.dispatcher);
210       TimeCommand.register(this.dispatcher);                           211       TimeCommand.register(this.dispatcher);
211       TitleCommand.register(this.dispatcher, $$1);                     212       TitleCommand.register(this.dispatcher, $$1);

net/minecraft/commands/Commands.java --- 2/2 --- Java
217       }                                                                218       }
218                                                                        219 
219       if (SharedConstants.IS_RUNNING_IN_IDE) {                         220       if (SharedConstants.IS_RUNNING_IN_IDE) {
220          TestCommand.register(this.dispatcher);                        ... 
221          RaidCommand.register(this.dispatcher, $$1);                   221          RaidCommand.register(this.dispatcher, $$1);
222          DebugPathCommand.register(this.dispatcher);                   222          DebugPathCommand.register(this.dispatcher);
223          DebugMobSpawningCommand.register(this.dispatcher);            223          DebugMobSpawningCommand.register(this.dispatcher);

net/minecraft/world/item/SaddleItem.java --- Java
 1 package net.minecraft.world.item;
 2 
 3 import net.minecraft.sounds.SoundSource;
 4 import net.minecraft.world.InteractionHand;
 5 import net.minecraft.world.InteractionResult;
 6 import net.minecraft.world.entity.LivingEntity;
 7 import net.minecraft.world.entity.Saddleable;
 8 import net.minecraft.world.entity.player.Player;
 9 import net.minecraft.world.level.gameevent.GameEvent;
10 
11 public class SaddleItem extends Item {
12    public SaddleItem(Item.Properties $$0) {
13       super($$0);
14    }
15 
16    @Override
17    public InteractionResult interactLivingEntity(ItemStack $$0, Player $$1, LivingEntity $$2, InteractionHand $$3) {
18       if ($$2 instanceof Saddleable $$4 && $$2.isAlive() && !$$4.isSaddled() && $$4.isSaddleable()) {
19          if (!$$1.level().isClientSide) {
20             $$4.equipSaddle($$0.split(1), SoundSource.NEUTRAL);
21             $$2.level().gameEvent($$2, GameEvent.EQUIP, $$2.position());
22          }
23 
24          return InteractionResult.SUCCESS;
25       }
26 
27       return InteractionResult.PASS;
28    }
29 }
30 

net/minecraft/server/commands/CloneCommands.java --- 1/5 --- Java
53    }                                                                    53    }
54                                                                         54 
55    private static ArgumentBuilder<CommandSourceStack, ?> beginEndDestin 55    private static ArgumentBuilder<CommandSourceStack, ?> beginEndDestin
.. ationAndModeSuffix(                                                     .. ationAndModeSuffix(
56       CommandBuildContext $$0, CloneCommands.CommandFunction<CommandCon 56       CommandBuildContext $$0, InCommandFunction<CommandContext<Command
.. text<CommandSourceStack>, ServerLevel> $$1                              .. SourceStack>, ServerLevel> $$1
57    ) {                                                                  57    ) {
58       return Commands.argument("begin", BlockPosArgument.blockPos())    58       return Commands.argument("begin", BlockPosArgument.blockPos())
59          .then(                                                         59          .then(

net/minecraft/server/commands/CloneCommands.java --- 2/5 --- Java
76                                                                         76 
77    private static ArgumentBuilder<CommandSourceStack, ?> destinationAnd 77    private static ArgumentBuilder<CommandSourceStack, ?> destinationAnd
.. StrictSuffix(                                                           .. StrictSuffix(
78       CommandBuildContext $$0,                                          78       CommandBuildContext $$0,
79       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>, 79       InCommandFunction<CommandContext<CommandSourceStack>, ServerLevel
..  ServerLevel> $$1,                                                      .. > $$1,
80       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>, 80       InCommandFunction<CommandContext<CommandSourceStack>, ServerLevel
..  ServerLevel> $$2                                                       .. > $$2
81    ) {                                                                  81    ) {
82       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>, 82       InCommandFunction<CommandContext<CommandSourceStack>, CloneComman
..  CloneCommands.DimensionAndPosition> $$3 = $$1x -> getLoadedDimensionAn .. ds.DimensionAndPosition> $$3 = $$1x -> getLoadedDimensionAndPosition(
.. dPosition(                                                              .. 
83             $$1x, $$1.apply($$1x), "begin"                              83             $$1x, $$1.apply($$1x), "begin"
84          );                                                             84          );
85       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>, 85       InCommandFunction<CommandContext<CommandSourceStack>, CloneComman
..  CloneCommands.DimensionAndPosition> $$4 = $$1x -> getLoadedDimensionAn .. ds.DimensionAndPosition> $$4 = $$1x -> getLoadedDimensionAndPosition(
.. dPosition(                                                              .. 
86             $$1x, $$1.apply($$1x), "end"                                86             $$1x, $$1.apply($$1x), "end"
87          );                                                             87          );
88       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>, 88       InCommandFunction<CommandContext<CommandSourceStack>, CloneComman
..  CloneCommands.DimensionAndPosition> $$5 = $$1x -> getLoadedDimensionAn .. ds.DimensionAndPosition> $$5 = $$1x -> getLoadedDimensionAndPosition(
.. dPosition(                                                              .. 
89             $$1x, $$2.apply($$1x), "destination"                        89             $$1x, $$2.apply($$1x), "destination"
90          );                                                             90          );
91       return modeSuffix($$0, $$3, $$4, $$5, false, Commands.argument("d 91       return modeSuffix($$0, $$3, $$4, $$5, false, Commands.argument("d
   estination", BlockPosArgument.blockPos()))                                 estination", BlockPosArgument.blockPos()))

net/minecraft/server/commands/CloneCommands.java --- 3/5 --- Java
 94                                                                         94 
 95    private static ArgumentBuilder<CommandSourceStack, ?> modeSuffix(    95    private static ArgumentBuilder<CommandSourceStack, ?> modeSuffix(
 96       CommandBuildContext $$0,                                          96       CommandBuildContext $$0,
 97       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>  97       InCommandFunction<CommandContext<CommandSourceStack>, CloneComma
 .. , CloneCommands.DimensionAndPosition> $$1,                              .. nds.DimensionAndPosition> $$1,
 98       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>  98       InCommandFunction<CommandContext<CommandSourceStack>, CloneComma
 .. , CloneCommands.DimensionAndPosition> $$2,                              .. nds.DimensionAndPosition> $$2,
 99       CloneCommands.CommandFunction<CommandContext<CommandSourceStack>  99       InCommandFunction<CommandContext<CommandSourceStack>, CloneComma
 .. , CloneCommands.DimensionAndPosition> $$3,                              .. nds.DimensionAndPosition> $$3,
100       boolean $$4,                                                     100       boolean $$4,
101       ArgumentBuilder<CommandSourceStack, ?> $$5                       101       ArgumentBuilder<CommandSourceStack, ?> $$5
102    ) {                                                                 102    ) {

net/minecraft/server/commands/CloneCommands.java --- 4/5 --- Java
123    }                                                                   123    }
124                                                                        124 
125    private static ArgumentBuilder<CommandSourceStack, ?> wrapWithClone 125    private static ArgumentBuilder<CommandSourceStack, ?> wrapWithClone
... Mode(                                                                  ... Mode(
126       CloneCommands.CommandFunction<CommandContext<CommandSourceStack> 126       InCommandFunction<CommandContext<CommandSourceStack>, CloneComma
... , CloneCommands.DimensionAndPosition> $$0,                             ... nds.DimensionAndPosition> $$0,
127       CloneCommands.CommandFunction<CommandContext<CommandSourceStack> 127       InCommandFunction<CommandContext<CommandSourceStack>, CloneComma
... , CloneCommands.DimensionAndPosition> $$1,                             ... nds.DimensionAndPosition> $$1,
128       CloneCommands.CommandFunction<CommandContext<CommandSourceStack> 128       InCommandFunction<CommandContext<CommandSourceStack>, CloneComma
... , CloneCommands.DimensionAndPosition> $$2,                             ... nds.DimensionAndPosition> $$2,
129       CloneCommands.CommandFunction<CommandContext<CommandSourceStack> 129       InCommandFunction<CommandContext<CommandSourceStack>, Predicate<
... , Predicate<BlockInWorld>> $$3,                                        ... BlockInWorld>> $$3,
130       boolean $$4,                                                     130       boolean $$4,
131       ArgumentBuilder<CommandSourceStack, ?> $$5                       131       ArgumentBuilder<CommandSourceStack, ?> $$5
132    ) {                                                                 132    ) {

net/minecraft/server/commands/CloneCommands.java --- 5/5 --- Java
297    static record CloneBlockInfo(BlockPos pos, BlockState state, @Nulla 297    static record CloneBlockInfo(BlockPos pos, BlockState state, @Nulla
... ble CloneCommands.CloneBlockEntityInfo blockEntityInfo) {              ... ble CloneCommands.CloneBlockEntityInfo blockEntityInfo) {
298    }                                                                   298    }
299                                                                        ... 
300    @FunctionalInterface                                                ... 
301    interface CommandFunction<T, R> {                                   ... 
302       R apply(T var1) throws CommandSyntaxException;                   ... 
303    }                                                                   ... 
304                                                                        299 
305    static record DimensionAndPosition(ServerLevel dimension, BlockPos  300    static record DimensionAndPosition(ServerLevel dimension, BlockPos 
... position) {                                                            ... position) {
306    }                                                                   301    }

net/minecraft/world/level/block/entity/BannerBlockEntity.java --- 1/2 --- Java
4 import javax.annotation.Nullable;                                         4 import javax.annotation.Nullable;
5 import net.minecraft.core.BlockPos;                                       5 import net.minecraft.core.BlockPos;
6 import net.minecraft.core.HolderLookup;                                   6 import net.minecraft.core.HolderLookup;
.                                                                           7 import net.minecraft.core.component.DataComponentGetter;
7 import net.minecraft.core.component.DataComponentMap;                     8 import net.minecraft.core.component.DataComponentMap;
8 import net.minecraft.core.component.DataComponents;                       9 import net.minecraft.core.component.DataComponents;
9 import net.minecraft.nbt.CompoundTag;                                    10 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/BannerBlockEntity.java --- 2/2 --- Java
102    }                                                                   103    }
103                                                                        104 
104    @Override                                                           105    @Override
105    protected void applyImplicitComponents(BlockEntity.DataComponentInp 106    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
106       super.applyImplicitComponents($$0);                              107       super.applyImplicitComponents($$0);
107       this.patterns = $$0.getOrDefault(DataComponents.BANNER_PATTERNS, 108       this.patterns = $$0.getOrDefault(DataComponents.BANNER_PATTERNS,
...  BannerPatternLayers.EMPTY);                                           ...  BannerPatternLayers.EMPTY);
108       this.name = $$0.get(DataComponents.CUSTOM_NAME);                 109       this.name = $$0.get(DataComponents.CUSTOM_NAME);

net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java --- Java
44                   $$0.getScoreboard().addPlayerToTeam($$7.getScoreboard 44                   $$0.getScoreboard().addPlayerToTeam($$7.getScoreboard
.. Name(), $$3.getTeam());                                                 .. Name(), $$3.getTeam());
45                }                                                        45                }
46                                                                         46 
47                $$7.moveTo($$4.x, $$4.y, $$4.z, $$7.getYRot(), $$7.getXR 47                $$7.snapTo($$4.x, $$4.y, $$4.z, $$7.getYRot(), $$7.getXR
.. ot());                                                                  .. ot());
48             }                                                           48             }
49          }                                                              49          }
50       }                                                                 50       }

net/minecraft/util/FileSystemUtil.java --- Java
 1 package net.minecraft.util;
 2 
 3 import com.mojang.logging.LogUtils;
 4 import java.io.IOException;
 5 import java.net.URI;
 6 import java.nio.file.FileSystemAlreadyExistsException;
 7 import java.nio.file.FileSystemNotFoundException;
 8 import java.nio.file.FileSystems;
 9 import java.nio.file.Path;
10 import java.nio.file.Paths;
11 import java.util.Collections;
12 import org.slf4j.Logger;
13 
14 public class FileSystemUtil {
15    private static final Logger LOGGER = LogUtils.getLogger();
16 
17    public static Path safeGetPath(URI $$0) throws IOException {
18       try {
19          return Paths.get($$0);
20       } catch (FileSystemNotFoundException var3) {
21       } catch (Throwable var4) {
22          LOGGER.warn("Unable to get path for: {}", $$0, var4);
23       }
24 
25       try {
26          FileSystems.newFileSystem($$0, Collections.emptyMap());
27       } catch (FileSystemAlreadyExistsException var2) {
28       }
29 
30       return Paths.get($$0);
31    }
32 }
33 

net/minecraft/world/level/block/entity/CommandBlockEntity.java --- 1/2 --- Java
4 import net.minecraft.core.BlockPos;                                       4 import net.minecraft.core.BlockPos;
5 import net.minecraft.core.Direction;                                      5 import net.minecraft.core.Direction;
6 import net.minecraft.core.HolderLookup;                                   6 import net.minecraft.core.HolderLookup;
.                                                                           7 import net.minecraft.core.component.DataComponentGetter;
7 import net.minecraft.core.component.DataComponentMap;                     8 import net.minecraft.core.component.DataComponentMap;
8 import net.minecraft.core.component.DataComponents;                       9 import net.minecraft.core.component.DataComponents;
9 import net.minecraft.nbt.CompoundTag;                                    10 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/CommandBlockEntity.java --- 2/2 --- Java
162    }                                                                   163    }
163                                                                        164 
164    @Override                                                           165    @Override
165    protected void applyImplicitComponents(BlockEntity.DataComponentInp 166    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
166       super.applyImplicitComponents($$0);                              167       super.applyImplicitComponents($$0);
167       this.commandBlock.setCustomName($$0.get(DataComponents.CUSTOM_NA 168       this.commandBlock.setCustomName($$0.get(DataComponents.CUSTOM_NA
... ME));                                                                  ... ME));
168    }                                                                   169    }

net/minecraft/core/registries/Registries.java --- 1/4 --- Java
1 package net.minecraft.core.registries;                                   1 package net.minecraft.core.registries;
2                                                                          2 
3 import com.mojang.serialization.MapCodec;                                3 import com.mojang.serialization.MapCodec;
.                                                                          4 import java.util.function.Consumer;
4 import net.minecraft.advancements.Advancement;                           5 import net.minecraft.advancements.Advancement;
5 import net.minecraft.advancements.CriterionTrigger;                      6 import net.minecraft.advancements.CriterionTrigger;
6 import net.minecraft.advancements.critereon.EntitySubPredicate;          7 import net.minecraft.advancements.critereon.EntitySubPredicate;

net/minecraft/core/registries/Registries.java --- 2/4 --- Java
 9 import net.minecraft.core.Registry;                                     10 import net.minecraft.core.Registry;
10 import net.minecraft.core.component.DataComponentType;                  11 import net.minecraft.core.component.DataComponentType;
11 import net.minecraft.core.particles.ParticleType;                       12 import net.minecraft.core.particles.ParticleType;
..                                                                         13 import net.minecraft.gametest.framework.GameTestHelper;
..                                                                         14 import net.minecraft.gametest.framework.GameTestInstance;
..                                                                         15 import net.minecraft.gametest.framework.TestEnvironmentDefinition;
12 import net.minecraft.network.chat.ChatType;                             16 import net.minecraft.network.chat.ChatType;
13 import net.minecraft.network.chat.numbers.NumberFormatType;             17 import net.minecraft.network.chat.numbers.NumberFormatType;
14 import net.minecraft.resources.ResourceKey;                             18 import net.minecraft.resources.ResourceKey;

net/minecraft/core/registries/Registries.java --- 3/4 --- Java
213    public static final ResourceKey<Registry<SlotDisplay.Type<?>>> SLOT 217    public static final ResourceKey<Registry<SlotDisplay.Type<?>>> SLOT
... _DISPLAY = createRegistryKey("slot_display");                          ... _DISPLAY = createRegistryKey("slot_display");
214    public static final ResourceKey<Registry<RecipeBookCategory>> RECIP 218    public static final ResourceKey<Registry<RecipeBookCategory>> RECIP
... E_BOOK_CATEGORY = createRegistryKey("recipe_book_category");           ... E_BOOK_CATEGORY = createRegistryKey("recipe_book_category");
215    public static final ResourceKey<Registry<TicketType>> TICKET_TYPE = 219    public static final ResourceKey<Registry<TicketType>> TICKET_TYPE =
...  createRegistryKey("ticket_type");                                     ...  createRegistryKey("ticket_type");
...                                                                        220    public static final ResourceKey<Registry<Consumer<GameTestHelper>>>
...                                                                        ...  TEST_FUNCTION = createRegistryKey("test_function");
...                                                                        221    public static final ResourceKey<Registry<MapCodec<? extends TestEnv
...                                                                        ... ironmentDefinition>>> TEST_ENVIRONMENT_DEFINITION_TYPE = createRegistr
...                                                                        ... yKey(
...                                                                        222       "test_environment_definition_type"
...                                                                        223    );
...                                                                        224    public static final ResourceKey<Registry<MapCodec<? extends GameTes
...                                                                        ... tInstance>>> TEST_INSTANCE_TYPE = createRegistryKey("test_instance_typ
...                                                                        ... e");
216    public static final ResourceKey<Registry<Biome>> BIOME = createRegi 225    public static final ResourceKey<Registry<Biome>> BIOME = createRegi
... stryKey("worldgen/biome");                                             ... stryKey("worldgen/biome");
217    public static final ResourceKey<Registry<ChatType>> CHAT_TYPE = cre 226    public static final ResourceKey<Registry<ChatType>> CHAT_TYPE = cre
... ateRegistryKey("chat_type");                                           ... ateRegistryKey("chat_type");
218    public static final ResourceKey<Registry<ConfiguredWorldCarver<?>>> 227    public static final ResourceKey<Registry<ConfiguredWorldCarver<?>>>
     CONFIGURED_CARVER = createRegistryKey("worldgen/configured_carver");       CONFIGURED_CARVER = createRegistryKey("worldgen/configured_carver");

net/minecraft/core/registries/Registries.java --- 4/4 --- Java
231    public static final ResourceKey<Registry<StructureSet>> STRUCTURE_S 240    public static final ResourceKey<Registry<StructureSet>> STRUCTURE_S
... ET = createRegistryKey("worldgen/structure_set");                      ... ET = createRegistryKey("worldgen/structure_set");
232    public static final ResourceKey<Registry<StructureTemplatePool>> TE 241    public static final ResourceKey<Registry<StructureTemplatePool>> TE
... MPLATE_POOL = createRegistryKey("worldgen/template_pool");             ... MPLATE_POOL = createRegistryKey("worldgen/template_pool");
233    public static final ResourceKey<Registry<CriterionTrigger<?>>> TRIG 242    public static final ResourceKey<Registry<CriterionTrigger<?>>> TRIG
... GER_TYPE = createRegistryKey("trigger_type");                          ... GER_TYPE = createRegistryKey("trigger_type");
...                                                                        243    public static final ResourceKey<Registry<TestEnvironmentDefinition>
...                                                                        ... > TEST_ENVIRONMENT = createRegistryKey("test_environment");
...                                                                        244    public static final ResourceKey<Registry<GameTestInstance>> TEST_IN
...                                                                        ... STANCE = createRegistryKey("test_instance");
234    public static final ResourceKey<Registry<TrimMaterial>> TRIM_MATERI 245    public static final ResourceKey<Registry<TrimMaterial>> TRIM_MATERI
... AL = createRegistryKey("trim_material");                               ... AL = createRegistryKey("trim_material");
235    public static final ResourceKey<Registry<TrimPattern>> TRIM_PATTERN 246    public static final ResourceKey<Registry<TrimPattern>> TRIM_PATTERN
...  = createRegistryKey("trim_pattern");                                  ...  = createRegistryKey("trim_pattern");
236    public static final ResourceKey<Registry<WorldPreset>> WORLD_PRESET 247    public static final ResourceKey<Registry<WorldPreset>> WORLD_PRESET
     = createRegistryKey("worldgen/world_preset");                              = createRegistryKey("worldgen/world_preset");

net/minecraft/client/renderer/entity/AbstractHorseRenderer.java --- 1/2 --- Java
4 import net.fabricmc.api.Environment;                                      4 import net.fabricmc.api.Environment;
5 import net.minecraft.client.model.EntityModel;                            5 import net.minecraft.client.model.EntityModel;
6 import net.minecraft.client.renderer.entity.state.EquineRenderState;      6 import net.minecraft.client.renderer.entity.state.EquineRenderState;
.                                                                           7 import net.minecraft.world.entity.EquipmentSlot;
7 import net.minecraft.world.entity.animal.horse.AbstractHorse;             8 import net.minecraft.world.entity.animal.horse.AbstractHorse;
8                                                                           9 
9 @Environment(EnvType.CLIENT)                                             10 @Environment(EnvType.CLIENT)

net/minecraft/client/renderer/entity/AbstractHorseRenderer.java --- 2/2 --- Java
15                                                                         16 
16    public void extractRenderState(T $$0, S $$1, float $$2) {            17    public void extractRenderState(T $$0, S $$1, float $$2) {
17       super.extractRenderState($$0, $$1, $$2);                          18       super.extractRenderState($$0, $$1, $$2);
18       $$1.isSaddled = $$0.isSaddled();                                  19       $$1.saddle = $$0.getItemBySlot(EquipmentSlot.SADDLE).copy();
19       $$1.isRidden = $$0.isVehicle();                                   20       $$1.isRidden = $$0.isVehicle();
20       $$1.eatAnimation = $$0.getEatAnim($$2);                           21       $$1.eatAnimation = $$0.getEatAnim($$2);
21       $$1.standAnimation = $$0.getStandAnim($$2);                       22       $$1.standAnimation = $$0.getStandAnim($$2);

net/minecraft/network/protocol/game/GameProtocols.java --- 1/2 --- Java
88             .addPacket(GamePacketTypes.SERVERBOUND_SET_CREATIVE_MODE_SL 88             .addPacket(GamePacketTypes.SERVERBOUND_SET_CREATIVE_MODE_SL
.. OT, ServerboundSetCreativeModeSlotPacket.STREAM_CODEC)                  .. OT, ServerboundSetCreativeModeSlotPacket.STREAM_CODEC)
89             .addPacket(GamePacketTypes.SERVERBOUND_SET_JIGSAW_BLOCK, Se 89             .addPacket(GamePacketTypes.SERVERBOUND_SET_JIGSAW_BLOCK, Se
.. rverboundSetJigsawBlockPacket.STREAM_CODEC)                             .. rverboundSetJigsawBlockPacket.STREAM_CODEC)
90             .addPacket(GamePacketTypes.SERVERBOUND_SET_STRUCTURE_BLOCK, 90             .addPacket(GamePacketTypes.SERVERBOUND_SET_STRUCTURE_BLOCK,
..  ServerboundSetStructureBlockPacket.STREAM_CODEC)                       ..  ServerboundSetStructureBlockPacket.STREAM_CODEC)
..                                                                         91             .addPacket(GamePacketTypes.SERVERBOUND_SET_TEST_BLOCK, Serv
..                                                                         .. erboundSetTestBlockPacket.STREAM_CODEC)
91             .addPacket(GamePacketTypes.SERVERBOUND_SIGN_UPDATE, Serverb 92             .addPacket(GamePacketTypes.SERVERBOUND_SIGN_UPDATE, Serverb
.. oundSignUpdatePacket.STREAM_CODEC)                                      .. oundSignUpdatePacket.STREAM_CODEC)
92             .addPacket(GamePacketTypes.SERVERBOUND_SWING, ServerboundSw 93             .addPacket(GamePacketTypes.SERVERBOUND_SWING, ServerboundSw
.. ingPacket.STREAM_CODEC)                                                 .. ingPacket.STREAM_CODEC)
..                                                                         94             .addPacket(GamePacketTypes.SERVERBOUND_TELEPORT_TO_ENTITY, 
..                                                                         .. ServerboundTeleportToEntityPacket.STREAM_CODEC)
93             .addPacket(GamePacketTypes.SERVERBOUND_TELEPORT_TO_ENTITY,  95             .addPacket(GamePacketTypes.SERVERBOUND_TEST_INSTANCE_BLOCK_
.. ServerboundTeleportToEntityPacket.STREAM_CODEC)                         .. ACTION, ServerboundTestInstanceBlockActionPacket.STREAM_CODEC)
94             .addPacket(GamePacketTypes.SERVERBOUND_USE_ITEM_ON, Serverb 96             .addPacket(GamePacketTypes.SERVERBOUND_USE_ITEM_ON, Serverb
.. oundUseItemOnPacket.STREAM_CODEC)                                       .. oundUseItemOnPacket.STREAM_CODEC)
95             .addPacket(GamePacketTypes.SERVERBOUND_USE_ITEM, Serverboun 97             .addPacket(GamePacketTypes.SERVERBOUND_USE_ITEM, Serverboun
.. dUseItemPacket.STREAM_CODEC)                                            .. dUseItemPacket.STREAM_CODEC)
96    );                                                                   98    );

net/minecraft/network/protocol/game/GameProtocols.java --- 2/2 --- Java
215             .addPacket(GamePacketTypes.CLIENTBOUND_TAG_QUERY, Clientbo 217             .addPacket(GamePacketTypes.CLIENTBOUND_TAG_QUERY, Clientbo
... undTagQueryPacket.STREAM_CODEC)                                        ... undTagQueryPacket.STREAM_CODEC)
216             .addPacket(GamePacketTypes.CLIENTBOUND_TAKE_ITEM_ENTITY, C 218             .addPacket(GamePacketTypes.CLIENTBOUND_TAKE_ITEM_ENTITY, C
... lientboundTakeItemEntityPacket.STREAM_CODEC)                           ... lientboundTakeItemEntityPacket.STREAM_CODEC)
217             .addPacket(GamePacketTypes.CLIENTBOUND_TELEPORT_ENTITY, Cl 219             .addPacket(GamePacketTypes.CLIENTBOUND_TELEPORT_ENTITY, Cl
... ientboundTeleportEntityPacket.STREAM_CODEC)                            ... ientboundTeleportEntityPacket.STREAM_CODEC)
...                                                                        220             .addPacket(GamePacketTypes.CLIENTBOUND_TEST_INSTANCE_BLOCK
...                                                                        ... _STATUS, ClientboundTestInstanceBlockStatus.STREAM_CODEC)
218             .addPacket(GamePacketTypes.CLIENTBOUND_TICKING_STATE, Clie 221             .addPacket(GamePacketTypes.CLIENTBOUND_TICKING_STATE, Clie
... ntboundTickingStatePacket.STREAM_CODEC)                                ... ntboundTickingStatePacket.STREAM_CODEC)
219             .addPacket(GamePacketTypes.CLIENTBOUND_TICKING_STEP, Clien 222             .addPacket(GamePacketTypes.CLIENTBOUND_TICKING_STEP, Clien
... tboundTickingStepPacket.STREAM_CODEC)                                  ... tboundTickingStepPacket.STREAM_CODEC)
220             .addPacket(CommonPacketTypes.CLIENTBOUND_TRANSFER, Clientb 223             .addPacket(CommonPacketTypes.CLIENTBOUND_TRANSFER, Clientb
    oundTransferPacket.STREAM_CODEC)                                           oundTransferPacket.STREAM_CODEC)

net/minecraft/server/commands/FillCommand.java --- 1/2 --- Java
100    private static ArgumentBuilder<CommandSourceStack, ?> wrapWithMode( 100    private static ArgumentBuilder<CommandSourceStack, ?> wrapWithMode(
101       CommandBuildContext $$0,                                         101       CommandBuildContext $$0,
102       ArgumentBuilder<CommandSourceStack, ?> $$1,                      102       ArgumentBuilder<CommandSourceStack, ?> $$1,
103       FillCommand.CommandFunction<CommandContext<CommandSourceStack>,  103       InCommandFunction<CommandContext<CommandSourceStack>, BlockPos> 
... BlockPos> $$2,                                                         ... $$2,
104       FillCommand.CommandFunction<CommandContext<CommandSourceStack>,  104       InCommandFunction<CommandContext<CommandSourceStack>, BlockPos> 
... BlockPos> $$3,                                                         ... $$3,
105       FillCommand.CommandFunction<CommandContext<CommandSourceStack>,  105       InCommandFunction<CommandContext<CommandSourceStack>, BlockInput
... BlockInput> $$4,                                                       ... > $$4,
106       FillCommand.NullableCommandFunction<CommandContext<CommandSource 106       FillCommand.NullableCommandFunction<CommandContext<CommandSource
... Stack>, Predicate<BlockInWorld>> $$5                                   ... Stack>, Predicate<BlockInWorld>> $$5
107    ) {                                                                 107    ) {
108       return $$1.executes(                                             108       return $$1.executes(

net/minecraft/server/commands/FillCommand.java --- 2/2 --- Java
233       boolean affect(ServerLevel var1, BlockPos var2);                 233       boolean affect(ServerLevel var1, BlockPos var2);
234    }                                                                   234    }
235                                                                        ... 
236    @FunctionalInterface                                                ... 
237    interface CommandFunction<T, R> {                                   ... 
238       R apply(T var1) throws CommandSyntaxException;                   ... 
239    }                                                                   ... 
240                                                                        235 
241    @FunctionalInterface                                                236    @FunctionalInterface
242    public interface Filter {                                           237    public interface Filter {

net/minecraft/world/level/block/entity/CampfireBlockEntity.java --- 1/3 --- Java
 6 import net.minecraft.core.Direction;                                     6 import net.minecraft.core.Direction;
 7 import net.minecraft.core.HolderLookup;                                  7 import net.minecraft.core.HolderLookup;
 8 import net.minecraft.core.NonNullList;                                   8 import net.minecraft.core.NonNullList;
 .                                                                          9 import net.minecraft.core.component.DataComponentGetter;
 9 import net.minecraft.core.component.DataComponentMap;                   10 import net.minecraft.core.component.DataComponentMap;
10 import net.minecraft.core.component.DataComponents;                     11 import net.minecraft.core.component.DataComponents;
11 import net.minecraft.core.particles.ParticleTypes;                      12 import net.minecraft.core.particles.ParticleTypes;

net/minecraft/world/level/block/entity/CampfireBlockEntity.java --- 2/3 --- Java
180    }                                                                   181    }
181                                                                        182 
182    @Override                                                           183    @Override
183    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 184    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
184       if (this.level != null) {                                        185       if (this.level != null) {
185          Containers.dropContents(this.level, $$0, this.getItems());    186          Containers.dropContents(this.level, $$0, this.getItems());
186       }                                                                187       }

net/minecraft/world/level/block/entity/CampfireBlockEntity.java --- 3/3 --- Java
193    }                                                                   194    }
194                                                                        195 
195    @Override                                                           196    @Override
196    protected void applyImplicitComponents(BlockEntity.DataComponentInp 197    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
197       super.applyImplicitComponents($$0);                              198       super.applyImplicitComponents($$0);
198       $$0.getOrDefault(DataComponents.CONTAINER, ItemContainerContents 199       $$0.getOrDefault(DataComponents.CONTAINER, ItemContainerContents
... .EMPTY).copyInto(this.getItems());                                     ... .EMPTY).copyInto(this.getItems());
199    }                                                                   200    }

net/minecraft/world/inventory/ArmorSlot.java --- Java
36                                                                         36 
37    @Override                                                            37    @Override
38    public boolean mayPlace(ItemStack $$0) {                             38    public boolean mayPlace(ItemStack $$0) {
39       return this.slot == this.owner.getEquipmentSlotForItem($$0);      39       return this.owner.isEquippableInSlot($$0, this.slot);
40    }                                                                    40    }
..                                                                         41 
..                                                                         42    @Override
..                                                                         43    public boolean isActive() {
..                                                                         44       return this.owner.canUseSlot(this.slot);
..                                                                         45    }
41                                                                         46 
42    @Override                                                            47    @Override
43    public boolean mayPickup(Player $$0) {                               48    public boolean mayPickup(Player $$0) {

net/minecraft/core/registries/BuiltInRegistries.java --- 1/4 --- Java
 5 import com.mojang.serialization.Lifecycle;                               5 import com.mojang.serialization.Lifecycle;
 6 import com.mojang.serialization.MapCodec;                                6 import com.mojang.serialization.MapCodec;
 7 import java.util.Map;                                                    7 import java.util.Map;
 .                                                                          8 import java.util.function.Consumer;
 8 import java.util.function.Supplier;                                      9 import java.util.function.Supplier;
 9 import net.minecraft.Util;                                              10 import net.minecraft.Util;
10 import net.minecraft.advancements.CriteriaTriggers;                     11 import net.minecraft.advancements.CriteriaTriggers;

net/minecraft/core/registries/BuiltInRegistries.java --- 2/4 --- Java
26 import net.minecraft.core.component.DataComponents;                     27 import net.minecraft.core.component.DataComponents;
27 import net.minecraft.core.particles.ParticleType;                       28 import net.minecraft.core.particles.ParticleType;
28 import net.minecraft.core.particles.ParticleTypes;                      29 import net.minecraft.core.particles.ParticleTypes;
..                                                                         30 import net.minecraft.gametest.framework.BuiltinTestFunctions;
..                                                                         31 import net.minecraft.gametest.framework.GameTestHelper;
..                                                                         32 import net.minecraft.gametest.framework.GameTestInstance;
..                                                                         33 import net.minecraft.gametest.framework.TestEnvironmentDefinition;
29 import net.minecraft.network.chat.numbers.NumberFormatType;             34 import net.minecraft.network.chat.numbers.NumberFormatType;
30 import net.minecraft.network.chat.numbers.NumberFormatTypes;            35 import net.minecraft.network.chat.numbers.NumberFormatTypes;
31 import net.minecraft.resources.ResourceKey;                             36 import net.minecraft.resources.ResourceKey;

net/minecraft/core/registries/BuiltInRegistries.java --- 3/4 --- Java
166    public static final Registry<PositionSourceType<?>> POSITION_SOURCE 171    public static final Registry<PositionSourceType<?>> POSITION_SOURCE
... _TYPE = registerSimple(Registries.POSITION_SOURCE_TYPE, $$0 -> Positio ... _TYPE = registerSimple(Registries.POSITION_SOURCE_TYPE, $$0 -> Positio
... nSourceType.BLOCK);                                                    ... nSourceType.BLOCK);
167    public static final Registry<ArgumentTypeInfo<?, ?>> COMMAND_ARGUME 172    public static final Registry<ArgumentTypeInfo<?, ?>> COMMAND_ARGUME
... NT_TYPE = registerSimple(Registries.COMMAND_ARGUMENT_TYPE, ArgumentTyp ... NT_TYPE = registerSimple(Registries.COMMAND_ARGUMENT_TYPE, ArgumentTyp
... eInfos::bootstrap);                                                    ... eInfos::bootstrap);
168    public static final Registry<StatType<?>> STAT_TYPE = registerSimpl 173    public static final Registry<StatType<?>> STAT_TYPE = registerSimpl
... e(Registries.STAT_TYPE, $$0 -> Stats.ITEM_USED);                       ... e(Registries.STAT_TYPE, $$0 -> Stats.ITEM_USED);
169    public static final DefaultedRegistry<VillagerType> VILLAGER_TYPE = 174    public static final DefaultedRegistry<VillagerType> VILLAGER_TYPE =
...  registerDefaulted(Registries.VILLAGER_TYPE, "plains", $$0 -> Villager ...  registerDefaulted(Registries.VILLAGER_TYPE, "plains", VillagerType::b
... Type.PLAINS);                                                          ... ootstrap);
170    public static final DefaultedRegistry<VillagerProfession> VILLAGER_ 175    public static final DefaultedRegistry<VillagerProfession> VILLAGER_
... PROFESSION = registerDefaulted(                                        ... PROFESSION = registerDefaulted(
171       Registries.VILLAGER_PROFESSION, "none", $$0 -> VillagerProfessio 176       Registries.VILLAGER_PROFESSION, "none", VillagerProfession::boot
... n.NONE                                                                 ... strap
172    );                                                                  177    );
173    public static final Registry<PoiType> POINT_OF_INTEREST_TYPE = regi 178    public static final Registry<PoiType> POINT_OF_INTEREST_TYPE = regi
... sterSimple(Registries.POINT_OF_INTEREST_TYPE, PoiTypes::bootstrap);    ... sterSimple(Registries.POINT_OF_INTEREST_TYPE, PoiTypes::bootstrap);
174    public static final DefaultedRegistry<MemoryModuleType<?>> MEMORY_M 179    public static final DefaultedRegistry<MemoryModuleType<?>> MEMORY_M
    ODULE_TYPE = registerDefaulted(                                            ODULE_TYPE = registerDefaulted(

net/minecraft/core/registries/BuiltInRegistries.java --- 4/4 --- Java
277    public static final Registry<SlotDisplay.Type<?>> SLOT_DISPLAY = re 282    public static final Registry<SlotDisplay.Type<?>> SLOT_DISPLAY = re
... gisterSimple(Registries.SLOT_DISPLAY, SlotDisplays::bootstrap);        ... gisterSimple(Registries.SLOT_DISPLAY, SlotDisplays::bootstrap);
278    public static final Registry<RecipeBookCategory> RECIPE_BOOK_CATEGO 283    public static final Registry<RecipeBookCategory> RECIPE_BOOK_CATEGO
... RY = registerSimple(Registries.RECIPE_BOOK_CATEGORY, RecipeBookCategor ... RY = registerSimple(Registries.RECIPE_BOOK_CATEGORY, RecipeBookCategor
... ies::bootstrap);                                                       ... ies::bootstrap);
279    public static final Registry<TicketType> TICKET_TYPE = registerSimp 284    public static final Registry<TicketType> TICKET_TYPE = registerSimp
... le(Registries.TICKET_TYPE, $$0 -> TicketType.UNKNOWN);                 ... le(Registries.TICKET_TYPE, $$0 -> TicketType.UNKNOWN);
...                                                                        285    public static final Registry<MapCodec<? extends TestEnvironmentDefi
...                                                                        ... nition>> TEST_ENVIRONMENT_DEFINITION_TYPE = registerSimple(
...                                                                        286       Registries.TEST_ENVIRONMENT_DEFINITION_TYPE, TestEnvironmentDefi
...                                                                        ... nition::bootstrap
...                                                                        287    );
...                                                                        288    public static final Registry<MapCodec<? extends GameTestInstance>> 
...                                                                        ... TEST_INSTANCE_TYPE = registerSimple(
...                                                                        289       Registries.TEST_INSTANCE_TYPE, GameTestInstance::bootstrap
...                                                                        290    );
...                                                                        291    public static final Registry<Consumer<GameTestHelper>> TEST_FUNCTIO
...                                                                        ... N = registerSimple(Registries.TEST_FUNCTION, BuiltinTestFunctions::boo
...                                                                        ... tstrap);
280    public static final Registry<? extends Registry<?>> REGISTRY = WRIT 292    public static final Registry<? extends Registry<?>> REGISTRY = WRIT
... ABLE_REGISTRY;                                                         ... ABLE_REGISTRY;
281                                                                        293 
282    private static <T> Registry<T> registerSimple(ResourceKey<? extends 294    private static <T> Registry<T> registerSimple(ResourceKey<? extends
     Registry<T>> $$0, BuiltInRegistries.RegistryBootstrap<T> $$1) {            Registry<T>> $$0, BuiltInRegistries.RegistryBootstrap<T> $$1) {

net/minecraft/commands/arguments/blocks/BlockInput.java --- Java
77             CompoundTag $$7 = $$5.saveWithoutMetadata($$0.registryAcces 77             CompoundTag $$7 = $$5.saveWithoutMetadata($$0.registryAcces
.. s());                                                                   .. s());
78             if (!$$7.equals($$6)) {                                     78             if (!$$7.equals($$6)) {
79                $$4 = true;                                              79                $$4 = true;
..                                                                         80                $$5.setChanged();
..                                                                         81                $$0.getChunkSource().blockChanged($$1);
80             }                                                           82             }
81          }                                                              83          }
82       }                                                                 84       }

net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java --- Java
167    }                                                                   167    }
168                                                                        168 
169    @Override                                                           169    @Override
170    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 170    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
171       if ($$1.getValue(SculkShriekerBlock.SHRIEKING) && this.level ins 171       if ($$1.getValue(SculkShriekerBlock.SHRIEKING) && this.level ins
... tanceof ServerLevel $$3) {                                             ... tanceof ServerLevel $$2) {
172          this.tryRespond($$3);                                         172          this.tryRespond($$2);
173       }                                                                173       }
174    }                                                                   174    }
175                                                                        175 

net/minecraft/server/commands/SummonCommand.java --- Java
81          $$6.putString("id", $$1.key().location().toString());          81          $$6.putString("id", $$1.key().location().toString());
82          ServerLevel $$7 = $$0.getLevel();                              82          ServerLevel $$7 = $$0.getLevel();
83          Entity $$8 = EntityType.loadEntityRecursive($$6, $$7, EntitySp 83          Entity $$8 = EntityType.loadEntityRecursive($$6, $$7, EntitySp
.. awnReason.COMMAND, $$1x -> {                                            .. awnReason.COMMAND, $$1x -> {
84             $$1x.moveTo($$2.x, $$2.y, $$2.z, $$1x.getYRot(), $$1x.getXR 84             $$1x.snapTo($$2.x, $$2.y, $$2.z, $$1x.getYRot(), $$1x.getXR
.. ot());                                                                  .. ot());
85             return $$1x;                                                85             return $$1x;
86          });                                                            86          });
87          if ($$8 == null) {                                             87          if ($$8 == null) {

net/minecraft/client/renderer/entity/state/PigRenderState.java --- Java
 4 import net.fabricmc.api.EnvType;                                         4 import net.fabricmc.api.EnvType;
 5 import net.fabricmc.api.Environment;                                     5 import net.fabricmc.api.Environment;
 6 import net.minecraft.world.entity.animal.PigVariant;                     6 import net.minecraft.world.entity.animal.PigVariant;
 .                                                                          7 import net.minecraft.world.item.ItemStack;
 7                                                                          8 
 8 @Environment(EnvType.CLIENT)                                             9 @Environment(EnvType.CLIENT)
 9 public class PigRenderState extends LivingEntityRenderState implements  10 public class PigRenderState extends LivingEntityRenderState {
 . SaddleableRenderState {                                                 .. 
10    public boolean isSaddled;                                            11    public ItemStack saddle = ItemStack.EMPTY;
11    @Nullable                                                            12    @Nullable
12    public PigVariant variant;                                           13    public PigVariant variant;
13                                                                         .. 
14    @Override                                                            .. 
15    public boolean isSaddled() {                                         .. 
16       return this.isSaddled;                                            .. 
17    }                                                                    .. 
18 }                                                                       14 }

net/minecraft/world/entity/ai/memory/MemoryModuleType.java --- Java
39    public static final MemoryModuleType<List<Player>> NEAREST_PLAYERS = 39    public static final MemoryModuleType<List<Player>> NEAREST_PLAYERS =
..  register("nearest_players");                                           ..  register("nearest_players");
40    public static final MemoryModuleType<Player> NEAREST_VISIBLE_PLAYER  40    public static final MemoryModuleType<Player> NEAREST_VISIBLE_PLAYER 
.. = register("nearest_visible_player");                                   .. = register("nearest_visible_player");
41    public static final MemoryModuleType<Player> NEAREST_VISIBLE_ATTACKA 41    public static final MemoryModuleType<Player> NEAREST_VISIBLE_ATTACKA
.. BLE_PLAYER = register("nearest_visible_targetable_player");             .. BLE_PLAYER = register("nearest_visible_targetable_player");
..                                                                         42    public static final MemoryModuleType<List<Player>> NEAREST_VISIBLE_A
..                                                                         .. TTACKABLE_PLAYERS = register("nearest_visible_targetable_players");
42    public static final MemoryModuleType<WalkTarget> WALK_TARGET = regis 43    public static final MemoryModuleType<WalkTarget> WALK_TARGET = regis
.. ter("walk_target");                                                     .. ter("walk_target");
43    public static final MemoryModuleType<PositionTracker> LOOK_TARGET =  44    public static final MemoryModuleType<PositionTracker> LOOK_TARGET = 
.. register("look_target");                                                .. register("look_target");
44    public static final MemoryModuleType<LivingEntity> ATTACK_TARGET = r 45    public static final MemoryModuleType<LivingEntity> ATTACK_TARGET = r
   egister("attack_target");                                                  egister("attack_target");

net/minecraft/client/renderer/entity/PigRenderer.java --- 1/3 --- Java
10 import net.minecraft.client.model.PigModel;                             10 import net.minecraft.client.model.PigModel;
11 import net.minecraft.client.model.geom.ModelLayers;                     11 import net.minecraft.client.model.geom.ModelLayers;
12 import net.minecraft.client.renderer.MultiBufferSource;                 12 import net.minecraft.client.renderer.MultiBufferSource;
13 import net.minecraft.client.renderer.entity.layers.SaddleLayer;         13 import net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer
..                                                                         .. ;
14 import net.minecraft.client.renderer.entity.state.PigRenderState;       14 import net.minecraft.client.renderer.entity.state.PigRenderState;
15 import net.minecraft.client.renderer.texture.MissingTextureAtlasSprite; 15 import net.minecraft.client.renderer.texture.MissingTextureAtlasSprite;
..                                                                         16 import net.minecraft.client.resources.model.EquipmentClientInfo;
16 import net.minecraft.resources.ResourceLocation;                        17 import net.minecraft.resources.ResourceLocation;
..                                                                         18 import net.minecraft.world.entity.EquipmentSlot;
17 import net.minecraft.world.entity.animal.Pig;                           19 import net.minecraft.world.entity.animal.Pig;
18 import net.minecraft.world.entity.animal.PigVariant;                    20 import net.minecraft.world.entity.animal.PigVariant;
19                                                                         21 

net/minecraft/client/renderer/entity/PigRenderer.java --- 2/3 --- Java
25       super($$0, new PigModel($$0.bakeLayer(ModelLayers.PIG)), 0.7F);   27       super($$0, new PigModel($$0.bakeLayer(ModelLayers.PIG)), 0.7F);
26       this.models = bakeModels($$0);                                    28       this.models = bakeModels($$0);
27       this.addLayer(                                                    29       this.addLayer(
28          new SaddleLayer<>(                                             30          new SimpleEquipmentLayer<>(
29             this,                                                       31             this,
..                                                                         32             $$0.getEquipmentRenderer(),
..                                                                         33             EquipmentClientInfo.LayerType.PIG_SADDLE,
..                                                                         34             $$0x -> $$0x.saddle,
30             new PigModel($$0.bakeLayer(ModelLayers.PIG_SADDLE)),        35             new PigModel($$0.bakeLayer(ModelLayers.PIG_SADDLE)),
31             new PigModel($$0.bakeLayer(ModelLayers.PIG_BABY_SADDLE)),   36             new PigModel($$0.bakeLayer(ModelLayers.PIG_BABY_SADDLE))
32             ResourceLocation.withDefaultNamespace("textures/entity/pig/ .. 
.. pig_saddle.png")                                                        .. 
33          )                                                              37          )
34       );                                                                38       );
35    }                                                                    39    }

net/minecraft/client/renderer/entity/PigRenderer.java --- 3/3 --- Java
62                                                                         66 
63    public void extractRenderState(Pig $$0, PigRenderState $$1, float $$ 67    public void extractRenderState(Pig $$0, PigRenderState $$1, float $$
.. 2) {                                                                    .. 2) {
64       super.extractRenderState($$0, $$1, $$2);                          68       super.extractRenderState($$0, $$1, $$2);
65       $$1.isSaddled = $$0.isSaddled();                                  69       $$1.saddle = $$0.getItemBySlot(EquipmentSlot.SADDLE).copy();
66       $$1.variant = $$0.getVariant().value();                           70       $$1.variant = $$0.getVariant().value();
67    }                                                                    71    }
68 }                                                                       72 }

net/minecraft/world/entity/monster/piglin/PiglinAi.java --- 1/2 --- Java
17 import net.minecraft.world.InteractionResult;                           17 import net.minecraft.world.InteractionResult;
18 import net.minecraft.world.entity.Entity;                               18 import net.minecraft.world.entity.Entity;
19 import net.minecraft.world.entity.EntityType;                           19 import net.minecraft.world.entity.EntityType;
..                                                                         20 import net.minecraft.world.entity.EquipmentSlot;
..                                                                         21 import net.minecraft.world.entity.EquipmentSlotGroup;
20 import net.minecraft.world.entity.LivingEntity;                         22 import net.minecraft.world.entity.LivingEntity;
21 import net.minecraft.world.entity.Mob;                                  23 import net.minecraft.world.entity.Mob;
22 import net.minecraft.world.entity.PathfinderMob;                        24 import net.minecraft.world.entity.PathfinderMob;

net/minecraft/world/entity/monster/piglin/PiglinAi.java --- 2/2 --- Java
635    }                                                                   637    }
636                                                                        638 
637    public static boolean isWearingSafeArmor(LivingEntity $$0) {        639    public static boolean isWearingSafeArmor(LivingEntity $$0) {
638       for (ItemStack $$1 : $$0.getArmorAndBodyArmorSlots()) {          640       for (EquipmentSlot $$1 : EquipmentSlotGroup.ARMOR) {
639          if ($$1.is(ItemTags.PIGLIN_SAFE_ARMOR)) {                     641          if ($$0.getItemBySlot($$1).is(ItemTags.PIGLIN_SAFE_ARMOR)) {
640             return true;                                               642             return true;
641          }                                                             643          }
642       }                                                                644       }

net/minecraft/client/renderer/entity/state/ZombieVillagerRenderState.java --- Java
 1 package net.minecraft.client.renderer.entity.state;                      1 package net.minecraft.client.renderer.entity.state;
 2                                                                          2 
 .                                                                          3 import javax.annotation.Nullable;
 3 import net.fabricmc.api.EnvType;                                         4 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     5 import net.fabricmc.api.Environment;
 5 import net.minecraft.world.entity.npc.VillagerData;                      6 import net.minecraft.world.entity.npc.VillagerData;
 6 import net.minecraft.world.entity.npc.VillagerProfession;                . 
 7 import net.minecraft.world.entity.npc.VillagerType;                      . 
 8                                                                          7 
 9 @Environment(EnvType.CLIENT)                                             8 @Environment(EnvType.CLIENT)
10 public class ZombieVillagerRenderState extends ZombieRenderState implem  9 public class ZombieVillagerRenderState extends ZombieRenderState implem
.. ents VillagerDataHolderRenderState {                                     . ents VillagerDataHolderRenderState {
..                                                                         10    @Nullable
11    public VillagerData villagerData = new VillagerData(VillagerType.PLA 11    public VillagerData villagerData;
.. INS, VillagerProfession.NONE, 1);                                       .. 
12                                                                         12 
..                                                                         13    @Nullable
13    @Override                                                            14    @Override
14    public VillagerData getVillagerData() {                              15    public VillagerData getVillagerData() {
15       return this.villagerData;                                         16       return this.villagerData;

net/minecraft/world/level/block/entity/BaseContainerBlockEntity.java --- 1/2 --- Java
4 import net.minecraft.core.BlockPos;                                       4 import net.minecraft.core.BlockPos;
5 import net.minecraft.core.HolderLookup;                                   5 import net.minecraft.core.HolderLookup;
6 import net.minecraft.core.NonNullList;                                    6 import net.minecraft.core.NonNullList;
.                                                                           7 import net.minecraft.core.component.DataComponentGetter;
7 import net.minecraft.core.component.DataComponentMap;                     8 import net.minecraft.core.component.DataComponentMap;
8 import net.minecraft.core.component.DataComponents;                       9 import net.minecraft.core.component.DataComponents;
9 import net.minecraft.nbt.CompoundTag;                                    10 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/BaseContainerBlockEntity.java --- 2/2 --- Java
144    protected abstract AbstractContainerMenu createMenu(int var1, Inven 145    protected abstract AbstractContainerMenu createMenu(int var1, Inven
... tory var2);                                                            ... tory var2);
145                                                                        146 
146    @Override                                                           147    @Override
147    protected void applyImplicitComponents(BlockEntity.DataComponentInp 148    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
148       super.applyImplicitComponents($$0);                              149       super.applyImplicitComponents($$0);
149       this.name = $$0.get(DataComponents.CUSTOM_NAME);                 150       this.name = $$0.get(DataComponents.CUSTOM_NAME);
150       this.lockKey = $$0.getOrDefault(DataComponents.LOCK, LockCode.NO 151       this.lockKey = $$0.getOrDefault(DataComponents.LOCK, LockCode.NO
    _LOCK);                                                                    _LOCK);

net/minecraft/world/level/block/BlockTypes.java --- Java
218       Registry.register($$0, "tall_grass", TallGrassBlock.CODEC);      218       Registry.register($$0, "tall_grass", TallGrassBlock.CODEC);
219       Registry.register($$0, "tall_seagrass", TallSeagrassBlock.CODEC) 219       Registry.register($$0, "tall_seagrass", TallSeagrassBlock.CODEC)
... ;                                                                      ... ;
220       Registry.register($$0, "target", TargetBlock.CODEC);             220       Registry.register($$0, "target", TargetBlock.CODEC);
...                                                                        221       Registry.register($$0, "test", TestBlock.CODEC);
...                                                                        222       Registry.register($$0, "test_instance", TestInstanceBlock.CODEC)
...                                                                        ... ;
221       Registry.register($$0, "tinted_glass", TintedGlassBlock.CODEC);  223       Registry.register($$0, "tinted_glass", TintedGlassBlock.CODEC);
222       Registry.register($$0, "tnt", TntBlock.CODEC);                   224       Registry.register($$0, "tnt", TntBlock.CODEC);
223       Registry.register($$0, "torchflower_crop", TorchflowerCropBlock. 225       Registry.register($$0, "torchflower_crop", TorchflowerCropBlock.
    CODEC);                                                                    CODEC);

net/minecraft/client/model/PigModel.java --- Java
21       super($$0);                                                       21       super($$0);
22    }                                                                    22    }
23                                                                         .. 
24    public static LayerDefinition createSaddleLayer(CubeDeformation $$0) .. 
..  {                                                                      .. 
25       return LayerDefinition.create(createBasePigModel($$0), 64, 32);   .. 
26    }                                                                    .. 
27                                                                         23 
28    public static LayerDefinition createBodyLayer(CubeDeformation $$0) { 24    public static LayerDefinition createBodyLayer(CubeDeformation $$0) {
29       return LayerDefinition.create(createBasePigModel($$0), 64, 64);   25       return LayerDefinition.create(createBasePigModel($$0), 64, 64);

net/minecraft/world/item/alchemy/PotionContents.java --- 1/3 --- Java
170                                                                        170 
171       for (MobEffectInstance $$6 : $$0) {                              171       for (MobEffectInstance $$6 : $$0) {
172          $$5 = false;                                                  172          $$5 = false;
173          MutableComponent $$7 = Component.translatable($$6.getDescript 173          Holder<MobEffect> $$7 = $$6.getEffect();
... ionId());                                                              ... 
174          Holder<MobEffect> $$8 = $$6.getEffect();                      174          int $$8 = $$6.getAmplifier();
175          $$8.value().createModifiers($$6.getAmplifier(), ($$1x, $$2x)  175          $$7.value().createModifiers($$8, ($$1x, $$2x) -> $$4.add(new 
... -> $$4.add(new Pair<>($$1x, $$2x)));                                   ... Pair<>($$1x, $$2x)));
176          if ($$6.getAmplifier() > 0) {                                 ... 
177             $$7 = Component.translatable("potion.withAmplifier", $$7,  176          MutableComponent $$9 = getPotionDescription($$7, $$8);
... Component.translatable("potion.potency." + $$6.getAmplifier()));       ... 
178          }                                                             ... 
179                                                                        ... 
180          if (!$$6.endsWithin(20)) {                                    177          if (!$$6.endsWithin(20)) {
181             $$7 = Component.translatable("potion.withDuration", $$7, M 178             $$9 = Component.translatable("potion.withDuration", $$9, M
... obEffectUtil.formatDuration($$6, $$2, $$3));                           ... obEffectUtil.formatDuration($$6, $$2, $$3));
182          }                                                             179          }
183                                                                        180 
184          $$1.accept($$7.withStyle($$8.value().getCategory().getTooltip 181          $$1.accept($$9.withStyle($$7.value().getCategory().getTooltip
... Formatting()));                                                        ... Formatting()));
185       }                                                                182       }
186                                                                        183 
187       if ($$5) {                                                       184       if ($$5) {

net/minecraft/world/item/alchemy/PotionContents.java --- 2/3 --- Java
192          $$1.accept(CommonComponents.EMPTY);                           189          $$1.accept(CommonComponents.EMPTY);
193          $$1.accept(Component.translatable("potion.whenDrank").withSty 190          $$1.accept(Component.translatable("potion.whenDrank").withSty
... le(ChatFormatting.DARK_PURPLE));                                       ... le(ChatFormatting.DARK_PURPLE));
194                                                                        191 
195          for (Pair<Holder<Attribute>, AttributeModifier> $$9 : $$4) {  192          for (Pair<Holder<Attribute>, AttributeModifier> $$10 : $$4) {
196             AttributeModifier $$10 = $$9.getSecond();                  193             AttributeModifier $$11 = $$10.getSecond();
197             double $$11 = $$10.amount();                               194             double $$12 = $$11.amount();
198             double $$13;                                               195             double $$14;
199             if ($$10.operation() != AttributeModifier.Operation.ADD_MU 196             if ($$11.operation() != AttributeModifier.Operation.ADD_MU
... LTIPLIED_BASE && $$10.operation() != AttributeModifier.Operation.ADD_M ... LTIPLIED_BASE && $$11.operation() != AttributeModifier.Operation.ADD_M
... ULTIPLIED_TOTAL) {                                                     ... ULTIPLIED_TOTAL) {
200                $$13 = $$10.amount();                                   197                $$14 = $$11.amount();
201             } else {                                                   198             } else {
202                $$13 = $$10.amount() * 100.0;                           199                $$14 = $$11.amount() * 100.0;
203             }                                                          200             }
204                                                                        201 
205             if ($$11 > 0.0) {                                          202             if ($$12 > 0.0) {
206                $$1.accept(                                             203                $$1.accept(
207                   Component.translatable(                              204                   Component.translatable(
208                         "attribute.modifier.plus." + $$10.operation(). 205                         "attribute.modifier.plus." + $$11.operation().
... id(),                                                                  ... id(),
209                         ItemAttributeModifiers.ATTRIBUTE_MODIFIER_FORM 206                         ItemAttributeModifiers.ATTRIBUTE_MODIFIER_FORM
... AT.format($$13),                                                       ... AT.format($$14),
210                         Component.translatable($$9.getFirst().value(). 207                         Component.translatable($$10.getFirst().value()
... getDescriptionId())                                                    ... .getDescriptionId())
211                      )                                                 208                      )
212                      .withStyle(ChatFormatting.BLUE)                   209                      .withStyle(ChatFormatting.BLUE)
213                );                                                      210                );
214             } else if ($$11 < 0.0) {                                   211             } else if ($$12 < 0.0) {
215                $$13 *= -1.0;                                           212                $$14 *= -1.0;
216                $$1.accept(                                             213                $$1.accept(
217                   Component.translatable(                              214                   Component.translatable(
218                         "attribute.modifier.take." + $$10.operation(). 215                         "attribute.modifier.take." + $$11.operation().
... id(),                                                                  ... id(),
219                         ItemAttributeModifiers.ATTRIBUTE_MODIFIER_FORM 216                         ItemAttributeModifiers.ATTRIBUTE_MODIFIER_FORM
... AT.format($$13),                                                       ... AT.format($$14),
220                         Component.translatable($$9.getFirst().value(). 217                         Component.translatable($$10.getFirst().value()
... getDescriptionId())                                                    ... .getDescriptionId())
221                      )                                                 218                      )
222                      .withStyle(ChatFormatting.RED)                    219                      .withStyle(ChatFormatting.RED)
223                );                                                      220                );

net/minecraft/world/item/alchemy/PotionContents.java --- 3/3 --- Java
226       }                                                                223       }
227    }                                                                   224    }
...                                                                        225 
...                                                                        226    public static MutableComponent getPotionDescription(Holder<MobEffec
...                                                                        ... t> $$0, int $$1) {
...                                                                        227       MutableComponent $$2 = Component.translatable($$0.value().getDes
...                                                                        ... criptionId());
...                                                                        228       return $$1 > 0 ? Component.translatable("potion.withAmplifier", 
...                                                                        ... $$2, Component.translatable("potion.potency." + $$1)) : $$2;
...                                                                        229    }
228                                                                        230 
229    @Override                                                           231    @Override
230    public void onConsume(Level $$0, LivingEntity $$1, ItemStack $$2, C 232    public void onConsume(Level $$0, LivingEntity $$1, ItemStack $$2, C
    onsumable $$3) {                                                           onsumable $$3) {

net/minecraft/nbt/NbtUtils.java --- 1/2 --- Java
25 import net.minecraft.core.Holder;                                       25 import net.minecraft.core.Holder;
26 import net.minecraft.core.HolderGetter;                                 26 import net.minecraft.core.HolderGetter;
27 import net.minecraft.core.UUIDUtil;                                     27 import net.minecraft.core.UUIDUtil;
..                                                                         28 import net.minecraft.core.Vec3i;
28 import net.minecraft.core.registries.BuiltInRegistries;                 29 import net.minecraft.core.registries.BuiltInRegistries;
29 import net.minecraft.core.registries.Registries;                        30 import net.minecraft.core.registries.Registries;
30 import net.minecraft.network.chat.Component;                            31 import net.minecraft.network.chat.Component;

net/minecraft/nbt/NbtUtils.java --- 2/2 --- Java
139       return $$2.length == 3 ? Optional.of(new BlockPos($$2[0], $$2[1] 140       return $$2.length == 3 ? Optional.of(new BlockPos($$2[0], $$2[1]
... , $$2[2])) : Optional.empty();                                         ... , $$2[2])) : Optional.empty();
140    }                                                                   141    }
141                                                                        142 
142    public static Tag writeBlockPos(BlockPos $$0) {                     143    public static Tag writeBlockPos(BlockPos $$0) {
...                                                                        144       return writeVec3i($$0);
...                                                                        145    }
...                                                                        146 
...                                                                        147    public static Tag writeVec3i(Vec3i $$0) {
143       return new IntArrayTag(new int[]{$$0.getX(), $$0.getY(), $$0.get 148       return new IntArrayTag(new int[]{$$0.getX(), $$0.getY(), $$0.get
... Z()});                                                                 ... Z()});
144    }                                                                   149    }
145                                                                        150 

net/minecraft/client/renderer/entity/StriderRenderer.java --- 1/3 --- Java
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 5 import net.minecraft.client.model.StriderModel;                          5 import net.minecraft.client.model.StriderModel;
 6 import net.minecraft.client.model.geom.ModelLayers;                      6 import net.minecraft.client.model.geom.ModelLayers;
 7 import net.minecraft.client.renderer.entity.layers.SaddleLayer;          7 import net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer
 .                                                                          . ;
 8 import net.minecraft.client.renderer.entity.state.StriderRenderState;    8 import net.minecraft.client.renderer.entity.state.StriderRenderState;
 .                                                                          9 import net.minecraft.client.resources.model.EquipmentClientInfo;
 9 import net.minecraft.resources.ResourceLocation;                        10 import net.minecraft.resources.ResourceLocation;
 .                                                                         11 import net.minecraft.world.entity.EquipmentSlot;
10 import net.minecraft.world.entity.monster.Strider;                      12 import net.minecraft.world.entity.monster.Strider;
11                                                                         13 
12 @Environment(EnvType.CLIENT)                                            14 @Environment(EnvType.CLIENT)

net/minecraft/client/renderer/entity/StriderRenderer.java --- 2/3 --- Java
18    public StriderRenderer(EntityRendererProvider.Context $$0) {         20    public StriderRenderer(EntityRendererProvider.Context $$0) {
19       super($$0, new StriderModel($$0.bakeLayer(ModelLayers.STRIDER)),  21       super($$0, new StriderModel($$0.bakeLayer(ModelLayers.STRIDER)), 
.. new StriderModel($$0.bakeLayer(ModelLayers.STRIDER_BABY)), 0.5F);       .. new StriderModel($$0.bakeLayer(ModelLayers.STRIDER_BABY)), 0.5F);
20       this.addLayer(                                                    22       this.addLayer(
21          new SaddleLayer<>(                                             23          new SimpleEquipmentLayer<>(
22             this,                                                       24             this,
..                                                                         25             $$0.getEquipmentRenderer(),
..                                                                         26             EquipmentClientInfo.LayerType.STRIDER_SADDLE,
..                                                                         27             $$0x -> $$0x.saddle,
23             new StriderModel($$0.bakeLayer(ModelLayers.STRIDER_SADDLE)) 28             new StriderModel($$0.bakeLayer(ModelLayers.STRIDER_SADDLE))
.. ,                                                                       .. ,
24             new StriderModel($$0.bakeLayer(ModelLayers.STRIDER_BABY_SAD 29             new StriderModel($$0.bakeLayer(ModelLayers.STRIDER_BABY_SAD
.. DLE)),                                                                  .. DLE))
25             ResourceLocation.withDefaultNamespace("textures/entity/stri .. 
.. der/strider_saddle.png")                                                .. 
26          )                                                              30          )
27       );                                                                31       );
28    }                                                                    32    }

net/minecraft/client/renderer/entity/StriderRenderer.java --- 3/3 --- Java
42                                                                         46 
43    public void extractRenderState(Strider $$0, StriderRenderState $$1,  47    public void extractRenderState(Strider $$0, StriderRenderState $$1, 
.. float $$2) {                                                            .. float $$2) {
44       super.extractRenderState($$0, $$1, $$2);                          48       super.extractRenderState($$0, $$1, $$2);
45       $$1.isSaddled = $$0.isSaddled();                                  49       $$1.saddle = $$0.getItemBySlot(EquipmentSlot.SADDLE).copy();
46       $$1.isSuffocating = $$0.isSuffocating();                          50       $$1.isSuffocating = $$0.isSuffocating();
47       $$1.isRidden = $$0.isVehicle();                                   51       $$1.isRidden = $$0.isVehicle();
48    }                                                                    52    }

net/minecraft/commands/synchronization/ArgumentTypeInfos.java --- 1/4 --- Java
10 import com.mojang.brigadier.arguments.StringArgumentType;               10 import com.mojang.brigadier.arguments.StringArgumentType;
11 import java.util.Locale;                                                11 import java.util.Locale;
12 import java.util.Map;                                                   12 import java.util.Map;
13 import net.minecraft.SharedConstants;                                   .. 
14 import net.minecraft.commands.arguments.AngleArgument;                  13 import net.minecraft.commands.arguments.AngleArgument;
15 import net.minecraft.commands.arguments.ColorArgument;                  14 import net.minecraft.commands.arguments.ColorArgument;
16 import net.minecraft.commands.arguments.ComponentArgument;              15 import net.minecraft.commands.arguments.ComponentArgument;

net/minecraft/commands/synchronization/ArgumentTypeInfos.java --- 2/4 --- Java
35 import net.minecraft.commands.arguments.ResourceOrIdArgument;           34 import net.minecraft.commands.arguments.ResourceOrIdArgument;
36 import net.minecraft.commands.arguments.ResourceOrTagArgument;          35 import net.minecraft.commands.arguments.ResourceOrTagArgument;
37 import net.minecraft.commands.arguments.ResourceOrTagKeyArgument;       36 import net.minecraft.commands.arguments.ResourceOrTagKeyArgument;
..                                                                         37 import net.minecraft.commands.arguments.ResourceSelectorArgument;
38 import net.minecraft.commands.arguments.ScoreHolderArgument;            38 import net.minecraft.commands.arguments.ScoreHolderArgument;
39 import net.minecraft.commands.arguments.ScoreboardSlotArgument;         39 import net.minecraft.commands.arguments.ScoreboardSlotArgument;
40 import net.minecraft.commands.arguments.SlotArgument;                   40 import net.minecraft.commands.arguments.SlotArgument;

net/minecraft/commands/synchronization/ArgumentTypeInfos.java --- 3/4 --- Java
62 import net.minecraft.commands.synchronization.brigadier.LongArgumentInf 62 import net.minecraft.commands.synchronization.brigadier.LongArgumentInf
.. o;                                                                      .. o;
63 import net.minecraft.commands.synchronization.brigadier.StringArgumentS 63 import net.minecraft.commands.synchronization.brigadier.StringArgumentS
.. erializer;                                                              .. erializer;
64 import net.minecraft.core.Registry;                                     64 import net.minecraft.core.Registry;
65 import net.minecraft.gametest.framework.TestClassNameArgument;          .. 
66 import net.minecraft.gametest.framework.TestFunctionArgument;           .. 
67                                                                         65 
68 public class ArgumentTypeInfos {                                        66 public class ArgumentTypeInfos {
69    private static final Map<Class<?>, ArgumentTypeInfo<?, ?>> BY_CLASS  67    private static final Map<Class<?>, ArgumentTypeInfo<?, ?>> BY_CLASS 
   = Maps.newHashMap();                                                       = Maps.newHashMap();

net/minecraft/commands/synchronization/ArgumentTypeInfos.java --- 4/4 --- Java
123       register($$0, "resource_or_tag_key", fixClassType(ResourceOrTagK 121       register($$0, "resource_or_tag_key", fixClassType(ResourceOrTagK
... eyArgument.class), new ResourceOrTagKeyArgument.Info());               ... eyArgument.class), new ResourceOrTagKeyArgument.Info());
124       register($$0, "resource", fixClassType(ResourceArgument.class),  122       register($$0, "resource", fixClassType(ResourceArgument.class), 
... new ResourceArgument.Info());                                          ... new ResourceArgument.Info());
125       register($$0, "resource_key", fixClassType(ResourceKeyArgument.c 123       register($$0, "resource_key", fixClassType(ResourceKeyArgument.c
... lass), new ResourceKeyArgument.Info());                                ... lass), new ResourceKeyArgument.Info());
...                                                                        124       register($$0, "resource_selector", fixClassType(ResourceSelector
...                                                                        ... Argument.class), new ResourceSelectorArgument.Info());
126       register($$0, "template_mirror", TemplateMirrorArgument.class, S 125       register($$0, "template_mirror", TemplateMirrorArgument.class, S
... ingletonArgumentInfo.contextFree(TemplateMirrorArgument::templateMirro ... ingletonArgumentInfo.contextFree(TemplateMirrorArgument::templateMirro
... r));                                                                   ... r));
127       register($$0, "template_rotation", TemplateRotationArgument.clas 126       register($$0, "template_rotation", TemplateRotationArgument.clas
... s, SingletonArgumentInfo.contextFree(TemplateRotationArgument::templat ... s, SingletonArgumentInfo.contextFree(TemplateRotationArgument::templat
... eRotation));                                                           ... eRotation));
128       register($$0, "heightmap", HeightmapTypeArgument.class, Singleto 127       register($$0, "heightmap", HeightmapTypeArgument.class, Singleto
... nArgumentInfo.contextFree(HeightmapTypeArgument::heightmap));          ... nArgumentInfo.contextFree(HeightmapTypeArgument::heightmap));
129       register($$0, "loot_table", ResourceOrIdArgument.LootTableArgume 128       register($$0, "loot_table", ResourceOrIdArgument.LootTableArgume
... nt.class, SingletonArgumentInfo.contextAware(ResourceOrIdArgument::loo ... nt.class, SingletonArgumentInfo.contextAware(ResourceOrIdArgument::loo
... tTable));                                                              ... tTable));
130       register($$0, "loot_predicate", ResourceOrIdArgument.LootPredica 129       register($$0, "loot_predicate", ResourceOrIdArgument.LootPredica
... teArgument.class, SingletonArgumentInfo.contextAware(ResourceOrIdArgum ... teArgument.class, SingletonArgumentInfo.contextAware(ResourceOrIdArgum
... ent::lootPredicate));                                                  ... ent::lootPredicate));
131       register($$0, "loot_modifier", ResourceOrIdArgument.LootModifier 130       register($$0, "loot_modifier", ResourceOrIdArgument.LootModifier
... Argument.class, SingletonArgumentInfo.contextAware(ResourceOrIdArgumen ... Argument.class, SingletonArgumentInfo.contextAware(ResourceOrIdArgumen
... t::lootModifier));                                                     ... t::lootModifier));
132       if (SharedConstants.IS_RUNNING_IN_IDE) {                         ... 
133          register($$0, "test_argument", TestFunctionArgument.class, Si ... 
... ngletonArgumentInfo.contextFree(TestFunctionArgument::testFunctionArgu ... 
... ment));                                                                ... 
134          register($$0, "test_class", TestClassNameArgument.class, Sing ... 
... letonArgumentInfo.contextFree(TestClassNameArgument::testClassName));  ... 
135       }                                                                ... 
136                                                                        ... 
137       return register($$0, "uuid", UuidArgument.class, SingletonArgume 131       return register($$0, "uuid", UuidArgument.class, SingletonArgume
... ntInfo.contextFree(UuidArgument::uuid));                               ... ntInfo.contextFree(UuidArgument::uuid));
138    }                                                                   132    }

net/minecraft/world/level/block/SnifferEggBlock.java --- Java
73          if ($$4 != null) {                                             73          if ($$4 != null) {
74             Vec3 $$5 = $$2.getCenter();                                 74             Vec3 $$5 = $$2.getCenter();
75             $$4.setBaby(true);                                          75             $$4.setBaby(true);
76             $$4.moveTo($$5.x(), $$5.y(), $$5.z(), Mth.wrapDegrees($$1.r 76             $$4.snapTo($$5.x(), $$5.y(), $$5.z(), Mth.wrapDegrees($$1.r
.. andom.nextFloat() * 360.0F), 0.0F);                                     .. andom.nextFloat() * 360.0F), 0.0F);
77             $$1.addFreshEntity($$4);                                    77             $$1.addFreshEntity($$4);
78          }                                                              78          }
79       }                                                                 79       }

net/minecraft/client/renderer/entity/DonkeyRenderer.java --- 1/2 --- Java
 3 import net.fabricmc.api.EnvType;                                         3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 5 import net.minecraft.client.model.DonkeyModel;                           5 import net.minecraft.client.model.DonkeyModel;
 .                                                                          6 import net.minecraft.client.model.EquineSaddleModel;
 6 import net.minecraft.client.model.geom.ModelLayerLocation;               7 import net.minecraft.client.model.geom.ModelLayerLocation;
 .                                                                          8 import net.minecraft.client.model.geom.ModelLayers;
 .                                                                          9 import net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer
 .                                                                          . ;
 7 import net.minecraft.client.renderer.entity.state.DonkeyRenderState;    10 import net.minecraft.client.renderer.entity.state.DonkeyRenderState;
 .                                                                         11 import net.minecraft.client.resources.model.EquipmentClientInfo;
 8 import net.minecraft.resources.ResourceLocation;                        12 import net.minecraft.resources.ResourceLocation;
 9 import net.minecraft.world.entity.animal.horse.AbstractChestedHorse;    13 import net.minecraft.world.entity.animal.horse.AbstractChestedHorse;
10                                                                         14 
11 @Environment(EnvType.CLIENT)                                            15 @Environment(EnvType.CLIENT)
12 public class DonkeyRenderer<T extends AbstractChestedHorse> extends Abs 16 public class DonkeyRenderer<T extends AbstractChestedHorse> extends Abs
.. tractHorseRenderer<T, DonkeyRenderState, DonkeyModel> {                 .. tractHorseRenderer<T, DonkeyRenderState, DonkeyModel> {
13    public static final ResourceLocation DONKEY_TEXTURE = ResourceLocati .. 
.. on.withDefaultNamespace("textures/entity/horse/donkey.png");            .. 
14    public static final ResourceLocation MULE_TEXTURE = ResourceLocation .. 
.. .withDefaultNamespace("textures/entity/horse/mule.png");                .. 
15    private final ResourceLocation texture;                              17    private final ResourceLocation texture;
16                                                                         18 
17    public DonkeyRenderer(EntityRendererProvider.Context $$0, ModelLayer 19    public DonkeyRenderer(EntityRendererProvider.Context $$0, DonkeyRend
.. Location $$1, ModelLayerLocation $$2, boolean $$3) {                    .. erer.Type $$1) {
18       super($$0, new DonkeyModel($$0.bakeLayer($$1)), new DonkeyModel($ 20       super($$0, new DonkeyModel($$0.bakeLayer($$1.model)), new DonkeyM
.. $0.bakeLayer($$2)));                                                    .. odel($$0.bakeLayer($$1.babyModel)));
19       this.texture = $$3 ? MULE_TEXTURE : DONKEY_TEXTURE;               21       this.texture = $$1.texture;
..                                                                         22       this.addLayer(
..                                                                         23          new SimpleEquipmentLayer<>(
..                                                                         24             this,
..                                                                         25             $$0.getEquipmentRenderer(),
..                                                                         26             $$1.saddleLayer,
..                                                                         27             $$0x -> $$0x.saddle,
..                                                                         28             new EquineSaddleModel($$0.bakeLayer($$1.saddleModel)),
..                                                                         29             new EquineSaddleModel($$0.bakeLayer($$1.babySaddleModel))
..                                                                         30          )
..                                                                         31       );
20    }                                                                    32    }
21                                                                         33 
22    public ResourceLocation getTextureLocation(DonkeyRenderState $$0) {  34    public ResourceLocation getTextureLocation(DonkeyRenderState $$0) {

net/minecraft/client/renderer/entity/DonkeyRenderer.java --- 2/2 --- Java
32       $$1.hasChest = $$0.hasChest();                                    44       $$1.hasChest = $$0.hasChest();
33    }                                                                    45    }
..                                                                         46 
..                                                                         47    @Environment(EnvType.CLIENT)
..                                                                         48    public static enum Type {
..                                                                         49       DONKEY(
..                                                                         50          ResourceLocation.withDefaultNamespace("textures/entity/horse/d
..                                                                         .. onkey.png"),
..                                                                         51          ModelLayers.DONKEY,
..                                                                         52          ModelLayers.DONKEY_BABY,
..                                                                         53          EquipmentClientInfo.LayerType.DONKEY_SADDLE,
..                                                                         54          ModelLayers.DONKEY_SADDLE,
..                                                                         55          ModelLayers.DONKEY_BABY_SADDLE
..                                                                         56       ),
..                                                                         57       MULE(
..                                                                         58          ResourceLocation.withDefaultNamespace("textures/entity/horse/m
..                                                                         .. ule.png"),
..                                                                         59          ModelLayers.MULE,
..                                                                         60          ModelLayers.MULE_BABY,
..                                                                         61          EquipmentClientInfo.LayerType.MULE_SADDLE,
..                                                                         62          ModelLayers.MULE_SADDLE,
..                                                                         63          ModelLayers.MULE_BABY_SADDLE
..                                                                         64       );
..                                                                         65 
..                                                                         66       final ResourceLocation texture;
..                                                                         67       final ModelLayerLocation model;
..                                                                         68       final ModelLayerLocation babyModel;
..                                                                         69       final EquipmentClientInfo.LayerType saddleLayer;
..                                                                         70       final ModelLayerLocation saddleModel;
..                                                                         71       final ModelLayerLocation babySaddleModel;
..                                                                         72 
..                                                                         73       private Type(
..                                                                         74          final ResourceLocation $$0,
..                                                                         75          final ModelLayerLocation $$1,
..                                                                         76          final ModelLayerLocation $$2,
..                                                                         77          final EquipmentClientInfo.LayerType $$3,
..                                                                         78          final ModelLayerLocation $$4,
..                                                                         79          final ModelLayerLocation $$5
..                                                                         80       ) {
..                                                                         81          this.texture = $$0;
..                                                                         82          this.model = $$1;
..                                                                         83          this.babyModel = $$2;
..                                                                         84          this.saddleLayer = $$3;
..                                                                         85          this.saddleModel = $$4;
..                                                                         86          this.babySaddleModel = $$5;
..                                                                         87       }
..                                                                         88    }
34 }                                                                       89 }

net/minecraft/world/entity/ai/village/VillageSiege.java --- Java
104             return;                                                    104             return;
105          }                                                             105          }
106                                                                        106 
107          $$2.moveTo($$1.x, $$1.y, $$1.z, $$0.random.nextFloat() * 360. 107          $$2.snapTo($$1.x, $$1.y, $$1.z, $$0.random.nextFloat() * 360.
... 0F, 0.0F);                                                             ... 0F, 0.0F);
108          $$0.addFreshEntityWithPassengers($$2);                        108          $$0.addFreshEntityWithPassengers($$2);
109       }                                                                109       }
110    }                                                                   110    }

net/minecraft/client/gui/screens/inventory/TestBlockEditScreen.java --- Java
 1 package net.minecraft.client.gui.screens.inventory;
 2 
 3 import java.util.List;
 4 import javax.annotation.Nullable;
 5 import net.fabricmc.api.EnvType;
 6 import net.fabricmc.api.Environment;
 7 import net.minecraft.client.gui.GuiGraphics;
 8 import net.minecraft.client.gui.components.Button;
 9 import net.minecraft.client.gui.components.CycleButton;
10 import net.minecraft.client.gui.components.EditBox;
11 import net.minecraft.client.gui.screens.Screen;
12 import net.minecraft.core.BlockPos;
13 import net.minecraft.network.chat.CommonComponents;
14 import net.minecraft.network.chat.Component;
15 import net.minecraft.network.protocol.game.ServerboundSetTestBlockPacket;
16 import net.minecraft.world.level.block.Blocks;
17 import net.minecraft.world.level.block.entity.TestBlockEntity;
18 import net.minecraft.world.level.block.state.properties.TestBlockMode;
19 
20 @Environment(EnvType.CLIENT)
21 public class TestBlockEditScreen extends Screen {
22    private static final List<TestBlockMode> MODES = List.of(TestBlockMode.values());
23    private static final Component TITLE = Component.translatable(Blocks.TEST_BLOCK.getDescriptionId());
24    private static final Component MESSAGE_LABEL = Component.translatable("test_block.message");
25    private final BlockPos position;
26    private TestBlockMode mode;
27    private String message;
28    @Nullable
29    private EditBox messageEdit;
30 
31    public TestBlockEditScreen(TestBlockEntity $$0) {
32       super(TITLE);
33       this.position = $$0.getBlockPos();
34       this.mode = $$0.getMode();
35       this.message = $$0.getMessage();
36    }
37 
38    @Override
39    public void init() {
40       this.addRenderableWidget(Button.builder(CommonComponents.GUI_DONE, $$0 -> this.onDone()).bounds(this.width / 2 - 4 - 150, 210, 150, 20).build());
41       this.addRenderableWidget(Button.builder(CommonComponents.GUI_CANCEL, $$0 -> this.onCancel()).bounds(this.width / 2 + 4, 210, 150, 20).build());
42       this.addRenderableWidget(
43          CycleButton.builder(TestBlockMode::getDisplayName)
44             .withValues(MODES)
45             .displayOnlyValue()
46             .withInitialValue(this.mode)
47             .create(this.width / 2 - 4 - 150, 185, 50, 20, TITLE, ($$0, $$1) -> this.updateMode($$1))
48       );
49       this.messageEdit = new EditBox(this.font, this.width / 2 - 152, 80, 240, 20, Component.translatable("test_block.message"));
50       this.messageEdit.setMaxLength(128);
51       this.messageEdit.setValue(this.message);
52       this.addRenderableWidget(this.messageEdit);
53       this.setInitialFocus(this.messageEdit);
54       this.updateMode(this.mode);
55    }
56 
57    @Override
58    public void render(GuiGraphics $$0, int $$1, int $$2, float $$3) {
59       super.render($$0, $$1, $$2, $$3);
60       $$0.drawCenteredString(this.font, this.title, this.width / 2, 10, 16777215);
61       $$0.drawString(this.font, MESSAGE_LABEL, this.width / 2 - 153, 70, 10526880);
62       $$0.drawString(this.font, this.mode.getDetailedMessage(), this.width / 2 - 153, 174, 10526880);
63    }
64 
65    @Override
66    public boolean isPauseScreen() {
67       return false;
68    }
69 
70    private void onDone() {
71       this.message = this.messageEdit.getValue();
72       this.minecraft.getConnection().send(new ServerboundSetTestBlockPacket(this.position, this.mode, this.message));
73       this.onClose();
74    }
75 
76    @Override
77    public void onClose() {
78       this.onCancel();
79    }
80 
81    private void onCancel() {
82       this.minecraft.setScreen(null);
83    }
84 
85    private void updateMode(TestBlockMode $$0) {
86       this.mode = $$0;
87       this.messageEdit.visible = $$0 != TestBlockMode.START;
88    }
89 }
90 

net/minecraft/server/commands/InCommandFunction.java --- Java
 1 package net.minecraft.server.commands;
 2 
 3 import com.mojang.brigadier.exceptions.CommandSyntaxException;
 4 
 5 @FunctionalInterface
 6 public interface InCommandFunction<T, R> {
 7    R apply(T var1) throws CommandSyntaxException;
 8 }
 9 

net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java --- Java
282    }                                                                   282    }
283                                                                        283 
284    @Override                                                           284    @Override
285    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 285    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
286       this.finalTick();                                                286       this.finalTick();
287    }                                                                   287    }
288                                                                        288 

net/minecraft/client/multiplayer/ClientPacketListener.java --- 1/5 --- Java
44 import net.minecraft.client.gui.screens.inventory.CommandBlockEditScree 44 import net.minecraft.client.gui.screens.inventory.CommandBlockEditScree
.. n;                                                                      .. n;
45 import net.minecraft.client.gui.screens.inventory.CreativeModeInventory 45 import net.minecraft.client.gui.screens.inventory.CreativeModeInventory
.. Screen;                                                                 .. Screen;
46 import net.minecraft.client.gui.screens.inventory.HorseInventoryScreen; 46 import net.minecraft.client.gui.screens.inventory.HorseInventoryScreen;
..                                                                         47 import net.minecraft.client.gui.screens.inventory.TestInstanceBlockEdit
..                                                                         .. Screen;
47 import net.minecraft.client.gui.screens.multiplayer.ServerReconfigScree 48 import net.minecraft.client.gui.screens.multiplayer.ServerReconfigScree
.. n;                                                                      .. n;
48 import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener 49 import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener
.. ;                                                                       .. ;
49 import net.minecraft.client.particle.ItemPickupParticle;                50 import net.minecraft.client.particle.ItemPickupParticle;

net/minecraft/client/multiplayer/ClientPacketListener.java --- 2/5 --- Java
221 import net.minecraft.network.protocol.game.ClientboundTagQueryPacket;  222 import net.minecraft.network.protocol.game.ClientboundTagQueryPacket;
222 import net.minecraft.network.protocol.game.ClientboundTakeItemEntityPa 223 import net.minecraft.network.protocol.game.ClientboundTakeItemEntityPa
... cket;                                                                  ... cket;
223 import net.minecraft.network.protocol.game.ClientboundTeleportEntityPa 224 import net.minecraft.network.protocol.game.ClientboundTeleportEntityPa
... cket;                                                                  ... cket;
...                                                                        225 import net.minecraft.network.protocol.game.ClientboundTestInstanceBloc
...                                                                        ... kStatus;
224 import net.minecraft.network.protocol.game.ClientboundTickingStatePack 226 import net.minecraft.network.protocol.game.ClientboundTickingStatePack
... et;                                                                    ... et;
225 import net.minecraft.network.protocol.game.ClientboundTickingStepPacke 227 import net.minecraft.network.protocol.game.ClientboundTickingStepPacke
... t;                                                                     ... t;
226 import net.minecraft.network.protocol.game.ClientboundUpdateAdvancemen 228 import net.minecraft.network.protocol.game.ClientboundUpdateAdvancemen
    tsPacket;                                                                  tsPacket;

net/minecraft/client/multiplayer/ClientPacketListener.java --- 3/5 --- Java
552             if (this.level.isTickingEntity($$1) && !$$5) {             554             if (this.level.isTickingEntity($$1) && !$$5) {
553                $$1.moveOrInterpolateTo($$2, $$3, $$4);                 555                $$1.moveOrInterpolateTo($$2, $$3, $$4);
554             } else {                                                   556             } else {
555                $$1.moveTo($$2, $$3, $$4);                              557                $$1.snapTo($$2, $$3, $$4);
556             }                                                          558             }
557                                                                        559 
558             if ($$1.isInterpolating() && $$1.hasIndirectPassenger(this 560             if ($$1.isInterpolating() && $$1.hasIndirectPassenger(this
    .minecraft.player)) {                                                      .minecraft.player)) {

net/minecraft/client/multiplayer/ClientPacketListener.java --- 4/5 --- Java
1937                $$1.getInterpolation().cancel();                       1939                $$1.getInterpolation().cancel();
1938             }                                                         1940             }
1939                                                                       1941 
1940             $$1.absMoveTo($$2.x(), $$2.y(), $$2.z(), $$0.yRot(), $$0. 1942             $$1.absSnapTo($$2.x(), $$2.y(), $$2.z(), $$0.yRot(), $$0.
.... xRot());                                                              .... xRot());
1941          }                                                            1943          }
1942                                                                       1944 
1943          this.connection.send(ServerboundMoveVehiclePacket.fromEntity 1945          this.connection.send(ServerboundMoveVehiclePacket.fromEntity
     ($$1));                                                                    ($$1));

net/minecraft/client/multiplayer/ClientPacketListener.java --- 5/5 --- Java
2290       this.pingDebugMonitor.onPongReceived($$0);                      2292       this.pingDebugMonitor.onPongReceived($$0);
2291    }                                                                  2293    }
....                                                                       2294 
....                                                                       2295    @Override
....                                                                       2296    public void handleTestInstanceBlockStatus(ClientboundTestInstanceB
....                                                                       .... lockStatus $$0) {
....                                                                       2297       PacketUtils.ensureRunningOnSameThread($$0, this, this.minecraft
....                                                                       .... );
....                                                                       2298       if (this.minecraft.screen instanceof TestInstanceBlockEditScree
....                                                                       .... n $$1) {
....                                                                       2299          $$1.setStatus($$0.status(), $$0.size());
....                                                                       2300       }
....                                                                       2301    }
2292                                                                       2302 
2293    private void readSectionList(int $$0, int $$1, LevelLightEngine $$ 2303    private void readSectionList(int $$0, int $$1, LevelLightEngine $$
.... 2, LightLayer $$3, BitSet $$4, BitSet $$5, Iterator<byte[]> $$6, bool .... 2, LightLayer $$3, BitSet $$4, BitSet $$5, Iterator<byte[]> $$6, bool
.... ean $$7) {                                                            .... ean $$7) {
2294       for (int $$8 = 0; $$8 < $$2.getLightSectionCount(); $$8++) {    2304       for (int $$8 = 0; $$8 < $$2.getLightSectionCount(); $$8++) {

net/minecraft/client/renderer/entity/state/TropicalFishRenderState.java --- Java
 6                                                                          6 
 7 @Environment(EnvType.CLIENT)                                             7 @Environment(EnvType.CLIENT)
 8 public class TropicalFishRenderState extends LivingEntityRenderState {   8 public class TropicalFishRenderState extends LivingEntityRenderState {
 9    public TropicalFish.Pattern variant = TropicalFish.Pattern.FLOPPER;   9    public TropicalFish.Pattern pattern = TropicalFish.Pattern.FLOPPER;
10    public int baseColor = -1;                                           10    public int baseColor = -1;
11    public int patternColor = -1;                                        11    public int patternColor = -1;
12 }                                                                       12 }

net/minecraft/SharedConstants.java --- 1/2 --- Java
12    @Deprecated                                                          12    @Deprecated
13    public static final boolean SNAPSHOT = true;                         13    public static final boolean SNAPSHOT = true;
14    @Deprecated                                                          14    @Deprecated
15    public static final int WORLD_VERSION = 4298;                        15    public static final int WORLD_VERSION = 4304;
16    @Deprecated                                                          16    @Deprecated
17    public static final String SERIES = "main";                          17    public static final String SERIES = "main";
18    @Deprecated                                                          18    @Deprecated
19    public static final String VERSION_STRING = "25w02a";                19    public static final String VERSION_STRING = "25w03a";
20    @Deprecated                                                          20    @Deprecated
21    public static final int RELEASE_NETWORK_PROTOCOL_VERSION = 770;      21    public static final int RELEASE_NETWORK_PROTOCOL_VERSION = 770;
22    @Deprecated                                                          22    @Deprecated
23    public static final int SNAPSHOT_NETWORK_PROTOCOL_VERSION = 229;     23    public static final int SNAPSHOT_NETWORK_PROTOCOL_VERSION = 230;
24    public static final int SNBT_NAG_VERSION = 4292;                     24    public static final int SNBT_NAG_VERSION = 4292;
25    private static final int SNAPSHOT_PROTOCOL_BIT = 30;                 25    private static final int SNAPSHOT_PROTOCOL_BIT = 30;
26    public static final boolean CRASH_EAGERLY = true;                    26    public static final boolean CRASH_EAGERLY = true;
27    @Deprecated                                                          27    @Deprecated
28    public static final int RESOURCE_PACK_FORMAT = 47;                   28    public static final int RESOURCE_PACK_FORMAT = 48;
29    @Deprecated                                                          29    @Deprecated
30    public static final int DATA_PACK_FORMAT = 62;                       30    public static final int DATA_PACK_FORMAT = 63;
31    @Deprecated                                                          31    @Deprecated
32    public static final int LANGUAGE_FORMAT = 1;                         32    public static final int LANGUAGE_FORMAT = 1;
33    public static final int REPORT_FORMAT_VERSION = 1;                   33    public static final int REPORT_FORMAT_VERSION = 1;

net/minecraft/SharedConstants.java --- 2/2 --- Java
160    }                                                                   160    }
161                                                                        161 
162    public static int getProtocolVersion() {                            162    public static int getProtocolVersion() {
163       return 1073742053;                                               163       return 1073742054;
164    }                                                                   164    }
165                                                                        165 
166    public static boolean debugVoidTerrain(ChunkPos $$0) {              166    public static boolean debugVoidTerrain(ChunkPos $$0) {

net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java --- Java
79                   }                                                     79                   }
80                                                                         80 
81                   DragonFireball $$22 = new DragonFireball($$0, this.dr 81                   DragonFireball $$22 = new DragonFireball($$0, this.dr
.. agon, $$21.normalize());                                                .. agon, $$21.normalize());
82                   $$22.moveTo($$15, $$16, $$17, 0.0F, 0.0F);            82                   $$22.snapTo($$15, $$16, $$17, 0.0F, 0.0F);
83                   $$0.addFreshEntity($$22);                             83                   $$0.addFreshEntity($$22);
84                   this.fireballCharge = 0;                              84                   this.fireballCharge = 0;
85                   if (this.currentPath != null) {                       85                   if (this.currentPath != null) {

net/minecraft/client/renderer/entity/state/VillagerRenderState.java --- Java
 1 package net.minecraft.client.renderer.entity.state;                      1 package net.minecraft.client.renderer.entity.state;
 2                                                                          2 
 .                                                                          3 import javax.annotation.Nullable;
 3 import net.fabricmc.api.EnvType;                                         4 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     5 import net.fabricmc.api.Environment;
 5 import net.minecraft.world.entity.npc.VillagerData;                      6 import net.minecraft.world.entity.npc.VillagerData;
 6 import net.minecraft.world.entity.npc.VillagerProfession;                . 
 7 import net.minecraft.world.entity.npc.VillagerType;                      . 
 8                                                                          7 
 9 @Environment(EnvType.CLIENT)                                             8 @Environment(EnvType.CLIENT)
10 public class VillagerRenderState extends HoldingEntityRenderState imple  9 public class VillagerRenderState extends HoldingEntityRenderState imple
.. ments VillagerDataHolderRenderState {                                    . ments VillagerDataHolderRenderState {
11    public boolean isUnhappy;                                            10    public boolean isUnhappy;
..                                                                         11    @Nullable
12    public VillagerData villagerData = new VillagerData(VillagerType.PLA 12    public VillagerData villagerData;
.. INS, VillagerProfession.NONE, 1);                                       .. 
13                                                                         13 
..                                                                         14    @Nullable
14    @Override                                                            15    @Override
15    public VillagerData getVillagerData() {                              16    public VillagerData getVillagerData() {
16       return this.villagerData;                                         17       return this.villagerData;

net/minecraft/world/level/block/FarmBlock.java --- Java
 98    }                                                                    98    }
 99                                                                         99 
100    @Override                                                           100    @Override
101    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity  101    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity 
... $$3, float $$4) {                                                      ... $$3, double $$4) {
102       if ($$0 instanceof ServerLevel $$5                               102       if ($$0 instanceof ServerLevel $$5
103          && $$0.random.nextFloat() < $$4 - 0.5F                        103          && (double)$$0.random.nextFloat() < $$4 - 0.5
104          && $$3 instanceof LivingEntity                                104          && $$3 instanceof LivingEntity
105          && ($$3 instanceof Player || $$5.getGameRules().getBoolean(Ga 105          && ($$3 instanceof Player || $$5.getGameRules().getBoolean(Ga
... meRules.RULE_MOBGRIEFING))                                             ... meRules.RULE_MOBGRIEFING))
106          && $$3.getBbWidth() * $$3.getBbWidth() * $$3.getBbHeight() >  106          && $$3.getBbWidth() * $$3.getBbWidth() * $$3.getBbHeight() > 
    0.512F) {                                                                  0.512F) {

net/minecraft/network/protocol/game/GamePacketTypes.java --- 1/3 --- Java
35    public static final PacketType<ClientboundDeleteChatPacket> CLIENTBO 35    public static final PacketType<ClientboundDeleteChatPacket> CLIENTBO
.. UND_DELETE_CHAT = createClientbound("delete_chat");                     .. UND_DELETE_CHAT = createClientbound("delete_chat");
36    public static final PacketType<ClientboundDisguisedChatPacket> CLIEN 36    public static final PacketType<ClientboundDisguisedChatPacket> CLIEN
.. TBOUND_DISGUISED_CHAT = createClientbound("disguised_chat");            .. TBOUND_DISGUISED_CHAT = createClientbound("disguised_chat");
37    public static final PacketType<ClientboundEntityEventPacket> CLIENTB 37    public static final PacketType<ClientboundEntityEventPacket> CLIENTB
.. OUND_ENTITY_EVENT = createClientbound("entity_event");                  .. OUND_ENTITY_EVENT = createClientbound("entity_event");
..                                                                         38    public static final PacketType<ClientboundEntityPositionSyncPacket> 
..                                                                         .. CLIENTBOUND_ENTITY_POSITION_SYNC = createClientbound("entity_position_s
..                                                                         .. ync");
38    public static final PacketType<ClientboundExplodePacket> CLIENTBOUND 39    public static final PacketType<ClientboundExplodePacket> CLIENTBOUND
.. _EXPLODE = createClientbound("explode");                                .. _EXPLODE = createClientbound("explode");
39    public static final PacketType<ClientboundForgetLevelChunkPacket> CL 40    public static final PacketType<ClientboundForgetLevelChunkPacket> CL
.. IENTBOUND_FORGET_LEVEL_CHUNK = createClientbound("forget_level_chunk"); .. IENTBOUND_FORGET_LEVEL_CHUNK = createClientbound("forget_level_chunk");
40    public static final PacketType<ClientboundGameEventPacket> CLIENTBOU 41    public static final PacketType<ClientboundGameEventPacket> CLIENTBOU
   ND_GAME_EVENT = createClientbound("game_event");                           ND_GAME_EVENT = createClientbound("game_event");

net/minecraft/network/protocol/game/GamePacketTypes.java --- 2/3 --- Java
117    public static final PacketType<ClientboundTagQueryPacket> CLIENTBOU 118    public static final PacketType<ClientboundTagQueryPacket> CLIENTBOU
... ND_TAG_QUERY = createClientbound("tag_query");                         ... ND_TAG_QUERY = createClientbound("tag_query");
118    public static final PacketType<ClientboundTakeItemEntityPacket> CLI 119    public static final PacketType<ClientboundTakeItemEntityPacket> CLI
... ENTBOUND_TAKE_ITEM_ENTITY = createClientbound("take_item_entity");     ... ENTBOUND_TAKE_ITEM_ENTITY = createClientbound("take_item_entity");
119    public static final PacketType<ClientboundTeleportEntityPacket> CLI 120    public static final PacketType<ClientboundTeleportEntityPacket> CLI
... ENTBOUND_TELEPORT_ENTITY = createClientbound("teleport_entity");       ... ENTBOUND_TELEPORT_ENTITY = createClientbound("teleport_entity");
120    public static final PacketType<ClientboundEntityPositionSyncPacket> 121    public static final PacketType<ClientboundTestInstanceBlockStatus> 
...  CLIENTBOUND_ENTITY_POSITION_SYNC = createClientbound("entity_position ... CLIENTBOUND_TEST_INSTANCE_BLOCK_STATUS = createClientbound("test_insta
... _sync");                                                               ... nce_block_status");
121    public static final PacketType<ClientboundUpdateAdvancementsPacket> 122    public static final PacketType<ClientboundUpdateAdvancementsPacket>
...  CLIENTBOUND_UPDATE_ADVANCEMENTS = createClientbound("update_advanceme ...  CLIENTBOUND_UPDATE_ADVANCEMENTS = createClientbound("update_advanceme
... nts");                                                                 ... nts");
122    public static final PacketType<ClientboundUpdateAttributesPacket> C 123    public static final PacketType<ClientboundUpdateAttributesPacket> C
... LIENTBOUND_UPDATE_ATTRIBUTES = createClientbound("update_attributes"); ... LIENTBOUND_UPDATE_ATTRIBUTES = createClientbound("update_attributes");
123    public static final PacketType<ClientboundUpdateMobEffectPacket> CL 124    public static final PacketType<ClientboundUpdateMobEffectPacket> CL
    IENTBOUND_UPDATE_MOB_EFFECT = createClientbound("update_mob_effect");      IENTBOUND_UPDATE_MOB_EFFECT = createClientbound("update_mob_effect");

net/minecraft/network/protocol/game/GamePacketTypes.java --- 3/3 --- Java
181    public static final PacketType<ServerboundSetCreativeModeSlotPacket 182    public static final PacketType<ServerboundSetCreativeModeSlotPacket
... > SERVERBOUND_SET_CREATIVE_MODE_SLOT = createServerbound("set_creative ... > SERVERBOUND_SET_CREATIVE_MODE_SLOT = createServerbound("set_creative
... _mode_slot");                                                          ... _mode_slot");
182    public static final PacketType<ServerboundSetJigsawBlockPacket> SER 183    public static final PacketType<ServerboundSetJigsawBlockPacket> SER
... VERBOUND_SET_JIGSAW_BLOCK = createServerbound("set_jigsaw_block");     ... VERBOUND_SET_JIGSAW_BLOCK = createServerbound("set_jigsaw_block");
183    public static final PacketType<ServerboundSetStructureBlockPacket>  184    public static final PacketType<ServerboundSetStructureBlockPacket> 
... SERVERBOUND_SET_STRUCTURE_BLOCK = createServerbound("set_structure_blo ... SERVERBOUND_SET_STRUCTURE_BLOCK = createServerbound("set_structure_blo
... ck");                                                                  ... ck");
...                                                                        185    public static final PacketType<ServerboundSetTestBlockPacket> SERVE
...                                                                        ... RBOUND_SET_TEST_BLOCK = createServerbound("set_test_block");
...                                                                        186    public static final PacketType<ServerboundTestInstanceBlockActionPa
...                                                                        ... cket> SERVERBOUND_TEST_INSTANCE_BLOCK_ACTION = createServerbound(
...                                                                        187       "test_instance_block_action"
...                                                                        188    );
184    public static final PacketType<ServerboundSignUpdatePacket> SERVERB 189    public static final PacketType<ServerboundSignUpdatePacket> SERVERB
... OUND_SIGN_UPDATE = createServerbound("sign_update");                   ... OUND_SIGN_UPDATE = createServerbound("sign_update");
185    public static final PacketType<ServerboundSwingPacket> SERVERBOUND_ 190    public static final PacketType<ServerboundSwingPacket> SERVERBOUND_
... SWING = createServerbound("swing");                                    ... SWING = createServerbound("swing");
186    public static final PacketType<ServerboundTeleportToEntityPacket> S 191    public static final PacketType<ServerboundTeleportToEntityPacket> S
    ERVERBOUND_TELEPORT_TO_ENTITY = createServerbound("teleport_to_entity"     ERVERBOUND_TELEPORT_TO_ENTITY = createServerbound("teleport_to_entity"
    );                                                                         );

net/minecraft/world/level/block/HoneyBlock.java --- Java
47    }                                                                    47    }
48                                                                         48 
49    @Override                                                            49    @Override
50    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $ 50    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $
.. $3, float $$4) {                                                        .. $3, double $$4) {
51       $$3.playSound(SoundEvents.HONEY_BLOCK_SLIDE, 1.0F, 1.0F);         51       $$3.playSound(SoundEvents.HONEY_BLOCK_SLIDE, 1.0F, 1.0F);
52       if (!$$0.isClientSide) {                                          52       if (!$$0.isClientSide) {
53          $$0.broadcastEntityEvent($$3, (byte)54);                       53          $$0.broadcastEntityEvent($$3, (byte)54);

net/minecraft/client/gui/screens/inventory/HorseInventoryScreen.java --- Java
35          $$0.blitSprite(RenderType::guiTextured, CHEST_SLOTS_SPRITE, 90 35          $$0.blitSprite(RenderType::guiTextured, CHEST_SLOTS_SPRITE, 90
.. , 54, 0, 0, $$4 + 79, $$5 + 17, this.inventoryColumns * 18, 54);        .. , 54, 0, 0, $$4 + 79, $$5 + 17, this.inventoryColumns * 18, 54);
36       }                                                                 36       }
37                                                                         37 
38       if (this.horse.isSaddleable()) {                                  38       if (this.horse.canUseSlot(EquipmentSlot.SADDLE)) {
39          this.drawSlot($$0, $$4 + 7, $$5 + 35 - 18);                    39          this.drawSlot($$0, $$4 + 7, $$5 + 35 - 18);
40       }                                                                 40       }
41                                                                         41 

net/minecraft/world/item/HangingEntityItem.java --- 1/4 --- Java
 5 import net.minecraft.ChatFormatting;                                     5 import net.minecraft.ChatFormatting;
 6 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.core.Direction;                                     7 import net.minecraft.core.Direction;
 8 import net.minecraft.core.HolderLookup;                                  8 import net.minecraft.core.Holder;
 9 import net.minecraft.core.component.DataComponents;                      9 import net.minecraft.core.component.DataComponents;
10 import net.minecraft.nbt.NbtOps;                                         . 
11 import net.minecraft.network.chat.Component;                            10 import net.minecraft.network.chat.Component;
12 import net.minecraft.world.InteractionResult;                           11 import net.minecraft.world.InteractionResult;
13 import net.minecraft.world.entity.EntityType;                           12 import net.minecraft.world.entity.EntityType;

net/minecraft/world/item/HangingEntityItem.java --- 2/4 --- Java
17 import net.minecraft.world.entity.decoration.Painting;                  16 import net.minecraft.world.entity.decoration.Painting;
18 import net.minecraft.world.entity.decoration.PaintingVariant;           17 import net.minecraft.world.entity.decoration.PaintingVariant;
19 import net.minecraft.world.entity.player.Player;                        18 import net.minecraft.world.entity.player.Player;
20 import net.minecraft.world.item.component.CustomData;                   .. 
21 import net.minecraft.world.item.context.UseOnContext;                   19 import net.minecraft.world.item.context.UseOnContext;
22 import net.minecraft.world.level.Level;                                 20 import net.minecraft.world.level.Level;
23 import net.minecraft.world.level.gameevent.GameEvent;                   21 import net.minecraft.world.level.gameevent.GameEvent;

net/minecraft/world/item/HangingEntityItem.java --- 3/4 --- Java
60             $$8 = new GlowItemFrame($$6, $$3, $$2);                     58             $$8 = new GlowItemFrame($$6, $$3, $$2);
61          }                                                              59          }
62                                                                         60 
63          CustomData $$12 = $$5.getOrDefault(DataComponents.ENTITY_DATA, .. 
..  CustomData.EMPTY);                                                     .. 
64          if (!$$12.isEmpty()) {                                         .. 
65             EntityType.updateCustomEntityTag($$6, $$4, $$8, $$12);      61          EntityType.<HangingEntity>createDefaultStackConfig($$6, $$5, $
..                                                                         .. $4).accept($$8);
66          }                                                              .. 
67                                                                         .. 
68          if ($$8.survives()) {                                          62          if ($$8.survives()) {
69             if (!$$6.isClientSide) {                                    63             if (!$$6.isClientSide) {

net/minecraft/world/item/HangingEntityItem.java --- 4/4 --- Java
 87    @Override                                                           81    @Override
 88    public void appendHoverText(ItemStack $$0, Item.TooltipContext $$1, 82    public void appendHoverText(ItemStack $$0, Item.TooltipContext $$1,
 ..  List<Component> $$2, TooltipFlag $$3) {                               ..  List<Component> $$2, TooltipFlag $$3) {
 89       super.appendHoverText($$0, $$1, $$2, $$3);                       83       super.appendHoverText($$0, $$1, $$2, $$3);
 90       HolderLookup.Provider $$4 = $$1.registries();                    .. 
 91       if ($$4 != null && this.type == EntityType.PAINTING) {           84       if (this.type == EntityType.PAINTING) {
 92          CustomData $$5 = $$0.getOrDefault(DataComponents.ENTITY_DATA, 85          Holder<PaintingVariant> $$4 = $$0.get(DataComponents.PAINTING
 ..  CustomData.EMPTY);                                                    .. _VARIANT);
 93          if (!$$5.isEmpty()) {                                         86          if ($$4 != null) {
 94             $$5.read($$4.createSerializationContext(NbtOps.INSTANCE),  .. 
 .. Painting.VARIANT_MAP_CODEC).result().ifPresentOrElse($$1x -> {         .. 
 95                ((PaintingVariant)$$1x.value()).title().ifPresent($$2:: 87             $$4.value().title().ifPresent($$2::add);
 .. add);                                                                  .. 
 96                ((PaintingVariant)$$1x.value()).author().ifPresent($$2: 88             $$4.value().author().ifPresent($$2::add);
 .. :add);                                                                 .. 
 97                $$2.add(Component.translatable("painting.dimensions", ( 89             $$2.add(Component.translatable("painting.dimensions", $$4.
 .. (PaintingVariant)$$1x.value()).width(), ((PaintingVariant)$$1x.value() .. value().width(), $$4.value().height()));
 .. ).height()));                                                          .. 
 98             }, () -> $$2.add(TOOLTIP_RANDOM_VARIANT));                 90          } else if ($$3.isCreative()) {
 99          } else if ($$3.isCreative()) {                                .. 
100             $$2.add(TOOLTIP_RANDOM_VARIANT);                           91             $$2.add(TOOLTIP_RANDOM_VARIANT);
101          }                                                             92          }
102       }                                                                93       }

net/minecraft/world/level/block/TestInstanceBlock.java --- Java
 1 package net.minecraft.world.level.block;
 2 
 3 import com.mojang.serialization.MapCodec;
 4 import javax.annotation.Nullable;
 5 import net.minecraft.core.BlockPos;
 6 import net.minecraft.world.InteractionResult;
 7 import net.minecraft.world.entity.player.Player;
 8 import net.minecraft.world.level.Level;
 9 import net.minecraft.world.level.block.entity.BlockEntity;
10 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
11 import net.minecraft.world.level.block.state.BlockBehaviour;
12 import net.minecraft.world.level.block.state.BlockState;
13 import net.minecraft.world.phys.BlockHitResult;
14 
15 public class TestInstanceBlock extends BaseEntityBlock implements GameMasterBlock {
16    public static final MapCodec<TestInstanceBlock> CODEC = simpleCodec(TestInstanceBlock::new);
17 
18    public TestInstanceBlock(BlockBehaviour.Properties $$0) {
19       super($$0);
20    }
21 
22    @Nullable
23    @Override
24    public BlockEntity newBlockEntity(BlockPos $$0, BlockState $$1) {
25       return new TestInstanceBlockEntity($$0, $$1);
26    }
27 
28    @Override
29    protected InteractionResult useWithoutItem(BlockState $$0, Level $$1, BlockPos $$2, Player $$3, BlockHitResult $$4) {
30       if ($$1.getBlockEntity($$2) instanceof TestInstanceBlockEntity $$6) {
31          if (!$$3.canUseGameMasterBlocks()) {
32             return InteractionResult.PASS;
33          } else {
34             if ($$3.getCommandSenderWorld().isClientSide) {
35                $$3.openTestInstanceBlock($$6);
36             }
37 
38             return InteractionResult.SUCCESS;
39          }
40       } else {
41          return InteractionResult.PASS;
42       }
43    }
44 
45    @Override
46    protected MapCodec<TestInstanceBlock> codec() {
47       return CODEC;
48    }
49 }
50 

net/minecraft/world/item/MobBucketItem.java --- 1/3 --- Java
1 package net.minecraft.world.item;                                        1 package net.minecraft.world.item;
2                                                                          2 
3 import com.mojang.serialization.MapCodec;                                . 
4 import java.util.List;                                                   3 import java.util.List;
5 import java.util.Optional;                                               . 
6 import javax.annotation.Nullable;                                        4 import javax.annotation.Nullable;
7 import net.minecraft.ChatFormatting;                                     5 import net.minecraft.ChatFormatting;
8 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;

net/minecraft/world/item/MobBucketItem.java --- 2/3 --- Java
25 import net.minecraft.world.level.material.Fluid;                        23 import net.minecraft.world.level.material.Fluid;
26                                                                         24 
27 public class MobBucketItem extends BucketItem {                         25 public class MobBucketItem extends BucketItem {
28    private static final MapCodec<TropicalFish.Variant> VARIANT_FIELD_CO .. 
.. DEC = TropicalFish.Variant.CODEC.fieldOf("BucketVariantTag");           .. 
29    private final EntityType<? extends Mob> type;                        26    private final EntityType<? extends Mob> type;
30    private final SoundEvent emptySound;                                 27    private final SoundEvent emptySound;
31                                                                         28 

net/minecraft/world/item/MobBucketItem.java --- 3/3 --- Java
65    @Override                                                            62    @Override
66    public void appendHoverText(ItemStack $$0, Item.TooltipContext $$1,  63    public void appendHoverText(ItemStack $$0, Item.TooltipContext $$1, 
.. List<Component> $$2, TooltipFlag $$3) {                                 .. List<Component> $$2, TooltipFlag $$3) {
67       if (this.type == EntityType.TROPICAL_FISH) {                      64       if (this.type == EntityType.TROPICAL_FISH) {
68          CustomData $$4 = $$0.getOrDefault(DataComponents.BUCKET_ENTITY 65          TropicalFish.Pattern $$4 = $$0.get(DataComponents.TROPICAL_FIS
.. _DATA, CustomData.EMPTY);                                               .. H_PATTERN);
69          if ($$4.isEmpty()) {                                           66          if ($$4 == null) {
70             return;                                                     67             return;
71          }                                                              68          }
72                                                                         69 
73          Optional<TropicalFish.Variant> $$5 = $$4.read(VARIANT_FIELD_CO 70          DyeColor $$5 = $$0.getOrDefault(DataComponents.TROPICAL_FISH_B
.. DEC).result();                                                          .. ASE_COLOR, TropicalFish.DEFAULT_VARIANT.baseColor());
74          if ($$5.isPresent()) {                                         .. 
75             TropicalFish.Variant $$6 = $$5.get();                       71          DyeColor $$6 = $$0.getOrDefault(DataComponents.TROPICAL_FISH_P
..                                                                         .. ATTERN_COLOR, TropicalFish.DEFAULT_VARIANT.patternColor());
76             ChatFormatting[] $$7 = new ChatFormatting[]{ChatFormatting. 72          ChatFormatting[] $$7 = new ChatFormatting[]{ChatFormatting.ITA
.. ITALIC, ChatFormatting.GRAY};                                           .. LIC, ChatFormatting.GRAY};
77             String $$8 = "color.minecraft." + $$6.baseColor();          .. 
78             String $$9 = "color.minecraft." + $$6.patternColor();       .. 
79             int $$10 = TropicalFish.COMMON_VARIANTS.indexOf($$6);       73          int $$8 = TropicalFish.COMMON_VARIANTS.indexOf(new TropicalFis
..                                                                         .. h.Variant($$4, $$5, $$6));
80             if ($$10 != -1) {                                           74          if ($$8 != -1) {
81                $$2.add(Component.translatable(TropicalFish.getPredefine 75             $$2.add(Component.translatable(TropicalFish.getPredefinedNa
.. dName($$10)).withStyle($$7));                                           .. me($$8)).withStyle($$7));
82                return;                                                  76             return;
83             }                                                           77          }
84                                                                         78 
85             $$2.add($$6.pattern().displayName().plainCopy().withStyle($ 79          $$2.add($$4.displayName().plainCopy().withStyle($$7));
.. $7));                                                                   .. 
86             MutableComponent $$11 = Component.translatable($$8);        80          MutableComponent $$9 = Component.translatable("color.minecraft
..                                                                         .. ." + $$5.getName());
87             if (!$$8.equals($$9)) {                                     81          if ($$5 != $$6) {
88                $$11.append(", ").append(Component.translatable($$9));   82             $$9.append(", ").append(Component.translatable("color.minec
..                                                                         .. raft." + $$6.getName()));
89             }                                                           83          }
90                                                                         84 
91             $$11.withStyle($$7);                                        85          $$9.withStyle($$7);
92             $$2.add($$11);                                              86          $$2.add($$9);
93          }                                                              .. 
94       }                                                                 87       }
95    }                                                                    88    }
96 }                                                                       89 }

net/minecraft/world/entity/item/FallingBlockEntity.java --- Java
239    }                                                                   239    }
240                                                                        240 
241    @Override                                                           241    @Override
242    public boolean causeFallDamage(float $$0, float $$1, DamageSource $ 242    public boolean causeFallDamage(double $$0, float $$1, DamageSource 
... $2) {                                                                  ... $$2) {
243       if (!this.hurtEntities) {                                        243       if (!this.hurtEntities) {
244          return false;                                                 244          return false;
245       } else {                                                         245       } else {
246          int $$3 = Mth.ceil($$0 - 1.0F);                               246          int $$3 = Mth.ceil($$0 - 1.0);
247          if ($$3 < 0) {                                                247          if ($$3 < 0) {
248             return false;                                              248             return false;
249          } else {                                                      249          } else {

net/minecraft/client/renderer/entity/state/StriderRenderState.java --- Java
 2                                                                          2 
 3 import net.fabricmc.api.EnvType;                                         3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 .                                                                          5 import net.minecraft.world.item.ItemStack;
 5                                                                          6 
 6 @Environment(EnvType.CLIENT)                                             7 @Environment(EnvType.CLIENT)
 7 public class StriderRenderState extends LivingEntityRenderState impleme  8 public class StriderRenderState extends LivingEntityRenderState {
 . nts SaddleableRenderState {                                              . 
 8    public boolean isSaddled;                                             9    public ItemStack saddle = ItemStack.EMPTY;
 9    public boolean isSuffocating;                                        10    public boolean isSuffocating;
10    public boolean isRidden;                                             11    public boolean isRidden;
11                                                                         .. 
12    @Override                                                            .. 
13    public boolean isSaddled() {                                         .. 
14       return this.isSaddled;                                            .. 
15    }                                                                    .. 
16 }                                                                       12 }

net/minecraft/DetectedVersion.java --- Java
28                                                                         28 
29    private DetectedVersion() {                                          29    private DetectedVersion() {
30       this.id = UUID.randomUUID().toString().replaceAll("-", "");       30       this.id = UUID.randomUUID().toString().replaceAll("-", "");
31       this.name = "25w02a";                                             31       this.name = "25w03a";
32       this.stable = false;                                              32       this.stable = false;
33       this.worldVersion = new DataVersion(4298, "main");                33       this.worldVersion = new DataVersion(4304, "main");
34       this.protocolVersion = SharedConstants.getProtocolVersion();      34       this.protocolVersion = SharedConstants.getProtocolVersion();
35       this.resourcePackVersion = 47;                                    35       this.resourcePackVersion = 48;
36       this.dataPackVersion = 62;                                        36       this.dataPackVersion = 63;
37       this.buildTime = new Date();                                      37       this.buildTime = new Date();
38    }                                                                    38    }
39                                                                         39 

net/minecraft/network/protocol/game/ServerboundSetTestBlockPacket.java --- Java
 1 package net.minecraft.network.protocol.game;
 2 
 3 import net.minecraft.core.BlockPos;
 4 import net.minecraft.network.FriendlyByteBuf;
 5 import net.minecraft.network.codec.ByteBufCodecs;
 6 import net.minecraft.network.codec.StreamCodec;
 7 import net.minecraft.network.protocol.Packet;
 8 import net.minecraft.network.protocol.PacketType;
 9 import net.minecraft.world.level.block.state.properties.TestBlockMode;
10 
11 public record ServerboundSetTestBlockPacket(BlockPos position, TestBlockMode mode, String message) implements Packet<ServerGamePacketListener> {
12    public static final StreamCodec<FriendlyByteBuf, ServerboundSetTestBlockPacket> STREAM_CODEC = StreamCodec.composite(
13       BlockPos.STREAM_CODEC,
14       ServerboundSetTestBlockPacket::position,
15       TestBlockMode.STREAM_CODEC,
16       ServerboundSetTestBlockPacket::mode,
17       ByteBufCodecs.STRING_UTF8,
18       ServerboundSetTestBlockPacket::message,
19       ServerboundSetTestBlockPacket::new
20    );
21 
22    @Override
23    public PacketType<ServerboundSetTestBlockPacket> type() {
24       return GamePacketTypes.SERVERBOUND_SET_TEST_BLOCK;
25    }
26 
27    public void handle(ServerGamePacketListener $$0) {
28       $$0.handleSetTestBlock(this);
29    }
30 }
31 

net/minecraft/world/level/block/SlimeBlock.java --- Java
23    }                                                                    23    }
24                                                                         24 
25    @Override                                                            25    @Override
26    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $ 26    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $
.. $3, float $$4) {                                                        .. $3, double $$4) {
27       if (!$$3.isSuppressingBounce()) {                                 27       if (!$$3.isSuppressingBounce()) {
28          $$3.causeFallDamage($$4, 0.0F, $$0.damageSources().fall());    28          $$3.causeFallDamage($$4, 0.0F, $$0.damageSources().fall());
29       }                                                                 29       }

net/minecraft/world/item/ArmorStandItem.java --- Java
44                }                                                        44                }
45                                                                         45 
46                float $$11 = (float)Mth.floor((Mth.wrapDegrees($$0.getRo 46                float $$11 = (float)Mth.floor((Mth.wrapDegrees($$0.getRo
.. tation() - 180.0F) + 22.5F) / 45.0F) * 45.0F;                           .. tation() - 180.0F) + 22.5F) / 45.0F) * 45.0F;
47                $$10.moveTo($$10.getX(), $$10.getY(), $$10.getZ(), $$11, 47                $$10.snapTo($$10.getX(), $$10.getY(), $$10.getZ(), $$11,
..  0.0F);                                                                 ..  0.0F);
48                $$8.addFreshEntityWithPassengers($$10);                  48                $$8.addFreshEntityWithPassengers($$10);
49                $$2.playSound(null, $$10.getX(), $$10.getY(), $$10.getZ( 49                $$2.playSound(null, $$10.getX(), $$10.getY(), $$10.getZ(
.. ), SoundEvents.ARMOR_STAND_PLACE, SoundSource.BLOCKS, 0.75F, 0.8F);     .. ), SoundEvents.ARMOR_STAND_PLACE, SoundSource.BLOCKS, 0.75F, 0.8F);
50                $$10.gameEvent(GameEvent.ENTITY_PLACE, $$0.getPlayer()); 50                $$10.gameEvent(GameEvent.ENTITY_PLACE, $$0.getPlayer());

net/minecraft/core/Vec3i.java --- Java
 3 import com.google.common.base.MoreObjects;                               3 import com.google.common.base.MoreObjects;
 4 import com.mojang.serialization.Codec;                                   4 import com.mojang.serialization.Codec;
 5 import com.mojang.serialization.DataResult;                              5 import com.mojang.serialization.DataResult;
 .                                                                          6 import io.netty.buffer.ByteBuf;
 6 import java.util.stream.IntStream;                                       7 import java.util.stream.IntStream;
 7 import javax.annotation.concurrent.Immutable;                            8 import javax.annotation.concurrent.Immutable;
 8 import net.minecraft.Util;                                               9 import net.minecraft.Util;
 .                                                                         10 import net.minecraft.network.codec.ByteBufCodecs;
 .                                                                         11 import net.minecraft.network.codec.StreamCodec;
 9 import net.minecraft.util.Mth;                                          12 import net.minecraft.util.Mth;
10                                                                         13 
11 @Immutable                                                              14 @Immutable
12 public class Vec3i implements Comparable<Vec3i> {                       15 public class Vec3i implements Comparable<Vec3i> {
13    public static final Codec<Vec3i> CODEC = Codec.INT_STREAM            16    public static final Codec<Vec3i> CODEC = Codec.INT_STREAM
14       .comapFlatMap($$0 -> Util.fixedSize($$0, 3).map($$0x -> new Vec3i 17       .comapFlatMap($$0 -> Util.fixedSize($$0, 3).map($$0x -> new Vec3i
.. ($$0x[0], $$0x[1], $$0x[2])), $$0 -> IntStream.of($$0.getX(), $$0.getY( .. ($$0x[0], $$0x[1], $$0x[2])), $$0 -> IntStream.of($$0.getX(), $$0.getY(
.. ), $$0.getZ()));                                                        .. ), $$0.getZ()));
..                                                                         18    public static final StreamCodec<ByteBuf, Vec3i> STREAM_CODEC = Strea
..                                                                         .. mCodec.composite(
..                                                                         19       ByteBufCodecs.VAR_INT, Vec3i::getX, ByteBufCodecs.VAR_INT, Vec3i:
..                                                                         .. :getY, ByteBufCodecs.VAR_INT, Vec3i::getZ, Vec3i::new
..                                                                         20    );
15    public static final Vec3i ZERO = new Vec3i(0, 0, 0);                 21    public static final Vec3i ZERO = new Vec3i(0, 0, 0);
16    private int x;                                                       22    private int x;
17    private int y;                                                       23    private int y;

net/minecraft/client/gui/GuiGraphics.java --- Text (6 Java parse errors, exceeded DFT_PARSE_ERROR_LIMIT)
805                HoverEvent.ShowText var20 = var11;                      805                HoverEvent.ShowText var20 = var11;
806                                                                        806 
807                try {                                                   807                try {
808                   var22 = var20.text();                                808                   var22 = var20.value();
809                } catch (Throwable var14) {                             809                } catch (Throwable var14) {
810                   var21 = var14;                                       810                   var21 = var14;
811                   boolean var10001 = false;                            811                   boolean var10001 = false;

net/minecraft/tags/EntityTypeTags.java --- Java
40    TagKey<EntityType<?>> IMMUNE_TO_INFESTED = create("immune_to_infeste 40    TagKey<EntityType<?>> IMMUNE_TO_INFESTED = create("immune_to_infeste
.. d");                                                                    .. d");
41    TagKey<EntityType<?>> REDIRECTABLE_PROJECTILE = create("redirectable 41    TagKey<EntityType<?>> REDIRECTABLE_PROJECTILE = create("redirectable
.. _projectile");                                                          .. _projectile");
42    TagKey<EntityType<?>> BOAT = create("boat");                         42    TagKey<EntityType<?>> BOAT = create("boat");
..                                                                         43    TagKey<EntityType<?>> CAN_EQUIP_SADDLE = create("can_equip_saddle");
43                                                                         44 
44    private static TagKey<EntityType<?>> create(String $$0) {            45    private static TagKey<EntityType<?>> create(String $$0) {
45       return TagKey.create(Registries.ENTITY_TYPE, ResourceLocation.wit 46       return TagKey.create(Registries.ENTITY_TYPE, ResourceLocation.wit
   hDefaultNamespace($$0));                                                   hDefaultNamespace($$0));

net/minecraft/world/entity/TamableAnimal.java --- Text (2 Java parse errors, exceeded DFT_PARSE_ERROR_LIMIT)
266       if (!this.canTeleportTo(new BlockPos($$0, $$1, $$2))) {          266       if (!this.canTeleportTo(new BlockPos($$0, $$1, $$2))) {
267          return false;                                                 267          return false;
268       } else {                                                         268       } else {
269          this.moveTo((double)$$0 + 0.5, (double)$$1, (double)$$2 + 0.5 269          this.snapTo((double)$$0 + 0.5, (double)$$1, (double)$$2 + 0.5
... , this.getYRot(), this.getXRot());                                     ... , this.getYRot(), this.getXRot());
270          this.navigation.stop();                                       270          this.navigation.stop();
271          return true;                                                  271          return true;
272       }                                                                272       }

net/minecraft/world/effect/InfestedMobEffect.java --- Java
42          float $$7 = (float) (Math.PI / 2);                             42          float $$7 = (float) (Math.PI / 2);
43          float $$8 = Mth.randomBetween($$6, (float) (-Math.PI / 2), (fl 43          float $$8 = Mth.randomBetween($$6, (float) (-Math.PI / 2), (fl
.. oat) (Math.PI / 2));                                                    .. oat) (Math.PI / 2));
44          Vector3f $$9 = $$1.getLookAngle().toVector3f().mul(0.3F).mul(1 44          Vector3f $$9 = $$1.getLookAngle().toVector3f().mul(0.3F).mul(1
.. .0F, 1.5F, 1.0F).rotateY($$8);                                          .. .0F, 1.5F, 1.0F).rotateY($$8);
45          $$5.moveTo($$2, $$3, $$4, $$0.getRandom().nextFloat() * 360.0F 45          $$5.snapTo($$2, $$3, $$4, $$0.getRandom().nextFloat() * 360.0F
.. , 0.0F);                                                                .. , 0.0F);
46          $$5.setDeltaMovement(new Vec3($$9));                           46          $$5.setDeltaMovement(new Vec3($$9));
47          $$0.addFreshEntity($$5);                                       47          $$0.addFreshEntity($$5);
48          $$5.playSound(SoundEvents.SILVERFISH_HURT);                    48          $$5.playSound(SoundEvents.SILVERFISH_HURT);

net/minecraft/client/renderer/entity/state/EquineRenderState.java --- Java
 2                                                                          2 
 3 import net.fabricmc.api.EnvType;                                         3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 .                                                                          5 import net.minecraft.world.item.ItemStack;
 5                                                                          6 
 6 @Environment(EnvType.CLIENT)                                             7 @Environment(EnvType.CLIENT)
 7 public class EquineRenderState extends LivingEntityRenderState {         8 public class EquineRenderState extends LivingEntityRenderState {
 8    public boolean isSaddled;                                             9    public ItemStack saddle = ItemStack.EMPTY;
 9    public boolean isRidden;                                             10    public boolean isRidden;
10    public boolean animateTail;                                          11    public boolean animateTail;
11    public float eatAnimation;                                           12    public float eatAnimation;

net/minecraft/client/gui/screens/inventory/TestInstanceBlockEditScreen.java --- Java
  1 package net.minecraft.client.gui.screens.inventory;
  2 
  3 import java.util.Optional;
  4 import javax.annotation.Nullable;
  5 import net.fabricmc.api.EnvType;
  6 import net.fabricmc.api.Environment;
  7 import net.minecraft.ChatFormatting;
  8 import net.minecraft.SharedConstants;
  9 import net.minecraft.client.gui.GuiGraphics;
 10 import net.minecraft.client.gui.components.Button;
 11 import net.minecraft.client.gui.components.CycleButton;
 12 import net.minecraft.client.gui.components.EditBox;
 13 import net.minecraft.client.gui.components.FittingMultiLineTextWidget;
 14 import net.minecraft.client.gui.screens.Screen;
 15 import net.minecraft.core.Vec3i;
 16 import net.minecraft.core.registries.Registries;
 17 import net.minecraft.gametest.framework.GameTestInstance;
 18 import net.minecraft.network.chat.CommonComponents;
 19 import net.minecraft.network.chat.Component;
 20 import net.minecraft.network.chat.MutableComponent;
 21 import net.minecraft.network.protocol.game.ServerboundTestInstanceBlockActionPacket;
 22 import net.minecraft.resources.ResourceKey;
 23 import net.minecraft.resources.ResourceLocation;
 24 import net.minecraft.world.level.block.Rotation;
 25 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
 26 
 27 @Environment(EnvType.CLIENT)
 28 public class TestInstanceBlockEditScreen extends Screen {
 29    private static final Component ID_LABEL = Component.translatable("test_instance_block.test_id");
 30    private static final Component SIZE_LABEL = Component.translatable("test_instance_block.size");
 31    private static final Component INCLUDE_ENTITIES_LABEL = Component.translatable("test_instance_block.entities");
 32    private static final Component ROTATION_LABEL = Component.translatable("test_instance_block.rotation");
 33    private static final int BUTTON_PADDING = 8;
 34    private static final int WIDTH = 316;
 35    private final TestInstanceBlockEntity blockEntity;
 36    @Nullable
 37    private EditBox idEdit;
 38    @Nullable
 39    private EditBox sizeXEdit;
 40    @Nullable
 41    private EditBox sizeYEdit;
 42    @Nullable
 43    private EditBox sizeZEdit;
 44    @Nullable
 45    private FittingMultiLineTextWidget infoWidget;
 46    @Nullable
 47    private Button saveButton;
 48    @Nullable
 49    private Button exportButton;
 50    @Nullable
 51    private CycleButton<Boolean> includeEntitiesButton;
 52    @Nullable
 53    private CycleButton<Rotation> rotationButton;
 54 
 55    public TestInstanceBlockEditScreen(TestInstanceBlockEntity $$0) {
 56       super($$0.getBlockState().getBlock().getName());
 57       this.blockEntity = $$0;
 58    }
 59 
 60    @Override
 61    protected void init() {
 62       int $$0 = this.width / 2 - 158;
 63       this.addRenderableWidget(Button.builder(Component.literal("Run Test"), $$0x -> {
 64          this.sendToServer(ServerboundTestInstanceBlockActionPacket.Action.RUN);
 65          this.minecraft.setScreen(null);
 66       }).bounds(this.widgetX(0, 3), 210, widgetSize(3), 20).build());
 67       this.addRenderableWidget(Button.builder(CommonComponents.GUI_DONE, $$0x -> this.onDone()).bounds(this.widgetX(1, 3), 210, widgetSize(3), 20).build());
 68       this.addRenderableWidget(Button.builder(CommonComponents.GUI_CANCEL, $$0x -> this.onCancel()).bounds(this.widgetX(2, 3), 210, widgetSize(3), 20).build());
 69       boolean $$1 = SharedConstants.IS_RUNNING_IN_IDE;
 70       int $$2 = $$1 ? 3 : 2;
 71       int $$3 = widgetSize($$2);
 72       int $$4 = 0;
 73       this.addRenderableWidget(Button.builder(Component.translatable("Reset and Load"), $$0x -> {
 74          this.sendToServer(ServerboundTestInstanceBlockActionPacket.Action.RESET);
 75          this.minecraft.setScreen(null);
 76       }).bounds(this.widgetX($$4++, $$2), 185, $$3, 20).build());
 77       this.saveButton = this.addRenderableWidget(Button.builder(Component.translatable("Save Structure"), $$0x -> {
 78          this.sendToServer(ServerboundTestInstanceBlockActionPacket.Action.SAVE);
 79          this.minecraft.setScreen(null);
 80       }).bounds(this.widgetX($$4++, $$2), 185, $$3, 20).build());
 81       if ($$1) {
 82          this.exportButton = this.addRenderableWidget(Button.builder(Component.literal("Export Structure"), $$0x -> {
 83             this.sendToServer(ServerboundTestInstanceBlockActionPacket.Action.EXPORT);
 84             this.minecraft.setScreen(null);
 85          }).bounds(this.widgetX($$4++, $$2), 185, $$3, 20).build());
 86       }
 87 
 88       this.idEdit = new EditBox(this.font, $$0, 40, 316, 20, Component.translatable("test_instance_block.test_id"));
 89       this.idEdit.setMaxLength(128);
 90       Optional<ResourceKey<GameTestInstance>> $$5 = this.blockEntity.test();
 91       if ($$5.isPresent()) {
 92          this.idEdit.setValue($$5.get().location().toString());
 93       }
 94 
 95       this.idEdit.setResponder($$0x -> this.updateTestInfo(false));
 96       this.addRenderableWidget(this.idEdit);
 97       this.infoWidget = new FittingMultiLineTextWidget($$0, 70, 316, 8 * 9, Component.literal(""), this.font);
 98       this.addRenderableWidget(this.infoWidget);
 99       Vec3i $$6 = this.blockEntity.getSize();
100       $$4 = 0;
101       this.sizeXEdit = new EditBox(this.font, this.widgetX($$4++, 5), 160, widgetSize(5), 20, Component.translatable("structure_block.size.x"));
102       this.sizeXEdit.setMaxLength(15);
103       this.addRenderableWidget(this.sizeXEdit);
104       this.sizeYEdit = new EditBox(this.font, this.widgetX($$4++, 5), 160, widgetSize(5), 20, Component.translatable("structure_block.size.y"));
105       this.sizeYEdit.setMaxLength(15);
106       this.addRenderableWidget(this.sizeYEdit);
107       this.sizeZEdit = new EditBox(this.font, this.widgetX($$4++, 5), 160, widgetSize(5), 20, Component.translatable("structure_block.size.z"));
108       this.sizeZEdit.setMaxLength(15);
109       this.addRenderableWidget(this.sizeZEdit);
110       this.setSize($$6);
111       this.rotationButton = this.addRenderableWidget(
112          CycleButton.builder(TestInstanceBlockEditScreen::rotationDisplay)
113             .withValues(Rotation.values())
114             .withInitialValue(this.blockEntity.getRotation())
115             .displayOnlyValue()
116             .create(this.widgetX($$4++, 5), 160, widgetSize(5), 20, ROTATION_LABEL, ($$0x, $$1x) -> this.updateSaveState())
117       );
118       this.includeEntitiesButton = this.addRenderableWidget(
119          CycleButton.onOffBuilder(!this.blockEntity.ignoreEntities())
120             .displayOnlyValue()
121             .create(this.widgetX($$4++, 5), 160, widgetSize(5), 20, INCLUDE_ENTITIES_LABEL)
122       );
123       this.updateTestInfo(true);
124    }
125 
126    private void updateSaveState() {
127       boolean $$0 = this.rotationButton.getValue() == Rotation.NONE && ResourceLocation.tryParse(this.idEdit.getValue()) != null;
128       this.saveButton.active = $$0;
129       if (this.exportButton != null) {
130          this.exportButton.active = $$0;
131       }
132    }
133 
134    private static Component rotationDisplay(Rotation $$0) {
135       return Component.literal(switch ($$0) {
136          case NONE -> "0";
137          case CLOCKWISE_90 -> "90";
138          case CLOCKWISE_180 -> "180";
139          case COUNTERCLOCKWISE_90 -> "270";
140       });
141    }
142 
143    private void setSize(Vec3i $$0) {
144       this.sizeXEdit.setValue(Integer.toString($$0.getX()));
145       this.sizeYEdit.setValue(Integer.toString($$0.getY()));
146       this.sizeZEdit.setValue(Integer.toString($$0.getZ()));
147    }
148 
149    private int widgetX(int $$0, int $$1) {
150       int $$2 = this.width / 2 - 158;
151       float $$3 = exactWidgetSize($$1);
152       return (int)((float)$$2 + (float)$$0 * (8.0F + $$3));
153    }
154 
155    private static int widgetSize(int $$0) {
156       return (int)exactWidgetSize($$0);
157    }
158 
159    private static float exactWidgetSize(int $$0) {
160       return (float)(316 - ($$0 - 1) * 8) / (float)$$0;
161    }
162 
163    @Override
164    public void render(GuiGraphics $$0, int $$1, int $$2, float $$3) {
165       super.render($$0, $$1, $$2, $$3);
166       $$0.drawCenteredString(this.font, this.title, this.width / 2, 10, 16777215);
167       $$0.drawString(this.font, ID_LABEL, this.width / 2 - 153, 30, 12632256);
168       $$0.drawString(this.font, SIZE_LABEL, this.width / 2 - 153, 150, 12632256);
169       $$0.drawString(this.font, ROTATION_LABEL, this.rotationButton.getX(), 150, 12632256);
170       $$0.drawString(this.font, INCLUDE_ENTITIES_LABEL, this.includeEntitiesButton.getX(), 150, 12632256);
171    }
172 
173    private void updateTestInfo(boolean $$0) {
174       boolean $$1 = this.sendToServer($$0 ? ServerboundTestInstanceBlockActionPacket.Action.INIT : ServerboundTestInstanceBlockActionPacket.Action.QUERY);
175       if (!$$1) {
176          this.infoWidget.setMessage(Component.literal("Invalid test ID").withStyle(ChatFormatting.RED));
177       }
178 
179       this.updateSaveState();
180    }
181 
182    private void onDone() {
183       this.sendToServer(ServerboundTestInstanceBlockActionPacket.Action.SET);
184       this.onClose();
185    }
186 
187    private boolean sendToServer(ServerboundTestInstanceBlockActionPacket.Action $$0) {
188       Optional<ResourceLocation> $$1 = Optional.ofNullable(ResourceLocation.tryParse(this.idEdit.getValue()));
189       Optional<ResourceKey<GameTestInstance>> $$2 = $$1.map($$0x -> ResourceKey.create(Registries.TEST_INSTANCE, $$0x));
190       Vec3i $$3 = new Vec3i(parseSize(this.sizeXEdit.getValue()), parseSize(this.sizeYEdit.getValue()), parseSize(this.sizeZEdit.getValue()));
191       boolean $$4 = this.includeEntitiesButton.getValue();
192       this.minecraft
193          .getConnection()
194          .send(new ServerboundTestInstanceBlockActionPacket(this.blockEntity.getBlockPos(), $$0, $$2, $$3, this.rotationButton.getValue(), $$4));
195       return $$1.isPresent();
196    }
197 
198    public void setStatus(Component $$0, Optional<Vec3i> $$1) {
199       MutableComponent $$2 = Component.empty();
200       this.blockEntity
201          .errorMessage()
202          .ifPresent(
203             $$1x -> $$2.append(Component.translatable("test_instance.description.failed", Component.empty().withStyle(ChatFormatting.RED).append($$1x)))
204                   .append("\n\n")
205          );
206       $$2.append($$0);
207       this.infoWidget.setMessage($$2);
208       $$1.ifPresent(this::setSize);
209    }
210 
211    private void onCancel() {
212       this.onClose();
213    }
214 
215    private static int parseSize(String $$0) {
216       try {
217          return Math.max(Integer.parseInt($$0), 1);
218       } catch (NumberFormatException var2) {
219          return 1;
220       }
221    }
222 }
223 

net/minecraft/world/item/Items.java --- 1/3 --- Java
45 import net.minecraft.world.level.block.Block;                           45 import net.minecraft.world.level.block.Block;
46 import net.minecraft.world.level.block.Blocks;                          46 import net.minecraft.world.level.block.Blocks;
47 import net.minecraft.world.level.block.LightBlock;                      47 import net.minecraft.world.level.block.LightBlock;
..                                                                         48 import net.minecraft.world.level.block.TestBlock;
48 import net.minecraft.world.level.block.entity.BannerPatternLayers;      49 import net.minecraft.world.level.block.entity.BannerPatternLayers;
49 import net.minecraft.world.level.block.entity.PotDecorations;           50 import net.minecraft.world.level.block.entity.PotDecorations;
..                                                                         51 import net.minecraft.world.level.block.state.properties.TestBlockMode;
50 import net.minecraft.world.level.material.Fluids;                       52 import net.minecraft.world.level.material.Fluids;
51                                                                         53 
52 public class Items {                                                    54 public class Items {

net/minecraft/world/item/Items.java --- 2/3 --- Java
948    public static final Item DETECTOR_RAIL = registerBlock(Blocks.DETEC 950    public static final Item DETECTOR_RAIL = registerBlock(Blocks.DETEC
... TOR_RAIL);                                                             ... TOR_RAIL);
949    public static final Item RAIL = registerBlock(Blocks.RAIL);         951    public static final Item RAIL = registerBlock(Blocks.RAIL);
950    public static final Item ACTIVATOR_RAIL = registerBlock(Blocks.ACTI 952    public static final Item ACTIVATOR_RAIL = registerBlock(Blocks.ACTI
... VATOR_RAIL);                                                           ... VATOR_RAIL);
951    public static final Item SADDLE = registerItem("saddle", SaddleItem 953    public static final Item SADDLE = registerItem("saddle", new Item.P
... ::new, new Item.Properties().stacksTo(1));                             ... roperties().stacksTo(1).component(DataComponents.EQUIPPABLE, Equippabl
...                                                                        ... e.saddle()));
952    public static final Item MINECART = registerItem("minecart", $$0 -> 954    public static final Item MINECART = registerItem("minecart", $$0 ->
...  new MinecartItem(EntityType.MINECART, $$0), new Item.Properties().sta ...  new MinecartItem(EntityType.MINECART, $$0), new Item.Properties().sta
... cksTo(1));                                                             ... cksTo(1));
953    public static final Item CHEST_MINECART = registerItem(             955    public static final Item CHEST_MINECART = registerItem(
954       "chest_minecart", $$0 -> new MinecartItem(EntityType.CHEST_MINEC 956       "chest_minecart", $$0 -> new MinecartItem(EntityType.CHEST_MINEC
    ART, $$0), new Item.Properties().stacksTo(1)                               ART, $$0), new Item.Properties().stacksTo(1)

net/minecraft/world/item/Items.java --- 3/3 --- Java
1027    );                                                                 1029    );
1028    public static final Item STRUCTURE_BLOCK = registerBlock(Blocks.ST 1030    public static final Item STRUCTURE_BLOCK = registerBlock(Blocks.ST
.... RUCTURE_BLOCK, GameMasterBlockItem::new, new Item.Properties().rarity .... RUCTURE_BLOCK, GameMasterBlockItem::new, new Item.Properties().rarity
.... (Rarity.EPIC));                                                       .... (Rarity.EPIC));
1029    public static final Item JIGSAW = registerBlock(Blocks.JIGSAW, Gam 1031    public static final Item JIGSAW = registerBlock(Blocks.JIGSAW, Gam
.... eMasterBlockItem::new, new Item.Properties().rarity(Rarity.EPIC));    .... eMasterBlockItem::new, new Item.Properties().rarity(Rarity.EPIC));
....                                                                       1032    public static final Item TEST_BLOCK = registerBlock(
....                                                                       1033       Blocks.TEST_BLOCK,
....                                                                       1034       GameMasterBlockItem::new,
....                                                                       1035       new Item.Properties().rarity(Rarity.EPIC).component(DataCompone
....                                                                       .... nts.BLOCK_STATE, BlockItemStateProperties.EMPTY.with(TestBlock.MODE, 
....                                                                       .... TestBlockMode.START))
....                                                                       1036    );
....                                                                       1037    public static final Item TEST_INSTANCE_BLOCK = registerBlock(Block
....                                                                       .... s.TEST_INSTANCE_BLOCK, GameMasterBlockItem::new, new Item.Properties(
....                                                                       .... ).rarity(Rarity.EPIC));
1030    public static final Item TURTLE_HELMET = registerItem("turtle_helm 1038    public static final Item TURTLE_HELMET = registerItem("turtle_helm
.... et", new Item.Properties().humanoidArmor(ArmorMaterials.TURTLE_SCUTE, .... et", new Item.Properties().humanoidArmor(ArmorMaterials.TURTLE_SCUTE,
....  ArmorType.HELMET));                                                  ....  ArmorType.HELMET));
1031    public static final Item TURTLE_SCUTE = registerItem("turtle_scute 1039    public static final Item TURTLE_SCUTE = registerItem("turtle_scute
.... ");                                                                   .... ");
1032    public static final Item ARMADILLO_SCUTE = registerItem("armadillo 1040    public static final Item ARMADILLO_SCUTE = registerItem("armadillo
     _scute");                                                                  _scute");

net/minecraft/world/entity/ai/behavior/AssignProfessionFromJobSite.java --- Java
23                            $$1.erase();                                 23                            $$1.erase();
24                            $$2.set($$6);                                24                            $$2.set($$6);
25                            $$3.broadcastEntityEvent($$4, (byte)14);     25                            $$3.broadcastEntityEvent($$4, (byte)14);
26                            if ($$4.getVillagerData().getProfession() != 26                            if (!$$4.getVillagerData().profession().is(V
..  VillagerProfession.NONE) {                                             .. illagerProfession.NONE)) {
27                               return true;                              27                               return true;
28                            } else {                                     28                            } else {
29                               MinecraftServer $$7 = $$3.getServer();    29                               MinecraftServer $$7 = $$3.getServer();
30                               Optional.ofNullable($$7.getLevel($$6.dime 30                               Optional.ofNullable($$7.getLevel($$6.dime
.. nsion()))                                                               .. nsion()))
31                                  .flatMap($$1xx -> $$1xx.getPoiManager( 31                                  .flatMap($$1xx -> $$1xx.getPoiManager(
.. ).getType($$6.pos()))                                                   .. ).getType($$6.pos()))
32                                  .flatMap(                              32                                  .flatMap(
33                                     $$0xxx -> BuiltInRegistries.VILLAGE 33                                     $$0xxx -> BuiltInRegistries.VILLAGE
.. R_PROFESSION.stream().filter($$1xx -> $$1xx.heldJobSite().test($$0xxx)) .. R_PROFESSION
.. .findFirst()                                                            .. 
..                                                                         34                                           .listElements()
..                                                                         35                                           .filter($$1xx -> ((VillagerPr
..                                                                         .. ofession)$$1xx.value()).heldJobSite().test($$0xxx))
..                                                                         36                                           .findFirst()
34                                  )                                      37                                  )
35                                  .ifPresent($$2xx -> {                  38                                  .ifPresent($$2xx -> {
36                                     $$4.setVillagerData($$4.getVillager 39                                     $$4.setVillagerData($$4.getVillager
.. Data().setProfession($$2xx));                                           .. Data().withProfession($$2xx));
37                                     $$4.refreshBrain($$3);              40                                     $$4.refreshBrain($$3);
38                                  });                                    41                                  });
39                               return true;                              42                               return true;

net/minecraft/network/protocol/game/ClientGamePacketListener.java --- Java
240                                                                        240 
241    void handleSetPlayerInventory(ClientboundSetPlayerInventoryPacket v 241    void handleSetPlayerInventory(ClientboundSetPlayerInventoryPacket v
... ar1);                                                                  ... ar1);
...                                                                        242 
...                                                                        243    void handleTestInstanceBlockStatus(ClientboundTestInstanceBlockStat
...                                                                        ... us var1);
242 }                                                                      244 }

net/minecraft/world/level/block/TurtleEggBlock.java --- 1/2 --- Java
61    }                                                                    61    }
62                                                                         62 
63    @Override                                                            63    @Override
64    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $ 64    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $
.. $3, float $$4) {                                                        .. $3, double $$4) {
65       if (!($$3 instanceof Zombie)) {                                   65       if (!($$3 instanceof Zombie)) {
66          this.destroyEgg($$0, $$1, $$2, $$3, 3);                        66          this.destroyEgg($$0, $$1, $$2, $$3, 3);
67       }                                                                 67       }

net/minecraft/world/level/block/TurtleEggBlock.java --- 2/2 --- Java
106                if ($$6 != null) {                                      106                if ($$6 != null) {
107                   $$6.setAge(-24000);                                  107                   $$6.setAge(-24000);
108                   $$6.setHomePos($$2);                                 108                   $$6.setHomePos($$2);
109                   $$6.moveTo((double)$$2.getX() + 0.3 + (double)$$5 *  109                   $$6.snapTo((double)$$2.getX() + 0.3 + (double)$$5 * 
... 0.2, (double)$$2.getY(), (double)$$2.getZ() + 0.3, 0.0F, 0.0F);        ... 0.2, (double)$$2.getY(), (double)$$2.getZ() + 0.3, 0.0F, 0.0F);
110                   $$1.addFreshEntity($$6);                             110                   $$1.addFreshEntity($$6);
111                }                                                       111                }
112             }                                                          112             }

net/minecraft/core/dispenser/DispenseItemBehavior.java --- 1/2 --- Java
16 import net.minecraft.world.entity.EntitySelector;                       16 import net.minecraft.world.entity.EntitySelector;
17 import net.minecraft.world.entity.EntitySpawnReason;                    17 import net.minecraft.world.entity.EntitySpawnReason;
18 import net.minecraft.world.entity.EntityType;                           18 import net.minecraft.world.entity.EntityType;
19 import net.minecraft.world.entity.LivingEntity;                         .. 
20 import net.minecraft.world.entity.Saddleable;                           .. 
21 import net.minecraft.world.entity.animal.armadillo.Armadillo;           19 import net.minecraft.world.entity.animal.armadillo.Armadillo;
22 import net.minecraft.world.entity.animal.horse.AbstractChestedHorse;    20 import net.minecraft.world.entity.animal.horse.AbstractChestedHorse;
23 import net.minecraft.world.entity.decoration.ArmorStand;                21 import net.minecraft.world.entity.decoration.ArmorStand;

net/minecraft/core/dispenser/DispenseItemBehavior.java --- 2/2 --- Java
114             return $$1;                                                112             return $$1;
115          }                                                             113          }
116       });                                                              114       });
117       DispenserBlock.registerBehavior(                                 ... 
118          Items.SADDLE,                                                 ... 
119          new OptionalDispenseItemBehavior() {                          ... 
120             @Override                                                  ... 
121             public ItemStack execute(BlockSource $$0, ItemStack $$1) { ... 
122                BlockPos $$2 = $$0.pos().relative($$0.state().getValue( ... 
... DispenserBlock.FACING));                                               ... 
123                List<LivingEntity> $$3 = $$0.level()                    ... 
124                   .getEntitiesOfClass(                                 ... 
125                      LivingEntity.class, new AABB($$2), $$0x -> !($$0x ... 
...  instanceof Saddleable $$1x) ? false : !$$1x.isSaddled() && $$1x.isSad ... 
... dleable()                                                              ... 
126                   );                                                   ... 
127                if (!$$3.isEmpty()) {                                   ... 
128                   ((Saddleable)$$3.get(0)).equipSaddle($$1.split(1), S ... 
... oundSource.BLOCKS);                                                    ... 
129                   this.setSuccess(true);                               ... 
130                   return $$1;                                          ... 
131                } else {                                                ... 
132                   return super.execute($$0, $$1);                      ... 
133                }                                                       ... 
134             }                                                          ... 
135          }                                                             ... 
136       );                                                               ... 
137       DispenserBlock.registerBehavior(                                 115       DispenserBlock.registerBehavior(
138          Items.CHEST,                                                  116          Items.CHEST,
139          new OptionalDispenseItemBehavior() {                          117          new OptionalDispenseItemBehavior() {

net/minecraft/server/level/ServerLevel.java --- 1/2 --- Java
466                                                                        466 
467             LightningBolt $$11 = EntityType.LIGHTNING_BOLT.create(this 467             LightningBolt $$11 = EntityType.LIGHTNING_BOLT.create(this
... , EntitySpawnReason.EVENT);                                            ... , EntitySpawnReason.EVENT);
468             if ($$11 != null) {                                        468             if ($$11 != null) {
469                $$11.moveTo(Vec3.atBottomCenterOf($$7));                469                $$11.snapTo(Vec3.atBottomCenterOf($$7));
470                $$11.setVisualOnly($$9);                                470                $$11.setVisualOnly($$9);
471                this.addFreshEntity($$11);                              471                this.addFreshEntity($$11);
472             }                                                          472             }

net/minecraft/server/level/ServerLevel.java --- 2/2 --- Java
1598       return this.entityManager.areEntitiesLoaded($$0);               1598       return this.entityManager.areEntitiesLoaded($$0);
1599    }                                                                  1599    }
1600                                                                       1600 
1601    private boolean isPositionTickingWithEntitiesLoaded(long $$0) {    1601    public boolean isPositionTickingWithEntitiesLoaded(long $$0) {
1602       return this.areEntitiesLoaded($$0) && this.chunkSource.isPositi 1602       return this.areEntitiesLoaded($$0) && this.chunkSource.isPositi
.... onTicking($$0);                                                       .... onTicking($$0);
1603    }                                                                  1603    }
1604                                                                       1604 
1605    public boolean isPositionEntityTicking(BlockPos $$0) {             1605    public boolean isPositionEntityTicking(BlockPos $$0) {
1606       return this.entityManager.canPositionTick($$0) && this.chunkSou 1606       return this.entityManager.canPositionTick($$0) && this.chunkSou
.... rce.chunkMap.getDistanceManager().inEntityTickingRange(ChunkPos.asLon .... rce.chunkMap.getDistanceManager().inEntityTickingRange(ChunkPos.asLon
.... g($$0));                                                              .... g($$0));
1607    }                                                                  1607    }
....                                                                       1608 
....                                                                       1609    public boolean areEntitiesActuallyTicking(ChunkPos $$0) {
....                                                                       1610       return this.entityManager.isTicking($$0);
....                                                                       1611    }
1608                                                                       1612 
1609    public boolean isNaturalSpawningAllowed(BlockPos $$0) {            1613    public boolean isNaturalSpawningAllowed(BlockPos $$0) {
1610       return this.entityManager.canPositionTick($$0);                 1614       return this.entityManager.canPositionTick($$0);

net/minecraft/world/level/block/Block.java --- Java
404       return Component.translatable(this.getDescriptionId());          404       return Component.translatable(this.getDescriptionId());
405    }                                                                   405    }
406                                                                        406 
407    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity  407    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity 
... $$3, float $$4) {                                                      ... $$3, double $$4) {
408       $$3.causeFallDamage($$4, 1.0F, $$3.damageSources().fall());      408       $$3.causeFallDamage($$4, 1.0F, $$3.damageSources().fall());
409    }                                                                   409    }
410                                                                        410 

net/minecraft/world/level/block/CarvedPumpkinBlock.java --- Java
79                                                                         79 
80    private static void spawnGolemInWorld(Level $$0, BlockPattern.BlockP 80    private static void spawnGolemInWorld(Level $$0, BlockPattern.BlockP
.. atternMatch $$1, Entity $$2, BlockPos $$3) {                            .. atternMatch $$1, Entity $$2, BlockPos $$3) {
81       clearPatternBlocks($$0, $$1);                                     81       clearPatternBlocks($$0, $$1);
82       $$2.moveTo((double)$$3.getX() + 0.5, (double)$$3.getY() + 0.05, ( 82       $$2.snapTo((double)$$3.getX() + 0.5, (double)$$3.getY() + 0.05, (
.. double)$$3.getZ() + 0.5, 0.0F, 0.0F);                                   .. double)$$3.getZ() + 0.5, 0.0F, 0.0F);
83       $$0.addFreshEntity($$2);                                          83       $$0.addFreshEntity($$2);
84                                                                         84 
85       for (ServerPlayer $$4 : $$0.getEntitiesOfClass(ServerPlayer.class 85       for (ServerPlayer $$4 : $$0.getEntitiesOfClass(ServerPlayer.class
   , $$2.getBoundingBox().inflate(5.0))) {                                    , $$2.getBoundingBox().inflate(5.0))) {

net/minecraft/world/item/SpawnEggItem.java --- Java
160             if (!$$6.isBaby()) {                                       160             if (!$$6.isBaby()) {
161                return Optional.empty();                                161                return Optional.empty();
162             } else {                                                   162             } else {
163                $$6.moveTo($$4.x(), $$4.y(), $$4.z(), 0.0F, 0.0F);      163                $$6.snapTo($$4.x(), $$4.y(), $$4.z(), 0.0F, 0.0F);
164                $$3.addFreshEntityWithPassengers($$6);                  164                $$3.addFreshEntityWithPassengers($$6);
165                $$6.setCustomName($$5.get(DataComponents.CUSTOM_NAME)); 165                $$6.applyComponentsFromItemStack($$5);
166                $$5.consume(1, $$0);                                    166                $$5.consume(1, $$0);
167                return Optional.of($$6);                                167                return Optional.of($$6);
168             }                                                          168             }

net/minecraft/world/level/block/TestBlock.java --- Java
  1 package net.minecraft.world.level.block;
  2 
  3 import com.mojang.serialization.MapCodec;
  4 import javax.annotation.Nullable;
  5 import net.minecraft.core.BlockPos;
  6 import net.minecraft.core.Direction;
  7 import net.minecraft.core.component.DataComponents;
  8 import net.minecraft.server.level.ServerLevel;
  9 import net.minecraft.util.RandomSource;
 10 import net.minecraft.world.InteractionResult;
 11 import net.minecraft.world.entity.player.Player;
 12 import net.minecraft.world.item.ItemStack;
 13 import net.minecraft.world.item.component.BlockItemStateProperties;
 14 import net.minecraft.world.item.context.BlockPlaceContext;
 15 import net.minecraft.world.level.BlockGetter;
 16 import net.minecraft.world.level.Level;
 17 import net.minecraft.world.level.LevelReader;
 18 import net.minecraft.world.level.block.entity.BlockEntity;
 19 import net.minecraft.world.level.block.entity.TestBlockEntity;
 20 import net.minecraft.world.level.block.state.BlockBehaviour;
 21 import net.minecraft.world.level.block.state.BlockState;
 22 import net.minecraft.world.level.block.state.StateDefinition;
 23 import net.minecraft.world.level.block.state.properties.BlockStateProperties;
 24 import net.minecraft.world.level.block.state.properties.EnumProperty;
 25 import net.minecraft.world.level.block.state.properties.TestBlockMode;
 26 import net.minecraft.world.level.redstone.Orientation;
 27 import net.minecraft.world.phys.BlockHitResult;
 28 
 29 public class TestBlock extends BaseEntityBlock implements GameMasterBlock {
 30    public static final MapCodec<TestBlock> CODEC = simpleCodec(TestBlock::new);
 31    public static final EnumProperty<TestBlockMode> MODE = BlockStateProperties.TEST_BLOCK_MODE;
 32 
 33    public TestBlock(BlockBehaviour.Properties $$0) {
 34       super($$0);
 35    }
 36 
 37    @Nullable
 38    @Override
 39    public BlockEntity newBlockEntity(BlockPos $$0, BlockState $$1) {
 40       return new TestBlockEntity($$0, $$1);
 41    }
 42 
 43    @Override
 44    public BlockState getStateForPlacement(BlockPlaceContext $$0) {
 45       BlockItemStateProperties $$1 = $$0.getItemInHand().get(DataComponents.BLOCK_STATE);
 46       BlockState $$2 = this.defaultBlockState();
 47       if ($$1 != null) {
 48          TestBlockMode $$3 = $$1.get(MODE);
 49          if ($$3 != null) {
 50             $$2 = $$2.setValue(MODE, $$3);
 51          }
 52       }
 53 
 54       return $$2;
 55    }
 56 
 57    @Override
 58    protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> $$0) {
 59       $$0.add(MODE);
 60    }
 61 
 62    @Override
 63    protected InteractionResult useWithoutItem(BlockState $$0, Level $$1, BlockPos $$2, Player $$3, BlockHitResult $$4) {
 64       if ($$1.getBlockEntity($$2) instanceof TestBlockEntity $$6) {
 65          if (!$$3.canUseGameMasterBlocks()) {
 66             return InteractionResult.PASS;
 67          } else {
 68             if ($$1.isClientSide) {
 69                $$3.openTestBlock($$6);
 70             }
 71 
 72             return InteractionResult.SUCCESS;
 73          }
 74       } else {
 75          return InteractionResult.PASS;
 76       }
 77    }
 78 
 79    @Override
 80    protected void tick(BlockState $$0, ServerLevel $$1, BlockPos $$2, RandomSource $$3) {
 81       TestBlockEntity $$4 = getServerTestBlockEntity($$1, $$2);
 82       if ($$4 != null) {
 83          $$4.reset();
 84       }
 85    }
 86 
 87    @Override
 88    protected void neighborChanged(BlockState $$0, Level $$1, BlockPos $$2, Block $$3, @Nullable Orientation $$4, boolean $$5) {
 89       TestBlockEntity $$6 = getServerTestBlockEntity($$1, $$2);
 90       if ($$6 != null) {
 91          if ($$6.getMode() != TestBlockMode.START) {
 92             boolean $$7 = $$1.hasNeighborSignal($$2);
 93             boolean $$8 = $$6.isPowered();
 94             if ($$7 && !$$8) {
 95                $$6.setPowered(true);
 96                $$6.trigger();
 97             } else if (!$$7 && $$8) {
 98                $$6.setPowered(false);
 99             }
100          }
101       }
102    }
103 
104    @Nullable
105    private static TestBlockEntity getServerTestBlockEntity(Level $$0, BlockPos $$1) {
106       if ($$0 instanceof ServerLevel $$2) {
107          BlockEntity var4 = $$2.getBlockEntity($$1);
108          if (var4 instanceof TestBlockEntity) {
109             return (TestBlockEntity)var4;
110          }
111       }
112 
113       return null;
114    }
115 
116    @Override
117    public int getSignal(BlockState $$0, BlockGetter $$1, BlockPos $$2, Direction $$3) {
118       if ($$0.getValue(MODE) != TestBlockMode.START) {
119          return 0;
120       } else if ($$1.getBlockEntity($$2) instanceof TestBlockEntity $$5) {
121          return $$5.isPowered() ? 15 : 0;
122       } else {
123          return 0;
124       }
125    }
126 
127    @Override
128    protected ItemStack getCloneItemStack(LevelReader $$0, BlockPos $$1, BlockState $$2, boolean $$3) {
129       ItemStack $$4 = super.getCloneItemStack($$0, $$1, $$2, $$3);
130       return setModeOnStack($$4, $$2.getValue(MODE));
131    }
132 
133    public static ItemStack setModeOnStack(ItemStack $$0, TestBlockMode $$1) {
134       $$0.set(DataComponents.BLOCK_STATE, $$0.getOrDefault(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY).with(MODE, $$1));
135       return $$0;
136    }
137 
138    @Override
139    protected MapCodec<TestBlock> codec() {
140       return CODEC;
141    }
142 }
143 

net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java --- Java
430             createEntityIgnoreException($$0, $$9).ifPresent($$5x -> {  430             createEntityIgnoreException($$0, $$9).ifPresent($$5x -> {
431                float $$6x = $$5x.rotate($$3);                          431                float $$6x = $$5x.rotate($$3);
432                $$6x += $$5x.mirror($$2) - $$5x.getYRot();              432                $$6x += $$5x.mirror($$2) - $$5x.getYRot();
433                $$5x.moveTo($$11.x, $$11.y, $$11.z, $$6x, $$5x.getXRot( 433                $$5x.snapTo($$11.x, $$11.y, $$11.z, $$6x, $$5x.getXRot(
... ));                                                                    ... ));
434                if ($$6 && $$5x instanceof Mob) {                       434                if ($$6 && $$5x instanceof Mob) {
435                   ((Mob)$$5x).finalizeSpawn($$0, $$0.getCurrentDifficu 435                   ((Mob)$$5x).finalizeSpawn($$0, $$0.getCurrentDifficu
... ltyAt(BlockPos.containing($$11)), EntitySpawnReason.STRUCTURE, null);  ... ltyAt(BlockPos.containing($$11)), EntitySpawnReason.STRUCTURE, null);
436                }                                                       436                }

net/minecraft/client/renderer/entity/EntityRenderers.java --- 1/4 --- Java
112       register(EntityType.CREAKING, CreakingRenderer::new);            112       register(EntityType.CREAKING, CreakingRenderer::new);
113       register(EntityType.CREEPER, CreeperRenderer::new);              113       register(EntityType.CREEPER, CreeperRenderer::new);
114       register(EntityType.DOLPHIN, DolphinRenderer::new);              114       register(EntityType.DOLPHIN, DolphinRenderer::new);
115       register(EntityType.DONKEY, $$0 -> new DonkeyRenderer<>($$0, Mod 115       register(EntityType.DONKEY, $$0 -> new DonkeyRenderer<>($$0, Don
... elLayers.DONKEY, ModelLayers.DONKEY_BABY, false));                     ... keyRenderer.Type.DONKEY));
116       register(EntityType.DRAGON_FIREBALL, DragonFireballRenderer::new 116       register(EntityType.DRAGON_FIREBALL, DragonFireballRenderer::new
... );                                                                     ... );
117       register(EntityType.DROWNED, DrownedRenderer::new);              117       register(EntityType.DROWNED, DrownedRenderer::new);
118       register(EntityType.EGG, ThrownItemRenderer::new);               118       register(EntityType.EGG, ThrownItemRenderer::new);

net/minecraft/client/renderer/entity/EntityRenderers.java --- 2/4 --- Java
162       register(EntityType.MARKER, NoopRenderer::new);                  162       register(EntityType.MARKER, NoopRenderer::new);
163       register(EntityType.MINECART, $$0 -> new MinecartRenderer($$0, M 163       register(EntityType.MINECART, $$0 -> new MinecartRenderer($$0, M
... odelLayers.MINECART));                                                 ... odelLayers.MINECART));
164       register(EntityType.MOOSHROOM, MushroomCowRenderer::new);        164       register(EntityType.MOOSHROOM, MushroomCowRenderer::new);
165       register(EntityType.MULE, $$0 -> new DonkeyRenderer<>($$0, Model 165       register(EntityType.MULE, $$0 -> new DonkeyRenderer<>($$0, Donke
... Layers.MULE, ModelLayers.MULE_BABY, true));                            ... yRenderer.Type.MULE));
166       register(EntityType.OCELOT, OcelotRenderer::new);                166       register(EntityType.OCELOT, OcelotRenderer::new);
167       register(EntityType.PAINTING, PaintingRenderer::new);            167       register(EntityType.PAINTING, PaintingRenderer::new);
168       register(EntityType.PANDA, PandaRenderer::new);                  168       register(EntityType.PANDA, PandaRenderer::new);

net/minecraft/client/renderer/entity/EntityRenderers.java --- 3/4 --- Java
205       register(EntityType.SHULKER_BULLET, ShulkerBulletRenderer::new); 205       register(EntityType.SHULKER_BULLET, ShulkerBulletRenderer::new);
206       register(EntityType.SILVERFISH, SilverfishRenderer::new);        206       register(EntityType.SILVERFISH, SilverfishRenderer::new);
207       register(EntityType.SKELETON, SkeletonRenderer::new);            207       register(EntityType.SKELETON, SkeletonRenderer::new);
208       register(EntityType.SKELETON_HORSE, $$0 -> new UndeadHorseRender 208       register(EntityType.SKELETON_HORSE, $$0 -> new UndeadHorseRender
... er($$0, ModelLayers.SKELETON_HORSE, ModelLayers.SKELETON_HORSE_BABY, t ... er($$0, UndeadHorseRenderer.Type.SKELETON));
... rue));                                                                 ... 
209       register(EntityType.SLIME, SlimeRenderer::new);                  209       register(EntityType.SLIME, SlimeRenderer::new);
210       register(EntityType.SMALL_FIREBALL, $$0 -> new ThrownItemRendere 210       register(EntityType.SMALL_FIREBALL, $$0 -> new ThrownItemRendere
... r<>($$0, 0.75F, true));                                                ... r<>($$0, 0.75F, true));
211       register(EntityType.SNIFFER, SnifferRenderer::new);              211       register(EntityType.SNIFFER, SnifferRenderer::new);

net/minecraft/client/renderer/entity/EntityRenderers.java --- 4/4 --- Java
241       register(EntityType.WOLF, WolfRenderer::new);                    241       register(EntityType.WOLF, WolfRenderer::new);
242       register(EntityType.ZOGLIN, ZoglinRenderer::new);                242       register(EntityType.ZOGLIN, ZoglinRenderer::new);
243       register(EntityType.ZOMBIE, ZombieRenderer::new);                243       register(EntityType.ZOMBIE, ZombieRenderer::new);
244       register(EntityType.ZOMBIE_HORSE, $$0 -> new UndeadHorseRenderer 244       register(EntityType.ZOMBIE_HORSE, $$0 -> new UndeadHorseRenderer
... ($$0, ModelLayers.ZOMBIE_HORSE, ModelLayers.ZOMBIE_HORSE_BABY, false)) ... ($$0, UndeadHorseRenderer.Type.ZOMBIE));
... ;                                                                      ... 
245       register(EntityType.ZOMBIE_VILLAGER, ZombieVillagerRenderer::new 245       register(EntityType.ZOMBIE_VILLAGER, ZombieVillagerRenderer::new
... );                                                                     ... );
246       register(                                                        246       register(
247          EntityType.ZOMBIFIED_PIGLIN,                                  247          EntityType.ZOMBIFIED_PIGLIN,

net/minecraft/world/effect/OozingMobEffect.java --- Java
48       Slime $$4 = EntityType.SLIME.create($$0, EntitySpawnReason.TRIGGE 48       Slime $$4 = EntityType.SLIME.create($$0, EntitySpawnReason.TRIGGE
.. RED);                                                                   .. RED);
49       if ($$4 != null) {                                                49       if ($$4 != null) {
50          $$4.setSize(2, true);                                          50          $$4.setSize(2, true);
51          $$4.moveTo($$1, $$2, $$3, $$0.getRandom().nextFloat() * 360.0F 51          $$4.snapTo($$1, $$2, $$3, $$0.getRandom().nextFloat() * 360.0F
.. , 0.0F);                                                                .. , 0.0F);
52          $$0.addFreshEntity($$4);                                       52          $$0.addFreshEntity($$4);
53       }                                                                 53       }
54    }                                                                    54    }

net/minecraft/network/protocol/game/ServerGamePacketListener.java --- Java
86                                                                         86 
87    void handleSetStructureBlock(ServerboundSetStructureBlockPacket var1 87    void handleSetStructureBlock(ServerboundSetStructureBlockPacket var1
.. );                                                                      .. );
..                                                                         88 
..                                                                         89    void handleSetTestBlock(ServerboundSetTestBlockPacket var1);
..                                                                         90 
..                                                                         91    void handleTestInstanceBlockAction(ServerboundTestInstanceBlockActio
..                                                                         .. nPacket var1);
88                                                                         92 
89    void handleSelectTrade(ServerboundSelectTradePacket var1);           93    void handleSelectTrade(ServerboundSelectTradePacket var1);
90                                                                         94 

net/minecraft/world/level/block/FlowerBedBlock.java --- Java
 94    @Override                                                            94    @Override
 95    public void performBonemeal(ServerLevel $$0, RandomSource $$1, Bloc  95    public void performBonemeal(ServerLevel $$0, RandomSource $$1, Bloc
 .. kPos $$2, BlockState $$3) {                                             .. kPos $$2, BlockState $$3) {
 96       int $$4 = $$3.getValue(AMOUNT);                                   96       int $$4 = $$3.getValue(AMOUNT);
 97       if ($$4 < 1) {                                                    97       if ($$4 < 4) {
 98          $$0.setBlock($$2, $$3.setValue(AMOUNT, Integer.valueOf($$4 +   98          $$0.setBlock($$2, $$3.setValue(AMOUNT, Integer.valueOf($$4 + 
 .. 1)), 2);                                                                .. 1)), 2);
 99       } else {                                                          99       } else {
100          popResource($$0, $$2, new ItemStack(this));                   100          popResource($$0, $$2, new ItemStack(this));

net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java --- Java
107          $$1.setAge(6000);                                             107          $$1.setAge(6000);
108          $$2.setAge(6000);                                             108          $$2.setAge(6000);
109          $$3.setAge(-24000);                                           109          $$3.setAge(-24000);
110          $$3.moveTo($$1.getX(), $$1.getY(), $$1.getZ(), 0.0F, 0.0F);   110          $$3.snapTo($$1.getX(), $$1.getY(), $$1.getZ(), 0.0F, 0.0F);
111          $$0.addFreshEntityWithPassengers($$3);                        111          $$0.addFreshEntityWithPassengers($$3);
112          $$0.broadcastEntityEvent($$3, (byte)12);                      112          $$0.broadcastEntityEvent($$3, (byte)12);
113          return Optional.of($$3);                                      113          return Optional.of($$3);

net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java --- Java
28          ItemStack $$6 = $$1.split(1);                                  28          ItemStack $$6 = $$1.split(1);
29          $$4.setItemSlot($$5, $$6);                                     29          $$4.setItemSlot($$5, $$6);
30          if ($$4 instanceof Mob $$7) {                                  30          if ($$4 instanceof Mob $$7) {
31             $$7.setDropChance($$5, 2.0F);                               31             $$7.setGuaranteedDrop($$5);
32             $$7.setPersistenceRequired();                               32             $$7.setPersistenceRequired();
33          }                                                              33          }
34                                                                         34 

net/minecraft/util/StringRepresentable.java --- Java
64       };                                                                64       };
65    }                                                                    65    }
66                                                                         66 
67    @Deprecated                                                          .. 
68    public static class EnumCodec<E extends Enum<E> & StringRepresentabl 67    public static class EnumCodec<E extends Enum<E> & StringRepresentabl
.. e> extends StringRepresentable.StringRepresentableCodec<E> {            .. e> extends StringRepresentable.StringRepresentableCodec<E> {
69       private final Function<String, E> resolver;                       68       private final Function<String, E> resolver;
70                                                                         69 

net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager.java --- 1/2 --- Java
19 import java.nio.file.InvalidPathException;                              19 import java.nio.file.InvalidPathException;
20 import java.nio.file.NoSuchFileException;                               20 import java.nio.file.NoSuchFileException;
21 import java.nio.file.Path;                                              21 import java.nio.file.Path;
22 import java.nio.file.Paths;                                             .. 
23 import java.util.ArrayList;                                             22 import java.util.ArrayList;
24 import java.util.List;                                                  23 import java.util.List;
25 import java.util.Map;                                                   24 import java.util.Map;

net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager.java --- 2/2 --- Java
125    }                                                                   124    }
126                                                                        125 
127    private Optional<StructureTemplate> loadFromTestStructures(Resource 126    private Optional<StructureTemplate> loadFromTestStructures(Resource
... Location $$0) {                                                        ... Location $$0) {
128       return this.loadFromSnbt($$0, Paths.get(StructureUtils.testStruc 127       return this.loadFromSnbt($$0, StructureUtils.testStructuresDir);
... turesDir));                                                            ... 
129    }                                                                   128    }
130                                                                        129 
131    private Stream<ResourceLocation> listTestStructures() {             130    private Stream<ResourceLocation> listTestStructures() {
132       Path $$0 = Paths.get(StructureUtils.testStructuresDir);          ... 
133       if (!Files.isDirectory($$0)) {                                   131       if (!Files.isDirectory(StructureUtils.testStructuresDir)) {
134          return Stream.empty();                                        132          return Stream.empty();
135       } else {                                                         133       } else {
136          List<ResourceLocation> $$1 = new ArrayList<>();               134          List<ResourceLocation> $$0 = new ArrayList<>();
137          this.listFolderContents($$0, "minecraft", ".snbt", $$1::add); 135          this.listFolderContents(StructureUtils.testStructuresDir, "mi
...                                                                        ... necraft", ".snbt", $$0::add);
138          return $$1.stream();                                          136          return $$0.stream();
139       }                                                                137       }
140    }                                                                   138    }
141                                                                        139 

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 1/11 --- Java
37 import net.minecraft.commands.arguments.ArgumentSignatures;             37 import net.minecraft.commands.arguments.ArgumentSignatures;
38 import net.minecraft.core.BlockPos;                                     38 import net.minecraft.core.BlockPos;
39 import net.minecraft.core.Direction;                                    39 import net.minecraft.core.Direction;
..                                                                         40 import net.minecraft.core.Holder;
..                                                                         41 import net.minecraft.core.Registry;
..                                                                         42 import net.minecraft.core.Vec3i;
40 import net.minecraft.core.component.DataComponents;                     43 import net.minecraft.core.component.DataComponents;
41 import net.minecraft.core.registries.Registries;                        44 import net.minecraft.core.registries.Registries;
..                                                                         45 import net.minecraft.gametest.framework.GameTestInstance;
42 import net.minecraft.nbt.CompoundTag;                                   46 import net.minecraft.nbt.CompoundTag;
43 import net.minecraft.network.Connection;                                47 import net.minecraft.network.Connection;
44 import net.minecraft.network.DisconnectionDetails;                      48 import net.minecraft.network.DisconnectionDetails;

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 2/11 --- Java
72 import net.minecraft.network.protocol.game.ClientboundStartConfiguratio 76 import net.minecraft.network.protocol.game.ClientboundStartConfiguratio
.. nPacket;                                                                .. nPacket;
73 import net.minecraft.network.protocol.game.ClientboundSystemChatPacket; 77 import net.minecraft.network.protocol.game.ClientboundSystemChatPacket;
74 import net.minecraft.network.protocol.game.ClientboundTagQueryPacket;   78 import net.minecraft.network.protocol.game.ClientboundTagQueryPacket;
..                                                                         79 import net.minecraft.network.protocol.game.ClientboundTestInstanceBlock
..                                                                         .. Status;
75 import net.minecraft.network.protocol.game.ServerGamePacketListener;    80 import net.minecraft.network.protocol.game.ServerGamePacketListener;
76 import net.minecraft.network.protocol.game.ServerboundAcceptTeleportati 81 import net.minecraft.network.protocol.game.ServerboundAcceptTeleportati
.. onPacket;                                                               .. onPacket;
77 import net.minecraft.network.protocol.game.ServerboundBlockEntityTagQue 82 import net.minecraft.network.protocol.game.ServerboundBlockEntityTagQue
   ryPacket;                                                                  ryPacket;

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 3/11 --- Java
120 import net.minecraft.network.protocol.game.ServerboundSetCreativeModeS 125 import net.minecraft.network.protocol.game.ServerboundSetCreativeModeS
... lotPacket;                                                             ... lotPacket;
121 import net.minecraft.network.protocol.game.ServerboundSetJigsawBlockPa 126 import net.minecraft.network.protocol.game.ServerboundSetJigsawBlockPa
... cket;                                                                  ... cket;
122 import net.minecraft.network.protocol.game.ServerboundSetStructureBloc 127 import net.minecraft.network.protocol.game.ServerboundSetStructureBloc
... kPacket;                                                               ... kPacket;
...                                                                        128 import net.minecraft.network.protocol.game.ServerboundSetTestBlockPack
...                                                                        ... et;
123 import net.minecraft.network.protocol.game.ServerboundSignUpdatePacket 129 import net.minecraft.network.protocol.game.ServerboundSignUpdatePacket
... ;                                                                      ... ;
124 import net.minecraft.network.protocol.game.ServerboundSwingPacket;     130 import net.minecraft.network.protocol.game.ServerboundSwingPacket;
125 import net.minecraft.network.protocol.game.ServerboundTeleportToEntity 131 import net.minecraft.network.protocol.game.ServerboundTeleportToEntity
... Packet;                                                                ... Packet;
...                                                                        132 import net.minecraft.network.protocol.game.ServerboundTestInstanceBloc
...                                                                        ... kActionPacket;
126 import net.minecraft.network.protocol.game.ServerboundUseItemOnPacket; 133 import net.minecraft.network.protocol.game.ServerboundUseItemOnPacket;
127 import net.minecraft.network.protocol.game.ServerboundUseItemPacket;   134 import net.minecraft.network.protocol.game.ServerboundUseItemPacket;
128 import net.minecraft.network.protocol.ping.ClientboundPongResponsePack 135 import net.minecraft.network.protocol.ping.ClientboundPongResponsePack
    et;                                                                        et;

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 4/11 --- Java
183 import net.minecraft.world.level.block.entity.JigsawBlockEntity;       190 import net.minecraft.world.level.block.entity.JigsawBlockEntity;
184 import net.minecraft.world.level.block.entity.SignBlockEntity;         191 import net.minecraft.world.level.block.entity.SignBlockEntity;
185 import net.minecraft.world.level.block.entity.StructureBlockEntity;    192 import net.minecraft.world.level.block.entity.StructureBlockEntity;
...                                                                        193 import net.minecraft.world.level.block.entity.TestBlockEntity;
...                                                                        194 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
186 import net.minecraft.world.level.block.state.BlockBehaviour;           195 import net.minecraft.world.level.block.state.BlockBehaviour;
187 import net.minecraft.world.level.block.state.BlockState;               196 import net.minecraft.world.level.block.state.BlockState;
188 import net.minecraft.world.phys.AABB;                                  197 import net.minecraft.world.phys.AABB;

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 5/11 --- Java
266       this.player.yo = this.player.getY();                             275       this.player.yo = this.player.getY();
267       this.player.zo = this.player.getZ();                             276       this.player.zo = this.player.getZ();
268       this.player.doTick();                                            277       this.player.doTick();
269       this.player.absMoveTo(this.firstGoodX, this.firstGoodY, this.fir 278       this.player.absSnapTo(this.firstGoodX, this.firstGoodY, this.fir
... stGoodZ, this.player.getYRot(), this.player.getXRot());                ... stGoodZ, this.player.getYRot(), this.player.getXRot());
270       this.tickCount++;                                                279       this.tickCount++;
271       this.knownMovePacketCount = this.receivedMovePacketCount;        280       this.knownMovePacketCount = this.receivedMovePacketCount;
272       if (this.clientIsFloating && !this.player.isSleeping() && !this. 281       if (this.clientIsFloating && !this.player.isSleeping() && !this.
    player.isPassenger() && !this.player.isDeadOrDying()) {                    player.isPassenger() && !this.player.isDeadOrDying()) {

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 6/11 --- Java
439                LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", $$1 448                LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", $$1
... .getName().getString(), this.player.getName().getString(), Math.sqrt($ ... .getName().getString(), this.player.getName().getString(), Math.sqrt($
... $15));                                                                 ... $15));
440             }                                                          449             }
441                                                                        450 
442             $$1.absMoveTo($$6, $$7, $$8, $$9, $$10);                   451             $$1.absSnapTo($$6, $$7, $$8, $$9, $$10);
443             boolean $$21 = $$2.noCollision($$1, $$1.getBoundingBox().d 452             boolean $$21 = $$2.noCollision($$1, $$1.getBoundingBox().d
... eflate(0.0625));                                                       ... eflate(0.0625));
444             if ($$16 && ($$20 || !$$21)) {                             453             if ($$16 && ($$20 || !$$21)) {
445                $$1.absMoveTo($$3, $$4, $$5, $$9, $$10);                454                $$1.absSnapTo($$3, $$4, $$5, $$9, $$10);
446                this.send(ClientboundMoveVehiclePacket.fromEntity($$1)) 455                this.send(ClientboundMoveVehiclePacket.fromEntity($$1))
... ;                                                                      ... ;
447                return;                                                 456                return;
448             }                                                          457             }

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 7/11 --- Java
476          }                                                             485          }
477                                                                        486 
478          this.player                                                   487          this.player
479             .absMoveTo(                                                488             .absSnapTo(
480                this.awaitingPositionFromClient.x,                      489                this.awaitingPositionFromClient.x,
481                this.awaitingPositionFromClient.y,                      490                this.awaitingPositionFromClient.y,
482                this.awaitingPositionFromClient.z,                      491                this.awaitingPositionFromClient.z,

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 8/11 --- Java
764       }                                                                773       }
765    }                                                                   774    }
...                                                                        775 
...                                                                        776    @Override
...                                                                        777    public void handleSetTestBlock(ServerboundSetTestBlockPacket $$0) {
...                                                                        778       PacketUtils.ensureRunningOnSameThread($$0, this, this.player.ser
...                                                                        ... verLevel());
...                                                                        779       if (this.player.canUseGameMasterBlocks()) {
...                                                                        780          BlockPos $$1 = $$0.position();
...                                                                        781          BlockState $$2 = this.player.level().getBlockState($$1);
...                                                                        782          if (this.player.level().getBlockEntity($$1) instanceof TestBl
...                                                                        ... ockEntity $$4) {
...                                                                        783             $$4.setMode($$0.mode());
...                                                                        784             $$4.setMessage($$0.message());
...                                                                        785             $$4.setChanged();
...                                                                        786             this.player.level().sendBlockUpdated($$1, $$2, $$4.getBloc
...                                                                        ... kState(), 3);
...                                                                        787          }
...                                                                        788       }
...                                                                        789    }
...                                                                        790 
...                                                                        791    @Override
...                                                                        792    public void handleTestInstanceBlockAction(ServerboundTestInstanceBl
...                                                                        ... ockActionPacket $$0) {
...                                                                        793       PacketUtils.ensureRunningOnSameThread($$0, this, this.player.ser
...                                                                        ... verLevel());
...                                                                        794       BlockPos $$1 = $$0.pos();
...                                                                        795       if (this.player.canUseGameMasterBlocks() && this.player.level().
...                                                                        ... getBlockEntity($$1) instanceof TestInstanceBlockEntity $$2) {
...                                                                        796          if ($$0.action() != ServerboundTestInstanceBlockActionPacket.
...                                                                        ... Action.QUERY && $$0.action() != ServerboundTestInstanceBlockActionPack
...                                                                        ... et.Action.INIT) {
...                                                                        797             $$2.set($$0.data());
...                                                                        798             if ($$0.action() == ServerboundTestInstanceBlockActionPack
...                                                                        ... et.Action.RESET) {
...                                                                        799                $$2.resetTest(this.player::sendSystemMessage);
...                                                                        800             } else if ($$0.action() == ServerboundTestInstanceBlockAct
...                                                                        ... ionPacket.Action.SAVE) {
...                                                                        801                $$2.saveTest(this.player::sendSystemMessage);
...                                                                        802             } else if ($$0.action() == ServerboundTestInstanceBlockAct
...                                                                        ... ionPacket.Action.EXPORT) {
...                                                                        803                $$2.exportTest(this.player::sendSystemMessage);
...                                                                        804             } else if ($$0.action() == ServerboundTestInstanceBlockAct
...                                                                        ... ionPacket.Action.RUN) {
...                                                                        805                $$2.runTest(this.player::sendSystemMessage);
...                                                                        806             }
...                                                                        807 
...                                                                        808             BlockState $$10 = this.player.level().getBlockState($$1);
...                                                                        809             this.player.level().sendBlockUpdated($$1, Blocks.AIR.defau
...                                                                        ... ltBlockState(), $$10, 3);
...                                                                        810          } else {
...                                                                        811             Registry<GameTestInstance> $$4 = this.player.registryAcces
...                                                                        ... s().lookupOrThrow(Registries.TEST_INSTANCE);
...                                                                        812             Optional<Holder.Reference<GameTestInstance>> $$5 = $$0.dat
...                                                                        ... a().test().flatMap($$4::get);
...                                                                        813             Component $$6;
...                                                                        814             if ($$5.isPresent()) {
...                                                                        815                $$6 = $$5.get().value().describe();
...                                                                        816             } else {
...                                                                        817                $$6 = Component.translatable("test_instance.description
...                                                                        ... .no_test").withStyle(ChatFormatting.RED);
...                                                                        818             }
...                                                                        819 
...                                                                        820             Optional<Vec3i> $$8;
...                                                                        821             if ($$0.action() == ServerboundTestInstanceBlockActionPack
...                                                                        ... et.Action.QUERY) {
...                                                                        822                $$8 = $$0.data().test().flatMap($$0x -> TestInstanceBlo
...                                                                        ... ckEntity.getStructureSize(this.player.serverLevel(), $$0x));
...                                                                        823             } else {
...                                                                        824                $$8 = Optional.empty();
...                                                                        825             }
...                                                                        826 
...                                                                        827             this.connection.send(new ClientboundTestInstanceBlockStatu
...                                                                        ... s($$6, $$8));
...                                                                        828          }
...                                                                        829       }
...                                                                        830    }
766                                                                        831 
767    @Override                                                           832    @Override
768    public void handleSetJigsawBlock(ServerboundSetJigsawBlockPacket $$ 833    public void handleSetJigsawBlock(ServerboundSetJigsawBlockPacket $$
    0) {                                                                       0) {

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 9/11 --- Java
896                float $$2 = Mth.wrapDegrees($$0.getYRot(this.player.get 961                float $$2 = Mth.wrapDegrees($$0.getYRot(this.player.get
... YRot()));                                                              ... YRot()));
897                float $$3 = Mth.wrapDegrees($$0.getXRot(this.player.get 962                float $$3 = Mth.wrapDegrees($$0.getXRot(this.player.get
... XRot()));                                                              ... XRot()));
898                if (this.updateAwaitingTeleport()) {                    963                if (this.updateAwaitingTeleport()) {
899                   this.player.absRotateTo($$2, $$3);                   964                   this.player.absSnapRotationTo($$2, $$3);
900                } else {                                                965                } else {
901                   double $$4 = clampHorizontal($$0.getX(this.player.ge 966                   double $$4 = clampHorizontal($$0.getX(this.player.ge
... tX()));                                                                ... tX()));
902                   double $$5 = clampVertical($$0.getY(this.player.getY 967                   double $$5 = clampVertical($$0.getY(this.player.getY
... ()));                                                                  ... ()));
903                   double $$6 = clampHorizontal($$0.getZ(this.player.ge 968                   double $$6 = clampHorizontal($$0.getZ(this.player.ge
... tZ()));                                                                ... tZ()));
904                   if (this.player.isPassenger()) {                     969                   if (this.player.isPassenger()) {
905                      this.player.absMoveTo(this.player.getX(), this.pl 970                      this.player.absSnapTo(this.player.getX(), this.pl
... ayer.getY(), this.player.getZ(), $$2, $$3);                            ... ayer.getY(), this.player.getZ(), $$2, $$3);
906                      this.player.serverLevel().getChunkSource().move(t 971                      this.player.serverLevel().getChunkSource().move(t
... his.player);                                                           ... his.player);
907                   } else {                                             972                   } else {
908                      double $$7 = this.player.getX();                  973                      double $$7 = this.player.getX();

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 10/11 --- Java
969                         if (this.player.noPhysics                      1034                         if (this.player.noPhysics
970                            || this.player.isSleeping()                 1035                            || this.player.isSleeping()
971                            || (!$$22 || !$$1.noCollision(this.player,  1036                            || (!$$22 || !$$1.noCollision(this.player, 
... $$18)) && !this.isPlayerCollidingWithAnythingNew($$1, $$18, $$4, $$5,  .... $$18)) && !this.isPlayerCollidingWithAnythingNew($$1, $$18, $$4, $$5, 
... $$6)) {                                                                .... $$6)) {
972                            this.player.absMoveTo($$4, $$5, $$6, $$2, $ 1037                            this.player.absSnapTo($$4, $$5, $$6, $$2, $
... $3);                                                                   .... $3);
973                            boolean $$23 = this.player.isAutoSpinAttack 1038                            boolean $$23 = this.player.isAutoSpinAttack
... ();                                                                    .... ();
974                            this.clientIsFloating = $$11 >= -0.03125    1039                            this.clientIsFloating = $$11 >= -0.03125
975                               && !$$20                                 1040                               && !$$20

net/minecraft/server/network/ServerGamePacketListenerImpl.java --- 11/11 --- Java
1186             float $$4 = Mth.wrapDegrees($$0.getYRot());               1251             float $$4 = Mth.wrapDegrees($$0.getYRot());
1187             float $$5 = Mth.wrapDegrees($$0.getXRot());               1252             float $$5 = Mth.wrapDegrees($$0.getXRot());
1188             if ($$5 != this.player.getXRot() || $$4 != this.player.ge 1253             if ($$5 != this.player.getXRot() || $$4 != this.player.ge
.... tYRot()) {                                                            .... tYRot()) {
1189                this.player.absRotateTo($$4, $$5);                     1254                this.player.absSnapRotationTo($$4, $$5);
1190             }                                                         1255             }
1191                                                                       1256 
1192             if (this.player.gameMode.useItem(this.player, $$1, $$3, $ 1257             if (this.player.gameMode.useItem(this.player, $$1, $$3, $
     $2) instanceof InteractionResult.Success $$7                               $2) instanceof InteractionResult.Success $$7

net/minecraft/world/level/block/state/properties/BlockStateProperties.java --- Java
145    public static final EnumProperty<VaultState> VAULT_STATE = EnumProp 145    public static final EnumProperty<VaultState> VAULT_STATE = EnumProp
... erty.create("vault_state", VaultState.class);                          ... erty.create("vault_state", VaultState.class);
146    public static final EnumProperty<CreakingHeartState> CREAKING_HEART 146    public static final EnumProperty<CreakingHeartState> CREAKING_HEART
... _STATE = EnumProperty.create("creaking_heart_state", CreakingHeartStat ... _STATE = EnumProperty.create("creaking_heart_state", CreakingHeartStat
... e.class);                                                              ... e.class);
147    public static final BooleanProperty OMINOUS = BooleanProperty.creat 147    public static final BooleanProperty OMINOUS = BooleanProperty.creat
... e("ominous");                                                          ... e("ominous");
...                                                                        148    public static final EnumProperty<TestBlockMode> TEST_BLOCK_MODE = E
...                                                                        ... numProperty.create("test_block_mode", TestBlockMode.class);
148 }                                                                      149 }

net/minecraft/client/renderer/entity/state/SaddleableRenderState.java --- Java
 1 package net.minecraft.client.renderer.entity.state;
 2 
 3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;
 5 
 6 @Environment(EnvType.CLIENT)
 7 public interface SaddleableRenderState {
 8    boolean isSaddled();
 9 }
10 

net/minecraft/client/renderer/entity/state/CamelRenderState.java --- Java
 3 import net.fabricmc.api.EnvType;                                         3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 5 import net.minecraft.world.entity.AnimationState;                        5 import net.minecraft.world.entity.AnimationState;
 .                                                                          6 import net.minecraft.world.item.ItemStack;
 6                                                                          7 
 7 @Environment(EnvType.CLIENT)                                             8 @Environment(EnvType.CLIENT)
 8 public class CamelRenderState extends LivingEntityRenderState {          9 public class CamelRenderState extends LivingEntityRenderState {
 9    public boolean isSaddled;                                            10    public ItemStack saddle = ItemStack.EMPTY;
10    public boolean isRidden;                                             11    public boolean isRidden;
11    public float jumpCooldown;                                           12    public float jumpCooldown;
12    public final AnimationState sitAnimationState = new AnimationState() 13    public final AnimationState sitAnimationState = new AnimationState()
   ;                                                                          ;

net/minecraft/server/commands/ExecuteCommand.java --- 1/2 --- Java
1026       ContextChain<T> $$4,                                            1026       ContextChain<T> $$4,
1027       @Nullable CompoundTag $$5,                                      1027       @Nullable CompoundTag $$5,
1028       ExecutionControl<T> $$6,                                        1028       ExecutionControl<T> $$6,
1029       ExecuteCommand.CommandGetter<T, Collection<CommandFunction<T>>> 1029       InCommandFunction<CommandContext<T>, Collection<CommandFunction
....  $$7,                                                                 .... <T>>> $$7,
1030       ChainModifiers $$8                                              1030       ChainModifiers $$8
1031    ) {                                                                1031    ) {
1032       List<T> $$9 = new ArrayList<>($$1.size());                      1032       List<T> $$9 = new ArrayList<>($$1.size());
1033                                                                       1033 
1034       Collection<CommandFunction<T>> $$10;                            1034       Collection<CommandFunction<T>> $$10;
1035       try {                                                           1035       try {
1036          $$10 = $$7.get($$4.getTopContext().copyFor($$0));            1036          $$10 = $$7.apply($$4.getTopContext().copyFor($$0));
1037       } catch (CommandSyntaxException var18) {                        1037       } catch (CommandSyntaxException var18) {
1038          $$0.handleError(var18, $$8.isForked(), $$6.tracer());        1038          $$0.handleError(var18, $$8.isForked(), $$6.tracer());
1039          return;                                                      1039          return;

net/minecraft/server/commands/ExecuteCommand.java --- 2/2 --- Java
1077       }                                                               1077       }
1078    }                                                                  1078    }
1079                                                                       .... 
1080    @FunctionalInterface                                               .... 
1081    public interface CommandGetter<T, R> {                             .... 
1082       R get(CommandContext<T> var1) throws CommandSyntaxException;    .... 
1083    }                                                                  .... 
1084                                                                       1079 
1085    @FunctionalInterface                                               1080    @FunctionalInterface
1086    interface CommandNumericPredicate {                                1081    interface CommandNumericPredicate {

net/minecraft/core/HolderGetter.java --- Java
28          return this.lookup($$0.registryKey()).flatMap($$1 -> $$1.get($ 28          return this.lookup($$0.registryKey()).flatMap($$1 -> $$1.get($
.. $0));                                                                   .. $0));
29       }                                                                 29       }
..                                                                         30 
..                                                                         31       default <T> Holder.Reference<T> getOrThrow(ResourceKey<T> $$0) {
..                                                                         32          return this.lookup($$0.registryKey()).flatMap($$1 -> $$1.get($
..                                                                         .. $0)).orElseThrow(() -> new IllegalStateException("Missing element " + $
..                                                                         .. $0));
..                                                                         33       }
30    }                                                                    34    }
31 }                                                                       35 }

net/minecraft/world/entity/ai/behavior/YieldJobSite.java --- 1/2 --- Java
30                   ($$2, $$3, $$4, $$5, $$6) -> ($$6x, $$7, $$8) -> {    30                   ($$2, $$3, $$4, $$5, $$6) -> ($$6x, $$7, $$8) -> {
31                         if ($$7.isBaby()) {                             31                         if ($$7.isBaby()) {
32                            return false;                                32                            return false;
33                         } else if ($$7.getVillagerData().getProfession( 33                         } else if (!$$7.getVillagerData().profession().
.. ) != VillagerProfession.NONE) {                                         .. is(VillagerProfession.NONE)) {
34                            return false;                                34                            return false;
35                         } else {                                        35                         } else {
36                            BlockPos $$9 = $$1.<GlobalPos>get($$2).pos() 36                            BlockPos $$9 = $$1.<GlobalPos>get($$2).pos()
   ;                                                                          ;

net/minecraft/world/entity/ai/behavior/YieldJobSite.java --- 2/2 --- Java
69          return false;                                                  69          return false;
70       } else {                                                          70       } else {
71          Optional<GlobalPos> $$4 = $$1.getBrain().getMemory(MemoryModul 71          Optional<GlobalPos> $$4 = $$1.getBrain().getMemory(MemoryModul
.. eType.JOB_SITE);                                                        .. eType.JOB_SITE);
72          VillagerProfession $$5 = $$1.getVillagerData().getProfession() 72          Holder<VillagerProfession> $$5 = $$1.getVillagerData().profess
.. ;                                                                       .. ion();
73          if ($$5.heldJobSite().test($$0)) {                             73          if ($$5.value().heldJobSite().test($$0)) {
74             return $$4.isEmpty() ? canReachPos($$1, $$2, $$0.value()) : 74             return $$4.isEmpty() ? canReachPos($$1, $$2, $$0.value()) :
..  $$4.get().pos().equals($$2);                                           ..  $$4.get().pos().equals($$2);
75          } else {                                                       75          } else {
76             return false;                                               76             return false;

net/minecraft/client/renderer/entity/state/VillagerDataHolderRenderState.java --- Java
 1 package net.minecraft.client.renderer.entity.state;                      1 package net.minecraft.client.renderer.entity.state;
 2                                                                          2 
 .                                                                          3 import javax.annotation.Nullable;
 3 import net.fabricmc.api.EnvType;                                         4 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     5 import net.fabricmc.api.Environment;
 5 import net.minecraft.world.entity.npc.VillagerData;                      6 import net.minecraft.world.entity.npc.VillagerData;
 6                                                                          7 
 7 @Environment(EnvType.CLIENT)                                             8 @Environment(EnvType.CLIENT)
 8 public interface VillagerDataHolderRenderState {                         9 public interface VillagerDataHolderRenderState {
 .                                                                         10    @Nullable
 9    VillagerData getVillagerData();                                      11    VillagerData getVillagerData();
10 }                                                                       12 }

net/minecraft/client/model/PolarBearModel.java --- 1/3 --- Java
15 @Environment(EnvType.CLIENT)                                            15 @Environment(EnvType.CLIENT)
16 public class PolarBearModel extends QuadrupedModel<PolarBearRenderState 16 public class PolarBearModel extends QuadrupedModel<PolarBearRenderState
.. > {                                                                     .. > {
17    private static final float BABY_HEAD_SCALE = 2.25F;                  17    private static final float BABY_HEAD_SCALE = 2.25F;
18    public static final MeshTransformer BABY_TRANSFORMER = new BabyModel 18    private static final MeshTransformer BABY_TRANSFORMER = new BabyMode
.. Transform(true, 16.0F, 4.0F, 2.25F, 2.0F, 24.0F, Set.of("head"));       .. lTransform(true, 16.0F, 4.0F, 2.25F, 2.0F, 24.0F, Set.of("head"));
19                                                                         19 
20    public PolarBearModel(ModelPart $$0) {                               20    public PolarBearModel(ModelPart $$0) {
21       super($$0);                                                       21       super($$0);
22    }                                                                    22    }
23                                                                         23 
24    public static LayerDefinition createBodyLayer() {                    24    public static LayerDefinition createBodyLayer(boolean $$0) {
25       MeshDefinition $$0 = new MeshDefinition();                        25       MeshDefinition $$1 = new MeshDefinition();
26       PartDefinition $$1 = $$0.getRoot();                               26       PartDefinition $$2 = $$1.getRoot();
27       $$1.addOrReplaceChild(                                            27       $$2.addOrReplaceChild(
28          "head",                                                        28          "head",
29          CubeListBuilder.create()                                       29          CubeListBuilder.create()
30             .texOffs(0, 0)                                              30             .texOffs(0, 0)

net/minecraft/client/model/PolarBearModel.java --- 2/3 --- Java
38             .addBox("left_ear", 2.5F, -4.0F, -1.0F, 2.0F, 2.0F, 1.0F),  38             .addBox("left_ear", 2.5F, -4.0F, -1.0F, 2.0F, 2.0F, 1.0F),
39          PartPose.offset(0.0F, 10.0F, -16.0F)                           39          PartPose.offset(0.0F, 10.0F, -16.0F)
40       );                                                                40       );
41       $$1.addOrReplaceChild(                                            41       $$2.addOrReplaceChild(
42          "body",                                                        42          "body",
43          CubeListBuilder.create()                                       43          CubeListBuilder.create()
44             .texOffs(0, 19)                                             44             .texOffs(0, 19)

net/minecraft/client/model/PolarBearModel.java --- 3/3 --- Java
47             .addBox(-4.0F, -25.0F, -7.0F, 12.0F, 12.0F, 10.0F),         47             .addBox(-4.0F, -25.0F, -7.0F, 12.0F, 12.0F, 10.0F),
48          PartPose.offsetAndRotation(-2.0F, 9.0F, 12.0F, (float) (Math.P 48          PartPose.offsetAndRotation(-2.0F, 9.0F, 12.0F, (float) (Math.P
.. I / 2), 0.0F, 0.0F)                                                     .. I / 2), 0.0F, 0.0F)
49       );                                                                49       );
50       int $$2 = 10;                                                     50       int $$3 = 10;
51       CubeListBuilder $$3 = CubeListBuilder.create().texOffs(50, 22).ad 51       CubeListBuilder $$4 = CubeListBuilder.create().texOffs(50, 22).ad
.. dBox(-2.0F, 0.0F, -2.0F, 4.0F, 10.0F, 8.0F);                            .. dBox(-2.0F, 0.0F, -2.0F, 4.0F, 10.0F, 8.0F);
52       $$1.addOrReplaceChild("right_hind_leg", $$3, PartPose.offset(-4.5 52       $$2.addOrReplaceChild("right_hind_leg", $$4, PartPose.offset(-4.5
.. F, 14.0F, 6.0F));                                                       .. F, 14.0F, 6.0F));
53       $$1.addOrReplaceChild("left_hind_leg", $$3, PartPose.offset(4.5F, 53       $$2.addOrReplaceChild("left_hind_leg", $$4, PartPose.offset(4.5F,
..  14.0F, 6.0F));                                                         ..  14.0F, 6.0F));
54       CubeListBuilder $$4 = CubeListBuilder.create().texOffs(50, 40).ad 54       CubeListBuilder $$5 = CubeListBuilder.create().texOffs(50, 40).ad
.. dBox(-2.0F, 0.0F, -2.0F, 4.0F, 10.0F, 6.0F);                            .. dBox(-2.0F, 0.0F, -2.0F, 4.0F, 10.0F, 6.0F);
55       $$1.addOrReplaceChild("right_front_leg", $$4, PartPose.offset(-3. 55       $$2.addOrReplaceChild("right_front_leg", $$5, PartPose.offset(-3.
.. 5F, 14.0F, -8.0F));                                                     .. 5F, 14.0F, -8.0F));
56       $$1.addOrReplaceChild("left_front_leg", $$4, PartPose.offset(3.5F 56       $$2.addOrReplaceChild("left_front_leg", $$5, PartPose.offset(3.5F
.. , 14.0F, -8.0F));                                                       .. , 14.0F, -8.0F));
57       return LayerDefinition.create($$0, 128, 64).apply(MeshTransformer 57       return LayerDefinition.create($$1, 128, 64).apply($$0 ? BABY_TRAN
.. .scaling(1.2F));                                                        .. SFORMER : MeshTransformer.IDENTITY).apply(MeshTransformer.scaling(1.2F)
..                                                                         .. );
58    }                                                                    58    }
59                                                                         59 
60    public void setupAnim(PolarBearRenderState $$0) {                    60    public void setupAnim(PolarBearRenderState $$0) {

net/minecraft/server/MinecraftServer.java --- Java
1051       this.tickConnection();                                          1051       this.tickConnection();
1052       $$1.popPush("players");                                         1052       $$1.popPush("players");
1053       this.playerList.tick();                                         1053       this.playerList.tick();
1054       if (SharedConstants.IS_RUNNING_IN_IDE && this.tickRateManager.r 1054       if (this.tickRateManager.runsNormally()) {
.... unsNormally()) {                                                      .... 
1055          GameTestTicker.SINGLETON.tick();                             1055          GameTestTicker.SINGLETON.tick();
1056       }                                                               1056       }
1057                                                                       1057 

net/minecraft/world/inventory/SlotRanges.java --- Java
39       addSingleSlot($$0, "armor.feet", $$6);                            39       addSingleSlot($$0, "armor.feet", $$6);
40       addSingleSlot($$0, "armor.body", $$7);                            40       addSingleSlot($$0, "armor.body", $$7);
41       addSlots($$0, "armor.*", $$1, $$2, $$5, $$6, $$7);                41       addSlots($$0, "armor.*", $$1, $$2, $$5, $$6, $$7);
42       addSingleSlot($$0, "horse.saddle", 400);                          42       addSingleSlot($$0, "saddle", EquipmentSlot.SADDLE.getIndex(106));
43       addSingleSlot($$0, "horse.chest", 499);                           43       addSingleSlot($$0, "horse.chest", 499);
44       addSingleSlot($$0, "player.cursor", 499);                         44       addSingleSlot($$0, "player.cursor", 499);
45       addSlotRange($$0, "player.crafting.", 500, 4);                    45       addSlotRange($$0, "player.crafting.", 500, 4);

net/minecraft/world/level/block/BedBlock.java --- Java
131    }                                                                   131    }
132                                                                        132 
133    @Override                                                           133    @Override
134    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity  134    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity 
... $$3, float $$4) {                                                      ... $$3, double $$4) {
135       super.fallOn($$0, $$1, $$2, $$3, $$4 * 0.5F);                    135       super.fallOn($$0, $$1, $$2, $$3, $$4 * 0.5);
136    }                                                                   136    }
137                                                                        137 
138    @Override                                                           138    @Override

net/minecraft/world/entity/npc/Villager.java --- 1/16 --- Java
16 import net.minecraft.core.BlockPos;                                     16 import net.minecraft.core.BlockPos;
17 import net.minecraft.core.GlobalPos;                                    17 import net.minecraft.core.GlobalPos;
18 import net.minecraft.core.Holder;                                       18 import net.minecraft.core.Holder;
..                                                                         19 import net.minecraft.core.component.DataComponentGetter;
..                                                                         20 import net.minecraft.core.component.DataComponentType;
..                                                                         21 import net.minecraft.core.component.DataComponents;
19 import net.minecraft.core.particles.ParticleTypes;                      22 import net.minecraft.core.particles.ParticleTypes;
20 import net.minecraft.core.registries.BuiltInRegistries;                 23 import net.minecraft.core.registries.BuiltInRegistries;
21 import net.minecraft.nbt.CompoundTag;                                   24 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/entity/npc/Villager.java --- 2/16 --- Java
27 import net.minecraft.network.syncher.EntityDataAccessor;                30 import net.minecraft.network.syncher.EntityDataAccessor;
28 import net.minecraft.network.syncher.EntityDataSerializers;             31 import net.minecraft.network.syncher.EntityDataSerializers;
29 import net.minecraft.network.syncher.SynchedEntityData;                 32 import net.minecraft.network.syncher.SynchedEntityData;
..                                                                         33 import net.minecraft.resources.ResourceKey;
30 import net.minecraft.server.MinecraftServer;                            34 import net.minecraft.server.MinecraftServer;
31 import net.minecraft.server.level.ServerLevel;                          35 import net.minecraft.server.level.ServerLevel;
32 import net.minecraft.sounds.SoundEvent;                                 36 import net.minecraft.sounds.SoundEvent;

net/minecraft/world/entity/npc/Villager.java --- 3/16 --- Java
165       MemoryModuleType.HOME,                                           169       MemoryModuleType.HOME,
166       ($$0, $$1) -> $$1.is(PoiTypes.HOME),                             170       ($$0, $$1) -> $$1.is(PoiTypes.HOME),
167       MemoryModuleType.JOB_SITE,                                       171       MemoryModuleType.JOB_SITE,
168       ($$0, $$1) -> $$0.getVillagerData().getProfession().heldJobSite( 172       ($$0, $$1) -> $$0.getVillagerData().profession().value().heldJob
... ).test($$1),                                                           ... Site().test($$1),
169       MemoryModuleType.POTENTIAL_JOB_SITE,                             173       MemoryModuleType.POTENTIAL_JOB_SITE,
170       ($$0, $$1) -> VillagerProfession.ALL_ACQUIRABLE_JOBS.test($$1),  174       ($$0, $$1) -> VillagerProfession.ALL_ACQUIRABLE_JOBS.test($$1),
171       MemoryModuleType.MEETING_POINT,                                  175       MemoryModuleType.MEETING_POINT,

net/minecraft/world/entity/npc/Villager.java --- 4/16 --- Java
176       this($$0, $$1, VillagerType.PLAINS);                             180       this($$0, $$1, VillagerType.PLAINS);
177    }                                                                   181    }
...                                                                        182 
...                                                                        183    public Villager(EntityType<? extends Villager> $$0, Level $$1, Reso
...                                                                        ... urceKey<VillagerType> $$2) {
...                                                                        184       this($$0, $$1, $$1.registryAccess().getOrThrow($$2));
...                                                                        185    }
178                                                                        186 
179    public Villager(EntityType<? extends Villager> $$0, Level $$1, Vill 187    public Villager(EntityType<? extends Villager> $$0, Level $$1, Hold
... agerType $$2) {                                                        ... er<VillagerType> $$2) {
180       super($$0, $$1);                                                 188       super($$0, $$1);
181       ((GroundPathNavigation)this.getNavigation()).setCanOpenDoors(tru 189       ((GroundPathNavigation)this.getNavigation()).setCanOpenDoors(tru
... e);                                                                    ... e);
182       this.getNavigation().setCanFloat(true);                          190       this.getNavigation().setCanFloat(true);
183       this.getNavigation().setRequiredPathLength(48.0F);               191       this.getNavigation().setRequiredPathLength(48.0F);
184       this.setCanPickUpLoot(true);                                     192       this.setCanPickUpLoot(true);
185       this.setVillagerData(this.getVillagerData().setType($$2).setProf 193       this.setVillagerData(this.getVillagerData().withType($$2).withPr
... ession(VillagerProfession.NONE));                                      ... ofession($$1.registryAccess(), VillagerProfession.NONE));
186    }                                                                   194    }
187                                                                        195 
188    @Override                                                           196    @Override

net/minecraft/world/entity/npc/Villager.java --- 5/16 --- Java
210    }                                                                   218    }
211                                                                        219 
212    private void registerBrainGoals(Brain<Villager> $$0) {              220    private void registerBrainGoals(Brain<Villager> $$0) {
213       VillagerProfession $$1 = this.getVillagerData().getProfession(); 221       Holder<VillagerProfession> $$1 = this.getVillagerData().professi
...                                                                        ... on();
214       if (this.isBaby()) {                                             222       if (this.isBaby()) {
215          $$0.setSchedule(Schedule.VILLAGER_BABY);                      223          $$0.setSchedule(Schedule.VILLAGER_BABY);
216          $$0.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPa 224          $$0.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPa
    ckage(0.5F));                                                              ckage(0.5F));

net/minecraft/world/entity/npc/Villager.java --- 6/16 --- Java
288          }                                                             296          }
289       }                                                                297       }
290                                                                        298 
291       if (this.getVillagerData().getProfession() == VillagerProfession 299       if (this.getVillagerData().profession().is(VillagerProfession.NO
... .NONE && this.isTrading()) {                                           ... NE) && this.isTrading()) {
292          this.stopTrading();                                           300          this.stopTrading();
293       }                                                                301       }
294                                                                        302 

net/minecraft/world/entity/npc/Villager.java --- 7/16 --- Java
345    private void startTrading(Player $$0) {                             353    private void startTrading(Player $$0) {
346       this.updateSpecialPrices($$0);                                   354       this.updateSpecialPrices($$0);
347       this.setTradingPlayer($$0);                                      355       this.setTradingPlayer($$0);
348       this.openTradingScreen($$0, this.getDisplayName(), this.getVilla 356       this.openTradingScreen($$0, this.getDisplayName(), this.getVilla
... gerData().getLevel());                                                 ... gerData().level());
349    }                                                                   357    }
350                                                                        358 
351    @Override                                                           359    @Override

net/minecraft/world/entity/npc/Villager.java --- 8/16 --- Java
393       Player $$1 = this.getTradingPlayer();                            401       Player $$1 = this.getTradingPlayer();
394       if ($$1 != null && !$$0.isEmpty()) {                             402       if ($$1 != null && !$$0.isEmpty()) {
395          $$1.sendMerchantOffers(                                       403          $$1.sendMerchantOffers(
396             $$1.containerMenu.containerId, $$0, this.getVillagerData() 404             $$1.containerMenu.containerId, $$0, this.getVillagerData()
... .getLevel(), this.getVillagerXp(), this.showProgressBar(), this.canRes ... .level(), this.getVillagerXp(), this.showProgressBar(), this.canRestoc
... tock()                                                                 ... k()
397          );                                                            405          );
398       }                                                                406       }
399    }                                                                   407    }

net/minecraft/world/entity/npc/Villager.java --- 9/16 --- Java
479       $$0.define(DATA_VILLAGER_DATA, new VillagerData(VillagerType.PLA 487       $$0.define(
... INS, VillagerProfession.NONE, 1));                                     ... 
...                                                                        488          DATA_VILLAGER_DATA,
...                                                                        489          new VillagerData(
...                                                                        490             BuiltInRegistries.VILLAGER_TYPE.getOrThrow(VillagerType.PL
...                                                                        ... AINS), BuiltInRegistries.VILLAGER_PROFESSION.getOrThrow(VillagerProfes
...                                                                        ... sion.NONE), 1
...                                                                        491          )
...                                                                        492       );
480    }                                                                   493    }

net/minecraft/world/entity/npc/Villager.java --- 10/16 --- Java
552    }                                                                   565    }
553                                                                        566 
554    public void playWorkSound() {                                       567    public void playWorkSound() {
555       this.makeSound(this.getVillagerData().getProfession().workSound( 568       this.makeSound(this.getVillagerData().profession().value().workS
... ));                                                                    ... ound());
556    }                                                                   569    }
557                                                                        570 
558    @Override                                                           571    @Override
559    public void setVillagerData(VillagerData $$0) {                     572    public void setVillagerData(VillagerData $$0) {
560       VillagerData $$1 = this.getVillagerData();                       573       VillagerData $$1 = this.getVillagerData();
561       if ($$1.getProfession() != $$0.getProfession()) {                574       if (!$$1.profession().equals($$0.profession())) {
562          this.offers = null;                                           575          this.offers = null;
563       }                                                                576       }
564                                                                        577 

net/minecraft/world/entity/npc/Villager.java --- 11/16 --- Java
695    }                                                                   708    }
696                                                                        709 
697    private boolean shouldIncreaseLevel() {                             710    private boolean shouldIncreaseLevel() {
698       int $$0 = this.getVillagerData().getLevel();                     711       int $$0 = this.getVillagerData().level();
699       return VillagerData.canLevelUp($$0) && this.villagerXp >= Villag 712       return VillagerData.canLevelUp($$0) && this.villagerXp >= Villag
... erData.getMaxXpPerLevel($$0);                                          ... erData.getMaxXpPerLevel($$0);
700    }                                                                   713    }
701                                                                        714 
702    private void increaseMerchantCareer() {                             715    private void increaseMerchantCareer() {
703       this.setVillagerData(this.getVillagerData().setLevel(this.getVil 716       this.setVillagerData(this.getVillagerData().withLevel(this.getVi
... lagerData().getLevel() + 1));                                          ... llagerData().level() + 1));
704       this.updateTrades();                                             717       this.updateTrades();
705    }                                                                   718    }
706                                                                        719 
707    @Override                                                           720    @Override
708    protected Component getTypeName() {                                 721    protected Component getTypeName() {
709       return Component.translatable(                                   722       return this.getVillagerData().profession().value().name();
710          this.getType().getDescriptionId() + "." + BuiltInRegistries.V ... 
... ILLAGER_PROFESSION.getKey(this.getVillagerData().getProfession()).getP ... 
... ath()                                                                  ... 
711       );                                                               ... 
712    }                                                                   723    }
713                                                                        724 
714    @Override                                                           725    @Override

net/minecraft/world/entity/npc/Villager.java --- 12/16 --- Java
730    @Override                                                           741    @Override
731    public SpawnGroupData finalizeSpawn(ServerLevelAccessor $$0, Diffic 742    public SpawnGroupData finalizeSpawn(ServerLevelAccessor $$0, Diffic
... ultyInstance $$1, EntitySpawnReason $$2, @Nullable SpawnGroupData $$3) ... ultyInstance $$1, EntitySpawnReason $$2, @Nullable SpawnGroupData $$3)
...  {                                                                     ...  {
732       if ($$2 == EntitySpawnReason.BREEDING) {                         743       if ($$2 == EntitySpawnReason.BREEDING) {
733          this.setVillagerData(this.getVillagerData().setProfession(Vil 744          this.setVillagerData(this.getVillagerData().withProfession($$
... lagerProfession.NONE));                                                ... 0.registryAccess(), VillagerProfession.NONE));
734       }                                                                745       }
735                                                                        746 
736       if ($$2 == EntitySpawnReason.COMMAND || $$2 == EntitySpawnReason 747       if ($$2 == EntitySpawnReason.COMMAND || $$2 == EntitySpawnReason
... .SPAWN_ITEM_USE || EntitySpawnReason.isSpawner($$2) || $$2 == EntitySp ... .SPAWN_ITEM_USE || EntitySpawnReason.isSpawner($$2) || $$2 == EntitySp
... awnReason.DISPENSER                                                    ... awnReason.DISPENSER
737          )                                                             748          )
738        {                                                               749        {
739          this.setVillagerData(this.getVillagerData().setType(VillagerT 750          this.setVillagerData(this.getVillagerData().withType($$0.regi
... ype.byBiome($$0.getBiome(this.blockPosition()))));                     ... stryAccess(), VillagerType.byBiome($$0.getBiome(this.blockPosition()))
...                                                                        ... ));
740       }                                                                751       }
741                                                                        752 
742       if ($$2 == EntitySpawnReason.STRUCTURE) {                        753       if ($$2 == EntitySpawnReason.STRUCTURE) {

net/minecraft/world/entity/npc/Villager.java --- 13/16 --- Java
749    @Nullable                                                           760    @Nullable
750    public Villager getBreedOffspring(ServerLevel $$0, AgeableMob $$1)  761    public Villager getBreedOffspring(ServerLevel $$0, AgeableMob $$1) 
... {                                                                      ... {
751       double $$2 = this.random.nextDouble();                           762       double $$2 = this.random.nextDouble();
752       VillagerType $$3;                                                763       Holder<VillagerType> $$3;
753       if ($$2 < 0.5) {                                                 764       if ($$2 < 0.5) {
754          $$3 = VillagerType.byBiome($$0.getBiome(this.blockPosition()) 765          $$3 = $$0.registryAccess().getOrThrow(VillagerType.byBiome($$
... );                                                                     ... 0.getBiome(this.blockPosition())));
755       } else if ($$2 < 0.75) {                                         766       } else if ($$2 < 0.75) {
756          $$3 = this.getVillagerData().getType();                       767          $$3 = this.getVillagerData().type();
757       } else {                                                         768       } else {
758          $$3 = ((Villager)$$1).getVillagerData().getType();            769          $$3 = ((Villager)$$1).getVillagerData().type();
759       }                                                                770       }
760                                                                        771 
761       Villager $$6 = new Villager(EntityType.VILLAGER, $$0, $$3);      772       Villager $$6 = new Villager(EntityType.VILLAGER, $$0, $$3);

net/minecraft/world/entity/npc/Villager.java --- 14/16 --- Java
788    @Override                                                           799    @Override
789    public boolean wantsToPickUp(ServerLevel $$0, ItemStack $$1) {      800    public boolean wantsToPickUp(ServerLevel $$0, ItemStack $$1) {
790       Item $$2 = $$1.getItem();                                        801       Item $$2 = $$1.getItem();
791       return ($$1.is(ItemTags.VILLAGER_PICKS_UP) || this.getVillagerDa 802       return ($$1.is(ItemTags.VILLAGER_PICKS_UP) || this.getVillagerDa
... ta().getProfession().requestedItems().contains($$2))                   ... ta().profession().value().requestedItems().contains($$2))
792          && this.getInventory().canAddItem($$1);                       803          && this.getInventory().canAddItem($$1);
793    }                                                                   804    }
794                                                                        805 

net/minecraft/world/entity/npc/Villager.java --- 15/16 --- Java
812    @Override                                                           823    @Override
813    protected void updateTrades() {                                     824    protected void updateTrades() {
814       VillagerData $$0 = this.getVillagerData();                       825       VillagerData $$0 = this.getVillagerData();
...                                                                        826       ResourceKey<VillagerProfession> $$1 = $$0.profession().unwrapKey
...                                                                        ... ().orElse(null);
...                                                                        827       if ($$1 != null) {
815       Int2ObjectMap<VillagerTrades.ItemListing[]> $$2;                 828          Int2ObjectMap<VillagerTrades.ItemListing[]> $$3;
816       if (this.level().enabledFeatures().contains(FeatureFlags.TRADE_R 829          if (this.level().enabledFeatures().contains(FeatureFlags.TRAD
... EBALANCE)) {                                                           ... E_REBALANCE)) {
817          Int2ObjectMap<VillagerTrades.ItemListing[]> $$1 = VillagerTra 830             Int2ObjectMap<VillagerTrades.ItemListing[]> $$2 = Villager
... des.EXPERIMENTAL_TRADES.get($$0.getProfession());                      ... Trades.EXPERIMENTAL_TRADES.get($$1);
818          $$2 = $$1 != null ? $$1 : VillagerTrades.TRADES.get($$0.getPr 831             $$3 = $$2 != null ? $$2 : VillagerTrades.TRADES.get($$1);
... ofession());                                                           ... 
819       } else {                                                         832          } else {
820          $$2 = VillagerTrades.TRADES.get($$0.getProfession());         833             $$3 = VillagerTrades.TRADES.get($$1);
821       }                                                                834          }
822                                                                        835 
823       if ($$2 != null && !$$2.isEmpty()) {                             836          if ($$3 != null && !$$3.isEmpty()) {
824          VillagerTrades.ItemListing[] $$4 = $$2.get($$0.getLevel());   837             VillagerTrades.ItemListing[] $$5 = $$3.get($$0.level());
825          if ($$4 != null) {                                            838             if ($$5 != null) {
826             MerchantOffers $$5 = this.getOffers();                     839                MerchantOffers $$6 = this.getOffers();
827             this.addOffersFromItemListings($$5, $$4, 2);               840                this.addOffersFromItemListings($$6, $$5, 2);
828          }                                                             841             }
829       }                                                                842          }
...                                                                        843       }
830    }                                                                   844    }
831                                                                        845 
832    public void gossip(ServerLevel $$0, Villager $$1, long $$2) {       846    public void gossip(ServerLevel $$0, Villager $$1, long $$2) {

net/minecraft/world/entity/npc/Villager.java --- 16/16 --- Java
929       return $$1.filter($$1x -> $$0 - $$1x < 24000L).isPresent();      943       return $$1.filter($$1x -> $$0 - $$1x < 24000L).isPresent();
930    }                                                                   944    }
...                                                                        945 
...                                                                        946    @Nullable
...                                                                        947    @Override
...                                                                        948    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        949       return $$0 == DataComponents.VILLAGER_VARIANT ? castComponentVal
...                                                                        ... ue((DataComponentType<T>)$$0, this.getVillagerData().type()) : super.g
...                                                                        ... et($$0);
...                                                                        950    }
...                                                                        951 
...                                                                        952    @Override
...                                                                        953    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        954       this.applyImplicitComponentIfPresent($$0, DataComponents.VILLAGE
...                                                                        ... R_VARIANT);
...                                                                        955       super.applyImplicitComponents($$0);
...                                                                        956    }
...                                                                        957 
...                                                                        958    @Override
...                                                                        959    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        960       if ($$0 == DataComponents.VILLAGER_VARIANT) {
...                                                                        961          Holder<VillagerType> $$2 = castComponentValue(DataComponents.
...                                                                        ... VILLAGER_VARIANT, $$1);
...                                                                        962          this.setVillagerData(this.getVillagerData().withType($$2));
...                                                                        963          return true;
...                                                                        964       } else {
...                                                                        965          return super.applyImplicitComponent($$0, $$1);
...                                                                        966       }
...                                                                        967    }
931 }                                                                      968 }

net/minecraft/world/entity/EquipmentSlotGroup.java --- 1/4 --- Java
 2                                                                          2 
 3 import com.mojang.serialization.Codec;                                   3 import com.mojang.serialization.Codec;
 4 import io.netty.buffer.ByteBuf;                                          4 import io.netty.buffer.ByteBuf;
 .                                                                          5 import java.util.Iterator;
 .                                                                          6 import java.util.List;
 5 import java.util.function.IntFunction;                                   7 import java.util.function.IntFunction;
 6 import java.util.function.Predicate;                                     8 import java.util.function.Predicate;
 7 import net.minecraft.network.codec.ByteBufCodecs;                        9 import net.minecraft.network.codec.ByteBufCodecs;
 8 import net.minecraft.network.codec.StreamCodec;                         10 import net.minecraft.network.codec.StreamCodec;
 9 import net.minecraft.util.ByIdMap;                                      11 import net.minecraft.util.ByIdMap;
10 import net.minecraft.util.StringRepresentable;                          12 import net.minecraft.util.StringRepresentable;
11                                                                         13 
12 public enum EquipmentSlotGroup implements StringRepresentable {         14 public enum EquipmentSlotGroup implements StringRepresentable, Iterable
..                                                                         .. <EquipmentSlot> {
13    ANY(0, "any", $$0 -> true),                                          15    ANY(0, "any", $$0 -> true),
14    MAINHAND(1, "mainhand", EquipmentSlot.MAINHAND),                     16    MAINHAND(1, "mainhand", EquipmentSlot.MAINHAND),
15    OFFHAND(2, "offhand", EquipmentSlot.OFFHAND),                        17    OFFHAND(2, "offhand", EquipmentSlot.OFFHAND),

net/minecraft/world/entity/EquipmentSlotGroup.java --- 2/4 --- Java
19    CHEST(6, "chest", EquipmentSlot.CHEST),                              21    CHEST(6, "chest", EquipmentSlot.CHEST),
20    HEAD(7, "head", EquipmentSlot.HEAD),                                 22    HEAD(7, "head", EquipmentSlot.HEAD),
21    ARMOR(8, "armor", EquipmentSlot::isArmor),                           23    ARMOR(8, "armor", EquipmentSlot::isArmor),
22    BODY(9, "body", EquipmentSlot.BODY);                                 24    BODY(9, "body", EquipmentSlot.BODY),
..                                                                         25    SADDLE(10, "saddle", EquipmentSlot.SADDLE);
23                                                                         26 
24    public static final IntFunction<EquipmentSlotGroup> BY_ID = ByIdMap. 27    public static final IntFunction<EquipmentSlotGroup> BY_ID = ByIdMap.
.. continuous($$0 -> $$0.id, values(), ByIdMap.OutOfBoundsStrategy.ZERO);  .. continuous($$0 -> $$0.id, values(), ByIdMap.OutOfBoundsStrategy.ZERO);
25    public static final Codec<EquipmentSlotGroup> CODEC = StringRepresen 28    public static final Codec<EquipmentSlotGroup> CODEC = StringRepresen
.. table.fromEnum(EquipmentSlotGroup::values);                             .. table.fromEnum(EquipmentSlotGroup::values);
26    public static final StreamCodec<ByteBuf, EquipmentSlotGroup> STREAM_ 29    public static final StreamCodec<ByteBuf, EquipmentSlotGroup> STREAM_
.. CODEC = ByteBufCodecs.idMapper(BY_ID, $$0 -> $$0.id);                   .. CODEC = ByteBufCodecs.idMapper(BY_ID, $$0 -> $$0.id);
27    private final int id;                                                30    private final int id;
28    private final String key;                                            31    private final String key;
29    private final Predicate<EquipmentSlot> predicate;                    32    private final Predicate<EquipmentSlot> predicate;
..                                                                         33    private final List<EquipmentSlot> slots;
30                                                                         34 
31    private EquipmentSlotGroup(final int $$0, final String $$1, final Pr 35    private EquipmentSlotGroup(final int $$0, final String $$1, final Pr
.. edicate<EquipmentSlot> $$2) {                                           .. edicate<EquipmentSlot> $$2) {
32       this.id = $$0;                                                    36       this.id = $$0;
33       this.key = $$1;                                                   37       this.key = $$1;
34       this.predicate = $$2;                                             38       this.predicate = $$2;
..                                                                         39       this.slots = EquipmentSlot.VALUES.stream().filter($$2).toList();
35    }                                                                    40    }
36                                                                         41 
37    private EquipmentSlotGroup(final int $$0, final String $$1, final Eq 42    private EquipmentSlotGroup(final int $$0, final String $$1, final Eq
   uipmentSlot $$2) {                                                         uipmentSlot $$2) {

net/minecraft/world/entity/EquipmentSlotGroup.java --- 3/4 --- Java
47          case CHEST -> CHEST;                                           52          case CHEST -> CHEST;
48          case HEAD -> HEAD;                                             53          case HEAD -> HEAD;
49          case BODY -> BODY;                                             54          case BODY -> BODY;
..                                                                         55          case SADDLE -> SADDLE;
50       };                                                                56       };
51    }                                                                    57    }
52                                                                         58 

net/minecraft/world/entity/EquipmentSlotGroup.java --- 4/4 --- Java
59       return this.predicate.test($$0);                                  65       return this.predicate.test($$0);
60    }                                                                    66    }
..                                                                         67 
..                                                                         68    public List<EquipmentSlot> slots() {
..                                                                         69       return this.slots;
..                                                                         70    }
..                                                                         71 
..                                                                         72    @Override
..                                                                         73    public Iterator<EquipmentSlot> iterator() {
..                                                                         74       return this.slots.iterator();
..                                                                         75    }
61 }                                                                       76 }

net/minecraft/client/gui/screens/worldselection/CreateWorldScreen.java --- 1/2 --- Java
156    ) {                                                                 156    ) {
157       queueLoadScreen($$0, PREPARING_WORLD_DATA);                      157       queueLoadScreen($$0, PREPARING_WORLD_DATA);
158       PackRepository $$6 = new PackRepository(new ServerPacksSource($$ 158       PackRepository $$6 = new PackRepository(new ServerPacksSource($$
... 0.directoryValidator()));                                              ... 0.directoryValidator()));
...                                                                        159       WorldDataConfiguration $$7 = SharedConstants.IS_RUNNING_IN_IDE
...                                                                        160          ? new WorldDataConfiguration(new DataPackConfig(List.of("vani
...                                                                        ... lla", "tests"), List.of()), FeatureFlags.DEFAULT_FLAGS)
...                                                                        161          : WorldDataConfiguration.DEFAULT;
159       WorldLoader.InitConfig $$7 = createDefaultLoadConfig($$6, WorldD 162       WorldLoader.InitConfig $$8 = createDefaultLoadConfig($$6, $$7);
... ataConfiguration.DEFAULT);                                             ... 
160       CompletableFuture<WorldCreationContext> $$8 = WorldLoader.load(  163       CompletableFuture<WorldCreationContext> $$9 = WorldLoader.load(
161          $$7,                                                          164          $$8,
162          $$1x -> new WorldLoader.DataLoadOutput<>(new DataPackReloadCo 165          $$1x -> new WorldLoader.DataLoadOutput<>(new DataPackReloadCo
... okie($$2.apply($$1x), $$1x.dataConfiguration()), $$1x.datapackDimensio ... okie($$2.apply($$1x), $$1x.dataConfiguration()), $$1x.datapackDimensio
... ns()),                                                                 ... ns()),
163          ($$1x, $$2x, $$3x, $$4x) -> {                                 166          ($$1x, $$2x, $$3x, $$4x) -> {
164             $$1x.close();                                              167             $$1x.close();

net/minecraft/client/gui/screens/worldselection/CreateWorldScreen.java --- 2/2 --- Java
167          Util.backgroundExecutor(),                                    170          Util.backgroundExecutor(),
168          $$0                                                           171          $$0
169       );                                                               172       );
170       $$0.managedBlock($$8::isDone);                                   173       $$0.managedBlock($$9::isDone);
171       $$0.setScreen(new CreateWorldScreen($$0, $$1, $$8.join(), Option 174       $$0.setScreen(new CreateWorldScreen($$0, $$1, $$9.join(), Option
... al.of($$4), OptionalLong.empty(), $$5));                               ... al.of($$4), OptionalLong.empty(), $$5));
172    }                                                                   175    }
173                                                                        176 
174    public static CreateWorldScreen createFromExisting(Minecraft $$0, @ 177    public static CreateWorldScreen createFromExisting(Minecraft $$0, @
    Nullable Screen $$1, LevelSettings $$2, WorldCreationContext $$3, @Nul     Nullable Screen $$1, LevelSettings $$2, WorldCreationContext $$3, @Nul
    lable Path $$4) {                                                          lable Path $$4) {

net/minecraft/world/entity/npc/VillagerDataHolder.java --- Java
 1 package net.minecraft.world.entity.npc;                                 1 package net.minecraft.world.entity.npc;
 2                                                                         . 
 3 import net.minecraft.world.entity.VariantHolder;                        . 
 4                                                                         2 
 5 public interface VillagerDataHolder extends VariantHolder<VillagerType> 3 public interface VillagerDataHolder {
 .  {                                                                      . 
 6    VillagerData getVillagerData();                                      4    VillagerData getVillagerData();
 7                                                                         5 
 8    void setVillagerData(VillagerData var1);                             6    void setVillagerData(VillagerData var1);
 9                                                                         . 
10    default VillagerType getVariant() {                                  . 
11       return this.getVillagerData().getType();                          . 
12    }                                                                    . 
13                                                                         . 
14    default void setVariant(VillagerType $$0) {                          . 
15       this.setVillagerData(this.getVillagerData().setType($$0));        . 
16    }                                                                    . 
17 }                                                                       7 }

net/minecraft/world/entity/EntityEvent.java --- Java
61    public static final byte BODY_BREAK = 65;                            61    public static final byte BODY_BREAK = 65;
62    public static final byte SHAKE = 66;                                 62    public static final byte SHAKE = 66;
63    public static final byte DROWN_PARTICLES = 67;                       63    public static final byte DROWN_PARTICLES = 67;
..                                                                         64    public static final byte SADDLE_BREAK = 68;
64 }                                                                       65 }

net/minecraft/world/item/component/Weapon.java --- Java
 7 import net.minecraft.network.codec.StreamCodec;                          7 import net.minecraft.network.codec.StreamCodec;
 8 import net.minecraft.util.ExtraCodecs;                                   8 import net.minecraft.util.ExtraCodecs;
 9                                                                          9 
10 public record Weapon(int damagePerAttack, boolean canDisableBlocking) { 10 public record Weapon(int itemDamagePerAttack, boolean canDisableBlockin
..                                                                         .. g) {
11    public static final Codec<Weapon> CODEC = RecordCodecBuilder.create( 11    public static final Codec<Weapon> CODEC = RecordCodecBuilder.create(
12       $$0 -> $$0.group(                                                 12       $$0 -> $$0.group(
13                ExtraCodecs.NON_NEGATIVE_INT.optionalFieldOf("damage_per 13                ExtraCodecs.NON_NEGATIVE_INT.optionalFieldOf("item_damag
.. _attack", 1).forGetter(Weapon::damagePerAttack),                        .. e_per_attack", 1).forGetter(Weapon::itemDamagePerAttack),
14                Codec.BOOL.optionalFieldOf("can_disable_blocking", Boole 14                Codec.BOOL.optionalFieldOf("can_disable_blocking", Boole
.. an.valueOf(false)).forGetter(Weapon::canDisableBlocking)                .. an.valueOf(false)).forGetter(Weapon::canDisableBlocking)
15             )                                                           15             )
16             .apply($$0, Weapon::new)                                    16             .apply($$0, Weapon::new)
17    );                                                                   17    );
18    public static final StreamCodec<RegistryFriendlyByteBuf, Weapon> STR 18    public static final StreamCodec<RegistryFriendlyByteBuf, Weapon> STR
.. EAM_CODEC = StreamCodec.composite(                                      .. EAM_CODEC = StreamCodec.composite(
19       ByteBufCodecs.VAR_INT, Weapon::damagePerAttack, ByteBufCodecs.BOO 19       ByteBufCodecs.VAR_INT, Weapon::itemDamagePerAttack, ByteBufCodecs
.. L, Weapon::canDisableBlocking, Weapon::new                              .. .BOOL, Weapon::canDisableBlocking, Weapon::new
20    );                                                                   20    );
21 }                                                                       21 }

net/minecraft/data/tags/VanillaBlockTagsProvider.java --- Java
1814          )                                                            1814          )
1815          .add(Blocks.WATER, Blocks.SEAGRASS, Blocks.TALL_SEAGRASS)    1815          .add(Blocks.WATER, Blocks.SEAGRASS, Blocks.TALL_SEAGRASS)
1816          .add(Blocks.BROWN_MUSHROOM, Blocks.RED_MUSHROOM, Blocks.BROW 1816          .add(Blocks.BROWN_MUSHROOM, Blocks.RED_MUSHROOM, Blocks.BROW
.... N_MUSHROOM_BLOCK, Blocks.RED_MUSHROOM_BLOCK)                          .... N_MUSHROOM_BLOCK, Blocks.RED_MUSHROOM_BLOCK)
1817          .add(Blocks.WARPED_ROOTS, Blocks.NETHER_SPROUTS, Blocks.CRIM 1817          .add(Blocks.WARPED_ROOTS, Blocks.NETHER_SPROUTS, Blocks.CRIM
.... SON_ROOTS);                                                           .... SON_ROOTS, Blocks.LEAF_LITTER);
1818       this.tag(BlockTags.COMPLETES_FIND_TREE_TUTORIAL).addTag(BlockTa 1818       this.tag(BlockTags.COMPLETES_FIND_TREE_TUTORIAL).addTag(BlockTa
.... gs.LOGS).addTag(BlockTags.LEAVES).addTag(BlockTags.WART_BLOCKS);      .... gs.LOGS).addTag(BlockTags.LEAVES).addTag(BlockTags.WART_BLOCKS);
1819       this.tag(BlockTags.SNAPS_GOAT_HORN)                             1819       this.tag(BlockTags.SNAPS_GOAT_HORN)
1820          .addTag(BlockTags.OVERWORLD_NATURAL_LOGS)                    1820          .addTag(BlockTags.OVERWORLD_NATURAL_LOGS)

net/minecraft/world/entity/npc/CatSpawner.java --- Java
83          return 0;                                                      83          return 0;
84       } else {                                                          84       } else {
85          $$2.finalizeSpawn($$1, $$1.getCurrentDifficultyAt($$0), Entity 85          $$2.finalizeSpawn($$1, $$1.getCurrentDifficultyAt($$0), Entity
.. SpawnReason.NATURAL, null);                                             .. SpawnReason.NATURAL, null);
86          $$2.moveTo($$0, 0.0F, 0.0F);                                   86          $$2.snapTo($$0, 0.0F, 0.0F);
87          $$1.addFreshEntityWithPassengers($$2);                         87          $$1.addFreshEntityWithPassengers($$2);
88          return 1;                                                      88          return 1;
89       }                                                                 89       }

net/minecraft/world/level/block/WitherSkullBlock.java --- Java
61                if ($$6 != null) {                                       61                if ($$6 != null) {
62                   CarvedPumpkinBlock.clearPatternBlocks($$0, $$5);      62                   CarvedPumpkinBlock.clearPatternBlocks($$0, $$5);
63                   BlockPos $$7 = $$5.getBlock(1, 2, 0).getPos();        63                   BlockPos $$7 = $$5.getBlock(1, 2, 0).getPos();
64                   $$6.moveTo(                                           64                   $$6.snapTo(
65                      (double)$$7.getX() + 0.5,                          65                      (double)$$7.getX() + 0.5,
66                      (double)$$7.getY() + 0.55,                         66                      (double)$$7.getY() + 0.55,
67                      (double)$$7.getZ() + 0.5,                          67                      (double)$$7.getZ() + 0.5,

net/minecraft/client/renderer/entity/layers/SaddleLayer.java --- Java
 1 package net.minecraft.client.renderer.entity.layers;
 2 
 3 import com.mojang.blaze3d.vertex.PoseStack;
 4 import com.mojang.blaze3d.vertex.VertexConsumer;
 5 import net.fabricmc.api.EnvType;
 6 import net.fabricmc.api.Environment;
 7 import net.minecraft.client.model.EntityModel;
 8 import net.minecraft.client.renderer.MultiBufferSource;
 9 import net.minecraft.client.renderer.RenderType;
10 import net.minecraft.client.renderer.entity.RenderLayerParent;
11 import net.minecraft.client.renderer.entity.state.LivingEntityRenderState;
12 import net.minecraft.client.renderer.entity.state.SaddleableRenderState;
13 import net.minecraft.client.renderer.texture.OverlayTexture;
14 import net.minecraft.resources.ResourceLocation;
15 
16 @Environment(EnvType.CLIENT)
17 public class SaddleLayer<S extends LivingEntityRenderState & SaddleableRenderState, M extends EntityModel<? super S>> extends RenderLayer<S, M> {
18    private final ResourceLocation textureLocation;
19    private final M adultModel;
20    private final M babyModel;
21 
22    public SaddleLayer(RenderLayerParent<S, M> $$0, M $$1, M $$2, ResourceLocation $$3) {
23       super($$0);
24       this.adultModel = $$1;
25       this.babyModel = $$2;
26       this.textureLocation = $$3;
27    }
28 
29    public SaddleLayer(RenderLayerParent<S, M> $$0, M $$1, ResourceLocation $$2) {
30       this($$0, $$1, $$1, $$2);
31    }
32 
33    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, S $$3, float $$4, float $$5) {
34       if ($$3.isSaddled()) {
35          M $$6 = $$3.isBaby ? this.babyModel : this.adultModel;
36          $$6.setupAnim($$3);
37          VertexConsumer $$7 = $$1.getBuffer(RenderType.entityCutoutNoCull(this.textureLocation));
38          $$6.renderToBuffer($$0, $$7, $$2, OverlayTexture.NO_OVERLAY);
39       }
40    }
41 }
42 

net/minecraft/util/datafix/schemas/V4300.java --- Java
 1 package net.minecraft.util.datafix.schemas;
 2 
 3 import com.mojang.datafixers.DSL;
 4 import com.mojang.datafixers.schemas.Schema;
 5 import com.mojang.datafixers.types.templates.TypeTemplate;
 6 import java.util.Map;
 7 import java.util.function.Supplier;
 8 import net.minecraft.util.datafix.fixes.References;
 9 
10 public class V4300 extends NamespacedSchema {
11    public V4300(int $$0, Schema $$1) {
12       super($$0, $$1);
13    }
14 
15    @Override
16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $$0) {
17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities($$0);
18       $$0.register($$1, "minecraft:llama", $$1x -> entityWithInventory($$0));
19       $$0.register($$1, "minecraft:trader_llama", $$1x -> entityWithInventory($$0));
20       $$0.register($$1, "minecraft:donkey", $$1x -> entityWithInventory($$0));
21       $$0.register($$1, "minecraft:mule", $$1x -> entityWithInventory($$0));
22       $$0.registerSimple($$1, "minecraft:horse");
23       $$0.registerSimple($$1, "minecraft:skeleton_horse");
24       $$0.registerSimple($$1, "minecraft:zombie_horse");
25       return $$1;
26    }
27 
28    private static TypeTemplate entityWithInventory(Schema $$0) {
29       return DSL.optionalFields("Items", DSL.list(References.ITEM_STACK.in($$0)));
30    }
31 }
32 

net/minecraft/util/datafix/schemas/V2704.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:goat", () -> V100.equipment($$0));   16       $$0.registerSimple($$1, "minecraft:goat");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/world/entity/EquipmentSlot.java --- 1/3 --- Java
16    LEGS(EquipmentSlot.Type.HUMANOID_ARMOR, 1, 1, 2, "legs"),            16    LEGS(EquipmentSlot.Type.HUMANOID_ARMOR, 1, 1, 2, "legs"),
17    CHEST(EquipmentSlot.Type.HUMANOID_ARMOR, 2, 1, 3, "chest"),          17    CHEST(EquipmentSlot.Type.HUMANOID_ARMOR, 2, 1, 3, "chest"),
18    HEAD(EquipmentSlot.Type.HUMANOID_ARMOR, 3, 1, 4, "head"),            18    HEAD(EquipmentSlot.Type.HUMANOID_ARMOR, 3, 1, 4, "head"),
19    BODY(EquipmentSlot.Type.ANIMAL_ARMOR, 0, 1, 6, "body");              19    BODY(EquipmentSlot.Type.ANIMAL_ARMOR, 0, 1, 6, "body"),
..                                                                         20    SADDLE(EquipmentSlot.Type.SADDLE, 0, 1, 7, "saddle");
20                                                                         21 
21    public static final int NO_COUNT_LIMIT = 0;                          22    public static final int NO_COUNT_LIMIT = 0;
22    public static final List<EquipmentSlot> VALUES = List.of(values());  23    public static final List<EquipmentSlot> VALUES = List.of(values());

net/minecraft/world/entity/EquipmentSlot.java --- 2/3 --- Java
78       return this.name;                                                 79       return this.name;
79    }                                                                    80    }
..                                                                         81 
..                                                                         82    public boolean canIncreaseExperience() {
..                                                                         83       return this.type != EquipmentSlot.Type.SADDLE;
..                                                                         84    }
80                                                                         85 
81    public static EquipmentSlot byName(String $$0) {                     86    public static EquipmentSlot byName(String $$0) {
82       EquipmentSlot $$1 = CODEC.byName($$0);                            87       EquipmentSlot $$1 = CODEC.byName($$0);

net/minecraft/world/entity/EquipmentSlot.java --- 3/3 --- Java
90    public static enum Type {                                             95    public static enum Type {
91       HAND,                                                              96       HAND,
92       HUMANOID_ARMOR,                                                    97       HUMANOID_ARMOR,
93       ANIMAL_ARMOR;                                                      98       ANIMAL_ARMOR,
..                                                                          99       SADDLE;
94    }                                                                    100    }
95 }                                                                       101 }

net/minecraft/util/datafix/schemas/V2688.java --- Java
15    @Override                                                            15    @Override
16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
18       $$0.register($$1, "minecraft:glow_squid", () -> V100.equipment($$ 18       $$0.registerSimple($$1, "minecraft:glow_squid");
.. 0));                                                                    .. 
19       $$0.register($$1, "minecraft:glow_item_frame", $$1x -> DSL.option 19       $$0.register($$1, "minecraft:glow_item_frame", $$1x -> DSL.option
.. alFields("Item", References.ITEM_STACK.in($$0)));                       .. alFields("Item", References.ITEM_STACK.in($$0)));
20       return $$1;                                                       20       return $$1;
21    }                                                                    21    }

net/minecraft/world/level/block/InfestedBlock.java --- Java
51    private void spawnInfestation(ServerLevel $$0, BlockPos $$1) {       51    private void spawnInfestation(ServerLevel $$0, BlockPos $$1) {
52       Silverfish $$2 = EntityType.SILVERFISH.create($$0, EntitySpawnRea 52       Silverfish $$2 = EntityType.SILVERFISH.create($$0, EntitySpawnRea
.. son.TRIGGERED);                                                         .. son.TRIGGERED);
53       if ($$2 != null) {                                                53       if ($$2 != null) {
54          $$2.moveTo((double)$$1.getX() + 0.5, (double)$$1.getY(), (doub 54          $$2.snapTo((double)$$1.getX() + 0.5, (double)$$1.getY(), (doub
.. le)$$1.getZ() + 0.5, 0.0F, 0.0F);                                       .. le)$$1.getZ() + 0.5, 0.0F, 0.0F);
55          $$0.addFreshEntity($$2);                                       55          $$0.addFreshEntity($$2);
56          $$2.spawnAnim();                                               56          $$2.spawnAnim();
57       }                                                                 57       }

net/minecraft/world/level/block/state/properties/TestBlockMode.java --- Java
 1 package net.minecraft.world.level.block.state.properties;
 2 
 3 import io.netty.buffer.ByteBuf;
 4 import java.util.function.IntFunction;
 5 import net.minecraft.network.chat.Component;
 6 import net.minecraft.network.codec.ByteBufCodecs;
 7 import net.minecraft.network.codec.StreamCodec;
 8 import net.minecraft.util.ByIdMap;
 9 import net.minecraft.util.StringRepresentable;
10 
11 public enum TestBlockMode implements StringRepresentable {
12    START(0, "start"),
13    LOG(1, "log"),
14    FAIL(2, "fail"),
15    ACCEPT(3, "accept");
16 
17    private static final IntFunction<TestBlockMode> BY_ID = ByIdMap.continuous($$0 -> $$0.id, values(), ByIdMap.OutOfBoundsStrategy.ZERO);
18    public static final StringRepresentable.EnumCodec<TestBlockMode> CODEC = StringRepresentable.fromEnum(TestBlockMode::values);
19    public static final StreamCodec<ByteBuf, TestBlockMode> STREAM_CODEC = ByteBufCodecs.idMapper(BY_ID, $$0 -> $$0.id);
20    private final int id;
21    private final String name;
22    private final Component displayName;
23    private final Component detailedMessage;
24 
25    private TestBlockMode(final int $$0, final String $$1) {
26       this.id = $$0;
27       this.name = $$1;
28       this.displayName = Component.translatable("test_block.mode." + $$1);
29       this.detailedMessage = Component.translatable("test_block.mode_info." + $$1);
30    }
31 
32    @Override
33    public String getSerializedName() {
34       return this.name;
35    }
36 
37    public Component getDisplayName() {
38       return this.displayName;
39    }
40 
41    public Component getDetailedMessage() {
42       return this.detailedMessage;
43    }
44 }
45 

net/minecraft/world/level/block/GrassBlock.java --- Java
65          }                                                              65          }
66                                                                         66 
67          if ($$10.isAir()) {                                            67          if ($$10.isAir()) {
68             Holder<PlacedFeature> $$13;                                 68             Holder<PlacedFeature> $$14;
69             if ($$1.nextInt(8) == 0) {                                  69             if ($$1.nextInt(8) == 0) {
70                List<ConfiguredFeature<?, ?>> $$12 = $$0.getBiome($$8).v 70                List<ConfiguredFeature<?, ?>> $$12 = $$0.getBiome($$8).v
.. alue().getGenerationSettings().getFlowerFeatures();                     .. alue().getGenerationSettings().getFlowerFeatures();
71                if ($$12.isEmpty()) {                                    71                if ($$12.isEmpty()) {
72                   continue;                                             72                   continue;
73                }                                                        73                }
74                                                                         74 
..                                                                         75                int $$13 = $$1.nextInt($$12.size());
75                $$13 = ((RandomPatchConfiguration)$$12.get(0).config()). 76                $$14 = ((RandomPatchConfiguration)$$12.get($$13).config(
.. feature();                                                              .. )).feature();
76             } else {                                                    77             } else {
77                if (!$$6.isPresent()) {                                  78                if (!$$6.isPresent()) {
78                   continue;                                             79                   continue;
79                }                                                        80                }
80                                                                         81 
81                $$13 = $$6.get();                                        82                $$14 = $$6.get();
82             }                                                           83             }
83                                                                         84 
84             $$13.value().place($$0, $$0.getChunkSource().getGenerator() 85             $$14.value().place($$0, $$0.getChunkSource().getGenerator()
.. , $$1, $$8);                                                            .. , $$1, $$8);
85          }                                                              86          }
86       }                                                                 87       }
87    }                                                                    88    }

net/minecraft/world/level/block/ComposterBlock.java --- Java
105       add(0.3F, Items.PALE_HANGING_MOSS);                              105       add(0.3F, Items.PALE_HANGING_MOSS);
106       add(0.3F, Items.PINK_PETALS);                                    106       add(0.3F, Items.PINK_PETALS);
107       add(0.3F, Items.WILDFLOWERS);                                    107       add(0.3F, Items.WILDFLOWERS);
...                                                                        108       add(0.3F, Items.LEAF_LITTER);
108       add(0.3F, Items.SMALL_DRIPLEAF);                                 109       add(0.3F, Items.SMALL_DRIPLEAF);
109       add(0.3F, Items.HANGING_ROOTS);                                  110       add(0.3F, Items.HANGING_ROOTS);
110       add(0.3F, Items.MANGROVE_ROOTS);                                 111       add(0.3F, Items.MANGROVE_ROOTS);

net/minecraft/util/datafix/schemas/V3808.java --- Java
15    @Override                                                            15    @Override
16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
18       $$0.register($$1, "minecraft:horse", $$1x -> DSL.optionalFields(" 18       $$0.register($$1, "minecraft:horse", $$1x -> DSL.optionalFields("
.. SaddleItem", References.ITEM_STACK.in($$0), V100.equipment($$0)));      .. SaddleItem", References.ITEM_STACK.in($$0)));
19       return $$1;                                                       19       return $$1;
20    }                                                                    20    }
21 }                                                                       21 }

net/minecraft/world/entity/Saddleable.java --- Java
 1 package net.minecraft.world.entity;
 2 
 3 import javax.annotation.Nullable;
 4 import net.minecraft.sounds.SoundEvent;
 5 import net.minecraft.sounds.SoundEvents;
 6 import net.minecraft.sounds.SoundSource;
 7 import net.minecraft.world.item.ItemStack;
 8 
 9 public interface Saddleable {
10    boolean isSaddleable();
11 
12    void equipSaddle(ItemStack var1, @Nullable SoundSource var2);
13 
14    default SoundEvent getSaddleSoundEvent() {
15       return SoundEvents.HORSE_SADDLE;
16    }
17 
18    boolean isSaddled();
19 }
20 

net/minecraft/core/component/DataComponentPredicate.java --- 1/4 --- Java
11 import net.minecraft.network.codec.ByteBufCodecs;                       11 import net.minecraft.network.codec.ByteBufCodecs;
12 import net.minecraft.network.codec.StreamCodec;                         12 import net.minecraft.network.codec.StreamCodec;
13                                                                         13 
14 public final class DataComponentPredicate implements Predicate<DataComp 14 public final class DataComponentPredicate implements Predicate<DataComp
.. onentMap> {                                                             .. onentGetter> {
15    public static final Codec<DataComponentPredicate> CODEC = DataCompon 15    public static final Codec<DataComponentPredicate> CODEC = DataCompon
.. entType.VALUE_MAP_CODEC                                                 .. entType.VALUE_MAP_CODEC
16       .xmap(                                                            16       .xmap(
17          $$0 -> new DataComponentPredicate($$0.entrySet().stream().map( 17          $$0 -> new DataComponentPredicate($$0.entrySet().stream().map(
   TypedDataComponent::fromEntryUnchecked).collect(Collectors.toList())),     TypedDataComponent::fromEntryUnchecked).collect(Collectors.toList())),

net/minecraft/core/component/DataComponentPredicate.java --- 2/4 --- Java
34       return new DataComponentPredicate.Builder();                      34       return new DataComponentPredicate.Builder();
35    }                                                                    35    }
..                                                                         36 
..                                                                         37    public static <T> DataComponentPredicate expect(DataComponentType<T>
..                                                                         ..  $$0, T $$1) {
..                                                                         38       return new DataComponentPredicate(List.of(new TypedDataComponent<
..                                                                         .. >($$0, $$1)));
..                                                                         39    }
36                                                                         40 
37    public static DataComponentPredicate allOf(DataComponentMap $$0) {   41    public static DataComponentPredicate allOf(DataComponentMap $$0) {
38       return new DataComponentPredicate(ImmutableList.copyOf($$0));     42       return new DataComponentPredicate(ImmutableList.copyOf($$0));

net/minecraft/core/component/DataComponentPredicate.java --- 3/4 --- Java
70       return this.expectedComponents.toString();                        74       return this.expectedComponents.toString();
71    }                                                                    75    }
72                                                                         76 
73    public boolean test(DataComponentMap $$0) {                          77    public boolean test(DataComponentGetter $$0) {
74       for (TypedDataComponent<?> $$1 : this.expectedComponents) {       78       for (TypedDataComponent<?> $$1 : this.expectedComponents) {
75          Object $$2 = $$0.get($$1.type());                              79          Object $$2 = $$0.get($$1.type());
76          if (!Objects.equals($$1.value(), $$2)) {                       80          if (!Objects.equals($$1.value(), $$2)) {

net/minecraft/core/component/DataComponentPredicate.java --- 4/4 --- Java
81       return true;                                                      85       return true;
82    }                                                                    86    }
83                                                                         .. 
84    public boolean test(DataComponentHolder $$0) {                       .. 
85       return this.test($$0.getComponents());                            .. 
86    }                                                                    .. 
87                                                                         87 
88    public boolean alwaysMatches() {                                     88    public boolean alwaysMatches() {
89       return this.expectedComponents.isEmpty();                         89       return this.expectedComponents.isEmpty();

net/minecraft/world/level/block/HayBlock.java --- Java
22    }                                                                    22    }
23                                                                         23 
24    @Override                                                            24    @Override
25    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $ 25    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $
.. $3, float $$4) {                                                        .. $3, double $$4) {
26       $$3.causeFallDamage($$4, 0.2F, $$0.damageSources().fall());       26       $$3.causeFallDamage($$4, 0.2F, $$0.damageSources().fall());
27    }                                                                    27    }
28 }                                                                       28 }

net/minecraft/core/component/DataComponentGetter.java --- Java
 1 package net.minecraft.core.component;
 2 
 3 import javax.annotation.Nullable;
 4 
 5 public interface DataComponentGetter {
 6    @Nullable
 7    <T> T get(DataComponentType<? extends T> var1);
 8 
 9    default <T> T getOrDefault(DataComponentType<? extends T> $$0, T $$1) {
10       T $$2 = this.get($$0);
11       return $$2 != null ? $$2 : $$1;
12    }
13 
14    @Nullable
15    default <T> TypedDataComponent<T> getTyped(DataComponentType<T> $$0) {
16       T $$1 = this.get($$0);
17       return $$1 != null ? new TypedDataComponent<>($$0, $$1) : null;
18    }
19 }
20 

net/minecraft/util/datafix/schemas/V4301.java --- Java
 1 package net.minecraft.util.datafix.schemas;
 2 
 3 import com.mojang.datafixers.DSL;
 4 import com.mojang.datafixers.schemas.Schema;
 5 import com.mojang.datafixers.types.templates.TypeTemplate;
 6 import com.mojang.datafixers.util.Pair;
 7 import java.util.Map;
 8 import java.util.function.Supplier;
 9 import net.minecraft.util.datafix.fixes.References;
10 
11 public class V4301 extends NamespacedSchema {
12    public V4301(int $$0, Schema $$1) {
13       super($$0, $$1);
14    }
15 
16    @Override
17    public void registerTypes(Schema $$0, Map<String, Supplier<TypeTemplate>> $$1, Map<String, Supplier<TypeTemplate>> $$2) {
18       super.registerTypes($$0, $$1, $$2);
19       $$0.registerType(
20          true,
21          References.ENTITY_EQUIPMENT,
22          () -> DSL.optional(
23                DSL.field(
24                   "equipment",
25                   DSL.optionalFields(
26                      Pair.of("mainhand", References.ITEM_STACK.in($$0)),
27                      Pair.of("offhand", References.ITEM_STACK.in($$0)),
28                      Pair.of("feet", References.ITEM_STACK.in($$0)),
29                      Pair.of("legs", References.ITEM_STACK.in($$0)),
30                      Pair.of("chest", References.ITEM_STACK.in($$0)),
31                      Pair.of("head", References.ITEM_STACK.in($$0)),
32                      Pair.of("body", References.ITEM_STACK.in($$0)),
33                      Pair.of("saddle", References.ITEM_STACK.in($$0))
34                   )
35                )
36             )
37       );
38    }
39 }
40 

net/minecraft/data/tags/EntityTypeTagsProvider.java --- Java
172             EntityType.MANGROVE_BOAT,                                  172             EntityType.MANGROVE_BOAT,
173             EntityType.BAMBOO_RAFT                                     173             EntityType.BAMBOO_RAFT
174          );                                                            174          );
...                                                                        175       this.tag(EntityTypeTags.CAN_EQUIP_SADDLE)
...                                                                        176          .add(
...                                                                        177             EntityType.HORSE,
...                                                                        178             EntityType.SKELETON_HORSE,
...                                                                        179             EntityType.ZOMBIE_HORSE,
...                                                                        180             EntityType.DONKEY,
...                                                                        181             EntityType.MULE,
...                                                                        182             EntityType.PIG,
...                                                                        183             EntityType.STRIDER,
...                                                                        184             EntityType.CAMEL
...                                                                        185          );
175    }                                                                   186    }
176 }                                                                      187 }

net/minecraft/util/datafix/schemas/V2100.java --- Java
13    }                                                                    13    }
14                                                                         14 
15    protected static void registerMob(Schema $$0, Map<String, Supplier<T 15    protected static void registerMob(Schema $$0, Map<String, Supplier<T
.. ypeTemplate>> $$1, String $$2) {                                        .. ypeTemplate>> $$1, String $$2) {
16       $$0.register($$1, $$2, () -> V100.equipment($$0));                16       $$0.registerSimple($$1, $$2);
17    }                                                                    17    }
18                                                                         18 
19    @Override                                                            19    @Override

net/minecraft/world/level/block/FrogspawnBlock.java --- Java
110             double $$6 = (double)$$1.getX() + this.getRandomTadpolePos 110             double $$6 = (double)$$1.getX() + this.getRandomTadpolePos
... itionOffset($$2);                                                      ... itionOffset($$2);
111             double $$7 = (double)$$1.getZ() + this.getRandomTadpolePos 111             double $$7 = (double)$$1.getZ() + this.getRandomTadpolePos
... itionOffset($$2);                                                      ... itionOffset($$2);
112             int $$8 = $$2.nextInt(1, 361);                             112             int $$8 = $$2.nextInt(1, 361);
113             $$5.moveTo($$6, (double)$$1.getY() - 0.5, $$7, (float)$$8, 113             $$5.snapTo($$6, (double)$$1.getY() - 0.5, $$7, (float)$$8,
...  0.0F);                                                                ...  0.0F);
114             $$5.setPersistenceRequired();                              114             $$5.setPersistenceRequired();
115             $$0.addFreshEntity($$5);                                   115             $$0.addFreshEntity($$5);
116          }                                                             116          }

net/minecraft/client/renderer/entity/layers/SimpleEquipmentLayer.java --- Java
 1 package net.minecraft.client.renderer.entity.layers;
 2 
 3 import com.mojang.blaze3d.vertex.PoseStack;
 4 import java.util.function.Function;
 5 import net.fabricmc.api.EnvType;
 6 import net.fabricmc.api.Environment;
 7 import net.minecraft.client.model.EntityModel;
 8 import net.minecraft.client.renderer.MultiBufferSource;
 9 import net.minecraft.client.renderer.entity.RenderLayerParent;
10 import net.minecraft.client.renderer.entity.state.LivingEntityRenderState;
11 import net.minecraft.client.resources.model.EquipmentClientInfo;
12 import net.minecraft.core.component.DataComponents;
13 import net.minecraft.world.item.ItemStack;
14 import net.minecraft.world.item.equipment.Equippable;
15 
16 @Environment(EnvType.CLIENT)
17 public class SimpleEquipmentLayer<S extends LivingEntityRenderState, RM extends EntityModel<? super S>, EM extends EntityModel<? super S>>
18    extends RenderLayer<S, RM> {
19    private final EquipmentLayerRenderer equipmentRenderer;
20    private final EquipmentClientInfo.LayerType layer;
21    private final Function<S, ItemStack> itemGetter;
22    private final EM adultModel;
23    private final EM babyModel;
24 
25    public SimpleEquipmentLayer(
26       RenderLayerParent<S, RM> $$0, EquipmentLayerRenderer $$1, EquipmentClientInfo.LayerType $$2, Function<S, ItemStack> $$3, EM $$4, EM $$5
27    ) {
28       super($$0);
29       this.equipmentRenderer = $$1;
30       this.layer = $$2;
31       this.itemGetter = $$3;
32       this.adultModel = $$4;
33       this.babyModel = $$5;
34    }
35 
36    public SimpleEquipmentLayer(RenderLayerParent<S, RM> $$0, EquipmentLayerRenderer $$1, EM $$2, EquipmentClientInfo.LayerType $$3, Function<S, ItemStack> $$4) {
37       this($$0, $$1, $$3, $$4, $$2, $$2);
38    }
39 
40    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, S $$3, float $$4, float $$5) {
41       ItemStack $$6 = this.itemGetter.apply($$3);
42       Equippable $$7 = $$6.get(DataComponents.EQUIPPABLE);
43       if ($$7 != null && !$$7.assetId().isEmpty()) {
44          EM $$8 = $$3.isBaby ? this.babyModel : this.adultModel;
45          $$8.setupAnim($$3);
46          this.equipmentRenderer.renderLayers(this.layer, $$7.assetId().get(), $$8, $$6, $$0, $$1, $$2);
47       }
48    }
49 }
50 

net/minecraft/util/datafix/schemas/V1800.java --- Java
15    @Override                                                            15    @Override
16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
18       $$0.register($$1, "minecraft:panda", () -> V100.equipment($$0));  18       $$0.registerSimple($$1, "minecraft:panda");
19       $$0.register($$1, "minecraft:pillager", $$1x -> DSL.optionalField 19       $$0.register($$1, "minecraft:pillager", $$1x -> DSL.optionalField
.. s("Inventory", DSL.list(References.ITEM_STACK.in($$0)), V100.equipment( .. s("Inventory", DSL.list(References.ITEM_STACK.in($$0))));
.. $$0)));                                                                 .. 
20       return $$1;                                                       20       return $$1;
21    }                                                                    21    }
22 }                                                                       22 }

net/minecraft/advancements/critereon/ItemPredicate.java --- 1/2 --- Java
 9 import net.minecraft.core.HolderGetter;                                  9 import net.minecraft.core.HolderGetter;
10 import net.minecraft.core.HolderSet;                                    10 import net.minecraft.core.HolderSet;
11 import net.minecraft.core.RegistryCodecs;                               11 import net.minecraft.core.RegistryCodecs;
12 import net.minecraft.core.component.DataComponentHolder;                12 import net.minecraft.core.component.DataComponentGetter;
13 import net.minecraft.core.component.DataComponentPredicate;             13 import net.minecraft.core.component.DataComponentPredicate;
14 import net.minecraft.core.registries.Registries;                        14 import net.minecraft.core.registries.Registries;
15 import net.minecraft.tags.TagKey;                                       15 import net.minecraft.tags.TagKey;

net/minecraft/advancements/critereon/ItemPredicate.java --- 2/2 --- Java
35          return false;                                                  35          return false;
36       } else if (!this.count.matches($$0.getCount())) {                 36       } else if (!this.count.matches($$0.getCount())) {
37          return false;                                                  37          return false;
38       } else if (!this.components.test((DataComponentHolder)$$0)) {     38       } else if (!this.components.test((DataComponentGetter)$$0)) {
39          return false;                                                  39          return false;
40       } else {                                                          40       } else {
41          for (ItemSubPredicate $$1 : this.subPredicates.values()) {     41          for (ItemSubPredicate $$1 : this.subPredicates.values()) {

net/minecraft/client/model/BoggedModel.java --- Java
24       MeshDefinition $$0 = HumanoidModel.createMesh(CubeDeformation.NON 24       MeshDefinition $$0 = HumanoidModel.createMesh(CubeDeformation.NON
.. E, 0.0F);                                                               .. E, 0.0F);
25       PartDefinition $$1 = $$0.getRoot();                               25       PartDefinition $$1 = $$0.getRoot();
26       SkeletonModel.createDefaultSkeletonMesh($$1);                     26       SkeletonModel.createDefaultSkeletonMesh($$1);
27       PartDefinition $$2 = $$1.getChild("head").clearChild("mushrooms") 27       PartDefinition $$2 = $$1.getChild("head").addOrReplaceChild("mush
.. ;                                                                       .. rooms", CubeListBuilder.create(), PartPose.ZERO);
28       $$2.addOrReplaceChild(                                            28       $$2.addOrReplaceChild(
29          "red_mushroom_1",                                              29          "red_mushroom_1",
30          CubeListBuilder.create().texOffs(50, 16).addBox(-3.0F, -3.0F,  30          CubeListBuilder.create().texOffs(50, 16).addBox(-3.0F, -3.0F, 
   0.0F, 6.0F, 4.0F, 0.0F),                                                   0.0F, 6.0F, 4.0F, 0.0F),

net/minecraft/server/level/ServerPlayer.java --- 1/5 --- Java
328       this.server = $$0;                                               328       this.server = $$0;
329       this.stats = $$0.getPlayerList().getPlayerStats(this);           329       this.stats = $$0.getPlayerList().getPlayerStats(this);
330       this.advancements = $$0.getPlayerList().getPlayerAdvancements(th 330       this.advancements = $$0.getPlayerList().getPlayerAdvancements(th
... is);                                                                   ... is);
331       this.moveTo(this.adjustSpawnLocation($$1, $$1.getSharedSpawnPos( 331       this.snapTo(this.adjustSpawnLocation($$1, $$1.getSharedSpawnPos(
... )).getBottomCenter(), 0.0F, 0.0F);                                     ... )).getBottomCenter(), 0.0F, 0.0F);
332       this.updateOptions($$3);                                         332       this.updateOptions($$3);
333       this.object = null;                                              333       this.object = null;
334    }                                                                   334    }

net/minecraft/server/level/ServerPlayer.java --- 2/5 --- Java
662       Entity $$0 = this.getCamera();                                   662       Entity $$0 = this.getCamera();
663       if ($$0 != this) {                                               663       if ($$0 != this) {
664          if ($$0.isAlive()) {                                          664          if ($$0.isAlive()) {
665             this.absMoveTo($$0.getX(), $$0.getY(), $$0.getZ(), $$0.get 665             this.absSnapTo($$0.getX(), $$0.getY(), $$0.getZ(), $$0.get
... YRot(), $$0.getXRot());                                                ... YRot(), $$0.getXRot());
666             this.serverLevel().getChunkSource().move(this);            666             this.serverLevel().getChunkSource().move(this);
667             if (this.wantsToStopRiding()) {                            667             if (this.wantsToStopRiding()) {
668                this.setCamera(this);                                   668                this.setCamera(this);

net/minecraft/server/level/ServerPlayer.java --- 3/5 --- Java
813    }                                                                   813    }
814                                                                        814 
815    public void trackStartFallingPosition() {                           815    public void trackStartFallingPosition() {
816       if (this.fallDistance > 0.0F && this.startingToFallPosition == n 816       if (this.fallDistance > 0.0 && this.startingToFallPosition == nu
... ull) {                                                                 ... ll) {
817          this.startingToFallPosition = this.position();                817          this.startingToFallPosition = this.position();
818          if (this.currentImpulseImpactPos != null && this.currentImpul 818          if (this.currentImpulseImpactPos != null && this.currentImpul
... seImpactPos.y <= this.startingToFallPosition.y) {                      ... seImpactPos.y <= this.startingToFallPosition.y) {
819             CriteriaTriggers.FALL_AFTER_EXPLOSION.trigger(this, this.c 819             CriteriaTriggers.FALL_AFTER_EXPLOSION.trigger(this, this.c
    urrentImpulseImpactPos, this.currentExplosionCause);                       urrentImpulseImpactPos, this.currentExplosionCause);

net/minecraft/server/level/ServerPlayer.java --- 4/5 --- Java
1205                                                                       1205 
1206    @Override                                                          1206    @Override
1207    protected void checkFallDamage(double $$0, boolean $$1, BlockState 1207    protected void checkFallDamage(double $$0, boolean $$1, BlockState
....  $$2, BlockPos $$3) {                                                 ....  $$2, BlockPos $$3) {
1208       if (this.spawnExtraParticlesOnFall && $$1 && this.fallDistance  1208       if (this.spawnExtraParticlesOnFall && $$1 && this.fallDistance 
.... > 0.0F) {                                                             .... > 0.0) {
1209          Vec3 $$4 = $$3.getCenter().add(0.0, 0.5, 0.0);               1209          Vec3 $$4 = $$3.getCenter().add(0.0, 0.5, 0.0);
1210          int $$5 = (int)Mth.clamp(50.0F * this.fallDistance, 0.0F, 20 1210          int $$5 = (int)Mth.clamp(50.0 * this.fallDistance, 0.0, 200.
.... 0.0F);                                                                .... 0);
1211          this.serverLevel().sendParticles(new BlockParticleOption(Par 1211          this.serverLevel().sendParticles(new BlockParticleOption(Par
.... ticleTypes.BLOCK, $$2), $$4.x, $$4.y, $$4.z, $$5, 0.3F, 0.3F, 0.3F, 0 .... ticleTypes.BLOCK, $$2), $$4.x, $$4.y, $$4.z, $$5, 0.3F, 0.3F, 0.3F, 0
.... .15F);                                                                .... .15F);
1212          this.spawnExtraParticlesOnFall = false;                      1212          this.spawnExtraParticlesOnFall = false;
1213       }                                                               1213       }

net/minecraft/server/level/ServerPlayer.java --- 5/5 --- Java
1595    }                                                                  1595    }
1596                                                                       1596 
1597    @Override                                                          1597    @Override
1598    public void moveTo(double $$0, double $$1, double $$2) {           1598    public void snapTo(double $$0, double $$1, double $$2) {
1599       super.moveTo($$0, $$1, $$2);                                    1599       super.snapTo($$0, $$1, $$2);
1600       this.connection.resetPosition();                                1600       this.connection.resetPosition();
1601    }                                                                  1601    }
1602                                                                       1602 

net/minecraft/data/advancements/packs/VanillaHusbandryAdvancements.java --- 1/6 --- Java
19 import net.minecraft.advancements.critereon.EntityEquipmentPredicate;   19 import net.minecraft.advancements.critereon.EntityEquipmentPredicate;
20 import net.minecraft.advancements.critereon.EntityFlagsPredicate;       20 import net.minecraft.advancements.critereon.EntityFlagsPredicate;
21 import net.minecraft.advancements.critereon.EntityPredicate;            21 import net.minecraft.advancements.critereon.EntityPredicate;
22 import net.minecraft.advancements.critereon.EntitySubPredicates;        .. 
23 import net.minecraft.advancements.critereon.FilledBucketTrigger;        22 import net.minecraft.advancements.critereon.FilledBucketTrigger;
24 import net.minecraft.advancements.critereon.FishingRodHookedTrigger;    23 import net.minecraft.advancements.critereon.FishingRodHookedTrigger;
25 import net.minecraft.advancements.critereon.InventoryChangeTrigger;     24 import net.minecraft.advancements.critereon.InventoryChangeTrigger;

net/minecraft/data/advancements/packs/VanillaHusbandryAdvancements.java --- 2/6 --- Java
36 import net.minecraft.core.Holder;                                       35 import net.minecraft.core.Holder;
37 import net.minecraft.core.HolderGetter;                                 36 import net.minecraft.core.HolderGetter;
38 import net.minecraft.core.HolderLookup;                                 37 import net.minecraft.core.HolderLookup;
39 import net.minecraft.core.HolderSet;                                    .. 
40 import net.minecraft.core.component.DataComponentPredicate;             38 import net.minecraft.core.component.DataComponentPredicate;
41 import net.minecraft.core.component.DataComponents;                     39 import net.minecraft.core.component.DataComponents;
42 import net.minecraft.core.registries.BuiltInRegistries;                 40 import net.minecraft.core.registries.BuiltInRegistries;

net/minecraft/data/advancements/packs/VanillaHusbandryAdvancements.java --- 3/6 --- Java
629                               .body(                                   627                               .body(
630                                  ItemPredicate.Builder.item()          628                                  ItemPredicate.Builder.item().of($$3, 
...                                                                        ... Items.WOLF_ARMOR).hasComponents(DataComponentPredicate.expect(DataComp
...                                                                        ... onents.DAMAGE, 0))
631                                     .of($$3, Items.WOLF_ARMOR)         ... 
632                                     .hasComponents(DataComponentPredic ... 
... ate.builder().expect(DataComponents.DAMAGE, 0).build())                ... 
633                               )                                        629                               )
634                         )                                              630                         )
635                   )                                                    631                   )

net/minecraft/data/advancements/packs/VanillaHusbandryAdvancements.java --- 4/6 --- Java
667                   PlayerInteractTrigger.TriggerInstance.itemUsedOnEnti 663                   PlayerInteractTrigger.TriggerInstance.itemUsedOnEnti
... ty(                                                                    ... ty(
668                      ItemPredicate.Builder.item().of($$1, Items.LEAD), 664                      ItemPredicate.Builder.item().of($$1, Items.LEAD),
669                      Optional.of(                                      665                      Optional.of(
670                         EntityPredicate.wrap(EntityPredicate.Builder.e 666                         EntityPredicate.wrap(
... ntity().of($$0, EntityType.FROG).subPredicate(EntitySubPredicates.frog ... 
... Variant($$3)))                                                         ... 
...                                                                        667                            EntityPredicate.Builder.entity()
...                                                                        668                               .of($$0, EntityType.FROG)
...                                                                        669                               .components(DataComponentPredicate.expec
...                                                                        ... t(DataComponents.FROG_VARIANT, $$3))
...                                                                        670                         )
671                      )                                                 671                      )
672                   )                                                    672                   )

net/minecraft/data/advancements/packs/VanillaHusbandryAdvancements.java --- 5/6 --- Java
734          .forEach(                                                     734          .forEach(
735             $$1 -> $$0.addCriterion(                                   735             $$1 -> $$0.addCriterion(
736                   $$1.key().location().toString(),                     736                   $$1.key().location().toString(),
737                   TameAnimalTrigger.TriggerInstance.tamedAnimal(Entity 737                   TameAnimalTrigger.TriggerInstance.tamedAnimal(
... Predicate.Builder.entity().subPredicate(EntitySubPredicates.catVariant ... 
... ($$1)))                                                                ... 
...                                                                        738                      EntityPredicate.Builder.entity().components(DataC
...                                                                        ... omponentPredicate.expect(DataComponents.CAT_VARIANT, $$1))
...                                                                        739                   )
738                )                                                       740                )
739          );                                                            741          );

net/minecraft/data/advancements/packs/VanillaHusbandryAdvancements.java --- 6/6 --- Java
750                $$0.addCriterion(                                       752                $$0.addCriterion(
751                   $$2x.location().toString(),                          753                   $$2x.location().toString(),
752                   TameAnimalTrigger.TriggerInstance.tamedAnimal(       754                   TameAnimalTrigger.TriggerInstance.tamedAnimal(
753                      EntityPredicate.Builder.entity().subPredicate(Ent 755                      EntityPredicate.Builder.entity().components(DataC
... itySubPredicates.wolfVariant(HolderSet.direct($$3)))                   ... omponentPredicate.expect(DataComponents.WOLF_VARIANT, $$3))
754                   )                                                    756                   )
755                );                                                      757                );
756             }                                                          758             }

net/minecraft/world/level/block/PowderSnowBlock.java --- 1/2 --- Java
78       }                                                                 78       }
79                                                                         79 
80       $$3.setIsInPowderSnow(true);                                      80       $$3.setIsInPowderSnow(true);
81       if ($$1 instanceof ServerLevel $$6) {                             81       if ($$1 instanceof ServerLevel $$6
82          if ($$3.isOnFire() && ($$6.getGameRules().getBoolean(GameRules 82          && $$3.isOnFire()
.. .RULE_MOBGRIEFING) || $$3 instanceof Player) && $$3.mayInteract($$6, $$ .. 
.. 2)) {                                                                   .. 
..                                                                         83          && ($$6.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) 
..                                                                         .. || $$3 instanceof Player)
..                                                                         84          && $$3.mayInteract($$6, $$2)) {
83             $$1.destroyBlock($$2, false);                               85          $$1.destroyBlock($$2, false);
84          }                                                              86       }
85                                                                         .. 
86          $$3.setSharedFlagOnFire(false);                                .. 
87       }                                                                 .. 
88    }                                                                    87    }
89                                                                         88 
90    @Override                                                            89    @Override
91    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $ 90    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $
.. $3, float $$4) {                                                        .. $3, double $$4) {
92       if (!((double)$$4 < 4.0) && $$3 instanceof LivingEntity $$5) {    91       if (!($$4 < 4.0) && $$3 instanceof LivingEntity $$5) {
93          LivingEntity.Fallsounds $$7 = $$5.getFallSounds();             92          LivingEntity.Fallsounds $$7 = $$5.getFallSounds();
94          SoundEvent $$8 = (double)$$4 < 7.0 ? $$7.small() : $$7.big();  93          SoundEvent $$8 = $$4 < 7.0 ? $$7.small() : $$7.big();
95          $$3.playSound($$8, 1.0F, 1.0F);                                94          $$3.playSound($$8, 1.0F, 1.0F);
96       }                                                                 95       }
97    }                                                                    96    }

net/minecraft/world/level/block/PowderSnowBlock.java --- 2/2 --- Java
101       if ($$3 instanceof EntityCollisionContext $$4) {                 100       if ($$3 instanceof EntityCollisionContext $$4) {
102          Entity $$5 = $$4.getEntity();                                 101          Entity $$5 = $$4.getEntity();
103          if ($$5 != null) {                                            102          if ($$5 != null) {
104             if ($$5.fallDistance > 2.5F) {                             103             if ($$5.fallDistance > 2.5) {
105                return FALLING_COLLISION_SHAPE;                         104                return FALLING_COLLISION_SHAPE;
106             }                                                          105             }
107                                                                        106 

net/minecraft/world/level/levelgen/feature/treedecorators/PlaceOnGroundDecorator.java --- 1/2 --- Java
 6 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.util.ExtraCodecs;                                   7 import net.minecraft.util.ExtraCodecs;
 8 import net.minecraft.util.RandomSource;                                  8 import net.minecraft.util.RandomSource;
 .                                                                          9 import net.minecraft.world.level.block.state.BlockBehaviour;
 9 import net.minecraft.world.level.levelgen.feature.TreeFeature;          10 import net.minecraft.world.level.levelgen.feature.TreeFeature;
10 import net.minecraft.world.level.levelgen.feature.stateproviders.BlockS 11 import net.minecraft.world.level.levelgen.feature.stateproviders.BlockS
.. tateProvider;                                                           .. tateProvider;
11 import net.minecraft.world.level.levelgen.structure.BoundingBox;        12 import net.minecraft.world.level.levelgen.structure.BoundingBox;

net/minecraft/world/level/levelgen/feature/treedecorators/PlaceOnGroundDecorator.java --- 2/2 --- Java
75                                                                         76 
76    private void placeBlockAt(TreeDecorator.Context $$0, BlockPos $$1) { 77    private void placeBlockAt(TreeDecorator.Context $$0, BlockPos $$1) {
77       BlockPos $$2 = $$1.above();                                       78       BlockPos $$2 = $$1.above();
78       if ((TreeFeature.validTreePos($$0.level(), $$2) || TreeFeature.is 79       if (($$0.level().isStateAtPosition($$1, BlockBehaviour.BlockState
.. Vine($$0.level(), $$2))                                                 .. Base::isAir) || TreeFeature.isVine($$0.level(), $$2))
79          && TreeFeature.isGrassOrDirt($$0.level(), $$2.below())         80          && TreeFeature.isGrassOrDirt($$0.level(), $$2.below())
80          && !$$0.level().isFluidAtPosition($$2, $$0x -> $$0x.is(Fluids. 81          && !$$0.level().isFluidAtPosition($$2, $$0x -> $$0x.is(Fluids.
.. WATER))) {                                                              .. WATER))) {
81          $$0.setBlock($$2, this.blockStateProvider.getState($$0.random( 82          $$0.setBlock($$2, this.blockStateProvider.getState($$0.random(
   ), $$1));                                                                  ), $$1));

net/minecraft/world/entity/ItemBasedSteering.java --- 1/3 --- Java
1 package net.minecraft.world.entity;                                      1 package net.minecraft.world.entity;
2                                                                          2 
3 import net.minecraft.nbt.CompoundTag;                                    . 
4 import net.minecraft.network.syncher.EntityDataAccessor;                 3 import net.minecraft.network.syncher.EntityDataAccessor;
5 import net.minecraft.network.syncher.SynchedEntityData;                  4 import net.minecraft.network.syncher.SynchedEntityData;
6 import net.minecraft.util.Mth;                                           5 import net.minecraft.util.Mth;

net/minecraft/world/entity/ItemBasedSteering.java --- 2/3 --- Java
11    private static final int MAX_BOOST_TIME = 700;                       10    private static final int MAX_BOOST_TIME = 700;
12    private final SynchedEntityData entityData;                          11    private final SynchedEntityData entityData;
13    private final EntityDataAccessor<Integer> boostTimeAccessor;         12    private final EntityDataAccessor<Integer> boostTimeAccessor;
14    private final EntityDataAccessor<Boolean> hasSaddleAccessor;         .. 
15    private boolean boosting;                                            13    private boolean boosting;
16    private int boostTime;                                               14    private int boostTime;
17                                                                         15 
18    public ItemBasedSteering(SynchedEntityData $$0, EntityDataAccessor<I 16    public ItemBasedSteering(SynchedEntityData $$0, EntityDataAccessor<I
.. nteger> $$1, EntityDataAccessor<Boolean> $$2) {                         .. nteger> $$1) {
19       this.entityData = $$0;                                            17       this.entityData = $$0;
20       this.boostTimeAccessor = $$1;                                     18       this.boostTimeAccessor = $$1;
21       this.hasSaddleAccessor = $$2;                                     .. 
22    }                                                                    19    }
23                                                                         20 
24    public void onSynced() {                                             21    public void onSynced() {

net/minecraft/world/entity/ItemBasedSteering.java --- 3/3 --- Java
51       return this.entityData.get(this.boostTimeAccessor);               48       return this.entityData.get(this.boostTimeAccessor);
52    }                                                                    49    }
53                                                                         .. 
54    public void addAdditionalSaveData(CompoundTag $$0) {                 .. 
55       $$0.putBoolean("Saddle", this.hasSaddle());                       .. 
56    }                                                                    .. 
57                                                                         .. 
58    public void readAdditionalSaveData(CompoundTag $$0) {                .. 
59       this.setSaddle($$0.getBoolean("Saddle"));                         .. 
60    }                                                                    .. 
61                                                                         .. 
62    public void setSaddle(boolean $$0) {                                 .. 
63       this.entityData.set(this.hasSaddleAccessor, $$0);                 .. 
64    }                                                                    .. 
65                                                                         .. 
66    public boolean hasSaddle() {                                         .. 
67       return this.entityData.get(this.hasSaddleAccessor);               .. 
68    }                                                                    .. 
69 }                                                                       50 }

net/minecraft/network/chat/ComponentUtils.java --- Java
56          HoverEvent.ShowText var10000 = var5;                           56          HoverEvent.ShowText var10000 = var5;
57                                                                         57 
58          try {                                                          58          try {
59             var10 = var10000.text();                                    59             var10 = var10000.value();
60          } catch (Throwable var8) {                                     60          } catch (Throwable var8) {
61             throw new MatchException(var8.toString(), var8);            61             throw new MatchException(var8.toString(), var8);
62          }                                                              62          }

net/minecraft/world/entity/ai/behavior/PoiCompetitorScan.java --- Java
53                                                                         53 
54    private static boolean competesForSameJobsite(GlobalPos $$0, Holder< 54    private static boolean competesForSameJobsite(GlobalPos $$0, Holder<
.. PoiType> $$1, Villager $$2) {                                           .. PoiType> $$1, Villager $$2) {
55       Optional<GlobalPos> $$3 = $$2.getBrain().getMemory(MemoryModuleTy 55       Optional<GlobalPos> $$3 = $$2.getBrain().getMemory(MemoryModuleTy
.. pe.JOB_SITE);                                                           .. pe.JOB_SITE);
56       return $$3.isPresent() && $$0.equals($$3.get()) && hasMatchingPro 56       return $$3.isPresent() && $$0.equals($$3.get()) && hasMatchingPro
.. fession($$1, $$2.getVillagerData().getProfession());                    .. fession($$1, $$2.getVillagerData().profession());
57    }                                                                    57    }
58                                                                         58 
59    private static boolean hasMatchingProfession(Holder<PoiType> $$0, Vi 59    private static boolean hasMatchingProfession(Holder<PoiType> $$0, Ho
.. llagerProfession $$1) {                                                 .. lder<VillagerProfession> $$1) {
60       return $$1.heldJobSite().test($$0);                               60       return $$1.value().heldJobSite().test($$0);
61    }                                                                    61    }
62 }                                                                       62 }

net/minecraft/world/item/equipment/EquipmentAssets.java --- Java
18    ResourceKey<EquipmentAsset> NETHERITE = createId("netherite");       18    ResourceKey<EquipmentAsset> NETHERITE = createId("netherite");
19    ResourceKey<EquipmentAsset> ARMADILLO_SCUTE = createId("armadillo_sc 19    ResourceKey<EquipmentAsset> ARMADILLO_SCUTE = createId("armadillo_sc
.. ute");                                                                  .. ute");
20    ResourceKey<EquipmentAsset> ELYTRA = createId("elytra");             20    ResourceKey<EquipmentAsset> ELYTRA = createId("elytra");
..                                                                         21    ResourceKey<EquipmentAsset> SADDLE = createId("saddle");
21    Map<DyeColor, ResourceKey<EquipmentAsset>> CARPETS = Util.makeEnumMa 22    Map<DyeColor, ResourceKey<EquipmentAsset>> CARPETS = Util.makeEnumMa
.. p(DyeColor.class, $$0 -> createId($$0.getSerializedName() + "_carpet")) .. p(DyeColor.class, $$0 -> createId($$0.getSerializedName() + "_carpet"))
.. ;                                                                       .. ;
22    ResourceKey<EquipmentAsset> TRADER_LLAMA = createId("trader_llama"); 23    ResourceKey<EquipmentAsset> TRADER_LLAMA = createId("trader_llama");
23                                                                         24 

net/minecraft/client/model/DonkeyModel.java --- 1/3 --- Java
 7 import net.minecraft.client.model.geom.builders.CubeDeformation;         7 import net.minecraft.client.model.geom.builders.CubeDeformation;
 8 import net.minecraft.client.model.geom.builders.CubeListBuilder;         8 import net.minecraft.client.model.geom.builders.CubeListBuilder;
 9 import net.minecraft.client.model.geom.builders.LayerDefinition;         9 import net.minecraft.client.model.geom.builders.LayerDefinition;
10 import net.minecraft.client.model.geom.builders.MeshDefinition;          . 
11 import net.minecraft.client.model.geom.builders.MeshTransformer;        10 import net.minecraft.client.model.geom.builders.MeshTransformer;
12 import net.minecraft.client.model.geom.builders.PartDefinition;         11 import net.minecraft.client.model.geom.builders.PartDefinition;
13 import net.minecraft.client.renderer.entity.state.DonkeyRenderState;    12 import net.minecraft.client.renderer.entity.state.DonkeyRenderState;

net/minecraft/client/model/DonkeyModel.java --- 2/3 --- Java
16 public class DonkeyModel extends AbstractEquineModel<DonkeyRenderState> 15 public class DonkeyModel extends AbstractEquineModel<DonkeyRenderState>
..  {                                                                      ..  {
17    public static final float DONKEY_SCALE = 0.87F;                      16    public static final float DONKEY_SCALE = 0.87F;
18    public static final float MULE_SCALE = 0.92F;                        17    public static final float MULE_SCALE = 0.92F;
..                                                                         18    private static final MeshTransformer DONKEY_TRANSFORMER = $$0 -> {
..                                                                         19       modifyMesh($$0.getRoot());
..                                                                         20       return $$0;
..                                                                         21    };
19    private final ModelPart leftChest = this.body.getChild("left_chest") 22    private final ModelPart leftChest = this.body.getChild("left_chest")
.. ;                                                                       .. ;
20    private final ModelPart rightChest = this.body.getChild("right_chest 23    private final ModelPart rightChest = this.body.getChild("right_chest
.. ");                                                                     .. ");
21                                                                         24 

net/minecraft/client/model/DonkeyModel.java --- 3/3 --- Java
24    }                                                                    27    }
25                                                                         28 
26    public static LayerDefinition createBodyLayer(float $$0) {           29    public static LayerDefinition createBodyLayer(float $$0) {
27       MeshDefinition $$1 = AbstractEquineModel.createBodyMesh(CubeDefor .. 
.. mation.NONE);                                                           .. 
28       modifyMesh($$1.getRoot());                                        .. 
29       return LayerDefinition.create($$1, 64, 64).apply(MeshTransformer. 30       return LayerDefinition.create(AbstractEquineModel.createBodyMesh(
.. scaling($$0));                                                          .. CubeDeformation.NONE), 64, 64)
..                                                                         31          .apply(DONKEY_TRANSFORMER)
..                                                                         32          .apply(MeshTransformer.scaling($$0));
30    }                                                                    33    }
31                                                                         34 
32    public static LayerDefinition createBabyLayer(float $$0) {           35    public static LayerDefinition createBabyLayer(float $$0) {
33       MeshDefinition $$1 = AbstractEquineModel.createFullScaleBabyMesh( .. 
.. CubeDeformation.NONE);                                                  .. 
34       modifyMesh($$1.getRoot());                                        .. 
35       return LayerDefinition.create(AbstractEquineModel.BABY_TRANSFORME 36       return LayerDefinition.create(AbstractEquineModel.createFullScale
.. R.apply($$1), 64, 64).apply(MeshTransformer.scaling($$0));              .. BabyMesh(CubeDeformation.NONE), 64, 64)
..                                                                         37          .apply(DONKEY_TRANSFORMER)
..                                                                         38          .apply(BABY_TRANSFORMER)
..                                                                         39          .apply(MeshTransformer.scaling($$0));
36    }                                                                    40    }
..                                                                         41 
..                                                                         42    public static LayerDefinition createSaddleLayer(float $$0, boolean $
..                                                                         .. $1) {
..                                                                         43       return EquineSaddleModel.createFullScaleSaddleLayer($$1)
..                                                                         44          .apply(DONKEY_TRANSFORMER)
..                                                                         45          .apply($$1 ? AbstractEquineModel.BABY_TRANSFORMER : MeshTransf
..                                                                         .. ormer.IDENTITY)
..                                                                         46          .apply(MeshTransformer.scaling($$0));
..                                                                         47    }
37                                                                         48 
38    private static void modifyMesh(PartDefinition $$0) {                 49    private static void modifyMesh(PartDefinition $$0) {
39       PartDefinition $$1 = $$0.getChild("body");                        50       PartDefinition $$1 = $$0.getChild("body");

net/minecraft/util/datafix/schemas/V705.java --- 1/8 --- Java
134    }                                                                   134    }
135                                                                        135 
136    protected static void registerMob(Schema $$0, Map<String, Supplier< 136    protected static void registerMob(Schema $$0, Map<String, Supplier<
... TypeTemplate>> $$1, String $$2) {                                      ... TypeTemplate>> $$1, String $$2) {
137       $$0.register($$1, $$2, () -> V100.equipment($$0));               137       $$0.registerSimple($$1, $$2);
138    }                                                                   138    }
139                                                                        139 
140    protected static void registerThrowableProjectile(Schema $$0, Map<S 140    protected static void registerThrowableProjectile(Schema $$0, Map<S
    tring, Supplier<TypeTemplate>> $$1, String $$2) {                          tring, Supplier<TypeTemplate>> $$1, String $$2) {

net/minecraft/util/datafix/schemas/V705.java --- 2/8 --- Java
167       $$0.register(                                                    167       $$0.register(
168          $$1,                                                          168          $$1, "minecraft:donkey", $$1x -> DSL.optionalFields("Items", 
...                                                                        ... DSL.list(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM
...                                                                        ... _STACK.in($$0))
169          "minecraft:donkey",                                           ... 
170          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_ ... 
... STACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equi ... 
... pment($$0))                                                            ... 
171       );                                                               169       );
172       $$0.registerSimple($$1, "minecraft:dragon_fireball");            170       $$0.registerSimple($$1, "minecraft:dragon_fireball");
173       registerThrowableProjectile($$0, $$1, "minecraft:egg");          171       registerThrowableProjectile($$0, $$1, "minecraft:egg");
174       registerMob($$0, $$1, "minecraft:elder_guardian");               172       registerMob($$0, $$1, "minecraft:elder_guardian");
175       $$0.registerSimple($$1, "minecraft:ender_crystal");              173       $$0.registerSimple($$1, "minecraft:ender_crystal");
176       registerMob($$0, $$1, "minecraft:ender_dragon");                 174       registerMob($$0, $$1, "minecraft:ender_dragon");
177       $$0.register($$1, "minecraft:enderman", $$1x -> DSL.optionalFiel 175       $$0.register($$1, "minecraft:enderman", $$1x -> DSL.optionalFiel
... ds("carried", References.BLOCK_NAME.in($$0), V100.equipment($$0)));    ... ds("carried", References.BLOCK_NAME.in($$0)));
178       registerMob($$0, $$1, "minecraft:endermite");                    176       registerMob($$0, $$1, "minecraft:endermite");
179       registerThrowableProjectile($$0, $$1, "minecraft:ender_pearl");  177       registerThrowableProjectile($$0, $$1, "minecraft:ender_pearl");
180       $$0.registerSimple($$1, "minecraft:eye_of_ender_signal");        178       $$0.registerSimple($$1, "minecraft:eye_of_ender_signal");

net/minecraft/util/datafix/schemas/V705.java --- 3/8 --- Java
195       $$0.register(                                                    193       $$0.register($$1, "minecraft:horse", $$1x -> DSL.optionalFields(
...                                                                        ... "ArmorItem", References.ITEM_STACK.in($$0), "SaddleItem", References.I
...                                                                        ... TEM_STACK.in($$0)));
196          $$1,                                                          ... 
197          "minecraft:horse",                                            ... 
198          $$1x -> DSL.optionalFields("ArmorItem", References.ITEM_STACK ... 
... .in($$0), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipment( ... 
... $$0))                                                                  ... 
199       );                                                               ... 
200       registerMob($$0, $$1, "minecraft:husk");                         194       registerMob($$0, $$1, "minecraft:husk");
201       $$0.register($$1, "minecraft:item", $$1x -> DSL.optionalFields(" 195       $$0.register($$1, "minecraft:item", $$1x -> DSL.optionalFields("
    Item", References.ITEM_STACK.in($$0)));                                    Item", References.ITEM_STACK.in($$0)));

net/minecraft/util/datafix/schemas/V705.java --- 4/8 --- Java
207       $$0.register(                                                    201       $$0.register(
208          $$1,                                                          202          $$1, "minecraft:mule", $$1x -> DSL.optionalFields("Items", DS
...                                                                        ... L.list(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM_S
...                                                                        ... TACK.in($$0))
209          "minecraft:mule",                                             ... 
210          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_ ... 
... STACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equi ... 
... pment($$0))                                                            ... 
211       );                                                               203       );
212       registerMob($$0, $$1, "minecraft:ocelot");                       204       registerMob($$0, $$1, "minecraft:ocelot");
213       $$0.registerSimple($$1, "minecraft:painting");                   205       $$0.registerSimple($$1, "minecraft:painting");
214       $$0.registerSimple($$1, "minecraft:parrot");                     206       registerMob($$0, $$1, "minecraft:parrot");
215       registerMob($$0, $$1, "minecraft:pig");                          207       registerMob($$0, $$1, "minecraft:pig");
216       registerMob($$0, $$1, "minecraft:polar_bear");                   208       registerMob($$0, $$1, "minecraft:polar_bear");
217       $$0.register($$1, "minecraft:potion", $$1x -> DSL.optionalFields 209       $$0.register($$1, "minecraft:potion", $$1x -> DSL.optionalFields
    ("Potion", References.ITEM_STACK.in($$0), "inTile", References.BLOCK_N     ("Potion", References.ITEM_STACK.in($$0), "inTile", References.BLOCK_N
    AME.in($$0)));                                                             AME.in($$0)));

net/minecraft/util/datafix/schemas/V705.java --- 5/8 --- Java
221       $$0.registerSimple($$1, "minecraft:shulker_bullet");             213       $$0.registerSimple($$1, "minecraft:shulker_bullet");
222       registerMob($$0, $$1, "minecraft:silverfish");                   214       registerMob($$0, $$1, "minecraft:silverfish");
223       registerMob($$0, $$1, "minecraft:skeleton");                     215       registerMob($$0, $$1, "minecraft:skeleton");
224       $$0.register($$1, "minecraft:skeleton_horse", $$1x -> DSL.option 216       $$0.register($$1, "minecraft:skeleton_horse", $$1x -> DSL.option
... alFields("SaddleItem", References.ITEM_STACK.in($$0), V100.equipment($ ... alFields("SaddleItem", References.ITEM_STACK.in($$0)));
... $0)));                                                                 ... 
225       registerMob($$0, $$1, "minecraft:slime");                        217       registerMob($$0, $$1, "minecraft:slime");
226       registerThrowableProjectile($$0, $$1, "minecraft:small_fireball" 218       registerThrowableProjectile($$0, $$1, "minecraft:small_fireball"
... );                                                                     ... );
227       registerThrowableProjectile($$0, $$1, "minecraft:snowball");     219       registerThrowableProjectile($$0, $$1, "minecraft:snowball");

net/minecraft/util/datafix/schemas/V705.java --- 6/8 --- Java
242                "Inventory",                                            234                "Inventory", DSL.list(References.ITEM_STACK.in($$0)), "
...                                                                        ... Offers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_TR
...                                                                        ... ADE.in($$0)))
243                DSL.list(References.ITEM_STACK.in($$0)),                ... 
244                "Offers",                                               ... 
245                DSL.optionalFields("Recipes", DSL.list(References.VILLA ... 
... GER_TRADE.in($$0))),                                                   ... 
246                V100.equipment($$0)                                     ... 
247             )                                                          235             )
248       );                                                               236       );
249       registerMob($$0, $$1, "minecraft:villager_golem");               237       registerMob($$0, $$1, "minecraft:villager_golem");

net/minecraft/util/datafix/schemas/V705.java --- 7/8 --- Java
255       registerThrowableProjectile($$0, $$1, "minecraft:xp_bottle");    243       registerThrowableProjectile($$0, $$1, "minecraft:xp_bottle");
256       $$0.registerSimple($$1, "minecraft:xp_orb");                     244       $$0.registerSimple($$1, "minecraft:xp_orb");
257       registerMob($$0, $$1, "minecraft:zombie");                       245       registerMob($$0, $$1, "minecraft:zombie");
258       $$0.register($$1, "minecraft:zombie_horse", $$1x -> DSL.optional 246       $$0.register($$1, "minecraft:zombie_horse", $$1x -> DSL.optional
... Fields("SaddleItem", References.ITEM_STACK.in($$0), V100.equipment($$0 ... Fields("SaddleItem", References.ITEM_STACK.in($$0)));
... )));                                                                   ... 
259       registerMob($$0, $$1, "minecraft:zombie_pigman");                247       registerMob($$0, $$1, "minecraft:zombie_pigman");
260       $$0.register(                                                    248       $$0.register(
261          $$1,                                                          249          $$1, "minecraft:zombie_villager", $$1x -> DSL.optionalFields(
...                                                                        ... "Offers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_T
...                                                                        ... RADE.in($$0))))
262          "minecraft:zombie_villager",                                  ... 
263          $$1x -> DSL.optionalFields("Offers", DSL.optionalFields("Reci ... 
... pes", DSL.list(References.VILLAGER_TRADE.in($$0))), V100.equipment($$0 ... 
... ))                                                                     ... 
264       );                                                               250       );
265       $$0.registerSimple($$1, "minecraft:evocation_fangs");            251       $$0.registerSimple($$1, "minecraft:evocation_fangs");
266       registerMob($$0, $$1, "minecraft:evocation_illager");            252       registerMob($$0, $$1, "minecraft:evocation_illager");
267       $$0.registerSimple($$1, "minecraft:illusion_illager");           253       registerMob($$0, $$1, "minecraft:illusion_illager");
268       $$0.register(                                                    254       $$0.register(
269          $$1,                                                          255          $$1,
270          "minecraft:llama",                                            256          "minecraft:llama",
271          $$1x -> DSL.optionalFields(                                   257          $$1x -> DSL.optionalFields(
272                "Items",                                                258                "Items", DSL.list(References.ITEM_STACK.in($$0)), "Sadd
...                                                                        ... leItem", References.ITEM_STACK.in($$0), "DecorItem", References.ITEM_S
...                                                                        ... TACK.in($$0)
273                DSL.list(References.ITEM_STACK.in($$0)),                ... 
274                "SaddleItem",                                           ... 
275                References.ITEM_STACK.in($$0),                          ... 
276                "DecorItem",                                            ... 
277                References.ITEM_STACK.in($$0),                          ... 
278                V100.equipment($$0)                                     ... 
279             )                                                          259             )
280       );                                                               260       );
281       $$0.registerSimple($$1, "minecraft:llama_spit");                 261       $$0.registerSimple($$1, "minecraft:llama_spit");

net/minecraft/util/datafix/schemas/V705.java --- 8/8 --- Java
290       $$0.registerType(                                                270       $$0.registerType(
291          true, References.ENTITY, () -> DSL.optionalFields("CustomName 271          true,
... ", DSL.constType(DSL.string()), DSL.taggedChoiceLazy("id", namespacedS ... 
... tring(), $$1))                                                         ... 
...                                                                        272          References.ENTITY,
...                                                                        273          () -> DSL.and(
...                                                                        274                References.ENTITY_EQUIPMENT.in($$0),
...                                                                        275                DSL.optionalFields("CustomName", DSL.constType(DSL.stri
...                                                                        ... ng()), DSL.taggedChoiceLazy("id", namespacedString(), $$1))
...                                                                        276             )
292       );                                                               277       );
293       $$0.registerType(                                                278       $$0.registerType(
294          true,                                                         279          true,

net/minecraft/world/entity/InterpolationHandler.java --- Java
50                                                                         50 
51    public void interpolateTo(Vec3 $$0, float $$1, float $$2) {          51    public void interpolateTo(Vec3 $$0, float $$1, float $$2) {
52       if (this.interpolationSteps == 0) {                               52       if (this.interpolationSteps == 0) {
53          this.entity.moveTo($$0, $$1, $$2);                             53          this.entity.snapTo($$0, $$1, $$2);
54          this.cancel();                                                 54          this.cancel();
55       } else {                                                          55       } else {
56          this.interpolationData.steps = this.interpolationSteps;        56          this.interpolationData.steps = this.interpolationSteps;

net/minecraft/world/entity/ai/behavior/HarvestFarmland.java --- Java
49    protected boolean checkExtraStartConditions(ServerLevel $$0, Village 49    protected boolean checkExtraStartConditions(ServerLevel $$0, Village
.. r $$1) {                                                                .. r $$1) {
50       if (!$$0.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { 50       if (!$$0.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
51          return false;                                                  51          return false;
52       } else if ($$1.getVillagerData().getProfession() != VillagerProfe 52       } else if (!$$1.getVillagerData().profession().is(VillagerProfess
.. ssion.FARMER) {                                                         .. ion.FARMER)) {
53          return false;                                                  53          return false;
54       } else {                                                          54       } else {
55          BlockPos.MutableBlockPos $$2 = $$1.blockPosition().mutable();  55          BlockPos.MutableBlockPos $$2 = $$1.blockPosition().mutable();

net/minecraft/util/datafix/schemas/V700.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "ElderGuardian", () -> V100.equipment($$0));    16       $$0.registerSimple($$1, "ElderGuardian");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/world/level/block/Rotation.java --- 1/2 --- Java
 2                                                                          2 
 3 import com.mojang.math.OctahedralGroup;                                  3 import com.mojang.math.OctahedralGroup;
 4 import com.mojang.serialization.Codec;                                   4 import com.mojang.serialization.Codec;
 .                                                                          5 import io.netty.buffer.ByteBuf;
 5 import java.util.List;                                                   6 import java.util.List;
 .                                                                          7 import java.util.function.IntFunction;
 6 import net.minecraft.Util;                                               8 import net.minecraft.Util;
 7 import net.minecraft.core.Direction;                                     9 import net.minecraft.core.Direction;
 .                                                                         10 import net.minecraft.network.codec.ByteBufCodecs;
 .                                                                         11 import net.minecraft.network.codec.StreamCodec;
 .                                                                         12 import net.minecraft.util.ByIdMap;
 8 import net.minecraft.util.RandomSource;                                 13 import net.minecraft.util.RandomSource;
 9 import net.minecraft.util.StringRepresentable;                          14 import net.minecraft.util.StringRepresentable;
10                                                                         15 
11 public enum Rotation implements StringRepresentable {                   16 public enum Rotation implements StringRepresentable {
12    NONE("none", OctahedralGroup.IDENTITY),                              17    NONE(0, "none", OctahedralGroup.IDENTITY),
13    CLOCKWISE_90("clockwise_90", OctahedralGroup.ROT_90_Y_NEG),          18    CLOCKWISE_90(1, "clockwise_90", OctahedralGroup.ROT_90_Y_NEG),
14    CLOCKWISE_180("180", OctahedralGroup.ROT_180_FACE_XZ),               19    CLOCKWISE_180(2, "180", OctahedralGroup.ROT_180_FACE_XZ),
15    COUNTERCLOCKWISE_90("counterclockwise_90", OctahedralGroup.ROT_90_Y_ 20    COUNTERCLOCKWISE_90(3, "counterclockwise_90", OctahedralGroup.ROT_90
.. POS);                                                                   .. _Y_POS);
16                                                                         21 
..                                                                         22    public static final IntFunction<Rotation> BY_ID = ByIdMap.continuous
..                                                                         .. (Rotation::getIndex, values(), ByIdMap.OutOfBoundsStrategy.WRAP);
17    public static final Codec<Rotation> CODEC = StringRepresentable.from 23    public static final Codec<Rotation> CODEC = StringRepresentable.from
.. Enum(Rotation::values);                                                 .. Enum(Rotation::values);
..                                                                         24    public static final StreamCodec<ByteBuf, Rotation> STREAM_CODEC = By
..                                                                         .. teBufCodecs.idMapper(BY_ID, Rotation::getIndex);
..                                                                         25    private final int index;
18    private final String id;                                             26    private final String id;
19    private final OctahedralGroup rotation;                              27    private final OctahedralGroup rotation;
20                                                                         28 
21    private Rotation(final String $$0, final OctahedralGroup $$1) {      29    private Rotation(final int $$0, final String $$1, final OctahedralGr
..                                                                         .. oup $$2) {
..                                                                         30       this.index = $$0;
22       this.id = $$0;                                                    31       this.id = $$1;
23       this.rotation = $$1;                                              32       this.rotation = $$2;
24    }                                                                    33    }
25                                                                         34 
26    public Rotation getRotated(Rotation $$0) {                           35    public Rotation getRotated(Rotation $$0) {

net/minecraft/world/level/block/Rotation.java --- 2/2 --- Java
110       return this.id;                                                  119       return this.id;
111    }                                                                   120    }
...                                                                        121 
...                                                                        122    private int getIndex() {
...                                                                        123       return this.index;
...                                                                        124    }
112 }                                                                      125 }

net/minecraft/data/registries/VanillaRegistries.java --- 1/2 --- Java
20 import net.minecraft.data.worldgen.biome.BiomeData;                     20 import net.minecraft.data.worldgen.biome.BiomeData;
21 import net.minecraft.data.worldgen.features.FeatureUtils;               21 import net.minecraft.data.worldgen.features.FeatureUtils;
22 import net.minecraft.data.worldgen.placement.PlacementUtils;            22 import net.minecraft.data.worldgen.placement.PlacementUtils;
..                                                                         23 import net.minecraft.gametest.framework.GameTestEnvironments;
..                                                                         24 import net.minecraft.gametest.framework.GameTestInstances;
23 import net.minecraft.network.chat.ChatType;                             25 import net.minecraft.network.chat.ChatType;
24 import net.minecraft.resources.ResourceLocation;                        26 import net.minecraft.resources.ResourceLocation;
25 import net.minecraft.world.damagesource.DamageTypes;                    27 import net.minecraft.world.damagesource.DamageTypes;

net/minecraft/data/registries/VanillaRegistries.java --- 2/2 --- Java
73       .add(Registries.JUKEBOX_SONG, JukeboxSongs::bootstrap)            75       .add(Registries.JUKEBOX_SONG, JukeboxSongs::bootstrap)
74       .add(Registries.INSTRUMENT, Instruments::bootstrap)               76       .add(Registries.INSTRUMENT, Instruments::bootstrap)
75       .add(Registries.PIG_VARIANT, PigVariants::bootstrap);             77       .add(Registries.PIG_VARIANT, PigVariants::bootstrap)
..                                                                         78       .add(Registries.TEST_ENVIRONMENT, GameTestEnvironments::bootstrap
..                                                                         .. )
..                                                                         79       .add(Registries.TEST_INSTANCE, GameTestInstances::bootstrap);
76                                                                         80 
77    private static void validateThatAllBiomeFeaturesHaveBiomeFilter(Hold 81    private static void validateThatAllBiomeFeaturesHaveBiomeFilter(Hold
.. erLookup.Provider $$0) {                                                .. erLookup.Provider $$0) {
78       validateThatAllBiomeFeaturesHaveBiomeFilter($$0.lookupOrThrow(Reg 82       validateThatAllBiomeFeaturesHaveBiomeFilter($$0.lookupOrThrow(Reg
   istries.PLACED_FEATURE), $$0.lookupOrThrow(Registries.BIOME));             istries.PLACED_FEATURE), $$0.lookupOrThrow(Registries.BIOME));

net/minecraft/client/renderer/entity/layers/VillagerProfessionLayer.java --- 1/3 --- Java
16 import net.minecraft.client.renderer.entity.RenderLayerParent;          16 import net.minecraft.client.renderer.entity.RenderLayerParent;
17 import net.minecraft.client.renderer.entity.state.LivingEntityRenderSta 17 import net.minecraft.client.renderer.entity.state.LivingEntityRenderSta
.. te;                                                                     .. te;
18 import net.minecraft.client.renderer.entity.state.VillagerDataHolderRen 18 import net.minecraft.client.renderer.entity.state.VillagerDataHolderRen
.. derState;                                                               .. derState;
..                                                                         19 import net.minecraft.client.renderer.texture.MissingTextureAtlasSprite;
19 import net.minecraft.client.resources.metadata.animation.VillagerMetada 20 import net.minecraft.client.resources.metadata.animation.VillagerMetada
.. taSection;                                                              .. taSection;
20 import net.minecraft.core.DefaultedRegistry;                            21 import net.minecraft.core.Holder;
21 import net.minecraft.core.registries.BuiltInRegistries;                 22 import net.minecraft.resources.ResourceKey;
22 import net.minecraft.resources.ResourceLocation;                        23 import net.minecraft.resources.ResourceLocation;
23 import net.minecraft.server.packs.resources.ResourceManager;            24 import net.minecraft.server.packs.resources.ResourceManager;
24 import net.minecraft.util.Mth;                                          25 import net.minecraft.util.Mth;

net/minecraft/client/renderer/entity/layers/VillagerProfessionLayer.java --- 2/3 --- Java
36       $$0.put(4, ResourceLocation.withDefaultNamespace("emerald"));     37       $$0.put(4, ResourceLocation.withDefaultNamespace("emerald"));
37       $$0.put(5, ResourceLocation.withDefaultNamespace("diamond"));     38       $$0.put(5, ResourceLocation.withDefaultNamespace("diamond"));
38    });                                                                  39    });
39    private final Object2ObjectMap<VillagerType, VillagerMetadataSection 40    private final Object2ObjectMap<ResourceKey<VillagerType>, VillagerMe
.. .Hat> typeHatCache = new Object2ObjectOpenHashMap<>();                  .. tadataSection.Hat> typeHatCache = new Object2ObjectOpenHashMap<>();
40    private final Object2ObjectMap<VillagerProfession, VillagerMetadataS 41    private final Object2ObjectMap<ResourceKey<VillagerProfession>, Vill
.. ection.Hat> professionHatCache = new Object2ObjectOpenHashMap<>();      .. agerMetadataSection.Hat> professionHatCache = new Object2ObjectOpenHash
..                                                                         .. Map<>();
41    private final ResourceManager resourceManager;                       42    private final ResourceManager resourceManager;
42    private final String path;                                           43    private final String path;
43                                                                         44 

net/minecraft/client/renderer/entity/layers/VillagerProfessionLayer.java --- 3/3 --- Java
50    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, S  51    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, S 
.. $$3, float $$4, float $$5) {                                            .. $$3, float $$4, float $$5) {
51       if (!$$3.isInvisible) {                                           52       if (!$$3.isInvisible) {
52          VillagerData $$6 = $$3.getVillagerData();                      53          VillagerData $$6 = $$3.getVillagerData();
..                                                                         54          if ($$6 != null) {
53          VillagerType $$7 = $$6.getType();                              55             Holder<VillagerType> $$7 = $$6.type();
54          VillagerProfession $$8 = $$6.getProfession();                  56             Holder<VillagerProfession> $$8 = $$6.profession();
55          VillagerMetadataSection.Hat $$9 = this.getHatData(this.typeHat 57             VillagerMetadataSection.Hat $$9 = this.getHatData(this.type
.. Cache, "type", BuiltInRegistries.VILLAGER_TYPE, $$7);                   .. HatCache, "type", $$7);
56          VillagerMetadataSection.Hat $$10 = this.getHatData(this.profes 58             VillagerMetadataSection.Hat $$10 = this.getHatData(this.pro
.. sionHatCache, "profession", BuiltInRegistries.VILLAGER_PROFESSION, $$8) .. fessionHatCache, "profession", $$8);
.. ;                                                                       .. 
57          M $$11 = this.getParentModel();                                59             M $$11 = this.getParentModel();
58          $$11.hatVisible($$10 == VillagerMetadataSection.Hat.NONE || $$ 60             $$11.hatVisible($$10 == VillagerMetadataSection.Hat.NONE ||
.. 10 == VillagerMetadataSection.Hat.PARTIAL && $$9 != VillagerMetadataSec ..  $$10 == VillagerMetadataSection.Hat.PARTIAL && $$9 != VillagerMetadata
.. tion.Hat.FULL);                                                         .. Section.Hat.FULL);
59          ResourceLocation $$12 = this.getResourceLocation("type", Built 61             ResourceLocation $$12 = this.getResourceLocation("type", $$
.. InRegistries.VILLAGER_TYPE.getKey($$7));                                .. 7);
60          renderColoredCutoutModel($$11, $$12, $$0, $$1, $$2, $$3, -1);  62             renderColoredCutoutModel($$11, $$12, $$0, $$1, $$2, $$3, -1
..                                                                         .. );
61          $$11.hatVisible(true);                                         63             $$11.hatVisible(true);
62          if ($$8 != VillagerProfession.NONE && !$$3.isBaby) {           64             if (!$$8.is(VillagerProfession.NONE) && !$$3.isBaby) {
63             ResourceLocation $$13 = this.getResourceLocation("professio 65                ResourceLocation $$13 = this.getResourceLocation("profes
.. n", BuiltInRegistries.VILLAGER_PROFESSION.getKey($$8));                 .. sion", $$8);
64             renderColoredCutoutModel($$11, $$13, $$0, $$1, $$2, $$3, -1 66                renderColoredCutoutModel($$11, $$13, $$0, $$1, $$2, $$3,
.. );                                                                      ..  -1);
65             if ($$8 != VillagerProfession.NITWIT) {                     67                if (!$$8.is(VillagerProfession.NITWIT)) {
66                ResourceLocation $$14 = this.getResourceLocation("profes 68                   ResourceLocation $$14 = this.getResourceLocation("pro
.. sion_level", LEVEL_LOCATIONS.get(Mth.clamp($$6.getLevel(), 1, LEVEL_LOC .. fession_level", LEVEL_LOCATIONS.get(Mth.clamp($$6.level(), 1, LEVEL_LOC
.. ATIONS.size())));                                                       .. ATIONS.size())));
67                renderColoredCutoutModel($$11, $$14, $$0, $$1, $$2, $$3, 69                   renderColoredCutoutModel($$11, $$14, $$0, $$1, $$2, $
..  -1);                                                                   .. $3, -1);
68             }                                                           70                }
69          }                                                              71             }
..                                                                         72          }
70       }                                                                 73       }
71    }                                                                    74    }
72                                                                         75 
73    private ResourceLocation getResourceLocation(String $$0, ResourceLoc 76    private ResourceLocation getResourceLocation(String $$0, ResourceLoc
.. ation $$1) {                                                            .. ation $$1) {
74       return $$1.withPath($$1x -> "textures/entity/" + this.path + "/"  77       return $$1.withPath($$1x -> "textures/entity/" + this.path + "/" 
.. + $$0 + "/" + $$1x + ".png");                                           .. + $$0 + "/" + $$1x + ".png");
75    }                                                                    78    }
..                                                                         79 
..                                                                         80    private ResourceLocation getResourceLocation(String $$0, Holder<?> $
..                                                                         .. $1) {
..                                                                         81       return $$1.unwrapKey().map($$1x -> this.getResourceLocation($$0, 
..                                                                         .. $$1x.location())).orElse(MissingTextureAtlasSprite.getLocation());
..                                                                         82    }
76                                                                         83 
77    public <K> VillagerMetadataSection.Hat getHatData(Object2ObjectMap<K 84    public <K> VillagerMetadataSection.Hat getHatData(Object2ObjectMap<R
.. , VillagerMetadataSection.Hat> $$0, String $$1, DefaultedRegistry<K> $$ .. esourceKey<K>, VillagerMetadataSection.Hat> $$0, String $$1, Holder<K> 
.. 2, K $$3) {                                                             .. $$2) {
..                                                                         85       ResourceKey<K> $$3 = $$2.unwrapKey().orElse(null);
78       return $$0.computeIfAbsent($$3, $$3x -> this.resourceManager.getR 86       return $$3 == null
.. esource(this.getResourceLocation($$1, $$2.getKey($$3))).flatMap($$0xx - .. 
.. > {                                                                     .. 
..                                                                         87          ? VillagerMetadataSection.Hat.NONE
..                                                                         88          : $$0.computeIfAbsent($$3, $$2x -> this.resourceManager.getRes
..                                                                         .. ource(this.getResourceLocation($$1, $$3.location())).flatMap($$0xx -> {
79             try {                                                       89                try {
80                return $$0xx.metadata().getSection(VillagerMetadataSecti 90                   return $$0xx.metadata().getSection(VillagerMetadataSe
.. on.TYPE).map(VillagerMetadataSection::hat);                             .. ction.TYPE).map(VillagerMetadataSection::hat);
81             } catch (IOException var2x) {                               91                } catch (IOException var2x) {

net/minecraft/world/level/levelgen/feature/SpikeFeature.java --- Java
112       if ($$19 != null) {                                              112       if ($$19 != null) {
113          $$19.setBeamTarget($$2.getCrystalBeamTarget());               113          $$19.setBeamTarget($$2.getCrystalBeamTarget());
114          $$19.setInvulnerable($$2.isCrystalInvulnerable());            114          $$19.setInvulnerable($$2.isCrystalInvulnerable());
115          $$19.moveTo((double)$$3.getCenterX() + 0.5, (double)($$3.getH 115          $$19.snapTo((double)$$3.getCenterX() + 0.5, (double)($$3.getH
... eight() + 1), (double)$$3.getCenterZ() + 0.5, $$1.nextFloat() * 360.0F ... eight() + 1), (double)$$3.getCenterZ() + 0.5, $$1.nextFloat() * 360.0F
... , 0.0F);                                                               ... , 0.0F);
116          $$0.addFreshEntity($$19);                                     116          $$0.addFreshEntity($$19);
117          BlockPos $$20 = $$19.blockPosition();                         117          BlockPos $$20 = $$19.blockPosition();
118          this.setBlock($$0, $$20.below(), Blocks.BEDROCK.defaultBlockS 118          this.setBlock($$0, $$20.below(), Blocks.BEDROCK.defaultBlockS
    tate());                                                                   tate());

net/minecraft/client/model/geom/ModelLayers.java --- 1/6 --- Java
53    public static final ModelLayerLocation BREEZE_WIND = register("breez 53    public static final ModelLayerLocation BREEZE_WIND = register("breez
.. e_wind");                                                               .. e_wind");
54    public static final ModelLayerLocation CAMEL = register("camel");    54    public static final ModelLayerLocation CAMEL = register("camel");
55    public static final ModelLayerLocation CAMEL_BABY = register("camel_ 55    public static final ModelLayerLocation CAMEL_BABY = register("camel_
.. baby");                                                                 .. baby");
..                                                                         56    public static final ModelLayerLocation CAMEL_SADDLE = register("came
..                                                                         .. l", "saddle");
..                                                                         57    public static final ModelLayerLocation CAMEL_BABY_SADDLE = register(
..                                                                         .. "camel_baby", "saddle");
56    public static final ModelLayerLocation CAT = register("cat");        58    public static final ModelLayerLocation CAT = register("cat");
57    public static final ModelLayerLocation CAT_BABY = register("cat_baby 59    public static final ModelLayerLocation CAT_BABY = register("cat_baby
.. ");                                                                     .. ");
58    public static final ModelLayerLocation CAT_BABY_COLLAR = register("c 60    public static final ModelLayerLocation CAT_BABY_COLLAR = register("c
   at_baby", "collar");                                                       at_baby", "collar");

net/minecraft/client/model/geom/ModelLayers.java --- 2/6 --- Java
86    public static final ModelLayerLocation DOLPHIN_BABY = register("dolp 88    public static final ModelLayerLocation DOLPHIN_BABY = register("dolp
.. hin_baby");                                                             .. hin_baby");
87    public static final ModelLayerLocation DONKEY = register("donkey");  89    public static final ModelLayerLocation DONKEY = register("donkey");
88    public static final ModelLayerLocation DONKEY_BABY = register("donke 90    public static final ModelLayerLocation DONKEY_BABY = register("donke
.. y_baby");                                                               .. y_baby");
..                                                                         91    public static final ModelLayerLocation DONKEY_SADDLE = register("don
..                                                                         .. key", "saddle");
..                                                                         92    public static final ModelLayerLocation DONKEY_BABY_SADDLE = register
..                                                                         .. ("donkey_baby", "saddle");
89    public static final ModelLayerLocation DOUBLE_CHEST_LEFT = register( 93    public static final ModelLayerLocation DOUBLE_CHEST_LEFT = register(
.. "double_chest_left");                                                   .. "double_chest_left");
90    public static final ModelLayerLocation DOUBLE_CHEST_RIGHT = register 94    public static final ModelLayerLocation DOUBLE_CHEST_RIGHT = register
.. ("double_chest_right");                                                 .. ("double_chest_right");
91    public static final ModelLayerLocation DRAGON_SKULL = register("drag 95    public static final ModelLayerLocation DRAGON_SKULL = register("drag
   on_skull");                                                                on_skull");

net/minecraft/client/model/geom/ModelLayers.java --- 3/6 --- Java
124    public static final ModelLayerLocation HOPPER_MINECART = register(" 128    public static final ModelLayerLocation HOPPER_MINECART = register("
... hopper_minecart");                                                     ... hopper_minecart");
125    public static final ModelLayerLocation HORSE = register("horse");   129    public static final ModelLayerLocation HORSE = register("horse");
126    public static final ModelLayerLocation HORSE_ARMOR = register("hors 130    public static final ModelLayerLocation HORSE_ARMOR = register("hors
... e_armor");                                                             ... e_armor");
...                                                                        131    public static final ModelLayerLocation HORSE_SADDLE = register("hor
...                                                                        ... se", "saddle");
127    public static final ModelLayerLocation HORSE_BABY = register("horse 132    public static final ModelLayerLocation HORSE_BABY = register("horse
... _baby");                                                               ... _baby");
128    public static final ModelLayerLocation HORSE_BABY_ARMOR = register( 133    public static final ModelLayerLocation HORSE_BABY_ARMOR = register(
... "horse_armor_baby");                                                   ... "horse_armor_baby");
...                                                                        134    public static final ModelLayerLocation HORSE_BABY_SADDLE = register
...                                                                        ... ("horse_baby", "saddle");
129    public static final ModelLayerLocation HUSK = register("husk");     135    public static final ModelLayerLocation HUSK = register("husk");
130    public static final ModelLayerLocation HUSK_BABY = register("husk_b 136    public static final ModelLayerLocation HUSK_BABY = register("husk_b
... aby");                                                                 ... aby");
131    public static final ModelLayerLocation HUSK_BABY_INNER_ARMOR = regi 137    public static final ModelLayerLocation HUSK_BABY_INNER_ARMOR = regi
    sterInnerArmor("husk_baby");                                               sterInnerArmor("husk_baby");

net/minecraft/client/model/geom/ModelLayers.java --- 4/6 --- Java
150    public static final ModelLayerLocation MOOSHROOM_BABY = register("m 156    public static final ModelLayerLocation MOOSHROOM_BABY = register("m
... ooshroom_baby");                                                       ... ooshroom_baby");
151    public static final ModelLayerLocation MULE = register("mule");     157    public static final ModelLayerLocation MULE = register("mule");
152    public static final ModelLayerLocation MULE_BABY = register("mule_b 158    public static final ModelLayerLocation MULE_BABY = register("mule_b
... aby");                                                                 ... aby");
...                                                                        159    public static final ModelLayerLocation MULE_SADDLE = register("mule
...                                                                        ... ", "saddle");
...                                                                        160    public static final ModelLayerLocation MULE_BABY_SADDLE = register(
...                                                                        ... "mule_baby", "saddle");
153    public static final ModelLayerLocation OAK_BOAT = register("boat/oa 161    public static final ModelLayerLocation OAK_BOAT = register("boat/oa
... k");                                                                   ... k");
154    public static final ModelLayerLocation OAK_CHEST_BOAT = register("c 162    public static final ModelLayerLocation OAK_CHEST_BOAT = register("c
... hest_boat/oak");                                                       ... hest_boat/oak");
155    public static final ModelLayerLocation OCELOT = register("ocelot"); 163    public static final ModelLayerLocation OCELOT = register("ocelot");

net/minecraft/client/model/geom/ModelLayers.java --- 5/6 --- Java
208    public static final ModelLayerLocation SKELETON = register("skeleto 216    public static final ModelLayerLocation SKELETON = register("skeleto
... n");                                                                   ... n");
209    public static final ModelLayerLocation SKELETON_HORSE = register("s 217    public static final ModelLayerLocation SKELETON_HORSE = register("s
... keleton_horse");                                                       ... keleton_horse");
210    public static final ModelLayerLocation SKELETON_HORSE_BABY = regist 218    public static final ModelLayerLocation SKELETON_HORSE_BABY = regist
... er("skeleton_horse_baby");                                             ... er("skeleton_horse_baby");
...                                                                        219    public static final ModelLayerLocation SKELETON_HORSE_SADDLE = regi
...                                                                        ... ster("skeleton_horse", "saddle");
...                                                                        220    public static final ModelLayerLocation SKELETON_HORSE_BABY_SADDLE =
...                                                                        ...  register("skeleton_horse_baby", "saddle");
211    public static final ModelLayerLocation SKELETON_INNER_ARMOR = regis 221    public static final ModelLayerLocation SKELETON_INNER_ARMOR = regis
... terInnerArmor("skeleton");                                             ... terInnerArmor("skeleton");
212    public static final ModelLayerLocation SKELETON_OUTER_ARMOR = regis 222    public static final ModelLayerLocation SKELETON_OUTER_ARMOR = regis
... terOuterArmor("skeleton");                                             ... terOuterArmor("skeleton");
213    public static final ModelLayerLocation SKELETON_SKULL = register("s 223    public static final ModelLayerLocation SKELETON_SKULL = register("s
    keleton_skull");                                                           keleton_skull");

net/minecraft/client/model/geom/ModelLayers.java --- 6/6 --- Java
269    public static final ModelLayerLocation ZOMBIE_HEAD = register("zomb 279    public static final ModelLayerLocation ZOMBIE_HEAD = register("zomb
... ie_head");                                                             ... ie_head");
270    public static final ModelLayerLocation ZOMBIE_HORSE = register("zom 280    public static final ModelLayerLocation ZOMBIE_HORSE = register("zom
... bie_horse");                                                           ... bie_horse");
271    public static final ModelLayerLocation ZOMBIE_HORSE_BABY = register 281    public static final ModelLayerLocation ZOMBIE_HORSE_BABY = register
... ("zombie_horse_baby");                                                 ... ("zombie_horse_baby");
...                                                                        282    public static final ModelLayerLocation ZOMBIE_HORSE_SADDLE = regist
...                                                                        ... er("zombie_horse", "saddle");
...                                                                        283    public static final ModelLayerLocation ZOMBIE_HORSE_BABY_SADDLE = r
...                                                                        ... egister("zombie_horse_baby", "saddle");
272    public static final ModelLayerLocation ZOMBIE_INNER_ARMOR = registe 284    public static final ModelLayerLocation ZOMBIE_INNER_ARMOR = registe
... rInnerArmor("zombie");                                                 ... rInnerArmor("zombie");
273    public static final ModelLayerLocation ZOMBIE_OUTER_ARMOR = registe 285    public static final ModelLayerLocation ZOMBIE_OUTER_ARMOR = registe
... rOuterArmor("zombie");                                                 ... rOuterArmor("zombie");
274    public static final ModelLayerLocation ZOMBIE_VILLAGER = register(" 286    public static final ModelLayerLocation ZOMBIE_VILLAGER = register("
    zombie_villager");                                                         zombie_villager");

net/minecraft/util/datafix/schemas/V703.java --- Java
17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
18       $$1.remove("EntityHorse");                                        18       $$1.remove("EntityHorse");
19       $$0.register(                                                     19       $$0.register($$1, "Horse", () -> DSL.optionalFields("ArmorItem", 
..                                                                         .. References.ITEM_STACK.in($$0), "SaddleItem", References.ITEM_STACK.in($
..                                                                         .. $0)));
20          $$1, "Horse", () -> DSL.optionalFields("ArmorItem", References .. 
.. .ITEM_STACK.in($$0), "SaddleItem", References.ITEM_STACK.in($$0), V100. .. 
.. equipment($$0))                                                         .. 
21       );                                                                .. 
22       $$0.register(                                                     20       $$0.register($$1, "Donkey", () -> DSL.optionalFields("Items", DSL
..                                                                         .. .list(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM_STA
..                                                                         .. CK.in($$0)));
23          $$1,                                                           .. 
24          "Donkey",                                                      .. 
25          () -> DSL.optionalFields("Items", DSL.list(References.ITEM_STA .. 
.. CK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipmen .. 
.. t($$0))                                                                 .. 
26       );                                                                .. 
27       $$0.register(                                                     21       $$0.register($$1, "Mule", () -> DSL.optionalFields("Items", DSL.l
..                                                                         .. ist(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM_STACK
..                                                                         .. .in($$0)));
28          $$1,                                                           .. 
29          "Mule",                                                        .. 
30          () -> DSL.optionalFields("Items", DSL.list(References.ITEM_STA .. 
.. CK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipmen .. 
.. t($$0))                                                                 .. 
31       );                                                                .. 
32       $$0.register($$1, "ZombieHorse", () -> DSL.optionalFields("Saddle 22       $$0.register($$1, "ZombieHorse", () -> DSL.optionalFields("Saddle
.. Item", References.ITEM_STACK.in($$0), V100.equipment($$0)));            .. Item", References.ITEM_STACK.in($$0)));
33       $$0.register($$1, "SkeletonHorse", () -> DSL.optionalFields("Sadd 23       $$0.register($$1, "SkeletonHorse", () -> DSL.optionalFields("Sadd
.. leItem", References.ITEM_STACK.in($$0), V100.equipment($$0)));          .. leItem", References.ITEM_STACK.in($$0)));
34       return $$1;                                                       24       return $$1;
35    }                                                                    25    }
36 }                                                                       26 }

net/minecraft/util/datafix/schemas/V3816.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:bogged", () -> V100.equipment($$0)); 16       $$0.registerSimple($$1, "minecraft:bogged");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/client/model/geom/PartNames.java --- Java
57    public static final String MANE = "mane";                            57    public static final String MANE = "mane";
58    public static final String NECK = "neck";                            58    public static final String NECK = "neck";
59    public static final String MOUTH = "mouth";                          59    public static final String MOUTH = "mouth";
..                                                                         60    public static final String UPPER_MOUTH = "upper_mouth";
60    public static final String HEAD = "head";                            61    public static final String HEAD = "head";
61    public static final String HAT = "hat";                              62    public static final String HAT = "hat";
62    public static final String BODY = "body";                            63    public static final String BODY = "body";

net/minecraft/world/entity/raid/Raid.java --- Java
513                $$7++;                                                  513                $$7++;
514                if ($$10 != null) {                                     514                if ($$10 != null) {
515                   this.joinRaid($$2, $$10, $$0, false);                515                   this.joinRaid($$2, $$10, $$0, false);
516                   $$10.moveTo($$0, 0.0F, 0.0F);                        516                   $$10.snapTo($$0, 0.0F, 0.0F);
517                   $$10.startRiding($$9);                               517                   $$10.startRiding($$9);
518                }                                                       518                }
519             }                                                          519             }

net/minecraft/client/renderer/entity/layers/TropicalFishPatternLayer.java --- Java
38    }                                                                    38    }
39                                                                         39 
40    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, Tr 40    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, Tr
.. opicalFishRenderState $$3, float $$4, float $$5) {                      .. opicalFishRenderState $$3, float $$4, float $$5) {
41       TropicalFish.Pattern $$6 = $$3.variant;                           41       TropicalFish.Pattern $$6 = $$3.pattern;
42                                                                         42 
43       EntityModel<TropicalFishRenderState> $$7 = (EntityModel<TropicalF 43       EntityModel<TropicalFishRenderState> $$7 = (EntityModel<TropicalF
.. ishRenderState>)(switch ($$6.base()) {                                  .. ishRenderState>)(switch ($$6.base()) {
44          case SMALL -> this.modelA;                                     44          case SMALL -> this.modelA;

net/minecraft/util/datafix/schemas/V1904.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:cat", () -> V100.equipment($$0));    16       $$0.registerSimple($$1, "minecraft:cat");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/world/entity/ai/behavior/TradeWithVillager.java --- 1/2 --- Java
46       if (!($$1.distanceToSqr($$3) > 5.0)) {                            46       if (!($$1.distanceToSqr($$3) > 5.0)) {
47          BehaviorUtils.lockGazeAndWalkToEachOther($$1, $$3, 0.5F, 2);   47          BehaviorUtils.lockGazeAndWalkToEachOther($$1, $$3, 0.5F, 2);
48          $$1.gossip($$0, $$3, $$2);                                     48          $$1.gossip($$0, $$3, $$2);
..                                                                         49          boolean $$4 = $$1.getVillagerData().profession().is(VillagerPr
..                                                                         .. ofession.FARMER);
49          if ($$1.hasExcessFood() && ($$1.getVillagerData().getProfessio 50          if ($$1.hasExcessFood() && ($$4 || $$3.wantsMoreFood())) {
.. n() == VillagerProfession.FARMER || $$3.wantsMoreFood())) {             .. 
50             throwHalfStack($$1, Villager.FOOD_POINTS.keySet(), $$3);    51             throwHalfStack($$1, Villager.FOOD_POINTS.keySet(), $$3);
51          }                                                              52          }
52                                                                         53 
53          if ($$3.getVillagerData().getProfession() == VillagerProfessio 54          if ($$4 && $$1.getInventory().countItem(Items.WHEAT) > Items.W
.. n.FARMER                                                                .. HEAT.getDefaultMaxStackSize() / 2) {
54             && $$1.getInventory().countItem(Items.WHEAT) > Items.WHEAT. .. 
.. getDefaultMaxStackSize() / 2) {                                         .. 
55             throwHalfStack($$1, ImmutableSet.of(Items.WHEAT), $$3);     55             throwHalfStack($$1, ImmutableSet.of(Items.WHEAT), $$3);
56          }                                                              56          }

net/minecraft/world/entity/ai/behavior/TradeWithVillager.java --- 2/2 --- Java
66    }                                                                    66    }
67                                                                         67 
68    private static Set<Item> figureOutWhatIAmWillingToTrade(Villager $$0 68    private static Set<Item> figureOutWhatIAmWillingToTrade(Villager $$0
.. , Villager $$1) {                                                       .. , Villager $$1) {
69       ImmutableSet<Item> $$2 = $$1.getVillagerData().getProfession().re 69       ImmutableSet<Item> $$2 = $$1.getVillagerData().profession().value
.. questedItems();                                                         .. ().requestedItems();
70       ImmutableSet<Item> $$3 = $$0.getVillagerData().getProfession().re 70       ImmutableSet<Item> $$3 = $$0.getVillagerData().profession().value
.. questedItems();                                                         .. ().requestedItems();
71       return $$2.stream().filter($$1x -> !$$3.contains($$1x)).collect(C 71       return $$2.stream().filter($$1x -> !$$3.contains($$1x)).collect(C
.. ollectors.toSet());                                                     .. ollectors.toSet());
72    }                                                                    72    }
73                                                                         73 

net/minecraft/client/renderer/entity/layers/HorseArmorLayer.java --- Java
 1 package net.minecraft.client.renderer.entity.layers;
 2 
 3 import com.mojang.blaze3d.vertex.PoseStack;
 4 import net.fabricmc.api.EnvType;
 5 import net.fabricmc.api.Environment;
 6 import net.minecraft.client.model.HorseModel;
 7 import net.minecraft.client.model.geom.EntityModelSet;
 8 import net.minecraft.client.model.geom.ModelLayers;
 9 import net.minecraft.client.renderer.MultiBufferSource;
10 import net.minecraft.client.renderer.entity.RenderLayerParent;
11 import net.minecraft.client.renderer.entity.state.HorseRenderState;
12 import net.minecraft.client.resources.model.EquipmentClientInfo;
13 import net.minecraft.core.component.DataComponents;
14 import net.minecraft.world.item.ItemStack;
15 import net.minecraft.world.item.equipment.Equippable;
16 
17 @Environment(EnvType.CLIENT)
18 public class HorseArmorLayer extends RenderLayer<HorseRenderState, HorseModel> {
19    private final HorseModel adultModel;
20    private final HorseModel babyModel;
21    private final EquipmentLayerRenderer equipmentRenderer;
22 
23    public HorseArmorLayer(RenderLayerParent<HorseRenderState, HorseModel> $$0, EntityModelSet $$1, EquipmentLayerRenderer $$2) {
24       super($$0);
25       this.equipmentRenderer = $$2;
26       this.adultModel = new HorseModel($$1.bakeLayer(ModelLayers.HORSE_ARMOR));
27       this.babyModel = new HorseModel($$1.bakeLayer(ModelLayers.HORSE_BABY_ARMOR));
28    }
29 
30    public void render(PoseStack $$0, MultiBufferSource $$1, int $$2, HorseRenderState $$3, float $$4, float $$5) {
31       ItemStack $$6 = $$3.bodyArmorItem;
32       Equippable $$7 = $$6.get(DataComponents.EQUIPPABLE);
33       if ($$7 != null && !$$7.assetId().isEmpty()) {
34          HorseModel $$8 = $$3.isBaby ? this.babyModel : this.adultModel;
35          $$8.setupAnim($$3);
36          this.equipmentRenderer.renderLayers(EquipmentClientInfo.LayerType.HORSE_BODY, $$7.assetId().get(), $$8, $$6, $$0, $$1, $$2);
37       }
38    }
39 }
40 

net/minecraft/data/loot/EntityLootSubProvider.java --- 1/3 --- Java
16 import net.minecraft.advancements.critereon.EntityEquipmentPredicate;   16 import net.minecraft.advancements.critereon.EntityEquipmentPredicate;
17 import net.minecraft.advancements.critereon.EntityFlagsPredicate;       17 import net.minecraft.advancements.critereon.EntityFlagsPredicate;
18 import net.minecraft.advancements.critereon.EntityPredicate;            18 import net.minecraft.advancements.critereon.EntityPredicate;
19 import net.minecraft.advancements.critereon.EntitySubPredicates;        .. 
20 import net.minecraft.advancements.critereon.ItemEnchantmentsPredicate;  19 import net.minecraft.advancements.critereon.ItemEnchantmentsPredicate;
21 import net.minecraft.advancements.critereon.ItemPredicate;              20 import net.minecraft.advancements.critereon.ItemPredicate;
22 import net.minecraft.advancements.critereon.ItemSubPredicates;          21 import net.minecraft.advancements.critereon.ItemSubPredicates;
23 import net.minecraft.advancements.critereon.MinMaxBounds;               22 import net.minecraft.advancements.critereon.MinMaxBounds;
24 import net.minecraft.advancements.critereon.SheepPredicate;             23 import net.minecraft.advancements.critereon.SheepPredicate;
25 import net.minecraft.core.HolderGetter;                                 24 import net.minecraft.core.HolderGetter;
26 import net.minecraft.core.HolderLookup;                                 25 import net.minecraft.core.HolderLookup;
..                                                                         26 import net.minecraft.core.component.DataComponentPredicate;
..                                                                         27 import net.minecraft.core.component.DataComponents;
27 import net.minecraft.core.registries.BuiltInRegistries;                 28 import net.minecraft.core.registries.BuiltInRegistries;
28 import net.minecraft.core.registries.Registries;                        29 import net.minecraft.core.registries.Registries;
29 import net.minecraft.resources.ResourceKey;                             30 import net.minecraft.resources.ResourceKey;

net/minecraft/data/loot/EntityLootSubProvider.java --- 2/3 --- Java
92             NestedLootTable.lootTableReference($$2.getValue())           93             NestedLootTable.lootTableReference($$2.getValue())
93                .when(                                                    94                .when(
94                   LootItemEntityPropertyCondition.hasProperties(         95                   LootItemEntityPropertyCondition.hasProperties(
95                      LootContext.EntityTarget.THIS, EntityPredicate.Bui  96                      LootContext.EntityTarget.THIS,
.. lder.entity().subPredicate(SheepPredicate.hasWool($$2.getKey()))         .. 
..                                                                          97                      EntityPredicate.Builder.entity()
..                                                                          98                         .components(DataComponentPredicate.expect(DataC
..                                                                          .. omponents.SHEEP_COLOR, $$2.getKey()))
..                                                                          99                         .subPredicate(SheepPredicate.hasWool())
96                   )                                                     100                   )
97                )                                                        101                )
98          );                                                             102          );

net/minecraft/data/loot/EntityLootSubProvider.java --- 3/3 --- Java
160             .source(                                                   164             .source(
161                EntityPredicate.Builder.entity()                        165                EntityPredicate.Builder.entity()
162                   .of($$0, EntityType.FROG)                            166                   .of($$0, EntityType.FROG)
163                   .subPredicate(EntitySubPredicates.frogVariant(BuiltI 167                   .components(DataComponentPredicate.expect(DataCompon
... nRegistries.FROG_VARIANT.getOrThrow($$1)))                             ... ents.FROG_VARIANT, BuiltInRegistries.FROG_VARIANT.getOrThrow($$1)))
164             )                                                          168             )
165       );                                                               169       );
166    }                                                                   170    }

net/minecraft/client/model/geom/builders/PartDefinition.java --- Java
39    }                                                                    39    }
40                                                                         40 
41    public PartDefinition clearChild(String $$0) {                       41    public PartDefinition clearChild(String $$0) {
..                                                                         42       PartDefinition $$1 = this.children.get($$0);
..                                                                         43       if ($$1 == null) {
..                                                                         44          throw new IllegalArgumentException("No child with name: " + $$
..                                                                         .. 0);
..                                                                         45       } else {
42       return this.addOrReplaceChild($$0, CubeListBuilder.create(), Part 46          return this.addOrReplaceChild($$0, CubeListBuilder.create(), $
.. Pose.ZERO);                                                             .. $1.partPose);
..                                                                         47       }
43    }                                                                    48    }
44                                                                         49 
45    public ModelPart bake(int $$0, int $$1) {                            50    public ModelPart bake(int $$0, int $$1) {

net/minecraft/client/model/geom/builders/MeshDefinition.java --- Java
26       return new MeshDefinition(this.root.transformed($$0));            26       return new MeshDefinition(this.root.transformed($$0));
27    }                                                                    27    }
..                                                                         28 
..                                                                         29    public MeshDefinition apply(MeshTransformer $$0) {
..                                                                         30       return $$0.apply(this);
..                                                                         31    }
28 }                                                                       32 }

net/minecraft/data/loot/packs/VanillaShearingLoot.java --- 1/2 --- Java
2                                                                           2 
3 import java.util.function.BiConsumer;                                     3 import java.util.function.BiConsumer;
4 import net.minecraft.advancements.critereon.EntityPredicate;              4 import net.minecraft.advancements.critereon.EntityPredicate;
5 import net.minecraft.advancements.critereon.EntitySubPredicates;          . 
6 import net.minecraft.core.HolderLookup;                                   5 import net.minecraft.core.HolderLookup;
.                                                                           6 import net.minecraft.core.component.DataComponentPredicate;
.                                                                           7 import net.minecraft.core.component.DataComponents;
7 import net.minecraft.data.loot.EntityLootSubProvider;                     8 import net.minecraft.data.loot.EntityLootSubProvider;
8 import net.minecraft.data.loot.LootTableSubProvider;                      9 import net.minecraft.data.loot.LootTableSubProvider;
9 import net.minecraft.resources.ResourceKey;                              10 import net.minecraft.resources.ResourceKey;

net/minecraft/data/loot/packs/VanillaShearingLoot.java --- 2/2 --- Java
55                            .when(                                       56                            .when(
56                               LootItemEntityPropertyCondition.hasProper 57                               LootItemEntityPropertyCondition.hasProper
.. ties(                                                                   .. ties(
57                                  LootContext.EntityTarget.THIS,         58                                  LootContext.EntityTarget.THIS,
58                                  EntityPredicate.Builder.entity().subPr 59                                  EntityPredicate.Builder.entity()
.. edicate(EntitySubPredicates.MOOSHROOM.createPredicate(MushroomCow.Varia .. 
.. nt.RED))                                                                .. 
..                                                                         60                                     .components(DataComponentPredicate.
..                                                                         .. expect(DataComponents.MOOSHROOM_VARIANT, MushroomCow.Variant.RED))
59                               )                                         61                               )
60                            ),                                           62                            ),
61                         NestedLootTable.lootTableReference(BuiltInLootT 63                         NestedLootTable.lootTableReference(BuiltInLootT
.. ables.SHEAR_BROWN_MOOSHROOM)                                            .. ables.SHEAR_BROWN_MOOSHROOM)
62                            .when(                                       64                            .when(
63                               LootItemEntityPropertyCondition.hasProper 65                               LootItemEntityPropertyCondition.hasProper
.. ties(                                                                   .. ties(
64                                  LootContext.EntityTarget.THIS,         66                                  LootContext.EntityTarget.THIS,
65                                  EntityPredicate.Builder.entity().subPr 67                                  EntityPredicate.Builder.entity()
.. edicate(EntitySubPredicates.MOOSHROOM.createPredicate(MushroomCow.Varia .. 
.. nt.BROWN))                                                              .. 
..                                                                         68                                     .components(DataComponentPredicate.
..                                                                         .. expect(DataComponents.MOOSHROOM_VARIANT, MushroomCow.Variant.BROWN))
66                               )                                         69                               )
67                            )                                            70                            )
68                      )                                                  71                      )

net/minecraft/client/model/geom/builders/MeshTransformer.java --- Java
 6 @FunctionalInterface                                                     6 @FunctionalInterface
 7 @Environment(EnvType.CLIENT)                                             7 @Environment(EnvType.CLIENT)
 8 public interface MeshTransformer {                                       8 public interface MeshTransformer {
 .                                                                          9    MeshTransformer IDENTITY = $$0 -> $$0;
 .                                                                         10 
 9    static MeshTransformer scaling(float $$0) {                          11    static MeshTransformer scaling(float $$0) {
10       float $$1 = 24.016F * (1.0F - $$0);                               12       float $$1 = 24.016F * (1.0F - $$0);

net/minecraft/client/renderer/blockentity/BeaconRenderer.java --- 1/3 --- Java
12 import net.minecraft.resources.ResourceLocation;                        12 import net.minecraft.resources.ResourceLocation;
13 import net.minecraft.util.ARGB;                                         13 import net.minecraft.util.ARGB;
14 import net.minecraft.util.Mth;                                          14 import net.minecraft.util.Mth;
15 import net.minecraft.world.level.block.entity.BeaconBlockEntity;        15 import net.minecraft.world.level.block.entity.BeaconBeamOwner;
..                                                                         16 import net.minecraft.world.level.block.entity.BlockEntity;
16 import net.minecraft.world.phys.Vec3;                                   17 import net.minecraft.world.phys.Vec3;
17                                                                         18 
18 @Environment(EnvType.CLIENT)                                            19 @Environment(EnvType.CLIENT)
19 public class BeaconRenderer implements BlockEntityRenderer<BeaconBlockE 20 public class BeaconRenderer<T extends BlockEntity & BeaconBeamOwner> im
.. ntity> {                                                                .. plements BlockEntityRenderer<T> {
20    public static final ResourceLocation BEAM_LOCATION = ResourceLocatio 21    public static final ResourceLocation BEAM_LOCATION = ResourceLocatio
.. n.withDefaultNamespace("textures/entity/beacon_beam.png");              .. n.withDefaultNamespace("textures/entity/beacon_beam.png");
21    public static final int MAX_RENDER_Y = 1024;                         22    public static final int MAX_RENDER_Y = 1024;
22                                                                         23 
23    public BeaconRenderer(BlockEntityRendererProvider.Context $$0) {     24    public BeaconRenderer(BlockEntityRendererProvider.Context $$0) {
24    }                                                                    25    }
25                                                                         26 
..                                                                         27    @Override
26    public void render(BeaconBlockEntity $$0, float $$1, PoseStack $$2,  28    public void render(T $$0, float $$1, PoseStack $$2, MultiBufferSourc
.. MultiBufferSource $$3, int $$4, int $$5) {                              .. e $$3, int $$4, int $$5) {
27       long $$6 = $$0.getLevel().getGameTime();                          29       long $$6 = $$0.getLevel().getGameTime();
28       List<BeaconBlockEntity.BeaconBeamSection> $$7 = $$0.getBeamSectio 30       List<BeaconBeamOwner.Section> $$7 = $$0.getBeamSections();
.. ns();                                                                   .. 
29       int $$8 = 0;                                                      31       int $$8 = 0;
30                                                                         32 
31       for (int $$9 = 0; $$9 < $$7.size(); $$9++) {                      33       for (int $$9 = 0; $$9 < $$7.size(); $$9++) {
32          BeaconBlockEntity.BeaconBeamSection $$10 = $$7.get($$9);       34          BeaconBeamOwner.Section $$10 = $$7.get($$9);
33          renderBeaconBeam($$2, $$3, $$1, $$6, $$8, $$9 == $$7.size() -  35          renderBeaconBeam($$2, $$3, $$1, $$6, $$8, $$9 == $$7.size() - 
.. 1 ? 1024 : $$10.getHeight(), $$10.getColor());                          .. 1 ? 1024 : $$10.getHeight(), $$10.getColor());
34          $$8 += $$10.getHeight();                                       36          $$8 += $$10.getHeight();
35       }                                                                 37       }

net/minecraft/client/renderer/blockentity/BeaconRenderer.java --- 2/3 --- Java
148          .setNormal($$0, 0.0F, 1.0F, 0.0F);                            150          .setNormal($$0, 0.0F, 1.0F, 0.0F);
149    }                                                                   151    }
150                                                                        152 
...                                                                        153    @Override
151    public boolean shouldRenderOffScreen(BeaconBlockEntity $$0) {       154    public boolean shouldRenderOffScreen(T $$0) {
152       return true;                                                     155       return true;
153    }                                                                   156    }
154                                                                        157 

net/minecraft/client/renderer/blockentity/BeaconRenderer.java --- 3/3 --- Java
157       return 256;                                                      160       return 256;
158    }                                                                   161    }
159                                                                        162 
...                                                                        163    @Override
160    public boolean shouldRender(BeaconBlockEntity $$0, Vec3 $$1) {      164    public boolean shouldRender(T $$0, Vec3 $$1) {
161       return Vec3.atCenterOf($$0.getBlockPos()).multiply(1.0, 0.0, 1.0 165       return Vec3.atCenterOf($$0.getBlockPos()).multiply(1.0, 0.0, 1.0
... ).closerThan($$1.multiply(1.0, 0.0, 1.0), (double)this.getViewDistance ... ).closerThan($$1.multiply(1.0, 0.0, 1.0), (double)this.getViewDistance
... ());                                                                   ... ());
162    }                                                                   166    }
163 }                                                                      167 }

net/minecraft/client/renderer/entity/TropicalFishRenderer.java --- 1/2 --- Java
29    }                                                                    29    }
30                                                                         30 
31    public ResourceLocation getTextureLocation(TropicalFishRenderState $ 31    public ResourceLocation getTextureLocation(TropicalFishRenderState $
.. $0) {                                                                   .. $0) {
32       return switch ($$0.variant.base()) {                              32       return switch ($$0.pattern.base()) {
33          case SMALL -> MODEL_A_TEXTURE;                                 33          case SMALL -> MODEL_A_TEXTURE;
34          case LARGE -> MODEL_B_TEXTURE;                                 34          case LARGE -> MODEL_B_TEXTURE;
35       };                                                                35       };

net/minecraft/client/renderer/entity/TropicalFishRenderer.java --- 2/2 --- Java
41                                                                         41 
42    public void extractRenderState(TropicalFish $$0, TropicalFishRenderS 42    public void extractRenderState(TropicalFish $$0, TropicalFishRenderS
.. tate $$1, float $$2) {                                                  .. tate $$1, float $$2) {
43       super.extractRenderState($$0, $$1, $$2);                          43       super.extractRenderState($$0, $$1, $$2);
44       $$1.variant = $$0.getVariant();                                   44       $$1.pattern = $$0.getPattern();
45       $$1.baseColor = $$0.getBaseColor().getTextureDiffuseColor();      45       $$1.baseColor = $$0.getBaseColor().getTextureDiffuseColor();
46       $$1.patternColor = $$0.getPatternColor().getTextureDiffuseColor() 46       $$1.patternColor = $$0.getPatternColor().getTextureDiffuseColor()
.. ;                                                                       .. ;
47    }                                                                    47    }
48                                                                         48 
49    public void render(TropicalFishRenderState $$0, PoseStack $$1, Multi 49    public void render(TropicalFishRenderState $$0, PoseStack $$1, Multi
.. BufferSource $$2, int $$3) {                                            .. BufferSource $$2, int $$3) {
50       this.model = switch ($$0.variant.base()) {                        50       this.model = switch ($$0.pattern.base()) {
51          case SMALL -> this.modelA;                                     51          case SMALL -> this.modelA;
52          case LARGE -> this.modelB;                                     52          case LARGE -> this.modelB;
53       };                                                                53       };

net/minecraft/world/level/block/PointedDripstoneBlock.java --- 1/2 --- Java
59    private static final float STALACTITE_DAMAGE_PER_FALL_DISTANCE_AND_S 59    private static final float STALACTITE_DAMAGE_PER_FALL_DISTANCE_AND_S
.. IZE = 1.0F;                                                             .. IZE = 1.0F;
60    private static final int STALACTITE_MAX_DAMAGE = 40;                 60    private static final int STALACTITE_MAX_DAMAGE = 40;
61    private static final int MAX_STALACTITE_HEIGHT_FOR_DAMAGE_CALCULATIO 61    private static final int MAX_STALACTITE_HEIGHT_FOR_DAMAGE_CALCULATIO
.. N = 6;                                                                  .. N = 6;
62    private static final float STALAGMITE_FALL_DISTANCE_OFFSET = 2.0F;   62    private static final float STALAGMITE_FALL_DISTANCE_OFFSET = 2.5F;
63    private static final int STALAGMITE_FALL_DAMAGE_MODIFIER = 2;        63    private static final int STALAGMITE_FALL_DAMAGE_MODIFIER = 2;
64    private static final float AVERAGE_DAYS_PER_GROWTH = 5.0F;           64    private static final float AVERAGE_DAYS_PER_GROWTH = 5.0F;
65    private static final float GROWTH_PROBABILITY_PER_RANDOM_TICK = 0.01 65    private static final float GROWTH_PROBABILITY_PER_RANDOM_TICK = 0.01
   1377778F;                                                                  1377778F;

net/minecraft/world/level/block/PointedDripstoneBlock.java --- 2/2 --- Java
146    }                                                                   146    }
147                                                                        147 
148    @Override                                                           148    @Override
149    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity  149    public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity 
... $$3, float $$4) {                                                      ... $$3, double $$4) {
150       if ($$1.getValue(TIP_DIRECTION) == Direction.UP && $$1.getValue( 150       if ($$1.getValue(TIP_DIRECTION) == Direction.UP && $$1.getValue(
... THICKNESS) == DripstoneThickness.TIP) {                                ... THICKNESS) == DripstoneThickness.TIP) {
151          $$3.causeFallDamage($$4 + 2.0F, 2.0F, $$0.damageSources().sta 151          $$3.causeFallDamage($$4 + 2.5, 2.0F, $$0.damageSources().stal
... lagmite());                                                            ... agmite());
152       } else {                                                         152       } else {
153          super.fallOn($$0, $$1, $$2, $$3, $$4);                        153          super.fallOn($$0, $$1, $$2, $$3, $$4);
154       }                                                                154       }

net/minecraft/network/chat/HoverEvent.java --- Java
152       }                                                                152       }
153    }                                                                   153    }
154                                                                        154 
155    public static record ShowText(Component text) implements HoverEvent 155    public static record ShowText(Component value) implements HoverEven
...  {                                                                     ... t {
156       public static final MapCodec<HoverEvent.ShowText> CODEC = Record 156       public static final MapCodec<HoverEvent.ShowText> CODEC = Record
... CodecBuilder.mapCodec(                                                 ... CodecBuilder.mapCodec(
157          $$0 -> $$0.group(ComponentSerialization.CODEC.fieldOf("text") 157          $$0 -> $$0.group(ComponentSerialization.CODEC.fieldOf("value"
... .forGetter(HoverEvent.ShowText::text)).apply($$0, HoverEvent.ShowText: ... ).forGetter(HoverEvent.ShowText::value)).apply($$0, HoverEvent.ShowTex
... :new)                                                                  ... t::new)
158       );                                                               158       );
159                                                                        159 
160       @Override                                                        160       @Override

net/minecraft/world/level/material/Fluid.java --- 1/2 --- Java
18 import net.minecraft.world.level.LevelReader;                           18 import net.minecraft.world.level.LevelReader;
19 import net.minecraft.world.level.block.state.BlockState;                19 import net.minecraft.world.level.block.state.BlockState;
20 import net.minecraft.world.level.block.state.StateDefinition;           20 import net.minecraft.world.level.block.state.StateDefinition;
..                                                                         21 import net.minecraft.world.phys.AABB;
21 import net.minecraft.world.phys.Vec3;                                   22 import net.minecraft.world.phys.Vec3;
22 import net.minecraft.world.phys.shapes.VoxelShape;                      23 import net.minecraft.world.phys.shapes.VoxelShape;
23                                                                         24 

net/minecraft/world/level/material/Fluid.java --- 2/2 --- Java
102                                                                        103 
103    public abstract VoxelShape getShape(FluidState var1, BlockGetter va 104    public abstract VoxelShape getShape(FluidState var1, BlockGetter va
... r2, BlockPos var3);                                                    ... r2, BlockPos var3);
...                                                                        105 
...                                                                        106    @Nullable
...                                                                        107    public AABB getAABB(FluidState $$0, BlockGetter $$1, BlockPos $$2) 
...                                                                        ... {
...                                                                        108       if (this.isEmpty()) {
...                                                                        109          return null;
...                                                                        110       } else {
...                                                                        111          float $$3 = $$0.getHeight($$1, $$2);
...                                                                        112          return new AABB(
...                                                                        113             (double)$$2.getX(), (double)$$2.getY(), (double)$$2.getZ()
...                                                                        ... , (double)$$2.getX() + 1.0, (double)((float)$$2.getY() + $$3), (double
...                                                                        ... )$$2.getZ() + 1.0
...                                                                        114          );
...                                                                        115       }
...                                                                        116    }
104                                                                        117 
105    public Optional<SoundEvent> getPickupSound() {                      118    public Optional<SoundEvent> getPickupSound() {
106       return Optional.empty();                                         119       return Optional.empty();

net/minecraft/world/entity/npc/VillagerData.java --- Java
 2                                                                          2 
 3 import com.mojang.serialization.Codec;                                   3 import com.mojang.serialization.Codec;
 4 import com.mojang.serialization.codecs.RecordCodecBuilder;               4 import com.mojang.serialization.codecs.RecordCodecBuilder;
 .                                                                          5 import net.minecraft.core.Holder;
 .                                                                          6 import net.minecraft.core.HolderGetter;
 5 import net.minecraft.core.registries.BuiltInRegistries;                  7 import net.minecraft.core.registries.BuiltInRegistries;
 6 import net.minecraft.core.registries.Registries;                         8 import net.minecraft.core.registries.Registries;
 7 import net.minecraft.network.RegistryFriendlyByteBuf;                    9 import net.minecraft.network.RegistryFriendlyByteBuf;
 8 import net.minecraft.network.codec.ByteBufCodecs;                       10 import net.minecraft.network.codec.ByteBufCodecs;
 9 import net.minecraft.network.codec.StreamCodec;                         11 import net.minecraft.network.codec.StreamCodec;
 .                                                                         12 import net.minecraft.resources.ResourceKey;
10                                                                         13 
11 public class VillagerData {                                             14 public record VillagerData(Holder<VillagerType> type, Holder<VillagerPr
..                                                                         .. ofession> profession, int level) {
12    public static final int MIN_VILLAGER_LEVEL = 1;                      15    public static final int MIN_VILLAGER_LEVEL = 1;
13    public static final int MAX_VILLAGER_LEVEL = 5;                      16    public static final int MAX_VILLAGER_LEVEL = 5;
14    private static final int[] NEXT_LEVEL_XP_THRESHOLDS = new int[]{0, 1 17    private static final int[] NEXT_LEVEL_XP_THRESHOLDS = new int[]{0, 1
.. 0, 70, 150, 250};                                                       .. 0, 70, 150, 250};
15    public static final Codec<VillagerData> CODEC = RecordCodecBuilder.c 18    public static final Codec<VillagerData> CODEC = RecordCodecBuilder.c
.. reate(                                                                  .. reate(
16       $$0 -> $$0.group(                                                 19       $$0 -> $$0.group(
17                BuiltInRegistries.VILLAGER_TYPE.byNameCodec().fieldOf("t 20                BuiltInRegistries.VILLAGER_TYPE
.. ype").orElseGet(() -> VillagerType.PLAINS).forGetter($$0x -> $$0x.type) .. 
.. ,                                                                       .. 
..                                                                         21                   .holderByNameCodec()
..                                                                         22                   .fieldOf("type")
..                                                                         23                   .orElseGet(() -> BuiltInRegistries.VILLAGER_TYPE.getO
..                                                                         .. rThrow(VillagerType.PLAINS))
..                                                                         24                   .forGetter($$0x -> $$0x.type),
18                BuiltInRegistries.VILLAGER_PROFESSION                    25                BuiltInRegistries.VILLAGER_PROFESSION
19                   .byNameCodec()                                        26                   .holderByNameCodec()
20                   .fieldOf("profession")                                27                   .fieldOf("profession")
21                   .orElseGet(() -> VillagerProfession.NONE)             28                   .orElseGet(() -> BuiltInRegistries.VILLAGER_PROFESSIO
..                                                                         .. N.getOrThrow(VillagerProfession.NONE))
22                   .forGetter($$0x -> $$0x.profession),                  29                   .forGetter($$0x -> $$0x.profession),
23                Codec.INT.fieldOf("level").orElse(1).forGetter($$0x -> $ 30                Codec.INT.fieldOf("level").orElse(1).forGetter($$0x -> $
.. $0x.level)                                                              .. $0x.level)
24             )                                                           31             )
25             .apply($$0, VillagerData::new)                              32             .apply($$0, VillagerData::new)
26    );                                                                   33    );
27    public static final StreamCodec<RegistryFriendlyByteBuf, VillagerDat 34    public static final StreamCodec<RegistryFriendlyByteBuf, VillagerDat
.. a> STREAM_CODEC = StreamCodec.composite(                                .. a> STREAM_CODEC = StreamCodec.composite(
28       ByteBufCodecs.registry(Registries.VILLAGER_TYPE),                 35       ByteBufCodecs.holderRegistry(Registries.VILLAGER_TYPE),
29       $$0 -> $$0.type,                                                  36       VillagerData::type,
30       ByteBufCodecs.registry(Registries.VILLAGER_PROFESSION),           37       ByteBufCodecs.holderRegistry(Registries.VILLAGER_PROFESSION),
31       $$0 -> $$0.profession,                                            38       VillagerData::profession,
32       ByteBufCodecs.VAR_INT,                                            39       ByteBufCodecs.VAR_INT,
33       $$0 -> $$0.level,                                                 40       VillagerData::level,
34       VillagerData::new                                                 41       VillagerData::new
35    );                                                                   42    );
36    private final VillagerType type;                                     .. 
37    private final VillagerProfession profession;                         .. 
38    private final int level;                                             .. 
39                                                                         43 
40    public VillagerData(VillagerType $$0, VillagerProfession $$1, int $$ 44    public VillagerData(Holder<VillagerType> type, Holder<VillagerProfes
.. 2) {                                                                    .. sion> profession, int level) {
..                                                                         45       level = Math.max(1, level);
41       this.type = $$0;                                                  46       this.type = type;
42       this.profession = $$1;                                            47       this.profession = profession;
43       this.level = Math.max(1, $$2);                                    48       this.level = level;
44    }                                                                    49    }
45                                                                         .. 
46    public VillagerType getType() {                                      .. 
47       return this.type;                                                 .. 
48    }                                                                    .. 
49                                                                         50 
50    public VillagerProfession getProfession() {                          51    public VillagerData withType(Holder<VillagerType> $$0) {
51       return this.profession;                                           52       return new VillagerData($$0, this.profession, this.level);
52    }                                                                    53    }
53                                                                         54 
54    public int getLevel() {                                              55    public VillagerData withType(HolderGetter.Provider $$0, ResourceKey<
..                                                                         .. VillagerType> $$1) {
55       return this.level;                                                56       return this.withType($$0.getOrThrow($$1));
56    }                                                                    57    }
57                                                                         58 
58    public VillagerData setType(VillagerType $$0) {                      59    public VillagerData withProfession(Holder<VillagerProfession> $$0) {
59       return new VillagerData($$0, this.profession, this.level);        60       return new VillagerData(this.type, $$0, this.level);
60    }                                                                    61    }
61                                                                         62 
62    public VillagerData setProfession(VillagerProfession $$0) {          63    public VillagerData withProfession(HolderGetter.Provider $$0, Resour
..                                                                         .. ceKey<VillagerProfession> $$1) {
63       return new VillagerData(this.type, $$0, this.level);              64       return this.withProfession($$0.getOrThrow($$1));
64    }                                                                    65    }
65                                                                         66 
66    public VillagerData setLevel(int $$0) {                              67    public VillagerData withLevel(int $$0) {
67       return new VillagerData(this.type, this.profession, $$0);         68       return new VillagerData(this.type, this.profession, $$0);
68    }                                                                    69    }
69                                                                         70 

net/minecraft/client/renderer/entity/UndeadHorseRenderer.java --- 1/2 --- Java
 3 import net.fabricmc.api.EnvType;                                         3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 5 import net.minecraft.client.model.AbstractEquineModel;                   5 import net.minecraft.client.model.AbstractEquineModel;
 .                                                                          6 import net.minecraft.client.model.EquineSaddleModel;
 6 import net.minecraft.client.model.HorseModel;                            7 import net.minecraft.client.model.HorseModel;
 7 import net.minecraft.client.model.geom.ModelLayerLocation;               8 import net.minecraft.client.model.geom.ModelLayerLocation;
 .                                                                          9 import net.minecraft.client.model.geom.ModelLayers;
 .                                                                         10 import net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer
 .                                                                         .. ;
 8 import net.minecraft.client.renderer.entity.state.EquineRenderState;    11 import net.minecraft.client.renderer.entity.state.EquineRenderState;
 .                                                                         12 import net.minecraft.client.resources.model.EquipmentClientInfo;
 9 import net.minecraft.resources.ResourceLocation;                        13 import net.minecraft.resources.ResourceLocation;
10 import net.minecraft.world.entity.animal.horse.AbstractHorse;           14 import net.minecraft.world.entity.animal.horse.AbstractHorse;
11                                                                         15 
12 @Environment(EnvType.CLIENT)                                            16 @Environment(EnvType.CLIENT)
13 public class UndeadHorseRenderer extends AbstractHorseRenderer<Abstract 17 public class UndeadHorseRenderer extends AbstractHorseRenderer<Abstract
.. Horse, EquineRenderState, AbstractEquineModel<EquineRenderState>> {     .. Horse, EquineRenderState, AbstractEquineModel<EquineRenderState>> {
14    private static final ResourceLocation ZOMBIE_TEXTURE = ResourceLocat .. 
.. ion.withDefaultNamespace("textures/entity/horse/horse_zombie.png");     .. 
15    private static final ResourceLocation SKELETON_TEXTURE = ResourceLoc .. 
.. ation.withDefaultNamespace("textures/entity/horse/horse_skeleton.png"); .. 
16    private final ResourceLocation texture;                              18    private final ResourceLocation texture;
17                                                                         19 
18    public UndeadHorseRenderer(EntityRendererProvider.Context $$0, Model 20    public UndeadHorseRenderer(EntityRendererProvider.Context $$0, Undea
.. LayerLocation $$1, ModelLayerLocation $$2, boolean $$3) {               .. dHorseRenderer.Type $$1) {
19       super($$0, new HorseModel($$0.bakeLayer($$1)), new HorseModel($$0 21       super($$0, new HorseModel($$0.bakeLayer($$1.model)), new HorseMod
.. .bakeLayer($$2)));                                                      .. el($$0.bakeLayer($$1.babyModel)));
20       this.texture = $$3 ? SKELETON_TEXTURE : ZOMBIE_TEXTURE;           22       this.texture = $$1.texture;
..                                                                         23       this.addLayer(
..                                                                         24          new SimpleEquipmentLayer<>(
..                                                                         25             this,
..                                                                         26             $$0.getEquipmentRenderer(),
..                                                                         27             $$1.saddleLayer,
..                                                                         28             $$0x -> $$0x.saddle,
..                                                                         29             new EquineSaddleModel($$0.bakeLayer($$1.saddleModel)),
..                                                                         30             new EquineSaddleModel($$0.bakeLayer($$1.babySaddleModel))
..                                                                         31          )
..                                                                         32       );
21    }                                                                    33    }
22                                                                         34 
23    public ResourceLocation getTextureLocation(EquineRenderState $$0) {  35    public ResourceLocation getTextureLocation(EquineRenderState $$0) {

net/minecraft/client/renderer/entity/UndeadHorseRenderer.java --- 2/2 --- Java
28       return new EquineRenderState();                                   40       return new EquineRenderState();
29    }                                                                    41    }
..                                                                         42 
..                                                                         43    @Environment(EnvType.CLIENT)
..                                                                         44    public static enum Type {
..                                                                         45       SKELETON(
..                                                                         46          ResourceLocation.withDefaultNamespace("textures/entity/horse/h
..                                                                         .. orse_skeleton.png"),
..                                                                         47          ModelLayers.SKELETON_HORSE,
..                                                                         48          ModelLayers.SKELETON_HORSE_BABY,
..                                                                         49          EquipmentClientInfo.LayerType.SKELETON_HORSE_SADDLE,
..                                                                         50          ModelLayers.SKELETON_HORSE_SADDLE,
..                                                                         51          ModelLayers.SKELETON_HORSE_BABY_SADDLE
..                                                                         52       ),
..                                                                         53       ZOMBIE(
..                                                                         54          ResourceLocation.withDefaultNamespace("textures/entity/horse/h
..                                                                         .. orse_zombie.png"),
..                                                                         55          ModelLayers.ZOMBIE_HORSE,
..                                                                         56          ModelLayers.ZOMBIE_HORSE_BABY,
..                                                                         57          EquipmentClientInfo.LayerType.ZOMBIE_HORSE_SADDLE,
..                                                                         58          ModelLayers.ZOMBIE_HORSE_SADDLE,
..                                                                         59          ModelLayers.ZOMBIE_HORSE_BABY_SADDLE
..                                                                         60       );
..                                                                         61 
..                                                                         62       final ResourceLocation texture;
..                                                                         63       final ModelLayerLocation model;
..                                                                         64       final ModelLayerLocation babyModel;
..                                                                         65       final EquipmentClientInfo.LayerType saddleLayer;
..                                                                         66       final ModelLayerLocation saddleModel;
..                                                                         67       final ModelLayerLocation babySaddleModel;
..                                                                         68 
..                                                                         69       private Type(
..                                                                         70          final ResourceLocation $$0,
..                                                                         71          final ModelLayerLocation $$1,
..                                                                         72          final ModelLayerLocation $$2,
..                                                                         73          final EquipmentClientInfo.LayerType $$3,
..                                                                         74          final ModelLayerLocation $$4,
..                                                                         75          final ModelLayerLocation $$5
..                                                                         76       ) {
..                                                                         77          this.texture = $$0;
..                                                                         78          this.model = $$1;
..                                                                         79          this.babyModel = $$2;
..                                                                         80          this.saddleLayer = $$3;
..                                                                         81          this.saddleModel = $$4;
..                                                                         82          this.babySaddleModel = $$5;
..                                                                         83       }
..                                                                         84    }
30 }                                                                       85 }

net/minecraft/world/entity/vehicle/OldMinecartBehavior.java --- Java
400                                                                        400 
401    @Override                                                           401    @Override
402    public Vec3 getKnownMovement(Vec3 $$0) {                            402    public Vec3 getKnownMovement(Vec3 $$0) {
403       return new Vec3(Mth.clamp($$0.x, -0.4, 0.4), $$0.y, Mth.clamp($$ 403       return !Double.isNaN($$0.x) && !Double.isNaN($$0.y) && !Double.i
... 0.z, -0.4, 0.4));                                                      ... sNaN($$0.z)
...                                                                        404          ? new Vec3(Mth.clamp($$0.x, -0.4, 0.4), $$0.y, Mth.clamp($$0.
...                                                                        ... z, -0.4, 0.4))
...                                                                        405          : Vec3.ZERO;
404    }                                                                   406    }
405                                                                        407 
406    @Override                                                           408    @Override

net/minecraft/client/renderer/blockentity/BlockEntityRenderers.java --- Java
45       register(BlockEntityType.BEACON, BeaconRenderer::new);            45       register(BlockEntityType.BEACON, BeaconRenderer::new);
46       register(BlockEntityType.SKULL, SkullBlockRenderer::new);         46       register(BlockEntityType.SKULL, SkullBlockRenderer::new);
47       register(BlockEntityType.BANNER, BannerRenderer::new);            47       register(BlockEntityType.BANNER, BannerRenderer::new);
48       register(BlockEntityType.STRUCTURE_BLOCK, StructureBlockRenderer: 48       register(BlockEntityType.STRUCTURE_BLOCK, BlockEntityWithBounding
.. :new);                                                                  .. BoxRenderer::new);
..                                                                         49       register(BlockEntityType.TEST_INSTANCE_BLOCK, TestInstanceRendere
..                                                                         .. r::new);
49       register(BlockEntityType.SHULKER_BOX, ShulkerBoxRenderer::new);   50       register(BlockEntityType.SHULKER_BOX, ShulkerBoxRenderer::new);
50       register(BlockEntityType.BED, BedRenderer::new);                  51       register(BlockEntityType.BED, BedRenderer::new);
51       register(BlockEntityType.CONDUIT, ConduitRenderer::new);          52       register(BlockEntityType.CONDUIT, ConduitRenderer::new);

net/minecraft/client/renderer/blockentity/TestInstanceRenderer.java --- Java
 1 package net.minecraft.client.renderer.blockentity;
 2 
 3 import com.mojang.blaze3d.vertex.PoseStack;
 4 import net.fabricmc.api.EnvType;
 5 import net.fabricmc.api.Environment;
 6 import net.minecraft.client.renderer.MultiBufferSource;
 7 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
 8 import net.minecraft.world.phys.Vec3;
 9 
10 @Environment(EnvType.CLIENT)
11 public class TestInstanceRenderer implements BlockEntityRenderer<TestInstanceBlockEntity> {
12    private final BeaconRenderer<TestInstanceBlockEntity> beacon;
13    private final BlockEntityWithBoundingBoxRenderer<TestInstanceBlockEntity> box;
14 
15    public TestInstanceRenderer(BlockEntityRendererProvider.Context $$0) {
16       this.beacon = new BeaconRenderer<>($$0);
17       this.box = new BlockEntityWithBoundingBoxRenderer<>($$0);
18    }
19 
20    public void render(TestInstanceBlockEntity $$0, float $$1, PoseStack $$2, MultiBufferSource $$3, int $$4, int $$5) {
21       this.beacon.render($$0, $$1, $$2, $$3, $$4, $$5);
22       this.box.render($$0, $$1, $$2, $$3, $$4, $$5);
23    }
24 
25    public boolean shouldRenderOffScreen(TestInstanceBlockEntity $$0) {
26       return this.beacon.shouldRenderOffScreen($$0) || this.box.shouldRenderOffScreen($$0);
27    }
28 
29    @Override
30    public int getViewDistance() {
31       return Math.max(this.beacon.getViewDistance(), this.box.getViewDistance());
32    }
33 
34    public boolean shouldRender(TestInstanceBlockEntity $$0, Vec3 $$1) {
35       return this.beacon.shouldRender($$0, $$1) || this.box.shouldRender($$0, $$1);
36    }
37 }
38 

net/minecraft/util/datafix/fixes/SaddleEquipmentSlotFix.java --- Java
 1 package net.minecraft.util.datafix.fixes;
 2 
 3 import com.mojang.datafixers.DSL;
 4 import com.mojang.datafixers.DataFix;
 5 import com.mojang.datafixers.OpticFinder;
 6 import com.mojang.datafixers.TypeRewriteRule;
 7 import com.mojang.datafixers.Typed;
 8 import com.mojang.datafixers.schemas.Schema;
 9 import com.mojang.datafixers.types.Type;
10 import com.mojang.datafixers.types.templates.TaggedChoice.TaggedChoiceType;
11 import com.mojang.datafixers.util.Pair;
12 import com.mojang.serialization.Dynamic;
13 import java.util.Set;
14 import net.minecraft.Util;
15 import net.minecraft.util.datafix.ExtraDataFixUtils;
16 import net.minecraft.util.datafix.schemas.NamespacedSchema;
17 
18 public class SaddleEquipmentSlotFix extends DataFix {
19    private static final Set<String> ENTITIES_WITH_SADDLE_ITEM = Set.of(
20       "minecraft:horse",
21       "minecraft:skeleton_horse",
22       "minecraft:zombie_horse",
23       "minecraft:donkey",
24       "minecraft:mule",
25       "minecraft:camel",
26       "minecraft:llama",
27       "minecraft:trader_llama"
28    );
29    private static final Set<String> ENTITIES_WITH_SADDLE_FLAG = Set.of("minecraft:pig", "minecraft:strider");
30    private static final String SADDLE_FLAG = "Saddle";
31    private static final String NEW_SADDLE = "saddle";
32 
33    public SaddleEquipmentSlotFix(Schema $$0) {
34       super($$0, true);
35    }
36 
37    @Override
38    protected TypeRewriteRule makeRule() {
39       TaggedChoiceType<String> $$0 = (TaggedChoiceType<String>)this.getInputSchema().findChoiceType(References.ENTITY);
40       OpticFinder<Pair<String, ?>> $$1 = DSL.typeFinder($$0);
41       Type<?> $$2 = this.getInputSchema().getType(References.ENTITY);
42       Type<?> $$3 = this.getOutputSchema().getType(References.ENTITY);
43       Type<?> $$4 = ExtraDataFixUtils.patchSubType($$2, $$2, $$3);
44       return this.fixTypeEverywhereTyped(
45          "SaddleEquipmentSlotFix",
46          $$2,
47          $$3,
48          $$3x -> {
49             String $$4x = $$3x.getOptional($$1).map(Pair::getFirst).map(NamespacedSchema::ensureNamespaced).orElse("");
50             Typed<?> $$5 = ExtraDataFixUtils.cast($$4, $$3x);
51             if (ENTITIES_WITH_SADDLE_ITEM.contains($$4x)) {
52                return Util.writeAndReadTypedOrThrow($$5, $$3, SaddleEquipmentSlotFix::fixEntityWithSaddleItem);
53             } else {
54                return ENTITIES_WITH_SADDLE_FLAG.contains($$4x)
55                   ? Util.writeAndReadTypedOrThrow($$5, $$3, SaddleEquipmentSlotFix::fixEntityWithSaddleFlag)
56                   : ExtraDataFixUtils.cast($$3, $$3x);
57             }
58          }
59       );
60    }
61 
62    private static Dynamic<?> fixEntityWithSaddleItem(Dynamic<?> $$0) {
63       return $$0.get("SaddleItem").result().isEmpty() ? $$0 : fixDropChances($$0.renameField("SaddleItem", "saddle"));
64    }
65 
66    private static Dynamic<?> fixEntityWithSaddleFlag(Dynamic<?> $$0) {
67       boolean $$1 = $$0.get("Saddle").asBoolean(false);
68       $$0 = $$0.remove("Saddle");
69       if (!$$1) {
70          return $$0;
71       } else {
72          Dynamic<?> $$2 = $$0.emptyMap().set("id", $$0.createString("minecraft:saddle")).set("count", $$0.createInt(1));
73          return fixDropChances($$0.set("saddle", $$2));
74       }
75    }
76 
77    private static Dynamic<?> fixDropChances(Dynamic<?> $$0) {
78       Dynamic<?> $$1 = $$0.get("drop_chances").orElseEmptyMap().set("saddle", $$0.createFloat(2.0F));
79       return $$0.set("drop_chances", $$1);
80    }
81 }
82 

net/minecraft/client/renderer/entity/CamelRenderer.java --- 1/3 --- Java
 3 import net.fabricmc.api.EnvType;                                         3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;                                     4 import net.fabricmc.api.Environment;
 5 import net.minecraft.client.model.CamelModel;                            5 import net.minecraft.client.model.CamelModel;
 .                                                                          6 import net.minecraft.client.model.CamelSaddleModel;
 6 import net.minecraft.client.model.geom.ModelLayers;                      7 import net.minecraft.client.model.geom.ModelLayers;
 .                                                                          8 import net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer
 .                                                                          . ;
 7 import net.minecraft.client.renderer.entity.state.CamelRenderState;      9 import net.minecraft.client.renderer.entity.state.CamelRenderState;
 .                                                                         10 import net.minecraft.client.resources.model.EquipmentClientInfo;
 8 import net.minecraft.resources.ResourceLocation;                        11 import net.minecraft.resources.ResourceLocation;
 .                                                                         12 import net.minecraft.world.entity.EquipmentSlot;
 9 import net.minecraft.world.entity.animal.camel.Camel;                   13 import net.minecraft.world.entity.animal.camel.Camel;
10                                                                         14 
11 @Environment(EnvType.CLIENT)                                            15 @Environment(EnvType.CLIENT)

net/minecraft/client/renderer/entity/CamelRenderer.java --- 2/3 --- Java
14                                                                         18 
15    public CamelRenderer(EntityRendererProvider.Context $$0) {           19    public CamelRenderer(EntityRendererProvider.Context $$0) {
16       super($$0, new CamelModel($$0.bakeLayer(ModelLayers.CAMEL)), new  20       super($$0, new CamelModel($$0.bakeLayer(ModelLayers.CAMEL)), new 
.. CamelModel($$0.bakeLayer(ModelLayers.CAMEL_BABY)), 0.7F);               .. CamelModel($$0.bakeLayer(ModelLayers.CAMEL_BABY)), 0.7F);
..                                                                         21       this.addLayer(
..                                                                         22          new SimpleEquipmentLayer<>(
..                                                                         23             this,
..                                                                         24             $$0.getEquipmentRenderer(),
..                                                                         25             EquipmentClientInfo.LayerType.CAMEL_SADDLE,
..                                                                         26             $$0x -> $$0x.saddle,
..                                                                         27             new CamelSaddleModel($$0.bakeLayer(ModelLayers.CAMEL_SADDLE
..                                                                         .. )),
..                                                                         28             new CamelSaddleModel($$0.bakeLayer(ModelLayers.CAMEL_BABY_S
..                                                                         .. ADDLE))
..                                                                         29          )
..                                                                         30       );
17    }                                                                    31    }
18                                                                         32 
19    public ResourceLocation getTextureLocation(CamelRenderState $$0) {   33    public ResourceLocation getTextureLocation(CamelRenderState $$0) {

net/minecraft/client/renderer/entity/CamelRenderer.java --- 3/3 --- Java
26                                                                         40 
27    public void extractRenderState(Camel $$0, CamelRenderState $$1, floa 41    public void extractRenderState(Camel $$0, CamelRenderState $$1, floa
.. t $$2) {                                                                .. t $$2) {
28       super.extractRenderState($$0, $$1, $$2);                          42       super.extractRenderState($$0, $$1, $$2);
29       $$1.isSaddled = $$0.isSaddled();                                  43       $$1.saddle = $$0.getItemBySlot(EquipmentSlot.SADDLE).copy();
30       $$1.isRidden = $$0.isVehicle();                                   44       $$1.isRidden = $$0.isVehicle();
31       $$1.jumpCooldown = Math.max((float)$$0.getJumpCooldown() - $$2, 0 45       $$1.jumpCooldown = Math.max((float)$$0.getJumpCooldown() - $$2, 0
.. .0F);                                                                   .. .0F);
32       $$1.sitAnimationState.copyFrom($$0.sitAnimationState);            46       $$1.sitAnimationState.copyFrom($$0.sitAnimationState);

net/minecraft/client/renderer/blockentity/StructureBlockRenderer.java --- Java
  1 package net.minecraft.client.renderer.blockentity;
  2 
  3 import com.mojang.blaze3d.vertex.PoseStack;
  4 import com.mojang.blaze3d.vertex.VertexConsumer;
  5 import net.fabricmc.api.EnvType;
  6 import net.fabricmc.api.Environment;
  7 import net.minecraft.client.Minecraft;
  8 import net.minecraft.client.renderer.MultiBufferSource;
  9 import net.minecraft.client.renderer.RenderType;
 10 import net.minecraft.client.renderer.ShapeRenderer;
 11 import net.minecraft.core.BlockPos;
 12 import net.minecraft.core.Vec3i;
 13 import net.minecraft.gametest.framework.StructureUtils;
 14 import net.minecraft.world.level.BlockGetter;
 15 import net.minecraft.world.level.block.Blocks;
 16 import net.minecraft.world.level.block.entity.StructureBlockEntity;
 17 import net.minecraft.world.level.block.state.BlockState;
 18 import net.minecraft.world.level.block.state.properties.StructureMode;
 19 import net.minecraft.world.phys.shapes.BitSetDiscreteVoxelShape;
 20 import net.minecraft.world.phys.shapes.DiscreteVoxelShape;
 21 
 22 @Environment(EnvType.CLIENT)
 23 public class StructureBlockRenderer implements BlockEntityRenderer<StructureBlockEntity> {
 24    public StructureBlockRenderer(BlockEntityRendererProvider.Context $$0) {
 25    }
 26 
 27    public void render(StructureBlockEntity $$0, float $$1, PoseStack $$2, MultiBufferSource $$3, int $$4, int $$5) {
 28       if (Minecraft.getInstance().player.canUseGameMasterBlocks() || Minecraft.getInstance().player.isSpectator()) {
 29          BlockPos $$6 = $$0.getStructurePos();
 30          Vec3i $$7 = $$0.getStructureSize();
 31          if ($$7.getX() >= 1 && $$7.getY() >= 1 && $$7.getZ() >= 1) {
 32             if ($$0.getMode() == StructureMode.SAVE || $$0.getMode() == StructureMode.LOAD) {
 33                double $$8 = (double)$$6.getX();
 34                double $$9 = (double)$$6.getZ();
 35                double $$10 = (double)$$6.getY();
 36                double $$11 = $$10 + (double)$$7.getY();
 37                double $$12;
 38                double $$13;
 39                switch ($$0.getMirror()) {
 40                   case LEFT_RIGHT:
 41                      $$12 = (double)$$7.getX();
 42                      $$13 = (double)(-$$7.getZ());
 43                      break;
 44                   case FRONT_BACK:
 45                      $$12 = (double)(-$$7.getX());
 46                      $$13 = (double)$$7.getZ();
 47                      break;
 48                   default:
 49                      $$12 = (double)$$7.getX();
 50                      $$13 = (double)$$7.getZ();
 51                }
 52 
 53                double $$30;
 54                double $$31;
 55                double $$32;
 56                double $$33;
 57                switch ($$0.getRotation()) {
 58                   case CLOCKWISE_90:
 59                      $$30 = $$13 < 0.0 ? $$8 : $$8 + 1.0;
 60                      $$31 = $$12 < 0.0 ? $$9 + 1.0 : $$9;
 61                      $$32 = $$30 - $$13;
 62                      $$33 = $$31 + $$12;
 63                      break;
 64                   case CLOCKWISE_180:
 65                      $$30 = $$12 < 0.0 ? $$8 : $$8 + 1.0;
 66                      $$31 = $$13 < 0.0 ? $$9 : $$9 + 1.0;
 67                      $$32 = $$30 - $$12;
 68                      $$33 = $$31 - $$13;
 69                      break;
 70                   case COUNTERCLOCKWISE_90:
 71                      $$30 = $$13 < 0.0 ? $$8 + 1.0 : $$8;
 72                      $$31 = $$12 < 0.0 ? $$9 : $$9 + 1.0;
 73                      $$32 = $$30 + $$13;
 74                      $$33 = $$31 - $$12;
 75                      break;
 76                   default:
 77                      $$30 = $$12 < 0.0 ? $$8 + 1.0 : $$8;
 78                      $$31 = $$13 < 0.0 ? $$9 + 1.0 : $$9;
 79                      $$32 = $$30 + $$12;
 80                      $$33 = $$31 + $$13;
 81                }
 82 
 83                float $$34 = 1.0F;
 84                float $$35 = 0.9F;
 85                float $$36 = 0.5F;
 86                if ($$0.getMode() == StructureMode.SAVE || $$0.getShowBoundingBox()) {
 87                   VertexConsumer $$37 = $$3.getBuffer(RenderType.lines());
 88                   ShapeRenderer.renderLineBox($$2, $$37, $$30, $$10, $$31, $$32, $$11, $$33, 0.9F, 0.9F, 0.9F, 1.0F, 0.5F, 0.5F, 0.5F);
 89                }
 90 
 91                if ($$0.getMode() == StructureMode.SAVE && $$0.getShowAir()) {
 92                   this.renderInvisibleBlocks($$0, $$3, $$2);
 93                }
 94             }
 95          }
 96       }
 97    }
 98 
 99    private void renderInvisibleBlocks(StructureBlockEntity $$0, MultiBufferSource $$1, PoseStack $$2) {
100       BlockGetter $$3 = $$0.getLevel();
101       VertexConsumer $$4 = $$1.getBuffer(RenderType.lines());
102       BlockPos $$5 = $$0.getBlockPos();
103       BlockPos $$6 = StructureUtils.getStructureOrigin($$0);
104 
105       for (BlockPos $$7 : BlockPos.betweenClosed($$6, $$6.offset($$0.getStructureSize()).offset(-1, -1, -1))) {
106          BlockState $$8 = $$3.getBlockState($$7);
107          boolean $$9 = $$8.isAir();
108          boolean $$10 = $$8.is(Blocks.STRUCTURE_VOID);
109          boolean $$11 = $$8.is(Blocks.BARRIER);
110          boolean $$12 = $$8.is(Blocks.LIGHT);
111          boolean $$13 = $$10 || $$11 || $$12;
112          if ($$9 || $$13) {
113             float $$14 = $$9 ? 0.05F : 0.0F;
114             double $$15 = (double)((float)($$7.getX() - $$5.getX()) + 0.45F - $$14);
115             double $$16 = (double)((float)($$7.getY() - $$5.getY()) + 0.45F - $$14);
116             double $$17 = (double)((float)($$7.getZ() - $$5.getZ()) + 0.45F - $$14);
117             double $$18 = (double)((float)($$7.getX() - $$5.getX()) + 0.55F + $$14);
118             double $$19 = (double)((float)($$7.getY() - $$5.getY()) + 0.55F + $$14);
119             double $$20 = (double)((float)($$7.getZ() - $$5.getZ()) + 0.55F + $$14);
120             if ($$9) {
121                ShapeRenderer.renderLineBox($$2, $$4, $$15, $$16, $$17, $$18, $$19, $$20, 0.5F, 0.5F, 1.0F, 1.0F, 0.5F, 0.5F, 1.0F);
122             } else if ($$10) {
123                ShapeRenderer.renderLineBox($$2, $$4, $$15, $$16, $$17, $$18, $$19, $$20, 1.0F, 0.75F, 0.75F, 1.0F, 1.0F, 0.75F, 0.75F);
124             } else if ($$11) {
125                ShapeRenderer.renderLineBox($$2, $$4, $$15, $$16, $$17, $$18, $$19, $$20, 1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F);
126             } else if ($$12) {
127                ShapeRenderer.renderLineBox($$2, $$4, $$15, $$16, $$17, $$18, $$19, $$20, 1.0F, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F);
128             }
129          }
130       }
131    }
132 
133    private void renderStructureVoids(StructureBlockEntity $$0, VertexConsumer $$1, PoseStack $$2) {
134       BlockGetter $$3 = $$0.getLevel();
135       if ($$3 != null) {
136          BlockPos $$4 = $$0.getBlockPos();
137          BlockPos $$5 = StructureUtils.getStructureOrigin($$0);
138          Vec3i $$6 = $$0.getStructureSize();
139          DiscreteVoxelShape $$7 = new BitSetDiscreteVoxelShape($$6.getX(), $$6.getY(), $$6.getZ());
140 
141          for (BlockPos $$8 : BlockPos.betweenClosed($$5, $$5.offset($$6).offset(-1, -1, -1))) {
142             if ($$3.getBlockState($$8).is(Blocks.STRUCTURE_VOID)) {
143                $$7.fill($$8.getX() - $$5.getX(), $$8.getY() - $$5.getY(), $$8.getZ() - $$5.getZ());
144             }
145          }
146 
147          $$7.forAllFaces(($$4x, $$5x, $$6x, $$7x) -> {
148             float $$8x = 0.48F;
149             float $$9 = (float)($$5x + $$5.getX() - $$4.getX()) + 0.5F - 0.48F;
150             float $$10 = (float)($$6x + $$5.getY() - $$4.getY()) + 0.5F - 0.48F;
151             float $$11 = (float)($$7x + $$5.getZ() - $$4.getZ()) + 0.5F - 0.48F;
152             float $$12 = (float)($$5x + $$5.getX() - $$4.getX()) + 0.5F + 0.48F;
153             float $$13 = (float)($$6x + $$5.getY() - $$4.getY()) + 0.5F + 0.48F;
154             float $$14 = (float)($$7x + $$5.getZ() - $$4.getZ()) + 0.5F + 0.48F;
155             ShapeRenderer.renderFace($$2, $$1, $$4x, $$9, $$10, $$11, $$12, $$13, $$14, 0.75F, 0.75F, 1.0F, 0.2F);
156          });
157       }
158    }
159 
160    public boolean shouldRenderOffScreen(StructureBlockEntity $$0) {
161       return true;
162    }
163 
164    @Override
165    public int getViewDistance() {
166       return 96;
167    }
168 }
169 

net/minecraft/world/level/material/FluidState.java --- 1/2 --- Java
19 import net.minecraft.world.level.block.state.BlockState;                19 import net.minecraft.world.level.block.state.BlockState;
20 import net.minecraft.world.level.block.state.StateHolder;               20 import net.minecraft.world.level.block.state.StateHolder;
21 import net.minecraft.world.level.block.state.properties.Property;       21 import net.minecraft.world.level.block.state.properties.Property;
..                                                                         22 import net.minecraft.world.phys.AABB;
22 import net.minecraft.world.phys.Vec3;                                   23 import net.minecraft.world.phys.Vec3;
23 import net.minecraft.world.phys.shapes.VoxelShape;                      24 import net.minecraft.world.phys.shapes.VoxelShape;
24                                                                         25 

net/minecraft/world/level/material/FluidState.java --- 2/2 --- Java
126       return this.getType().getShape(this, $$0, $$1);                  127       return this.getType().getShape(this, $$0, $$1);
127    }                                                                   128    }
...                                                                        129 
...                                                                        130    @Nullable
...                                                                        131    public AABB getAABB(BlockGetter $$0, BlockPos $$1) {
...                                                                        132       return this.getType().getAABB(this, $$0, $$1);
...                                                                        133    }
128                                                                        134 
129    public Holder<Fluid> holder() {                                     135    public Holder<Fluid> holder() {
130       return this.owner.builtInRegistryHolder();                       136       return this.owner.builtInRegistryHolder();

net/minecraft/world/inventory/HorseInventoryMenu.java --- 1/4 --- Java
 8 import net.minecraft.world.entity.player.Inventory;                      8 import net.minecraft.world.entity.player.Inventory;
 9 import net.minecraft.world.entity.player.Player;                         9 import net.minecraft.world.entity.player.Player;
10 import net.minecraft.world.item.ItemStack;                              10 import net.minecraft.world.item.ItemStack;
11 import net.minecraft.world.item.Items;                                  .. 
12                                                                         11 
13 public class HorseInventoryMenu extends AbstractContainerMenu {         12 public class HorseInventoryMenu extends AbstractContainerMenu {
14    static final ResourceLocation SADDLE_SLOT_SPRITE = ResourceLocation. 13    private static final ResourceLocation SADDLE_SLOT_SPRITE = ResourceL
.. withDefaultNamespace("container/slot/saddle");                          .. ocation.withDefaultNamespace("container/slot/saddle");
15    private static final ResourceLocation LLAMA_ARMOR_SLOT_SPRITE = Reso 14    private static final ResourceLocation LLAMA_ARMOR_SLOT_SPRITE = Reso
.. urceLocation.withDefaultNamespace("container/slot/llama_armor");        .. urceLocation.withDefaultNamespace("container/slot/llama_armor");
16    private static final ResourceLocation ARMOR_SLOT_SPRITE = ResourceLo 15    private static final ResourceLocation ARMOR_SLOT_SPRITE = ResourceLo
.. cation.withDefaultNamespace("container/slot/horse_armor");              .. cation.withDefaultNamespace("container/slot/horse_armor");
17    private final Container horseContainer;                              16    private final Container horseContainer;
18    private final Container armorContainer;                              17    private final AbstractHorse horse;
19    private final AbstractHorse horse;                                   18    private static final int SLOT_SADDLE = 0;
20    private static final int SLOT_BODY_ARMOR = 1;                        19    private static final int SLOT_BODY_ARMOR = 1;
21    private static final int SLOT_HORSE_INVENTORY_START = 2;             20    private static final int SLOT_HORSE_INVENTORY_START = 2;
22                                                                         21 
23    public HorseInventoryMenu(int $$0, Inventory $$1, Container $$2, fin 22    public HorseInventoryMenu(int $$0, Inventory $$1, Container $$2, Abs
.. al AbstractHorse $$3, int $$4) {                                        .. tractHorse $$3, int $$4) {
24       super(null, $$0);                                                 23       super(null, $$0);
25       this.horseContainer = $$2;                                        24       this.horseContainer = $$2;
26       this.armorContainer = $$3.getBodyArmorAccess();                   .. 
27       this.horse = $$3;                                                 25       this.horse = $$3;
28       $$2.startOpen($$1.player);                                        26       $$2.startOpen($$1.player);
..                                                                         27       Container $$5 = $$3.createEquipmentSlotContainer(EquipmentSlot.BO
..                                                                         .. DY);
..                                                                         28       Container $$6 = $$3.createEquipmentSlotContainer(EquipmentSlot.SA
..                                                                         .. DDLE);
29       this.addSlot(new Slot($$2, 0, 8, 18) {                            29       this.addSlot(new ArmorSlot($$6, $$3, EquipmentSlot.SADDLE, 0, 8, 
..                                                                         .. 18, SADDLE_SLOT_SPRITE));
30          @Override                                                      .. 
31          public boolean mayPlace(ItemStack $$0) {                       .. 
32             return $$0.is(Items.SADDLE) && !this.hasItem() && $$3.isSad .. 
.. dleable();                                                              .. 
33          }                                                              .. 
34                                                                         .. 
35          @Override                                                      .. 
36          public boolean isActive() {                                    .. 
37             return $$3.isSaddleable();                                  .. 
38          }                                                              .. 
39                                                                         .. 
40          @Override                                                      .. 
41          public ResourceLocation getNoItemIcon() {                      .. 
42             return HorseInventoryMenu.SADDLE_SLOT_SPRITE;               .. 
43          }                                                              .. 
44       });                                                               .. 
45       ResourceLocation $$5 = $$3 instanceof Llama ? LLAMA_ARMOR_SLOT_SP 30       ResourceLocation $$7 = $$3 instanceof Llama ? LLAMA_ARMOR_SLOT_SP
.. RITE : ARMOR_SLOT_SPRITE;                                               .. RITE : ARMOR_SLOT_SPRITE;
46       this.addSlot(new ArmorSlot(this.armorContainer, $$3, EquipmentSlo 31       this.addSlot(new ArmorSlot($$5, $$3, EquipmentSlot.BODY, 0, 8, 36
.. t.BODY, 0, 8, 36, $$5) {                                                .. , $$7));
47          @Override                                                      .. 
48          public boolean mayPlace(ItemStack $$0) {                       .. 
49             return $$3.isEquippableInSlot($$0, EquipmentSlot.BODY);     .. 
50          }                                                              .. 
51                                                                         .. 
52          @Override                                                      .. 
53          public boolean isActive() {                                    .. 
54             return $$3.canUseSlot(EquipmentSlot.BODY);                  .. 
55          }                                                              .. 
56       });                                                               .. 
57       if ($$4 > 0) {                                                    32       if ($$4 > 0) {
58          for (int $$6 = 0; $$6 < 3; $$6++) {                            33          for (int $$8 = 0; $$8 < 3; $$8++) {
59             for (int $$7 = 0; $$7 < $$4; $$7++) {                       34             for (int $$9 = 0; $$9 < $$4; $$9++) {
60                this.addSlot(new Slot($$2, 1 + $$7 + $$6 * $$4, 80 + $$7 35                this.addSlot(new Slot($$2, $$9 + $$8 * $$4, 80 + $$9 * 1
..  * 18, 18 + $$6 * 18));                                                 .. 8, 18 + $$8 * 18));
61             }                                                           36             }
62          }                                                              37          }
63       }                                                                 38       }

net/minecraft/world/inventory/HorseInventoryMenu.java --- 2/4 --- Java
69    public boolean stillValid(Player $$0) {                              44    public boolean stillValid(Player $$0) {
70       return !this.horse.hasInventoryChanged(this.horseContainer)       45       return !this.horse.hasInventoryChanged(this.horseContainer)
71          && this.horseContainer.stillValid($$0)                         46          && this.horseContainer.stillValid($$0)
72          && this.armorContainer.stillValid($$0)                         .. 
73          && this.horse.isAlive()                                        47          && this.horse.isAlive()
74          && $$0.canInteractWithEntity(this.horse, 4.0);                 48          && $$0.canInteractWithEntity(this.horse, 4.0);
75    }                                                                    49    }

net/minecraft/world/inventory/HorseInventoryMenu.java --- 3/4 --- Java
81       if ($$3 != null && $$3.hasItem()) {                               55       if ($$3 != null && $$3.hasItem()) {
82          ItemStack $$4 = $$3.getItem();                                 56          ItemStack $$4 = $$3.getItem();
83          $$2 = $$4.copy();                                              57          $$2 = $$4.copy();
84          int $$5 = this.horseContainer.getContainerSize() + 1;          58          int $$5 = 2 + this.horseContainer.getContainerSize();
85          if ($$1 < $$5) {                                               59          if ($$1 < $$5) {
86             if (!this.moveItemStackTo($$4, $$5, this.slots.size(), true 60             if (!this.moveItemStackTo($$4, $$5, this.slots.size(), true
.. )) {                                                                    .. )) {
87                return ItemStack.EMPTY;                                  61                return ItemStack.EMPTY;

net/minecraft/world/inventory/HorseInventoryMenu.java --- 4/4 --- Java
 90             if (!this.moveItemStackTo($$4, 1, 2, false)) {             64             if (!this.moveItemStackTo($$4, 1, 2, false)) {
 91                return ItemStack.EMPTY;                                 65                return ItemStack.EMPTY;
 92             }                                                          66             }
 93          } else if (this.getSlot(0).mayPlace($$4)) {                   67          } else if (this.getSlot(0).mayPlace($$4) && !this.getSlot(0).
 ..                                                                        .. hasItem()) {
 94             if (!this.moveItemStackTo($$4, 0, 1, false)) {             68             if (!this.moveItemStackTo($$4, 0, 1, false)) {
 95                return ItemStack.EMPTY;                                 69                return ItemStack.EMPTY;
 96             }                                                          70             }
 97          } else if ($$5 <= 1 || !this.moveItemStackTo($$4, 2, $$5, fal 71          } else if (this.horseContainer.getContainerSize() == 0 || !th
 .. se)) {                                                                 .. is.moveItemStackTo($$4, 2, $$5, false)) {
 98             int $$7 = $$5 + 27;                                        72             int $$6 = $$5 + 27;
 99             int $$9 = $$7 + 9;                                         73             int $$8 = $$6 + 9;
100             if ($$1 >= $$7 && $$1 < $$9) {                             74             if ($$1 >= $$6 && $$1 < $$8) {
101                if (!this.moveItemStackTo($$4, $$5, $$7, false)) {      75                if (!this.moveItemStackTo($$4, $$5, $$6, false)) {
102                   return ItemStack.EMPTY;                              76                   return ItemStack.EMPTY;
103                }                                                       77                }
104             } else if ($$1 >= $$5 && $$1 < $$7) {                      78             } else if ($$1 >= $$5 && $$1 < $$6) {
105                if (!this.moveItemStackTo($$4, $$7, $$9, false)) {      79                if (!this.moveItemStackTo($$4, $$6, $$8, false)) {
106                   return ItemStack.EMPTY;                              80                   return ItemStack.EMPTY;
107                }                                                       81                }
108             } else if (!this.moveItemStackTo($$4, $$7, $$7, false)) {  82             } else if (!this.moveItemStackTo($$4, $$6, $$6, false)) {
109                return ItemStack.EMPTY;                                 83                return ItemStack.EMPTY;
110             }                                                          84             }
111                                                                        85 

net/minecraft/world/level/block/entity/EnchantingTableBlockEntity.java --- 1/2 --- Java
3 import javax.annotation.Nullable;                                        3 import javax.annotation.Nullable;
4 import net.minecraft.core.BlockPos;                                      4 import net.minecraft.core.BlockPos;
5 import net.minecraft.core.HolderLookup;                                  5 import net.minecraft.core.HolderLookup;
.                                                                          6 import net.minecraft.core.component.DataComponentGetter;
6 import net.minecraft.core.component.DataComponentMap;                    7 import net.minecraft.core.component.DataComponentMap;
7 import net.minecraft.core.component.DataComponents;                      8 import net.minecraft.core.component.DataComponents;
8 import net.minecraft.nbt.CompoundTag;                                    9 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/EnchantingTableBlockEntity.java --- 2/2 --- Java
125    }                                                                   126    }
126                                                                        127 
127    @Override                                                           128    @Override
128    protected void applyImplicitComponents(BlockEntity.DataComponentInp 129    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
129       super.applyImplicitComponents($$0);                              130       super.applyImplicitComponents($$0);
130       this.name = $$0.get(DataComponents.CUSTOM_NAME);                 131       this.name = $$0.get(DataComponents.CUSTOM_NAME);
131    }                                                                   132    }

net/minecraft/world/level/levelgen/feature/EndPodiumFeature.java --- 1/3 --- Java
3 import net.minecraft.core.BlockPos;                                      3 import net.minecraft.core.BlockPos;
4 import net.minecraft.core.Direction;                                     4 import net.minecraft.core.Direction;
5 import net.minecraft.world.level.WorldGenLevel;                          5 import net.minecraft.world.level.WorldGenLevel;
.                                                                          6 import net.minecraft.world.level.block.Block;
6 import net.minecraft.world.level.block.Blocks;                           7 import net.minecraft.world.level.block.Blocks;
7 import net.minecraft.world.level.block.WallTorchBlock;                   8 import net.minecraft.world.level.block.WallTorchBlock;
8 import net.minecraft.world.level.levelgen.feature.configurations.NoneFea 9 import net.minecraft.world.level.levelgen.feature.configurations.NoneFea
  tureConfiguration;                                                         tureConfiguration;

net/minecraft/world/level/levelgen/feature/EndPodiumFeature.java --- 2/3 --- Java
38                if ($$4) {                                               39                if ($$4) {
39                   this.setBlock($$2, $$3, Blocks.BEDROCK.defaultBlockSt 40                   this.setBlock($$2, $$3, Blocks.BEDROCK.defaultBlockSt
.. ate());                                                                 .. ate());
40                } else if ($$3.getY() < $$1.getY()) {                    41                } else if ($$3.getY() < $$1.getY()) {
..                                                                         42                   if (this.active) {
..                                                                         43                      this.dropPreviousAndSetBlock($$2, $$3, Blocks.END_
..                                                                         .. STONE);
..                                                                         44                   } else {
41                   this.setBlock($$2, $$3, Blocks.END_STONE.defaultBlock 45                      this.setBlock($$2, $$3, Blocks.END_STONE.defaultBl
.. State());                                                               .. ockState());
42                }                                                        46                   }
..                                                                         47                }
43             } else if ($$3.getY() > $$1.getY()) {                       48             } else if ($$3.getY() > $$1.getY()) {
..                                                                         49                if (this.active) {
..                                                                         50                   this.dropPreviousAndSetBlock($$2, $$3, Blocks.AIR);
..                                                                         51                } else {
44                this.setBlock($$2, $$3, Blocks.AIR.defaultBlockState()); 52                   this.setBlock($$2, $$3, Blocks.AIR.defaultBlockState(
..                                                                         .. ));
45             } else if (!$$4) {                                          53                }
..                                                                         54             } else if (!$$4) {
46                this.setBlock($$2, $$3, Blocks.BEDROCK.defaultBlockState 55                this.setBlock($$2, $$3, Blocks.BEDROCK.defaultBlockState
.. ());                                                                    .. ());
47             } else if (this.active) {                                   56             } else if (this.active) {
48                this.setBlock($$2, new BlockPos($$3), Blocks.END_PORTAL. 57                this.dropPreviousAndSetBlock($$2, new BlockPos($$3), Blo
.. defaultBlockState());                                                   .. cks.END_PORTAL);
49             } else {                                                    58             } else {
50                this.setBlock($$2, new BlockPos($$3), Blocks.AIR.default 59                this.setBlock($$2, new BlockPos($$3), Blocks.AIR.default
.. BlockState());                                                          .. BlockState());
51             }                                                           60             }

net/minecraft/world/level/levelgen/feature/EndPodiumFeature.java --- 3/3 --- Java
65       return true;                                                      74       return true;
66    }                                                                    75    }
..                                                                         76 
..                                                                         77    private void dropPreviousAndSetBlock(WorldGenLevel $$0, BlockPos $$1
..                                                                         .. , Block $$2) {
..                                                                         78       if (!$$0.getBlockState($$1).is($$2)) {
..                                                                         79          $$0.destroyBlock($$1, true, null);
..                                                                         80          this.setBlock($$0, $$1, $$2.defaultBlockState());
..                                                                         81       }
..                                                                         82    }
67 }                                                                       83 }

net/minecraft/world/level/NaturalSpawner.java --- 1/3 --- Java
180                            return;                                     180                            return;
181                         }                                              181                         }
182                                                                        182 
183                         $$26.moveTo($$21, (double)$$8, $$22, $$1.rando 183                         $$26.snapTo($$21, (double)$$8, $$22, $$1.rando
... m.nextFloat() * 360.0F, 0.0F);                                         ... m.nextFloat() * 360.0F, 0.0F);
184                         if (isValidPositionForMob($$1, $$26, $$24)) {  184                         if (isValidPositionForMob($$1, $$26, $$24)) {
185                            $$17 = $$26.finalizeSpawn($$1, $$1.getCurre 185                            $$17 = $$26.finalizeSpawn($$1, $$1.getCurre
... ntDifficultyAt($$26.blockPosition()), EntitySpawnReason.NATURAL, $$17) ... ntDifficultyAt($$26.blockPosition()), EntitySpawnReason.NATURAL, $$17)
... ;                                                                      ... ;
186                            $$11++;                                     186                            $$11++;

net/minecraft/world/level/NaturalSpawner.java --- 2/3 --- Java
266    private static boolean canSpawnMobAt(                               266    private static boolean canSpawnMobAt(
267       ServerLevel $$0, StructureManager $$1, ChunkGenerator $$2, MobCa 267       ServerLevel $$0, StructureManager $$1, ChunkGenerator $$2, MobCa
... tegory $$3, MobSpawnSettings.SpawnerData $$4, BlockPos $$5             ... tegory $$3, MobSpawnSettings.SpawnerData $$4, BlockPos $$5
268    ) {                                                                 268    ) {
269       return mobsAt($$0, $$1, $$2, $$3, $$5, null).unwrap().contains($ 269       return mobsAt($$0, $$1, $$2, $$3, $$5, null).contains($$4);
... $4);                                                                   ... 
270    }                                                                   270    }
271                                                                        271 
272    private static WeightedList<MobSpawnSettings.SpawnerData> mobsAt(   272    private static WeightedList<MobSpawnSettings.SpawnerData> mobsAt(

net/minecraft/world/level/NaturalSpawner.java --- 3/3 --- Java
353                            continue;                                   353                            continue;
354                         }                                              354                         }
355                                                                        355 
356                         $$23.moveTo($$21, (double)$$19.getY(), $$22, $ 356                         $$23.snapTo($$21, (double)$$19.getY(), $$22, $
... $3.nextFloat() * 360.0F, 0.0F);                                        ... $3.nextFloat() * 360.0F, 0.0F);
357                         if ($$23 instanceof Mob $$26 && $$26.checkSpaw 357                         if ($$23 instanceof Mob $$26 && $$26.checkSpaw
... nRules($$0, EntitySpawnReason.CHUNK_GENERATION) && $$26.checkSpawnObst ... nRules($$0, EntitySpawnReason.CHUNK_GENERATION) && $$26.checkSpawnObst
... ruction($$0)) {                                                        ... ruction($$0)) {
358                            $$11 = $$26.finalizeSpawn($$0, $$0.getCurre 358                            $$11 = $$26.finalizeSpawn($$0, $$0.getCurre
... ntDifficultyAt($$26.blockPosition()), EntitySpawnReason.CHUNK_GENERATI ... ntDifficultyAt($$26.blockPosition()), EntitySpawnReason.CHUNK_GENERATI
... ON, $$11);                                                             ... ON, $$11);
359                            $$0.addFreshEntityWithPassengers($$26);     359                            $$0.addFreshEntityWithPassengers($$26);

net/minecraft/world/entity/vehicle/MinecartTNT.java --- 1/5 --- Java
31    private static final String TAG_FUSE = "fuse";                       31    private static final String TAG_FUSE = "fuse";
32    private static final float DEFAULT_EXPLOSION_POWER_BASE = 4.0F;      32    private static final float DEFAULT_EXPLOSION_POWER_BASE = 4.0F;
33    private static final float DEFAULT_EXPLOSION_SPEED_FACTOR = 1.0F;    33    private static final float DEFAULT_EXPLOSION_SPEED_FACTOR = 1.0F;
..                                                                         34    @Nullable
..                                                                         35    private DamageSource ignitionSource;
34    private int fuse = -1;                                               36    private int fuse = -1;
35    private float explosionPowerBase = 4.0F;                             37    private float explosionPowerBase = 4.0F;
36    private float explosionSpeedFactor = 1.0F;                           38    private float explosionSpeedFactor = 1.0F;

net/minecraft/world/entity/vehicle/MinecartTNT.java --- 2/5 --- Java
51          this.fuse--;                                                   53          this.fuse--;
52          this.level().addParticle(ParticleTypes.SMOKE, this.getX(), thi 54          this.level().addParticle(ParticleTypes.SMOKE, this.getX(), thi
.. s.getY() + 0.5, this.getZ(), 0.0, 0.0, 0.0);                            .. s.getY() + 0.5, this.getZ(), 0.0, 0.0, 0.0);
53       } else if (this.fuse == 0) {                                      55       } else if (this.fuse == 0) {
54          this.explode(this.getDeltaMovement().horizontalDistanceSqr()); 56          this.explode(this.ignitionSource, this.getDeltaMovement().hori
..                                                                         .. zontalDistanceSqr());
55       }                                                                 57       }
56                                                                         58 
57       if (this.horizontalCollision) {                                   59       if (this.horizontalCollision) {

net/minecraft/world/entity/vehicle/MinecartTNT.java --- 3/5 --- Java
79          this.destroy($$0, this.getDropItem());                         81          this.destroy($$0, this.getDropItem());
80       } else {                                                          82       } else {
81          if (this.fuse < 0) {                                           83          if (this.fuse < 0) {
82             this.primeFuse();                                           84             this.primeFuse($$1);
83             this.fuse = this.random.nextInt(20) + this.random.nextInt(2 85             this.fuse = this.random.nextInt(20) + this.random.nextInt(2
.. 0);                                                                     .. 0);
84          }                                                              86          }
85       }                                                                 87       }

net/minecraft/world/entity/vehicle/MinecartTNT.java --- 4/5 --- Java
118    }                                                                   120    }
119                                                                        121 
120    @Override                                                           122    @Override
121    public boolean causeFallDamage(float $$0, float $$1, DamageSource $ 123    public boolean causeFallDamage(double $$0, float $$1, DamageSource 
... $2) {                                                                  ... $$2) {
122       if ($$0 >= 3.0F) {                                               124       if ($$0 >= 3.0) {
123          float $$3 = $$0 / 10.0F;                                      125          double $$3 = $$0 / 10.0;
124          this.explode((double)($$3 * $$3));                            126          this.explode($$3 * $$3);
125       }                                                                127       }
126                                                                        128 
127       return super.causeFallDamage($$0, $$1, $$2);                     129       return super.causeFallDamage($$0, $$1, $$2);

net/minecraft/world/entity/vehicle/MinecartTNT.java --- 5/5 --- Java
130    @Override                                                           132    @Override
131    public void activateMinecart(int $$0, int $$1, int $$2, boolean $$3 133    public void activateMinecart(int $$0, int $$1, int $$2, boolean $$3
... ) {                                                                    ... ) {
132       if ($$3 && this.fuse < 0) {                                      134       if ($$3 && this.fuse < 0) {
133          this.primeFuse();                                             135          this.primeFuse(null);
134       }                                                                136       }
135    }                                                                   137    }
136                                                                        138 
137    @Override                                                           139    @Override
138    public void handleEntityEvent(byte $$0) {                           140    public void handleEntityEvent(byte $$0) {
139       if ($$0 == 10) {                                                 141       if ($$0 == 10) {
140          this.primeFuse();                                             142          this.primeFuse(null);
141       } else {                                                         143       } else {
142          super.handleEntityEvent($$0);                                 144          super.handleEntityEvent($$0);
143       }                                                                145       }
144    }                                                                   146    }
145                                                                        147 
146    public void primeFuse() {                                           148    public void primeFuse(@Nullable DamageSource $$0) {
147       this.fuse = 80;                                                  149       this.fuse = 80;
148       if (!this.level().isClientSide) {                                150       if (!this.level().isClientSide) {
...                                                                        151          if ($$0 != null && this.ignitionSource == null) {
...                                                                        152             this.ignitionSource = this.damageSources().explosion(this,
...                                                                        ...  $$0.getEntity());
...                                                                        153          }
...                                                                        154 
149          this.level().broadcastEntityEvent(this, (byte)10);            155          this.level().broadcastEntityEvent(this, (byte)10);
150          if (!this.isSilent()) {                                       156          if (!this.isSilent()) {

net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.java --- Java
204                   }                                                    204                   }
205                                                                        205 
206                   Entity $$14 = EntityType.loadEntityRecursive($$4, $$ 206                   Entity $$14 = EntityType.loadEntityRecursive($$4, $$
... 0, EntitySpawnReason.TRIAL_SPAWNER, $$4x -> {                          ... 0, EntitySpawnReason.TRIAL_SPAWNER, $$4x -> {
207                      $$4x.moveTo($$8, $$9, $$10, $$2.nextFloat() * 360 207                      $$4x.snapTo($$8, $$9, $$10, $$2.nextFloat() * 360
... .0F, 0.0F);                                                            ... .0F, 0.0F);
208                      return $$4x;                                      208                      return $$4x;
209                   });                                                  209                   });
210                   if ($$14 == null) {                                  210                   if ($$14 == null) {

net/minecraft/client/renderer/blockentity/BlockEntityWithBoundingBoxRenderer.java --- Java
  1 package net.minecraft.client.renderer.blockentity;
  2 
  3 import com.mojang.blaze3d.vertex.PoseStack;
  4 import com.mojang.blaze3d.vertex.VertexConsumer;
  5 import net.fabricmc.api.EnvType;
  6 import net.fabricmc.api.Environment;
  7 import net.minecraft.client.Minecraft;
  8 import net.minecraft.client.renderer.MultiBufferSource;
  9 import net.minecraft.client.renderer.RenderType;
 10 import net.minecraft.client.renderer.ShapeRenderer;
 11 import net.minecraft.core.BlockPos;
 12 import net.minecraft.core.Vec3i;
 13 import net.minecraft.world.level.BlockGetter;
 14 import net.minecraft.world.level.block.Blocks;
 15 import net.minecraft.world.level.block.entity.BlockEntity;
 16 import net.minecraft.world.level.block.entity.BoundingBoxRenderable;
 17 import net.minecraft.world.level.block.state.BlockState;
 18 import net.minecraft.world.phys.shapes.BitSetDiscreteVoxelShape;
 19 import net.minecraft.world.phys.shapes.DiscreteVoxelShape;
 20 
 21 @Environment(EnvType.CLIENT)
 22 public class BlockEntityWithBoundingBoxRenderer<T extends BlockEntity & BoundingBoxRenderable> implements BlockEntityRenderer<T> {
 23    public BlockEntityWithBoundingBoxRenderer(BlockEntityRendererProvider.Context $$0) {
 24    }
 25 
 26    @Override
 27    public void render(T $$0, float $$1, PoseStack $$2, MultiBufferSource $$3, int $$4, int $$5) {
 28       if (Minecraft.getInstance().player.canUseGameMasterBlocks() || Minecraft.getInstance().player.isSpectator()) {
 29          BoundingBoxRenderable.Mode $$6 = $$0.renderMode();
 30          if ($$6 != BoundingBoxRenderable.Mode.NONE) {
 31             BoundingBoxRenderable.RenderableBox $$7 = $$0.getRenderableBox();
 32             BlockPos $$8 = $$7.localPos();
 33             Vec3i $$9 = $$7.size();
 34             if ($$9.getX() >= 1 && $$9.getY() >= 1 && $$9.getZ() >= 1) {
 35                float $$10 = 1.0F;
 36                float $$11 = 0.9F;
 37                float $$12 = 0.5F;
 38                VertexConsumer $$13 = $$3.getBuffer(RenderType.lines());
 39                BlockPos $$14 = $$8.offset($$9);
 40                ShapeRenderer.renderLineBox(
 41                   $$2,
 42                   $$13,
 43                   (double)$$8.getX(),
 44                   (double)$$8.getY(),
 45                   (double)$$8.getZ(),
 46                   (double)$$14.getX(),
 47                   (double)$$14.getY(),
 48                   (double)$$14.getZ(),
 49                   0.9F,
 50                   0.9F,
 51                   0.9F,
 52                   1.0F,
 53                   0.5F,
 54                   0.5F,
 55                   0.5F
 56                );
 57                if ($$6 == BoundingBoxRenderable.Mode.BOX_AND_INVISIBLE_BLOCKS && $$0.getLevel() != null) {
 58                   this.renderInvisibleBlocks($$0, $$0.getLevel(), $$8, $$9, $$3, $$2);
 59                }
 60             }
 61          }
 62       }
 63    }
 64 
 65    private void renderInvisibleBlocks(T $$0, BlockGetter $$1, BlockPos $$2, Vec3i $$3, MultiBufferSource $$4, PoseStack $$5) {
 66       VertexConsumer $$6 = $$4.getBuffer(RenderType.lines());
 67       BlockPos $$7 = $$0.getBlockPos();
 68       BlockPos $$8 = $$7.offset($$2);
 69 
 70       for (BlockPos $$9 : BlockPos.betweenClosed($$8, $$8.offset($$3).offset(-1, -1, -1))) {
 71          BlockState $$10 = $$1.getBlockState($$9);
 72          boolean $$11 = $$10.isAir();
 73          boolean $$12 = $$10.is(Blocks.STRUCTURE_VOID);
 74          boolean $$13 = $$10.is(Blocks.BARRIER);
 75          boolean $$14 = $$10.is(Blocks.LIGHT);
 76          boolean $$15 = $$12 || $$13 || $$14;
 77          if ($$11 || $$15) {
 78             float $$16 = $$11 ? 0.05F : 0.0F;
 79             double $$17 = (double)((float)($$9.getX() - $$7.getX()) + 0.45F - $$16);
 80             double $$18 = (double)((float)($$9.getY() - $$7.getY()) + 0.45F - $$16);
 81             double $$19 = (double)((float)($$9.getZ() - $$7.getZ()) + 0.45F - $$16);
 82             double $$20 = (double)((float)($$9.getX() - $$7.getX()) + 0.55F + $$16);
 83             double $$21 = (double)((float)($$9.getY() - $$7.getY()) + 0.55F + $$16);
 84             double $$22 = (double)((float)($$9.getZ() - $$7.getZ()) + 0.55F + $$16);
 85             if ($$11) {
 86                ShapeRenderer.renderLineBox($$5, $$6, $$17, $$18, $$19, $$20, $$21, $$22, 0.5F, 0.5F, 1.0F, 1.0F, 0.5F, 0.5F, 1.0F);
 87             } else if ($$12) {
 88                ShapeRenderer.renderLineBox($$5, $$6, $$17, $$18, $$19, $$20, $$21, $$22, 1.0F, 0.75F, 0.75F, 1.0F, 1.0F, 0.75F, 0.75F);
 89             } else if ($$13) {
 90                ShapeRenderer.renderLineBox($$5, $$6, $$17, $$18, $$19, $$20, $$21, $$22, 1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F);
 91             } else if ($$14) {
 92                ShapeRenderer.renderLineBox($$5, $$6, $$17, $$18, $$19, $$20, $$21, $$22, 1.0F, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F);
 93             }
 94          }
 95       }
 96    }
 97 
 98    private void renderStructureVoids(T $$0, BlockPos $$1, Vec3i $$2, VertexConsumer $$3, PoseStack $$4) {
 99       BlockGetter $$5 = $$0.getLevel();
100       if ($$5 != null) {
101          BlockPos $$6 = $$0.getBlockPos();
102          DiscreteVoxelShape $$7 = new BitSetDiscreteVoxelShape($$2.getX(), $$2.getY(), $$2.getZ());
103 
104          for (BlockPos $$8 : BlockPos.betweenClosed($$1, $$1.offset($$2).offset(-1, -1, -1))) {
105             if ($$5.getBlockState($$8).is(Blocks.STRUCTURE_VOID)) {
106                $$7.fill($$8.getX() - $$1.getX(), $$8.getY() - $$1.getY(), $$8.getZ() - $$1.getZ());
107             }
108          }
109 
110          $$7.forAllFaces(($$4x, $$5x, $$6x, $$7x) -> {
111             float $$8x = 0.48F;
112             float $$9 = (float)($$5x + $$1.getX() - $$6.getX()) + 0.5F - 0.48F;
113             float $$10 = (float)($$6x + $$1.getY() - $$6.getY()) + 0.5F - 0.48F;
114             float $$11 = (float)($$7x + $$1.getZ() - $$6.getZ()) + 0.5F - 0.48F;
115             float $$12 = (float)($$5x + $$1.getX() - $$6.getX()) + 0.5F + 0.48F;
116             float $$13 = (float)($$6x + $$1.getY() - $$6.getY()) + 0.5F + 0.48F;
117             float $$14 = (float)($$7x + $$1.getZ() - $$6.getZ()) + 0.5F + 0.48F;
118             ShapeRenderer.renderFace($$4, $$3, $$4x, $$9, $$10, $$11, $$12, $$13, $$14, 0.75F, 0.75F, 1.0F, 0.2F);
119          });
120       }
121    }
122 
123    @Override
124    public boolean shouldRenderOffScreen(T $$0) {
125       return true;
126    }
127 
128    @Override
129    public int getViewDistance() {
130       return 96;
131    }
132 }
133 

net/minecraft/util/datafix/schemas/V2568.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:piglin_brute", () -> V100.equipment( 16       $$0.registerSimple($$1, "minecraft:piglin_brute");
.. $$0));                                                                  .. 
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/client/renderer/entity/HorseRenderer.java --- 1/2 --- Java
 4 import java.util.Map;                                                    4 import java.util.Map;
 5 import net.fabricmc.api.EnvType;                                         5 import net.fabricmc.api.EnvType;
 6 import net.fabricmc.api.Environment;                                     6 import net.fabricmc.api.Environment;
 .                                                                          7 import net.minecraft.client.model.EquineSaddleModel;
 7 import net.minecraft.client.model.HorseModel;                            8 import net.minecraft.client.model.HorseModel;
 8 import net.minecraft.client.model.geom.ModelLayers;                      9 import net.minecraft.client.model.geom.ModelLayers;
 9 import net.minecraft.client.renderer.entity.layers.HorseArmorLayer;      . 
10 import net.minecraft.client.renderer.entity.layers.HorseMarkingLayer;   10 import net.minecraft.client.renderer.entity.layers.HorseMarkingLayer;
..                                                                         11 import net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer
..                                                                         .. ;
11 import net.minecraft.client.renderer.entity.state.HorseRenderState;     12 import net.minecraft.client.renderer.entity.state.HorseRenderState;
..                                                                         13 import net.minecraft.client.resources.model.EquipmentClientInfo;
12 import net.minecraft.resources.ResourceLocation;                        14 import net.minecraft.resources.ResourceLocation;
13 import net.minecraft.world.entity.animal.horse.Horse;                   15 import net.minecraft.world.entity.animal.horse.Horse;
14 import net.minecraft.world.entity.animal.horse.Variant;                 16 import net.minecraft.world.entity.animal.horse.Variant;

net/minecraft/client/renderer/entity/HorseRenderer.java --- 2/2 --- Java
37    public HorseRenderer(EntityRendererProvider.Context $$0) {           39    public HorseRenderer(EntityRendererProvider.Context $$0) {
38       super($$0, new HorseModel($$0.bakeLayer(ModelLayers.HORSE)), new  40       super($$0, new HorseModel($$0.bakeLayer(ModelLayers.HORSE)), new 
.. HorseModel($$0.bakeLayer(ModelLayers.HORSE_BABY)));                     .. HorseModel($$0.bakeLayer(ModelLayers.HORSE_BABY)));
39       this.addLayer(new HorseMarkingLayer(this));                       41       this.addLayer(new HorseMarkingLayer(this));
40       this.addLayer(new HorseArmorLayer(this, $$0.getModelSet(), $$0.ge 42       this.addLayer(
.. tEquipmentRenderer()));                                                 .. 
..                                                                         43          new SimpleEquipmentLayer<>(
..                                                                         44             this,
..                                                                         45             $$0.getEquipmentRenderer(),
..                                                                         46             EquipmentClientInfo.LayerType.HORSE_BODY,
..                                                                         47             $$0x -> $$0x.bodyArmorItem,
..                                                                         48             new HorseModel($$0.bakeLayer(ModelLayers.HORSE_ARMOR)),
..                                                                         49             new HorseModel($$0.bakeLayer(ModelLayers.HORSE_BABY_ARMOR))
..                                                                         50          )
..                                                                         51       );
..                                                                         52       this.addLayer(
..                                                                         53          new SimpleEquipmentLayer<>(
..                                                                         54             this,
..                                                                         55             $$0.getEquipmentRenderer(),
..                                                                         56             EquipmentClientInfo.LayerType.HORSE_SADDLE,
..                                                                         57             $$0x -> $$0x.saddle,
..                                                                         58             new EquineSaddleModel($$0.bakeLayer(ModelLayers.HORSE_SADDL
..                                                                         .. E)),
..                                                                         59             new EquineSaddleModel($$0.bakeLayer(ModelLayers.HORSE_BABY_
..                                                                         .. SADDLE))
..                                                                         60          )
..                                                                         61       );
41    }                                                                    62    }
42                                                                         63 
43    public ResourceLocation getTextureLocation(HorseRenderState $$0) {   64    public ResourceLocation getTextureLocation(HorseRenderState $$0) {

net/minecraft/util/datafix/schemas/V4292.java --- Java
31                      DSL.string(),                                      31                      DSL.string(),
32                      Map.of(                                            32                      Map.of(
33                         "show_text",                                    33                         "show_text",
34                         DSL.optionalFields("text", References.TEXT_COMP 34                         DSL.optionalFields("value", References.TEXT_COM
.. ONENT.in($$0)),                                                         .. PONENT.in($$0)),
35                         "show_item",                                    35                         "show_item",
36                         References.ITEM_STACK.in($$0),                  36                         References.ITEM_STACK.in($$0),
37                         "show_entity",                                  37                         "show_entity",

net/minecraft/world/level/dimension/end/EndDragonFight.java --- Java
428          $$0.setDragonFight(this);                                     428          $$0.setDragonFight(this);
429          $$0.setFightOrigin(this.origin);                              429          $$0.setFightOrigin(this.origin);
430          $$0.getPhaseManager().setPhase(EnderDragonPhase.HOLDING_PATTE 430          $$0.getPhaseManager().setPhase(EnderDragonPhase.HOLDING_PATTE
... RN);                                                                   ... RN);
431          $$0.moveTo((double)this.origin.getX(), (double)(128 + this.or 431          $$0.snapTo((double)this.origin.getX(), (double)(128 + this.or
... igin.getY()), (double)this.origin.getZ(), this.level.random.nextFloat( ... igin.getY()), (double)this.origin.getZ(), this.level.random.nextFloat(
... ) * 360.0F, 0.0F);                                                     ... ) * 360.0F, 0.0F);
432          this.level.addFreshEntity($$0);                               432          this.level.addFreshEntity($$0);
433          this.dragonUUID = $$0.getUUID();                              433          this.dragonUUID = $$0.getUUID();
434       }                                                                434       }

net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerState.java --- Java
154          if (this.timeToSpawnItemSpawner($$0, $$3)) {                  154          if (this.timeToSpawnItemSpawner($$0, $$3)) {
155             calculatePositionToSpawnSpawner($$0, $$1, $$2, $$3).ifPres 155             calculatePositionToSpawnSpawner($$0, $$1, $$2, $$3).ifPres
... ent($$4x -> {                                                          ... ent($$4x -> {
156                OminousItemSpawner $$5x = OminousItemSpawner.create($$0 156                OminousItemSpawner $$5x = OminousItemSpawner.create($$0
... , $$5);                                                                ... , $$5);
157                $$5x.moveTo($$4x);                                      157                $$5x.snapTo($$4x);
158                $$0.addFreshEntity($$5x);                               158                $$0.addFreshEntity($$5x);
159                float $$6 = ($$0.getRandom().nextFloat() - $$0.getRando 159                float $$6 = ($$0.getRandom().nextFloat() - $$0.getRando
... m().nextFloat()) * 0.2F + 1.0F;                                        ... m().nextFloat()) * 0.2F + 1.0F;
160                $$0.playSound(null, BlockPos.containing($$4x), SoundEve 160                $$0.playSound(null, BlockPos.containing($$4x), SoundEve
    nts.TRIAL_SPAWNER_SPAWN_ITEM_BEGIN, SoundSource.BLOCKS, 1.0F, $$6);        nts.TRIAL_SPAWNER_SPAWN_ITEM_BEGIN, SoundSource.BLOCKS, 1.0F, $$6);

net/minecraft/util/datafix/schemas/V1928.java --- Java
11    }                                                                    11    }
12                                                                         12 
13    protected static void registerMob(Schema $$0, Map<String, Supplier<T 13    protected static void registerMob(Schema $$0, Map<String, Supplier<T
.. ypeTemplate>> $$1, String $$2) {                                        .. ypeTemplate>> $$1, String $$2) {
14       $$0.register($$1, $$2, () -> V100.equipment($$0));                14       $$0.registerSimple($$1, $$2);
15    }                                                                    15    }
16                                                                         16 
17    @Override                                                            17    @Override

net/minecraft/world/entity/vehicle/AbstractMinecart.java --- Java
269       this.updateInWaterStateAndDoFluidPushing();                      269       this.updateInWaterStateAndDoFluidPushing();
270       if (this.isInLava()) {                                           270       if (this.isInLava()) {
271          this.lavaHurt();                                              271          this.lavaHurt();
272          this.fallDistance *= 0.5F;                                    272          this.fallDistance *= 0.5;
273       }                                                                273       }
274                                                                        274 
275       this.firstTick = false;                                          275       this.firstTick = false;

net/minecraft/util/datafix/fixes/EquipmentFormatFix.java --- Java
  1 package net.minecraft.util.datafix.fixes;
  2 
  3 import com.mojang.datafixers.DSL;
  4 import com.mojang.datafixers.DataFix;
  5 import com.mojang.datafixers.OpticFinder;
  6 import com.mojang.datafixers.TypeRewriteRule;
  7 import com.mojang.datafixers.Typed;
  8 import com.mojang.datafixers.schemas.Schema;
  9 import com.mojang.datafixers.types.Type;
 10 import com.mojang.datafixers.util.Either;
 11 import com.mojang.datafixers.util.Pair;
 12 import com.mojang.datafixers.util.Unit;
 13 import com.mojang.serialization.Dynamic;
 14 import java.util.List;
 15 import java.util.function.Function;
 16 import java.util.function.Predicate;
 17 
 18 public class EquipmentFormatFix extends DataFix {
 19    public EquipmentFormatFix(Schema $$0) {
 20       super($$0, true);
 21    }
 22 
 23    @Override
 24    protected TypeRewriteRule makeRule() {
 25       Type<?> $$0 = this.getInputSchema().getTypeRaw(References.ITEM_STACK);
 26       Type<?> $$1 = this.getOutputSchema().getTypeRaw(References.ITEM_STACK);
 27       OpticFinder<?> $$2 = $$0.findField("id");
 28       return this.fix($$0, $$1, $$2);
 29    }
 30 
 31    private <ItemStackOld, ItemStackNew> TypeRewriteRule fix(Type<ItemStackOld> $$0, Type<ItemStackNew> $$1, OpticFinder<?> $$2) {
 32       Type<Pair<String, Pair<Either<List<ItemStackOld>, Unit>, Pair<Either<List<ItemStackOld>, Unit>, Pair<Either<ItemStackOld, Unit>, Either<ItemStackOld, Unit>>>>>> $$3 = DSL.named(
 33          References.ENTITY_EQUIPMENT.typeName(),
 34          DSL.and(
 35             DSL.optional(DSL.field("ArmorItems", DSL.list($$0))),
 36             DSL.optional(DSL.field("HandItems", DSL.list($$0))),
 37             DSL.optional(DSL.field("body_armor_item", $$0)),
 38             DSL.optional(DSL.field("saddle", $$0))
 39          )
 40       );
 41       Type<Pair<String, Either<Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Pair<Either<ItemStackNew, Unit>, Dynamic<?>>>>>>>>>, Unit>>> $$4 = DSL.named(
 42          References.ENTITY_EQUIPMENT.typeName(),
 43          DSL.optional(
 44             DSL.field(
 45                "equipment",
 46                DSL.and(
 47                   DSL.optional(DSL.field("mainhand", $$1)),
 48                   DSL.optional(DSL.field("offhand", $$1)),
 49                   DSL.optional(DSL.field("feet", $$1)),
 50                   DSL.and(
 51                      DSL.optional(DSL.field("legs", $$1)),
 52                      DSL.optional(DSL.field("chest", $$1)),
 53                      DSL.optional(DSL.field("head", $$1)),
 54                      DSL.and(DSL.optional(DSL.field("body", $$1)), DSL.optional(DSL.field("saddle", $$1)), DSL.remainderType())
 55                   )
 56                )
 57             )
 58          )
 59       );
 60       if (!$$3.equals(this.getInputSchema().getType(References.ENTITY_EQUIPMENT))) {
 61          throw new IllegalStateException("Input entity_equipment type does not match expected");
 62       } else if (!$$4.equals(this.getOutputSchema().getType(References.ENTITY_EQUIPMENT))) {
 63          throw new IllegalStateException("Output entity_equipment type does not match expected");
 64       } else {
 65          return this.fixTypeEverywhere(
 66             "EquipmentFormatFix",
 67             $$3,
 68             $$4,
 69             $$2x -> {
 70                Predicate<ItemStackOld> $$3x = $$3xx -> {
 71                   Typed<ItemStackOld> $$4x = new Typed<>($$0, $$2x, (ItemStackOld)$$3xx);
 72                   return $$4x.getOptional($$2).isEmpty();
 73                };
 74                return $$2xx -> {
 75                   String $$3xx = (String)$$2xx.getFirst();
 76                   Pair<Either<List<ItemStackOld>, Unit>, Pair<Either<List<ItemStackOld>, Unit>, Pair<Either<ItemStackOld, Unit>, Either<ItemStackOld, Unit>>>> $$4x = (Pair<Either<List<ItemStackOld>, Unit>, Pair<Either<List<ItemStackOld>, Unit>, Pair<Either<ItemStackOld, Unit>, Either<ItemStackOld, Unit>>>>)$$2xx.getSecond();
 77                   List<ItemStackOld> $$5 = $$4x.getFirst().map(Function.identity(), $$0xxx -> List.of());
 78                   List<ItemStackOld> $$6 = $$4x.getSecond().getFirst().map(Function.identity(), $$0xxx -> List.of());
 79                   Either<ItemStackOld, Unit> $$7 = $$4x.getSecond().getSecond().getFirst();
 80                   Either<ItemStackOld, Unit> $$8 = $$4x.getSecond().getSecond().getSecond();
 81                   Either<ItemStackOld, Unit> $$9 = getItemFromList(0, $$5, $$3x);
 82                   Either<ItemStackOld, Unit> $$10 = getItemFromList(1, $$5, $$3x);
 83                   Either<ItemStackOld, Unit> $$11 = getItemFromList(2, $$5, $$3x);
 84                   Either<ItemStackOld, Unit> $$12 = getItemFromList(3, $$5, $$3x);
 85                   Either<ItemStackOld, Unit> $$13 = getItemFromList(0, $$6, $$3x);
 86                   Either<ItemStackOld, Unit> $$14 = getItemFromList(1, $$6, $$3x);
 87                   return areAllEmpty($$7, $$8, $$9, $$10, $$11, $$12, $$13, $$14)
 88                      ? Pair.of($$3xx, Either.right(Unit.INSTANCE))
 89                      : Pair.of(
 90                         $$3xx,
 91                         Either.left(
 92                            Pair.of(
 93                               (Either<ItemStackNew, Unit>)$$13,
 94                               Pair.of(
 95                                  (Either<ItemStackNew, Unit>)$$14,
 96                                  Pair.of(
 97                                     (Either<ItemStackNew, Unit>)$$9,
 98                                     Pair.of(
 99                                        (Either<ItemStackNew, Unit>)$$10,
100                                        Pair.of(
101                                           (Either<ItemStackNew, Unit>)$$11,
102                                           Pair.of(
103                                              (Either<ItemStackNew, Unit>)$$12,
104                                              Pair.of((Either<ItemStackNew, Unit>)$$7, Pair.of((Either<ItemStackNew, Unit>)$$8, new Dynamic($$2x)))
105                                           )
106                                        )
107                                     )
108                                  )
109                               )
110                            )
111                         )
112                      );
113                };
114             }
115          );
116       }
117    }
118 
119    @SafeVarargs
120    private static boolean areAllEmpty(Either<?, Unit>... $$0) {
121       for (Either<?, Unit> $$1 : $$0) {
122          if ($$1.right().isEmpty()) {
123             return false;
124          }
125       }
126 
127       return true;
128    }
129 
130    private static <ItemStack> Either<ItemStack, Unit> getItemFromList(int $$0, List<ItemStack> $$1, Predicate<ItemStack> $$2) {
131       if ($$0 >= $$1.size()) {
132          return Either.right(Unit.INSTANCE);
133       } else {
134          ItemStack $$3 = $$1.get($$0);
135          return $$2.test($$3) ? Either.right(Unit.INSTANCE) : Either.left($$3);
136       }
137    }
138 }
139 

net/minecraft/client/data/models/BlockModelGenerators.java --- 1/4 --- Java
72 import net.minecraft.world.level.block.PitcherCropBlock;                72 import net.minecraft.world.level.block.PitcherCropBlock;
73 import net.minecraft.world.level.block.SkullBlock;                      73 import net.minecraft.world.level.block.SkullBlock;
74 import net.minecraft.world.level.block.SnifferEggBlock;                 74 import net.minecraft.world.level.block.SnifferEggBlock;
..                                                                         75 import net.minecraft.world.level.block.TestBlock;
75 import net.minecraft.world.level.block.VaultBlock;                      76 import net.minecraft.world.level.block.VaultBlock;
76 import net.minecraft.world.level.block.state.properties.AttachFace;     77 import net.minecraft.world.level.block.state.properties.AttachFace;
77 import net.minecraft.world.level.block.state.properties.BambooLeaves;   78 import net.minecraft.world.level.block.state.properties.BambooLeaves;

net/minecraft/client/data/models/BlockModelGenerators.java --- 2/4 --- Java
93 import net.minecraft.world.level.block.state.properties.SculkSensorPhas  94 import net.minecraft.world.level.block.state.properties.SculkSensorPhas
.. e;                                                                       .. e;
94 import net.minecraft.world.level.block.state.properties.SlabType;        95 import net.minecraft.world.level.block.state.properties.SlabType;
95 import net.minecraft.world.level.block.state.properties.StairsShape;     96 import net.minecraft.world.level.block.state.properties.StairsShape;
..                                                                          97 import net.minecraft.world.level.block.state.properties.TestBlockMode;
96 import net.minecraft.world.level.block.state.properties.Tilt;            98 import net.minecraft.world.level.block.state.properties.Tilt;
97 import net.minecraft.world.level.block.state.properties.WallSide;        99 import net.minecraft.world.level.block.state.properties.WallSide;
98                                                                         100 

net/minecraft/client/data/models/BlockModelGenerators.java --- 3/4 --- Java
3783          );                                                           3785          );
3784    }                                                                  3786    }
....                                                                       3787 
....                                                                       3788    private void createTestBlock() {
....                                                                       3789       Map<TestBlockMode, ResourceLocation> $$0 = new HashMap<>();
....                                                                       3790 
....                                                                       3791       for (TestBlockMode $$1 : TestBlockMode.values()) {
....                                                                       3792          $$0.put($$1, this.createSuffixedVariant(Blocks.TEST_BLOCK, "
....                                                                       .... _" + $$1.getSerializedName(), ModelTemplates.CUBE_ALL, TextureMapping
....                                                                       .... ::cube));
....                                                                       3793       }
....                                                                       3794 
....                                                                       3795       this.blockStateOutput
....                                                                       3796          .accept(
....                                                                       3797             MultiVariantGenerator.multiVariant(Blocks.TEST_BLOCK)
....                                                                       3798                .with(
....                                                                       3799                   PropertyDispatch.property(BlockStateProperties.TEST
....                                                                       .... _BLOCK_MODE)
....                                                                       3800                      .generate($$1x -> Variant.variant().with(Variant
....                                                                       .... Properties.MODEL, $$0.get($$1x)))
....                                                                       3801                )
....                                                                       3802          );
....                                                                       3803       this.itemModelOutput
....                                                                       3804          .accept(
....                                                                       3805             Items.TEST_BLOCK,
....                                                                       3806             ItemModelUtils.selectBlockItemProperty(
....                                                                       3807                TestBlock.MODE,
....                                                                       3808                ItemModelUtils.plainModel($$0.get(TestBlockMode.START)
....                                                                       .... ),
....                                                                       3809                Map.of(
....                                                                       3810                   TestBlockMode.FAIL,
....                                                                       3811                   ItemModelUtils.plainModel($$0.get(TestBlockMode.FAI
....                                                                       .... L)),
....                                                                       3812                   TestBlockMode.LOG,
....                                                                       3813                   ItemModelUtils.plainModel($$0.get(TestBlockMode.LOG
....                                                                       .... )),
....                                                                       3814                   TestBlockMode.ACCEPT,
....                                                                       3815                   ItemModelUtils.plainModel($$0.get(TestBlockMode.ACC
....                                                                       .... EPT))
....                                                                       3816                )
....                                                                       3817             )
....                                                                       3818          );
....                                                                       3819    }
3785                                                                       3820 
3786    private void createSweetBerryBush() {                              3821    private void createSweetBerryBush() {
3787       this.registerSimpleFlatItemModel(Items.SWEET_BERRIES);          3822       this.registerSimpleFlatItemModel(Items.SWEET_BERRIES);

net/minecraft/client/data/models/BlockModelGenerators.java --- 4/4 --- Java
4809       this.createStonecutter();                                       4844       this.createStonecutter();
4810       this.createStructureBlock();                                    4845       this.createStructureBlock();
4811       this.createSweetBerryBush();                                    4846       this.createSweetBerryBush();
....                                                                       4847       this.createTestBlock();
....                                                                       4848       this.createTrivialCube(Blocks.TEST_INSTANCE_BLOCK);
4812       this.createTripwire();                                          4849       this.createTripwire();
4813       this.createTripwireHook();                                      4850       this.createTripwireHook();
4814       this.createTurtleEgg();                                         4851       this.createTurtleEgg();

net/minecraft/server/packs/repository/BuiltInPackSource.java --- Java
23 public abstract class BuiltInPackSource implements RepositorySource {   23 public abstract class BuiltInPackSource implements RepositorySource {
24    private static final Logger LOGGER = LogUtils.getLogger();           24    private static final Logger LOGGER = LogUtils.getLogger();
25    public static final String VANILLA_ID = "vanilla";                   25    public static final String VANILLA_ID = "vanilla";
..                                                                         26    public static final String TESTS_ID = "tests";
26    public static final KnownPack CORE_PACK_INFO = KnownPack.vanilla("co 27    public static final KnownPack CORE_PACK_INFO = KnownPack.vanilla("co
.. re");                                                                   .. re");
27    private final PackType packType;                                     28    private final PackType packType;
28    private final VanillaPackResources vanillaPack;                      29    private final VanillaPackResources vanillaPack;

net/minecraft/client/gui/components/FittingMultiLineTextWidget.java --- 1/2 --- Java
42                                                                         42 
43    @Override                                                            43    @Override
44    protected void renderBackground(GuiGraphics $$0) {                   44    protected void renderBackground(GuiGraphics $$0) {
45       if (this.scrollbarVisible()) {                                    .. 
46          super.renderBackground($$0);                                   45       super.renderBackground($$0);
47       } else if (this.isFocused()) {                                    .. 
48          this.renderBorder(                                             .. 
49             $$0,                                                        .. 
50             this.getX() - this.innerPadding(),                          .. 
51             this.getY() - this.innerPadding(),                          .. 
52             this.getWidth() + this.totalInnerPadding(),                 .. 
53             this.getHeight() + this.totalInnerPadding()                 .. 
54          );                                                             .. 
55       }                                                                 .. 
56    }                                                                    46    }
57                                                                         .. 
58    @Override                                                            .. 
59    public void renderWidget(GuiGraphics $$0, int $$1, int $$2, float $$ .. 
.. 3) {                                                                    .. 
60       if (this.visible) {                                               .. 
61          if (!this.scrollbarVisible()) {                                .. 
62             this.renderBackground($$0);                                 .. 
63             $$0.pose().pushPose();                                      .. 
64             $$0.pose().translate((float)this.getX(), (float)this.getY() .. 
.. , 0.0F);                                                                .. 
65             this.multilineWidget.render($$0, $$1, $$2, $$3);            .. 
66             $$0.pose().popPose();                                       .. 
67          } else {                                                       .. 
68             super.renderWidget($$0, $$1, $$2, $$3);                     .. 
69          }                                                              .. 
70       }                                                                 .. 
71    }                                                                    .. 
72                                                                         47 
73    public boolean showingScrollBar() {                                  48    public boolean showingScrollBar() {
74       return super.scrollbarVisible();                                  49       return super.scrollbarVisible();

net/minecraft/client/gui/components/FittingMultiLineTextWidget.java --- 2/2 --- Java
87       $$0.add(NarratedElementType.TITLE, this.getMessage());            62       $$0.add(NarratedElementType.TITLE, this.getMessage());
88    }                                                                    63    }
..                                                                         64 
..                                                                         65    @Override
..                                                                         66    public void setMessage(Component $$0) {
..                                                                         67       super.setMessage($$0);
..                                                                         68       this.multilineWidget.setMessage($$0);
..                                                                         69    }
89 }                                                                       70 }

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 1/12 --- Java
 6 import com.mojang.datafixers.util.Pair;                                  6 import com.mojang.datafixers.util.Pair;
 7 import java.util.Optional;                                               7 import java.util.Optional;
 8 import net.minecraft.core.BlockPos;                                      8 import net.minecraft.core.BlockPos;
 .                                                                          9 import net.minecraft.core.Holder;
 9 import net.minecraft.server.level.ServerLevel;                          10 import net.minecraft.server.level.ServerLevel;
10 import net.minecraft.tags.BlockTags;                                    11 import net.minecraft.tags.BlockTags;
11 import net.minecraft.world.entity.AgeableMob;                           12 import net.minecraft.world.entity.AgeableMob;

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 2/12 --- Java
28    public static final int INTERACT_WALKUP_DIST = 2;                    29    public static final int INTERACT_WALKUP_DIST = 2;
29    public static final float INTERACT_SPEED_MODIFIER = 0.5F;            30    public static final float INTERACT_SPEED_MODIFIER = 0.5F;
30                                                                         31 
31    public static ImmutableList<Pair<Integer, ? extends BehaviorControl< 32    public static ImmutableList<Pair<Integer, ? extends BehaviorControl<
.. ? super Villager>>> getCorePackage(VillagerProfession $$0, float $$1) { .. ? super Villager>>> getCorePackage(Holder<VillagerProfession> $$0, floa
..                                                                         .. t $$1) {
32       return ImmutableList.of(                                          33       return ImmutableList.of(
33          Pair.of(0, new Swim<>(0.8F)),                                  34          Pair.of(0, new Swim<>(0.8F)),
34          Pair.of(0, InteractWithDoor.create()),                         35          Pair.of(0, InteractWithDoor.create()),

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 3/12 --- Java
37          Pair.of(0, WakeUp.create()),                                   38          Pair.of(0, WakeUp.create()),
38          Pair.of(0, ReactToBell.create()),                              39          Pair.of(0, ReactToBell.create()),
39          Pair.of(0, SetRaidStatus.create()),                            40          Pair.of(0, SetRaidStatus.create()),
40          Pair.of(0, ValidateNearbyPoi.create($$0.heldJobSite(), MemoryM 41          Pair.of(0, ValidateNearbyPoi.create($$0.value().heldJobSite(),
.. oduleType.JOB_SITE)),                                                   ..  MemoryModuleType.JOB_SITE)),
41          Pair.of(0, ValidateNearbyPoi.create($$0.acquirableJobSite(), M 42          Pair.of(0, ValidateNearbyPoi.create($$0.value().acquirableJobS
.. emoryModuleType.POTENTIAL_JOB_SITE)),                                   .. ite(), MemoryModuleType.POTENTIAL_JOB_SITE)),
42          Pair.of(1, new MoveToTargetSink()),                            43          Pair.of(1, new MoveToTargetSink()),
43          Pair.of(2, PoiCompetitorScan.create()),                        44          Pair.of(2, PoiCompetitorScan.create()),
44          Pair.of(3, new LookAndFollowTradingPlayerSink($$1)),           45          Pair.of(3, new LookAndFollowTradingPlayerSink($$1)),
45          Pair.of(5, GoToWantedItem.create($$1, false, 4)),              46          Pair.of(5, GoToWantedItem.create($$1, false, 4)),
46          Pair.of(                                                       47          Pair.of(
47             6,                                                          48             6,
48             AcquirePoi.create(                                          49             AcquirePoi.create(
49                $$0.acquirableJobSite(), MemoryModuleType.JOB_SITE, Memo 50                $$0.value().acquirableJobSite(), MemoryModuleType.JOB_SI
.. ryModuleType.POTENTIAL_JOB_SITE, true, Optional.empty(), ($$0x, $$1x) - .. TE, MemoryModuleType.POTENTIAL_JOB_SITE, true, Optional.empty(), ($$0x,
.. > true                                                                  ..  $$1x) -> true
50             )                                                           51             )
51          ),                                                             52          ),
52          Pair.of(7, new GoToPotentialJobSite($$1)),                     53          Pair.of(7, new GoToPotentialJobSite($$1)),

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 4/12 --- Java
65       return $$2.is(BlockTags.BEDS) && !$$2.getValue(BedBlock.OCCUPIED) 66       return $$2.is(BlockTags.BEDS) && !$$2.getValue(BedBlock.OCCUPIED)
.. ;                                                                       .. ;
66    }                                                                    67    }
67                                                                         68 
68    public static ImmutableList<Pair<Integer, ? extends BehaviorControl< 69    public static ImmutableList<Pair<Integer, ? extends BehaviorControl<
.. ? super Villager>>> getWorkPackage(VillagerProfession $$0, float $$1) { .. ? super Villager>>> getWorkPackage(Holder<VillagerProfession> $$0, floa
..                                                                         .. t $$1) {
69       WorkAtPoi $$2;                                                    70       WorkAtPoi $$2;
70       if ($$0 == VillagerProfession.FARMER) {                           71       if ($$0.is(VillagerProfession.FARMER)) {
71          $$2 = new WorkAtComposter();                                   72          $$2 = new WorkAtComposter();
72       } else {                                                          73       } else {
73          $$2 = new WorkAtPoi();                                         74          $$2 = new WorkAtPoi();

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 5/12 --- Java
83                   Pair.of(StrollAroundPoi.create(MemoryModuleType.JOB_S 84                   Pair.of(StrollAroundPoi.create(MemoryModuleType.JOB_S
.. ITE, 0.4F, 4), 2),                                                      .. ITE, 0.4F, 4), 2),
84                   Pair.of(StrollToPoi.create(MemoryModuleType.JOB_SITE, 85                   Pair.of(StrollToPoi.create(MemoryModuleType.JOB_SITE,
..  0.4F, 1, 10), 5),                                                      ..  0.4F, 1, 10), 5),
85                   Pair.of(StrollToPoiList.create(MemoryModuleType.SECON 86                   Pair.of(StrollToPoiList.create(MemoryModuleType.SECON
.. DARY_JOB_SITE, $$1, 1, 6, MemoryModuleType.JOB_SITE), 5),               .. DARY_JOB_SITE, $$1, 1, 6, MemoryModuleType.JOB_SITE), 5),
86                   Pair.of(new HarvestFarmland(), $$0 == VillagerProfess 87                   Pair.of(new HarvestFarmland(), $$0.is(VillagerProfess
.. ion.FARMER ? 2 : 5),                                                    .. ion.FARMER) ? 2 : 5),
87                   Pair.of(new UseBonemeal(), $$0 == VillagerProfession. 88                   Pair.of(new UseBonemeal(), $$0.is(VillagerProfession.
.. FARMER ? 4 : 7)                                                         .. FARMER) ? 4 : 7)
88                )                                                        89                )
89             )                                                           90             )
90          ),                                                             91          ),

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 6/12 --- Java
119       );                                                               120       );
120    }                                                                   121    }
121                                                                        122 
122    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 123    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getRestPackage(VillagerProfession $$0, float $$1) ... <? super Villager>>> getRestPackage(Holder<VillagerProfession> $$0, fl
...  {                                                                     ... oat $$1) {
123       return ImmutableList.of(                                         124       return ImmutableList.of(
124          Pair.of(2, SetWalkTargetFromBlockMemory.create(MemoryModuleTy 125          Pair.of(2, SetWalkTargetFromBlockMemory.create(MemoryModuleTy
... pe.HOME, $$1, 1, 150, 1200)),                                          ... pe.HOME, $$1, 1, 150, 1200)),
125          Pair.of(3, ValidateNearbyPoi.create($$0x -> $$0x.is(PoiTypes. 126          Pair.of(3, ValidateNearbyPoi.create($$0x -> $$0x.is(PoiTypes.
    HOME), MemoryModuleType.HOME)),                                            HOME), MemoryModuleType.HOME)),

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 7/12 --- Java
141       );                                                               142       );
142    }                                                                   143    }
143                                                                        144 
144    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 145    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getMeetPackage(VillagerProfession $$0, float $$1) ... <? super Villager>>> getMeetPackage(Holder<VillagerProfession> $$0, fl
...  {                                                                     ... oat $$1) {
145       return ImmutableList.of(                                         146       return ImmutableList.of(
146          Pair.of(                                                      147          Pair.of(
147             2,                                                         148             2,

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 8/12 --- Java
169       );                                                               170       );
170    }                                                                   171    }
171                                                                        172 
172    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 173    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getIdlePackage(VillagerProfession $$0, float $$1) ... <? super Villager>>> getIdlePackage(Holder<VillagerProfession> $$0, fl
...  {                                                                     ... oat $$1) {
173       return ImmutableList.of(                                         174       return ImmutableList.of(
174          Pair.of(                                                      175          Pair.of(
175             2,                                                         176             2,

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 9/12 --- Java
213       );                                                               214       );
214    }                                                                   215    }
215                                                                        216 
216    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 217    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getPanicPackage(VillagerProfession $$0, float $$1 ... <? super Villager>>> getPanicPackage(Holder<VillagerProfession> $$0, f
... ) {                                                                    ... loat $$1) {
217       float $$2 = $$1 * 1.5F;                                          218       float $$2 = $$1 * 1.5F;
218       return ImmutableList.of(                                         219       return ImmutableList.of(
219          Pair.of(0, VillagerCalmDown.create()),                        220          Pair.of(0, VillagerCalmDown.create()),

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 10/12 --- Java
224       );                                                               225       );
225    }                                                                   226    }
226                                                                        227 
227    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 228    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getPreRaidPackage(VillagerProfession $$0, float $ ... <? super Villager>>> getPreRaidPackage(Holder<VillagerProfession> $$0,
... $1) {                                                                  ...  float $$1) {
228       return ImmutableList.of(                                         229       return ImmutableList.of(
229          Pair.of(0, RingBell.create()),                                230          Pair.of(0, RingBell.create()),
230          Pair.of(                                                      231          Pair.of(

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 11/12 --- Java
241       );                                                               242       );
242    }                                                                   243    }
243                                                                        244 
244    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 245    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getRaidPackage(VillagerProfession $$0, float $$1) ... <? super Villager>>> getRaidPackage(Holder<VillagerProfession> $$0, fl
...  {                                                                     ... oat $$1) {
245       return ImmutableList.of(                                         246       return ImmutableList.of(
246          Pair.of(                                                      247          Pair.of(
247             0,                                                         248             0,

net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- 12/12 --- Java
259       );                                                               260       );
260    }                                                                   261    }
261                                                                        262 
262    public static ImmutableList<Pair<Integer, ? extends BehaviorControl 263    public static ImmutableList<Pair<Integer, ? extends BehaviorControl
... <? super Villager>>> getHidePackage(VillagerProfession $$0, float $$1) ... <? super Villager>>> getHidePackage(Holder<VillagerProfession> $$0, fl
...  {                                                                     ... oat $$1) {
263       int $$2 = 2;                                                     264       int $$2 = 2;
264       return ImmutableList.of(Pair.of(0, SetHiddenState.create(15, 3)) 265       return ImmutableList.of(Pair.of(0, SetHiddenState.create(15, 3))
... , Pair.of(1, LocateHidingPlace.create(32, $$1 * 1.25F, 2)), getMinimal ... , Pair.of(1, LocateHidingPlace.create(32, $$1 * 1.25F, 2)), getMinimal
... LookBehavior());                                                       ... LookBehavior());
265    }                                                                   266    }

net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- 1/4 --- Java
12 import net.minecraft.core.BlockPos;                                     12 import net.minecraft.core.BlockPos;
13 import net.minecraft.core.Direction;                                    13 import net.minecraft.core.Direction;
14 import net.minecraft.core.HolderLookup;                                 14 import net.minecraft.core.HolderLookup;
..                                                                         15 import net.minecraft.core.component.DataComponentGetter;
15 import net.minecraft.core.component.DataComponentMap;                   16 import net.minecraft.core.component.DataComponentMap;
16 import net.minecraft.core.component.DataComponents;                     17 import net.minecraft.core.component.DataComponents;
17 import net.minecraft.core.registries.BuiltInRegistries;                 18 import net.minecraft.core.registries.BuiltInRegistries;

net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- 2/4 --- Java
51       "Brain",                                                          52       "Brain",
52       "CanPickUpLoot",                                                  53       "CanPickUpLoot",
53       "DeathTime",                                                      54       "DeathTime",
54       "FallDistance",                                                   55       "fall_distance",
55       "FallFlying",                                                     56       "FallFlying",
56       "Fire",                                                           57       "Fire",
57       "HandItems",                                                      58       "HandItems",

net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- 3/4 --- Java
234                   double $$16 = (double)$$1.getX() + 0.5 + $$15 * (dou 235                   double $$16 = (double)$$1.getX() + 0.5 + $$15 * (dou
... ble)$$7.getStepX();                                                    ... ble)$$7.getStepX();
235                   double $$17 = (double)$$1.getY() + 0.5 - (double)($$ 236                   double $$17 = (double)$$1.getY() + 0.5 - (double)($$
... 10.getBbHeight() / 2.0F);                                              ... 10.getBbHeight() / 2.0F);
236                   double $$18 = (double)$$1.getZ() + 0.5 + $$15 * (dou 237                   double $$18 = (double)$$1.getZ() + 0.5 + $$15 * (dou
... ble)$$7.getStepZ();                                                    ... ble)$$7.getStepZ();
237                   $$10.moveTo($$16, $$17, $$18, $$10.getYRot(), $$10.g 238                   $$10.snapTo($$16, $$17, $$18, $$10.getYRot(), $$10.g
... etXRot());                                                             ... etXRot());
238                }                                                       239                }
239                                                                        240 
240                $$0.playSound(null, $$1, SoundEvents.BEEHIVE_EXIT, Soun 241                $$0.playSound(null, $$1, SoundEvents.BEEHIVE_EXIT, Soun
    dSource.BLOCKS, 1.0F, 1.0F);                                               dSource.BLOCKS, 1.0F, 1.0F);

net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- 4/4 --- Java
309    }                                                                   310    }
310                                                                        311 
311    @Override                                                           312    @Override
312    protected void applyImplicitComponents(BlockEntity.DataComponentInp 313    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
313       super.applyImplicitComponents($$0);                              314       super.applyImplicitComponents($$0);
314       this.stored.clear();                                             315       this.stored.clear();
315       List<BeehiveBlockEntity.Occupant> $$1 = $$0.getOrDefault(DataCom 316       List<BeehiveBlockEntity.Occupant> $$1 = $$0.getOrDefault(DataCom
    ponents.BEES, List.of());                                                  ponents.BEES, List.of());

net/minecraft/world/level/block/Blocks.java --- Java
5578       JigsawBlock::new,                                               5578       JigsawBlock::new,
5579       BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_GR 5579       BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_GR
.... AY).requiresCorrectToolForDrops().strength(-1.0F, 3600000.0F).noLootT .... AY).requiresCorrectToolForDrops().strength(-1.0F, 3600000.0F).noLootT
.... able()                                                                .... able()
5580    );                                                                 5580    );
....                                                                       5581    public static final Block TEST_BLOCK = register(
....                                                                       5582       "test_block", TestBlock::new, BlockBehaviour.Properties.of().ma
....                                                                       .... pColor(MapColor.COLOR_LIGHT_GRAY).strength(-1.0F, 3600000.0F).noLootT
....                                                                       .... able()
....                                                                       5583    );
....                                                                       5584    public static final Block TEST_INSTANCE_BLOCK = register(
....                                                                       5585       "test_instance_block",
....                                                                       5586       TestInstanceBlock::new,
....                                                                       5587       BlockBehaviour.Properties.of().noOcclusion().strength(-1.0F, 36
....                                                                       .... 00000.0F).noLootTable().isViewBlocking(Blocks::never)
....                                                                       5588    );
5581    public static final Block COMPOSTER = register(                    5589    public static final Block COMPOSTER = register(
5582       "composter",                                                    5590       "composter",
5583       ComposterBlock::new,                                            5591       ComposterBlock::new,

net/minecraft/server/players/PlayerList.java --- Java
413       }                                                                413       }
414                                                                        414 
415       Vec3 $$7 = $$3.position();                                       415       Vec3 $$7 = $$3.position();
416       $$5.moveTo($$7.x, $$7.y, $$7.z, $$3.yRot(), $$3.xRot());         416       $$5.snapTo($$7.x, $$7.y, $$7.z, $$3.yRot(), $$3.xRot());
417       if ($$3.missingRespawnBlock()) {                                 417       if ($$3.missingRespawnBlock()) {
418          $$5.connection.send(new ClientboundGameEventPacket(Clientboun 418          $$5.connection.send(new ClientboundGameEventPacket(Clientboun
... dGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F));                   ... dGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F));
419       }                                                                419       }

net/minecraft/world/level/block/entity/TestBlockEntity.java --- Java
  1 package net.minecraft.world.level.block.entity;
  2 
  3 import com.mojang.logging.LogUtils;
  4 import javax.annotation.Nullable;
  5 import net.minecraft.core.BlockPos;
  6 import net.minecraft.core.HolderLookup;
  7 import net.minecraft.nbt.CompoundTag;
  8 import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket;
  9 import net.minecraft.world.level.block.Block;
 10 import net.minecraft.world.level.block.Blocks;
 11 import net.minecraft.world.level.block.TestBlock;
 12 import net.minecraft.world.level.block.state.BlockState;
 13 import net.minecraft.world.level.block.state.properties.TestBlockMode;
 14 import org.slf4j.Logger;
 15 
 16 public class TestBlockEntity extends BlockEntity {
 17    private static final Logger LOGGER = LogUtils.getLogger();
 18    private TestBlockMode mode;
 19    private String message = "";
 20    private boolean powered;
 21    private boolean triggered;
 22 
 23    public TestBlockEntity(BlockPos $$0, BlockState $$1) {
 24       super(BlockEntityType.TEST_BLOCK, $$0, $$1);
 25       this.mode = $$1.getValue(TestBlock.MODE);
 26    }
 27 
 28    @Override
 29    public void saveAdditional(CompoundTag $$0, HolderLookup.Provider $$1) {
 30       $$0.putString("mode", this.mode.getSerializedName());
 31       $$0.putString("message", this.message);
 32       $$0.putBoolean("powered", this.powered);
 33    }
 34 
 35    @Override
 36    public void loadAdditional(CompoundTag $$0, HolderLookup.Provider $$1) {
 37       String $$2 = $$0.getString("mode");
 38       TestBlockMode $$3 = TestBlockMode.CODEC.byName($$2);
 39       this.mode = $$3 != null ? $$3 : TestBlockMode.FAIL;
 40       this.message = $$0.getString("message");
 41       this.powered = $$0.getBoolean("powered");
 42    }
 43 
 44    private void updateBlockState() {
 45       if (this.level != null) {
 46          BlockPos $$0 = this.getBlockPos();
 47          BlockState $$1 = this.level.getBlockState($$0);
 48          if ($$1.is(Blocks.TEST_BLOCK)) {
 49             this.level.setBlock($$0, $$1.setValue(TestBlock.MODE, this.mode), 2);
 50          }
 51       }
 52    }
 53 
 54    @Nullable
 55    public ClientboundBlockEntityDataPacket getUpdatePacket() {
 56       return ClientboundBlockEntityDataPacket.create(this);
 57    }
 58 
 59    @Override
 60    public CompoundTag getUpdateTag(HolderLookup.Provider $$0) {
 61       return this.saveCustomOnly($$0);
 62    }
 63 
 64    public boolean isPowered() {
 65       return this.powered;
 66    }
 67 
 68    public void setPowered(boolean $$0) {
 69       this.powered = $$0;
 70    }
 71 
 72    public TestBlockMode getMode() {
 73       return this.mode;
 74    }
 75 
 76    public void setMode(TestBlockMode $$0) {
 77       this.mode = $$0;
 78       this.updateBlockState();
 79    }
 80 
 81    private Block getBlockType() {
 82       return this.getBlockState().getBlock();
 83    }
 84 
 85    public void reset() {
 86       this.triggered = false;
 87       if (this.mode == TestBlockMode.START && this.level != null) {
 88          this.setPowered(false);
 89          this.level.updateNeighborsAt(this.getBlockPos(), this.getBlockType());
 90       }
 91    }
 92 
 93    public void trigger() {
 94       if (this.mode == TestBlockMode.START && this.level != null) {
 95          this.setPowered(true);
 96          BlockPos $$0 = this.getBlockPos();
 97          this.level.updateNeighborsAt($$0, this.getBlockType());
 98          this.level.getBlockTicks().willTickThisTick($$0, this.getBlockType());
 99          this.log();
100       } else {
101          if (this.mode == TestBlockMode.LOG) {
102             this.log();
103          }
104 
105          this.triggered = true;
106       }
107    }
108 
109    public void log() {
110       if (!this.message.isBlank()) {
111          LOGGER.info("Test {} (at {}): {}", this.mode.getSerializedName(), this.getBlockPos(), this.message);
112       }
113    }
114 
115    public boolean hasTriggered() {
116       return this.triggered;
117    }
118 
119    public String getMessage() {
120       return this.message;
121    }
122 
123    public void setMessage(String $$0) {
124       this.message = $$0;
125    }
126 }
127 

net/minecraft/util/datafix/schemas/V3808_2.java --- Java
18       $$0.register(                                                     18       $$0.register(
19          $$1,                                                           19          $$1,
20          "minecraft:trader_llama",                                      20          "minecraft:trader_llama",
21          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_S 21          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_S
.. TACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipm .. TACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0))
.. ent($$0))                                                               .. 
22       );                                                                22       );
23       return $$1;                                                       23       return $$1;
24    }                                                                    24    }

net/minecraft/world/entity/vehicle/AbstractBoat.java --- Java
723          if ($$1) {                                                    723          if ($$1) {
724             this.resetFallDistance();                                  724             this.resetFallDistance();
725          } else if (!this.level().getFluidState(this.blockPosition().b 725          } else if (!this.level().getFluidState(this.blockPosition().b
... elow()).is(FluidTags.WATER) && $$0 < 0.0) {                            ... elow()).is(FluidTags.WATER) && $$0 < 0.0) {
726             this.fallDistance -= (float)$$0;                           726             this.fallDistance -= (double)((float)$$0);
727          }                                                             727          }
728       }                                                                728       }
729    }                                                                   729    }

net/minecraft/sounds/SoundEvents.java --- 1/5 --- Java
247    public static final SoundEvent CAMEL_DEATH = register("entity.camel 247    public static final SoundEvent CAMEL_DEATH = register("entity.camel
... .death");                                                              ... .death");
248    public static final SoundEvent CAMEL_EAT = register("entity.camel.e 248    public static final SoundEvent CAMEL_EAT = register("entity.camel.e
... at");                                                                  ... at");
249    public static final SoundEvent CAMEL_HURT = register("entity.camel. 249    public static final SoundEvent CAMEL_HURT = register("entity.camel.
... hurt");                                                                ... hurt");
250    public static final SoundEvent CAMEL_SADDLE = register("entity.came 250    public static final Holder.Reference<SoundEvent> CAMEL_SADDLE = reg
... l.saddle");                                                            ... isterForHolder("entity.camel.saddle");
251    public static final SoundEvent CAMEL_SIT = register("entity.camel.s 251    public static final SoundEvent CAMEL_SIT = register("entity.camel.s
... it");                                                                  ... it");
252    public static final SoundEvent CAMEL_STAND = register("entity.camel 252    public static final SoundEvent CAMEL_STAND = register("entity.camel
... .stand");                                                              ... .stand");
253    public static final SoundEvent CAMEL_STEP = register("entity.camel. 253    public static final SoundEvent CAMEL_STEP = register("entity.camel.
    step");                                                                    step");

net/minecraft/sounds/SoundEvents.java --- 2/5 --- Java
750    public static final SoundEvent HORSE_HURT = register("entity.horse. 750    public static final SoundEvent HORSE_HURT = register("entity.horse.
... hurt");                                                                ... hurt");
751    public static final SoundEvent HORSE_JUMP = register("entity.horse. 751    public static final SoundEvent HORSE_JUMP = register("entity.horse.
... jump");                                                                ... jump");
752    public static final SoundEvent HORSE_LAND = register("entity.horse. 752    public static final SoundEvent HORSE_LAND = register("entity.horse.
... land");                                                                ... land");
753    public static final SoundEvent HORSE_SADDLE = register("entity.hors 753    public static final Holder.Reference<SoundEvent> HORSE_SADDLE = reg
... e.saddle");                                                            ... isterForHolder("entity.horse.saddle");
754    public static final SoundEvent HORSE_STEP = register("entity.horse. 754    public static final SoundEvent HORSE_STEP = register("entity.horse.
... step");                                                                ... step");
755    public static final SoundEvent HORSE_STEP_WOOD = register("entity.h 755    public static final SoundEvent HORSE_STEP_WOOD = register("entity.h
... orse.step_wood");                                                      ... orse.step_wood");
756    public static final SoundEvent HOSTILE_BIG_FALL = register("entity. 756    public static final SoundEvent HOSTILE_BIG_FALL = register("entity.
    hostile.big_fall");                                                        hostile.big_fall");

net/minecraft/sounds/SoundEvents.java --- 3/5 --- Java
828    public static final SoundEvent LLAMA_HURT = register("entity.llama. 828    public static final SoundEvent LLAMA_HURT = register("entity.llama.
... hurt");                                                                ... hurt");
829    public static final SoundEvent LLAMA_SPIT = register("entity.llama. 829    public static final SoundEvent LLAMA_SPIT = register("entity.llama.
... spit");                                                                ... spit");
830    public static final SoundEvent LLAMA_STEP = register("entity.llama. 830    public static final SoundEvent LLAMA_STEP = register("entity.llama.
... step");                                                                ... step");
831    public static final Holder<SoundEvent> LLAMA_SWAG = registerForHold 831    public static final Holder.Reference<SoundEvent> LLAMA_SWAG = regis
... er("entity.llama.swag");                                               ... terForHolder("entity.llama.swag");
832    public static final SoundEvent MAGMA_CUBE_DEATH_SMALL = register("e 832    public static final SoundEvent MAGMA_CUBE_DEATH_SMALL = register("e
... ntity.magma_cube.death_small");                                        ... ntity.magma_cube.death_small");
833    public static final SoundEvent LODESTONE_BREAK = register("block.lo 833    public static final SoundEvent LODESTONE_BREAK = register("block.lo
... destone.break");                                                       ... destone.break");
834    public static final SoundEvent LODESTONE_STEP = register("block.lod 834    public static final SoundEvent LODESTONE_STEP = register("block.lod
    estone.step");                                                             estone.step");

net/minecraft/sounds/SoundEvents.java --- 4/5 --- Java
1113    public static final SoundEvent PIG_AMBIENT = register("entity.pig. 1113    public static final SoundEvent PIG_AMBIENT = register("entity.pig.
.... ambient");                                                            .... ambient");
1114    public static final SoundEvent PIG_DEATH = register("entity.pig.de 1114    public static final SoundEvent PIG_DEATH = register("entity.pig.de
.... ath");                                                                .... ath");
1115    public static final SoundEvent PIG_HURT = register("entity.pig.hur 1115    public static final SoundEvent PIG_HURT = register("entity.pig.hur
.... t");                                                                  .... t");
1116    public static final SoundEvent PIG_SADDLE = register("entity.pig.s 1116    public static final Holder.Reference<SoundEvent> PIG_SADDLE = regi
.... addle");                                                              .... sterForHolder("entity.pig.saddle");
1117    public static final SoundEvent PIG_STEP = register("entity.pig.ste 1117    public static final SoundEvent PIG_STEP = register("entity.pig.ste
.... p");                                                                  .... p");
1118    public static final SoundEvent PIGLIN_ADMIRING_ITEM = register("en 1118    public static final SoundEvent PIGLIN_ADMIRING_ITEM = register("en
.... tity.piglin.admiring_item");                                          .... tity.piglin.admiring_item");
1119    public static final SoundEvent PIGLIN_AMBIENT = register("entity.p 1119    public static final SoundEvent PIGLIN_AMBIENT = register("entity.p
     iglin.ambient");                                                           iglin.ambient");

net/minecraft/sounds/SoundEvents.java --- 5/5 --- Java
1362    public static final SoundEvent STRIDER_STEP = register("entity.str 1362    public static final SoundEvent STRIDER_STEP = register("entity.str
.... ider.step");                                                          .... ider.step");
1363    public static final SoundEvent STRIDER_STEP_LAVA = register("entit 1363    public static final SoundEvent STRIDER_STEP_LAVA = register("entit
.... y.strider.step_lava");                                                .... y.strider.step_lava");
1364    public static final SoundEvent STRIDER_EAT = register("entity.stri 1364    public static final SoundEvent STRIDER_EAT = register("entity.stri
.... der.eat");                                                            .... der.eat");
1365    public static final SoundEvent STRIDER_SADDLE = register("entity.s 1365    public static final Holder.Reference<SoundEvent> STRIDER_SADDLE = 
.... trider.saddle");                                                      .... registerForHolder("entity.strider.saddle");
1366    public static final SoundEvent SLIME_DEATH_SMALL = register("entit 1366    public static final SoundEvent SLIME_DEATH_SMALL = register("entit
.... y.slime.death_small");                                                .... y.slime.death_small");
1367    public static final SoundEvent SLIME_HURT_SMALL = register("entity 1367    public static final SoundEvent SLIME_HURT_SMALL = register("entity
.... .slime.hurt_small");                                                  .... .slime.hurt_small");
1368    public static final SoundEvent SLIME_JUMP_SMALL = register("entity 1368    public static final SoundEvent SLIME_JUMP_SMALL = register("entity
     .slime.jump_small");                                                       .slime.jump_small");

net/minecraft/client/multiplayer/ClientLevel.java --- Text (8 Java parse errors, exceeded DFT_PARSE_ERROR_LIMIT)
150          this.setBlock($$0, $$1, 19);                                  150          this.setBlock($$0, $$1, 19);
151          Player $$4 = this.minecraft.player;                           151          Player $$4 = this.minecraft.player;
152          if (this == $$4.level() && $$4.isColliding($$0, $$1)) {       152          if (this == $$4.level() && $$4.isColliding($$0, $$1)) {
153             $$4.absMoveTo($$2.x, $$2.y, $$2.z);                        153             $$4.absSnapTo($$2.x, $$2.y, $$2.z);
154          }                                                             154          }
155       }                                                                155       }
156    }                                                                   156    }

net/minecraft/util/datafix/schemas/V2509.java --- Java
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$1.remove("minecraft:zombie_pigman");                            16       $$1.remove("minecraft:zombie_pigman");
17       $$0.register($$1, "minecraft:zombified_piglin", () -> V100.equipm 17       $$0.registerSimple($$1, "minecraft:zombified_piglin");
.. ent($$0));                                                              .. 
18       return $$1;                                                       18       return $$1;
19    }                                                                    19    }
20 }                                                                       20 }

net/minecraft/util/datafix/schemas/V2505.java --- 1/2 --- Java
1 package net.minecraft.util.datafix.schemas;                               1 package net.minecraft.util.datafix.schemas;
2                                                                           2 
.                                                                           3 import com.mojang.datafixers.DSL;
3 import com.mojang.datafixers.schemas.Schema;                              4 import com.mojang.datafixers.schemas.Schema;
4 import com.mojang.datafixers.types.templates.TypeTemplate;                5 import com.mojang.datafixers.types.templates.TypeTemplate;
5 import java.util.Map;                                                     6 import java.util.Map;
6 import java.util.function.Supplier;                                       7 import java.util.function.Supplier;
.                                                                           8 import net.minecraft.util.datafix.fixes.References;
7                                                                           9 
8 public class V2505 extends NamespacedSchema {                            10 public class V2505 extends NamespacedSchema {
9    public V2505(int $$0, Schema $$1) {                                   11    public V2505(int $$0, Schema $$1) {

net/minecraft/util/datafix/schemas/V2505.java --- 2/2 --- Java
13    @Override                                                            15    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:piglin", () -> V100.equipment($$0)); 18       $$0.register($$1, "minecraft:piglin", () -> DSL.optionalFields("I
..                                                                         .. nventory", DSL.list(References.ITEM_STACK.in($$0))));
17       return $$1;                                                       19       return $$1;
18    }                                                                    20    }
19 }                                                                       21 }

net/minecraft/world/entity/EntityEquipment.java --- Java
 1 package net.minecraft.world.entity;
 2 
 3 import com.mojang.serialization.Codec;
 4 import java.util.EnumMap;
 5 import java.util.Map;
 6 import java.util.Objects;
 7 import net.minecraft.world.item.ItemStack;
 8 
 9 public class EntityEquipment {
10    public static final Codec<EntityEquipment> CODEC = Codec.unboundedMap(EquipmentSlot.CODEC, ItemStack.CODEC).xmap($$0 -> {
11       EnumMap<EquipmentSlot, ItemStack> $$1 = new EnumMap<>(EquipmentSlot.class);
12       $$1.putAll((Map<? extends EquipmentSlot, ? extends ItemStack>)$$0);
13       return new EntityEquipment($$1);
14    }, $$0 -> {
15       Map<EquipmentSlot, ItemStack> $$1 = new EnumMap<>($$0.items);
16       $$1.values().removeIf(ItemStack::isEmpty);
17       return $$1;
18    });
19    private final EnumMap<EquipmentSlot, ItemStack> items;
20 
21    private EntityEquipment(EnumMap<EquipmentSlot, ItemStack> $$0) {
22       this.items = $$0;
23    }
24 
25    public EntityEquipment() {
26       this(new EnumMap<>(EquipmentSlot.class));
27    }
28 
29    public ItemStack set(EquipmentSlot $$0, ItemStack $$1) {
30       return Objects.requireNonNullElse(this.items.put($$0, $$1), ItemStack.EMPTY);
31    }
32 
33    public ItemStack get(EquipmentSlot $$0) {
34       return this.items.getOrDefault($$0, ItemStack.EMPTY);
35    }
36 
37    public boolean isEmpty() {
38       for (ItemStack $$0 : this.items.values()) {
39          if (!$$0.isEmpty()) {
40             return false;
41          }
42       }
43 
44       return true;
45    }
46 }
47 

net/minecraft/gametest/Main.java --- Java
 1 package net.minecraft.gametest;
 2 
 3 import net.minecraft.SharedConstants;
 4 import net.minecraft.gametest.framework.GameTestMainUtil;
 5 import net.minecraft.obfuscate.DontObfuscate;
 6 
 7 public class Main {
 8    @DontObfuscate
 9    public static void main(String[] $$0) throws Exception {
10       SharedConstants.tryDetectVersion();
11       GameTestMainUtil.runGameTestServer($$0, $$0x -> {
12       });
13    }
14 }
15 

net/minecraft/advancements/critereon/EntitySubPredicates.java --- 1/2 --- Java
 1 package net.minecraft.advancements.critereon;                           1 package net.minecraft.advancements.critereon;
 2                                                                         2 
 3 import com.mojang.serialization.Codec;                                  . 
 4 import com.mojang.serialization.MapCodec;                               3 import com.mojang.serialization.MapCodec;
 5 import com.mojang.serialization.codecs.RecordCodecBuilder;              . 
 6 import java.util.Optional;                                              . 
 7 import java.util.function.Function;                                     . 
 8 import javax.annotation.Nullable;                                       . 
 9 import net.minecraft.core.Holder;                                       . 
10 import net.minecraft.core.HolderSet;                                    . 
11 import net.minecraft.core.Registry;                                     4 import net.minecraft.core.Registry;
12 import net.minecraft.core.RegistryCodecs;                               . 
13 import net.minecraft.core.registries.BuiltInRegistries;                 5 import net.minecraft.core.registries.BuiltInRegistries;
14 import net.minecraft.core.registries.Registries;                        . 
15 import net.minecraft.resources.ResourceKey;                             . 
16 import net.minecraft.server.level.ServerLevel;                          . 
17 import net.minecraft.world.entity.Entity;                               . 
18 import net.minecraft.world.entity.animal.Cat;                           . 
19 import net.minecraft.world.entity.animal.CatVariant;                    . 
20 import net.minecraft.world.entity.animal.Fox;                           . 
21 import net.minecraft.world.entity.animal.FrogVariant;                   . 
22 import net.minecraft.world.entity.animal.MushroomCow;                   . 
23 import net.minecraft.world.entity.animal.Parrot;                        . 
24 import net.minecraft.world.entity.animal.Pig;                           . 
25 import net.minecraft.world.entity.animal.PigVariant;                    . 
26 import net.minecraft.world.entity.animal.Rabbit;                        . 
27 import net.minecraft.world.entity.animal.Salmon;                        . 
28 import net.minecraft.world.entity.animal.TropicalFish;                  . 
29 import net.minecraft.world.entity.animal.Wolf;                          . 
30 import net.minecraft.world.entity.animal.WolfVariant;                   . 
31 import net.minecraft.world.entity.animal.axolotl.Axolotl;               . 
32 import net.minecraft.world.entity.animal.frog.Frog;                     . 
33 import net.minecraft.world.entity.animal.horse.Horse;                   . 
34 import net.minecraft.world.entity.animal.horse.Llama;                   . 
35 import net.minecraft.world.entity.animal.horse.Variant;                 . 
36 import net.minecraft.world.entity.decoration.Painting;                  . 
37 import net.minecraft.world.entity.decoration.PaintingVariant;           . 
38 import net.minecraft.world.entity.npc.VillagerDataHolder;               . 
39 import net.minecraft.world.entity.npc.VillagerType;                     . 
40 import net.minecraft.world.phys.Vec3;                                   . 
41                                                                         6 
42 public class EntitySubPredicates {                                      7 public class EntitySubPredicates {
43    public static final MapCodec<LightningBoltPredicate> LIGHTNING = reg 8    public static final MapCodec<LightningBoltPredicate> LIGHTNING = reg
   ister("lightning", LightningBoltPredicate.CODEC);                         ister("lightning", LightningBoltPredicate.CODEC);

net/minecraft/advancements/critereon/EntitySubPredicates.java --- 2/2 --- Java
 46    public static final MapCodec<SlimePredicate> SLIME = register("slim 11    public static final MapCodec<SlimePredicate> SLIME = register("slim
 .. e", SlimePredicate.CODEC);                                             .. e", SlimePredicate.CODEC);
 47    public static final MapCodec<RaiderPredicate> RAIDER = register("ra 12    public static final MapCodec<RaiderPredicate> RAIDER = register("ra
 .. ider", RaiderPredicate.CODEC);                                         .. ider", RaiderPredicate.CODEC);
 48    public static final MapCodec<SheepPredicate> SHEEP = register("shee 13    public static final MapCodec<SheepPredicate> SHEEP = register("shee
 .. p", SheepPredicate.CODEC);                                             .. p", SheepPredicate.CODEC);
 49    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Axolotl.Variant> AXOLOTL = register(                                   .. 
 50       "axolotl",                                                       .. 
 51       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 52          Axolotl.Variant.CODEC, $$0 -> $$0 instanceof Axolotl $$1 ? Op .. 
 .. tional.of($$1.getVariant()) : Optional.empty()                         .. 
 53       )                                                                .. 
 54    );                                                                  .. 
 55    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Fox.Variant> FOX = register(                                           .. 
 56       "fox",                                                           .. 
 57       EntitySubPredicates.EntityVariantPredicateType.create(Fox.Varian .. 
 .. t.CODEC, $$0 -> $$0 instanceof Fox $$1 ? Optional.of($$1.getVariant()) .. 
 ..  : Optional.empty())                                                   .. 
 58    );                                                                  .. 
 59    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. MushroomCow.Variant> MOOSHROOM = register(                             .. 
 60       "mooshroom",                                                     .. 
 61       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 62          MushroomCow.Variant.CODEC, $$0 -> $$0 instanceof MushroomCow  .. 
 .. $$1 ? Optional.of($$1.getVariant()) : Optional.empty()                 .. 
 63       )                                                                .. 
 64    );                                                                  .. 
 65    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Rabbit.Variant> RABBIT = register(                                     .. 
 66       "rabbit",                                                        .. 
 67       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 68          Rabbit.Variant.CODEC, $$0 -> $$0 instanceof Rabbit $$1 ? Opti .. 
 .. onal.of($$1.getVariant()) : Optional.empty()                           .. 
 69       )                                                                .. 
 70    );                                                                  .. 
 71    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Variant> HORSE = register(                                             .. 
 72       "horse",                                                         .. 
 73       EntitySubPredicates.EntityVariantPredicateType.create(Variant.CO .. 
 .. DEC, $$0 -> $$0 instanceof Horse $$1 ? Optional.of($$1.getVariant()) : .. 
 ..  Optional.empty())                                                     .. 
 74    );                                                                  .. 
 75    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Llama.Variant> LLAMA = register(                                       .. 
 76       "llama",                                                         .. 
 77       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 78          Llama.Variant.CODEC, $$0 -> $$0 instanceof Llama $$1 ? Option .. 
 .. al.of($$1.getVariant()) : Optional.empty()                             .. 
 79       )                                                                .. 
 80    );                                                                  .. 
 81    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. VillagerType> VILLAGER = register(                                     .. 
 82       "villager",                                                      .. 
 83       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 84          BuiltInRegistries.VILLAGER_TYPE.byNameCodec(), $$0 -> $$0 ins .. 
 .. tanceof VillagerDataHolder $$1 ? Optional.of($$1.getVariant()) : Optio .. 
 .. nal.empty()                                                            .. 
 85       )                                                                .. 
 86    );                                                                  .. 
 87    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Parrot.Variant> PARROT = register(                                     .. 
 88       "parrot",                                                        .. 
 89       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 90          Parrot.Variant.CODEC, $$0 -> $$0 instanceof Parrot $$1 ? Opti .. 
 .. onal.of($$1.getVariant()) : Optional.empty()                           .. 
 91       )                                                                .. 
 92    );                                                                  .. 
 93    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. Salmon.Variant> SALMON = register(                                     .. 
 94       "salmon",                                                        .. 
 95       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
 96          Salmon.Variant.CODEC, $$0 -> $$0 instanceof Salmon $$1 ? Opti .. 
 .. onal.of($$1.getVariant()) : Optional.empty()                           .. 
 97       )                                                                .. 
 98    );                                                                  .. 
 99    public static final EntitySubPredicates.EntityVariantPredicateType< .. 
 .. TropicalFish.Pattern> TROPICAL_FISH = register(                        .. 
100       "tropical_fish",                                                 .. 
101       EntitySubPredicates.EntityVariantPredicateType.create(           .. 
102          TropicalFish.Pattern.CODEC, $$0 -> $$0 instanceof TropicalFis .. 
... h $$1 ? Optional.of($$1.getVariant()) : Optional.empty()               .. 
103       )                                                                .. 
104    );                                                                  .. 
105    public static final EntitySubPredicates.EntityHolderVariantPredicat .. 
... eType<PaintingVariant> PAINTING = register(                            .. 
106       "painting",                                                      .. 
107       EntitySubPredicates.EntityHolderVariantPredicateType.create(     .. 
108          Registries.PAINTING_VARIANT, $$0 -> $$0 instanceof Painting $ .. 
... $1 ? Optional.of($$1.getVariant()) : Optional.empty()                  .. 
109       )                                                                .. 
110    );                                                                  .. 
111    public static final EntitySubPredicates.EntityHolderVariantPredicat .. 
... eType<CatVariant> CAT = register(                                      .. 
112       "cat",                                                           .. 
113       EntitySubPredicates.EntityHolderVariantPredicateType.create(     .. 
114          Registries.CAT_VARIANT, $$0 -> $$0 instanceof Cat $$1 ? Optio .. 
... nal.of($$1.getVariant()) : Optional.empty()                            .. 
115       )                                                                .. 
116    );                                                                  .. 
117    public static final EntitySubPredicates.EntityHolderVariantPredicat .. 
... eType<FrogVariant> FROG = register(                                    .. 
118       "frog",                                                          .. 
119       EntitySubPredicates.EntityHolderVariantPredicateType.create(     .. 
120          Registries.FROG_VARIANT, $$0 -> $$0 instanceof Frog $$1 ? Opt .. 
... ional.of($$1.getVariant()) : Optional.empty()                          .. 
121       )                                                                .. 
122    );                                                                  .. 
123    public static final EntitySubPredicates.EntityHolderVariantPredicat .. 
... eType<WolfVariant> WOLF = register(                                    .. 
124       "wolf",                                                          .. 
125       EntitySubPredicates.EntityHolderVariantPredicateType.create(     .. 
126          Registries.WOLF_VARIANT, $$0 -> $$0 instanceof Wolf $$1 ? Opt .. 
... ional.of($$1.getVariant()) : Optional.empty()                          .. 
127       )                                                                .. 
128    );                                                                  .. 
129    public static final EntitySubPredicates.EntityHolderVariantPredicat .. 
... eType<PigVariant> PIG = register(                                      .. 
130       "pig",                                                           .. 
131       EntitySubPredicates.EntityHolderVariantPredicateType.create(     .. 
132          Registries.PIG_VARIANT, $$0 -> $$0 instanceof Pig $$1 ? Optio .. 
... nal.of($$1.getVariant()) : Optional.empty()                            .. 
133       )                                                                .. 
134    );                                                                  .. 
135                                                                        14 
136    private static <T extends EntitySubPredicate> MapCodec<T> register( 15    private static <T extends EntitySubPredicate> MapCodec<T> register(
... String $$0, MapCodec<T> $$1) {                                         .. String $$0, MapCodec<T> $$1) {
137       return Registry.register(BuiltInRegistries.ENTITY_SUB_PREDICATE_ 16       return Registry.register(BuiltInRegistries.ENTITY_SUB_PREDICATE_
... TYPE, $$0, $$1);                                                       .. TYPE, $$0, $$1);
138    }                                                                   17    }
139                                                                        .. 
140    private static <V> EntitySubPredicates.EntityVariantPredicateType<V .. 
... > register(String $$0, EntitySubPredicates.EntityVariantPredicateType< .. 
... V> $$1) {                                                              .. 
141       Registry.register(BuiltInRegistries.ENTITY_SUB_PREDICATE_TYPE, $ .. 
... $0, $$1.codec);                                                        .. 
142       return $$1;                                                      .. 
143    }                                                                   .. 
144                                                                        .. 
145    private static <V> EntitySubPredicates.EntityHolderVariantPredicate .. 
... Type<V> register(String $$0, EntitySubPredicates.EntityHolderVariantPr .. 
... edicateType<V> $$1) {                                                  .. 
146       Registry.register(BuiltInRegistries.ENTITY_SUB_PREDICATE_TYPE, $ .. 
... $0, $$1.codec);                                                        .. 
147       return $$1;                                                      .. 
148    }                                                                   .. 
149                                                                        18 
150    public static MapCodec<? extends EntitySubPredicate> bootstrap(Regi 19    public static MapCodec<? extends EntitySubPredicate> bootstrap(Regi
... stry<MapCodec<? extends EntitySubPredicate>> $$0) {                    .. stry<MapCodec<? extends EntitySubPredicate>> $$0) {
151       return LIGHTNING;                                                20       return LIGHTNING;
152    }                                                                   21    }
153                                                                        .. 
154    public static EntitySubPredicate catVariant(Holder<CatVariant> $$0) .. 
...  {                                                                     .. 
155       return CAT.createPredicate(HolderSet.direct($$0));               .. 
156    }                                                                   .. 
157                                                                        .. 
158    public static EntitySubPredicate frogVariant(Holder<FrogVariant> $$ .. 
... 0) {                                                                   .. 
159       return FROG.createPredicate(HolderSet.direct($$0));              .. 
160    }                                                                   .. 
161                                                                        .. 
162    public static EntitySubPredicate wolfVariant(HolderSet<WolfVariant> .. 
...  $$0) {                                                                .. 
163       return WOLF.createPredicate($$0);                                .. 
164    }                                                                   .. 
165                                                                        .. 
166    public static class EntityHolderVariantPredicateType<V> {           .. 
167       final MapCodec<EntitySubPredicates.EntityHolderVariantPredicateT .. 
... ype<V>.Instance> codec;                                                .. 
168       final Function<Entity, Optional<Holder<V>>> getter;              .. 
169                                                                        .. 
170       public static <V> EntitySubPredicates.EntityHolderVariantPredica .. 
... teType<V> create(                                                      .. 
171          ResourceKey<? extends Registry<V>> $$0, Function<Entity, Opti .. 
... onal<Holder<V>>> $$1                                                   .. 
172       ) {                                                              .. 
173          return new EntitySubPredicates.EntityHolderVariantPredicateTy .. 
... pe<>($$0, $$1);                                                        .. 
174       }                                                                .. 
175                                                                        .. 
176       public EntityHolderVariantPredicateType(ResourceKey<? extends Re .. 
... gistry<V>> $$0, Function<Entity, Optional<Holder<V>>> $$1) {           .. 
177          this.getter = $$1;                                            .. 
178          this.codec = RecordCodecBuilder.mapCodec(                     .. 
179             $$1x -> $$1x.group(RegistryCodecs.homogeneousList($$0).fie .. 
... ldOf("variant").forGetter($$0xx -> $$0xx.variants))                    .. 
180                   .apply($$1x, $$0xx -> new EntitySubPredicates.Entity .. 
... HolderVariantPredicateType.Instance($$0xx))                            .. 
181          );                                                            .. 
182       }                                                                .. 
183                                                                        .. 
184       public EntitySubPredicate createPredicate(HolderSet<V> $$0) {    .. 
185          return new EntitySubPredicates.EntityHolderVariantPredicateTy .. 
... pe.Instance($$0);                                                      .. 
186       }                                                                .. 
187                                                                        .. 
188       class Instance implements EntitySubPredicate {                   .. 
189          final HolderSet<V> variants;                                  .. 
190                                                                        .. 
191          Instance(final HolderSet<V> $$0) {                            .. 
192             this.variants = $$0;                                       .. 
193          }                                                             .. 
194                                                                        .. 
195          @Override                                                     .. 
196          public MapCodec<EntitySubPredicates.EntityHolderVariantPredic .. 
... ateType<V>.Instance> codec() {                                         .. 
197             return EntityHolderVariantPredicateType.this.codec;        .. 
198          }                                                             .. 
199                                                                        .. 
200          @Override                                                     .. 
201          public boolean matches(Entity $$0, ServerLevel $$1, @Nullable .. 
...  Vec3 $$2) {                                                           .. 
202             return EntityHolderVariantPredicateType.this.getter.apply( .. 
... $$0).filter(this.variants::contains).isPresent();                      .. 
203          }                                                             .. 
204       }                                                                .. 
205    }                                                                   .. 
206                                                                        .. 
207    public static class EntityVariantPredicateType<V> {                 .. 
208       final MapCodec<EntitySubPredicates.EntityVariantPredicateType<V> .. 
... .Instance> codec;                                                      .. 
209       final Function<Entity, Optional<V>> getter;                      .. 
210                                                                        .. 
211       public static <V> EntitySubPredicates.EntityVariantPredicateType .. 
... <V> create(Registry<V> $$0, Function<Entity, Optional<V>> $$1) {       .. 
212          return new EntitySubPredicates.EntityVariantPredicateType<>($ .. 
... $0.byNameCodec(), $$1);                                                .. 
213       }                                                                .. 
214                                                                        .. 
215       public static <V> EntitySubPredicates.EntityVariantPredicateType .. 
... <V> create(Codec<V> $$0, Function<Entity, Optional<V>> $$1) {          .. 
216          return new EntitySubPredicates.EntityVariantPredicateType<>($ .. 
... $0, $$1);                                                              .. 
217       }                                                                .. 
218                                                                        .. 
219       public EntityVariantPredicateType(Codec<V> $$0, Function<Entity, .. 
...  Optional<V>> $$1) {                                                   .. 
220          this.getter = $$1;                                            .. 
221          this.codec = RecordCodecBuilder.mapCodec(                     .. 
222             $$1x -> $$1x.group($$0.fieldOf("variant").forGetter($$0xx  .. 
... -> $$0xx.variant))                                                     .. 
223                   .apply($$1x, $$0xx -> new EntitySubPredicates.Entity .. 
... VariantPredicateType.Instance($$0xx))                                  .. 
224          );                                                            .. 
225       }                                                                .. 
226                                                                        .. 
227       public EntitySubPredicate createPredicate(V $$0) {               .. 
228          return new EntitySubPredicates.EntityVariantPredicateType.Ins .. 
... tance($$0);                                                            .. 
229       }                                                                .. 
230                                                                        .. 
231       class Instance implements EntitySubPredicate {                   .. 
232          final V variant;                                              .. 
233                                                                        .. 
234          Instance(final V $$0) {                                       .. 
235             this.variant = $$0;                                        .. 
236          }                                                             .. 
237                                                                        .. 
238          @Override                                                     .. 
239          public MapCodec<EntitySubPredicates.EntityVariantPredicateTyp .. 
... e<V>.Instance> codec() {                                               .. 
240             return EntityVariantPredicateType.this.codec;              .. 
241          }                                                             .. 
242                                                                        .. 
243          @Override                                                     .. 
244          public boolean matches(Entity $$0, ServerLevel $$1, @Nullable .. 
...  Vec3 $$2) {                                                           .. 
245             return EntityVariantPredicateType.this.getter.apply($$0).f .. 
... ilter(this.variant::equals).isPresent();                               .. 
246          }                                                             .. 
247       }                                                                .. 
248    }                                                                   .. 
249 }                                                                      22 }

net/minecraft/world/level/block/entity/SkullBlockEntity.java --- 1/2 --- Java
16 import net.minecraft.Util;                                              16 import net.minecraft.Util;
17 import net.minecraft.core.BlockPos;                                     17 import net.minecraft.core.BlockPos;
18 import net.minecraft.core.HolderLookup;                                 18 import net.minecraft.core.HolderLookup;
..                                                                         19 import net.minecraft.core.component.DataComponentGetter;
19 import net.minecraft.core.component.DataComponentMap;                   20 import net.minecraft.core.component.DataComponentMap;
20 import net.minecraft.core.component.DataComponents;                     21 import net.minecraft.core.component.DataComponents;
21 import net.minecraft.nbt.CompoundTag;                                   22 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/SkullBlockEntity.java --- 2/2 --- Java
212    }                                                                   213    }
213                                                                        214 
214    @Override                                                           215    @Override
215    protected void applyImplicitComponents(BlockEntity.DataComponentInp 216    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
216       super.applyImplicitComponents($$0);                              217       super.applyImplicitComponents($$0);
217       this.setOwner($$0.get(DataComponents.PROFILE));                  218       this.setOwner($$0.get(DataComponents.PROFILE));
218       this.noteBlockSound = $$0.get(DataComponents.NOTE_BLOCK_SOUND);  219       this.noteBlockSound = $$0.get(DataComponents.NOTE_BLOCK_SOUND);

net/minecraft/world/entity/ai/behavior/ResetProfession.java --- Java
14                   $$0,                                                   . 
15                   $$0x -> ($$0xx, $$1, $$2) -> {                         . 
16                         VillagerData $$3 = $$1.getVillagerData();       12                VillagerData $$3 = $$1.getVillagerData();
..                                                                         13                boolean $$4 = !$$3.profession().is(VillagerProfession.NO
..                                                                         .. NE) && !$$3.profession().is(VillagerProfession.NITWIT);
17                         if ($$3.getProfession() != VillagerProfession.N 14                if ($$4 && $$1.getVillagerXp() == 0 && $$3.level() <= 1)
.. ONE                                                                     ..  {
18                            && $$3.getProfession() != VillagerProfession .. 
.. .NITWIT                                                                 .. 
19                            && $$1.getVillagerXp() == 0                  .. 
20                            && $$3.getLevel() <= 1) {                    .. 
21                            $$1.setVillagerData($$1.getVillagerData().se 15                   $$1.setVillagerData($$1.getVillagerData().withProfess
.. tProfession(VillagerProfession.NONE));                                  .. ion($$0xx.registryAccess(), VillagerProfession.NONE));
22                            $$1.refreshBrain($$0xx);                     16                   $$1.refreshBrain($$0xx);
23                            return true;                                 17                   return true;
24                         } else {                                        18                } else {

net/minecraft/server/packs/VanillaPackResourcesBuilder.java --- 1/4 --- Java
 6 import java.io.IOException;                                              6 import java.io.IOException;
 7 import java.net.URI;                                                     7 import java.net.URI;
 8 import java.net.URL;                                                     8 import java.net.URL;
 9 import java.nio.file.FileSystemAlreadyExistsException;                   . 
10 import java.nio.file.FileSystemNotFoundException;                        . 
11 import java.nio.file.FileSystems;                                        . 
12 import java.nio.file.Files;                                              9 import java.nio.file.Files;
13 import java.nio.file.Path;                                              10 import java.nio.file.Path;
14 import java.nio.file.Paths;                                             11 import java.nio.file.Paths;

net/minecraft/server/packs/VanillaPackResourcesBuilder.java --- 2/4 --- Java
25 import java.util.Set;                                                   22 import java.util.Set;
26 import java.util.function.Consumer;                                     23 import java.util.function.Consumer;
27 import net.minecraft.Util;                                              24 import net.minecraft.Util;
..                                                                         25 import net.minecraft.util.FileSystemUtil;
28 import org.slf4j.Logger;                                                26 import org.slf4j.Logger;
29                                                                         27 
30 public class VanillaPackResourcesBuilder {                              28 public class VanillaPackResourcesBuilder {

net/minecraft/server/packs/VanillaPackResourcesBuilder.java --- 3/4 --- Java
48                      LOGGER.warn("Assets URL '{}' uses unexpected schem 46                      LOGGER.warn("Assets URL '{}' uses unexpected schem
.. a", $$4);                                                               .. a", $$4);
49                   }                                                     47                   }
50                                                                         48 
51                   Path $$6 = safeGetPath($$4);                          49                   Path $$6 = FileSystemUtil.safeGetPath($$4);
52                   $$0.put($$1, $$6.getParent());                        50                   $$0.put($$1, $$6.getParent());
53                } catch (Exception var12) {                              51                } catch (Exception var12) {
54                   LOGGER.error("Couldn't resolve path to vanilla assets 52                   LOGGER.error("Couldn't resolve path to vanilla assets
   ", (Throwable)var12);                                                      ", (Throwable)var12);

net/minecraft/server/packs/VanillaPackResourcesBuilder.java --- 4/4 --- Java
64    private BuiltInMetadata metadata = BuiltInMetadata.of();             62    private BuiltInMetadata metadata = BuiltInMetadata.of();
65    private final Set<String> namespaces = new HashSet<>();              63    private final Set<String> namespaces = new HashSet<>();
66                                                                         .. 
67    private static Path safeGetPath(URI $$0) throws IOException {        .. 
68       try {                                                             .. 
69          return Paths.get($$0);                                         .. 
70       } catch (FileSystemNotFoundException var3) {                      .. 
71       } catch (Throwable var4) {                                        .. 
72          LOGGER.warn("Unable to get path for: {}", $$0, var4);          .. 
73       }                                                                 .. 
74                                                                         .. 
75       try {                                                             .. 
76          FileSystems.newFileSystem($$0, Collections.emptyMap());        .. 
77       } catch (FileSystemAlreadyExistsException var2) {                 .. 
78       }                                                                 .. 
79                                                                         .. 
80       return Paths.get($$0);                                            .. 
81    }                                                                    .. 
82                                                                         64 
83    private boolean validateDirPath(Path $$0) {                          65    private boolean validateDirPath(Path $$0) {
84       if (!Files.exists($$0)) {                                         66       if (!Files.exists($$0)) {

net/minecraft/world/entity/ai/behavior/GiveGiftToHero.java --- 1/2 --- Java
21    private static final int MIN_TIME_BETWEEN_GIFTS = 600;               21    private static final int MIN_TIME_BETWEEN_GIFTS = 600;
22    private static final int MAX_TIME_BETWEEN_GIFTS = 6600;              22    private static final int MAX_TIME_BETWEEN_GIFTS = 6600;
23    private static final int TIME_TO_DELAY_FOR_HEAD_TO_FINISH_TURNING =  23    private static final int TIME_TO_DELAY_FOR_HEAD_TO_FINISH_TURNING = 
.. 20;                                                                     .. 20;
24    private static final Map<VillagerProfession, ResourceKey<LootTable>> 24    private static final Map<ResourceKey<VillagerProfession>, ResourceKe
..  GIFTS = ImmutableMap.<VillagerProfession, ResourceKey<LootTable>>build .. y<LootTable>> GIFTS = ImmutableMap.<ResourceKey<VillagerProfession>, Re
.. er()                                                                    .. sourceKey<LootTable>>builder()
25       .put(VillagerProfession.ARMORER, BuiltInLootTables.ARMORER_GIFT)  25       .put(VillagerProfession.ARMORER, BuiltInLootTables.ARMORER_GIFT)
26       .put(VillagerProfession.BUTCHER, BuiltInLootTables.BUTCHER_GIFT)  26       .put(VillagerProfession.BUTCHER, BuiltInLootTables.BUTCHER_GIFT)
27       .put(VillagerProfession.CARTOGRAPHER, BuiltInLootTables.CARTOGRAP 27       .put(VillagerProfession.CARTOGRAPHER, BuiltInLootTables.CARTOGRAP
   HER_GIFT)                                                                  HER_GIFT)

net/minecraft/world/entity/ai/behavior/GiveGiftToHero.java --- 2/2 --- Java
108       if ($$0.isBaby()) {                                              108       if ($$0.isBaby()) {
109          return BuiltInLootTables.BABY_VILLAGER_GIFT;                  109          return BuiltInLootTables.BABY_VILLAGER_GIFT;
110       } else {                                                         110       } else {
111          VillagerProfession $$1 = $$0.getVillagerData().getProfession( 111          Optional<ResourceKey<VillagerProfession>> $$1 = $$0.getVillag
... );                                                                     ... erData().profession().unwrapKey();
112          return GIFTS.getOrDefault($$1, BuiltInLootTables.UNEMPLOYED_G 112          return $$1.isEmpty() ? BuiltInLootTables.UNEMPLOYED_GIFT : GI
... IFT);                                                                  ... FTS.getOrDefault($$1.get(), BuiltInLootTables.UNEMPLOYED_GIFT);
113       }                                                                113       }
114    }                                                                   114    }
115                                                                        115 

net/minecraft/util/datafix/fixes/FixWolfHealth.java --- Java
 1 package net.minecraft.util.datafix.fixes;
 2 
 3 import com.mojang.datafixers.DSL;
 4 import com.mojang.datafixers.Typed;
 5 import com.mojang.datafixers.schemas.Schema;
 6 import net.minecraft.util.datafix.schemas.NamespacedSchema;
 7 import org.apache.commons.lang3.mutable.MutableBoolean;
 8 
 9 public class FixWolfHealth extends NamedEntityFix {
10    private static final String WOLF_ID = "minecraft:wolf";
11    private static final String WOLF_HEALTH = "minecraft:generic.max_health";
12 
13    public FixWolfHealth(Schema $$0) {
14       super($$0, false, "FixWolfHealth", References.ENTITY, "minecraft:wolf");
15    }
16 
17    @Override
18    protected Typed<?> fix(Typed<?> $$0) {
19       return $$0.update(
20          DSL.remainderFinder(),
21          $$0x -> {
22             MutableBoolean $$1 = new MutableBoolean(false);
23             $$0x = $$0x.update(
24                "Attributes",
25                $$1x -> $$1x.createList(
26                      $$1x.asStream()
27                         .map(
28                            $$1xx -> "minecraft:generic.max_health".equals(NamespacedSchema.ensureNamespaced($$1xx.get("Name").asString("")))
29                                  ? $$1xx.update("Base", $$1xxx -> {
30                                     if ($$1xxx.asDouble(0.0) == 20.0) {
31                                        $$1.setTrue();
32                                        return $$1xxx.createDouble(40.0);
33                                     } else {
34                                        return $$1xxx;
35                                     }
36                                  })
37                                  : $$1xx
38                         )
39                   )
40             );
41             if ($$1.isTrue()) {
42                $$0x = $$0x.update("Health", $$0xx -> $$0xx.createFloat($$0xx.asFloat(0.0F) * 2.0F));
43             }
44 
45             return $$0x;
46          }
47       );
48    }
49 }
50 

net/minecraft/world/entity/animal/Bucketable.java --- Java
32                                                                         32 
33    @Deprecated                                                          33    @Deprecated
34    static void saveDefaultDataToBucketTag(Mob $$0, ItemStack $$1) {     34    static void saveDefaultDataToBucketTag(Mob $$0, ItemStack $$1) {
35       $$1.set(DataComponents.CUSTOM_NAME, $$0.getCustomName());         35       $$1.copyFrom(DataComponents.CUSTOM_NAME, $$0);
36       CustomData.update(DataComponents.BUCKET_ENTITY_DATA, $$1, $$1x -> 36       CustomData.update(DataComponents.BUCKET_ENTITY_DATA, $$1, $$1x ->
..  {                                                                      ..  {
37          if ($$0.isNoAi()) {                                            37          if ($$0.isNoAi()) {
38             $$1x.putBoolean("NoAI", $$0.isNoAi());                      38             $$1x.putBoolean("NoAI", $$0.isNoAi());

net/minecraft/gametest/framework/GameTestAssertPosException.java --- Java
 2                                                                          2 
 3 import javax.annotation.Nullable;                                        3 import javax.annotation.Nullable;
 4 import net.minecraft.core.BlockPos;                                      4 import net.minecraft.core.BlockPos;
 .                                                                          5 import net.minecraft.network.chat.Component;
 5                                                                          6 
 6 public class GameTestAssertPosException extends GameTestAssertException  7 public class GameTestAssertPosException extends GameTestAssertException
 .  {                                                                       .  {
 7    private final BlockPos absolutePos;                                   8    private final BlockPos absolutePos;
 8    private final BlockPos relativePos;                                   9    private final BlockPos relativePos;
 9    private final long tick;                                              . 
10                                                                         10 
11    public GameTestAssertPosException(String $$0, BlockPos $$1, BlockPos 11    public GameTestAssertPosException(Component $$0, BlockPos $$1, Block
..  $$2, long $$3) {                                                       .. Pos $$2, int $$3) {
12       super($$0);                                                       12       super($$0, $$3);
13       this.absolutePos = $$1;                                           13       this.absolutePos = $$1;
14       this.relativePos = $$2;                                           14       this.relativePos = $$2;
15       this.tick = $$3;                                                  .. 
16    }                                                                    15    }
17                                                                         16 
18    @Override                                                            17    @Override
19    public String getMessage() {                                         18    public Component getDescription() {
..                                                                         19       return Component.translatable(
..                                                                         20          "test.error.position",
..                                                                         21          this.message,
20       String $$0 = this.absolutePos.getX()                              22          this.absolutePos.getX(),
21          + ","                                                          .. 
22          + this.absolutePos.getY()                                      23          this.absolutePos.getY(),
23          + ","                                                          .. 
24          + this.absolutePos.getZ()                                      24          this.absolutePos.getZ(),
25          + " (relative: "                                               .. 
26          + this.relativePos.getX()                                      25          this.relativePos.getX(),
27          + ","                                                          .. 
28          + this.relativePos.getY()                                      26          this.relativePos.getY(),
29          + ","                                                          .. 
30          + this.relativePos.getZ()                                      27          this.relativePos.getZ(),
..                                                                         28          this.tick
31          + ")";                                                         29       );
32       return super.getMessage() + " at " + $$0 + " (t=" + this.tick + " .. 
.. )";                                                                     .. 
33    }                                                                    30    }
34                                                                         31 
35    @Nullable                                                            32    @Nullable

net/minecraft/gametest/framework/StructureBlockPosFinder.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.stream.Stream;
 4 import net.minecraft.core.BlockPos;
 5 
 6 @FunctionalInterface
 7 public interface StructureBlockPosFinder {
 8    Stream<BlockPos> findStructureBlockPos();
 9 }
10 

net/minecraft/network/protocol/game/ClientboundTestInstanceBlockStatus.java --- Java
 1 package net.minecraft.network.protocol.game;
 2 
 3 import java.util.Optional;
 4 import net.minecraft.core.Vec3i;
 5 import net.minecraft.network.RegistryFriendlyByteBuf;
 6 import net.minecraft.network.chat.Component;
 7 import net.minecraft.network.chat.ComponentSerialization;
 8 import net.minecraft.network.codec.ByteBufCodecs;
 9 import net.minecraft.network.codec.StreamCodec;
10 import net.minecraft.network.protocol.Packet;
11 import net.minecraft.network.protocol.PacketType;
12 
13 public record ClientboundTestInstanceBlockStatus(Component status, Optional<Vec3i> size) implements Packet<ClientGamePacketListener> {
14    public static final StreamCodec<RegistryFriendlyByteBuf, ClientboundTestInstanceBlockStatus> STREAM_CODEC = StreamCodec.composite(
15       ComponentSerialization.STREAM_CODEC,
16       ClientboundTestInstanceBlockStatus::status,
17       ByteBufCodecs.optional(Vec3i.STREAM_CODEC),
18       ClientboundTestInstanceBlockStatus::size,
19       ClientboundTestInstanceBlockStatus::new
20    );
21 
22    @Override
23    public PacketType<ClientboundTestInstanceBlockStatus> type() {
24       return GamePacketTypes.CLIENTBOUND_TEST_INSTANCE_BLOCK_STATUS;
25    }
26 
27    public void handle(ClientGamePacketListener $$0) {
28       $$0.handleTestInstanceBlockStatus(this);
29    }
30 }
31 

net/minecraft/gametest/framework/GameTestRegistry.java --- Java
  1 package net.minecraft.gametest.framework;
  2 
  3 import com.google.common.collect.Lists;
  4 import com.google.common.collect.Maps;
  5 import com.google.common.collect.Sets;
  6 import java.lang.annotation.Annotation;
  7 import java.lang.reflect.InvocationTargetException;
  8 import java.lang.reflect.Method;
  9 import java.util.Arrays;
 10 import java.util.Collection;
 11 import java.util.Comparator;
 12 import java.util.Map;
 13 import java.util.Optional;
 14 import java.util.Set;
 15 import java.util.function.Consumer;
 16 import java.util.function.Function;
 17 import java.util.stream.Stream;
 18 import net.minecraft.server.level.ServerLevel;
 19 import net.minecraft.world.level.block.Rotation;
 20 
 21 public class GameTestRegistry {
 22    private static final Collection<TestFunction> TEST_FUNCTIONS = Lists.newArrayList();
 23    private static final Set<String> TEST_CLASS_NAMES = Sets.newHashSet();
 24    private static final Map<String, Consumer<ServerLevel>> BEFORE_BATCH_FUNCTIONS = Maps.newHashMap();
 25    private static final Map<String, Consumer<ServerLevel>> AFTER_BATCH_FUNCTIONS = Maps.newHashMap();
 26    private static final Set<TestFunction> LAST_FAILED_TESTS = Sets.newHashSet();
 27 
 28    public static void register(Class<?> $$0) {
 29       Arrays.stream($$0.getDeclaredMethods()).sorted(Comparator.comparing(Method::getName)).forEach(GameTestRegistry::register);
 30    }
 31 
 32    public static void register(Method $$0) {
 33       String $$1 = $$0.getDeclaringClass().getSimpleName();
 34       GameTest $$2 = $$0.getAnnotation(GameTest.class);
 35       if ($$2 != null) {
 36          TEST_FUNCTIONS.add(turnMethodIntoTestFunction($$0));
 37          TEST_CLASS_NAMES.add($$1);
 38       }
 39 
 40       GameTestGenerator $$3 = $$0.getAnnotation(GameTestGenerator.class);
 41       if ($$3 != null) {
 42          TEST_FUNCTIONS.addAll(useTestGeneratorMethod($$0));
 43          TEST_CLASS_NAMES.add($$1);
 44       }
 45 
 46       registerBatchFunction($$0, BeforeBatch.class, BeforeBatch::batch, BEFORE_BATCH_FUNCTIONS);
 47       registerBatchFunction($$0, AfterBatch.class, AfterBatch::batch, AFTER_BATCH_FUNCTIONS);
 48    }
 49 
 50    private static <T extends Annotation> void registerBatchFunction(Method $$0, Class<T> $$1, Function<T, String> $$2, Map<String, Consumer<ServerLevel>> $$3) {
 51       T $$4 = $$0.getAnnotation($$1);
 52       if ($$4 != null) {
 53          String $$5 = $$2.apply($$4);
 54          Consumer<ServerLevel> $$6 = $$3.putIfAbsent($$5, (Consumer<ServerLevel>)turnMethodIntoConsumer($$0));
 55          if ($$6 != null) {
 56             throw new RuntimeException("Hey, there should only be one " + $$1 + " method per batch. Batch '" + $$5 + "' has more than one!");
 57          }
 58       }
 59    }
 60 
 61    public static Stream<TestFunction> getTestFunctionsForClassName(String $$0) {
 62       return TEST_FUNCTIONS.stream().filter($$1 -> isTestFunctionPartOfClass($$1, $$0));
 63    }
 64 
 65    public static Collection<TestFunction> getAllTestFunctions() {
 66       return TEST_FUNCTIONS;
 67    }
 68 
 69    public static Collection<String> getAllTestClassNames() {
 70       return TEST_CLASS_NAMES;
 71    }
 72 
 73    public static boolean isTestClass(String $$0) {
 74       return TEST_CLASS_NAMES.contains($$0);
 75    }
 76 
 77    public static Consumer<ServerLevel> getBeforeBatchFunction(String $$0) {
 78       return BEFORE_BATCH_FUNCTIONS.getOrDefault($$0, $$0x -> {
 79       });
 80    }
 81 
 82    public static Consumer<ServerLevel> getAfterBatchFunction(String $$0) {
 83       return AFTER_BATCH_FUNCTIONS.getOrDefault($$0, $$0x -> {
 84       });
 85    }
 86 
 87    public static Optional<TestFunction> findTestFunction(String $$0) {
 88       return getAllTestFunctions().stream().filter($$1 -> $$1.testName().equalsIgnoreCase($$0)).findFirst();
 89    }
 90 
 91    public static TestFunction getTestFunction(String $$0) {
 92       Optional<TestFunction> $$1 = findTestFunction($$0);
 93       if ($$1.isEmpty()) {
 94          throw new IllegalArgumentException("Can't find the test function for " + $$0);
 95       } else {
 96          return $$1.get();
 97       }
 98    }
 99 
100    private static Collection<TestFunction> useTestGeneratorMethod(Method $$0) {
101       try {
102          Object $$1 = $$0.getDeclaringClass().newInstance();
103          return (Collection<TestFunction>)$$0.invoke($$1);
104       } catch (ReflectiveOperationException var2) {
105          throw new RuntimeException(var2);
106       }
107    }
108 
109    private static TestFunction turnMethodIntoTestFunction(Method $$0) {
110       GameTest $$1 = $$0.getAnnotation(GameTest.class);
111       String $$2 = $$0.getDeclaringClass().getSimpleName();
112       String $$3 = $$2.toLowerCase();
113       String $$4 = $$3 + "." + $$0.getName().toLowerCase();
114       String $$5 = $$1.template().isEmpty() ? $$4 : $$3 + "." + $$1.template();
115       String $$6 = $$1.batch();
116       Rotation $$7 = StructureUtils.getRotationForRotationSteps($$1.rotationSteps());
117       return new TestFunction(
118          $$6,
119          $$4,
120          $$5,
121          $$7,
122          $$1.timeoutTicks(),
123          $$1.setupTicks(),
124          $$1.required(),
125          $$1.manualOnly(),
126          $$1.requiredSuccesses(),
127          $$1.attempts(),
128          $$1.skyAccess(),
129          (Consumer<GameTestHelper>)turnMethodIntoConsumer($$0)
130       );
131    }
132 
133    private static Consumer<?> turnMethodIntoConsumer(Method $$0) {
134       return $$1 -> {
135          try {
136             Object $$2 = $$0.getDeclaringClass().newInstance();
137             $$0.invoke($$2, $$1);
138          } catch (InvocationTargetException var3) {
139             if (var3.getCause() instanceof RuntimeException) {
140                throw (RuntimeException)var3.getCause();
141             } else {
142                throw new RuntimeException(var3.getCause());
143             }
144          } catch (ReflectiveOperationException var4) {
145             throw new RuntimeException(var4);
146          }
147       };
148    }
149 
150    private static boolean isTestFunctionPartOfClass(TestFunction $$0, String $$1) {
151       return $$0.testName().toLowerCase().startsWith($$1.toLowerCase() + ".");
152    }
153 
154    public static Stream<TestFunction> getLastFailedTests() {
155       return LAST_FAILED_TESTS.stream();
156    }
157 
158    public static void rememberFailedTest(TestFunction $$0) {
159       LAST_FAILED_TESTS.add($$0);
160    }
161 
162    public static void forgetFailedTests() {
163       LAST_FAILED_TESTS.clear();
164    }
165 }
166 

net/minecraft/gametest/framework/GameTestInstance.java --- Java
  1 package net.minecraft.gametest.framework;
  2 
  3 import com.mojang.serialization.Codec;
  4 import com.mojang.serialization.MapCodec;
  5 import net.minecraft.ChatFormatting;
  6 import net.minecraft.core.Holder;
  7 import net.minecraft.core.Registry;
  8 import net.minecraft.core.registries.BuiltInRegistries;
  9 import net.minecraft.core.registries.Registries;
 10 import net.minecraft.network.chat.Component;
 11 import net.minecraft.network.chat.MutableComponent;
 12 import net.minecraft.resources.ResourceKey;
 13 import net.minecraft.resources.ResourceLocation;
 14 import net.minecraft.world.level.block.Rotation;
 15 
 16 public abstract class GameTestInstance {
 17    public static final Codec<GameTestInstance> DIRECT_CODEC = BuiltInRegistries.TEST_INSTANCE_TYPE.byNameCodec().dispatch(GameTestInstance::codec, $$0 -> $$0);
 18    private final TestData<Holder<TestEnvironmentDefinition>> info;
 19 
 20    public static MapCodec<? extends GameTestInstance> bootstrap(Registry<MapCodec<? extends GameTestInstance>> $$0) {
 21       register($$0, "block_based", BlockBasedTestInstance.CODEC);
 22       return register($$0, "function", FunctionGameTestInstance.CODEC);
 23    }
 24 
 25    private static MapCodec<? extends GameTestInstance> register(
 26       Registry<MapCodec<? extends GameTestInstance>> $$0, String $$1, MapCodec<? extends GameTestInstance> $$2
 27    ) {
 28       return Registry.register($$0, ResourceKey.create(Registries.TEST_INSTANCE_TYPE, ResourceLocation.withDefaultNamespace($$1)), $$2);
 29    }
 30 
 31    protected GameTestInstance(TestData<Holder<TestEnvironmentDefinition>> $$0) {
 32       this.info = $$0;
 33    }
 34 
 35    public abstract void run(GameTestHelper var1);
 36 
 37    public abstract MapCodec<? extends GameTestInstance> codec();
 38 
 39    public Holder<TestEnvironmentDefinition> batch() {
 40       return this.info.environment();
 41    }
 42 
 43    public ResourceLocation structure() {
 44       return this.info.structure();
 45    }
 46 
 47    public int maxTicks() {
 48       return this.info.maxTicks();
 49    }
 50 
 51    public int setupTicks() {
 52       return this.info.setupTicks();
 53    }
 54 
 55    public boolean required() {
 56       return this.info.required();
 57    }
 58 
 59    public boolean manualOnly() {
 60       return this.info.manualOnly();
 61    }
 62 
 63    public int maxAttempts() {
 64       return this.info.maxAttempts();
 65    }
 66 
 67    public int requiredSuccesses() {
 68       return this.info.requiredSuccesses();
 69    }
 70 
 71    public boolean skyAccess() {
 72       return this.info.skyAccess();
 73    }
 74 
 75    public Rotation rotation() {
 76       return this.info.rotation();
 77    }
 78 
 79    protected TestData<Holder<TestEnvironmentDefinition>> info() {
 80       return this.info;
 81    }
 82 
 83    protected abstract MutableComponent typeDescription();
 84 
 85    public Component describe() {
 86       return this.describeType().append(this.describeInfo());
 87    }
 88 
 89    protected MutableComponent describeType() {
 90       return this.descriptionRow("test_instance.description.type", this.typeDescription());
 91    }
 92 
 93    protected Component describeInfo() {
 94       return this.descriptionRow("test_instance.description.structure", this.info.structure().toString())
 95          .append(this.descriptionRow("test_instance.description.batch", this.info.environment().getRegisteredName()));
 96    }
 97 
 98    protected MutableComponent descriptionRow(String $$0, String $$1) {
 99       return this.descriptionRow($$0, Component.literal($$1));
100    }
101 
102    protected MutableComponent descriptionRow(String $$0, MutableComponent $$1) {
103       return Component.translatable($$0, $$1.withStyle(ChatFormatting.BLUE)).append(Component.literal("\n"));
104    }
105 }
106 

net/minecraft/network/protocol/game/ServerboundTestInstanceBlockActionPacket.java --- Java
 1 package net.minecraft.network.protocol.game;
 2 
 3 import io.netty.buffer.ByteBuf;
 4 import java.util.Optional;
 5 import java.util.function.IntFunction;
 6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.core.Vec3i;
 8 import net.minecraft.gametest.framework.GameTestInstance;
 9 import net.minecraft.network.RegistryFriendlyByteBuf;
10 import net.minecraft.network.codec.ByteBufCodecs;
11 import net.minecraft.network.codec.StreamCodec;
12 import net.minecraft.network.protocol.Packet;
13 import net.minecraft.network.protocol.PacketType;
14 import net.minecraft.resources.ResourceKey;
15 import net.minecraft.util.ByIdMap;
16 import net.minecraft.world.level.block.Rotation;
17 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
18 
19 public record ServerboundTestInstanceBlockActionPacket(BlockPos pos, ServerboundTestInstanceBlockActionPacket.Action action, TestInstanceBlockEntity.Data data)
20    implements Packet<ServerGamePacketListener> {
21    public static final StreamCodec<RegistryFriendlyByteBuf, ServerboundTestInstanceBlockActionPacket> STREAM_CODEC = StreamCodec.composite(
22       BlockPos.STREAM_CODEC,
23       ServerboundTestInstanceBlockActionPacket::pos,
24       ServerboundTestInstanceBlockActionPacket.Action.STREAM_CODEC,
25       ServerboundTestInstanceBlockActionPacket::action,
26       TestInstanceBlockEntity.Data.STREAM_CODEC,
27       ServerboundTestInstanceBlockActionPacket::data,
28       ServerboundTestInstanceBlockActionPacket::new
29    );
30 
31    public ServerboundTestInstanceBlockActionPacket(
32       BlockPos $$0, ServerboundTestInstanceBlockActionPacket.Action $$1, Optional<ResourceKey<GameTestInstance>> $$2, Vec3i $$3, Rotation $$4, boolean $$5
33    ) {
34       this($$0, $$1, new TestInstanceBlockEntity.Data($$2, $$3, $$4, $$5, TestInstanceBlockEntity.Status.CLEARED, Optional.empty()));
35    }
36 
37    @Override
38    public PacketType<ServerboundTestInstanceBlockActionPacket> type() {
39       return GamePacketTypes.SERVERBOUND_TEST_INSTANCE_BLOCK_ACTION;
40    }
41 
42    public void handle(ServerGamePacketListener $$0) {
43       $$0.handleTestInstanceBlockAction(this);
44    }
45 
46    public static enum Action {
47       INIT(0),
48       QUERY(1),
49       SET(2),
50       RESET(3),
51       SAVE(4),
52       EXPORT(5),
53       RUN(6);
54 
55       private static final IntFunction<ServerboundTestInstanceBlockActionPacket.Action> BY_ID = ByIdMap.continuous(
56          $$0 -> $$0.id, values(), ByIdMap.OutOfBoundsStrategy.ZERO
57       );
58       public static final StreamCodec<ByteBuf, ServerboundTestInstanceBlockActionPacket.Action> STREAM_CODEC = ByteBufCodecs.idMapper(BY_ID, $$0 -> $$0.id);
59       private final int id;
60 
61       private Action(final int $$0) {
62          this.id = $$0;
63       }
64    }
65 }
66 

net/minecraft/world/entity/projectile/AbstractArrow.java --- Text (4 Java parse errors, exceeded DFT_PARSE_ERROR_LIMIT)
81    protected AbstractArrow(EntityType<? extends AbstractArrow> $$0, dou 81    protected AbstractArrow(EntityType<? extends AbstractArrow> $$0, dou
.. ble $$1, double $$2, double $$3, Level $$4, ItemStack $$5, @Nullable It .. ble $$1, double $$2, double $$3, Level $$4, ItemStack $$5, @Nullable It
.. emStack $$6) {                                                          .. emStack $$6) {
82       this($$0, $$4);                                                   82       this($$0, $$4);
83       this.pickupItemStack = $$5.copy();                                83       this.pickupItemStack = $$5.copy();
84       this.setCustomName($$5.get(DataComponents.CUSTOM_NAME));          84       this.applyComponentsFromItemStack($$5);
85       Unit $$7 = $$5.remove(DataComponents.INTANGIBLE_PROJECTILE);      85       Unit $$7 = $$5.remove(DataComponents.INTANGIBLE_PROJECTILE);
86       if ($$7 != null) {                                                86       if ($$7 != null) {
87          this.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;              87          this.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;

net/minecraft/world/entity/monster/Spider.java --- Java
147       if ($$4.nextInt(100) == 0) {                                     147       if ($$4.nextInt(100) == 0) {
148          Skeleton $$5 = EntityType.SKELETON.create(this.level(), Entit 148          Skeleton $$5 = EntityType.SKELETON.create(this.level(), Entit
... ySpawnReason.JOCKEY);                                                  ... ySpawnReason.JOCKEY);
149          if ($$5 != null) {                                            149          if ($$5 != null) {
150             $$5.moveTo(this.getX(), this.getY(), this.getZ(), this.get 150             $$5.snapTo(this.getX(), this.getY(), this.getZ(), this.get
... YRot(), 0.0F);                                                         ... YRot(), 0.0F);
151             $$5.finalizeSpawn($$0, $$1, $$2, null);                    151             $$5.finalizeSpawn($$0, $$1, $$2, null);
152             $$5.startRiding(this);                                     152             $$5.startRiding(this);
153          }                                                             153          }

net/minecraft/world/level/entity/PersistentEntitySectionManager.java --- Java
100       return $$0.isAlwaysTicking() ? Visibility.TICKING : $$1;         100       return $$0.isAlwaysTicking() ? Visibility.TICKING : $$1;
101    }                                                                   101    }
...                                                                        102 
...                                                                        103    public boolean isTicking(ChunkPos $$0) {
...                                                                        104       return this.chunkVisibility.get($$0.toLong()).isTicking();
...                                                                        105    }
102                                                                        106 
103    public void addLegacyChunkEntities(Stream<T> $$0) {                 107    public void addLegacyChunkEntities(Stream<T> $$0) {
104       $$0.forEach($$0x -> this.addEntity((T)$$0x, true));              108       $$0.forEach($$0x -> this.addEntity((T)$$0x, true));

net/minecraft/world/level/BaseSpawner.java --- 1/2 --- Java
113                   }                                                    113                   }
114                                                                        114 
115                   Entity $$15 = EntityType.loadEntityRecursive($$6, $$ 115                   Entity $$15 = EntityType.loadEntityRecursive($$6, $$
... 0, EntitySpawnReason.SPAWNER, $$3x -> {                                ... 0, EntitySpawnReason.SPAWNER, $$3x -> {
116                      $$3x.moveTo($$10, $$11, $$12, $$3x.getYRot(), $$3 116                      $$3x.snapTo($$10, $$11, $$12, $$3x.getYRot(), $$3
... x.getXRot());                                                          ... x.getXRot());
117                      return $$3x;                                      117                      return $$3x;
118                   });                                                  118                   });
119                   if ($$15 == null) {                                  119                   if ($$15 == null) {

net/minecraft/world/level/BaseSpawner.java --- 2/2 --- Java
140                      return;                                           140                      return;
141                   }                                                    141                   }
142                                                                        142 
143                   $$15.moveTo($$15.getX(), $$15.getY(), $$15.getZ(), $ 143                   $$15.snapTo($$15.getX(), $$15.getY(), $$15.getZ(), $
... $3.nextFloat() * 360.0F, 0.0F);                                        ... $3.nextFloat() * 360.0F, 0.0F);
144                   if ($$15 instanceof Mob $$17) {                      144                   if ($$15 instanceof Mob $$17) {
145                      if ($$4.getCustomSpawnRules().isEmpty() && !$$17. 145                      if ($$4.getCustomSpawnRules().isEmpty() && !$$17.
... checkSpawnRules($$0, EntitySpawnReason.SPAWNER) || !$$17.checkSpawnObs ... checkSpawnRules($$0, EntitySpawnReason.SPAWNER) || !$$17.checkSpawnObs
... truction($$0)) {                                                       ... truction($$0)) {
146                         continue;                                      146                         continue;

net/minecraft/gametest/framework/GameTestInstances.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.function.Consumer;
 4 import net.minecraft.core.HolderGetter;
 5 import net.minecraft.core.registries.Registries;
 6 import net.minecraft.data.worldgen.BootstrapContext;
 7 import net.minecraft.resources.ResourceKey;
 8 import net.minecraft.resources.ResourceLocation;
 9 
10 public interface GameTestInstances {
11    ResourceKey<GameTestInstance> ALWAYS_PASS = create("always_pass");
12 
13    static void bootstrap(BootstrapContext<GameTestInstance> $$0) {
14       HolderGetter<Consumer<GameTestHelper>> $$1 = $$0.lookup(Registries.TEST_FUNCTION);
15       HolderGetter<TestEnvironmentDefinition> $$2 = $$0.lookup(Registries.TEST_ENVIRONMENT);
16       $$0.register(
17          ALWAYS_PASS,
18          new FunctionGameTestInstance(
19             $$1.getOrThrow(BuiltinTestFunctions.ALWAYS_PASS),
20             new TestData<>($$2.getOrThrow(GameTestEnvironments.DEFAULT_KEY), ResourceLocation.withDefaultNamespace("empty"), 1, 1, false)
21          )
22       );
23    }
24 
25    private static ResourceKey<GameTestInstance> create(String $$0) {
26       return ResourceKey.create(Registries.TEST_INSTANCE, ResourceLocation.withDefaultNamespace($$0));
27    }
28 }
29 

net/minecraft/world/entity/ExperienceOrb.java --- 1/9 --- Java
 5 import javax.annotation.Nullable;                                        5 import javax.annotation.Nullable;
 6 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.nbt.CompoundTag;                                    7 import net.minecraft.nbt.CompoundTag;
 .                                                                          8 import net.minecraft.network.syncher.EntityDataAccessor;
 .                                                                          9 import net.minecraft.network.syncher.EntityDataSerializers;
 8 import net.minecraft.network.syncher.SynchedEntityData;                 10 import net.minecraft.network.syncher.SynchedEntityData;
 9 import net.minecraft.server.level.ServerLevel;                          11 import net.minecraft.server.level.ServerLevel;
10 import net.minecraft.server.level.ServerPlayer;                         12 import net.minecraft.server.level.ServerPlayer;

net/minecraft/world/entity/ExperienceOrb.java --- 2/9 --- Java
22 import net.minecraft.world.phys.Vec3;                                   24 import net.minecraft.world.phys.Vec3;
23                                                                         25 
24 public class ExperienceOrb extends Entity {                             26 public class ExperienceOrb extends Entity {
..                                                                         27    protected static final EntityDataAccessor<Integer> DATA_VALUE = Sync
..                                                                         .. hedEntityData.defineId(ExperienceOrb.class, EntityDataSerializers.INT);
25    private static final int LIFETIME = 6000;                            28    private static final int LIFETIME = 6000;
26    private static final int ENTITY_SCAN_PERIOD = 20;                    29    private static final int ENTITY_SCAN_PERIOD = 20;
27    private static final int MAX_FOLLOW_DIST = 8;                        30    private static final int MAX_FOLLOW_DIST = 8;
28    private static final int ORB_GROUPS_PER_AREA = 40;                   31    private static final int ORB_GROUPS_PER_AREA = 40;
29    private static final double ORB_MERGE_DISTANCE = 0.5;                32    private static final double ORB_MERGE_DISTANCE = 0.5;
30    private int age;                                                     33    private int age;
31    private int health = 5;                                              34    private int health = 5;
32    private int value;                                                   .. 
33    private int count = 1;                                               35    private int count = 1;
34    @Nullable                                                            36    @Nullable
35    private Player followingPlayer;                                      37    private Player followingPlayer;

net/minecraft/world/entity/ExperienceOrb.java --- 3/9 --- Java
45          );                                                             47          );
46       }                                                                 48       }
47                                                                         49 
48       this.value = $$4;                                                 50       this.setValue($$4);
49    }                                                                    51    }
50                                                                         52 
51    public ExperienceOrb(EntityType<? extends ExperienceOrb> $$0, Level  53    public ExperienceOrb(EntityType<? extends ExperienceOrb> $$0, Level 
   $$1) {                                                                     $$1) {

net/minecraft/world/entity/ExperienceOrb.java --- 4/9 --- Java
59                                                                         61 
60    @Override                                                            62    @Override
61    protected void defineSynchedData(SynchedEntityData.Builder $$0) {    63    protected void defineSynchedData(SynchedEntityData.Builder $$0) {
..                                                                         64       $$0.define(DATA_VALUE, 0);
62    }                                                                    65    }
63                                                                         66 
64    @Override                                                            67    @Override

net/minecraft/world/entity/ExperienceOrb.java --- 5/9 --- Java
107          this.setDeltaMovement(this.getDeltaMovement().scale((double)$ 110          this.setDeltaMovement(this.getDeltaMovement().scale((double)$
... $2));                                                                  ... $2));
108          if (this.verticalCollisionBelow && $$1 < -this.getGravity())  111          if (this.verticalCollisionBelow && $$1 < -this.getGravity()) 
... {                                                                      ... {
109             this.setDeltaMovement(new Vec3(this.getDeltaMovement().x,  112             this.setDeltaMovement(new Vec3(this.getDeltaMovement().x, 
... -$$1 * 0.4, this.getDeltaMovement().z));                               ... -$$1 * 0.4, this.getDeltaMovement().z));
110             this.hasImpulse = true;                                    ... 
111          }                                                             113          }
112                                                                        114 
113          this.age++;                                                   115          this.age++;

net/minecraft/world/entity/ExperienceOrb.java --- 6/9 --- Java
177    }                                                                   179    }
178                                                                        180 
179    private boolean canMerge(ExperienceOrb $$0) {                       181    private boolean canMerge(ExperienceOrb $$0) {
180       return $$0 != this && canMerge($$0, this.getId(), this.value);   182       return $$0 != this && canMerge($$0, this.getId(), this.getValue(
...                                                                        ... ));
181    }                                                                   183    }
182                                                                        184 
183    private static boolean canMerge(ExperienceOrb $$0, int $$1, int $$2 185    private static boolean canMerge(ExperienceOrb $$0, int $$1, int $$2
... ) {                                                                    ... ) {
184       return !$$0.isRemoved() && ($$0.getId() - $$1) % 40 == 0 && $$0. 186       return !$$0.isRemoved() && ($$0.getId() - $$1) % 40 == 0 && $$0.
... value == $$2;                                                          ... getValue() == $$2;
185    }                                                                   187    }
186                                                                        188 
187    private void merge(ExperienceOrb $$0) {                             189    private void merge(ExperienceOrb $$0) {

net/minecraft/world/entity/ExperienceOrb.java --- 7/9 --- Java
223    public void addAdditionalSaveData(CompoundTag $$0) {                225    public void addAdditionalSaveData(CompoundTag $$0) {
224       $$0.putShort("Health", (short)this.health);                      226       $$0.putShort("Health", (short)this.health);
225       $$0.putShort("Age", (short)this.age);                            227       $$0.putShort("Age", (short)this.age);
226       $$0.putShort("Value", (short)this.value);                        228       $$0.putShort("Value", (short)this.getValue());
227       $$0.putInt("Count", this.count);                                 229       $$0.putInt("Count", this.count);
228    }                                                                   230    }
229                                                                        231 
230    @Override                                                           232    @Override
231    public void readAdditionalSaveData(CompoundTag $$0) {               233    public void readAdditionalSaveData(CompoundTag $$0) {
232       this.health = $$0.getShort("Health");                            234       this.health = $$0.getShort("Health");
233       this.age = $$0.getShort("Age");                                  235       this.age = $$0.getShort("Age");
234       this.value = $$0.getShort("Value");                              236       this.setValue($$0.getShort("Value"));
235       this.count = Math.max($$0.getInt("Count"), 1);                   237       this.count = Math.max($$0.getInt("Count"), 1);
236    }                                                                   238    }
237                                                                        239 

net/minecraft/world/entity/ExperienceOrb.java --- 8/9 --- Java
241          if ($$0.takeXpDelay == 0) {                                   243          if ($$0.takeXpDelay == 0) {
242             $$0.takeXpDelay = 2;                                       244             $$0.takeXpDelay = 2;
243             $$0.take(this, 1);                                         245             $$0.take(this, 1);
244             int $$3 = this.repairPlayerItems($$1, this.value);         246             int $$3 = this.repairPlayerItems($$1, this.getValue());
245             if ($$3 > 0) {                                             247             if ($$3 > 0) {
246                $$0.giveExperiencePoints($$3);                          248                $$0.giveExperiencePoints($$3);
247             }                                                          249             }

net/minecraft/world/entity/ExperienceOrb.java --- 9/9 --- Java
275    }                                                                   277    }
276                                                                        278 
277    public int getValue() {                                             279    public int getValue() {
278       return this.value;                                               280       return this.entityData.get(DATA_VALUE);
279    }                                                                   281    }
...                                                                        282 
...                                                                        283    private void setValue(int $$0) {
...                                                                        284       this.entityData.set(DATA_VALUE, $$0);
...                                                                        285    }
280                                                                        286 
281    public int getIcon() {                                              287    public int getIcon() {
...                                                                        288       int $$0 = this.getValue();
282       if (this.value >= 2477) {                                        289       if ($$0 >= 2477) {
283          return 10;                                                    290          return 10;
284       } else if (this.value >= 1237) {                                 291       } else if ($$0 >= 1237) {
285          return 9;                                                     292          return 9;
286       } else if (this.value >= 617) {                                  293       } else if ($$0 >= 617) {
287          return 8;                                                     294          return 8;
288       } else if (this.value >= 307) {                                  295       } else if ($$0 >= 307) {
289          return 7;                                                     296          return 7;
290       } else if (this.value >= 149) {                                  297       } else if ($$0 >= 149) {
291          return 6;                                                     298          return 6;
292       } else if (this.value >= 73) {                                   299       } else if ($$0 >= 73) {
293          return 5;                                                     300          return 5;
294       } else if (this.value >= 37) {                                   301       } else if ($$0 >= 37) {
295          return 4;                                                     302          return 4;
296       } else if (this.value >= 17) {                                   303       } else if ($$0 >= 17) {
297          return 3;                                                     304          return 3;
298       } else if (this.value >= 7) {                                    305       } else if ($$0 >= 7) {
299          return 2;                                                     306          return 2;
300       } else {                                                         307       } else {
301          return this.value >= 3 ? 1 : 0;                               308          return $$0 >= 3 ? 1 : 0;
302       }                                                                309       }
303    }                                                                   310    }
304                                                                        311 

net/minecraft/resources/RegistryDataLoader.java --- 1/4 --- Java
34 import net.minecraft.core.RegistrySynchronization;                      34 import net.minecraft.core.RegistrySynchronization;
35 import net.minecraft.core.WritableRegistry;                             35 import net.minecraft.core.WritableRegistry;
36 import net.minecraft.core.registries.Registries;                        36 import net.minecraft.core.registries.Registries;
..                                                                         37 import net.minecraft.gametest.framework.GameTestInstance;
..                                                                         38 import net.minecraft.gametest.framework.TestEnvironmentDefinition;
37 import net.minecraft.nbt.NbtOps;                                        39 import net.minecraft.nbt.NbtOps;
38 import net.minecraft.nbt.Tag;                                           40 import net.minecraft.nbt.Tag;
39 import net.minecraft.network.chat.ChatType;                             41 import net.minecraft.network.chat.ChatType;

net/minecraft/resources/RegistryDataLoader.java --- 2/4 --- Java
109       new RegistryDataLoader.RegistryData<>(Registries.ENCHANTMENT, En 111       new RegistryDataLoader.RegistryData<>(Registries.ENCHANTMENT, En
... chantment.DIRECT_CODEC),                                               ... chantment.DIRECT_CODEC),
110       new RegistryDataLoader.RegistryData<>(Registries.ENCHANTMENT_PRO 112       new RegistryDataLoader.RegistryData<>(Registries.ENCHANTMENT_PRO
... VIDER, EnchantmentProvider.DIRECT_CODEC),                              ... VIDER, EnchantmentProvider.DIRECT_CODEC),
111       new RegistryDataLoader.RegistryData<>(Registries.JUKEBOX_SONG, J 113       new RegistryDataLoader.RegistryData<>(Registries.JUKEBOX_SONG, J
... ukeboxSong.DIRECT_CODEC),                                              ... ukeboxSong.DIRECT_CODEC),
112       new RegistryDataLoader.RegistryData<>(Registries.INSTRUMENT, Ins 114       new RegistryDataLoader.RegistryData<>(Registries.INSTRUMENT, Ins
... trument.DIRECT_CODEC)                                                  ... trument.DIRECT_CODEC),
...                                                                        115       new RegistryDataLoader.RegistryData<>(Registries.TEST_ENVIRONMEN
...                                                                        ... T, TestEnvironmentDefinition.DIRECT_CODEC),
...                                                                        116       new RegistryDataLoader.RegistryData<>(Registries.TEST_INSTANCE, 
...                                                                        ... GameTestInstance.DIRECT_CODEC)
113    );                                                                  117    );
114    public static final List<RegistryDataLoader.RegistryData<?>> DIMENS 118    public static final List<RegistryDataLoader.RegistryData<?>> DIMENS
... ION_REGISTRIES = List.of(                                              ... ION_REGISTRIES = List.of(
115       new RegistryDataLoader.RegistryData<>(Registries.LEVEL_STEM, Lev 119       new RegistryDataLoader.RegistryData<>(Registries.LEVEL_STEM, Lev
    elStem.CODEC)                                                              elStem.CODEC)

net/minecraft/resources/RegistryDataLoader.java --- 3/4 --- Java
127       new RegistryDataLoader.RegistryData<>(Registries.BANNER_PATTERN, 131       new RegistryDataLoader.RegistryData<>(Registries.BANNER_PATTERN,
...  BannerPattern.DIRECT_CODEC),                                          ...  BannerPattern.DIRECT_CODEC),
128       new RegistryDataLoader.RegistryData<>(Registries.ENCHANTMENT, En 132       new RegistryDataLoader.RegistryData<>(Registries.ENCHANTMENT, En
... chantment.DIRECT_CODEC),                                               ... chantment.DIRECT_CODEC),
129       new RegistryDataLoader.RegistryData<>(Registries.JUKEBOX_SONG, J 133       new RegistryDataLoader.RegistryData<>(Registries.JUKEBOX_SONG, J
... ukeboxSong.DIRECT_CODEC),                                              ... ukeboxSong.DIRECT_CODEC),
130       new RegistryDataLoader.RegistryData<>(Registries.INSTRUMENT, Ins 134       new RegistryDataLoader.RegistryData<>(Registries.INSTRUMENT, Ins
... trument.DIRECT_CODEC)                                                  ... trument.DIRECT_CODEC),
...                                                                        135       new RegistryDataLoader.RegistryData<>(Registries.TEST_ENVIRONMEN
...                                                                        ... T, TestEnvironmentDefinition.DIRECT_CODEC),
...                                                                        136       new RegistryDataLoader.RegistryData<>(Registries.TEST_INSTANCE, 
...                                                                        ... GameTestInstance.DIRECT_CODEC)
131    );                                                                  137    );
132                                                                        138 
133    public static RegistryAccess.Frozen load(ResourceManager $$0, List< 139    public static RegistryAccess.Frozen load(ResourceManager $$0, List<
    HolderLookup.RegistryLookup<?>> $$1, List<RegistryDataLoader.RegistryD     HolderLookup.RegistryLookup<?>> $$1, List<RegistryDataLoader.RegistryD
    ata<?>> $$2) {                                                             ata<?>> $$2) {

net/minecraft/resources/RegistryDataLoader.java --- 4/4 --- Java
160          }                                                             166          }
161                                                                        167 
162          if ($$1x.data.requiredNonEmpty && $$2x.size() == 0) {         168          if ($$1x.data.requiredNonEmpty && $$2x.size() == 0) {
163             $$3.put($$2x.key(), new IllegalStateException("Registry mu 169             $$3.put($$2x.key(), new IllegalStateException("Registry mu
... st be non-empty"));                                                    ... st be non-empty: " + $$2x.key().location()));
164          }                                                             170          }
165       });                                                              171       });
166       if (!$$3.isEmpty()) {                                            172       if (!$$3.isEmpty()) {

net/minecraft/util/datafix/fixes/References.java --- Java
29    public static final TypeReference VILLAGER_TRADE = reference("villag 29    public static final TypeReference VILLAGER_TRADE = reference("villag
.. er_trade");                                                             .. er_trade");
30    public static final TypeReference PARTICLE = reference("particle");  30    public static final TypeReference PARTICLE = reference("particle");
31    public static final TypeReference TEXT_COMPONENT = reference("text_c 31    public static final TypeReference TEXT_COMPONENT = reference("text_c
.. omponent");                                                             .. omponent");
..                                                                         32    public static final TypeReference ENTITY_EQUIPMENT = reference("enti
..                                                                         .. ty_equipment");
32    public static final TypeReference ENTITY_NAME = reference("entity_na 33    public static final TypeReference ENTITY_NAME = reference("entity_na
.. me");                                                                   .. me");
33    public static final TypeReference ENTITY_TREE = reference("entity_tr 34    public static final TypeReference ENTITY_TREE = reference("entity_tr
.. ee");                                                                   .. ee");
34    public static final TypeReference ENTITY = reference("entity");      35    public static final TypeReference ENTITY = reference("entity");

net/minecraft/world/item/ItemStack.java --- 1/6 --- Java
26 import net.minecraft.core.HolderLookup;                                 26 import net.minecraft.core.HolderLookup;
27 import net.minecraft.core.HolderSet;                                    27 import net.minecraft.core.HolderSet;
28 import net.minecraft.core.NonNullList;                                  28 import net.minecraft.core.NonNullList;
..                                                                         29 import net.minecraft.core.component.DataComponentGetter;
29 import net.minecraft.core.component.DataComponentHolder;                30 import net.minecraft.core.component.DataComponentHolder;
30 import net.minecraft.core.component.DataComponentMap;                   31 import net.minecraft.core.component.DataComponentMap;
31 import net.minecraft.core.component.DataComponentPatch;                 32 import net.minecraft.core.component.DataComponentPatch;

net/minecraft/world/item/ItemStack.java --- 2/6 --- Java
87 import net.minecraft.world.item.enchantment.EnchantmentHelper;          88 import net.minecraft.world.item.enchantment.EnchantmentHelper;
88 import net.minecraft.world.item.enchantment.ItemEnchantments;           89 import net.minecraft.world.item.enchantment.ItemEnchantments;
89 import net.minecraft.world.item.enchantment.Repairable;                 90 import net.minecraft.world.item.enchantment.Repairable;
..                                                                         91 import net.minecraft.world.item.equipment.Equippable;
90 import net.minecraft.world.level.ItemLike;                              92 import net.minecraft.world.level.ItemLike;
91 import net.minecraft.world.level.Level;                                 93 import net.minecraft.world.level.Level;
92 import net.minecraft.world.level.block.state.BlockState;                94 import net.minecraft.world.level.block.state.BlockState;

net/minecraft/world/item/ItemStack.java --- 3/6 --- Java
269    }                                                                   271    }
270                                                                        272 
271    public static DataResult<Unit> validateComponents(DataComponentMap  273    public static DataResult<Unit> validateComponents(DataComponentMap 
... $$0) {                                                                 ... $$0) {
272       if ($$0.has(DataComponents.MAX_DAMAGE) && $$0.getOrDefault(DataC 274       if ($$0.has(DataComponents.MAX_DAMAGE) && $$0.getOrDefault(DataC
... omponents.MAX_STACK_SIZE, 1) > 1) {                                    ... omponents.MAX_STACK_SIZE, Integer.valueOf(1)) > 1) {
273          return DataResult.error(() -> "Item cannot be both damageable 275          return DataResult.error(() -> "Item cannot be both damageable
...  and stackable");                                                      ...  and stackable");
274       } else {                                                         276       } else {
275          ItemContainerContents $$1 = $$0.getOrDefault(DataComponents.C 277          ItemContainerContents $$1 = $$0.getOrDefault(DataComponents.C
    ONTAINER, ItemContainerContents.EMPTY);                                    ONTAINER, ItemContainerContents.EMPTY);

net/minecraft/world/item/ItemStack.java --- 4/6 --- Java
563       this.getItem().postHurtEnemy(this, $$0, $$1);                    565       this.getItem().postHurtEnemy(this, $$0, $$1);
564       Weapon $$2 = this.get(DataComponents.WEAPON);                    566       Weapon $$2 = this.get(DataComponents.WEAPON);
565       if ($$2 != null) {                                               567       if ($$2 != null) {
566          this.hurtAndBreak($$2.damagePerAttack(), $$1, EquipmentSlot.M 568          this.hurtAndBreak($$2.itemDamagePerAttack(), $$1, EquipmentSl
... AINHAND);                                                              ... ot.MAINHAND);
567       }                                                                569       }
568    }                                                                   570    }
569                                                                        571 

net/minecraft/world/item/ItemStack.java --- 5/6 --- Java
579    }                                                                   581    }
580                                                                        582 
581    public InteractionResult interactLivingEntity(Player $$0, LivingEnt 583    public InteractionResult interactLivingEntity(Player $$0, LivingEnt
... ity $$1, InteractionHand $$2) {                                        ... ity $$1, InteractionHand $$2) {
...                                                                        584       Equippable $$3 = this.get(DataComponents.EQUIPPABLE);
...                                                                        585       if ($$3 != null && $$3.equipOnInteract()) {
...                                                                        586          InteractionResult $$4 = $$3.equipOnTarget($$0, $$1, this);
...                                                                        587          if ($$4 != InteractionResult.PASS) {
...                                                                        588             return $$4;
...                                                                        589          }
...                                                                        590       }
...                                                                        591 
582       return this.getItem().interactLivingEntity(this, $$0, $$1, $$2); 592       return this.getItem().interactLivingEntity(this, $$0, $$1, $$2);
583    }                                                                   593    }

net/minecraft/world/item/ItemStack.java --- 6/6 --- Java
724       return this.components.set($$0, $$1);                            734       return this.components.set($$0, $$1);
725    }                                                                   735    }
...                                                                        736 
...                                                                        737    public <T> void copyFrom(DataComponentType<T> $$0, DataComponentGet
...                                                                        ... ter $$1) {
...                                                                        738       this.set($$0, $$1.get($$0));
...                                                                        739    }
726                                                                        740 
727    @Nullable                                                           741    @Nullable
728    public <T, U> T update(DataComponentType<T> $$0, T $$1, U $$2, BiFu 742    public <T, U> T update(DataComponentType<T> $$0, T $$1, U $$2, BiFu
    nction<T, U, T> $$3) {                                                     nction<T, U, T> $$3) {

net/minecraft/gametest/framework/BlockBasedTestInstance.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import com.mojang.serialization.MapCodec;
 4 import com.mojang.serialization.codecs.RecordCodecBuilder;
 5 import java.util.ArrayList;
 6 import java.util.List;
 7 import java.util.function.Consumer;
 8 import net.minecraft.core.BlockPos;
 9 import net.minecraft.core.Holder;
10 import net.minecraft.network.chat.Component;
11 import net.minecraft.network.chat.MutableComponent;
12 import net.minecraft.world.level.block.Blocks;
13 import net.minecraft.world.level.block.TestBlock;
14 import net.minecraft.world.level.block.entity.TestBlockEntity;
15 import net.minecraft.world.level.block.state.BlockState;
16 import net.minecraft.world.level.block.state.properties.TestBlockMode;
17 
18 public class BlockBasedTestInstance extends GameTestInstance {
19    public static final MapCodec<BlockBasedTestInstance> CODEC = RecordCodecBuilder.mapCodec(
20       $$0 -> $$0.group(TestData.CODEC.forGetter(GameTestInstance::info)).apply($$0, BlockBasedTestInstance::new)
21    );
22 
23    public BlockBasedTestInstance(TestData<Holder<TestEnvironmentDefinition>> $$0) {
24       super($$0);
25    }
26 
27    @Override
28    public void run(GameTestHelper $$0) {
29       BlockPos $$1 = this.findTestBlock($$0, TestBlockMode.START);
30       TestBlockEntity $$2 = $$0.getBlockEntity($$1, TestBlockEntity.class);
31       $$2.trigger();
32       $$0.onEachTick(() -> {
33          BlockPos $$1x = this.findTestBlock($$0, TestBlockMode.ACCEPT);
34          TestBlockEntity $$2x = $$0.getBlockEntity($$1x, TestBlockEntity.class);
35          if ($$2x.hasTriggered()) {
36             $$0.succeed();
37          } else {
38             this.forAllTriggeredTestBlocks($$0, TestBlockMode.FAIL, $$1xx -> $$0.fail(Component.literal($$1xx.getMessage())));
39             this.forAllTriggeredTestBlocks($$0, TestBlockMode.LOG, TestBlockEntity::trigger);
40          }
41       });
42    }
43 
44    private void forAllTriggeredTestBlocks(GameTestHelper $$0, TestBlockMode $$1, Consumer<TestBlockEntity> $$2) {
45       for (BlockPos $$4 : this.findTestBlocks($$0, $$1)) {
46          TestBlockEntity $$5 = $$0.getBlockEntity($$4, TestBlockEntity.class);
47          if ($$5.hasTriggered()) {
48             $$2.accept($$5);
49             $$5.reset();
50          }
51       }
52    }
53 
54    private BlockPos findTestBlock(GameTestHelper $$0, TestBlockMode $$1) {
55       List<BlockPos> $$2 = this.findTestBlocks($$0, $$1);
56       if ($$2.isEmpty()) {
57          $$0.fail(Component.translatable("test_block.error.missing", $$1.getDisplayName()));
58       }
59 
60       if ($$2.size() != 1) {
61          $$0.fail(Component.translatable("test_block.error.too_many", $$1.getDisplayName()));
62       }
63 
64       return $$2.getFirst();
65    }
66 
67    private List<BlockPos> findTestBlocks(GameTestHelper $$0, TestBlockMode $$1) {
68       List<BlockPos> $$2 = new ArrayList<>();
69       $$0.forEveryBlockInStructure($$3 -> {
70          BlockState $$4 = $$0.getBlockState($$3);
71          if ($$4.is(Blocks.TEST_BLOCK) && $$4.getValue(TestBlock.MODE) == $$1) {
72             $$2.add($$3.immutable());
73          }
74       });
75       return $$2;
76    }
77 
78    @Override
79    public MapCodec<BlockBasedTestInstance> codec() {
80       return CODEC;
81    }
82 
83    @Override
84    protected MutableComponent typeDescription() {
85       return Component.translatable("test_instance.type.block_based");
86    }
87 }
88 

net/minecraft/gametest/framework/GameTestAssertException.java --- Java
1 package net.minecraft.gametest.framework;                                 1 package net.minecraft.gametest.framework;
.                                                                           2 
.                                                                           3 import net.minecraft.network.chat.Component;
2                                                                           4 
3 public class GameTestAssertException extends RuntimeException {           5 public class GameTestAssertException extends RuntimeException {
.                                                                           6    protected final Component message;
.                                                                           7    protected final int tick;
.                                                                           8 
4    public GameTestAssertException(String $$0) {                           9    public GameTestAssertException(Component $$0, int $$1) {
5       super($$0);                                                        10       super($$0.getString());
.                                                                          11       this.message = $$0;
.                                                                          12       this.tick = $$1;
6    }                                                                     13    }
.                                                                          14 
.                                                                          15    public Component getDescription() {
.                                                                          16       return Component.translatable("test.error.tick", this.message, thi
.                                                                          .. s.tick);
.                                                                          17    }
.                                                                          18 
.                                                                          19    @Override
.                                                                          20    public String getMessage() {
.                                                                          21       return this.getDescription().getString();
.                                                                          22    }
7 }                                                                        23 }

net/minecraft/world/level/GameRules.java --- 1/6 --- Java
10 import com.mojang.brigadier.context.CommandContext;                     10 import com.mojang.brigadier.context.CommandContext;
11 import com.mojang.brigadier.exceptions.CommandSyntaxException;          11 import com.mojang.brigadier.exceptions.CommandSyntaxException;
12 import com.mojang.logging.LogUtils;                                     12 import com.mojang.logging.LogUtils;
..                                                                         13 import com.mojang.serialization.Codec;
..                                                                         14 import com.mojang.serialization.DataResult;
13 import com.mojang.serialization.DynamicLike;                            15 import com.mojang.serialization.DynamicLike;
14 import java.util.Comparator;                                            16 import java.util.Comparator;
15 import java.util.Map;                                                   17 import java.util.Map;

net/minecraft/world/level/GameRules.java --- 2/6 --- Java
217    private final Map<GameRules.Key<?>, GameRules.Value<?>> rules;      219    private final Map<GameRules.Key<?>, GameRules.Value<?>> rules;
218    private final FeatureFlagSet enabledFeatures;                       220    private final FeatureFlagSet enabledFeatures;
...                                                                        221 
...                                                                        222    public static <T extends GameRules.Value<T>> GameRules.Type<T> getT
...                                                                        ... ype(GameRules.Key<T> $$0) {
...                                                                        223       return (GameRules.Type<T>)GAME_RULE_TYPES.get($$0);
...                                                                        224    }
...                                                                        225 
...                                                                        226    public static <T extends GameRules.Value<T>> Codec<GameRules.Key<T>
...                                                                        ... > keyCodec(Class<T> $$0) {
...                                                                        227       return Codec.STRING
...                                                                        228          .comapFlatMap(
...                                                                        229             $$1 -> GAME_RULE_TYPES.entrySet()
...                                                                        230                   .stream()
...                                                                        231                   .filter($$1x -> ((GameRules.Type)$$1x.getValue()).va
...                                                                        ... lueClass == $$0)
...                                                                        232                   .map(Entry::getKey)
...                                                                        233                   .filter($$1x -> $$1x.getId().equals($$1))
...                                                                        234                   .map($$0xx -> $$0xx)
...                                                                        235                   .findFirst()
...                                                                        236                   .map(DataResult::success)
...                                                                        237                   .orElseGet(() -> DataResult.error(() -> "Invalid gam
...                                                                        ... e rule ID for type: " + $$1)),
...                                                                        238             GameRules.Key::getId
...                                                                        239          );
...                                                                        240    }
219                                                                        241 
220    private static <T extends GameRules.Value<T>> GameRules.Key<T> regi 242    private static <T extends GameRules.Value<T>> GameRules.Key<T> regi
... ster(String $$0, GameRules.Category $$1, GameRules.Type<T> $$2) {      ... ster(String $$0, GameRules.Category $$1, GameRules.Type<T> $$2) {
221       GameRules.Key<T> $$3 = new GameRules.Key<>($$0, $$1);            243       GameRules.Key<T> $$3 = new GameRules.Key<>($$0, $$1);

net/minecraft/world/level/GameRules.java --- 3/6 --- Java
...                                                                        335             $$1x -> new GameRules.BooleanValue($$1x, $$0),
...                                                                        336             $$1,
...                                                                        337             GameRules.GameRuleTypeVisitor::visitBoolean,
...                                                                        338             GameRules.BooleanValue.class,
...                                                                        339             FeatureFlagSet.of()
313          );                                                            340          );
314       }                                                                341       }

net/minecraft/world/level/GameRules.java --- 4/6 --- Java
...                                                                        433             $$1x -> new GameRules.IntegerValue($$1x, $$0),
...                                                                        434             $$1,
...                                                                        435             GameRules.GameRuleTypeVisitor::visitInteger,
...                                                                        436             GameRules.IntegerValue.class,
...                                                                        437             FeatureFlagSet.of()
406          );                                                            438          );
407       }                                                                439       }

net/minecraft/world/level/GameRules.java --- 5/6 --- Java
...                                                                        446             $$1x -> new GameRules.IntegerValue($$1x, $$0),
...                                                                        447             $$4,
...                                                                        448             GameRules.GameRuleTypeVisitor::visitInteger,
...                                                                        449             GameRules.IntegerValue.class,
...                                                                        450             $$3
414          );                                                            451          );
415       }                                                                452       }

net/minecraft/world/level/GameRules.java --- 6/6 --- Java
531       private final Function<GameRules.Type<T>, T> constructor;        568       private final Function<GameRules.Type<T>, T> constructor;
532       final BiConsumer<MinecraftServer, T> callback;                   569       final BiConsumer<MinecraftServer, T> callback;
533       private final GameRules.VisitorCaller<T> visitorCaller;          570       private final GameRules.VisitorCaller<T> visitorCaller;
...                                                                        571       final Class<T> valueClass;
534       final FeatureFlagSet requiredFeatures;                           572       final FeatureFlagSet requiredFeatures;
535                                                                        573 
536       Type(                                                            574       Type(
537          Supplier<ArgumentType<?>> $$0,                                575          Supplier<ArgumentType<?>> $$0,
538          Function<GameRules.Type<T>, T> $$1,                           576          Function<GameRules.Type<T>, T> $$1,
539          BiConsumer<MinecraftServer, T> $$2,                           577          BiConsumer<MinecraftServer, T> $$2,
540          GameRules.VisitorCaller<T> $$3,                               578          GameRules.VisitorCaller<T> $$3,
541          FeatureFlagSet $$4                                            579          Class<T> $$4,
...                                                                        580          FeatureFlagSet $$5
542       ) {                                                              581       ) {
543          this.argument = $$0;                                          582          this.argument = $$0;
544          this.constructor = $$1;                                       583          this.constructor = $$1;
545          this.callback = $$2;                                          584          this.callback = $$2;
546          this.visitorCaller = $$3;                                     585          this.visitorCaller = $$3;
...                                                                        586          this.valueClass = $$4;
547          this.requiredFeatures = $$4;                                  587          this.requiredFeatures = $$5;
548       }                                                                588       }
549                                                                        589 
550       public RequiredArgumentBuilder<CommandSourceStack, ?> createArgu 590       public RequiredArgumentBuilder<CommandSourceStack, ?> createArgu
    ment(String $$0) {                                                         ment(String $$0) {

net/minecraft/gametest/framework/BuiltinTestFunctions.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.function.BiConsumer;
 4 import java.util.function.Consumer;
 5 import net.minecraft.core.Registry;
 6 import net.minecraft.core.registries.Registries;
 7 import net.minecraft.resources.ResourceKey;
 8 import net.minecraft.resources.ResourceLocation;
 9 
10 public class BuiltinTestFunctions extends TestFunctionLoader {
11    public static final ResourceKey<Consumer<GameTestHelper>> ALWAYS_PASS = create("always_pass");
12    public static final Consumer<GameTestHelper> ALWAYS_PASS_INSTANCE = GameTestHelper::succeed;
13 
14    private static ResourceKey<Consumer<GameTestHelper>> create(String $$0) {
15       return ResourceKey.create(Registries.TEST_FUNCTION, ResourceLocation.withDefaultNamespace($$0));
16    }
17 
18    public static Consumer<GameTestHelper> bootstrap(Registry<Consumer<GameTestHelper>> $$0) {
19       registerLoader(new BuiltinTestFunctions());
20       runLoaders($$0);
21       return ALWAYS_PASS_INSTANCE;
22    }
23 
24    @Override
25    public void load(BiConsumer<ResourceKey<Consumer<GameTestHelper>>, Consumer<GameTestHelper>> $$0) {
26       $$0.accept(ALWAYS_PASS, ALWAYS_PASS_INSTANCE);
27    }
28 }
29 

net/minecraft/world/item/Item.java --- 1/2 --- Java
132    }                                                                   132    }
133                                                                        133 
134    public int getDefaultMaxStackSize() {                               134    public int getDefaultMaxStackSize() {
135       return this.components.getOrDefault(DataComponents.MAX_STACK_SIZ 135       return this.components.getOrDefault(DataComponents.MAX_STACK_SIZ
... E, 1);                                                                 ... E, Integer.valueOf(1));
136    }                                                                   136    }
137                                                                        137 
138    public void onUseTick(Level $$0, LivingEntity $$1, ItemStack $$2, i 138    public void onUseTick(Level $$0, LivingEntity $$1, ItemStack $$2, i
    nt $$3) {                                                                  nt $$3) {

net/minecraft/world/item/Item.java --- 2/2 --- Java
475                                                                        475 
476       DataComponentMap buildAndValidateComponents(Component $$0, Resou 476       DataComponentMap buildAndValidateComponents(Component $$0, Resou
... rceLocation $$1) {                                                     ... rceLocation $$1) {
477          DataComponentMap $$2 = this.components.set(DataComponents.ITE 477          DataComponentMap $$2 = this.components.set(DataComponents.ITE
... M_NAME, $$0).set(DataComponents.ITEM_MODEL, $$1).build();              ... M_NAME, $$0).set(DataComponents.ITEM_MODEL, $$1).build();
478          if ($$2.has(DataComponents.DAMAGE) && $$2.getOrDefault(DataCo 478          if ($$2.has(DataComponents.DAMAGE) && $$2.getOrDefault(DataCo
... mponents.MAX_STACK_SIZE, 1) > 1) {                                     ... mponents.MAX_STACK_SIZE, Integer.valueOf(1)) > 1) {
479             throw new IllegalStateException("Item cannot have both dur 479             throw new IllegalStateException("Item cannot have both dur
... ability and be stackable");                                            ... ability and be stackable");
480          } else {                                                      480          } else {
481             return $$2;                                                481             return $$2;

net/minecraft/gametest/framework/JUnitLikeTestReporter.java --- Java
35    private Element createTestCase(GameTestInfo $$0, String $$1) {       35    private Element createTestCase(GameTestInfo $$0, String $$1) {
36       Element $$2 = this.document.createElement("testcase");            36       Element $$2 = this.document.createElement("testcase");
37       $$2.setAttribute("name", $$1);                                    37       $$2.setAttribute("name", $$1);
38       $$2.setAttribute("classname", $$0.getStructureName());            38       $$2.setAttribute("classname", $$0.getStructure().toString());
39       $$2.setAttribute("time", String.valueOf((double)$$0.getRunTime()  39       $$2.setAttribute("time", String.valueOf((double)$$0.getRunTime() 
.. / 1000.0));                                                             .. / 1000.0));
40       this.testSuite.appendChild($$2);                                  40       this.testSuite.appendChild($$2);
41       return $$2;                                                       41       return $$2;
42    }                                                                    42    }
43                                                                         43 
44    @Override                                                            44    @Override
45    public void onTestFailed(GameTestInfo $$0) {                         45    public void onTestFailed(GameTestInfo $$0) {
46       String $$1 = $$0.getTestName();                                   46       String $$1 = $$0.id().toString();
47       String $$2 = $$0.getError().getMessage();                         47       String $$2 = $$0.getError().getMessage();
48       Element $$3 = this.document.createElement($$0.isRequired() ? "fai 48       Element $$3 = this.document.createElement($$0.isRequired() ? "fai
.. lure" : "skipped");                                                     .. lure" : "skipped");
49       $$3.setAttribute("message", "(" + $$0.getTestOrigin().toShortStri 49       $$3.setAttribute("message", "(" + $$0.getTestBlockPos().toShortSt
.. ng() + ") " + $$2);                                                     .. ring() + ") " + $$2);
50       Element $$4 = this.createTestCase($$0, $$1);                      50       Element $$4 = this.createTestCase($$0, $$1);
51       $$4.appendChild($$3);                                             51       $$4.appendChild($$3);
52    }                                                                    52    }
53                                                                         53 
54    @Override                                                            54    @Override
55    public void onTestSuccess(GameTestInfo $$0) {                        55    public void onTestSuccess(GameTestInfo $$0) {
56       String $$1 = $$0.getTestName();                                   56       String $$1 = $$0.id().toString();
57       this.createTestCase($$0, $$1);                                    57       this.createTestCase($$0, $$1);
58    }                                                                    58    }
59                                                                         59 

net/minecraft/world/entity/projectile/ThrownEgg.java --- Java
69                Chicken $$3 = EntityType.CHICKEN.create(this.level(), En 69                Chicken $$3 = EntityType.CHICKEN.create(this.level(), En
.. titySpawnReason.TRIGGERED);                                             .. titySpawnReason.TRIGGERED);
70                if ($$3 != null) {                                       70                if ($$3 != null) {
71                   $$3.setAge(-24000);                                   71                   $$3.setAge(-24000);
72                   $$3.moveTo(this.getX(), this.getY(), this.getZ(), thi 72                   $$3.snapTo(this.getX(), this.getY(), this.getZ(), thi
.. s.getYRot(), 0.0F);                                                     .. s.getYRot(), 0.0F);
73                   if (!$$3.fudgePositionAfterSizeChange(ZERO_SIZED_DIME 73                   if (!$$3.fudgePositionAfterSizeChange(ZERO_SIZED_DIME
.. NSIONS)) {                                                              .. NSIONS)) {
74                      break;                                             74                      break;
75                   }                                                     75                   }

net/minecraft/gametest/framework/TestEnvironmentDefinition.java --- Java
  1 package net.minecraft.gametest.framework;
  2 
  3 import com.mojang.logging.LogUtils;
  4 import com.mojang.serialization.Codec;
  5 import com.mojang.serialization.MapCodec;
  6 import com.mojang.serialization.codecs.RecordCodecBuilder;
  7 import java.util.Arrays;
  8 import java.util.List;
  9 import java.util.Optional;
 10 import net.minecraft.commands.CommandSourceStack;
 11 import net.minecraft.commands.functions.CommandFunction;
 12 import net.minecraft.core.Holder;
 13 import net.minecraft.core.Registry;
 14 import net.minecraft.core.registries.BuiltInRegistries;
 15 import net.minecraft.core.registries.Registries;
 16 import net.minecraft.resources.RegistryFileCodec;
 17 import net.minecraft.resources.ResourceLocation;
 18 import net.minecraft.server.MinecraftServer;
 19 import net.minecraft.server.ServerFunctionManager;
 20 import net.minecraft.server.level.ServerLevel;
 21 import net.minecraft.util.ExtraCodecs;
 22 import net.minecraft.util.StringRepresentable;
 23 import net.minecraft.world.level.GameRules;
 24 import org.slf4j.Logger;
 25 
 26 public interface TestEnvironmentDefinition {
 27    Codec<TestEnvironmentDefinition> DIRECT_CODEC = BuiltInRegistries.TEST_ENVIRONMENT_DEFINITION_TYPE
 28       .byNameCodec()
 29       .dispatch(TestEnvironmentDefinition::codec, $$0 -> $$0);
 30    Codec<Holder<TestEnvironmentDefinition>> CODEC = RegistryFileCodec.create(Registries.TEST_ENVIRONMENT, DIRECT_CODEC);
 31 
 32    static MapCodec<? extends TestEnvironmentDefinition> bootstrap(Registry<MapCodec<? extends TestEnvironmentDefinition>> $$0) {
 33       Registry.register($$0, "all_of", TestEnvironmentDefinition.AllOf.CODEC);
 34       Registry.register($$0, "game_rules", TestEnvironmentDefinition.SetGameRules.CODEC);
 35       Registry.register($$0, "time_of_day", TestEnvironmentDefinition.TimeOfDay.CODEC);
 36       Registry.register($$0, "raining", TestEnvironmentDefinition.Weather.CODEC);
 37       return Registry.register($$0, "function", TestEnvironmentDefinition.Functions.CODEC);
 38    }
 39 
 40    void setup(ServerLevel var1);
 41 
 42    default void teardown(ServerLevel $$0) {
 43    }
 44 
 45    MapCodec<? extends TestEnvironmentDefinition> codec();
 46 
 47    public static record AllOf(List<Holder<TestEnvironmentDefinition>> definitions) implements TestEnvironmentDefinition {
 48       public static final MapCodec<TestEnvironmentDefinition.AllOf> CODEC = RecordCodecBuilder.mapCodec(
 49          $$0 -> $$0.group(TestEnvironmentDefinition.CODEC.listOf().fieldOf("definitions").forGetter(TestEnvironmentDefinition.AllOf::definitions))
 50                .apply($$0, TestEnvironmentDefinition.AllOf::new)
 51       );
 52 
 53       public AllOf(TestEnvironmentDefinition... $$0) {
 54          this(Arrays.stream($$0).map(Holder::direct).toList());
 55       }
 56 
 57       @Override
 58       public void setup(ServerLevel $$0) {
 59          this.definitions.forEach($$1 -> $$1.value().setup($$0));
 60       }
 61 
 62       @Override
 63       public void teardown(ServerLevel $$0) {
 64          this.definitions.forEach($$1 -> $$1.value().teardown($$0));
 65       }
 66 
 67       @Override
 68       public MapCodec<TestEnvironmentDefinition.AllOf> codec() {
 69          return CODEC;
 70       }
 71    }
 72 
 73    public static record Functions(Optional<ResourceLocation> setupFunction, Optional<ResourceLocation> teardownFunction) implements TestEnvironmentDefinition {
 74       private static final Logger LOGGER = LogUtils.getLogger();
 75       public static final MapCodec<TestEnvironmentDefinition.Functions> CODEC = RecordCodecBuilder.mapCodec(
 76          $$0 -> $$0.group(
 77                   ResourceLocation.CODEC.optionalFieldOf("setup").forGetter(TestEnvironmentDefinition.Functions::setupFunction),
 78                   ResourceLocation.CODEC.optionalFieldOf("teardown").forGetter(TestEnvironmentDefinition.Functions::teardownFunction)
 79                )
 80                .apply($$0, TestEnvironmentDefinition.Functions::new)
 81       );
 82 
 83       @Override
 84       public void setup(ServerLevel $$0) {
 85          this.setupFunction.ifPresent($$1 -> run($$0, $$1));
 86       }
 87 
 88       @Override
 89       public void teardown(ServerLevel $$0) {
 90          this.teardownFunction.ifPresent($$1 -> run($$0, $$1));
 91       }
 92 
 93       private static void run(ServerLevel $$0, ResourceLocation $$1) {
 94          MinecraftServer $$2 = $$0.getServer();
 95          ServerFunctionManager $$3 = $$2.getFunctions();
 96          Optional<CommandFunction<CommandSourceStack>> $$4 = $$3.get($$1);
 97          if ($$4.isPresent()) {
 98             CommandSourceStack $$5 = $$2.createCommandSourceStack().withPermission(2).withSuppressedOutput().withLevel($$0);
 99             $$3.execute($$4.get(), $$5);
100          } else {
101             LOGGER.error("Test Batch failed for non-existent function {}", $$1);
102          }
103       }
104 
105       @Override
106       public MapCodec<TestEnvironmentDefinition.Functions> codec() {
107          return CODEC;
108       }
109    }
110 
111    public static record SetGameRules(
112       List<TestEnvironmentDefinition.SetGameRules.Entry<Boolean, GameRules.BooleanValue>> boolRules,
113       List<TestEnvironmentDefinition.SetGameRules.Entry<Integer, GameRules.IntegerValue>> intRules
114    ) implements TestEnvironmentDefinition {
115       public static final MapCodec<TestEnvironmentDefinition.SetGameRules> CODEC = RecordCodecBuilder.mapCodec(
116          $$0 -> $$0.group(
117                   TestEnvironmentDefinition.SetGameRules.Entry.codec(GameRules.BooleanValue.class, Codec.BOOL)
118                      .listOf()
119                      .fieldOf("bool_rules")
120                      .forGetter(TestEnvironmentDefinition.SetGameRules::boolRules),
121                   TestEnvironmentDefinition.SetGameRules.Entry.codec(GameRules.IntegerValue.class, Codec.INT)
122                      .listOf()
123                      .fieldOf("int_rules")
124                      .forGetter(TestEnvironmentDefinition.SetGameRules::intRules)
125                )
126                .apply($$0, TestEnvironmentDefinition.SetGameRules::new)
127       );
128 
129       @Override
130       public void setup(ServerLevel $$0) {
131          GameRules $$1 = $$0.getGameRules();
132          MinecraftServer $$2 = $$0.getServer();
133 
134          for (TestEnvironmentDefinition.SetGameRules.Entry<Boolean, GameRules.BooleanValue> $$3 : this.boolRules) {
135             $$1.getRule($$3.key()).set($$3.value(), $$2);
136          }
137 
138          for (TestEnvironmentDefinition.SetGameRules.Entry<Integer, GameRules.IntegerValue> $$4 : this.intRules) {
139             $$1.getRule($$4.key()).set($$4.value(), $$2);
140          }
141       }
142 
143       @Override
144       public void teardown(ServerLevel $$0) {
145          GameRules $$1 = $$0.getGameRules();
146          MinecraftServer $$2 = $$0.getServer();
147 
148          for (TestEnvironmentDefinition.SetGameRules.Entry<Boolean, GameRules.BooleanValue> $$3 : this.boolRules) {
149             $$1.getRule($$3.key()).setFrom(GameRules.getType($$3.key()).createRule(), $$2);
150          }
151 
152          for (TestEnvironmentDefinition.SetGameRules.Entry<Integer, GameRules.IntegerValue> $$4 : this.intRules) {
153             $$1.getRule($$4.key()).setFrom(GameRules.getType($$4.key()).createRule(), $$2);
154          }
155       }
156 
157       @Override
158       public MapCodec<TestEnvironmentDefinition.SetGameRules> codec() {
159          return CODEC;
160       }
161 
162       public static <S, T extends GameRules.Value<T>> TestEnvironmentDefinition.SetGameRules.Entry<S, T> entry(GameRules.Key<T> $$0, S $$1) {
163          return new TestEnvironmentDefinition.SetGameRules.Entry<>($$0, $$1);
164       }
165 
166       public static record Entry<S, T extends GameRules.Value<T>>(GameRules.Key<T> key, S value) {
167          public static <S, T extends GameRules.Value<T>> Codec<TestEnvironmentDefinition.SetGameRules.Entry<S, T>> codec(Class<T> $$0, Codec<S> $$1) {
168             return RecordCodecBuilder.create(
169                $$2 -> $$2.group(
170                         GameRules.keyCodec($$0).fieldOf("rule").forGetter(TestEnvironmentDefinition.SetGameRules.Entry::key),
171                         $$1.fieldOf("value").forGetter(TestEnvironmentDefinition.SetGameRules.Entry::value)
172                      )
173                      .apply($$2, TestEnvironmentDefinition.SetGameRules.Entry::new)
174             );
175          }
176       }
177    }
178 
179    public static record TimeOfDay(int time) implements TestEnvironmentDefinition {
180       public static final MapCodec<TestEnvironmentDefinition.TimeOfDay> CODEC = RecordCodecBuilder.mapCodec(
181          $$0 -> $$0.group(ExtraCodecs.NON_NEGATIVE_INT.fieldOf("time").forGetter(TestEnvironmentDefinition.TimeOfDay::time))
182                .apply($$0, TestEnvironmentDefinition.TimeOfDay::new)
183       );
184 
185       @Override
186       public void setup(ServerLevel $$0) {
187          $$0.setDayTime((long)this.time);
188       }
189 
190       @Override
191       public MapCodec<TestEnvironmentDefinition.TimeOfDay> codec() {
192          return CODEC;
193       }
194    }
195 
196    public static record Weather(TestEnvironmentDefinition.Weather.Type weather) implements TestEnvironmentDefinition {
197       public static final MapCodec<TestEnvironmentDefinition.Weather> CODEC = RecordCodecBuilder.mapCodec(
198          $$0 -> $$0.group(TestEnvironmentDefinition.Weather.Type.CODEC.fieldOf("weather").forGetter(TestEnvironmentDefinition.Weather::weather))
199                .apply($$0, TestEnvironmentDefinition.Weather::new)
200       );
201 
202       @Override
203       public void setup(ServerLevel $$0) {
204          this.weather.apply($$0);
205       }
206 
207       @Override
208       public void teardown(ServerLevel $$0) {
209          $$0.resetWeatherCycle();
210       }
211 
212       @Override
213       public MapCodec<TestEnvironmentDefinition.Weather> codec() {
214          return CODEC;
215       }
216 
217       public static enum Type implements StringRepresentable {
218          CLEAR("clear", 100000, 0, false, false),
219          RAIN("rain", 0, 100000, true, false),
220          THUNDER("thunder", 0, 100000, true, true);
221 
222          public static final Codec<TestEnvironmentDefinition.Weather.Type> CODEC = StringRepresentable.fromEnum(TestEnvironmentDefinition.Weather.Type::values);
223          private final String id;
224          private final int clearTime;
225          private final int rainTime;
226          private final boolean raining;
227          private final boolean thundering;
228 
229          private Type(final String $$0, final int $$1, final int $$2, final boolean $$3, final boolean $$4) {
230             this.id = $$0;
231             this.clearTime = $$1;
232             this.rainTime = $$2;
233             this.raining = $$3;
234             this.thundering = $$4;
235          }
236 
237          void apply(ServerLevel $$0) {
238             $$0.setWeatherParameters(this.clearTime, this.rainTime, this.raining, this.thundering);
239          }
240 
241          @Override
242          public String getSerializedName() {
243             return this.id;
244          }
245       }
246    }
247 }
248 

net/minecraft/gametest/framework/GameTest.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.lang.annotation.ElementType;
 4 import java.lang.annotation.Retention;
 5 import java.lang.annotation.RetentionPolicy;
 6 import java.lang.annotation.Target;
 7 
 8 @Target({ElementType.METHOD})
 9 @Retention(RetentionPolicy.RUNTIME)
10 public @interface GameTest {
11    int timeoutTicks() default 100;
12 
13    String batch() default "defaultBatch";
14 
15    boolean skyAccess() default false;
16 
17    int rotationSteps() default 0;
18 
19    boolean required() default true;
20 
21    boolean manualOnly() default false;
22 
23    String template() default "";
24 
25    long setupTicks() default 0L;
26 
27    int attempts() default 1;
28 
29    int requiredSuccesses() default 1;
30 }
31 

net/minecraft/gametest/framework/GameTestMainUtil.java --- Java
  1 package net.minecraft.gametest.framework;
  2 
  3 import com.mojang.logging.LogUtils;
  4 import java.io.File;
  5 import java.io.IOException;
  6 import java.nio.file.Files;
  7 import java.nio.file.Path;
  8 import java.nio.file.Paths;
  9 import java.util.Optional;
 10 import java.util.function.Consumer;
 11 import joptsimple.OptionParser;
 12 import joptsimple.OptionSet;
 13 import joptsimple.OptionSpec;
 14 import net.minecraft.SuppressForbidden;
 15 import net.minecraft.Util;
 16 import net.minecraft.server.Bootstrap;
 17 import net.minecraft.server.MinecraftServer;
 18 import net.minecraft.server.packs.repository.PackRepository;
 19 import net.minecraft.server.packs.repository.ServerPacksSource;
 20 import net.minecraft.world.level.storage.LevelStorageSource;
 21 import org.apache.commons.io.FileUtils;
 22 import org.slf4j.Logger;
 23 
 24 public class GameTestMainUtil {
 25    private static final Logger LOGGER = LogUtils.getLogger();
 26    private static final String DEFAULT_UNIVERSE_DIR = "gametestserver";
 27    private static final String LEVEL_NAME = "gametestworld";
 28    private static final OptionParser parser = new OptionParser();
 29    private static final OptionSpec<String> universe = parser.accepts(
 30          "universe", "The path to where the test server world will be created. Any existing folder will be replaced."
 31       )
 32       .withRequiredArg()
 33       .defaultsTo("gametestserver");
 34    private static final OptionSpec<File> report = parser.accepts("report", "Exports results in a junit-like XML report at the given path.")
 35       .withRequiredArg()
 36       .ofType(File.class);
 37    private static final OptionSpec<String> tests = parser.accepts(
 38          "tests", "Which test(s) to run (namespaced ID selector using wildcards). Empty means run all."
 39       )
 40       .withRequiredArg();
 41    private static final OptionSpec<Boolean> verify = parser.accepts(
 42          "verify", "Runs the tests specified with `test` or `testNamespace` 100 times for each 90 degree rotation step"
 43       )
 44       .withRequiredArg()
 45       .ofType(Boolean.class)
 46       .defaultsTo(false);
 47    private static final OptionSpec<String> packs = parser.accepts("packs", "A folder of datapacks to include in the world").withRequiredArg();
 48    private static final OptionSpec<Void> help = parser.accepts("help").forHelp();
 49 
 50    @SuppressForbidden(
 51       a = "Using System.err due to no bootstrap"
 52    )
 53    public static void runGameTestServer(String[] $$0, Consumer<String> $$1) throws Exception {
 54       parser.allowsUnrecognizedOptions();
 55       OptionSet $$2 = parser.parse($$0);
 56       if ($$2.has(help)) {
 57          parser.printHelpOn(System.err);
 58       } else {
 59          if ($$2.valueOf(verify) && !$$2.has(tests)) {
 60             LOGGER.error("Please specify a test selection to run the verify option. For example: --verify --tests example:test_something_*");
 61             System.exit(-1);
 62          }
 63 
 64          LOGGER.info("Running GameTestMain with cwd '{}', universe path '{}'", System.getProperty("user.dir"), $$2.valueOf(universe));
 65          if ($$2.has(report)) {
 66             GlobalTestReporter.replaceWith(new JUnitLikeTestReporter(report.value($$2)));
 67          }
 68 
 69          Bootstrap.bootStrap();
 70          Util.startTimerHackThread();
 71          String $$3 = $$2.valueOf(universe);
 72          createOrResetDir($$3);
 73          $$1.accept($$3);
 74          if ($$2.has(packs)) {
 75             String $$4 = $$2.valueOf(packs);
 76             copyPacks($$3, $$4);
 77          }
 78 
 79          LevelStorageSource.LevelStorageAccess $$5 = LevelStorageSource.createDefault(Paths.get("gametestserver")).createAccess("gametestworld");
 80          PackRepository $$6 = ServerPacksSource.createVanillaTrustedRepository();
 81          MinecraftServer.spin($$3x -> GameTestServer.create($$3x, $$5, $$6, optionalFromOption($$2, tests), $$2.has(verify)));
 82       }
 83    }
 84 
 85    private static Optional<String> optionalFromOption(OptionSet $$0, OptionSpec<String> $$1) {
 86       return $$0.has($$1) ? Optional.of($$0.valueOf($$1)) : Optional.empty();
 87    }
 88 
 89    private static void createOrResetDir(String $$0) throws IOException {
 90       Path $$1 = Paths.get($$0);
 91       if (Files.exists($$1)) {
 92          FileUtils.deleteDirectory($$1.toFile());
 93       }
 94 
 95       Files.createDirectories($$1);
 96    }
 97 
 98    private static void copyPacks(String $$0, String $$1) throws IOException {
 99       Path $$2 = Paths.get($$0).resolve("gametestworld").resolve("datapacks");
100       if (!Files.exists($$2)) {
101          Files.createDirectories($$2);
102       }
103 
104       Path $$3 = Paths.get($$1);
105       if (Files.exists($$3)) {
106          for (Path $$4 : Files.list($$3).toList()) {
107             Path $$5 = $$2.resolve($$4.getFileName());
108             if (Files.isDirectory($$4)) {
109                if (Files.isRegularFile($$4.resolve("pack.mcmeta"))) {
110                   FileUtils.copyDirectory($$4.toFile(), $$5.toFile());
111                   LOGGER.info("Included folder pack " + $$4.getFileName());
112                }
113             } else if ($$4.endsWith(".zip")) {
114                Files.copy($$4, $$5);
115                LOGGER.info("Included zip pack  " + $$4.getFileName());
116             }
117          }
118       }
119    }
120 }
121 

net/minecraft/gametest/framework/TestClassNameArgument.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import com.mojang.brigadier.Message;
 4 import com.mojang.brigadier.StringReader;
 5 import com.mojang.brigadier.arguments.ArgumentType;
 6 import com.mojang.brigadier.context.CommandContext;
 7 import com.mojang.brigadier.exceptions.CommandSyntaxException;
 8 import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
 9 import com.mojang.brigadier.suggestion.Suggestions;
10 import com.mojang.brigadier.suggestion.SuggestionsBuilder;
11 import java.util.Arrays;
12 import java.util.Collection;
13 import java.util.concurrent.CompletableFuture;
14 import net.minecraft.commands.CommandSourceStack;
15 import net.minecraft.commands.SharedSuggestionProvider;
16 import net.minecraft.network.chat.Component;
17 
18 public class TestClassNameArgument implements ArgumentType<String> {
19    private static final Collection<String> EXAMPLES = Arrays.asList("techtests", "mobtests");
20 
21    public String parse(StringReader $$0) throws CommandSyntaxException {
22       String $$1 = $$0.readUnquotedString();
23       if (GameTestRegistry.isTestClass($$1)) {
24          return $$1;
25       } else {
26          Message $$2 = Component.literal("No such test class: " + $$1);
27          throw new CommandSyntaxException(new SimpleCommandExceptionType($$2), $$2);
28       }
29    }
30 
31    public static TestClassNameArgument testClassName() {
32       return new TestClassNameArgument();
33    }
34 
35    public static String getTestClassName(CommandContext<CommandSourceStack> $$0, String $$1) {
36       return $$0.getArgument($$1, String.class);
37    }
38 
39    @Override
40    public <S> CompletableFuture<Suggestions> listSuggestions(CommandContext<S> $$0, SuggestionsBuilder $$1) {
41       return SharedSuggestionProvider.suggest(GameTestRegistry.getAllTestClassNames().stream(), $$1);
42    }
43 
44    @Override
45    public Collection<String> getExamples() {
46       return EXAMPLES;
47    }
48 }
49 

net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java --- Java
52    @Override                                                            52    @Override
53    public void stop() {                                                 53    public void stop() {
54       super.stop();                                                     54       super.stop();
55       this.removerMob.fallDistance = 1.0F;                              55       this.removerMob.fallDistance = 1.0;
56    }                                                                    56    }
57                                                                         57 
58    @Override                                                            58    @Override

net/minecraft/world/entity/projectile/ShulkerBullet.java --- Java
53       this(EntityType.SHULKER_BULLET, $$0);                             53       this(EntityType.SHULKER_BULLET, $$0);
54       this.setOwner($$1);                                               54       this.setOwner($$1);
55       Vec3 $$4 = $$1.getBoundingBox().getCenter();                      55       Vec3 $$4 = $$1.getBoundingBox().getCenter();
56       this.moveTo($$4.x, $$4.y, $$4.z, this.getYRot(), this.getXRot()); 56       this.snapTo($$4.x, $$4.y, $$4.z, this.getYRot(), this.getXRot());
57       this.finalTarget = $$2;                                           57       this.finalTarget = $$2;
58       this.currentMoveDirection = Direction.UP;                         58       this.currentMoveDirection = Direction.UP;
59       this.selectNextMoveDirection($$3);                                59       this.selectNextMoveDirection($$3);

net/minecraft/world/entity/projectile/ThrownEnderpearl.java --- Java
125                   if (this.random.nextFloat() < 0.05F && $$2.getGameRu 125                   if (this.random.nextFloat() < 0.05F && $$2.getGameRu
... les().getBoolean(GameRules.RULE_DOMOBSPAWNING)) {                      ... les().getBoolean(GameRules.RULE_DOMOBSPAWNING)) {
126                      Endermite $$7 = EntityType.ENDERMITE.create($$2,  126                      Endermite $$7 = EntityType.ENDERMITE.create($$2, 
... EntitySpawnReason.TRIGGERED);                                          ... EntitySpawnReason.TRIGGERED);
127                      if ($$7 != null) {                                127                      if ($$7 != null) {
128                         $$7.moveTo($$4.getX(), $$4.getY(), $$4.getZ(), 128                         $$7.snapTo($$4.getX(), $$4.getY(), $$4.getZ(),
...  $$4.getYRot(), $$4.getXRot());                                        ...  $$4.getYRot(), $$4.getXRot());
129                         $$2.addFreshEntity($$7);                       129                         $$2.addFreshEntity($$7);
130                      }                                                 130                      }
131                   }                                                    131                   }

net/minecraft/client/model/CamelSaddleModel.java --- Java
 1 package net.minecraft.client.model;
 2 
 3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;
 5 import net.minecraft.client.model.geom.ModelPart;
 6 import net.minecraft.client.model.geom.PartPose;
 7 import net.minecraft.client.model.geom.builders.CubeDeformation;
 8 import net.minecraft.client.model.geom.builders.CubeListBuilder;
 9 import net.minecraft.client.model.geom.builders.LayerDefinition;
10 import net.minecraft.client.model.geom.builders.MeshDefinition;
11 import net.minecraft.client.model.geom.builders.PartDefinition;
12 import net.minecraft.client.renderer.entity.state.CamelRenderState;
13 
14 @Environment(EnvType.CLIENT)
15 public class CamelSaddleModel extends CamelModel {
16    private static final String SADDLE = "saddle";
17    private static final String BRIDLE = "bridle";
18    private static final String REINS = "reins";
19    private final ModelPart reins = this.head.getChild("reins");
20 
21    public CamelSaddleModel(ModelPart $$0) {
22       super($$0);
23    }
24 
25    public static LayerDefinition createSaddleLayer() {
26       MeshDefinition $$0 = createBodyMesh();
27       PartDefinition $$1 = $$0.getRoot();
28       PartDefinition $$2 = $$1.getChild("body");
29       PartDefinition $$3 = $$2.getChild("head");
30       CubeDeformation $$4 = new CubeDeformation(0.05F);
31       $$2.addOrReplaceChild(
32          "saddle",
33          CubeListBuilder.create()
34             .texOffs(74, 64)
35             .addBox(-4.5F, -17.0F, -15.5F, 9.0F, 5.0F, 11.0F, $$4)
36             .texOffs(92, 114)
37             .addBox(-3.5F, -20.0F, -15.5F, 7.0F, 3.0F, 11.0F, $$4)
38             .texOffs(0, 89)
39             .addBox(-7.5F, -12.0F, -23.5F, 15.0F, 12.0F, 27.0F, $$4),
40          PartPose.offset(0.0F, 0.0F, 0.0F)
41       );
42       $$3.addOrReplaceChild(
43          "reins",
44          CubeListBuilder.create()
45             .texOffs(98, 42)
46             .addBox(3.51F, -18.0F, -17.0F, 0.0F, 7.0F, 15.0F)
47             .texOffs(84, 57)
48             .addBox(-3.5F, -18.0F, -2.0F, 7.0F, 7.0F, 0.0F)
49             .texOffs(98, 42)
50             .addBox(-3.51F, -18.0F, -17.0F, 0.0F, 7.0F, 15.0F),
51          PartPose.offset(0.0F, 0.0F, 0.0F)
52       );
53       $$3.addOrReplaceChild(
54          "bridle",
55          CubeListBuilder.create()
56             .texOffs(60, 87)
57             .addBox(-3.5F, -7.0F, -15.0F, 7.0F, 8.0F, 19.0F, $$4)
58             .texOffs(21, 64)
59             .addBox(-3.5F, -21.0F, -15.0F, 7.0F, 14.0F, 7.0F, $$4)
60             .texOffs(50, 64)
61             .addBox(-2.5F, -21.0F, -21.0F, 5.0F, 5.0F, 6.0F, $$4)
62             .texOffs(74, 70)
63             .addBox(2.5F, -19.0F, -18.0F, 1.0F, 2.0F, 2.0F)
64             .texOffs(74, 70)
65             .mirror()
66             .addBox(-3.5F, -19.0F, -18.0F, 1.0F, 2.0F, 2.0F),
67          PartPose.offset(0.0F, 0.0F, 0.0F)
68       );
69       return LayerDefinition.create($$0, 128, 128);
70    }
71 
72    @Override
73    public void setupAnim(CamelRenderState $$0) {
74       super.setupAnim($$0);
75       this.reins.visible = $$0.isRidden;
76    }
77 }
78 

net/minecraft/world/damagesource/CombatTracker.java --- Java
37    public void recordDamage(DamageSource $$0, float $$1) {              37    public void recordDamage(DamageSource $$0, float $$1) {
38       this.recheckStatus();                                             38       this.recheckStatus();
39       FallLocation $$2 = FallLocation.getCurrentFallLocation(this.mob); 39       FallLocation $$2 = FallLocation.getCurrentFallLocation(this.mob);
40       CombatEntry $$3 = new CombatEntry($$0, $$1, $$2, this.mob.fallDis 40       CombatEntry $$3 = new CombatEntry($$0, $$1, $$2, (float)this.mob.
.. tance);                                                                 .. fallDistance);
41       this.entries.add($$3);                                            41       this.entries.add($$3);
42       this.lastDamageTime = this.mob.tickCount;                         42       this.lastDamageTime = this.mob.tickCount;
43       this.takingDamage = true;                                         43       this.takingDamage = true;

net/minecraft/util/datafix/fixes/EntitySpawnerItemVariantComponentFix.java --- Java
  1 package net.minecraft.util.datafix.fixes;
  2 
  3 import com.mojang.datafixers.DSL;
  4 import com.mojang.datafixers.DataFix;
  5 import com.mojang.datafixers.OpticFinder;
  6 import com.mojang.datafixers.TypeRewriteRule;
  7 import com.mojang.datafixers.Typed;
  8 import com.mojang.datafixers.schemas.Schema;
  9 import com.mojang.datafixers.types.Type;
 10 import com.mojang.datafixers.util.Pair;
 11 import com.mojang.serialization.Dynamic;
 12 import java.util.Optional;
 13 import java.util.function.Function;
 14 import net.minecraft.Util;
 15 import net.minecraft.util.datafix.ExtraDataFixUtils;
 16 import net.minecraft.util.datafix.schemas.NamespacedSchema;
 17 
 18 public class EntitySpawnerItemVariantComponentFix extends DataFix {
 19    public EntitySpawnerItemVariantComponentFix(Schema $$0) {
 20       super($$0, false);
 21    }
 22 
 23    @Override
 24    public final TypeRewriteRule makeRule() {
 25       Type<?> $$0 = this.getInputSchema().getType(References.ITEM_STACK);
 26       OpticFinder<Pair<String, String>> $$1 = DSL.fieldFinder("id", DSL.named(References.ITEM_NAME.typeName(), NamespacedSchema.namespacedString()));
 27       OpticFinder<?> $$2 = $$0.findField("components");
 28       return this.fixTypeEverywhereTyped(
 29          "ItemStack bucket_entity_data variants to separate components",
 30          $$0,
 31          $$2x -> {
 32             String $$3 = $$2x.getOptional($$1).map(Pair::getSecond).orElse("");
 33 
 34             return switch ($$3) {
 35                case "minecraft:salmon_bucket" -> $$2x.updateTyped($$2, EntitySpawnerItemVariantComponentFix::fixSalmonBucket);
 36                case "minecraft:axolotl_bucket" -> $$2x.updateTyped($$2, EntitySpawnerItemVariantComponentFix::fixAxolotlBucket);
 37                case "minecraft:tropical_fish_bucket" -> $$2x.updateTyped($$2, EntitySpawnerItemVariantComponentFix::fixTropicalFishBucket);
 38                case "minecraft:painting" -> $$2x.updateTyped(
 39                $$2, $$0xx -> Util.writeAndReadTypedOrThrow($$0xx, $$0xx.getType(), EntitySpawnerItemVariantComponentFix::fixPainting)
 40             );
 41                default -> $$2x;
 42             };
 43          }
 44       );
 45    }
 46 
 47    private static String getBaseColor(int $$0) {
 48       return ExtraDataFixUtils.dyeColorIdToName($$0 >> 16 & 0xFF);
 49    }
 50 
 51    private static String getPatternColor(int $$0) {
 52       return ExtraDataFixUtils.dyeColorIdToName($$0 >> 24 & 0xFF);
 53    }
 54 
 55    private static String getPattern(int $$0) {
 56       return switch ($$0 & 65535) {
 57          case 1 -> "flopper";
 58          case 256 -> "sunstreak";
 59          case 257 -> "stripey";
 60          case 512 -> "snooper";
 61          case 513 -> "glitter";
 62          case 768 -> "dasher";
 63          case 769 -> "blockfish";
 64          case 1024 -> "brinely";
 65          case 1025 -> "betty";
 66          case 1280 -> "spotty";
 67          case 1281 -> "clayfish";
 68          default -> "kob";
 69       };
 70    }
 71 
 72    private static <T> Dynamic<T> fixTropicalFishBucket(Dynamic<T> $$0, Dynamic<T> $$1) {
 73       Optional<Number> $$2 = $$1.get("BucketVariantTag").asNumber().result();
 74       if ($$2.isEmpty()) {
 75          return $$0;
 76       } else {
 77          int $$3 = $$2.get().intValue();
 78          String $$4 = getPattern($$3);
 79          String $$5 = getBaseColor($$3);
 80          String $$6 = getPatternColor($$3);
 81          return $$0.update("minecraft:bucket_entity_data", $$0x -> $$0x.remove("BucketVariantTag"))
 82             .set("minecraft:tropical_fish/pattern", $$0.createString($$4))
 83             .set("minecraft:tropical_fish/base_color", $$0.createString($$5))
 84             .set("minecraft:tropical_fish/pattern_color", $$0.createString($$6));
 85       }
 86    }
 87 
 88    private static <T> Dynamic<T> fixAxolotlBucket(Dynamic<T> $$0, Dynamic<T> $$1) {
 89       Optional<Number> $$2 = $$1.get("Variant").asNumber().result();
 90       if ($$2.isEmpty()) {
 91          return $$0;
 92       } else {
 93          String $$3 = switch ($$2.get().intValue()) {
 94             case 1 -> "wild";
 95             case 2 -> "gold";
 96             case 3 -> "cyan";
 97             case 4 -> "blue";
 98             default -> "lucy";
 99          };
100          return $$0.update("minecraft:bucket_entity_data", $$0x -> $$0x.remove("Variant")).set("minecraft:axolotl/variant", $$0.createString($$3));
101       }
102    }
103 
104    private static <T> Dynamic<T> fixSalmonBucket(Dynamic<T> $$0, Dynamic<T> $$1) {
105       Optional<Dynamic<T>> $$2 = $$1.get("type").result();
106       return $$2.isEmpty() ? $$0 : $$0.update("minecraft:bucket_entity_data", $$0x -> $$0x.remove("type")).set("minecraft:salmon/size", $$2.get());
107    }
108 
109    private static <T> Dynamic<T> fixPainting(Dynamic<T> $$0) {
110       Optional<Dynamic<T>> $$1 = $$0.get("minecraft:entity_data").result();
111       if ($$1.isEmpty()) {
112          return $$0;
113       } else if ($$1.get().get("id").asString().result().filter($$0x -> $$0x.equals("minecraft:painting")).isEmpty()) {
114          return $$0;
115       } else {
116          Optional<Dynamic<T>> $$2 = $$1.get().get("variant").result();
117          Dynamic<T> $$3 = $$1.get().remove("variant");
118          if ($$3.remove("id").equals($$3.emptyMap())) {
119             $$0 = $$0.remove("minecraft:entity_data");
120          } else {
121             $$0 = $$0.set("minecraft:entity_data", $$3);
122          }
123 
124          if ($$2.isPresent()) {
125             $$0 = $$0.set("minecraft:painting/variant", $$2.get());
126          }
127 
128          return $$0;
129       }
130    }
131 
132    @FunctionalInterface
133    interface Fixer extends Function<Typed<?>, Typed<?>> {
134       default Typed<?> apply(Typed<?> $$0) {
135          return $$0.update(DSL.remainderFinder(), this::fixRemainder);
136       }
137 
138       default <T> Dynamic<T> fixRemainder(Dynamic<T> $$0) {
139          return $$0.get("minecraft:bucket_entity_data").result().map($$1 -> this.fixRemainder($$0, (Dynamic<T>)$$1)).orElse($$0);
140       }
141 
142       <T> Dynamic<T> fixRemainder(Dynamic<T> var1, Dynamic<T> var2);
143    }
144 }
145 

net/minecraft/client/renderer/item/properties/select/SelectItemModelProperty.java --- Java
26                                                                         26 
27    @Environment(EnvType.CLIENT)                                         27    @Environment(EnvType.CLIENT)
28    public static record Type<P extends SelectItemModelProperty<T>, T>(M 28    public static record Type<P extends SelectItemModelProperty<T>, T>(M
.. apCodec<SelectItemModel.UnbakedSwitch<P, T>> switchCodec) {             .. apCodec<SelectItemModel.UnbakedSwitch<P, T>> switchCodec) {
29       public static <P extends SelectItemModelProperty<T>, T> SelectIte 29       public static <P extends SelectItemModelProperty<T>, T> SelectIte
.. mModelProperty.Type<P, T> create(MapCodec<P> $$0, Codec<T> $$1) {       .. mModelProperty.Type<P, T> create(MapCodec<P> $$0, Codec<T> $$1) {
..                                                                         30          MapCodec<SelectItemModel.UnbakedSwitch<P, T>> $$2 = RecordCode
..                                                                         .. cBuilder.mapCodec(
..                                                                         31             $$2x -> $$2x.group(
..                                                                         32                      $$0.forGetter(SelectItemModel.UnbakedSwitch::prope
..                                                                         .. rty), createCasesFieldCodec($$1).forGetter(SelectItemModel.UnbakedSwitc
..                                                                         .. h::cases)
..                                                                         33                   )
..                                                                         34                   .apply($$2x, SelectItemModel.UnbakedSwitch::new)
..                                                                         35          );
..                                                                         36          return new SelectItemModelProperty.Type<>($$2);
..                                                                         37       }
..                                                                         38 
..                                                                         39       public static <T> MapCodec<List<SelectItemModel.SwitchCase<T>>> c
..                                                                         .. reateCasesFieldCodec(Codec<T> $$0) {
..                                                                         40          return SelectItemModel.SwitchCase.codec($$0).listOf().validate
..                                                                         .. (SelectItemModelProperty.Type::validateCases).fieldOf("cases");
..                                                                         41       }
..                                                                         42 
30          Codec<List<SelectItemModel.SwitchCase<T>>> $$2 = SelectItemMod 43       private static <T> DataResult<List<SelectItemModel.SwitchCase<T>>
.. el.SwitchCase.codec($$1)                                                .. > validateCases(List<SelectItemModel.SwitchCase<T>> $$0) {
31             .listOf()                                                   .. 
32             .validate(                                                  .. 
33                $$0x -> {                                                .. 
34                   if ($$0x.isEmpty()) {                                 44          if ($$0.isEmpty()) {
35                      return DataResult.error(() -> "Empty case list");  45             return DataResult.error(() -> "Empty case list");
36                   } else {                                              46          } else {
37                      Multiset<T> $$1x = HashMultiset.create();          47             Multiset<T> $$1 = HashMultiset.create();
38                                                                         48 
39                      for (SelectItemModel.SwitchCase<T> $$2x : $$0x) {  49             for (SelectItemModel.SwitchCase<T> $$2 : $$0) {
40                         $$1x.addAll($$2x.values());                     50                $$1.addAll($$2.values());
41                      }                                                  51             }
42                                                                         52 
43                      return $$1x.size() != $$1x.entrySet().size()       53             return $$1.size() != $$1.entrySet().size()
44                         ? DataResult.error(                             54                ? DataResult.error(
45                            () -> "Duplicate case conditions: "          55                   () -> "Duplicate case conditions: "
46                                  + $$1x.entrySet()                      56                         + $$1.entrySet()
47                                     .stream()                           57                            .stream()
48                                     .filter($$0xxx -> $$0xxx.getCount() 58                            .filter($$0xx -> $$0xx.getCount() > 1)
..  > 1)                                                                   .. 
49                                     .map($$0xxx -> $$0xxx.getElement(). 59                            .map($$0xx -> $$0xx.getElement().toString())
.. toString())                                                             .. 
50                                     .collect(Collectors.joining(", "))  60                            .collect(Collectors.joining(", "))
51                         )                                               61                )
52                         : DataResult.success($$0x);                     62                : DataResult.success($$0);
53                   }                                                     63          }
54                }                                                        64       }
55             );                                                          .. 
56          MapCodec<SelectItemModel.UnbakedSwitch<P, T>> $$3 = RecordCode .. 
.. cBuilder.mapCodec(                                                      .. 
57             $$2x -> $$2x.group($$0.forGetter(SelectItemModel.UnbakedSwi .. 
.. tch::property), $$2.fieldOf("cases").forGetter(SelectItemModel.UnbakedS .. 
.. witch::cases))                                                          .. 
58                   .apply($$2x, SelectItemModel.UnbakedSwitch::new)      .. 
59          );                                                             .. 
60          return new SelectItemModelProperty.Type<>($$3);                .. 
61       }                                                                 .. 
62    }                                                                    65    }
63 }                                                                       66 }

net/minecraft/client/model/EquineSaddleModel.java --- Java
 1 package net.minecraft.client.model;
 2 
 3 import net.fabricmc.api.EnvType;
 4 import net.fabricmc.api.Environment;
 5 import net.minecraft.client.model.geom.ModelPart;
 6 import net.minecraft.client.model.geom.PartPose;
 7 import net.minecraft.client.model.geom.builders.CubeDeformation;
 8 import net.minecraft.client.model.geom.builders.CubeListBuilder;
 9 import net.minecraft.client.model.geom.builders.LayerDefinition;
10 import net.minecraft.client.model.geom.builders.MeshDefinition;
11 import net.minecraft.client.model.geom.builders.MeshTransformer;
12 import net.minecraft.client.model.geom.builders.PartDefinition;
13 import net.minecraft.client.renderer.entity.state.EquineRenderState;
14 
15 @Environment(EnvType.CLIENT)
16 public class EquineSaddleModel extends AbstractEquineModel<EquineRenderState> {
17    private static final String SADDLE = "saddle";
18    private static final String LEFT_SADDLE_MOUTH = "left_saddle_mouth";
19    private static final String LEFT_SADDLE_LINE = "left_saddle_line";
20    private static final String RIGHT_SADDLE_MOUTH = "right_saddle_mouth";
21    private static final String RIGHT_SADDLE_LINE = "right_saddle_line";
22    private static final String HEAD_SADDLE = "head_saddle";
23    private static final String MOUTH_SADDLE_WRAP = "mouth_saddle_wrap";
24    private final ModelPart[] ridingParts;
25 
26    public EquineSaddleModel(ModelPart $$0) {
27       super($$0);
28       ModelPart $$1 = this.headParts.getChild("left_saddle_line");
29       ModelPart $$2 = this.headParts.getChild("right_saddle_line");
30       this.ridingParts = new ModelPart[]{$$1, $$2};
31    }
32 
33    public static LayerDefinition createSaddleLayer(boolean $$0) {
34       return createFullScaleSaddleLayer($$0).apply($$0 ? BABY_TRANSFORMER : MeshTransformer.IDENTITY);
35    }
36 
37    public static LayerDefinition createFullScaleSaddleLayer(boolean $$0) {
38       MeshDefinition $$1 = $$0 ? createFullScaleBabyMesh(CubeDeformation.NONE) : createBodyMesh(CubeDeformation.NONE);
39       PartDefinition $$2 = $$1.getRoot();
40       PartDefinition $$3 = $$2.getChild("body");
41       PartDefinition $$4 = $$2.getChild("head_parts");
42       $$3.addOrReplaceChild(
43          "saddle", CubeListBuilder.create().texOffs(26, 0).addBox(-5.0F, -8.0F, -9.0F, 10.0F, 9.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.ZERO
44       );
45       $$4.addOrReplaceChild("left_saddle_mouth", CubeListBuilder.create().texOffs(29, 5).addBox(2.0F, -9.0F, -6.0F, 1.0F, 2.0F, 2.0F), PartPose.ZERO);
46       $$4.addOrReplaceChild("right_saddle_mouth", CubeListBuilder.create().texOffs(29, 5).addBox(-3.0F, -9.0F, -6.0F, 1.0F, 2.0F, 2.0F), PartPose.ZERO);
47       $$4.addOrReplaceChild(
48          "left_saddle_line",
49          CubeListBuilder.create().texOffs(32, 2).addBox(3.1F, -6.0F, -8.0F, 0.0F, 3.0F, 16.0F),
50          PartPose.rotation((float) (-Math.PI / 6), 0.0F, 0.0F)
51       );
52       $$4.addOrReplaceChild(
53          "right_saddle_line",
54          CubeListBuilder.create().texOffs(32, 2).addBox(-3.1F, -6.0F, -8.0F, 0.0F, 3.0F, 16.0F),
55          PartPose.rotation((float) (-Math.PI / 6), 0.0F, 0.0F)
56       );
57       $$4.addOrReplaceChild(
58          "head_saddle", CubeListBuilder.create().texOffs(1, 1).addBox(-3.0F, -11.0F, -1.9F, 6.0F, 5.0F, 6.0F, new CubeDeformation(0.22F)), PartPose.ZERO
59       );
60       $$4.addOrReplaceChild(
61          "mouth_saddle_wrap", CubeListBuilder.create().texOffs(19, 0).addBox(-2.0F, -11.0F, -4.0F, 4.0F, 5.0F, 2.0F, new CubeDeformation(0.2F)), PartPose.ZERO
62       );
63       return LayerDefinition.create($$1, 64, 64);
64    }
65 
66    @Override
67    public void setupAnim(EquineRenderState $$0) {
68       super.setupAnim($$0);
69 
70       for (ModelPart $$1 : this.ridingParts) {
71          $$1.visible = $$0.isRidden;
72       }
73    }
74 }
75 

net/minecraft/client/renderer/item/properties/select/SelectItemModelProperties.java --- Java
21       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("local_time") 21       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("local_time")
.. , LocalTime.TYPE);                                                      .. , LocalTime.TYPE);
22       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("context_enti 22       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("context_enti
.. ty_type"), ContextEntityType.TYPE);                                     .. ty_type"), ContextEntityType.TYPE);
23       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("context_dime 23       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("context_dime
.. nsion"), ContextDimension.TYPE);                                        .. nsion"), ContextDimension.TYPE);
..                                                                         24       ID_MAPPER.put(ResourceLocation.withDefaultNamespace("component"),
..                                                                         ..  ComponentContents.castType());
24    }                                                                    25    }
25 }                                                                       26 }

net/minecraft/world/entity/EntityType.java --- 1/2 --- Java
1118    }                                                                  1118    }
1119                                                                       1119 
1120    public static <T extends Entity> Consumer<T> appendDefaultStackCon 1120    public static <T extends Entity> Consumer<T> appendDefaultStackCon
.... fig(Consumer<T> $$0, Level $$1, ItemStack $$2, @Nullable LivingEntity .... fig(Consumer<T> $$0, Level $$1, ItemStack $$2, @Nullable LivingEntity
....  $$3) {                                                               ....  $$3) {
1121       return appendCustomEntityStackConfig(appendCustomNameConfig($$0 1121       return appendCustomEntityStackConfig(appendComponentsConfig($$0
.... , $$2), $$1, $$2, $$3);                                               .... , $$2), $$1, $$2, $$3);
1122    }                                                                  1122    }
1123                                                                       1123 
1124    public static <T extends Entity> Consumer<T> appendCustomNameConfi 1124    public static <T extends Entity> Consumer<T> appendComponentsConfi
.... g(Consumer<T> $$0, ItemStack $$1) {                                   .... g(Consumer<T> $$0, ItemStack $$1) {
1125       Component $$2 = $$1.get(DataComponents.CUSTOM_NAME);            .... 
1126       return $$2 != null ? $$0.andThen($$1x -> $$1x.setCustomName($$2 1125       return $$0.andThen($$1x -> $$1x.applyComponentsFromItemStack($$
.... )) : $$0;                                                             .... 1));
1127    }                                                                  1126    }
1128                                                                       1127 
1129    public static <T extends Entity> Consumer<T> appendCustomEntitySta 1128    public static <T extends Entity> Consumer<T> appendCustomEntitySta
     ckConfig(Consumer<T> $$0, Level $$1, ItemStack $$2, @Nullable LivingE      ckConfig(Consumer<T> $$0, Level $$1, ItemStack $$2, @Nullable LivingE
     ntity $$3) {                                                               ntity $$3) {

net/minecraft/world/entity/EntityType.java --- 2/2 --- Java
1163             $$7 = 0.0;                                                1162             $$7 = 0.0;
1164          }                                                            1163          }
1165                                                                       1164 
1166          $$6.moveTo((double)$$2.getX() + 0.5, (double)$$2.getY() + $$ 1165          $$6.snapTo((double)$$2.getX() + 0.5, (double)$$2.getY() + $$
.... 7, (double)$$2.getZ() + 0.5, Mth.wrapDegrees($$0.random.nextFloat() * .... 7, (double)$$2.getZ() + 0.5, Mth.wrapDegrees($$0.random.nextFloat() *
....  360.0F), 0.0F);                                                      ....  360.0F), 0.0F);
1167          if ($$6 instanceof Mob $$9) {                                1166          if ($$6 instanceof Mob $$9) {
1168             $$9.yHeadRot = $$9.getYRot();                             1167             $$9.yHeadRot = $$9.getYRot();
1169             $$9.yBodyRot = $$9.getYRot();                             1168             $$9.yBodyRot = $$9.getYRot();

net/minecraft/util/datafix/ExtraDataFixUtils.java --- Java
85       return $$0.update($$1, $$2x -> DataFixUtils.orElse($$2x.asString(  85       return $$0.update($$1, $$2x -> DataFixUtils.orElse($$2x.asString(
.. ).map($$2).map($$0::createString).result(), $$2x));                      .. ).map($$2).map($$0::createString).result(), $$2x));
86    }                                                                     86    }
..                                                                          87 
..                                                                          88    public static String dyeColorIdToName(int $$0) {
..                                                                          89       return switch ($$0) {
..                                                                          90          case 1 -> "orange";
..                                                                          91          case 2 -> "magenta";
..                                                                          92          case 3 -> "light_blue";
..                                                                          93          case 4 -> "yellow";
..                                                                          94          case 5 -> "lime";
..                                                                          95          case 6 -> "pink";
..                                                                          96          case 7 -> "gray";
..                                                                          97          case 8 -> "light_gray";
..                                                                          98          case 9 -> "cyan";
..                                                                          99          case 10 -> "purple";
..                                                                         100          case 11 -> "blue";
..                                                                         101          case 12 -> "brown";
..                                                                         102          case 13 -> "green";
..                                                                         103          case 14 -> "red";
..                                                                         104          case 15 -> "black";
..                                                                         105          default -> "white";
..                                                                         106       };
..                                                                         107    }
87 }                                                                       108 }

net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java --- Java
31                                                                         31 
32    public AbstractHurtingProjectile(EntityType<? extends AbstractHurtin 32    public AbstractHurtingProjectile(EntityType<? extends AbstractHurtin
.. gProjectile> $$0, double $$1, double $$2, double $$3, Vec3 $$4, Level $ .. gProjectile> $$0, double $$1, double $$2, double $$3, Vec3 $$4, Level $
.. $5) {                                                                   .. $5) {
33       this($$0, $$5);                                                   33       this($$0, $$5);
34       this.moveTo($$1, $$2, $$3, this.getYRot(), this.getXRot());       34       this.snapTo($$1, $$2, $$3, this.getYRot(), this.getXRot());
35       this.reapplyPosition();                                           35       this.reapplyPosition();
36       this.assignDirectionalMovement($$4, this.accelerationPower);      36       this.assignDirectionalMovement($$4, this.accelerationPower);
37    }                                                                    37    }

net/minecraft/client/model/geom/LayerDefinitions.java --- 1/4 --- Java
26 import net.minecraft.client.model.BookModel;                            26 import net.minecraft.client.model.BookModel;
27 import net.minecraft.client.model.BreezeModel;                          27 import net.minecraft.client.model.BreezeModel;
28 import net.minecraft.client.model.CamelModel;                           28 import net.minecraft.client.model.CamelModel;
..                                                                         29 import net.minecraft.client.model.CamelSaddleModel;
29 import net.minecraft.client.model.CatModel;                             30 import net.minecraft.client.model.CatModel;
30 import net.minecraft.client.model.ChestModel;                           31 import net.minecraft.client.model.ChestModel;
31 import net.minecraft.client.model.ChickenModel;                         32 import net.minecraft.client.model.ChickenModel;

net/minecraft/client/model/geom/LayerDefinitions.java --- 2/4 --- Java
41 import net.minecraft.client.model.EndCrystalModel;                      42 import net.minecraft.client.model.EndCrystalModel;
42 import net.minecraft.client.model.EndermanModel;                        43 import net.minecraft.client.model.EndermanModel;
43 import net.minecraft.client.model.EndermiteModel;                       44 import net.minecraft.client.model.EndermiteModel;
..                                                                         45 import net.minecraft.client.model.EquineSaddleModel;
44 import net.minecraft.client.model.EvokerFangsModel;                     46 import net.minecraft.client.model.EvokerFangsModel;
45 import net.minecraft.client.model.FelineModel;                          47 import net.minecraft.client.model.FelineModel;
46 import net.minecraft.client.model.FoxModel;                             48 import net.minecraft.client.model.FoxModel;

net/minecraft/client/model/geom/LayerDefinitions.java --- 3/4 --- Java
132       LayerDefinition $$6 = SkullModel.createMobHeadLayer();           134       LayerDefinition $$6 = SkullModel.createMobHeadLayer();
133       LayerDefinition $$7 = LayerDefinition.create(AbstractEquineModel 135       LayerDefinition $$7 = LayerDefinition.create(AbstractEquineModel
... .createBodyMesh(CubeDeformation.NONE), 64, 64);                        ... .createBodyMesh(CubeDeformation.NONE), 64, 64);
134       LayerDefinition $$8 = LayerDefinition.create(AbstractEquineModel 136       LayerDefinition $$8 = LayerDefinition.create(AbstractEquineModel
... .createBabyMesh(CubeDeformation.NONE), 64, 64);                        ... .createBabyMesh(CubeDeformation.NONE), 64, 64);
...                                                                        137       LayerDefinition $$9 = EquineSaddleModel.createSaddleLayer(false)
...                                                                        ... ;
...                                                                        138       LayerDefinition $$10 = EquineSaddleModel.createSaddleLayer(true)
...                                                                        ... ;
135       MeshTransformer $$9 = MeshTransformer.scaling(0.9375F);          139       MeshTransformer $$11 = MeshTransformer.scaling(0.9375F);
136       LayerDefinition $$10 = IllagerModel.createBodyLayer().apply($$9) 140       LayerDefinition $$12 = IllagerModel.createBodyLayer().apply($$11
... ;                                                                      ... );
137       LayerDefinition $$11 = AxolotlModel.createBodyLayer();           141       LayerDefinition $$13 = AxolotlModel.createBodyLayer();
138       LayerDefinition $$12 = BeeModel.createBodyLayer();               142       LayerDefinition $$14 = BeeModel.createBodyLayer();
139       LayerDefinition $$13 = CowModel.createBodyLayer();               143       LayerDefinition $$15 = CowModel.createBodyLayer();
140       LayerDefinition $$14 = $$13.apply(CowModel.BABY_TRANSFORMER);    144       LayerDefinition $$16 = $$15.apply(CowModel.BABY_TRANSFORMER);
141       LayerDefinition $$15 = ElytraModel.createLayer();                145       LayerDefinition $$17 = ElytraModel.createLayer();
142       LayerDefinition $$16 = LayerDefinition.create(FelineModel.create 146       LayerDefinition $$18 = LayerDefinition.create(FelineModel.create
... BodyMesh(CubeDeformation.NONE), 64, 32);                               ... BodyMesh(CubeDeformation.NONE), 64, 32);
143       LayerDefinition $$17 = $$16.apply(FelineModel.BABY_TRANSFORMER); 147       LayerDefinition $$19 = $$18.apply(FelineModel.BABY_TRANSFORMER);
144       LayerDefinition $$18 = LayerDefinition.create(FelineModel.create 148       LayerDefinition $$20 = LayerDefinition.create(FelineModel.create
... BodyMesh(new CubeDeformation(0.01F)), 64, 32);                         ... BodyMesh(new CubeDeformation(0.01F)), 64, 32);
145       LayerDefinition $$19 = LayerDefinition.create(PiglinModel.create 149       LayerDefinition $$21 = LayerDefinition.create(PiglinModel.create
... Mesh(CubeDeformation.NONE), 64, 64);                                   ... Mesh(CubeDeformation.NONE), 64, 64);
146       LayerDefinition $$20 = LayerDefinition.create(PiglinHeadModel.cr 150       LayerDefinition $$22 = LayerDefinition.create(PiglinHeadModel.cr
... eateHeadModel(), 64, 64);                                              ... eateHeadModel(), 64, 64);
147       LayerDefinition $$21 = SkullModel.createHumanoidHeadLayer();     151       LayerDefinition $$23 = SkullModel.createHumanoidHeadLayer();
148       LayerDefinition $$22 = LlamaModel.createBodyLayer(CubeDeformatio 152       LayerDefinition $$24 = LlamaModel.createBodyLayer(CubeDeformatio
... n.NONE);                                                               ... n.NONE);
149       LayerDefinition $$23 = LlamaModel.createBodyLayer(new CubeDeform 153       LayerDefinition $$25 = LlamaModel.createBodyLayer(new CubeDeform
... ation(0.5F));                                                          ... ation(0.5F));
150       LayerDefinition $$24 = StriderModel.createBodyLayer();           154       LayerDefinition $$26 = StriderModel.createBodyLayer();
151       LayerDefinition $$25 = HoglinModel.createBodyLayer();            155       LayerDefinition $$27 = HoglinModel.createBodyLayer();
152       LayerDefinition $$26 = HoglinModel.createBabyLayer();            156       LayerDefinition $$28 = HoglinModel.createBabyLayer();
153       LayerDefinition $$27 = SkeletonModel.createBodyLayer();          157       LayerDefinition $$29 = SkeletonModel.createBodyLayer();
154       LayerDefinition $$28 = LayerDefinition.create(VillagerModel.crea 158       LayerDefinition $$30 = LayerDefinition.create(VillagerModel.crea
... teBodyModel(), 64, 64).apply($$9);                                     ... teBodyModel(), 64, 64).apply($$11);
155       LayerDefinition $$29 = SpiderModel.createSpiderBodyLayer();      159       LayerDefinition $$31 = SpiderModel.createSpiderBodyLayer();
156       LayerDefinition $$30 = ArmadilloModel.createBodyLayer();         160       LayerDefinition $$32 = ArmadilloModel.createBodyLayer();
157       LayerDefinition $$31 = CamelModel.createBodyLayer();             161       LayerDefinition $$33 = CamelModel.createBodyLayer();
...                                                                        162       LayerDefinition $$34 = CamelSaddleModel.createSaddleLayer();
158       LayerDefinition $$32 = ChickenModel.createBodyLayer();           163       LayerDefinition $$35 = ChickenModel.createBodyLayer();
159       LayerDefinition $$33 = GoatModel.createBodyLayer();              164       LayerDefinition $$36 = GoatModel.createBodyLayer();
160       LayerDefinition $$34 = PandaModel.createBodyLayer();             165       LayerDefinition $$37 = PandaModel.createBodyLayer();
161       LayerDefinition $$35 = PigModel.createBodyLayer(CubeDeformation. 166       LayerDefinition $$38 = PigModel.createBodyLayer(CubeDeformation.
... NONE);                                                                 ... NONE);
162       LayerDefinition $$36 = ColdPigModel.createBodyLayer(CubeDeformat 167       LayerDefinition $$39 = ColdPigModel.createBodyLayer(CubeDeformat
... ion.NONE);                                                             ... ion.NONE);
163       LayerDefinition $$37 = PigModel.createSaddleLayer(new CubeDeform 168       LayerDefinition $$40 = PigModel.createBodyLayer(new CubeDeformat
... ation(0.5F));                                                          ... ion(0.5F));
164       LayerDefinition $$38 = PolarBearModel.createBodyLayer();         ... 
165       LayerDefinition $$39 = SheepModel.createBodyLayer();             169       LayerDefinition $$41 = SheepModel.createBodyLayer();
166       LayerDefinition $$40 = SheepFurModel.createFurLayer();           170       LayerDefinition $$42 = SheepFurModel.createFurLayer();
167       LayerDefinition $$41 = SnifferModel.createBodyLayer();           171       LayerDefinition $$43 = SnifferModel.createBodyLayer();
168       LayerDefinition $$42 = TurtleModel.createBodyLayer();            172       LayerDefinition $$44 = TurtleModel.createBodyLayer();
169       LayerDefinition $$43 = LayerDefinition.create(WolfModel.createMe 173       LayerDefinition $$45 = LayerDefinition.create(WolfModel.createMe
... shDefinition(CubeDeformation.NONE), 64, 32);                           ... shDefinition(CubeDeformation.NONE), 64, 32);
170       LayerDefinition $$44 = LayerDefinition.create(WolfModel.createMe 174       LayerDefinition $$46 = LayerDefinition.create(WolfModel.createMe
... shDefinition(new CubeDeformation(0.2F)), 64, 32);                      ... shDefinition(new CubeDeformation(0.2F)), 64, 32);
171       LayerDefinition $$45 = ZombieVillagerModel.createBodyLayer();    175       LayerDefinition $$47 = ZombieVillagerModel.createBodyLayer();
172       LayerDefinition $$46 = ArmorStandModel.createBodyLayer();        176       LayerDefinition $$48 = ArmorStandModel.createBodyLayer();
173       LayerDefinition $$47 = ArmorStandArmorModel.createBodyLayer(INNE 177       LayerDefinition $$49 = ArmorStandArmorModel.createBodyLayer(INNE
... R_ARMOR_DEFORMATION);                                                  ... R_ARMOR_DEFORMATION);
174       LayerDefinition $$48 = ArmorStandArmorModel.createBodyLayer(OUTE 178       LayerDefinition $$50 = ArmorStandArmorModel.createBodyLayer(OUTE
... R_ARMOR_DEFORMATION);                                                  ... R_ARMOR_DEFORMATION);
175       LayerDefinition $$49 = DrownedModel.createBodyLayer(CubeDeformat 179       LayerDefinition $$51 = DrownedModel.createBodyLayer(CubeDeformat
... ion.NONE);                                                             ... ion.NONE);
176       LayerDefinition $$50 = DrownedModel.createBodyLayer(new CubeDefo 180       LayerDefinition $$52 = DrownedModel.createBodyLayer(new CubeDefo
... rmation(0.25F));                                                       ... rmation(0.25F));
177       LayerDefinition $$51 = SquidModel.createBodyLayer();             181       LayerDefinition $$53 = SquidModel.createBodyLayer();
178       LayerDefinition $$52 = DolphinModel.createBodyLayer();           182       LayerDefinition $$54 = DolphinModel.createBodyLayer();
179       LayerDefinition $$53 = SalmonModel.createBodyLayer();            183       LayerDefinition $$55 = SalmonModel.createBodyLayer();
180       $$0.put(ModelLayers.ALLAY, AllayModel.createBodyLayer());        184       $$0.put(ModelLayers.ALLAY, AllayModel.createBodyLayer());
181       $$0.put(ModelLayers.ARMADILLO, $$30);                            185       $$0.put(ModelLayers.ARMADILLO, $$32);
182       $$0.put(ModelLayers.ARMADILLO_BABY, $$30.apply(ArmadilloModel.BA 186       $$0.put(ModelLayers.ARMADILLO_BABY, $$32.apply(ArmadilloModel.BA
... BY_TRANSFORMER));                                                      ... BY_TRANSFORMER));
183       $$0.put(ModelLayers.ARMOR_STAND, $$46);                          187       $$0.put(ModelLayers.ARMOR_STAND, $$48);
184       $$0.put(ModelLayers.ARMOR_STAND_INNER_ARMOR, $$47);              188       $$0.put(ModelLayers.ARMOR_STAND_INNER_ARMOR, $$49);
185       $$0.put(ModelLayers.ARMOR_STAND_OUTER_ARMOR, $$48);              189       $$0.put(ModelLayers.ARMOR_STAND_OUTER_ARMOR, $$50);
186       $$0.put(ModelLayers.ARMOR_STAND_SMALL, $$46.apply(HumanoidModel. 190       $$0.put(ModelLayers.ARMOR_STAND_SMALL, $$48.apply(HumanoidModel.
... BABY_TRANSFORMER));                                                    ... BABY_TRANSFORMER));
187       $$0.put(ModelLayers.ARMOR_STAND_SMALL_INNER_ARMOR, $$47.apply(Hu 191       $$0.put(ModelLayers.ARMOR_STAND_SMALL_INNER_ARMOR, $$49.apply(Hu
... manoidModel.BABY_TRANSFORMER));                                        ... manoidModel.BABY_TRANSFORMER));
188       $$0.put(ModelLayers.ARMOR_STAND_SMALL_OUTER_ARMOR, $$48.apply(Hu 192       $$0.put(ModelLayers.ARMOR_STAND_SMALL_OUTER_ARMOR, $$50.apply(Hu
... manoidModel.BABY_TRANSFORMER));                                        ... manoidModel.BABY_TRANSFORMER));
189       $$0.put(ModelLayers.ARROW, ArrowModel.createBodyLayer());        193       $$0.put(ModelLayers.ARROW, ArrowModel.createBodyLayer());
190       $$0.put(ModelLayers.AXOLOTL, $$11);                              194       $$0.put(ModelLayers.AXOLOTL, $$13);
191       $$0.put(ModelLayers.AXOLOTL_BABY, $$11.apply(AxolotlModel.BABY_T 195       $$0.put(ModelLayers.AXOLOTL_BABY, $$13.apply(AxolotlModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
192       $$0.put(ModelLayers.STANDING_BANNER, BannerModel.createBodyLayer 196       $$0.put(ModelLayers.STANDING_BANNER, BannerModel.createBodyLayer
... (true));                                                               ... (true));
193       $$0.put(ModelLayers.WALL_BANNER, BannerModel.createBodyLayer(fal 197       $$0.put(ModelLayers.WALL_BANNER, BannerModel.createBodyLayer(fal
... se));                                                                  ... se));
194       $$0.put(ModelLayers.STANDING_BANNER_FLAG, BannerFlagModel.create 198       $$0.put(ModelLayers.STANDING_BANNER_FLAG, BannerFlagModel.create
... FlagLayer(true));                                                      ... FlagLayer(true));
195       $$0.put(ModelLayers.WALL_BANNER_FLAG, BannerFlagModel.createFlag 199       $$0.put(ModelLayers.WALL_BANNER_FLAG, BannerFlagModel.createFlag
... Layer(false));                                                         ... Layer(false));
196       $$0.put(ModelLayers.BAT, BatModel.createBodyLayer());            200       $$0.put(ModelLayers.BAT, BatModel.createBodyLayer());
197       $$0.put(ModelLayers.BED_FOOT, BedRenderer.createFootLayer());    201       $$0.put(ModelLayers.BED_FOOT, BedRenderer.createFootLayer());
198       $$0.put(ModelLayers.BED_HEAD, BedRenderer.createHeadLayer());    202       $$0.put(ModelLayers.BED_HEAD, BedRenderer.createHeadLayer());
199       $$0.put(ModelLayers.BEE, $$12);                                  203       $$0.put(ModelLayers.BEE, $$14);
200       $$0.put(ModelLayers.BEE_BABY, $$12.apply(BeeModel.BABY_TRANSFORM 204       $$0.put(ModelLayers.BEE_BABY, $$14.apply(BeeModel.BABY_TRANSFORM
... ER));                                                                  ... ER));
201       $$0.put(ModelLayers.BEE_STINGER, BeeStingerModel.createBodyLayer 205       $$0.put(ModelLayers.BEE_STINGER, BeeStingerModel.createBodyLayer
... ());                                                                   ... ());
202       $$0.put(ModelLayers.BELL, BellModel.createBodyLayer());          206       $$0.put(ModelLayers.BELL, BellModel.createBodyLayer());
203       $$0.put(ModelLayers.BLAZE, BlazeModel.createBodyLayer());        207       $$0.put(ModelLayers.BLAZE, BlazeModel.createBodyLayer());

net/minecraft/client/model/geom/LayerDefinitions.java --- 4/4 --- Java
209       $$0.put(ModelLayers.BOOK, BookModel.createBodyLayer());          213       $$0.put(ModelLayers.BOOK, BookModel.createBodyLayer());
210       $$0.put(ModelLayers.BREEZE, BreezeModel.createBodyLayer(32, 32)) 214       $$0.put(ModelLayers.BREEZE, BreezeModel.createBodyLayer(32, 32))
... ;                                                                      ... ;
211       $$0.put(ModelLayers.BREEZE_WIND, BreezeModel.createBodyLayer(128 215       $$0.put(ModelLayers.BREEZE_WIND, BreezeModel.createBodyLayer(128
... , 128));                                                               ... , 128));
212       $$0.put(ModelLayers.CAT, $$16.apply(CatModel.CAT_TRANSFORMER));  216       $$0.put(ModelLayers.CAT, $$18.apply(CatModel.CAT_TRANSFORMER));
213       $$0.put(ModelLayers.CAT_BABY, $$17.apply(CatModel.CAT_TRANSFORME 217       $$0.put(ModelLayers.CAT_BABY, $$19.apply(CatModel.CAT_TRANSFORME
... R));                                                                   ... R));
214       $$0.put(ModelLayers.CAT_COLLAR, $$18.apply(CatModel.CAT_TRANSFOR 218       $$0.put(ModelLayers.CAT_COLLAR, $$20.apply(CatModel.CAT_TRANSFOR
... MER));                                                                 ... MER));
215       $$0.put(ModelLayers.CAT_BABY_COLLAR, $$18.apply(FelineModel.BABY 219       $$0.put(ModelLayers.CAT_BABY_COLLAR, $$20.apply(FelineModel.BABY
... _TRANSFORMER).apply(CatModel.CAT_TRANSFORMER));                        ... _TRANSFORMER).apply(CatModel.CAT_TRANSFORMER));
216       $$0.put(ModelLayers.CAMEL, $$31);                                220       $$0.put(ModelLayers.CAMEL, $$33);
217       $$0.put(ModelLayers.CAMEL_BABY, $$31.apply(CamelModel.BABY_TRANS 221       $$0.put(ModelLayers.CAMEL_BABY, $$33.apply(CamelModel.BABY_TRANS
... FORMER));                                                              ... FORMER));
...                                                                        222       $$0.put(ModelLayers.CAMEL_SADDLE, $$34);
...                                                                        223       $$0.put(ModelLayers.CAMEL_BABY_SADDLE, $$34.apply(CamelModel.BAB
...                                                                        ... Y_TRANSFORMER));
218       $$0.put(ModelLayers.CAVE_SPIDER, $$29.apply(MeshTransformer.scal 224       $$0.put(ModelLayers.CAVE_SPIDER, $$31.apply(MeshTransformer.scal
... ing(0.7F)));                                                           ... ing(0.7F)));
219       $$0.put(ModelLayers.CHEST, ChestModel.createSingleBodyLayer());  225       $$0.put(ModelLayers.CHEST, ChestModel.createSingleBodyLayer());
220       $$0.put(ModelLayers.CHEST_MINECART, $$5);                        226       $$0.put(ModelLayers.CHEST_MINECART, $$5);
221       $$0.put(ModelLayers.CHICKEN, $$32);                              227       $$0.put(ModelLayers.CHICKEN, $$35);
222       $$0.put(ModelLayers.CHICKEN_BABY, $$32.apply(ChickenModel.BABY_T 228       $$0.put(ModelLayers.CHICKEN_BABY, $$35.apply(ChickenModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
223       $$0.put(ModelLayers.COD, CodModel.createBodyLayer());            229       $$0.put(ModelLayers.COD, CodModel.createBodyLayer());
224       $$0.put(ModelLayers.COLD_PIG, $$36);                             230       $$0.put(ModelLayers.COLD_PIG, $$39);
225       $$0.put(ModelLayers.COLD_PIG_BABY, $$36.apply(PigModel.BABY_TRAN 231       $$0.put(ModelLayers.COLD_PIG_BABY, $$39.apply(PigModel.BABY_TRAN
... SFORMER));                                                             ... SFORMER));
226       $$0.put(ModelLayers.COMMAND_BLOCK_MINECART, $$5);                232       $$0.put(ModelLayers.COMMAND_BLOCK_MINECART, $$5);
227       $$0.put(ModelLayers.CONDUIT_EYE, ConduitRenderer.createEyeLayer( 233       $$0.put(ModelLayers.CONDUIT_EYE, ConduitRenderer.createEyeLayer(
... ));                                                                    ... ));
228       $$0.put(ModelLayers.CONDUIT_WIND, ConduitRenderer.createWindLaye 234       $$0.put(ModelLayers.CONDUIT_WIND, ConduitRenderer.createWindLaye
... r());                                                                  ... r());
229       $$0.put(ModelLayers.CONDUIT_SHELL, ConduitRenderer.createShellLa 235       $$0.put(ModelLayers.CONDUIT_SHELL, ConduitRenderer.createShellLa
... yer());                                                                ... yer());
230       $$0.put(ModelLayers.CONDUIT_CAGE, ConduitRenderer.createCageLaye 236       $$0.put(ModelLayers.CONDUIT_CAGE, ConduitRenderer.createCageLaye
... r());                                                                  ... r());
231       $$0.put(ModelLayers.COW, $$13);                                  237       $$0.put(ModelLayers.COW, $$15);
232       $$0.put(ModelLayers.COW_BABY, $$14);                             238       $$0.put(ModelLayers.COW_BABY, $$16);
233       $$0.put(ModelLayers.CREAKING, CreakingModel.createBodyLayer());  239       $$0.put(ModelLayers.CREAKING, CreakingModel.createBodyLayer());
234       $$0.put(ModelLayers.CREEPER, CreeperModel.createBodyLayer(CubeDe 240       $$0.put(ModelLayers.CREEPER, CreeperModel.createBodyLayer(CubeDe
... formation.NONE));                                                      ... formation.NONE));
235       $$0.put(ModelLayers.CREEPER_ARMOR, CreeperModel.createBodyLayer( 241       $$0.put(ModelLayers.CREEPER_ARMOR, CreeperModel.createBodyLayer(
... new CubeDeformation(2.0F)));                                           ... new CubeDeformation(2.0F)));
236       $$0.put(ModelLayers.CREEPER_HEAD, $$6);                          242       $$0.put(ModelLayers.CREEPER_HEAD, $$6);
237       $$0.put(ModelLayers.DECORATED_POT_BASE, DecoratedPotRenderer.cre 243       $$0.put(ModelLayers.DECORATED_POT_BASE, DecoratedPotRenderer.cre
... ateBaseLayer());                                                       ... ateBaseLayer());
238       $$0.put(ModelLayers.DECORATED_POT_SIDES, DecoratedPotRenderer.cr 244       $$0.put(ModelLayers.DECORATED_POT_SIDES, DecoratedPotRenderer.cr
... eateSidesLayer());                                                     ... eateSidesLayer());
239       $$0.put(ModelLayers.DOLPHIN, $$52);                              245       $$0.put(ModelLayers.DOLPHIN, $$54);
240       $$0.put(ModelLayers.DOLPHIN_BABY, $$52.apply(DolphinModel.BABY_T 246       $$0.put(ModelLayers.DOLPHIN_BABY, $$54.apply(DolphinModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
241       $$0.put(ModelLayers.DONKEY, DonkeyModel.createBodyLayer(0.87F)); 247       $$0.put(ModelLayers.DONKEY, DonkeyModel.createBodyLayer(0.87F));
242       $$0.put(ModelLayers.DONKEY_BABY, DonkeyModel.createBabyLayer(0.8 248       $$0.put(ModelLayers.DONKEY_BABY, DonkeyModel.createBabyLayer(0.8
... 7F));                                                                  ... 7F));
...                                                                        249       $$0.put(ModelLayers.DONKEY_SADDLE, DonkeyModel.createSaddleLayer
...                                                                        ... (0.87F, false));
...                                                                        250       $$0.put(ModelLayers.DONKEY_BABY_SADDLE, DonkeyModel.createSaddle
...                                                                        ... Layer(0.87F, true));
243       $$0.put(ModelLayers.DOUBLE_CHEST_LEFT, ChestModel.createDoubleBo 251       $$0.put(ModelLayers.DOUBLE_CHEST_LEFT, ChestModel.createDoubleBo
... dyLeftLayer());                                                        ... dyLeftLayer());
244       $$0.put(ModelLayers.DOUBLE_CHEST_RIGHT, ChestModel.createDoubleB 252       $$0.put(ModelLayers.DOUBLE_CHEST_RIGHT, ChestModel.createDoubleB
... odyRightLayer());                                                      ... odyRightLayer());
245       $$0.put(ModelLayers.DRAGON_SKULL, DragonHeadModel.createHeadLaye 253       $$0.put(ModelLayers.DRAGON_SKULL, DragonHeadModel.createHeadLaye
... r());                                                                  ... r());
246       $$0.put(ModelLayers.DROWNED, $$49);                              254       $$0.put(ModelLayers.DROWNED, $$51);
247       $$0.put(ModelLayers.DROWNED_INNER_ARMOR, $$4);                   255       $$0.put(ModelLayers.DROWNED_INNER_ARMOR, $$4);
248       $$0.put(ModelLayers.DROWNED_OUTER_ARMOR, $$4);                   256       $$0.put(ModelLayers.DROWNED_OUTER_ARMOR, $$4);
249       $$0.put(ModelLayers.DROWNED_OUTER_LAYER, $$50);                  257       $$0.put(ModelLayers.DROWNED_OUTER_LAYER, $$52);
250       $$0.put(ModelLayers.DROWNED_BABY, $$49.apply(HumanoidModel.BABY_ 258       $$0.put(ModelLayers.DROWNED_BABY, $$51.apply(HumanoidModel.BABY_
... TRANSFORMER));                                                         ... TRANSFORMER));
251       $$0.put(ModelLayers.DROWNED_BABY_INNER_ARMOR, $$4.apply(Humanoid 259       $$0.put(ModelLayers.DROWNED_BABY_INNER_ARMOR, $$4.apply(Humanoid
... Model.BABY_TRANSFORMER));                                              ... Model.BABY_TRANSFORMER));
252       $$0.put(ModelLayers.DROWNED_BABY_OUTER_ARMOR, $$4.apply(Humanoid 260       $$0.put(ModelLayers.DROWNED_BABY_OUTER_ARMOR, $$4.apply(Humanoid
... Model.BABY_TRANSFORMER));                                              ... Model.BABY_TRANSFORMER));
253       $$0.put(ModelLayers.DROWNED_BABY_OUTER_LAYER, $$50.apply(Humanoi 261       $$0.put(ModelLayers.DROWNED_BABY_OUTER_LAYER, $$52.apply(Humanoi
... dModel.BABY_TRANSFORMER));                                             ... dModel.BABY_TRANSFORMER));
254       $$0.put(ModelLayers.ELDER_GUARDIAN, GuardianModel.createElderGua 262       $$0.put(ModelLayers.ELDER_GUARDIAN, GuardianModel.createElderGua
... rdianLayer());                                                         ... rdianLayer());
255       $$0.put(ModelLayers.ELYTRA, $$15);                               263       $$0.put(ModelLayers.ELYTRA, $$17);
256       $$0.put(ModelLayers.ELYTRA_BABY, $$15.apply(ElytraModel.BABY_TRA 264       $$0.put(ModelLayers.ELYTRA_BABY, $$17.apply(ElytraModel.BABY_TRA
... NSFORMER));                                                            ... NSFORMER));
257       $$0.put(ModelLayers.ENDERMAN, EndermanModel.createBodyLayer());  265       $$0.put(ModelLayers.ENDERMAN, EndermanModel.createBodyLayer());
258       $$0.put(ModelLayers.ENDERMITE, EndermiteModel.createBodyLayer()) 266       $$0.put(ModelLayers.ENDERMITE, EndermiteModel.createBodyLayer())
... ;                                                                      ... ;
259       $$0.put(ModelLayers.ENDER_DRAGON, EnderDragonModel.createBodyLay 267       $$0.put(ModelLayers.ENDER_DRAGON, EnderDragonModel.createBodyLay
... er());                                                                 ... er());
260       $$0.put(ModelLayers.END_CRYSTAL, EndCrystalModel.createBodyLayer 268       $$0.put(ModelLayers.END_CRYSTAL, EndCrystalModel.createBodyLayer
... ());                                                                   ... ());
261       $$0.put(ModelLayers.EVOKER, $$10);                               269       $$0.put(ModelLayers.EVOKER, $$12);
262       $$0.put(ModelLayers.EVOKER_FANGS, EvokerFangsModel.createBodyLay 270       $$0.put(ModelLayers.EVOKER_FANGS, EvokerFangsModel.createBodyLay
... er());                                                                 ... er());
263       $$0.put(ModelLayers.FOX, FoxModel.createBodyLayer());            271       $$0.put(ModelLayers.FOX, FoxModel.createBodyLayer());
264       $$0.put(ModelLayers.FOX_BABY, FoxModel.createBodyLayer().apply(F 272       $$0.put(ModelLayers.FOX_BABY, FoxModel.createBodyLayer().apply(F
... oxModel.BABY_TRANSFORMER));                                            ... oxModel.BABY_TRANSFORMER));
265       $$0.put(ModelLayers.FROG, FrogModel.createBodyLayer());          273       $$0.put(ModelLayers.FROG, FrogModel.createBodyLayer());
266       $$0.put(ModelLayers.FURNACE_MINECART, $$5);                      274       $$0.put(ModelLayers.FURNACE_MINECART, $$5);
267       $$0.put(ModelLayers.GHAST, GhastModel.createBodyLayer());        275       $$0.put(ModelLayers.GHAST, GhastModel.createBodyLayer());
268       MeshTransformer $$54 = MeshTransformer.scaling(6.0F);            276       MeshTransformer $$56 = MeshTransformer.scaling(6.0F);
269       $$0.put(ModelLayers.GIANT, $$1.apply($$54));                     277       $$0.put(ModelLayers.GIANT, $$1.apply($$56));
270       $$0.put(ModelLayers.GIANT_INNER_ARMOR, $$4.apply($$54));         278       $$0.put(ModelLayers.GIANT_INNER_ARMOR, $$4.apply($$56));
271       $$0.put(ModelLayers.GIANT_OUTER_ARMOR, $$2.apply($$54));         279       $$0.put(ModelLayers.GIANT_OUTER_ARMOR, $$2.apply($$56));
272       $$0.put(ModelLayers.GLOW_SQUID, $$51);                           280       $$0.put(ModelLayers.GLOW_SQUID, $$53);
273       $$0.put(ModelLayers.GLOW_SQUID_BABY, $$51.apply(SquidModel.BABY_ 281       $$0.put(ModelLayers.GLOW_SQUID_BABY, $$53.apply(SquidModel.BABY_
... TRANSFORMER));                                                         ... TRANSFORMER));
274       $$0.put(ModelLayers.GOAT, $$33);                                 282       $$0.put(ModelLayers.GOAT, $$36);
275       $$0.put(ModelLayers.GOAT_BABY, $$33.apply(GoatModel.BABY_TRANSFO 283       $$0.put(ModelLayers.GOAT_BABY, $$36.apply(GoatModel.BABY_TRANSFO
... RMER));                                                                ... RMER));
276       $$0.put(ModelLayers.GUARDIAN, GuardianModel.createBodyLayer());  284       $$0.put(ModelLayers.GUARDIAN, GuardianModel.createBodyLayer());
277       $$0.put(ModelLayers.HOGLIN, $$25);                               285       $$0.put(ModelLayers.HOGLIN, $$27);
278       $$0.put(ModelLayers.HOGLIN_BABY, $$26);                          286       $$0.put(ModelLayers.HOGLIN_BABY, $$28);
279       $$0.put(ModelLayers.HOPPER_MINECART, $$5);                       287       $$0.put(ModelLayers.HOPPER_MINECART, $$5);
280       MeshTransformer $$55 = MeshTransformer.scaling(1.1F);            288       MeshTransformer $$57 = MeshTransformer.scaling(1.1F);
281       $$0.put(ModelLayers.HORSE, $$7.apply($$55));                     289       $$0.put(ModelLayers.HORSE, $$7.apply($$57));
282       $$0.put(ModelLayers.HORSE_BABY, $$8.apply($$55));                290       $$0.put(ModelLayers.HORSE_BABY, $$8.apply($$57));
283       $$0.put(ModelLayers.HORSE_ARMOR, LayerDefinition.create(Abstract 291       $$0.put(ModelLayers.HORSE_ARMOR, LayerDefinition.create(Abstract
... EquineModel.createBodyMesh(new CubeDeformation(0.1F)), 64, 64).apply($ ... EquineModel.createBodyMesh(new CubeDeformation(0.1F)), 64, 64).apply($
... $55));                                                                 ... $57));
284       $$0.put(ModelLayers.HORSE_BABY_ARMOR, LayerDefinition.create(Abs 292       $$0.put(ModelLayers.HORSE_BABY_ARMOR, LayerDefinition.create(Abs
... tractEquineModel.createBabyMesh(new CubeDeformation(0.1F)), 64, 64).ap ... tractEquineModel.createBabyMesh(new CubeDeformation(0.1F)), 64, 64).ap
... ply($$55));                                                            ... ply($$57));
...                                                                        293       $$0.put(ModelLayers.HORSE_SADDLE, $$9.apply($$57));
...                                                                        294       $$0.put(ModelLayers.HORSE_BABY_SADDLE, $$10.apply($$57));
285       MeshTransformer $$56 = MeshTransformer.scaling(1.0625F);         295       MeshTransformer $$58 = MeshTransformer.scaling(1.0625F);
286       $$0.put(ModelLayers.HUSK, $$1.apply($$56));                      296       $$0.put(ModelLayers.HUSK, $$1.apply($$58));
287       $$0.put(ModelLayers.HUSK_INNER_ARMOR, $$4.apply($$56));          297       $$0.put(ModelLayers.HUSK_INNER_ARMOR, $$4.apply($$58));
288       $$0.put(ModelLayers.HUSK_OUTER_ARMOR, $$2.apply($$56));          298       $$0.put(ModelLayers.HUSK_OUTER_ARMOR, $$2.apply($$58));
289       $$0.put(ModelLayers.HUSK_BABY, $$1.apply(HumanoidModel.BABY_TRAN 299       $$0.put(ModelLayers.HUSK_BABY, $$1.apply(HumanoidModel.BABY_TRAN
... SFORMER).apply($$56));                                                 ... SFORMER).apply($$58));
290       $$0.put(ModelLayers.HUSK_BABY_INNER_ARMOR, $$4.apply(HumanoidMod 300       $$0.put(ModelLayers.HUSK_BABY_INNER_ARMOR, $$4.apply(HumanoidMod
... el.BABY_TRANSFORMER).apply($$56));                                     ... el.BABY_TRANSFORMER).apply($$58));
291       $$0.put(ModelLayers.HUSK_BABY_OUTER_ARMOR, $$2.apply(HumanoidMod 301       $$0.put(ModelLayers.HUSK_BABY_OUTER_ARMOR, $$2.apply(HumanoidMod
... el.BABY_TRANSFORMER).apply($$56));                                     ... el.BABY_TRANSFORMER).apply($$58));
292       $$0.put(ModelLayers.ILLUSIONER, $$10);                           302       $$0.put(ModelLayers.ILLUSIONER, $$12);
293       $$0.put(ModelLayers.IRON_GOLEM, IronGolemModel.createBodyLayer() 303       $$0.put(ModelLayers.IRON_GOLEM, IronGolemModel.createBodyLayer()
... );                                                                     ... );
294       $$0.put(ModelLayers.LEASH_KNOT, LeashKnotModel.createBodyLayer() 304       $$0.put(ModelLayers.LEASH_KNOT, LeashKnotModel.createBodyLayer()
... );                                                                     ... );
295       $$0.put(ModelLayers.LLAMA, $$22);                                305       $$0.put(ModelLayers.LLAMA, $$24);
296       $$0.put(ModelLayers.LLAMA_BABY, $$22.apply(LlamaModel.BABY_TRANS 306       $$0.put(ModelLayers.LLAMA_BABY, $$24.apply(LlamaModel.BABY_TRANS
... FORMER));                                                              ... FORMER));
297       $$0.put(ModelLayers.LLAMA_DECOR, $$23);                          307       $$0.put(ModelLayers.LLAMA_DECOR, $$25);
298       $$0.put(ModelLayers.LLAMA_BABY_DECOR, $$23.apply(LlamaModel.BABY 308       $$0.put(ModelLayers.LLAMA_BABY_DECOR, $$25.apply(LlamaModel.BABY
... _TRANSFORMER));                                                        ... _TRANSFORMER));
299       $$0.put(ModelLayers.LLAMA_SPIT, LlamaSpitModel.createBodyLayer() 309       $$0.put(ModelLayers.LLAMA_SPIT, LlamaSpitModel.createBodyLayer()
... );                                                                     ... );
300       $$0.put(ModelLayers.MAGMA_CUBE, LavaSlimeModel.createBodyLayer() 310       $$0.put(ModelLayers.MAGMA_CUBE, LavaSlimeModel.createBodyLayer()
... );                                                                     ... );
301       $$0.put(ModelLayers.MINECART, $$5);                              311       $$0.put(ModelLayers.MINECART, $$5);
302       $$0.put(ModelLayers.MOOSHROOM, $$13);                            312       $$0.put(ModelLayers.MOOSHROOM, $$15);
303       $$0.put(ModelLayers.MOOSHROOM_BABY, $$14);                       313       $$0.put(ModelLayers.MOOSHROOM_BABY, $$16);
304       $$0.put(ModelLayers.MULE, DonkeyModel.createBodyLayer(0.92F));   314       $$0.put(ModelLayers.MULE, DonkeyModel.createBodyLayer(0.92F));
305       $$0.put(ModelLayers.MULE_BABY, DonkeyModel.createBabyLayer(0.92F 315       $$0.put(ModelLayers.MULE_BABY, DonkeyModel.createBabyLayer(0.92F
... ));                                                                    ... ));
...                                                                        316       $$0.put(ModelLayers.MULE_SADDLE, DonkeyModel.createSaddleLayer(0
...                                                                        ... .92F, false));
...                                                                        317       $$0.put(ModelLayers.MULE_BABY_SADDLE, DonkeyModel.createSaddleLa
...                                                                        ... yer(0.92F, true));
306       $$0.put(ModelLayers.OCELOT, $$16);                               318       $$0.put(ModelLayers.OCELOT, $$18);
307       $$0.put(ModelLayers.OCELOT_BABY, $$17);                          319       $$0.put(ModelLayers.OCELOT_BABY, $$19);
308       $$0.put(ModelLayers.PANDA, $$34);                                320       $$0.put(ModelLayers.PANDA, $$37);
309       $$0.put(ModelLayers.PANDA_BABY, $$34.apply(PandaModel.BABY_TRANS 321       $$0.put(ModelLayers.PANDA_BABY, $$37.apply(PandaModel.BABY_TRANS
... FORMER));                                                              ... FORMER));
310       $$0.put(ModelLayers.PARROT, ParrotModel.createBodyLayer());      322       $$0.put(ModelLayers.PARROT, ParrotModel.createBodyLayer());
311       $$0.put(ModelLayers.PHANTOM, PhantomModel.createBodyLayer());    323       $$0.put(ModelLayers.PHANTOM, PhantomModel.createBodyLayer());
312       $$0.put(ModelLayers.PIG, $$35);                                  324       $$0.put(ModelLayers.PIG, $$38);
313       $$0.put(ModelLayers.PIG_BABY, $$35.apply(PigModel.BABY_TRANSFORM 325       $$0.put(ModelLayers.PIG_BABY, $$38.apply(PigModel.BABY_TRANSFORM
... ER));                                                                  ... ER));
314       $$0.put(ModelLayers.PIG_SADDLE, $$37);                           326       $$0.put(ModelLayers.PIG_SADDLE, $$40);
315       $$0.put(ModelLayers.PIG_BABY_SADDLE, $$37.apply(PigModel.BABY_TR 327       $$0.put(ModelLayers.PIG_BABY_SADDLE, $$40.apply(PigModel.BABY_TR
... ANSFORMER));                                                           ... ANSFORMER));
316       $$0.put(ModelLayers.PIGLIN, $$19);                               328       $$0.put(ModelLayers.PIGLIN, $$21);
317       $$0.put(ModelLayers.PIGLIN_INNER_ARMOR, $$4);                    329       $$0.put(ModelLayers.PIGLIN_INNER_ARMOR, $$4);
318       $$0.put(ModelLayers.PIGLIN_OUTER_ARMOR, $$3);                    330       $$0.put(ModelLayers.PIGLIN_OUTER_ARMOR, $$3);
319       $$0.put(ModelLayers.PIGLIN_BRUTE, $$19);                         331       $$0.put(ModelLayers.PIGLIN_BRUTE, $$21);
320       $$0.put(ModelLayers.PIGLIN_BRUTE_INNER_ARMOR, $$4);              332       $$0.put(ModelLayers.PIGLIN_BRUTE_INNER_ARMOR, $$4);
321       $$0.put(ModelLayers.PIGLIN_BRUTE_OUTER_ARMOR, $$3);              333       $$0.put(ModelLayers.PIGLIN_BRUTE_OUTER_ARMOR, $$3);
322       $$0.put(ModelLayers.PIGLIN_BABY, $$19.apply(HumanoidModel.BABY_T 334       $$0.put(ModelLayers.PIGLIN_BABY, $$21.apply(HumanoidModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
323       $$0.put(ModelLayers.PIGLIN_BABY_INNER_ARMOR, $$4.apply(HumanoidM 335       $$0.put(ModelLayers.PIGLIN_BABY_INNER_ARMOR, $$4.apply(HumanoidM
... odel.BABY_TRANSFORMER));                                               ... odel.BABY_TRANSFORMER));
324       $$0.put(ModelLayers.PIGLIN_BABY_OUTER_ARMOR, $$3.apply(HumanoidM 336       $$0.put(ModelLayers.PIGLIN_BABY_OUTER_ARMOR, $$3.apply(HumanoidM
... odel.BABY_TRANSFORMER));                                               ... odel.BABY_TRANSFORMER));
325       $$0.put(ModelLayers.PIGLIN_HEAD, $$20);                          337       $$0.put(ModelLayers.PIGLIN_HEAD, $$22);
326       $$0.put(ModelLayers.PILLAGER, $$10);                             338       $$0.put(ModelLayers.PILLAGER, $$12);
327       $$0.put(ModelLayers.PLAYER, LayerDefinition.create(PlayerModel.c 339       $$0.put(ModelLayers.PLAYER, LayerDefinition.create(PlayerModel.c
... reateMesh(CubeDeformation.NONE, false), 64, 64));                      ... reateMesh(CubeDeformation.NONE, false), 64, 64));
328       $$0.put(ModelLayers.PLAYER_EARS, PlayerEarsModel.createEarsLayer 340       $$0.put(ModelLayers.PLAYER_EARS, PlayerEarsModel.createEarsLayer
... ());                                                                   ... ());
329       $$0.put(ModelLayers.PLAYER_CAPE, PlayerCapeModel.createCapeLayer 341       $$0.put(ModelLayers.PLAYER_CAPE, PlayerCapeModel.createCapeLayer
... ());                                                                   ... ());
330       $$0.put(ModelLayers.PLAYER_HEAD, $$21);                          342       $$0.put(ModelLayers.PLAYER_HEAD, $$23);
331       $$0.put(ModelLayers.PLAYER_INNER_ARMOR, $$4);                    343       $$0.put(ModelLayers.PLAYER_INNER_ARMOR, $$4);
332       $$0.put(ModelLayers.PLAYER_OUTER_ARMOR, $$2);                    344       $$0.put(ModelLayers.PLAYER_OUTER_ARMOR, $$2);
333       $$0.put(ModelLayers.PLAYER_SLIM, LayerDefinition.create(PlayerMo 345       $$0.put(ModelLayers.PLAYER_SLIM, LayerDefinition.create(PlayerMo
... del.createMesh(CubeDeformation.NONE, true), 64, 64));                  ... del.createMesh(CubeDeformation.NONE, true), 64, 64));
334       $$0.put(ModelLayers.PLAYER_SLIM_INNER_ARMOR, $$4);               346       $$0.put(ModelLayers.PLAYER_SLIM_INNER_ARMOR, $$4);
335       $$0.put(ModelLayers.PLAYER_SLIM_OUTER_ARMOR, $$2);               347       $$0.put(ModelLayers.PLAYER_SLIM_OUTER_ARMOR, $$2);
336       $$0.put(ModelLayers.PLAYER_SPIN_ATTACK, SpinAttackEffectModel.cr 348       $$0.put(ModelLayers.PLAYER_SPIN_ATTACK, SpinAttackEffectModel.cr
... eateLayer());                                                          ... eateLayer());
337       $$0.put(ModelLayers.POLAR_BEAR, $$38);                           349       $$0.put(ModelLayers.POLAR_BEAR, PolarBearModel.createBodyLayer(f
...                                                                        ... alse));
338       $$0.put(ModelLayers.POLAR_BEAR_BABY, $$38.apply(PolarBearModel.B 350       $$0.put(ModelLayers.POLAR_BEAR_BABY, PolarBearModel.createBodyLa
... ABY_TRANSFORMER));                                                     ... yer(true));
339       $$0.put(ModelLayers.PUFFERFISH_BIG, PufferfishBigModel.createBod 351       $$0.put(ModelLayers.PUFFERFISH_BIG, PufferfishBigModel.createBod
... yLayer());                                                             ... yLayer());
340       $$0.put(ModelLayers.PUFFERFISH_MEDIUM, PufferfishMidModel.create 352       $$0.put(ModelLayers.PUFFERFISH_MEDIUM, PufferfishMidModel.create
... BodyLayer());                                                          ... BodyLayer());
341       $$0.put(ModelLayers.PUFFERFISH_SMALL, PufferfishSmallModel.creat 353       $$0.put(ModelLayers.PUFFERFISH_SMALL, PufferfishSmallModel.creat
... eBodyLayer());                                                         ... eBodyLayer());
342       $$0.put(ModelLayers.RABBIT, RabbitModel.createBodyLayer(false)); 354       $$0.put(ModelLayers.RABBIT, RabbitModel.createBodyLayer(false));
343       $$0.put(ModelLayers.RABBIT_BABY, RabbitModel.createBodyLayer(tru 355       $$0.put(ModelLayers.RABBIT_BABY, RabbitModel.createBodyLayer(tru
... e));                                                                   ... e));
344       $$0.put(ModelLayers.RAVAGER, RavagerModel.createBodyLayer());    356       $$0.put(ModelLayers.RAVAGER, RavagerModel.createBodyLayer());
345       $$0.put(ModelLayers.SALMON, $$53);                               357       $$0.put(ModelLayers.SALMON, $$55);
346       $$0.put(ModelLayers.SALMON_SMALL, $$53.apply(SalmonModel.SMALL_T 358       $$0.put(ModelLayers.SALMON_SMALL, $$55.apply(SalmonModel.SMALL_T
... RANSFORMER));                                                          ... RANSFORMER));
347       $$0.put(ModelLayers.SALMON_LARGE, $$53.apply(SalmonModel.LARGE_T 359       $$0.put(ModelLayers.SALMON_LARGE, $$55.apply(SalmonModel.LARGE_T
... RANSFORMER));                                                          ... RANSFORMER));
348       $$0.put(ModelLayers.SHEEP, $$39);                                360       $$0.put(ModelLayers.SHEEP, $$41);
349       $$0.put(ModelLayers.SHEEP_BABY, $$39.apply(SheepModel.BABY_TRANS 361       $$0.put(ModelLayers.SHEEP_BABY, $$41.apply(SheepModel.BABY_TRANS
... FORMER));                                                              ... FORMER));
350       $$0.put(ModelLayers.SHEEP_WOOL, $$40);                           362       $$0.put(ModelLayers.SHEEP_WOOL, $$42);
351       $$0.put(ModelLayers.SHEEP_BABY_WOOL, $$40.apply(SheepModel.BABY_ 363       $$0.put(ModelLayers.SHEEP_BABY_WOOL, $$42.apply(SheepModel.BABY_
... TRANSFORMER));                                                         ... TRANSFORMER));
352       $$0.put(ModelLayers.SHIELD, ShieldModel.createLayer());          364       $$0.put(ModelLayers.SHIELD, ShieldModel.createLayer());
353       $$0.put(ModelLayers.SHULKER, ShulkerModel.createBodyLayer());    365       $$0.put(ModelLayers.SHULKER, ShulkerModel.createBodyLayer());
354       $$0.put(ModelLayers.SHULKER_BOX, ShulkerModel.createBoxLayer()); 366       $$0.put(ModelLayers.SHULKER_BOX, ShulkerModel.createBoxLayer());
355       $$0.put(ModelLayers.SHULKER_BULLET, ShulkerBulletModel.createBod 367       $$0.put(ModelLayers.SHULKER_BULLET, ShulkerBulletModel.createBod
... yLayer());                                                             ... yLayer());
356       $$0.put(ModelLayers.SILVERFISH, SilverfishModel.createBodyLayer( 368       $$0.put(ModelLayers.SILVERFISH, SilverfishModel.createBodyLayer(
... ));                                                                    ... ));
357       $$0.put(ModelLayers.SKELETON, $$27);                             369       $$0.put(ModelLayers.SKELETON, $$29);
358       $$0.put(ModelLayers.SKELETON_INNER_ARMOR, $$4);                  370       $$0.put(ModelLayers.SKELETON_INNER_ARMOR, $$4);
359       $$0.put(ModelLayers.SKELETON_OUTER_ARMOR, $$2);                  371       $$0.put(ModelLayers.SKELETON_OUTER_ARMOR, $$2);
360       $$0.put(ModelLayers.SKELETON_HORSE, $$7);                        372       $$0.put(ModelLayers.SKELETON_HORSE, $$7);
361       $$0.put(ModelLayers.SKELETON_HORSE_BABY, $$8);                   373       $$0.put(ModelLayers.SKELETON_HORSE_BABY, $$8);
...                                                                        374       $$0.put(ModelLayers.SKELETON_HORSE_SADDLE, $$9);
...                                                                        375       $$0.put(ModelLayers.SKELETON_HORSE_BABY_SADDLE, $$10);
362       $$0.put(ModelLayers.SKELETON_SKULL, $$6);                        376       $$0.put(ModelLayers.SKELETON_SKULL, $$6);
363       $$0.put(ModelLayers.SLIME, SlimeModel.createInnerBodyLayer());   377       $$0.put(ModelLayers.SLIME, SlimeModel.createInnerBodyLayer());
364       $$0.put(ModelLayers.SLIME_OUTER, SlimeModel.createOuterBodyLayer 378       $$0.put(ModelLayers.SLIME_OUTER, SlimeModel.createOuterBodyLayer
... ());                                                                   ... ());
365       $$0.put(ModelLayers.SNIFFER, $$41);                              379       $$0.put(ModelLayers.SNIFFER, $$43);
366       $$0.put(ModelLayers.SNIFFER_BABY, $$41.apply(SnifferModel.BABY_T 380       $$0.put(ModelLayers.SNIFFER_BABY, $$43.apply(SnifferModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
367       $$0.put(ModelLayers.SNOW_GOLEM, SnowGolemModel.createBodyLayer() 381       $$0.put(ModelLayers.SNOW_GOLEM, SnowGolemModel.createBodyLayer()
... );                                                                     ... );
368       $$0.put(ModelLayers.SPAWNER_MINECART, $$5);                      382       $$0.put(ModelLayers.SPAWNER_MINECART, $$5);
369       $$0.put(ModelLayers.SPIDER, $$29);                               383       $$0.put(ModelLayers.SPIDER, $$31);
370       $$0.put(ModelLayers.SQUID, $$51);                                384       $$0.put(ModelLayers.SQUID, $$53);
371       $$0.put(ModelLayers.SQUID_BABY, $$51.apply(SquidModel.BABY_TRANS 385       $$0.put(ModelLayers.SQUID_BABY, $$53.apply(SquidModel.BABY_TRANS
... FORMER));                                                              ... FORMER));
372       $$0.put(ModelLayers.STRAY, $$27);                                386       $$0.put(ModelLayers.STRAY, $$29);
373       $$0.put(ModelLayers.STRAY_INNER_ARMOR, $$4);                     387       $$0.put(ModelLayers.STRAY_INNER_ARMOR, $$4);
374       $$0.put(ModelLayers.STRAY_OUTER_ARMOR, $$2);                     388       $$0.put(ModelLayers.STRAY_OUTER_ARMOR, $$2);
375       $$0.put(ModelLayers.STRAY_OUTER_LAYER, LayerDefinition.create(Hu 389       $$0.put(ModelLayers.STRAY_OUTER_LAYER, LayerDefinition.create(Hu
... manoidModel.createMesh(new CubeDeformation(0.25F), 0.0F), 64, 32));    ... manoidModel.createMesh(new CubeDeformation(0.25F), 0.0F), 64, 32));
376       $$0.put(ModelLayers.STRIDER, $$24);                              390       $$0.put(ModelLayers.STRIDER, $$26);
377       $$0.put(ModelLayers.STRIDER_SADDLE, $$24);                       391       $$0.put(ModelLayers.STRIDER_SADDLE, $$26);
378       $$0.put(ModelLayers.STRIDER_BABY, $$24.apply(StriderModel.BABY_T 392       $$0.put(ModelLayers.STRIDER_BABY, $$26.apply(StriderModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
379       $$0.put(ModelLayers.STRIDER_BABY_SADDLE, $$24.apply(StriderModel 393       $$0.put(ModelLayers.STRIDER_BABY_SADDLE, $$26.apply(StriderModel
... .BABY_TRANSFORMER));                                                   ... .BABY_TRANSFORMER));
380       $$0.put(ModelLayers.TADPOLE, TadpoleModel.createBodyLayer());    394       $$0.put(ModelLayers.TADPOLE, TadpoleModel.createBodyLayer());
381       $$0.put(ModelLayers.TNT_MINECART, $$5);                          395       $$0.put(ModelLayers.TNT_MINECART, $$5);
382       $$0.put(ModelLayers.TRADER_LLAMA, $$22);                         396       $$0.put(ModelLayers.TRADER_LLAMA, $$24);
383       $$0.put(ModelLayers.TRADER_LLAMA_BABY, $$22.apply(LlamaModel.BAB 397       $$0.put(ModelLayers.TRADER_LLAMA_BABY, $$24.apply(LlamaModel.BAB
... Y_TRANSFORMER));                                                       ... Y_TRANSFORMER));
384       $$0.put(ModelLayers.TRIDENT, TridentModel.createLayer());        398       $$0.put(ModelLayers.TRIDENT, TridentModel.createLayer());
385       $$0.put(ModelLayers.TROPICAL_FISH_LARGE, TropicalFishModelB.crea 399       $$0.put(ModelLayers.TROPICAL_FISH_LARGE, TropicalFishModelB.crea
... teBodyLayer(CubeDeformation.NONE));                                    ... teBodyLayer(CubeDeformation.NONE));
386       $$0.put(ModelLayers.TROPICAL_FISH_LARGE_PATTERN, TropicalFishMod 400       $$0.put(ModelLayers.TROPICAL_FISH_LARGE_PATTERN, TropicalFishMod
... elB.createBodyLayer(FISH_PATTERN_DEFORMATION));                        ... elB.createBodyLayer(FISH_PATTERN_DEFORMATION));
387       $$0.put(ModelLayers.TROPICAL_FISH_SMALL, TropicalFishModelA.crea 401       $$0.put(ModelLayers.TROPICAL_FISH_SMALL, TropicalFishModelA.crea
... teBodyLayer(CubeDeformation.NONE));                                    ... teBodyLayer(CubeDeformation.NONE));
388       $$0.put(ModelLayers.TROPICAL_FISH_SMALL_PATTERN, TropicalFishMod 402       $$0.put(ModelLayers.TROPICAL_FISH_SMALL_PATTERN, TropicalFishMod
... elA.createBodyLayer(FISH_PATTERN_DEFORMATION));                        ... elA.createBodyLayer(FISH_PATTERN_DEFORMATION));
389       $$0.put(ModelLayers.TURTLE, $$42);                               403       $$0.put(ModelLayers.TURTLE, $$44);
390       $$0.put(ModelLayers.TURTLE_BABY, $$42.apply(TurtleModel.BABY_TRA 404       $$0.put(ModelLayers.TURTLE_BABY, $$44.apply(TurtleModel.BABY_TRA
... NSFORMER));                                                            ... NSFORMER));
391       $$0.put(ModelLayers.VEX, VexModel.createBodyLayer());            405       $$0.put(ModelLayers.VEX, VexModel.createBodyLayer());
392       $$0.put(ModelLayers.VILLAGER, $$28);                             406       $$0.put(ModelLayers.VILLAGER, $$30);
393       $$0.put(ModelLayers.VILLAGER_BABY, $$28.apply(VillagerModel.BABY 407       $$0.put(ModelLayers.VILLAGER_BABY, $$30.apply(VillagerModel.BABY
... _TRANSFORMER));                                                        ... _TRANSFORMER));
394       $$0.put(ModelLayers.VINDICATOR, $$10);                           408       $$0.put(ModelLayers.VINDICATOR, $$12);
395       $$0.put(ModelLayers.WARDEN, WardenModel.createBodyLayer());      409       $$0.put(ModelLayers.WARDEN, WardenModel.createBodyLayer());
396       $$0.put(ModelLayers.WANDERING_TRADER, $$28);                     410       $$0.put(ModelLayers.WANDERING_TRADER, $$30);
397       $$0.put(ModelLayers.WIND_CHARGE, WindChargeModel.createBodyLayer 411       $$0.put(ModelLayers.WIND_CHARGE, WindChargeModel.createBodyLayer
... ());                                                                   ... ());
398       $$0.put(ModelLayers.WITCH, WitchModel.createBodyLayer().apply($$ 412       $$0.put(ModelLayers.WITCH, WitchModel.createBodyLayer().apply($$
... 9));                                                                   ... 11));
399       $$0.put(ModelLayers.WITHER, WitherBossModel.createBodyLayer(Cube 413       $$0.put(ModelLayers.WITHER, WitherBossModel.createBodyLayer(Cube
... Deformation.NONE));                                                    ... Deformation.NONE));
400       $$0.put(ModelLayers.WITHER_ARMOR, WitherBossModel.createBodyLaye 414       $$0.put(ModelLayers.WITHER_ARMOR, WitherBossModel.createBodyLaye
... r(INNER_ARMOR_DEFORMATION));                                           ... r(INNER_ARMOR_DEFORMATION));
401       $$0.put(ModelLayers.WITHER_SKULL, WitherSkullRenderer.createSkul 415       $$0.put(ModelLayers.WITHER_SKULL, WitherSkullRenderer.createSkul
... lLayer());                                                             ... lLayer());
402       MeshTransformer $$57 = MeshTransformer.scaling(1.2F);            416       MeshTransformer $$59 = MeshTransformer.scaling(1.2F);
403       $$0.put(ModelLayers.WITHER_SKELETON, $$27.apply($$57));          417       $$0.put(ModelLayers.WITHER_SKELETON, $$29.apply($$59));
404       $$0.put(ModelLayers.WITHER_SKELETON_INNER_ARMOR, $$4.apply($$57) 418       $$0.put(ModelLayers.WITHER_SKELETON_INNER_ARMOR, $$4.apply($$59)
... );                                                                     ... );
405       $$0.put(ModelLayers.WITHER_SKELETON_OUTER_ARMOR, $$2.apply($$57) 419       $$0.put(ModelLayers.WITHER_SKELETON_OUTER_ARMOR, $$2.apply($$59)
... );                                                                     ... );
406       $$0.put(ModelLayers.WITHER_SKELETON_SKULL, $$6);                 420       $$0.put(ModelLayers.WITHER_SKELETON_SKULL, $$6);
407       $$0.put(ModelLayers.WOLF, $$43);                                 421       $$0.put(ModelLayers.WOLF, $$45);
408       $$0.put(ModelLayers.WOLF_ARMOR, $$44);                           422       $$0.put(ModelLayers.WOLF_ARMOR, $$46);
409       $$0.put(ModelLayers.WOLF_BABY, $$43.apply(WolfModel.BABY_TRANSFO 423       $$0.put(ModelLayers.WOLF_BABY, $$45.apply(WolfModel.BABY_TRANSFO
... RMER));                                                                ... RMER));
410       $$0.put(ModelLayers.WOLF_BABY_ARMOR, $$44.apply(WolfModel.BABY_T 424       $$0.put(ModelLayers.WOLF_BABY_ARMOR, $$46.apply(WolfModel.BABY_T
... RANSFORMER));                                                          ... RANSFORMER));
411       $$0.put(ModelLayers.ZOGLIN, $$25);                               425       $$0.put(ModelLayers.ZOGLIN, $$27);
412       $$0.put(ModelLayers.ZOGLIN_BABY, $$26);                          426       $$0.put(ModelLayers.ZOGLIN_BABY, $$28);
413       $$0.put(ModelLayers.ZOMBIE, $$1);                                427       $$0.put(ModelLayers.ZOMBIE, $$1);
414       $$0.put(ModelLayers.ZOMBIE_INNER_ARMOR, $$4);                    428       $$0.put(ModelLayers.ZOMBIE_INNER_ARMOR, $$4);
415       $$0.put(ModelLayers.ZOMBIE_OUTER_ARMOR, $$2);                    429       $$0.put(ModelLayers.ZOMBIE_OUTER_ARMOR, $$2);
416       $$0.put(ModelLayers.ZOMBIE_BABY, $$1.apply(HumanoidModel.BABY_TR 430       $$0.put(ModelLayers.ZOMBIE_BABY, $$1.apply(HumanoidModel.BABY_TR
... ANSFORMER));                                                           ... ANSFORMER));
417       $$0.put(ModelLayers.ZOMBIE_BABY_INNER_ARMOR, $$4.apply(HumanoidM 431       $$0.put(ModelLayers.ZOMBIE_BABY_INNER_ARMOR, $$4.apply(HumanoidM
... odel.BABY_TRANSFORMER));                                               ... odel.BABY_TRANSFORMER));
418       $$0.put(ModelLayers.ZOMBIE_BABY_OUTER_ARMOR, $$2.apply(HumanoidM 432       $$0.put(ModelLayers.ZOMBIE_BABY_OUTER_ARMOR, $$2.apply(HumanoidM
... odel.BABY_TRANSFORMER));                                               ... odel.BABY_TRANSFORMER));
419       $$0.put(ModelLayers.ZOMBIE_HEAD, $$21);                          433       $$0.put(ModelLayers.ZOMBIE_HEAD, $$23);
420       $$0.put(ModelLayers.ZOMBIE_HORSE, $$7);                          434       $$0.put(ModelLayers.ZOMBIE_HORSE, $$7);
421       $$0.put(ModelLayers.ZOMBIE_HORSE_BABY, $$8);                     435       $$0.put(ModelLayers.ZOMBIE_HORSE_BABY, $$8);
...                                                                        436       $$0.put(ModelLayers.ZOMBIE_HORSE_SADDLE, $$9);
...                                                                        437       $$0.put(ModelLayers.ZOMBIE_HORSE_BABY_SADDLE, $$10);
422       $$0.put(ModelLayers.ZOMBIE_VILLAGER, $$45);                      438       $$0.put(ModelLayers.ZOMBIE_VILLAGER, $$47);
423       $$0.put(ModelLayers.ZOMBIE_VILLAGER_INNER_ARMOR, ZombieVillagerM 439       $$0.put(ModelLayers.ZOMBIE_VILLAGER_INNER_ARMOR, ZombieVillagerM
... odel.createArmorLayer(INNER_ARMOR_DEFORMATION));                       ... odel.createArmorLayer(INNER_ARMOR_DEFORMATION));
424       $$0.put(ModelLayers.ZOMBIE_VILLAGER_OUTER_ARMOR, ZombieVillagerM 440       $$0.put(ModelLayers.ZOMBIE_VILLAGER_OUTER_ARMOR, ZombieVillagerM
... odel.createArmorLayer(OUTER_ARMOR_DEFORMATION));                       ... odel.createArmorLayer(OUTER_ARMOR_DEFORMATION));
425       $$0.put(ModelLayers.ZOMBIE_VILLAGER_BABY, $$45.apply(HumanoidMod 441       $$0.put(ModelLayers.ZOMBIE_VILLAGER_BABY, $$47.apply(HumanoidMod
... el.BABY_TRANSFORMER));                                                 ... el.BABY_TRANSFORMER));
426       $$0.put(ModelLayers.ZOMBIE_VILLAGER_BABY_INNER_ARMOR, ZombieVill 442       $$0.put(ModelLayers.ZOMBIE_VILLAGER_BABY_INNER_ARMOR, ZombieVill
... agerModel.createArmorLayer(INNER_ARMOR_DEFORMATION).apply(HumanoidMode ... agerModel.createArmorLayer(INNER_ARMOR_DEFORMATION).apply(HumanoidMode
... l.BABY_TRANSFORMER));                                                  ... l.BABY_TRANSFORMER));
427       $$0.put(ModelLayers.ZOMBIE_VILLAGER_BABY_OUTER_ARMOR, ZombieVill 443       $$0.put(ModelLayers.ZOMBIE_VILLAGER_BABY_OUTER_ARMOR, ZombieVill
... agerModel.createArmorLayer(OUTER_ARMOR_DEFORMATION).apply(HumanoidMode ... agerModel.createArmorLayer(OUTER_ARMOR_DEFORMATION).apply(HumanoidMode
... l.BABY_TRANSFORMER));                                                  ... l.BABY_TRANSFORMER));
428       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN, $$19);                     444       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN, $$21);
429       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_INNER_ARMOR, $$4);          445       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_INNER_ARMOR, $$4);
430       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_OUTER_ARMOR, $$3);          446       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_OUTER_ARMOR, $$3);
431       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY, $$19.apply(HumanoidMo 447       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY, $$21.apply(HumanoidMo
... del.BABY_TRANSFORMER));                                                ... del.BABY_TRANSFORMER));
432       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY_INNER_ARMOR, $$4.apply 448       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY_INNER_ARMOR, $$4.apply
... (HumanoidModel.BABY_TRANSFORMER));                                     ... (HumanoidModel.BABY_TRANSFORMER));
433       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY_OUTER_ARMOR, $$3.apply 449       $$0.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY_OUTER_ARMOR, $$3.apply
... (HumanoidModel.BABY_TRANSFORMER));                                     ... (HumanoidModel.BABY_TRANSFORMER));
434       $$0.put(ModelLayers.BAMBOO_RAFT, RaftModel.createRaftModel());   450       $$0.put(ModelLayers.BAMBOO_RAFT, RaftModel.createRaftModel());
435       $$0.put(ModelLayers.BAMBOO_CHEST_RAFT, RaftModel.createChestRaft 451       $$0.put(ModelLayers.BAMBOO_CHEST_RAFT, RaftModel.createChestRaft
... Model());                                                              ... Model());
436       LayerDefinition $$58 = BoatModel.createBoatModel();              452       LayerDefinition $$60 = BoatModel.createBoatModel();
437       LayerDefinition $$59 = BoatModel.createChestBoatModel();         453       LayerDefinition $$61 = BoatModel.createChestBoatModel();
438       $$0.put(ModelLayers.OAK_BOAT, $$58);                             454       $$0.put(ModelLayers.OAK_BOAT, $$60);
439       $$0.put(ModelLayers.OAK_CHEST_BOAT, $$59);                       455       $$0.put(ModelLayers.OAK_CHEST_BOAT, $$61);
440       $$0.put(ModelLayers.SPRUCE_BOAT, $$58);                          456       $$0.put(ModelLayers.SPRUCE_BOAT, $$60);
441       $$0.put(ModelLayers.SPRUCE_CHEST_BOAT, $$59);                    457       $$0.put(ModelLayers.SPRUCE_CHEST_BOAT, $$61);
442       $$0.put(ModelLayers.BIRCH_BOAT, $$58);                           458       $$0.put(ModelLayers.BIRCH_BOAT, $$60);
443       $$0.put(ModelLayers.BIRCH_CHEST_BOAT, $$59);                     459       $$0.put(ModelLayers.BIRCH_CHEST_BOAT, $$61);
444       $$0.put(ModelLayers.JUNGLE_BOAT, $$58);                          460       $$0.put(ModelLayers.JUNGLE_BOAT, $$60);
445       $$0.put(ModelLayers.JUNGLE_CHEST_BOAT, $$59);                    461       $$0.put(ModelLayers.JUNGLE_CHEST_BOAT, $$61);
446       $$0.put(ModelLayers.ACACIA_BOAT, $$58);                          462       $$0.put(ModelLayers.ACACIA_BOAT, $$60);
447       $$0.put(ModelLayers.ACACIA_CHEST_BOAT, $$59);                    463       $$0.put(ModelLayers.ACACIA_CHEST_BOAT, $$61);
448       $$0.put(ModelLayers.CHERRY_BOAT, $$58);                          464       $$0.put(ModelLayers.CHERRY_BOAT, $$60);
449       $$0.put(ModelLayers.CHERRY_CHEST_BOAT, $$59);                    465       $$0.put(ModelLayers.CHERRY_CHEST_BOAT, $$61);
450       $$0.put(ModelLayers.DARK_OAK_BOAT, $$58);                        466       $$0.put(ModelLayers.DARK_OAK_BOAT, $$60);
451       $$0.put(ModelLayers.DARK_OAK_CHEST_BOAT, $$59);                  467       $$0.put(ModelLayers.DARK_OAK_CHEST_BOAT, $$61);
452       $$0.put(ModelLayers.PALE_OAK_BOAT, $$58);                        468       $$0.put(ModelLayers.PALE_OAK_BOAT, $$60);
453       $$0.put(ModelLayers.PALE_OAK_CHEST_BOAT, $$59);                  469       $$0.put(ModelLayers.PALE_OAK_CHEST_BOAT, $$61);
454       $$0.put(ModelLayers.MANGROVE_BOAT, $$58);                        470       $$0.put(ModelLayers.MANGROVE_BOAT, $$60);
455       $$0.put(ModelLayers.MANGROVE_CHEST_BOAT, $$59);                  471       $$0.put(ModelLayers.MANGROVE_CHEST_BOAT, $$61);
456       LayerDefinition $$60 = SignRenderer.createSignLayer(true);       472       LayerDefinition $$62 = SignRenderer.createSignLayer(true);
457       LayerDefinition $$61 = SignRenderer.createSignLayer(false);      473       LayerDefinition $$63 = SignRenderer.createSignLayer(false);
458       WoodType.values().forEach($$3x -> {                              474       WoodType.values().forEach($$3x -> {
459          $$0.put(ModelLayers.createStandingSignModelName($$3x), $$60); 475          $$0.put(ModelLayers.createStandingSignModelName($$3x), $$62);
460          $$0.put(ModelLayers.createWallSignModelName($$3x), $$61);     476          $$0.put(ModelLayers.createWallSignModelName($$3x), $$63);
461                                                                        477 
462          for (HangingSignRenderer.AttachmentType $$4x : HangingSignRen 478          for (HangingSignRenderer.AttachmentType $$4x : HangingSignRen
... derer.AttachmentType.values()) {                                       ... derer.AttachmentType.values()) {
463             LayerDefinition $$5x = HangingSignRenderer.createHangingSi 479             LayerDefinition $$5x = HangingSignRenderer.createHangingSi
... gnLayer($$4x);                                                         ... gnLayer($$4x);
464             $$0.put(ModelLayers.createHangingSignModelName($$3x, $$4x) 480             $$0.put(ModelLayers.createHangingSignModelName($$3x, $$4x)
... , $$5x);                                                               ... , $$5x);
465          }                                                             481          }
466       });                                                              482       });
467       ImmutableMap<ModelLayerLocation, LayerDefinition> $$62 = $$0.bui 483       ImmutableMap<ModelLayerLocation, LayerDefinition> $$64 = $$0.bui
... ld();                                                                  ... ld();
468       List<ModelLayerLocation> $$63 = ModelLayers.getKnownLocations(). 484       List<ModelLayerLocation> $$65 = ModelLayers.getKnownLocations().
... filter($$1x -> !$$62.containsKey($$1x)).collect(Collectors.toList());  ... filter($$1x -> !$$64.containsKey($$1x)).collect(Collectors.toList());
469       if (!$$63.isEmpty()) {                                           485       if (!$$65.isEmpty()) {
470          throw new IllegalStateException("Missing layer definitions: " 486          throw new IllegalStateException("Missing layer definitions: "
...  + $$63);                                                              ...  + $$65);
471       } else {                                                         487       } else {
472          return $$62;                                                  488          return $$64;
473       }                                                                489       }
474    }                                                                   490    }
475 }                                                                      491 }

net/minecraft/world/level/chunk/LevelChunk.java --- 1/2 --- Java
28 import net.minecraft.world.entity.Entity;                               28 import net.minecraft.world.entity.Entity;
29 import net.minecraft.world.level.ChunkPos;                              29 import net.minecraft.world.level.ChunkPos;
30 import net.minecraft.world.level.Level;                                 30 import net.minecraft.world.level.Level;
..                                                                         31 import net.minecraft.world.level.block.BaseRailBlock;
31 import net.minecraft.world.level.block.Block;                           32 import net.minecraft.world.level.block.Block;
32 import net.minecraft.world.level.block.Blocks;                          33 import net.minecraft.world.level.block.Blocks;
33 import net.minecraft.world.level.block.EntityBlock;                     34 import net.minecraft.world.level.block.EntityBlock;

net/minecraft/world/level/chunk/LevelChunk.java --- 2/2 --- Java
292                $$12.pop();                                             293                $$12.pop();
293             }                                                          294             }
294                                                                        295 
295             boolean $$13 = $$9.hasBlockEntity();                       ... 
296             boolean $$14 = !$$9.is($$10);                              296             boolean $$13 = !$$9.is($$10);
297             boolean $$15 = ($$2 & 64) != 0;                            297             boolean $$14 = ($$2 & 64) != 0;
298             boolean $$16 = ($$2 & 256) == 0;                           298             boolean $$15 = ($$2 & 256) == 0;
299             if ($$14) {                                                299             if ($$13 && $$9.hasBlockEntity()) {
300                if (this.level instanceof ServerLevel $$17) {           300                if (!this.level.isClientSide && $$15) {
301                   if ($$13 && $$16) {                                  ... 
302                      BlockEntity $$18 = this.level.getBlockEntity($$0) 301                   BlockEntity $$16 = this.level.getBlockEntity($$0);
... ;                                                                      ... 
303                      if ($$18 != null) {                               302                   if ($$16 != null) {
304                         $$18.preRemoveSideEffects($$0, $$9, $$15);     303                      $$16.preRemoveSideEffects($$0, $$9);
305                      }                                                 304                   }
306                   }                                                    305                }
307                                                                        306 
308                   if ($$13) {                                          307                this.removeBlockEntity($$0);
309                      this.removeBlockEntity($$0);                      ... 
310                   }                                                    ... 
311                                                                        ... 
312                   if (($$2 & 1) != 0) {                                ... 
313                      $$9.affectNeighborsAfterRemoval($$17, $$0, $$15); ... 
314                   }                                                    ... 
315                } else if ($$13) {                                      ... 
316                   this.removeBlockEntity($$0);                         ... 
317                }                                                       ... 
318             }                                                          308             }
...                                                                        309 
...                                                                        310             if (($$13 || $$10 instanceof BaseRailBlock) && this.level 
...                                                                        ... instanceof ServerLevel $$17 && (($$2 & 1) != 0 || $$14)) {
...                                                                        311                $$9.affectNeighborsAfterRemoval($$17, $$0, $$14);
...                                                                        312             }
319                                                                        313 
320             if (!$$4.getBlockState($$6, $$7, $$8).is($$10)) {          314             if (!$$4.getBlockState($$6, $$7, $$8).is($$10)) {
321                return null;                                            315                return null;
322             } else {                                                   316             } else {
323                if (!this.level.isClientSide && $$16) {                 317                if (!this.level.isClientSide && $$15) {
324                   $$1.onPlace(this.level, $$0, $$9, $$15);             318                   $$1.onPlace(this.level, $$0, $$9, $$14);
325                }                                                       319                }
326                                                                        320 
327                if ($$1.hasBlockEntity()) {                             321                if ($$1.hasBlockEntity()) {
328                   BlockEntity $$19 = this.getBlockEntity($$0, LevelChu 322                   BlockEntity $$18 = this.getBlockEntity($$0, LevelChu
... nk.EntityCreationType.CHECK);                                          ... nk.EntityCreationType.CHECK);
329                   if ($$19 != null && !$$19.isValidBlockState($$1)) {  323                   if ($$18 != null && !$$18.isValidBlockState($$1)) {
330                      LOGGER.warn("Found mismatched block entity @ {}:  324                      LOGGER.warn("Found mismatched block entity @ {}: 
... type = {}, state = {}", $$0, $$19.getType().builtInRegistryHolder().ke ... type = {}, state = {}", $$0, $$18.getType().builtInRegistryHolder().ke
... y().location(), $$1);                                                  ... y().location(), $$1);
331                      this.removeBlockEntity($$0);                      325                      this.removeBlockEntity($$0);
332                      $$19 = null;                                      326                      $$18 = null;
333                   }                                                    327                   }
334                                                                        328 
335                   if ($$19 == null) {                                  329                   if ($$18 == null) {
336                      $$19 = ((EntityBlock)$$10).newBlockEntity($$0, $$ 330                      $$18 = ((EntityBlock)$$10).newBlockEntity($$0, $$
... 1);                                                                    ... 1);
337                      if ($$19 != null) {                               331                      if ($$18 != null) {
338                         this.addAndRegisterBlockEntity($$19);          332                         this.addAndRegisterBlockEntity($$18);
339                      }                                                 333                      }
340                   } else {                                             334                   } else {
341                      $$19.setBlockState($$1);                          335                      $$18.setBlockState($$1);
342                      this.updateBlockEntityTicker($$19);               336                      this.updateBlockEntityTicker($$18);
343                   }                                                    337                   }
344                }                                                       338                }
345                                                                        339 

net/minecraft/util/datafix/FixWolfHealth.java --- Java
 1 package net.minecraft.util.datafix;
 2 
 3 import com.mojang.datafixers.DSL;
 4 import com.mojang.datafixers.Typed;
 5 import com.mojang.datafixers.schemas.Schema;
 6 import net.minecraft.util.datafix.fixes.NamedEntityFix;
 7 import net.minecraft.util.datafix.fixes.References;
 8 import net.minecraft.util.datafix.schemas.NamespacedSchema;
 9 import org.apache.commons.lang3.mutable.MutableBoolean;
10 
11 public class FixWolfHealth extends NamedEntityFix {
12    private static final String WOLF_ID = "minecraft:wolf";
13    private static final String WOLF_HEALTH = "minecraft:generic.max_health";
14 
15    public FixWolfHealth(Schema $$0) {
16       super($$0, false, "FixWolfHealth", References.ENTITY, "minecraft:wolf");
17    }
18 
19    @Override
20    protected Typed<?> fix(Typed<?> $$0) {
21       return $$0.update(
22          DSL.remainderFinder(),
23          $$0x -> {
24             MutableBoolean $$1 = new MutableBoolean(false);
25             $$0x = $$0x.update(
26                "Attributes",
27                $$1x -> $$1x.createList(
28                      $$1x.asStream()
29                         .map(
30                            $$1xx -> "minecraft:generic.max_health".equals(NamespacedSchema.ensureNamespaced($$1xx.get("Name").asString("")))
31                                  ? $$1xx.update("Base", $$1xxx -> {
32                                     if ($$1xxx.asDouble(0.0) == 20.0) {
33                                        $$1.setTrue();
34                                        return $$1xxx.createDouble(40.0);
35                                     } else {
36                                        return $$1xxx;
37                                     }
38                                  })
39                                  : $$1xx
40                         )
41                   )
42             );
43             if ($$1.isTrue()) {
44                $$0x = $$0x.update("Health", $$0xx -> $$0xx.createFloat($$0xx.asFloat(0.0F) * 2.0F));
45             }
46 
47             return $$0x;
48          }
49       );
50    }
51 }
52 

net/minecraft/world/entity/projectile/FishingHook.java --- Java
88       double $$10 = $$0.getX() - (double)$$7 * 0.3;                     88       double $$10 = $$0.getX() - (double)$$7 * 0.3;
89       double $$11 = $$0.getEyeY();                                      89       double $$11 = $$0.getEyeY();
90       double $$12 = $$0.getZ() - (double)$$6 * 0.3;                     90       double $$12 = $$0.getZ() - (double)$$6 * 0.3;
91       this.moveTo($$10, $$11, $$12, $$5, $$4);                          91       this.snapTo($$10, $$11, $$12, $$5, $$4);
92       Vec3 $$13 = new Vec3((double)(-$$7), (double)Mth.clamp(-($$9 / $$ 92       Vec3 $$13 = new Vec3((double)(-$$7), (double)Mth.clamp(-($$9 / $$
.. 8), -5.0F, 5.0F), (double)(-$$6));                                      .. 8), -5.0F, 5.0F), (double)(-$$6));
93       double $$14 = $$13.length();                                      93       double $$14 = $$13.length();
94       $$13 = $$13.multiply(                                             94       $$13 = $$13.multiply(

net/minecraft/client/renderer/item/properties/select/ComponentContents.java --- Java
 1 package net.minecraft.client.renderer.item.properties.select;
 2 
 3 import com.mojang.serialization.Codec;
 4 import com.mojang.serialization.DataResult;
 5 import com.mojang.serialization.MapCodec;
 6 import java.util.List;
 7 import javax.annotation.Nullable;
 8 import net.fabricmc.api.EnvType;
 9 import net.fabricmc.api.Environment;
10 import net.minecraft.client.multiplayer.ClientLevel;
11 import net.minecraft.client.renderer.item.SelectItemModel;
12 import net.minecraft.core.component.DataComponentType;
13 import net.minecraft.core.registries.BuiltInRegistries;
14 import net.minecraft.world.entity.LivingEntity;
15 import net.minecraft.world.item.ItemDisplayContext;
16 import net.minecraft.world.item.ItemStack;
17 
18 @Environment(EnvType.CLIENT)
19 public record ComponentContents<T>(DataComponentType<T> componentType) implements SelectItemModelProperty<T> {
20    private static final SelectItemModelProperty.Type<? extends ComponentContents<?>, ?> TYPE = createType();
21 
22    private static <T> SelectItemModelProperty.Type<ComponentContents<T>, T> createType() {
23       Codec<? extends DataComponentType<?>> $$0 = BuiltInRegistries.DATA_COMPONENT_TYPE
24          .byNameCodec()
25          .validate($$0x -> $$0x.isTransient() ? DataResult.error(() -> "Component can't be serialized") : DataResult.success($$0x));
26       MapCodec<SelectItemModel.UnbakedSwitch<ComponentContents<T>, T>> $$2 = $$0.dispatchMap(
27          "component",
28          $$0x -> ((ComponentContents)$$0x.property()).componentType,
29          $$0x -> SelectItemModelProperty.Type.createCasesFieldCodec($$0x.codecOrThrow())
30                .xmap(
31                   $$1 -> new SelectItemModel.UnbakedSwitch<>(new ComponentContents<>($$0x), (List<SelectItemModel.SwitchCase<T>>)$$1),
32                   SelectItemModel.UnbakedSwitch::cases
33                )
34       );
35       return new SelectItemModelProperty.Type<>($$2);
36    }
37 
38    public static <T> SelectItemModelProperty.Type<ComponentContents<T>, T> castType() {
39       return (SelectItemModelProperty.Type<ComponentContents<T>, T>)TYPE;
40    }
41 
42    @Nullable
43    @Override
44    public T get(ItemStack $$0, @Nullable ClientLevel $$1, @Nullable LivingEntity $$2, int $$3, ItemDisplayContext $$4) {
45       return $$0.get(this.componentType);
46    }
47 
48    @Override
49    public SelectItemModelProperty.Type<ComponentContents<T>, T> type() {
50       return castType();
51    }
52 }
53 

net/minecraft/util/datafix/fixes/ItemStackComponentizationFix.java --- 1/2 --- Java
20 import java.util.stream.Stream;                                         20 import java.util.stream.Stream;
21 import javax.annotation.Nullable;                                       21 import javax.annotation.Nullable;
22 import net.minecraft.util.Mth;                                          22 import net.minecraft.util.Mth;
..                                                                         23 import net.minecraft.util.datafix.ExtraDataFixUtils;
23 import net.minecraft.util.datafix.LegacyComponentDataFixUtils;          24 import net.minecraft.util.datafix.LegacyComponentDataFixUtils;
24 import net.minecraft.util.datafix.schemas.NamespacedSchema;             25 import net.minecraft.util.datafix.schemas.NamespacedSchema;
25                                                                         26 

net/minecraft/util/datafix/fixes/ItemStackComponentizationFix.java --- 2/2 --- Java
290             $$0.setComponent("minecraft:banner_patterns", $$1.get("pat 291             $$0.setComponent("minecraft:banner_patterns", $$1.get("pat
... terns"));                                                              ... terns"));
291             Optional<Number> $$7 = $$1.get("Base").asNumber().result() 292             Optional<Number> $$7 = $$1.get("Base").asNumber().result()
... ;                                                                      ... ;
292             if ($$7.isPresent()) {                                     293             if ($$7.isPresent()) {
293                $$0.setComponent("minecraft:base_color", $$1.createStri 294                $$0.setComponent("minecraft:base_color", $$1.createStri
... ng(BannerPatternFormatFix.fixColor($$7.get().intValue())));            ... ng(ExtraDataFixUtils.dyeColorIdToName($$7.get().intValue())));
294             }                                                          295             }
295                                                                        296 
296             yield $$1.remove("patterns").remove("Base");               297             yield $$1.remove("patterns").remove("Base");

net/minecraft/world/entity/PositionMoveRotation.java --- 1/2 --- Java
4 import net.minecraft.network.FriendlyByteBuf;                             4 import net.minecraft.network.FriendlyByteBuf;
5 import net.minecraft.network.codec.ByteBufCodecs;                         5 import net.minecraft.network.codec.ByteBufCodecs;
6 import net.minecraft.network.codec.StreamCodec;                           6 import net.minecraft.network.codec.StreamCodec;
.                                                                           7 import net.minecraft.util.Mth;
7 import net.minecraft.world.level.portal.TeleportTransition;               8 import net.minecraft.world.level.portal.TeleportTransition;
8 import net.minecraft.world.phys.Vec3;                                     9 import net.minecraft.world.phys.Vec3;
9                                                                          10 

net/minecraft/world/entity/PositionMoveRotation.java --- 2/2 --- Java
38       float $$7 = $$2.contains(Relative.X_ROT) ? $$0.xRot : 0.0F;       39       float $$7 = $$2.contains(Relative.X_ROT) ? $$0.xRot : 0.0F;
39       Vec3 $$8 = new Vec3($$3 + $$1.position.x, $$4 + $$1.position.y, $ 40       Vec3 $$8 = new Vec3($$3 + $$1.position.x, $$4 + $$1.position.y, $
.. $5 + $$1.position.z);                                                   .. $5 + $$1.position.z);
40       float $$9 = $$6 + $$1.yRot;                                       41       float $$9 = $$6 + $$1.yRot;
41       float $$10 = $$7 + $$1.xRot;                                      42       float $$10 = Mth.clamp($$7 + $$1.xRot, -90.0F, 90.0F);
42       Vec3 $$11 = $$0.deltaMovement;                                    43       Vec3 $$11 = $$0.deltaMovement;
43       if ($$2.contains(Relative.ROTATE_DELTA)) {                        44       if ($$2.contains(Relative.ROTATE_DELTA)) {
44          float $$12 = $$0.yRot - $$9;                                   45          float $$12 = $$0.yRot - $$9;

net/minecraft/world/entity/ai/sensing/PlayerSensor.java --- 1/3 --- Java
3 import com.google.common.collect.ImmutableSet;                           3 import com.google.common.collect.ImmutableSet;
4 import java.util.Comparator;                                             4 import java.util.Comparator;
5 import java.util.List;                                                   5 import java.util.List;
6 import java.util.Optional;                                               . 
7 import java.util.Set;                                                    6 import java.util.Set;
8 import java.util.stream.Collectors;                                      7 import java.util.stream.Collectors;
9 import net.minecraft.server.level.ServerLevel;                           8 import net.minecraft.server.level.ServerLevel;

net/minecraft/world/entity/ai/sensing/PlayerSensor.java --- 2/3 --- Java
20       return ImmutableSet.of(MemoryModuleType.NEAREST_PLAYERS, MemoryMo 19       return ImmutableSet.of(
.. duleType.NEAREST_VISIBLE_PLAYER, MemoryModuleType.NEAREST_VISIBLE_ATTAC .. 
.. KABLE_PLAYER);                                                          .. 
..                                                                         20          MemoryModuleType.NEAREST_PLAYERS,
..                                                                         21          MemoryModuleType.NEAREST_VISIBLE_PLAYER,
..                                                                         22          MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYER,
..                                                                         23          MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYERS
..                                                                         24       );
21    }                                                                    25    }
22                                                                         26 

net/minecraft/world/entity/ai/sensing/PlayerSensor.java --- 3/3 --- Java
32       $$3.setMemory(MemoryModuleType.NEAREST_PLAYERS, $$2);             36       $$3.setMemory(MemoryModuleType.NEAREST_PLAYERS, $$2);
33       List<Player> $$4 = $$2.stream().filter($$2x -> isEntityTargetable 37       List<Player> $$4 = $$2.stream().filter($$2x -> isEntityTargetable
.. ($$0, $$1, $$2x)).collect(Collectors.toList());                         .. ($$0, $$1, $$2x)).collect(Collectors.toList());
34       $$3.setMemory(MemoryModuleType.NEAREST_VISIBLE_PLAYER, $$4.isEmpt 38       $$3.setMemory(MemoryModuleType.NEAREST_VISIBLE_PLAYER, $$4.isEmpt
.. y() ? null : $$4.get(0));                                               .. y() ? null : $$4.get(0));
35       Optional<Player> $$5 = $$4.stream().filter($$2x -> isEntityAttack 39       List<Player> $$5 = $$4.stream().filter($$2x -> isEntityAttackable
.. able($$0, $$1, $$2x)).findFirst();                                      .. ($$0, $$1, $$2x)).toList();
..                                                                         40       $$3.setMemory(MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYERS
..                                                                         .. , $$5);
36       $$3.setMemory(MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYER, 41       $$3.setMemory(MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYER,
..  $$5);                                                                  ..  $$5.isEmpty() ? null : $$5.get(0));
37    }                                                                    42    }
38                                                                         43 
39    protected double getFollowDistance(LivingEntity $$0) {               44    protected double getFollowDistance(LivingEntity $$0) {

net/minecraft/world/level/levelgen/PhantomSpawner.java --- Java
59                                  for (int $$16 = 0; $$16 < $$15; $$16++ 59                                  for (int $$16 = 0; $$16 < $$15; $$16++
.. ) {                                                                     .. ) {
60                                     Phantom $$17 = EntityType.PHANTOM.c 60                                     Phantom $$17 = EntityType.PHANTOM.c
.. reate($$0, EntitySpawnReason.NATURAL);                                  .. reate($$0, EntitySpawnReason.NATURAL);
61                                     if ($$17 != null) {                 61                                     if ($$17 != null) {
62                                        $$17.moveTo($$11, 0.0F, 0.0F);   62                                        $$17.snapTo($$11, 0.0F, 0.0F);
63                                        $$14 = $$17.finalizeSpawn($$0, $ 63                                        $$14 = $$17.finalizeSpawn($$0, $
.. $7, EntitySpawnReason.NATURAL, $$14);                                   .. $7, EntitySpawnReason.NATURAL, $$14);
64                                        $$0.addFreshEntityWithPassengers 64                                        $$0.addFreshEntityWithPassengers
.. ($$17);                                                                 .. ($$17);
65                                        $$4++;                           65                                        $$4++;

net/minecraft/world/entity/VariantHolder.java --- Java
1 package net.minecraft.world.entity;
2 
3 public interface VariantHolder<T> {
4    void setVariant(T var1);
5 
6    T getVariant();
7 }
8 

net/minecraft/util/datafix/fixes/BannerPatternFormatFix.java --- 1/2 --- Java
 6 import com.mojang.datafixers.schemas.Schema;                             6 import com.mojang.datafixers.schemas.Schema;
 7 import com.mojang.serialization.Dynamic;                                 7 import com.mojang.serialization.Dynamic;
 8 import java.util.Map;                                                    8 import java.util.Map;
 .                                                                          9 import net.minecraft.util.datafix.ExtraDataFixUtils;
 9                                                                         10 
10 public class BannerPatternFormatFix extends NamedEntityFix {            11 public class BannerPatternFormatFix extends NamedEntityFix {
11    private static final Map<String, String> PATTERN_ID_MAP = Map.ofEntr 12    private static final Map<String, String> PATTERN_ID_MAP = Map.ofEntr
   ies(                                                                       ies(

net/minecraft/util/datafix/fixes/BannerPatternFormatFix.java --- 2/2 --- Java
71          "pattern",                                                     72          "pattern",
72          $$0x -> DataFixUtils.orElse($$0x.asString().map($$0xx -> PATTE 73          $$0x -> DataFixUtils.orElse($$0x.asString().map($$0xx -> PATTE
.. RN_ID_MAP.getOrDefault($$0xx, $$0xx)).map($$0x::createString).result(), .. RN_ID_MAP.getOrDefault($$0xx, $$0xx)).map($$0x::createString).result(),
..  $$0x)                                                                  ..  $$0x)
73       );                                                                74       );
74       $$0 = $$0.set("color", $$0.createString(fixColor($$0.get("Color") 75       $$0 = $$0.set("color", $$0.createString(ExtraDataFixUtils.dyeColo
.. .asInt(0))));                                                           .. rIdToName($$0.get("Color").asInt(0))));
75       return $$0.remove("Color");                                       76       return $$0.remove("Color");
76    }                                                                    77    }
77                                                                         .. 
78    public static String fixColor(int $$0) {                             .. 
79       return switch ($$0) {                                             .. 
80          case 1 -> "orange";                                            .. 
81          case 2 -> "magenta";                                           .. 
82          case 3 -> "light_blue";                                        .. 
83          case 4 -> "yellow";                                            .. 
84          case 5 -> "lime";                                              .. 
85          case 6 -> "pink";                                              .. 
86          case 7 -> "gray";                                              .. 
87          case 8 -> "light_gray";                                        .. 
88          case 9 -> "cyan";                                              .. 
89          case 10 -> "purple";                                           .. 
90          case 11 -> "blue";                                             .. 
91          case 12 -> "brown";                                            .. 
92          case 13 -> "green";                                            .. 
93          case 14 -> "red";                                              .. 
94          case 15 -> "black";                                            .. 
95          default -> "white";                                            .. 
96       };                                                                .. 
97    }                                                                    .. 
98 }                                                                       78 }

net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java --- Java
30          for (int $$7 = -2; $$7 <= 2; $$7++) {                          30          for (int $$7 = -2; $$7 <= 2; $$7++) {
31             for (int $$8 = -4; $$8 <= 4; $$8++) {                       31             for (int $$8 = -4; $$8 <= 4; $$8++) {
32                BlockPos $$9 = $$3.offset($$6, $$7, $$8);                32                BlockPos $$9 = $$3.offset($$6, $$7, $$8);
33                if ($$1.getVillagerData().getProfession().secondaryPoi() 33                if ($$1.getVillagerData().profession().value().secondary
.. .contains($$0.getBlockState($$9).getBlock())) {                         .. Poi().contains($$0.getBlockState($$9).getBlock())) {
34                   $$4.add(GlobalPos.of($$2, $$9));                      34                   $$4.add(GlobalPos.of($$2, $$9));
35                }                                                        35                }
36             }                                                           36             }

net/minecraft/world/entity/decoration/Painting.java --- 1/6 --- Java
1 package net.minecraft.world.entity.decoration;                           1 package net.minecraft.world.entity.decoration;
2                                                                          2 
3 import com.mojang.serialization.Codec;                                   3 import com.mojang.serialization.Codec;
4 import com.mojang.serialization.MapCodec;                                . 
5 import java.util.ArrayList;                                              4 import java.util.ArrayList;
6 import java.util.List;                                                   5 import java.util.List;
7 import java.util.Optional;                                               6 import java.util.Optional;

net/minecraft/world/entity/decoration/Painting.java --- 2/6 --- Java
10 import net.minecraft.core.BlockPos;                                      9 import net.minecraft.core.BlockPos;
11 import net.minecraft.core.Direction;                                    10 import net.minecraft.core.Direction;
12 import net.minecraft.core.Holder;                                       11 import net.minecraft.core.Holder;
..                                                                         12 import net.minecraft.core.component.DataComponentGetter;
..                                                                         13 import net.minecraft.core.component.DataComponentType;
..                                                                         14 import net.minecraft.core.component.DataComponents;
13 import net.minecraft.core.registries.Registries;                        15 import net.minecraft.core.registries.Registries;
14 import net.minecraft.nbt.CompoundTag;                                   16 import net.minecraft.nbt.CompoundTag;
15 import net.minecraft.nbt.NbtOps;                                        17 import net.minecraft.nbt.NbtOps;

net/minecraft/world/entity/decoration/Painting.java --- 3/6 --- Java
25 import net.minecraft.tags.PaintingVariantTags;                          27 import net.minecraft.tags.PaintingVariantTags;
26 import net.minecraft.world.entity.Entity;                               28 import net.minecraft.world.entity.Entity;
27 import net.minecraft.world.entity.EntityType;                           29 import net.minecraft.world.entity.EntityType;
28 import net.minecraft.world.entity.VariantHolder;                        .. 
29 import net.minecraft.world.entity.player.Player;                        30 import net.minecraft.world.entity.player.Player;
30 import net.minecraft.world.item.ItemStack;                              31 import net.minecraft.world.item.ItemStack;
31 import net.minecraft.world.item.Items;                                  32 import net.minecraft.world.item.Items;

net/minecraft/world/entity/decoration/Painting.java --- 4/6 --- Java
34 import net.minecraft.world.phys.AABB;                                   35 import net.minecraft.world.phys.AABB;
35 import net.minecraft.world.phys.Vec3;                                   36 import net.minecraft.world.phys.Vec3;
36                                                                         37 
37 public class Painting extends HangingEntity implements VariantHolder<Ho 38 public class Painting extends HangingEntity {
.. lder<PaintingVariant>> {                                                .. 
38    private static final EntityDataAccessor<Holder<PaintingVariant>> DAT 39    private static final EntityDataAccessor<Holder<PaintingVariant>> DAT
.. A_PAINTING_VARIANT_ID = SynchedEntityData.defineId(                     .. A_PAINTING_VARIANT_ID = SynchedEntityData.defineId(
39       Painting.class, EntityDataSerializers.PAINTING_VARIANT            40       Painting.class, EntityDataSerializers.PAINTING_VARIANT
40    );                                                                   41    );
41    public static final MapCodec<Holder<PaintingVariant>> VARIANT_MAP_CO 42    private static final Codec<Holder<PaintingVariant>> VARIANT_CODEC = 
.. DEC = PaintingVariant.CODEC.fieldOf("variant");                         .. PaintingVariant.CODEC.fieldOf("variant").codec();
42    public static final Codec<Holder<PaintingVariant>> VARIANT_CODEC = V .. 
.. ARIANT_MAP_CODEC.codec();                                               .. 
43    public static final float DEPTH = 0.0625F;                           43    public static final float DEPTH = 0.0625F;
44                                                                         44 
45    public Painting(EntityType<? extends Painting> $$0, Level $$1) {     45    public Painting(EntityType<? extends Painting> $$0, Level $$1) {

net/minecraft/world/entity/decoration/Painting.java --- 5/6 --- Java
58       }                                                                 58       }
59    }                                                                    59    }
60                                                                         60 
61    public void setVariant(Holder<PaintingVariant> $$0) {                61    private void setVariant(Holder<PaintingVariant> $$0) {
62       this.entityData.set(DATA_PAINTING_VARIANT_ID, $$0);               62       this.entityData.set(DATA_PAINTING_VARIANT_ID, $$0);
63    }                                                                    63    }
64                                                                         64 
65    public Holder<PaintingVariant> getVariant() {                        65    public Holder<PaintingVariant> getVariant() {
66       return this.entityData.get(DATA_PAINTING_VARIANT_ID);             66       return this.entityData.get(DATA_PAINTING_VARIANT_ID);
67    }                                                                    67    }
..                                                                         68 
..                                                                         69    @Nullable
..                                                                         70    @Override
..                                                                         71    public <T> T get(DataComponentType<? extends T> $$0) {
..                                                                         72       return $$0 == DataComponents.PAINTING_VARIANT ? castComponentValu
..                                                                         .. e((DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
..                                                                         73    }
..                                                                         74 
..                                                                         75    @Override
..                                                                         76    protected void applyImplicitComponents(DataComponentGetter $$0) {
..                                                                         77       this.applyImplicitComponentIfPresent($$0, DataComponents.PAINTING
..                                                                         .. _VARIANT);
..                                                                         78       super.applyImplicitComponents($$0);
..                                                                         79    }
..                                                                         80 
..                                                                         81    @Override
..                                                                         82    protected <T> boolean applyImplicitComponent(DataComponentType<T> $$
..                                                                         .. 0, T $$1) {
..                                                                         83       if ($$0 == DataComponents.PAINTING_VARIANT) {
..                                                                         84          this.setVariant(castComponentValue(DataComponents.PAINTING_VAR
..                                                                         .. IANT, $$1));
..                                                                         85          return true;
..                                                                         86       } else {
..                                                                         87          return super.applyImplicitComponent($$0, $$1);
..                                                                         88       }
..                                                                         89    }
68                                                                         90 
69    public static Optional<Painting> create(Level $$0, BlockPos $$1, Dir 91    public static Optional<Painting> create(Level $$0, BlockPos $$1, Dir
.. ection $$2) {                                                           .. ection $$2) {
70       Painting $$3 = new Painting($$0, $$1);                            92       Painting $$3 = new Painting($$0, $$1);

net/minecraft/world/entity/decoration/Painting.java --- 6/6 --- Java
163    }                                                                   185    }
164                                                                        186 
165    @Override                                                           187    @Override
166    public void moveTo(double $$0, double $$1, double $$2, float $$3, f 188    public void snapTo(double $$0, double $$1, double $$2, float $$3, f
... loat $$4) {                                                            ... loat $$4) {
167       this.setPos($$0, $$1, $$2);                                      189       this.setPos($$0, $$1, $$2);
168    }                                                                   190    }
169                                                                        191 

net/minecraft/util/datafix/fixes/TextComponentHoverAndClickEventFix.java --- Java
87       String $$1 = $$0.get("action").asString("");                      87       String $$1 = $$0.get("action").asString("");
88                                                                         88 
89       return switch ($$1) {                                             89       return switch ($$1) {
90          case "show_text" -> $$0.renameField("contents", "text");       90          case "show_text" -> $$0.renameField("contents", "value");
91          case "show_item" -> {                                          91          case "show_item" -> {
92             Dynamic<?> $$2 = $$0.get("contents").orElseEmptyMap();      92             Dynamic<?> $$2 = $$0.get("contents").orElseEmptyMap();
93             Optional<String> $$3 = $$2.asString().result();             93             Optional<String> $$3 = $$2.asString().result();

net/minecraft/world/entity/ai/Brain.java --- Java
332       this.addActivityAndRemoveMemoriesWhenStopped($$0, $$1, Immutable 332       this.addActivityAndRemoveMemoriesWhenStopped($$0, $$1, Immutable
... Set.of(), Sets.newHashSet());                                          ... Set.of(), Sets.newHashSet());
333    }                                                                   333    }
...                                                                        334 
...                                                                        335    public void addActivityWithConditions(
...                                                                        336       Activity $$0, int $$1, ImmutableList<? extends BehaviorControl<?
...                                                                        ...  super E>> $$2, Set<Pair<MemoryModuleType<?>, MemoryStatus>> $$3
...                                                                        337    ) {
...                                                                        338       this.addActivityWithConditions($$0, this.createPriorityPairs($$1
...                                                                        ... , $$2), $$3);
...                                                                        339    }
334                                                                        340 
335    public void addActivityWithConditions(                              341    public void addActivityWithConditions(
336       Activity $$0, ImmutableList<? extends Pair<Integer, ? extends Be 342       Activity $$0, ImmutableList<? extends Pair<Integer, ? extends Be
    haviorControl<? super E>>> $$1, Set<Pair<MemoryModuleType<?>, MemorySt     haviorControl<? super E>>> $$1, Set<Pair<MemoryModuleType<?>, MemorySt
    atus>> $$2                                                                 atus>> $$2

net/minecraft/util/datafix/fixes/EntityFallDistanceFloatToDoubleFix.java --- Java
 1 package net.minecraft.util.datafix.fixes;
 2 
 3 import com.mojang.datafixers.DSL;
 4 import com.mojang.datafixers.DataFix;
 5 import com.mojang.datafixers.TypeRewriteRule;
 6 import com.mojang.datafixers.Typed;
 7 import com.mojang.datafixers.DSL.TypeReference;
 8 import com.mojang.datafixers.schemas.Schema;
 9 
10 public class EntityFallDistanceFloatToDoubleFix extends DataFix {
11    private TypeReference type;
12 
13    public EntityFallDistanceFloatToDoubleFix(Schema $$0, TypeReference $$1) {
14       super($$0, false);
15       this.type = $$1;
16    }
17 
18    @Override
19    protected TypeRewriteRule makeRule() {
20       return this.fixTypeEverywhereTyped(
21          "EntityFallDistanceFloatToDoubleFixFor" + this.type.typeName(),
22          this.getOutputSchema().getType(this.type),
23          EntityFallDistanceFloatToDoubleFix::fixEntity
24       );
25    }
26 
27    private static Typed<?> fixEntity(Typed<?> $$0) {
28       return $$0.update(
29          DSL.remainderFinder(), $$0x -> $$0x.renameAndFixField("FallDistance", "fall_distance", $$0xx -> $$0xx.createDouble((double)$$0xx.asFloat(0.0F)))
30       );
31    }
32 }
33 

net/minecraft/world/entity/monster/Slime.java --- Java
210             float $$9 = ((float)($$7 / 2) - 0.5F) * $$3;               210             float $$9 = ((float)($$7 / 2) - 0.5F) * $$3;
211             this.convertTo(this.getType(), new ConversionParams(Conver 211             this.convertTo(this.getType(), new ConversionParams(Conver
... sionType.SPLIT_ON_DEATH, false, false, $$6), EntitySpawnReason.TRIGGER ... sionType.SPLIT_ON_DEATH, false, false, $$6), EntitySpawnReason.TRIGGER
... ED, $$3x -> {                                                          ... ED, $$3x -> {
212                $$3x.setSize($$4, true);                                212                $$3x.setSize($$4, true);
213                $$3x.moveTo(this.getX() + (double)$$8, this.getY() + 0. 213                $$3x.snapTo(this.getX() + (double)$$8, this.getY() + 0.
... 5, this.getZ() + (double)$$9, this.random.nextFloat() * 360.0F, 0.0F); ... 5, this.getZ() + (double)$$9, this.random.nextFloat() * 360.0F, 0.0F);
214             });                                                        214             });
215          }                                                             215          }
216       }                                                                216       }

net/minecraft/util/datafix/DataFixers.java --- 1/7 --- Java
101 import net.minecraft.util.datafix.fixes.EntityCustomNameToComponentFix 101 import net.minecraft.util.datafix.fixes.EntityCustomNameToComponentFix
... ;                                                                      ... ;
102 import net.minecraft.util.datafix.fixes.EntityElderGuardianSplitFix;   102 import net.minecraft.util.datafix.fixes.EntityElderGuardianSplitFix;
103 import net.minecraft.util.datafix.fixes.EntityEquipmentToArmorAndHandF 103 import net.minecraft.util.datafix.fixes.EntityEquipmentToArmorAndHandF
... ix;                                                                    ... ix;
...                                                                        104 import net.minecraft.util.datafix.fixes.EntityFallDistanceFloatToDoubl
...                                                                        ... eFix;
104 import net.minecraft.util.datafix.fixes.EntityFieldsRenameFix;         105 import net.minecraft.util.datafix.fixes.EntityFieldsRenameFix;
105 import net.minecraft.util.datafix.fixes.EntityGoatMissingStateFix;     106 import net.minecraft.util.datafix.fixes.EntityGoatMissingStateFix;
106 import net.minecraft.util.datafix.fixes.EntityHealthFix;               107 import net.minecraft.util.datafix.fixes.EntityHealthFix;

net/minecraft/util/datafix/DataFixers.java --- 2/7 --- Java
120 import net.minecraft.util.datafix.fixes.EntityShulkerColorFix;         121 import net.minecraft.util.datafix.fixes.EntityShulkerColorFix;
121 import net.minecraft.util.datafix.fixes.EntityShulkerRotationFix;      122 import net.minecraft.util.datafix.fixes.EntityShulkerRotationFix;
122 import net.minecraft.util.datafix.fixes.EntitySkeletonSplitFix;        123 import net.minecraft.util.datafix.fixes.EntitySkeletonSplitFix;
...                                                                        124 import net.minecraft.util.datafix.fixes.EntitySpawnerItemVariantCompon
...                                                                        ... entFix;
123 import net.minecraft.util.datafix.fixes.EntityStringUuidFix;           125 import net.minecraft.util.datafix.fixes.EntityStringUuidFix;
124 import net.minecraft.util.datafix.fixes.EntityTheRenameningFix;        126 import net.minecraft.util.datafix.fixes.EntityTheRenameningFix;
125 import net.minecraft.util.datafix.fixes.EntityTippedArrowFix;          127 import net.minecraft.util.datafix.fixes.EntityTippedArrowFix;

net/minecraft/util/datafix/DataFixers.java --- 3/7 --- Java
129 import net.minecraft.util.datafix.fixes.EntityZombieSplitFix;          131 import net.minecraft.util.datafix.fixes.EntityZombieSplitFix;
130 import net.minecraft.util.datafix.fixes.EntityZombieVillagerTypeFix;   132 import net.minecraft.util.datafix.fixes.EntityZombieVillagerTypeFix;
131 import net.minecraft.util.datafix.fixes.EntityZombifiedPiglinRenameFix 133 import net.minecraft.util.datafix.fixes.EntityZombifiedPiglinRenameFix
... ;                                                                      ... ;
...                                                                        134 import net.minecraft.util.datafix.fixes.EquipmentFormatFix;
132 import net.minecraft.util.datafix.fixes.EquippableAssetRenameFix;      135 import net.minecraft.util.datafix.fixes.EquippableAssetRenameFix;
133 import net.minecraft.util.datafix.fixes.FeatureFlagRemoveFix;          136 import net.minecraft.util.datafix.fixes.FeatureFlagRemoveFix;
134 import net.minecraft.util.datafix.fixes.FilteredBooksFix;              137 import net.minecraft.util.datafix.fixes.FilteredBooksFix;
135 import net.minecraft.util.datafix.fixes.FilteredSignsFix;              138 import net.minecraft.util.datafix.fixes.FilteredSignsFix;
136 import net.minecraft.util.datafix.fixes.FireResistantToDamageResistant 139 import net.minecraft.util.datafix.fixes.FireResistantToDamageResistant
... ComponentFix;                                                          ... ComponentFix;
137 import net.minecraft.util.datafix.fixes.FixProjectileStoredItem;       140 import net.minecraft.util.datafix.fixes.FixProjectileStoredItem;
...                                                                        141 import net.minecraft.util.datafix.fixes.FixWolfHealth;
138 import net.minecraft.util.datafix.fixes.FoodToConsumableFix;           142 import net.minecraft.util.datafix.fixes.FoodToConsumableFix;
139 import net.minecraft.util.datafix.fixes.ForcePoiRebuild;               143 import net.minecraft.util.datafix.fixes.ForcePoiRebuild;
140 import net.minecraft.util.datafix.fixes.ForcedChunkToTicketFix;        144 import net.minecraft.util.datafix.fixes.ForcedChunkToTicketFix;

net/minecraft/util/datafix/DataFixers.java --- 4/7 --- Java
218 import net.minecraft.util.datafix.fixes.RenamedCoralFansFix;           222 import net.minecraft.util.datafix.fixes.RenamedCoralFansFix;
219 import net.minecraft.util.datafix.fixes.RenamedCoralFix;               223 import net.minecraft.util.datafix.fixes.RenamedCoralFix;
220 import net.minecraft.util.datafix.fixes.ReorganizePoi;                 224 import net.minecraft.util.datafix.fixes.ReorganizePoi;
...                                                                        225 import net.minecraft.util.datafix.fixes.SaddleEquipmentSlotFix;
221 import net.minecraft.util.datafix.fixes.SavedDataFeaturePoolElementFix 226 import net.minecraft.util.datafix.fixes.SavedDataFeaturePoolElementFix
... ;                                                                      ... ;
222 import net.minecraft.util.datafix.fixes.SavedDataUUIDFix;              227 import net.minecraft.util.datafix.fixes.SavedDataUUIDFix;
223 import net.minecraft.util.datafix.fixes.ScoreboardDisplayNameFix;      228 import net.minecraft.util.datafix.fixes.ScoreboardDisplayNameFix;

net/minecraft/util/datafix/DataFixers.java --- 5/7 --- Java
341 import net.minecraft.util.datafix.schemas.V4071;                       346 import net.minecraft.util.datafix.schemas.V4071;
342 import net.minecraft.util.datafix.schemas.V4290;                       347 import net.minecraft.util.datafix.schemas.V4290;
343 import net.minecraft.util.datafix.schemas.V4292;                       348 import net.minecraft.util.datafix.schemas.V4292;
...                                                                        349 import net.minecraft.util.datafix.schemas.V4300;
...                                                                        350 import net.minecraft.util.datafix.schemas.V4301;
...                                                                        351 import net.minecraft.util.datafix.schemas.V4302;
344 import net.minecraft.util.datafix.schemas.V501;                        352 import net.minecraft.util.datafix.schemas.V501;
345 import net.minecraft.util.datafix.schemas.V700;                        353 import net.minecraft.util.datafix.schemas.V700;
346 import net.minecraft.util.datafix.schemas.V701;                        354 import net.minecraft.util.datafix.schemas.V701;

net/minecraft/util/datafix/DataFixers.java --- 6/7 --- Java
384    private static void addFixers(DataFixerBuilder $$0) {               392    private static void addFixers(DataFixerBuilder $$0) {
385       $$0.addSchema(99, V99::new);                                     393       $$0.addSchema(99, V99::new);
386       Schema $$1 = $$0.addSchema(100, V100::new);                      394       Schema $$1 = $$0.addSchema(100, V100::new);
387       $$0.addFixer(new EntityEquipmentToArmorAndHandFix($$1, true));   395       $$0.addFixer(new EntityEquipmentToArmorAndHandFix($$1));
388       Schema $$2 = $$0.addSchema(101, SAME);                           396       Schema $$2 = $$0.addSchema(101, SAME);
389       $$0.addFixer(new VillagerSetCanPickUpLootFix($$2));              397       $$0.addFixer(new VillagerSetCanPickUpLootFix($$2));
390       Schema $$3 = $$0.addSchema(102, V102::new);                      398       Schema $$3 = $$0.addSchema(102, V102::new);

net/minecraft/util/datafix/DataFixers.java --- 7/7 --- Java
1457       $$0.addFixer(new AreaEffectCloudDurationScaleFix($$257));       1465       $$0.addFixer(new AreaEffectCloudDurationScaleFix($$257));
1458       Schema $$258 = $$0.addSchema(4297, SAME_NAMESPACED);            1466       Schema $$258 = $$0.addSchema(4297, SAME_NAMESPACED);
1459       $$0.addFixer(new ForcedChunkToTicketFix($$258));                1467       $$0.addFixer(new ForcedChunkToTicketFix($$258));
....                                                                       1468       Schema $$259 = $$0.addSchema(4299, SAME_NAMESPACED);
....                                                                       1469       $$0.addFixer(new EntitySpawnerItemVariantComponentFix($$259));
....                                                                       1470       Schema $$260 = $$0.addSchema(4300, V4300::new);
....                                                                       1471       $$0.addFixer(new SaddleEquipmentSlotFix($$260));
....                                                                       1472       Schema $$261 = $$0.addSchema(4301, V4301::new);
....                                                                       1473       $$0.addFixer(new EquipmentFormatFix($$261));
....                                                                       1474       Schema $$262 = $$0.addSchema(4302, V4302::new);
....                                                                       1475       $$0.addFixer(new AddNewChoices($$262, "Added Test and Test Inst
....                                                                       .... ance Block Entities", References.BLOCK_ENTITY));
....                                                                       1476       Schema $$263 = $$0.addSchema(4303, SAME_NAMESPACED);
....                                                                       1477       $$0.addFixer(new EntityFallDistanceFloatToDoubleFix($$263, Refe
....                                                                       .... rences.ENTITY));
....                                                                       1478       $$0.addFixer(new EntityFallDistanceFloatToDoubleFix($$263, Refe
....                                                                       .... rences.PLAYER));
1460    }                                                                  1479    }
1461                                                                       1480 
1462    private static UnaryOperator<String> createRenamerNoNamespace(Map< 1481    private static UnaryOperator<String> createRenamerNoNamespace(Map<
     String, String> $$0) {                                                     String, String> $$0) {

net/minecraft/world/entity/monster/Evoker.java --- Java
263             BlockPos $$3 = Evoker.this.blockPosition().offset(-2 + Evo 263             BlockPos $$3 = Evoker.this.blockPosition().offset(-2 + Evo
... ker.this.random.nextInt(5), 1, -2 + Evoker.this.random.nextInt(5));    ... ker.this.random.nextInt(5), 1, -2 + Evoker.this.random.nextInt(5));
264             Vex $$4 = EntityType.VEX.create(Evoker.this.level(), Entit 264             Vex $$4 = EntityType.VEX.create(Evoker.this.level(), Entit
... ySpawnReason.MOB_SUMMONED);                                            ... ySpawnReason.MOB_SUMMONED);
265             if ($$4 != null) {                                         265             if ($$4 != null) {
266                $$4.moveTo($$3, 0.0F, 0.0F);                            266                $$4.snapTo($$3, 0.0F, 0.0F);
267                $$4.finalizeSpawn($$0, Evoker.this.level().getCurrentDi 267                $$4.finalizeSpawn($$0, Evoker.this.level().getCurrentDi
... fficultyAt($$3), EntitySpawnReason.MOB_SUMMONED, null);                ... fficultyAt($$3), EntitySpawnReason.MOB_SUMMONED, null);
268                $$4.setOwner(Evoker.this);                              268                $$4.setOwner(Evoker.this);
269                $$4.setBoundOrigin($$3);                                269                $$4.setBoundOrigin($$3);

net/minecraft/world/entity/animal/CatVariant.java --- Java
 1 package net.minecraft.world.entity.animal;                               1 package net.minecraft.world.entity.animal;
 2                                                                          2 
 .                                                                          3 import com.mojang.serialization.Codec;
 3 import net.minecraft.core.Holder;                                        4 import net.minecraft.core.Holder;
 4 import net.minecraft.core.Registry;                                      5 import net.minecraft.core.Registry;
 5 import net.minecraft.core.registries.Registries;                         6 import net.minecraft.core.registries.Registries;
 6 import net.minecraft.network.RegistryFriendlyByteBuf;                    7 import net.minecraft.network.RegistryFriendlyByteBuf;
 7 import net.minecraft.network.codec.ByteBufCodecs;                        8 import net.minecraft.network.codec.ByteBufCodecs;
 8 import net.minecraft.network.codec.StreamCodec;                          9 import net.minecraft.network.codec.StreamCodec;
 .                                                                         10 import net.minecraft.resources.RegistryFixedCodec;
 9 import net.minecraft.resources.ResourceKey;                             11 import net.minecraft.resources.ResourceKey;
10 import net.minecraft.resources.ResourceLocation;                        12 import net.minecraft.resources.ResourceLocation;
11                                                                         13 
12 public record CatVariant(ResourceLocation texture) {                    14 public record CatVariant(ResourceLocation texture) {
..                                                                         15    public static final Codec<Holder<CatVariant>> CODEC = RegistryFixedC
..                                                                         .. odec.create(Registries.CAT_VARIANT);
13    public static final StreamCodec<RegistryFriendlyByteBuf, Holder<CatV 16    public static final StreamCodec<RegistryFriendlyByteBuf, Holder<CatV
.. ariant>> STREAM_CODEC = ByteBufCodecs.holderRegistry(Registries.CAT_VAR .. ariant>> STREAM_CODEC = ByteBufCodecs.holderRegistry(Registries.CAT_VAR
.. IANT);                                                                  .. IANT);
14    public static final ResourceKey<CatVariant> TABBY = createKey("tabby 17    public static final ResourceKey<CatVariant> TABBY = createKey("tabby
.. ");                                                                     .. ");
15    public static final ResourceKey<CatVariant> BLACK = createKey("black 18    public static final ResourceKey<CatVariant> BLACK = createKey("black
   ");                                                                        ");

net/minecraft/client/resources/model/EquipmentClientInfo.java --- Java
112       WINGS("wings"),                                                  112       WINGS("wings"),
113       WOLF_BODY("wolf_body"),                                          113       WOLF_BODY("wolf_body"),
114       HORSE_BODY("horse_body"),                                        114       HORSE_BODY("horse_body"),
115       LLAMA_BODY("llama_body");                                        115       LLAMA_BODY("llama_body"),
...                                                                        116       PIG_SADDLE("pig_saddle"),
...                                                                        117       STRIDER_SADDLE("strider_saddle"),
...                                                                        118       CAMEL_SADDLE("camel_saddle"),
...                                                                        119       HORSE_SADDLE("horse_saddle"),
...                                                                        120       DONKEY_SADDLE("donkey_saddle"),
...                                                                        121       MULE_SADDLE("mule_saddle"),
...                                                                        122       ZOMBIE_HORSE_SADDLE("zombie_horse_saddle"),
...                                                                        123       SKELETON_HORSE_SADDLE("skeleton_horse_saddle");
116                                                                        124 
117       public static final Codec<EquipmentClientInfo.LayerType> CODEC = 125       public static final Codec<EquipmentClientInfo.LayerType> CODEC =
...  StringRepresentable.fromEnum(EquipmentClientInfo.LayerType::values);  ...  StringRepresentable.fromEnum(EquipmentClientInfo.LayerType::values);
118       private final String id;                                         126       private final String id;

net/minecraft/world/entity/monster/creaking/CreakingAi.java --- 1/4 --- Java
3 import com.google.common.collect.ImmutableList;                           3 import com.google.common.collect.ImmutableList;
4 import com.google.common.collect.ImmutableSet;                            4 import com.google.common.collect.ImmutableSet;
5 import com.mojang.datafixers.util.Pair;                                   5 import com.mojang.datafixers.util.Pair;
.                                                                           6 import java.util.List;
.                                                                           7 import java.util.Optional;
6 import net.minecraft.server.level.ServerLevel;                            8 import net.minecraft.server.level.ServerLevel;
7 import net.minecraft.util.valueproviders.UniformInt;                      9 import net.minecraft.util.valueproviders.UniformInt;
8 import net.minecraft.world.entity.LivingEntity;                          10 import net.minecraft.world.entity.LivingEntity;

net/minecraft/world/entity/monster/creaking/CreakingAi.java --- 2/4 --- Java
20 import net.minecraft.world.entity.ai.behavior.StopAttackingIfTargetInva 22 import net.minecraft.world.entity.ai.behavior.StopAttackingIfTargetInva
.. lid;                                                                    .. lid;
21 import net.minecraft.world.entity.ai.behavior.Swim;                     23 import net.minecraft.world.entity.ai.behavior.Swim;
22 import net.minecraft.world.entity.ai.memory.MemoryModuleType;           24 import net.minecraft.world.entity.ai.memory.MemoryModuleType;
..                                                                         25 import net.minecraft.world.entity.ai.memory.MemoryStatus;
23 import net.minecraft.world.entity.ai.sensing.Sensor;                    26 import net.minecraft.world.entity.ai.sensing.Sensor;
24 import net.minecraft.world.entity.ai.sensing.SensorType;                27 import net.minecraft.world.entity.ai.sensing.SensorType;
..                                                                         28 import net.minecraft.world.entity.player.Player;
25 import net.minecraft.world.entity.schedule.Activity;                    29 import net.minecraft.world.entity.schedule.Activity;
26                                                                         30 
27 public class CreakingAi {                                               31 public class CreakingAi {

net/minecraft/world/entity/monster/creaking/CreakingAi.java --- 3/4 --- Java
33       MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES,                 37       MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES,
34       MemoryModuleType.NEAREST_VISIBLE_PLAYER,                          38       MemoryModuleType.NEAREST_VISIBLE_PLAYER,
35       MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYER,               39       MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYER,
..                                                                         40       MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYERS,
36       MemoryModuleType.LOOK_TARGET,                                     41       MemoryModuleType.LOOK_TARGET,
37       MemoryModuleType.WALK_TARGET,                                     42       MemoryModuleType.WALK_TARGET,
38       MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE,                    43       MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE,

net/minecraft/world/entity/monster/creaking/CreakingAi.java --- 4/4 --- Java
65       );                                                                 70       );
66    }                                                                     71    }
67                                                                          72 
68    static void initFightActivity(Brain<Creaking> $$0) {                  73    static void initFightActivity(Creaking $$0, Brain<Creaking> $$1) {
69       $$0.addActivityAndRemoveMemoryWhenStopped(                         74       $$1.addActivityWithConditions(
70          Activity.FIGHT,                                                 75          Activity.FIGHT,
71          10,                                                             76          10,
72          ImmutableList.of(                                               77          ImmutableList.of(
73             SetWalkTargetFromAttackTargetIfTargetOutOfReach.create(1.0F  78             SetWalkTargetFromAttackTargetIfTargetOutOfReach.create(1.0F
.. ), MeleeAttack.create(Creaking::canMove, 40), StopAttackingIfTargetInva  .. ),
.. lid.create()                                                             .. 
..                                                                          79             MeleeAttack.create(Creaking::canMove, 40),
..                                                                          80             StopAttackingIfTargetInvalid.create(($$1x, $$2) -> !isAttac
..                                                                          .. kTargetStillReachable($$0, $$2))
74          ),                                                              81          ),
75          MemoryModuleType.ATTACK_TARGET                                  82          ImmutableSet.of(Pair.of(MemoryModuleType.ATTACK_TARGET, Memory
..                                                                          .. Status.VALUE_PRESENT))
76       );                                                                 83       );
77    }                                                                     84    }
..                                                                          85 
..                                                                          86    private static boolean isAttackTargetStillReachable(Creaking $$0, Li
..                                                                          .. vingEntity $$1) {
..                                                                          87       Optional<List<Player>> $$2 = $$0.getBrain().getMemory(MemoryModul
..                                                                          .. eType.NEAREST_VISIBLE_ATTACKABLE_PLAYERS);
..                                                                          88       return $$2.<Boolean>map($$1x -> {
..                                                                          89          if ($$1 instanceof Player $$2x && $$1x.contains($$2x)) {
..                                                                          90             return true;
..                                                                          91          }
..                                                                          92 
..                                                                          93          return false;
..                                                                          94       }).orElse(false);
..                                                                          95    }
78                                                                          96 
79    public static Brain.Provider<Creaking> brainProvider() {              97    public static Brain.Provider<Creaking> brainProvider() {
80       return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);                 98       return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
81    }                                                                     99    }
82                                                                         100 
83    public static Brain<Creaking> makeBrain(Brain<Creaking> $$0) {       101    public static Brain<Creaking> makeBrain(Creaking $$0, Brain<Creaking
..                                                                         ... > $$1) {
84       initCoreActivity($$0);                                            102       initCoreActivity($$1);
85       initIdleActivity($$0);                                            103       initIdleActivity($$1);
86       initFightActivity($$0);                                           104       initFightActivity($$0, $$1);
87       $$0.setCoreActivities(ImmutableSet.of(Activity.CORE));            105       $$1.setCoreActivities(ImmutableSet.of(Activity.CORE));
88       $$0.setDefaultActivity(Activity.IDLE);                            106       $$1.setDefaultActivity(Activity.IDLE);
89       $$0.useDefaultActivity();                                         107       $$1.useDefaultActivity();
90       return $$0;                                                       108       return $$1;
91    }                                                                    109    }
92                                                                         110 
93    public static void updateActivity(Creaking $$0) {                    111    public static void updateActivity(Creaking $$0) {

net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.java --- 1/2 --- Java
93                Witch $$14 = EntityType.WITCH.create($$0.getLevel(), Ent 93                Witch $$14 = EntityType.WITCH.create($$0.getLevel(), Ent
.. itySpawnReason.STRUCTURE);                                              .. itySpawnReason.STRUCTURE);
94                if ($$14 != null) {                                      94                if ($$14 != null) {
95                   $$14.setPersistenceRequired();                        95                   $$14.setPersistenceRequired();
96                   $$14.moveTo((double)$$13.getX() + 0.5, (double)$$13.g 96                   $$14.snapTo((double)$$13.getX() + 0.5, (double)$$13.g
.. etY(), (double)$$13.getZ() + 0.5, 0.0F, 0.0F);                          .. etY(), (double)$$13.getZ() + 0.5, 0.0F, 0.0F);
97                   $$14.finalizeSpawn($$0, $$0.getCurrentDifficultyAt($$ 97                   $$14.finalizeSpawn($$0, $$0.getCurrentDifficultyAt($$
.. 13), EntitySpawnReason.STRUCTURE, null);                                .. 13), EntitySpawnReason.STRUCTURE, null);
98                   $$0.addFreshEntityWithPassengers($$14);               98                   $$0.addFreshEntityWithPassengers($$14);
99                }                                                        99                }

net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.java --- 2/2 --- Java
112             Cat $$3 = EntityType.CAT.create($$0.getLevel(), EntitySpaw 112             Cat $$3 = EntityType.CAT.create($$0.getLevel(), EntitySpaw
... nReason.STRUCTURE);                                                    ... nReason.STRUCTURE);
113             if ($$3 != null) {                                         113             if ($$3 != null) {
114                $$3.setPersistenceRequired();                           114                $$3.setPersistenceRequired();
115                $$3.moveTo((double)$$2.getX() + 0.5, (double)$$2.getY() 115                $$3.snapTo((double)$$2.getX() + 0.5, (double)$$2.getY()
... , (double)$$2.getZ() + 0.5, 0.0F, 0.0F);                               ... , (double)$$2.getZ() + 0.5, 0.0F, 0.0F);
116                $$3.finalizeSpawn($$0, $$0.getCurrentDifficultyAt($$2), 116                $$3.finalizeSpawn($$0, $$0.getCurrentDifficultyAt($$2),
...  EntitySpawnReason.STRUCTURE, null);                                   ...  EntitySpawnReason.STRUCTURE, null);
117                $$0.addFreshEntityWithPassengers($$3);                  117                $$0.addFreshEntityWithPassengers($$3);
118             }                                                          118             }

net/minecraft/world/entity/monster/creaking/Creaking.java --- Java
115                                                                        115 
116    @Override                                                           116    @Override
117    protected Brain<?> makeBrain(Dynamic<?> $$0) {                      117    protected Brain<?> makeBrain(Dynamic<?> $$0) {
118       return CreakingAi.makeBrain(this.brainProvider().makeBrain($$0)) 118       return CreakingAi.makeBrain(this, this.brainProvider().makeBrain
... ;                                                                      ... ($$0));
119    }                                                                   119    }
120                                                                        120 
121    @Override                                                           121    @Override

net/minecraft/util/datafix/fixes/NamedEntityWriteReadFix.java --- Java
29       Type<?> $$0 = this.getInputSchema().getType(this.type);           29       Type<?> $$0 = this.getInputSchema().getType(this.type);
30       Type<?> $$1 = this.getInputSchema().getChoiceType(this.type, this 30       Type<?> $$1 = this.getInputSchema().getChoiceType(this.type, this
.. .entityName);                                                           .. .entityName);
31       Type<?> $$2 = this.getOutputSchema().getType(this.type);          31       Type<?> $$2 = this.getOutputSchema().getType(this.type);
32       Type<?> $$3 = this.getOutputSchema().getChoiceType(this.type, thi .. 
.. s.entityName);                                                          .. 
33       OpticFinder<?> $$4 = DSL.namedChoice(this.entityName, $$1);       32       OpticFinder<?> $$3 = DSL.namedChoice(this.entityName, $$1);
34       Type<?> $$5 = ExtraDataFixUtils.patchSubType($$1, $$0, $$2);      33       Type<?> $$4 = ExtraDataFixUtils.patchSubType($$0, $$0, $$2);
35       return this.fix($$0, $$2, $$4, $$3, $$5);                         34       return this.fix($$0, $$2, $$4, $$3);
36    }                                                                    35    }
37                                                                         36 
38    private <S, T, A, B> TypeRewriteRule fix(Type<S> $$0, Type<T> $$1, O 37    private <S, T, A> TypeRewriteRule fix(Type<S> $$0, Type<T> $$1, Type
.. pticFinder<A> $$2, Type<B> $$3, Type<?> $$4) {                          .. <?> $$2, OpticFinder<A> $$3) {
39       return this.fixTypeEverywhere(this.name, $$0, $$1, $$4x -> $$5 -> 38       return this.fixTypeEverywhereTyped(this.name, $$0, $$1, $$3x -> {
..  {                                                                      .. 
40             Typed<S> $$6 = new Typed<>($$0, $$4x, $$5);                 39          if ($$3x.getOptional($$3).isEmpty()) {
41             return (T)$$6.update($$2, $$3, $$3xxx -> {                  40             return ExtraDataFixUtils.cast($$1, $$3x);
..                                                                         41          } else {
42                Typed<A> $$4xxx = new Typed<>((Type<A>)$$4, $$4x, (A)$$3 42             Typed<?> $$4 = ExtraDataFixUtils.cast($$2, $$3x);
.. xxx);                                                                   .. 
43                return Util.<A, B>writeAndReadTypedOrThrow($$4xxx, $$3,  43             return Util.writeAndReadTypedOrThrow($$4, $$1, this::fix);
.. this::fix).getValue();                                                  .. 
44             }).getValue();                                              44          }
45          });                                                            45       });
46    }                                                                    46    }
47                                                                         47 

net/minecraft/world/level/levelgen/structure/structures/WoodlandMansionPieces.java --- Java
1214             for (Mob $$10 : $$7) {                                    1214             for (Mob $$10 : $$7) {
1215                if ($$10 != null) {                                    1215                if ($$10 != null) {
1216                   $$10.setPersistenceRequired();                      1216                   $$10.setPersistenceRequired();
1217                   $$10.moveTo($$1, 0.0F, 0.0F);                       1217                   $$10.snapTo($$1, 0.0F, 0.0F);
1218                   $$10.finalizeSpawn($$2, $$2.getCurrentDifficultyAt( 1218                   $$10.finalizeSpawn($$2, $$2.getCurrentDifficultyAt(
.... $$10.blockPosition()), EntitySpawnReason.STRUCTURE, null);            .... $$10.blockPosition()), EntitySpawnReason.STRUCTURE, null);
1219                   $$2.addFreshEntityWithPassengers($$10);             1219                   $$2.addFreshEntityWithPassengers($$10);
1220                   $$2.setBlock($$1, Blocks.AIR.defaultBlockState(), 2 1220                   $$2.setBlock($$1, Blocks.AIR.defaultBlockState(), 2
     );                                                                         );

net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java --- Java
379    }                                                                   379    }
380                                                                        380 
381    @Override                                                           381    @Override
382    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 382    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
383       super.preRemoveSideEffects($$0, $$1, $$2);                       383       super.preRemoveSideEffects($$0, $$1);
384       if (this.level instanceof ServerLevel $$3) {                     384       if (this.level instanceof ServerLevel $$2) {
385          this.getRecipesToAwardAndPopExperience($$3, Vec3.atCenterOf($ 385          this.getRecipesToAwardAndPopExperience($$2, Vec3.atCenterOf($
... $0));                                                                  ... $0));
386       }                                                                386       }
387    }                                                                   387    }
388 }                                                                      388 }

net/minecraft/world/level/block/entity/TestInstanceBlockEntity.java --- Java
  1 package net.minecraft.world.level.block.entity;
  2 
  3 import com.mojang.serialization.Codec;
  4 import com.mojang.serialization.DataResult;
  5 import com.mojang.serialization.codecs.RecordCodecBuilder;
  6 import io.netty.buffer.ByteBuf;
  7 import java.io.IOException;
  8 import java.nio.file.Path;
  9 import java.util.List;
 10 import java.util.Optional;
 11 import java.util.function.Consumer;
 12 import java.util.function.IntFunction;
 13 import net.minecraft.ChatFormatting;
 14 import net.minecraft.FileUtil;
 15 import net.minecraft.core.BlockPos;
 16 import net.minecraft.core.Holder;
 17 import net.minecraft.core.HolderLookup;
 18 import net.minecraft.core.Vec3i;
 19 import net.minecraft.core.registries.Registries;
 20 import net.minecraft.data.CachedOutput;
 21 import net.minecraft.data.structures.NbtToSnbt;
 22 import net.minecraft.gametest.framework.FailedTestTracker;
 23 import net.minecraft.gametest.framework.GameTestInfo;
 24 import net.minecraft.gametest.framework.GameTestInstance;
 25 import net.minecraft.gametest.framework.GameTestRunner;
 26 import net.minecraft.gametest.framework.GameTestTicker;
 27 import net.minecraft.gametest.framework.RetryOptions;
 28 import net.minecraft.gametest.framework.StructureUtils;
 29 import net.minecraft.gametest.framework.TestCommand;
 30 import net.minecraft.nbt.CompoundTag;
 31 import net.minecraft.nbt.NbtOps;
 32 import net.minecraft.nbt.Tag;
 33 import net.minecraft.network.RegistryFriendlyByteBuf;
 34 import net.minecraft.network.chat.Component;
 35 import net.minecraft.network.chat.ComponentSerialization;
 36 import net.minecraft.network.codec.ByteBufCodecs;
 37 import net.minecraft.network.codec.StreamCodec;
 38 import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket;
 39 import net.minecraft.resources.ResourceKey;
 40 import net.minecraft.resources.ResourceLocation;
 41 import net.minecraft.server.level.ServerLevel;
 42 import net.minecraft.util.ARGB;
 43 import net.minecraft.util.ByIdMap;
 44 import net.minecraft.util.StringRepresentable;
 45 import net.minecraft.world.entity.Entity;
 46 import net.minecraft.world.level.block.Blocks;
 47 import net.minecraft.world.level.block.Rotation;
 48 import net.minecraft.world.level.block.state.BlockState;
 49 import net.minecraft.world.level.levelgen.structure.BoundingBox;
 50 import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings;
 51 import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate;
 52 import net.minecraft.world.phys.AABB;
 53 
 54 public class TestInstanceBlockEntity extends BlockEntity implements BeaconBeamOwner, BoundingBoxRenderable {
 55    private static final Component INVALID_TEST_NAME = Component.translatable("test_instance_block.invalid_test");
 56    private static final List<BeaconBeamOwner.Section> BEAM_CLEARED = List.of();
 57    private static final List<BeaconBeamOwner.Section> BEAM_RUNNING = List.of(new BeaconBeamOwner.Section(ARGB.color(128, 128, 128)));
 58    private static final List<BeaconBeamOwner.Section> BEAM_SUCCESS = List.of(new BeaconBeamOwner.Section(ARGB.color(0, 255, 0)));
 59    private static final List<BeaconBeamOwner.Section> BEAM_REQUIRED_FAILED = List.of(new BeaconBeamOwner.Section(ARGB.color(255, 0, 0)));
 60    private static final List<BeaconBeamOwner.Section> BEAM_OPTIONAL_FAILED = List.of(new BeaconBeamOwner.Section(ARGB.color(255, 128, 0)));
 61    private static final Vec3i STRUCTURE_OFFSET = new Vec3i(0, 1, 1);
 62    private TestInstanceBlockEntity.Data data = new TestInstanceBlockEntity.Data(
 63       Optional.empty(), Vec3i.ZERO, Rotation.NONE, false, TestInstanceBlockEntity.Status.CLEARED, Optional.empty()
 64    );
 65 
 66    public TestInstanceBlockEntity(BlockPos $$0, BlockState $$1) {
 67       super(BlockEntityType.TEST_INSTANCE_BLOCK, $$0, $$1);
 68    }
 69 
 70    public void set(TestInstanceBlockEntity.Data $$0) {
 71       this.data = $$0;
 72       this.setChanged();
 73    }
 74 
 75    public static Optional<Vec3i> getStructureSize(ServerLevel $$0, ResourceKey<GameTestInstance> $$1) {
 76       return getStructureTemplate($$0, $$1).map(StructureTemplate::getSize);
 77    }
 78 
 79    public BoundingBox getStructureBoundingBox() {
 80       BlockPos $$0 = this.getStructurePos();
 81       BlockPos $$1 = $$0.offset(this.getTransformedSize()).offset(-1, -1, -1);
 82       return BoundingBox.fromCorners($$0, $$1);
 83    }
 84 
 85    public AABB getStructureBounds() {
 86       return AABB.of(this.getStructureBoundingBox());
 87    }
 88 
 89    private static Optional<StructureTemplate> getStructureTemplate(ServerLevel $$0, ResourceKey<GameTestInstance> $$1) {
 90       return $$0.registryAccess().get($$1).map($$0x -> ((GameTestInstance)$$0x.value()).structure()).flatMap($$1x -> $$0.getStructureManager().get($$1x));
 91    }
 92 
 93    public Optional<ResourceKey<GameTestInstance>> test() {
 94       return this.data.test();
 95    }
 96 
 97    public Component getTestName() {
 98       return this.test().map($$0 -> Component.literal($$0.location().toString())).orElse(INVALID_TEST_NAME);
 99    }
100 
101    private Optional<Holder.Reference<GameTestInstance>> getTestHolder() {
102       return this.test().flatMap(this.level.registryAccess()::get);
103    }
104 
105    public boolean ignoreEntities() {
106       return this.data.ignoreEntities();
107    }
108 
109    public Vec3i getSize() {
110       return this.data.size();
111    }
112 
113    public Rotation getRotation() {
114       return this.getTestHolder().map(Holder::value).map(GameTestInstance::rotation).orElse(Rotation.NONE).getRotated(this.data.rotation());
115    }
116 
117    public Optional<Component> errorMessage() {
118       return this.data.errorMessage();
119    }
120 
121    public void setErrorMessage(Component $$0) {
122       this.set(this.data.withError($$0));
123    }
124 
125    public void setSuccess() {
126       this.set(this.data.withStatus(TestInstanceBlockEntity.Status.FINISHED));
127       this.removeBarriers();
128    }
129 
130    public void setRunning() {
131       this.set(this.data.withStatus(TestInstanceBlockEntity.Status.RUNNING));
132    }
133 
134    @Override
135    public void setChanged() {
136       super.setChanged();
137       if (this.level instanceof ServerLevel) {
138          this.level.sendBlockUpdated(this.getBlockPos(), Blocks.AIR.defaultBlockState(), this.getBlockState(), 3);
139       }
140    }
141 
142    public ClientboundBlockEntityDataPacket getUpdatePacket() {
143       return ClientboundBlockEntityDataPacket.create(this);
144    }
145 
146    @Override
147    public CompoundTag getUpdateTag(HolderLookup.Provider $$0) {
148       CompoundTag $$1 = new CompoundTag();
149       this.saveAdditional($$1, $$0);
150       return $$1;
151    }
152 
153    @Override
154    protected void loadAdditional(CompoundTag $$0, HolderLookup.Provider $$1) {
155       Tag $$2 = $$0.get("data");
156       if ($$2 != null) {
157          TestInstanceBlockEntity.Data.CODEC.parse(NbtOps.INSTANCE, $$2).ifSuccess(this::set);
158       }
159    }
160 
161    @Override
162    protected void saveAdditional(CompoundTag $$0, HolderLookup.Provider $$1) {
163       DataResult<Tag> $$2 = TestInstanceBlockEntity.Data.CODEC.encode(this.data, NbtOps.INSTANCE, new CompoundTag());
164       $$2.ifSuccess($$1x -> $$0.put("data", $$1x));
165    }
166 
167    @Override
168    public BoundingBoxRenderable.Mode renderMode() {
169       return BoundingBoxRenderable.Mode.BOX;
170    }
171 
172    public BlockPos getStructurePos() {
173       return getStructurePos(this.getBlockPos());
174    }
175 
176    public static BlockPos getStructurePos(BlockPos $$0) {
177       return $$0.offset(STRUCTURE_OFFSET);
178    }
179 
180    @Override
181    public BoundingBoxRenderable.RenderableBox getRenderableBox() {
182       return new BoundingBoxRenderable.RenderableBox(new BlockPos(STRUCTURE_OFFSET), this.getTransformedSize());
183    }
184 
185    @Override
186    public List<BeaconBeamOwner.Section> getBeamSections() {
187       return switch (this.data.status()) {
188          case CLEARED -> BEAM_CLEARED;
189          case RUNNING -> BEAM_RUNNING;
190          case FINISHED -> this.errorMessage().isEmpty()
191          ? BEAM_SUCCESS
192          : (this.getTestHolder().map(Holder::value).map(GameTestInstance::required).orElse(true) ? BEAM_REQUIRED_FAILED : BEAM_OPTIONAL_FAILED);
193       };
194    }
195 
196    private Vec3i getTransformedSize() {
197       Vec3i $$0 = this.getSize();
198       Rotation $$1 = this.getRotation();
199       boolean $$2 = $$1 == Rotation.CLOCKWISE_90 || $$1 == Rotation.COUNTERCLOCKWISE_90;
200       int $$3 = $$2 ? $$0.getZ() : $$0.getX();
201       int $$4 = $$2 ? $$0.getX() : $$0.getZ();
202       return new Vec3i($$3, $$0.getY(), $$4);
203    }
204 
205    public void resetTest(Consumer<Component> $$0) {
206       this.removeBarriers();
207       boolean $$1 = this.placeStructure();
208       if ($$1) {
209          $$0.accept(Component.translatable("test_instance_block.reset_success", this.getTestName()).withStyle(ChatFormatting.GREEN));
210       }
211 
212       this.set(this.data.withStatus(TestInstanceBlockEntity.Status.CLEARED));
213    }
214 
215    public Optional<ResourceLocation> saveTest(Consumer<Component> $$0) {
216       Optional<Holder.Reference<GameTestInstance>> $$1 = this.getTestHolder();
217       Optional<ResourceLocation> $$2;
218       if ($$1.isPresent()) {
219          $$2 = Optional.of($$1.get().value().structure());
220       } else {
221          $$2 = this.test().map(ResourceKey::location);
222       }
223 
224       if ($$2.isEmpty()) {
225          BlockPos $$4 = this.getBlockPos();
226          $$0.accept(Component.translatable("test_instance_block.error.unable_to_save", $$4.getX(), $$4.getY(), $$4.getZ()).withStyle(ChatFormatting.RED));
227          return $$2;
228       } else {
229          if (this.level instanceof ServerLevel $$5) {
230             StructureBlockEntity.saveStructure($$5, $$2.get(), this.getStructurePos(), this.getSize(), this.ignoreEntities(), "", true);
231          }
232 
233          return $$2;
234       }
235    }
236 
237    public boolean exportTest(Consumer<Component> $$0) {
238       Optional<ResourceLocation> $$1 = this.saveTest($$0);
239       return !$$1.isEmpty() && this.level instanceof ServerLevel $$2 ? export($$2, $$1.get(), $$0) : false;
240    }
241 
242    public static boolean export(ServerLevel $$0, ResourceLocation $$1, Consumer<Component> $$2) {
243       Path $$3 = StructureUtils.testStructuresDir;
244       Path $$4 = $$0.getStructureManager().createAndValidatePathToGeneratedStructure($$1, ".nbt");
245       Path $$5 = NbtToSnbt.convertStructure(CachedOutput.NO_CACHE, $$4, $$1.getPath(), $$3.resolve($$1.getNamespace()).resolve("structure"));
246       if ($$5 == null) {
247          $$2.accept(Component.literal("Failed to export " + $$4).withStyle(ChatFormatting.RED));
248          return true;
249       } else {
250          try {
251             FileUtil.createDirectoriesSafe($$5.getParent());
252          } catch (IOException var7) {
253             $$2.accept(Component.literal("Could not create folder " + $$5.getParent()).withStyle(ChatFormatting.RED));
254             return true;
255          }
256 
257          $$2.accept(Component.literal("Exported " + $$1 + " to " + $$5.toAbsolutePath()));
258          return false;
259       }
260    }
261 
262    public void runTest(Consumer<Component> $$0) {
263       if (this.level instanceof ServerLevel $$1) {
264          Optional var7 = this.getTestHolder();
265          BlockPos $$4 = this.getBlockPos();
266          if (var7.isEmpty()) {
267             $$0.accept(Component.translatable("test_instance_block.error.no_test", $$4.getX(), $$4.getY(), $$4.getZ()).withStyle(ChatFormatting.RED));
268          } else {
269             this.placeStructure();
270             GameTestRunner.clearMarkers($$1);
271             GameTestTicker.SINGLETON.clear();
272             FailedTestTracker.forgetFailedTests();
273             $$0.accept(Component.translatable("test_instance_block.starting", ((Holder.Reference)var7.get()).getRegisteredName()));
274             GameTestInfo $$5 = new GameTestInfo((Holder.Reference<GameTestInstance>)var7.get(), this.data.rotation(), $$1, RetryOptions.noRetries());
275             $$5.setTestBlockPos($$4);
276             GameTestRunner $$6 = GameTestRunner.Builder.fromInfo(List.of($$5), $$1).build();
277             TestCommand.trackAndStartRunner($$1.getServer().createCommandSourceStack(), $$6);
278          }
279       }
280    }
281 
282    public boolean placeStructure() {
283       if (this.level instanceof ServerLevel $$0) {
284          Optional<StructureTemplate> $$1 = this.data.test().flatMap($$1x -> getStructureTemplate($$0, (ResourceKey<GameTestInstance>)$$1x));
285          if ($$1.isPresent()) {
286             this.placeStructure($$0, $$1.get());
287             return true;
288          }
289       }
290 
291       return false;
292    }
293 
294    private void placeStructure(ServerLevel $$0, StructureTemplate $$1) {
295       StructurePlaceSettings $$2 = new StructurePlaceSettings()
296          .setRotation(this.getRotation())
297          .setIgnoreEntities(this.data.ignoreEntities())
298          .setKnownShape(true);
299       BlockPos $$3 = this.getStartCorner();
300       this.forceLoadChunks();
301       this.removeEntities();
302       $$1.placeInWorld($$0, $$3, $$3, $$2, $$0.getRandom(), 306);
303    }
304 
305    private void removeEntities() {
306       this.level.getEntities(null, this.getStructureBounds()).forEach(Entity::discard);
307    }
308 
309    private void forceLoadChunks() {
310       if (this.level instanceof ServerLevel $$0) {
311          this.getStructureBoundingBox().intersectingChunks().forEach($$1 -> $$0.setChunkForced($$1.x, $$1.z, true));
312       }
313    }
314 
315    public BlockPos getStartCorner() {
316       Vec3i $$0 = this.getSize();
317       Rotation $$1 = this.getRotation();
318       BlockPos $$2 = this.getStructurePos();
319 
320       return switch ($$1) {
321          case NONE -> $$2;
322          case CLOCKWISE_90 -> $$2.offset($$0.getZ() - 1, 0, 0);
323          case CLOCKWISE_180 -> $$2.offset($$0.getX() - 1, 0, $$0.getZ() - 1);
324          case COUNTERCLOCKWISE_90 -> $$2.offset(0, 0, $$0.getX() - 1);
325       };
326    }
327 
328    public void encaseStructure() {
329       this.processStructureBoundary($$0 -> {
330          if (!this.level.getBlockState($$0).is(Blocks.TEST_INSTANCE_BLOCK)) {
331             this.level.setBlockAndUpdate($$0, Blocks.BARRIER.defaultBlockState());
332          }
333       });
334    }
335 
336    public void removeBarriers() {
337       this.processStructureBoundary($$0 -> {
338          if (this.level.getBlockState($$0).is(Blocks.BARRIER)) {
339             this.level.setBlockAndUpdate($$0, Blocks.AIR.defaultBlockState());
340          }
341       });
342    }
343 
344    public void processStructureBoundary(Consumer<BlockPos> $$0) {
345       AABB $$1 = this.getStructureBounds();
346       boolean $$2 = !this.getTestHolder().map($$0x -> ((GameTestInstance)$$0x.value()).skyAccess()).orElse(false);
347       BlockPos $$3 = BlockPos.containing($$1.minX, $$1.minY, $$1.minZ).offset(-1, -1, -1);
348       BlockPos $$4 = BlockPos.containing($$1.maxX, $$1.maxY, $$1.maxZ);
349       BlockPos.betweenClosedStream($$3, $$4)
350          .forEach(
351             $$4x -> {
352                boolean $$5 = $$4x.getX() == $$3.getX()
353                   || $$4x.getX() == $$4.getX()
354                   || $$4x.getZ() == $$3.getZ()
355                   || $$4x.getZ() == $$4.getZ()
356                   || $$4x.getY() == $$3.getY();
357                boolean $$6 = $$4x.getY() == $$4.getY();
358                if ($$5 || $$6 && $$2) {
359                   $$0.accept($$4x);
360                }
361             }
362          );
363    }
364 
365    public static record Data(
366       Optional<ResourceKey<GameTestInstance>> test,
367       Vec3i size,
368       Rotation rotation,
369       boolean ignoreEntities,
370       TestInstanceBlockEntity.Status status,
371       Optional<Component> errorMessage
372    ) {
373       public static final Codec<TestInstanceBlockEntity.Data> CODEC = RecordCodecBuilder.create(
374          $$0 -> $$0.group(
375                   ResourceKey.codec(Registries.TEST_INSTANCE).optionalFieldOf("test").forGetter(TestInstanceBlockEntity.Data::test),
376                   Vec3i.CODEC.fieldOf("size").forGetter(TestInstanceBlockEntity.Data::size),
377                   Rotation.CODEC.fieldOf("rotation").forGetter(TestInstanceBlockEntity.Data::rotation),
378                   Codec.BOOL.fieldOf("ignore_entities").forGetter(TestInstanceBlockEntity.Data::ignoreEntities),
379                   TestInstanceBlockEntity.Status.CODEC.fieldOf("status").forGetter(TestInstanceBlockEntity.Data::status),
380                   ComponentSerialization.CODEC.optionalFieldOf("error_message").forGetter(TestInstanceBlockEntity.Data::errorMessage)
381                )
382                .apply($$0, TestInstanceBlockEntity.Data::new)
383       );
384       public static final StreamCodec<RegistryFriendlyByteBuf, TestInstanceBlockEntity.Data> STREAM_CODEC = StreamCodec.composite(
385          ByteBufCodecs.optional(ResourceKey.streamCodec(Registries.TEST_INSTANCE)),
386          TestInstanceBlockEntity.Data::test,
387          Vec3i.STREAM_CODEC,
388          TestInstanceBlockEntity.Data::size,
389          Rotation.STREAM_CODEC,
390          TestInstanceBlockEntity.Data::rotation,
391          ByteBufCodecs.BOOL,
392          TestInstanceBlockEntity.Data::ignoreEntities,
393          TestInstanceBlockEntity.Status.STREAM_CODEC,
394          TestInstanceBlockEntity.Data::status,
395          ByteBufCodecs.optional(ComponentSerialization.STREAM_CODEC),
396          TestInstanceBlockEntity.Data::errorMessage,
397          TestInstanceBlockEntity.Data::new
398       );
399 
400       public TestInstanceBlockEntity.Data withSize(Vec3i $$0) {
401          return new TestInstanceBlockEntity.Data(this.test, $$0, this.rotation, this.ignoreEntities, this.status, this.errorMessage);
402       }
403 
404       public TestInstanceBlockEntity.Data withStatus(TestInstanceBlockEntity.Status $$0) {
405          return new TestInstanceBlockEntity.Data(this.test, this.size, this.rotation, this.ignoreEntities, $$0, Optional.empty());
406       }
407 
408       public TestInstanceBlockEntity.Data withError(Component $$0) {
409          return new TestInstanceBlockEntity.Data(
410             this.test, this.size, this.rotation, this.ignoreEntities, TestInstanceBlockEntity.Status.FINISHED, Optional.of($$0)
411          );
412       }
413    }
414 
415    public static enum Status implements StringRepresentable {
416       CLEARED("cleared", 0),
417       RUNNING("running", 1),
418       FINISHED("finished", 2);
419 
420       private static final IntFunction<TestInstanceBlockEntity.Status> ID_MAP = ByIdMap.continuous($$0 -> $$0.index, values(), ByIdMap.OutOfBoundsStrategy.ZERO);
421       public static final Codec<TestInstanceBlockEntity.Status> CODEC = StringRepresentable.fromEnum(TestInstanceBlockEntity.Status::values);
422       public static final StreamCodec<ByteBuf, TestInstanceBlockEntity.Status> STREAM_CODEC = ByteBufCodecs.idMapper(
423          TestInstanceBlockEntity.Status::byIndex, $$0 -> $$0.index
424       );
425       private final String id;
426       private final int index;
427 
428       private Status(final String $$0, final int $$1) {
429          this.id = $$0;
430          this.index = $$1;
431       }
432 
433       @Override
434       public String getSerializedName() {
435          return this.id;
436       }
437 
438       public static TestInstanceBlockEntity.Status byIndex(int $$0) {
439          return ID_MAP.apply($$0);
440       }
441    }
442 }
443 

net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java --- Java
159       $$0.updateNeighborsAt($$1, $$2.getBlock());                      159       $$0.updateNeighborsAt($$1, $$2.getBlock());
160    }                                                                   160    }
...                                                                        161 
...                                                                        162    @Override
...                                                                        163    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
...                                                                        164    }
161                                                                        165 
162    @Override                                                           166    @Override
163    public void startOpen(Player $$0) {                                 167    public void startOpen(Player $$0) {

net/minecraft/world/level/block/entity/BlockEntityType.java --- Java
228    public static final BlockEntityType<CrafterBlockEntity> CRAFTER = r 228    public static final BlockEntityType<CrafterBlockEntity> CRAFTER = r
... egister("crafter", CrafterBlockEntity::new, Blocks.CRAFTER);           ... egister("crafter", CrafterBlockEntity::new, Blocks.CRAFTER);
229    public static final BlockEntityType<TrialSpawnerBlockEntity> TRIAL_ 229    public static final BlockEntityType<TrialSpawnerBlockEntity> TRIAL_
... SPAWNER = register("trial_spawner", TrialSpawnerBlockEntity::new, Bloc ... SPAWNER = register("trial_spawner", TrialSpawnerBlockEntity::new, Bloc
... ks.TRIAL_SPAWNER);                                                     ... ks.TRIAL_SPAWNER);
230    public static final BlockEntityType<VaultBlockEntity> VAULT = regis 230    public static final BlockEntityType<VaultBlockEntity> VAULT = regis
... ter("vault", VaultBlockEntity::new, Blocks.VAULT);                     ... ter("vault", VaultBlockEntity::new, Blocks.VAULT);
...                                                                        231    public static final BlockEntityType<TestBlockEntity> TEST_BLOCK = r
...                                                                        ... egister("test_block", TestBlockEntity::new, Blocks.TEST_BLOCK);
...                                                                        232    public static final BlockEntityType<TestInstanceBlockEntity> TEST_I
...                                                                        ... NSTANCE_BLOCK = register(
...                                                                        233       "test_instance_block", TestInstanceBlockEntity::new, Blocks.TEST
...                                                                        ... _INSTANCE_BLOCK
...                                                                        234    );
231    private static final Set<BlockEntityType<?>> OP_ONLY_CUSTOM_DATA =  235    private static final Set<BlockEntityType<?>> OP_ONLY_CUSTOM_DATA = 
... Set.of(COMMAND_BLOCK, LECTERN, SIGN, HANGING_SIGN, MOB_SPAWNER, TRIAL_ ... Set.of(COMMAND_BLOCK, LECTERN, SIGN, HANGING_SIGN, MOB_SPAWNER, TRIAL_
... SPAWNER);                                                              ... SPAWNER);
232    private final BlockEntityType.BlockEntitySupplier<? extends T> fact 236    private final BlockEntityType.BlockEntitySupplier<? extends T> fact
... ory;                                                                   ... ory;
233    private final Set<Block> validBlocks;                               237    private final Set<Block> validBlocks;

net/minecraft/util/random/WeightedList.java --- Java
93       return ExtraCodecs.nonEmptyList(Weighted.codec($$0).listOf()).xma  93       return ExtraCodecs.nonEmptyList(Weighted.codec($$0).listOf()).xma
.. p(WeightedList::of, WeightedList::unwrap);                               .. p(WeightedList::of, WeightedList::unwrap);
94    }                                                                     94    }
..                                                                          95 
..                                                                          96    public boolean contains(E $$0) {
..                                                                          97       for (Weighted<E> $$1 : this.items) {
..                                                                          98          if ($$1.value().equals($$0)) {
..                                                                          99             return true;
..                                                                         100          }
..                                                                         101       }
..                                                                         102 
..                                                                         103       return false;
..                                                                         104    }
95                                                                         105 
96    @Override                                                            106    @Override
97    public boolean equals(@Nullable Object $$0) {                        107    public boolean equals(@Nullable Object $$0) {

net/minecraft/client/player/LocalPlayer.java --- 1/4 --- Java
23 import net.minecraft.client.gui.screens.inventory.MinecartCommandBlockE 23 import net.minecraft.client.gui.screens.inventory.MinecartCommandBlockE
.. ditScreen;                                                              .. ditScreen;
24 import net.minecraft.client.gui.screens.inventory.SignEditScreen;       24 import net.minecraft.client.gui.screens.inventory.SignEditScreen;
25 import net.minecraft.client.gui.screens.inventory.StructureBlockEditScr 25 import net.minecraft.client.gui.screens.inventory.StructureBlockEditScr
.. een;                                                                    .. een;
..                                                                         26 import net.minecraft.client.gui.screens.inventory.TestBlockEditScreen;
..                                                                         27 import net.minecraft.client.gui.screens.inventory.TestInstanceBlockEdit
..                                                                         .. Screen;
26 import net.minecraft.client.multiplayer.ClientLevel;                    28 import net.minecraft.client.multiplayer.ClientLevel;
27 import net.minecraft.client.multiplayer.ClientPacketListener;           29 import net.minecraft.client.multiplayer.ClientPacketListener;
28 import net.minecraft.client.resources.sounds.AmbientSoundHandler;       30 import net.minecraft.client.resources.sounds.AmbientSoundHandler;

net/minecraft/client/player/LocalPlayer.java --- 2/4 --- Java
80 import net.minecraft.world.level.block.entity.JigsawBlockEntity;        82 import net.minecraft.world.level.block.entity.JigsawBlockEntity;
81 import net.minecraft.world.level.block.entity.SignBlockEntity;          83 import net.minecraft.world.level.block.entity.SignBlockEntity;
82 import net.minecraft.world.level.block.entity.StructureBlockEntity;     84 import net.minecraft.world.level.block.entity.StructureBlockEntity;
..                                                                         85 import net.minecraft.world.level.block.entity.TestBlockEntity;
..                                                                         86 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
83 import net.minecraft.world.level.block.state.BlockState;                87 import net.minecraft.world.level.block.state.BlockState;
84 import net.minecraft.world.phys.AABB;                                   88 import net.minecraft.world.phys.AABB;
85 import net.minecraft.world.phys.Vec2;                                   89 import net.minecraft.world.phys.Vec2;

net/minecraft/client/player/LocalPlayer.java --- 3/4 --- Java
562       this.minecraft.setScreen(new StructureBlockEditScreen($$0));     566       this.minecraft.setScreen(new StructureBlockEditScreen($$0));
563    }                                                                   567    }
...                                                                        568 
...                                                                        569    @Override
...                                                                        570    public void openTestBlock(TestBlockEntity $$0) {
...                                                                        571       this.minecraft.setScreen(new TestBlockEditScreen($$0));
...                                                                        572    }
...                                                                        573 
...                                                                        574    @Override
...                                                                        575    public void openTestInstanceBlock(TestInstanceBlockEntity $$0) {
...                                                                        576       this.minecraft.setScreen(new TestInstanceBlockEditScreen($$0));
...                                                                        577    }
564                                                                        578 
565    @Override                                                           579    @Override
566    public void openJigsawBlock(JigsawBlockEntity $$0) {                580    public void openJigsawBlock(JigsawBlockEntity $$0) {

net/minecraft/client/player/LocalPlayer.java --- 4/4 --- Java
1041                                                                       1055 
1042    private boolean hasEnoughImpulseToStartSprinting() {               1056    private boolean hasEnoughImpulseToStartSprinting() {
1043       double $$0 = 0.8;                                               1057       double $$0 = 0.8;
1044       return this.isUnderWater() ? this.input.hasForwardImpulse() : ( 1058       return this.input.hasForwardImpulse() && (this.isUnderWater() |
.... double)this.input.getMoveVector().y >= 0.8;                           .... | (double)this.input.getMoveVector().length() >= 0.8);
1045    }                                                                  1059    }
1046                                                                       1060 
1047    private boolean hasEnoughFoodToStartSprinting() {                  1061    private boolean hasEnoughFoodToStartSprinting() {

net/minecraft/gametest/framework/StructureGridSpawner.java --- 1/2 --- Java
32    public void onBatchStart(ServerLevel $$0) {                          32    public void onBatchStart(ServerLevel $$0) {
33       if (this.clearOnBatch) {                                          33       if (this.clearOnBatch) {
34          this.testInLastBatch.forEach($$1 -> {                          34          this.testInLastBatch.forEach($$1 -> {
35             BoundingBox $$2 = StructureUtils.getStructureBoundingBox($$ 35             BoundingBox $$2 = $$1.getTestInstanceBlockEntity().getStruc
.. 1.getStructureBlockEntity());                                           .. tureBoundingBox();
36             StructureUtils.clearSpaceForStructure($$2, $$0);            36             StructureUtils.clearSpaceForStructure($$2, $$0);
37          });                                                            37          });
38          this.testInLastBatch.clear();                                  38          this.testInLastBatch.clear();

net/minecraft/gametest/framework/StructureGridSpawner.java --- 2/2 --- Java
44    @Override                                                            44    @Override
45    public Optional<GameTestInfo> spawnStructure(GameTestInfo $$0) {     45    public Optional<GameTestInfo> spawnStructure(GameTestInfo $$0) {
46       BlockPos $$1 = new BlockPos(this.nextTestNorthWestCorner);        46       BlockPos $$1 = new BlockPos(this.nextTestNorthWestCorner);
47       $$0.setNorthWestCorner($$1);                                      47       $$0.setTestBlockPos($$1);
48       $$0.prepareTestStructure();                                       48       $$0.prepareTestStructure().startExecution(1);
49       AABB $$2 = StructureUtils.getStructureBounds($$0.getStructureBloc 49       AABB $$2 = $$0.getTestInstanceBlockEntity().getStructureBounds();
.. kEntity());                                                             .. 
50       this.rowBounds = this.rowBounds.minmax($$2);                      50       this.rowBounds = this.rowBounds.minmax($$2);
51       this.nextTestNorthWestCorner.move((int)$$2.getXsize() + 5, 0, 0); 51       this.nextTestNorthWestCorner.move((int)$$2.getXsize() + 5, 0, 0);
52       if ((float)this.nextTestNorthWestCorner.getX() > this.maxX) {     52       if ((float)this.nextTestNorthWestCorner.getX() > this.maxX) {

net/minecraft/util/datafix/schemas/V2502.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:hoglin", () -> V100.equipment($$0)); 16       $$0.registerSimple($$1, "minecraft:hoglin");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/world/level/block/entity/LecternBlockEntity.java --- Java
223    }                                                                   223    }
224                                                                        224 
225    @Override                                                           225    @Override
226    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 226    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
227       if ($$1.getValue(LecternBlock.HAS_BOOK) && this.level != null) { 227       if ($$1.getValue(LecternBlock.HAS_BOOK) && this.level != null) {
228          Direction $$3 = $$1.getValue(LecternBlock.FACING);            228          Direction $$2 = $$1.getValue(LecternBlock.FACING);
229          ItemStack $$4 = this.getBook().copy();                        229          ItemStack $$3 = this.getBook().copy();
230          float $$5 = 0.25F * (float)$$3.getStepX();                    230          float $$4 = 0.25F * (float)$$2.getStepX();
231          float $$6 = 0.25F * (float)$$3.getStepZ();                    231          float $$5 = 0.25F * (float)$$2.getStepZ();
232          ItemEntity $$7 = new ItemEntity(                              232          ItemEntity $$6 = new ItemEntity(
233             this.level, (double)$$0.getX() + 0.5 + (double)$$5, (doubl 233             this.level, (double)$$0.getX() + 0.5 + (double)$$4, (doubl
... e)($$0.getY() + 1), (double)$$0.getZ() + 0.5 + (double)$$6, $$4        ... e)($$0.getY() + 1), (double)$$0.getZ() + 0.5 + (double)$$5, $$3
234          );                                                            234          );
235          $$7.setDefaultPickUpDelay();                                  235          $$6.setDefaultPickUpDelay();
236          this.level.addFreshEntity($$7);                               236          this.level.addFreshEntity($$6);
237       }                                                                237       }
238    }                                                                   238    }
239                                                                        239 

net/minecraft/advancements/critereon/SheepPredicate.java --- 1/2 --- Java
 8 import net.minecraft.server.level.ServerLevel;                           8 import net.minecraft.server.level.ServerLevel;
 9 import net.minecraft.world.entity.Entity;                                9 import net.minecraft.world.entity.Entity;
10 import net.minecraft.world.entity.animal.Sheep;                         10 import net.minecraft.world.entity.animal.Sheep;
11 import net.minecraft.world.item.DyeColor;                               .. 
12 import net.minecraft.world.phys.Vec3;                                   11 import net.minecraft.world.phys.Vec3;
13                                                                         12 
14 public record SheepPredicate(Optional<Boolean> sheared, Optional<DyeCol 13 public record SheepPredicate(Optional<Boolean> sheared) implements Enti
.. or> color) implements EntitySubPredicate {                              .. tySubPredicate {
15    public static final MapCodec<SheepPredicate> CODEC = RecordCodecBuil 14    public static final MapCodec<SheepPredicate> CODEC = RecordCodecBuil
.. der.mapCodec(                                                           .. der.mapCodec(
16       $$0 -> $$0.group(                                                 15       $$0 -> $$0.group(Codec.BOOL.optionalFieldOf("sheared").forGetter(
..                                                                         .. SheepPredicate::sheared)).apply($$0, SheepPredicate::new)
17                Codec.BOOL.optionalFieldOf("sheared").forGetter(SheepPre .. 
.. dicate::sheared),                                                       .. 
18                DyeColor.CODEC.optionalFieldOf("color").forGetter(SheepP .. 
.. redicate::color)                                                        .. 
19             )                                                           .. 
20             .apply($$0, SheepPredicate::new)                            .. 
21    );                                                                   16    );

net/minecraft/advancements/critereon/SheepPredicate.java --- 2/2 --- Java
27                                                                         22 
28    @Override                                                            23    @Override
29    public boolean matches(Entity $$0, ServerLevel $$1, @Nullable Vec3 $ 24    public boolean matches(Entity $$0, ServerLevel $$1, @Nullable Vec3 $
.. $2) {                                                                   .. $2) {
30       if ($$0 instanceof Sheep $$3) {                                   25       return $$0 instanceof Sheep $$3 ? !this.sheared.isPresent() || $$
..                                                                         .. 3.isSheared() == this.sheared.get() : false;
31          return this.sheared.isPresent() && $$3.isSheared() != this.she .. 
.. ared.get() ? false : !this.color.isPresent() || $$3.getColor() == this. .. 
.. color.get();                                                            .. 
32       } else {                                                          .. 
33          return false;                                                  .. 
34       }                                                                 .. 
35    }                                                                    26    }
36                                                                         27 
37    public static SheepPredicate hasWool(DyeColor $$0) {                 28    public static SheepPredicate hasWool() {
38       return new SheepPredicate(Optional.of(false), Optional.of($$0));  29       return new SheepPredicate(Optional.of(false));
39    }                                                                    30    }
40 }                                                                       31 }

net/minecraft/world/entity/monster/ZombieVillager.java --- 1/2 --- Java
71                                                                         71 
72    public ZombieVillager(EntityType<? extends ZombieVillager> $$0, Leve 72    public ZombieVillager(EntityType<? extends ZombieVillager> $$0, Leve
.. l $$1) {                                                                .. l $$1) {
73       super($$0, $$1);                                                  73       super($$0, $$1);
74       BuiltInRegistries.VILLAGER_PROFESSION                             74       BuiltInRegistries.VILLAGER_PROFESSION.getRandom(this.random).ifPr
..                                                                         .. esent($$0x -> this.setVillagerData(this.getVillagerData().withProfessio
..                                                                         .. n($$0x)));
75          .getRandom(this.random)                                        .. 
76          .ifPresent($$0x -> this.setVillagerData(this.getVillagerData() .. 
.. .setProfession((VillagerProfession)$$0x.value())));                     .. 
77    }                                                                    75    }
78                                                                         76 
79    @Override                                                            77    @Override
80    protected void defineSynchedData(SynchedEntityData.Builder $$0) {    78    protected void defineSynchedData(SynchedEntityData.Builder $$0) {
81       super.defineSynchedData($$0);                                     79       super.defineSynchedData($$0);
82       $$0.define(DATA_CONVERTING_ID, false);                            80       $$0.define(DATA_CONVERTING_ID, false);
83       $$0.define(DATA_VILLAGER_DATA, new VillagerData(VillagerType.PLAI 81       $$0.define(
.. NS, VillagerProfession.NONE, 1));                                       .. 
..                                                                         82          DATA_VILLAGER_DATA,
..                                                                         83          new VillagerData(
..                                                                         84             BuiltInRegistries.VILLAGER_TYPE.getOrThrow(VillagerType.PLA
..                                                                         .. INS), BuiltInRegistries.VILLAGER_PROFESSION.getOrThrow(VillagerProfessi
..                                                                         .. on.NONE), 1
..                                                                         85          )
..                                                                         86       );
84    }                                                                    87    }

net/minecraft/world/entity/monster/ZombieVillager.java --- 2/2 --- Java
314    @Nullable                                                           317    @Nullable
315    @Override                                                           318    @Override
316    public SpawnGroupData finalizeSpawn(ServerLevelAccessor $$0, Diffic 319    public SpawnGroupData finalizeSpawn(ServerLevelAccessor $$0, Diffic
... ultyInstance $$1, EntitySpawnReason $$2, @Nullable SpawnGroupData $$3) ... ultyInstance $$1, EntitySpawnReason $$2, @Nullable SpawnGroupData $$3)
...  {                                                                     ...  {
317       this.setVillagerData(this.getVillagerData().setType(VillagerType 320       this.setVillagerData(this.getVillagerData().withType($$0.registr
... .byBiome($$0.getBiome(this.blockPosition()))));                        ... yAccess(), VillagerType.byBiome($$0.getBiome(this.blockPosition()))));
318       return super.finalizeSpawn($$0, $$1, $$2, $$3);                  321       return super.finalizeSpawn($$0, $$1, $$2, $$3);
319    }                                                                   322    }
320                                                                        323 
321    @Override                                                           324    @Override
322    public void setVillagerData(VillagerData $$0) {                     325    public void setVillagerData(VillagerData $$0) {
323       VillagerData $$1 = this.getVillagerData();                       326       VillagerData $$1 = this.getVillagerData();
324       if ($$1.getProfession() != $$0.getProfession()) {                327       if (!$$1.profession().equals($$0.profession())) {
325          this.tradeOffers = null;                                      328          this.tradeOffers = null;
326       }                                                                329       }
327                                                                        330 

net/minecraft/world/level/block/entity/StructureBlockEntity.java --- 1/3 --- Java
31 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru 31 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru
.. ctureTemplate;                                                          .. ctureTemplate;
32 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru 32 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru
.. ctureTemplateManager;                                                   .. ctureTemplateManager;
33                                                                         33 
34 public class StructureBlockEntity extends BlockEntity {                 34 public class StructureBlockEntity extends BlockEntity implements Boundi
..                                                                         .. ngBoxRenderable {
35    private static final int SCAN_CORNER_BLOCKS_RANGE = 5;               35    private static final int SCAN_CORNER_BLOCKS_RANGE = 5;
36    public static final int MAX_OFFSET_PER_AXIS = 48;                    36    public static final int MAX_OFFSET_PER_AXIS = 48;
37    public static final int MAX_SIZE_PER_AXIS = 48;                      37    public static final int MAX_SIZE_PER_AXIS = 48;

net/minecraft/world/level/block/entity/StructureBlockEntity.java --- 2/3 --- Java
323       return this.mode != StructureMode.SAVE ? false : this.saveStruct 323       return this.mode != StructureMode.SAVE ? false : this.saveStruct
... ure(true);                                                             ... ure(true);
324    }                                                                   324    }
325                                                                        325 
326    public boolean saveStructure(boolean $$0) {                         326    public boolean saveStructure(boolean $$0) {
327       if (this.structureName == null) {                                327       if (this.structureName != null && this.level instanceof ServerLe
...                                                                        ... vel $$1) {
328          return false;                                                 328          BlockPos var4 = this.getBlockPos().offset(this.structurePos);
329       } else {                                                         329          return saveStructure($$1, this.structureName, var4, this.stru
...                                                                        ... ctureSize, this.ignoreEntities, this.author, $$0);
...                                                                        330       } else {
...                                                                        331          return false;
...                                                                        332       }
...                                                                        333    }
...                                                                        334 
330          BlockPos $$1 = this.getBlockPos().offset(this.structurePos);  335    public static boolean saveStructure(ServerLevel $$0, ResourceLocati
...                                                                        ... on $$1, BlockPos $$2, Vec3i $$3, boolean $$4, String $$5, boolean $$6)
...                                                                        ...  {
331          ServerLevel $$2 = (ServerLevel)this.level;                    ... 
332          StructureTemplateManager $$3 = $$2.getStructureManager();     336       StructureTemplateManager $$7 = $$0.getStructureManager();
333                                                                        337 
334          StructureTemplate $$4;                                        338       StructureTemplate $$8;
335          try {                                                         339       try {
336             $$4 = $$3.getOrCreate(this.structureName);                 340          $$8 = $$7.getOrCreate($$1);
337          } catch (ResourceLocationException var8) {                    341       } catch (ResourceLocationException var11) {
338             return false;                                              342          return false;
339          }                                                             343       }
340                                                                        344 
341          $$4.fillFromWorld(this.level, $$1, this.structureSize, !this. 345       $$8.fillFromWorld($$0, $$2, $$3, !$$4, Blocks.STRUCTURE_VOID);
... ignoreEntities, Blocks.STRUCTURE_VOID);                                ... 
342          $$4.setAuthor(this.author);                                   346       $$8.setAuthor($$5);
343          if ($$0) {                                                    347       if ($$6) {
344             try {                                                      348          try {
345                return $$3.save(this.structureName);                    349             return $$7.save($$1);
346             } catch (ResourceLocationException var7) {                 350          } catch (ResourceLocationException var10) {
347                return false;                                           351             return false;
348             }                                                          352          }
349          } else {                                                      353       } else {
350             return true;                                               354          return true;
351          }                                                             355       }
352       }                                                                356    }
353    }                                                                   ... 
354                                                                        357 
355    public static RandomSource createRandom(long $$0) {                 358    public static RandomSource createRandom(long $$0) {
356       return $$0 == 0L ? RandomSource.create(Util.getMillis()) : Rando 359       return $$0 == 0L ? RandomSource.create(Util.getMillis()) : Rando
    mSource.create($$0);                                                       mSource.create($$0);

net/minecraft/world/level/block/entity/StructureBlockEntity.java --- 3/3 --- Java
463       this.showBoundingBox = $$0;                                      466       this.showBoundingBox = $$0;
464    }                                                                   467    }
...                                                                        468 
...                                                                        469    @Override
...                                                                        470    public BoundingBoxRenderable.Mode renderMode() {
...                                                                        471       if (this.mode != StructureMode.SAVE && this.mode != StructureMod
...                                                                        ... e.LOAD) {
...                                                                        472          return BoundingBoxRenderable.Mode.NONE;
...                                                                        473       } else if (this.mode == StructureMode.SAVE && this.showAir) {
...                                                                        474          return BoundingBoxRenderable.Mode.BOX_AND_INVISIBLE_BLOCKS;
...                                                                        475       } else {
...                                                                        476          return this.mode != StructureMode.SAVE && !this.showBoundingB
...                                                                        ... ox ? BoundingBoxRenderable.Mode.NONE : BoundingBoxRenderable.Mode.BOX;
...                                                                        477       }
...                                                                        478    }
...                                                                        479 
...                                                                        480    @Override
...                                                                        481    public BoundingBoxRenderable.RenderableBox getRenderableBox() {
...                                                                        482       BlockPos $$0 = this.getStructurePos();
...                                                                        483       Vec3i $$1 = this.getStructureSize();
...                                                                        484       int $$2 = $$0.getX();
...                                                                        485       int $$3 = $$0.getZ();
...                                                                        486       int $$4 = $$0.getY();
...                                                                        487       int $$5 = $$4 + $$1.getY();
...                                                                        488       int $$6;
...                                                                        489       int $$7;
...                                                                        490       switch (this.mirror) {
...                                                                        491          case LEFT_RIGHT:
...                                                                        492             $$6 = $$1.getX();
...                                                                        493             $$7 = -$$1.getZ();
...                                                                        494             break;
...                                                                        495          case FRONT_BACK:
...                                                                        496             $$6 = -$$1.getX();
...                                                                        497             $$7 = $$1.getZ();
...                                                                        498             break;
...                                                                        499          default:
...                                                                        500             $$6 = $$1.getX();
...                                                                        501             $$7 = $$1.getZ();
...                                                                        502       }
...                                                                        503 
...                                                                        504       int $$24;
...                                                                        505       int $$25;
...                                                                        506       int $$26;
...                                                                        507       int $$27;
...                                                                        508       switch (this.rotation) {
...                                                                        509          case CLOCKWISE_90:
...                                                                        510             $$24 = $$7 < 0 ? $$2 : $$2 + 1;
...                                                                        511             $$25 = $$6 < 0 ? $$3 + 1 : $$3;
...                                                                        512             $$26 = $$24 - $$7;
...                                                                        513             $$27 = $$25 + $$6;
...                                                                        514             break;
...                                                                        515          case CLOCKWISE_180:
...                                                                        516             $$24 = $$6 < 0 ? $$2 : $$2 + 1;
...                                                                        517             $$25 = $$7 < 0 ? $$3 : $$3 + 1;
...                                                                        518             $$26 = $$24 - $$6;
...                                                                        519             $$27 = $$25 - $$7;
...                                                                        520             break;
...                                                                        521          case COUNTERCLOCKWISE_90:
...                                                                        522             $$24 = $$7 < 0 ? $$2 + 1 : $$2;
...                                                                        523             $$25 = $$6 < 0 ? $$3 : $$3 + 1;
...                                                                        524             $$26 = $$24 + $$7;
...                                                                        525             $$27 = $$25 - $$6;
...                                                                        526             break;
...                                                                        527          default:
...                                                                        528             $$24 = $$6 < 0 ? $$2 + 1 : $$2;
...                                                                        529             $$25 = $$7 < 0 ? $$3 + 1 : $$3;
...                                                                        530             $$26 = $$24 + $$6;
...                                                                        531             $$27 = $$25 + $$7;
...                                                                        532       }
...                                                                        533 
...                                                                        534       return BoundingBoxRenderable.RenderableBox.fromCorners($$24, $$4
...                                                                        ... , $$25, $$26, $$5, $$27);
...                                                                        535    }
465                                                                        536 
466    public static enum UpdateType {                                     537    public static enum UpdateType {
467       UPDATE_DATA,                                                     538       UPDATE_DATA,

net/minecraft/world/level/block/entity/BoundingBoxRenderable.java --- Java
 1 package net.minecraft.world.level.block.entity;
 2 
 3 import net.minecraft.core.BlockPos;
 4 import net.minecraft.core.Vec3i;
 5 
 6 public interface BoundingBoxRenderable {
 7    BoundingBoxRenderable.Mode renderMode();
 8 
 9    BoundingBoxRenderable.RenderableBox getRenderableBox();
10 
11    public static enum Mode {
12       NONE,
13       BOX,
14       BOX_AND_INVISIBLE_BLOCKS;
15    }
16 
17    public static record RenderableBox(BlockPos localPos, Vec3i size) {
18       public static BoundingBoxRenderable.RenderableBox fromCorners(int $$0, int $$1, int $$2, int $$3, int $$4, int $$5) {
19          int $$6 = Math.min($$0, $$3);
20          int $$7 = Math.min($$1, $$4);
21          int $$8 = Math.min($$2, $$5);
22          return new BoundingBoxRenderable.RenderableBox(
23             new BlockPos($$6, $$7, $$8), new Vec3i(Math.max($$0, $$3) - $$6, Math.max($$1, $$4) - $$7, Math.max($$2, $$5) - $$8)
24          );
25       }
26    }
27 }
28 

net/minecraft/util/datafix/schemas/V501.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "PolarBear", () -> V100.equipment($$0));        16       $$0.registerSimple($$1, "PolarBear");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/util/datafix/schemas/V1458.java --- Java
18       $$0.registerType(                                                 18       $$0.registerType(
19          true,                                                          19          true,
20          References.ENTITY,                                             20          References.ENTITY,
21          () -> DSL.optionalFields("CustomName", References.TEXT_COMPONE 21          () -> DSL.and(
.. NT.in($$0), DSL.taggedChoiceLazy("id", namespacedString(), $$1))        .. 
..                                                                         22                References.ENTITY_EQUIPMENT.in($$0),
..                                                                         23                DSL.optionalFields("CustomName", References.TEXT_COMPONE
..                                                                         .. NT.in($$0), DSL.taggedChoiceLazy("id", namespacedString(), $$1))
..                                                                         24             )
22       );                                                                25       );
23    }                                                                    26    }
24                                                                         27 

net/minecraft/util/datafix/schemas/V1801.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:illager_beast", () -> V100.equipment 16       $$0.registerSimple($$1, "minecraft:illager_beast");
.. ($$0));                                                                 .. 
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java --- 1/2 --- Java
2                                                                          2 
3 import javax.annotation.Nullable;                                        3 import javax.annotation.Nullable;
4 import net.minecraft.core.BlockPos;                                      4 import net.minecraft.core.BlockPos;
.                                                                          5 import net.minecraft.core.component.DataComponentGetter;
5 import net.minecraft.core.component.DataComponentMap;                    6 import net.minecraft.core.component.DataComponentMap;
6 import net.minecraft.core.component.DataComponents;                      7 import net.minecraft.core.component.DataComponents;
7 import net.minecraft.nbt.CompoundTag;                                    8 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java --- 2/2 --- Java
92    }                                                                    93    }
93                                                                         94 
94    @Override                                                            95    @Override
95    protected void applyImplicitComponents(BlockEntity.DataComponentInpu 96    protected void applyImplicitComponents(DataComponentGetter $$0) {
.. t $$0) {                                                                .. 
96       super.applyImplicitComponents($$0);                               97       super.applyImplicitComponents($$0);
97       SeededContainerLoot $$1 = $$0.get(DataComponents.CONTAINER_LOOT); 98       SeededContainerLoot $$1 = $$0.get(DataComponents.CONTAINER_LOOT);
98       if ($$1 != null) {                                                99       if ($$1 != null) {

net/minecraft/util/datafix/schemas/V3326.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:sniffer", () -> V100.equipment($$0)) 16       $$0.registerSimple($$1, "minecraft:sniffer");
.. ;                                                                       .. 
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/util/datafix/schemas/V3808_1.java --- Java
18       $$0.register(                                                     18       $$0.register(
19          $$1,                                                           19          $$1, "minecraft:llama", $$1x -> DSL.optionalFields("Items", DS
..                                                                         .. L.list(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM_ST
..                                                                         .. ACK.in($$0))
20          "minecraft:llama",                                             .. 
21          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_S .. 
.. TACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipm .. 
.. ent($$0))                                                               .. 
22       );                                                                20       );
23       return $$1;                                                       21       return $$1;
24    }                                                                    22    }

net/minecraft/world/entity/monster/Creeper.java --- Java
78    }                                                                    78    }
79                                                                         79 
80    @Override                                                            80    @Override
81    public boolean causeFallDamage(float $$0, float $$1, DamageSource $$ 81    public boolean causeFallDamage(double $$0, float $$1, DamageSource $
.. 2) {                                                                    .. $2) {
82       boolean $$3 = super.causeFallDamage($$0, $$1, $$2);               82       boolean $$3 = super.causeFallDamage($$0, $$1, $$2);
83       this.swell += (int)($$0 * 1.5F);                                  83       this.swell += (int)($$0 * 1.5);
84       if (this.swell > this.maxSwell - 5) {                             84       if (this.swell > this.maxSwell - 5) {
85          this.swell = this.maxSwell - 5;                                85          this.swell = this.maxSwell - 5;
86       }                                                                 86       }

net/minecraft/gametest/framework/TestFunctionFinder.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.stream.Stream;
 4 
 5 @FunctionalInterface
 6 public interface TestFunctionFinder {
 7    Stream<TestFunction> findTestFunctions();
 8 }
 9 

net/minecraft/util/datafix/schemas/V702.java --- Java
18       $$0.register(                                                     18       $$0.register($$1, "ZombieVillager", $$1x -> DSL.optionalFields("O
..                                                                         .. ffers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_TRAD
..                                                                         .. E.in($$0)))));
19          $$1,                                                           .. 
20          "ZombieVillager",                                              .. 
21          $$1x -> DSL.optionalFields("Offers", DSL.optionalFields("Recip .. 
.. es", DSL.list(References.VILLAGER_TRADE.in($$0))), V100.equipment($$0)) .. 
22       );                                                                .. 
23       $$0.register($$1, "Husk", () -> V100.equipment($$0));             19       $$0.registerSimple($$1, "Husk");
24       return $$1;                                                       20       return $$1;
25    }                                                                    21    }
26 }                                                                       22 }

net/minecraft/world/level/block/entity/BlockEntity.java --- 1/5 --- Java
 8 import net.minecraft.CrashReportCategory;                                8 import net.minecraft.CrashReportCategory;
 9 import net.minecraft.core.BlockPos;                                      9 import net.minecraft.core.BlockPos;
10 import net.minecraft.core.HolderLookup;                                 10 import net.minecraft.core.HolderLookup;
..                                                                         11 import net.minecraft.core.component.DataComponentGetter;
11 import net.minecraft.core.component.DataComponentMap;                   12 import net.minecraft.core.component.DataComponentMap;
12 import net.minecraft.core.component.DataComponentPatch;                 13 import net.minecraft.core.component.DataComponentPatch;
13 import net.minecraft.core.component.DataComponentType;                  14 import net.minecraft.core.component.DataComponentType;

net/minecraft/world/level/block/entity/BlockEntity.java --- 2/5 --- Java
217       this.remove = false;                                             218       this.remove = false;
218    }                                                                   219    }
219                                                                        220 
220    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1, bool 221    public void preRemoveSideEffects(BlockPos $$0, BlockState $$1) {
... ean $$2) {                                                             ... 
221       if (this instanceof Container $$3 && this.level != null) {       222       if (this instanceof Container $$2 && this.level != null) {
222          Containers.dropContents(this.level, $$0, $$3);                223          Containers.dropContents(this.level, $$0, $$2);
223       }                                                                224       }
224    }                                                                   225    }
225                                                                        226 

net/minecraft/world/level/block/entity/BlockEntity.java --- 3/5 --- Java
249       this.blockState = $$0;                                           250       this.blockState = $$0;
250    }                                                                   251    }
251                                                                        252 
252    protected void applyImplicitComponents(BlockEntity.DataComponentInp 253    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
253    }                                                                   254    }
254                                                                        255 
255    public final void applyComponentsFromItemStack(ItemStack $$0) {     256    public final void applyComponentsFromItemStack(ItemStack $$0) {

net/minecraft/world/level/block/entity/BlockEntity.java --- 4/5 --- Java
261       $$2.add(DataComponents.BLOCK_ENTITY_DATA);                       262       $$2.add(DataComponents.BLOCK_ENTITY_DATA);
262       $$2.add(DataComponents.BLOCK_STATE);                             263       $$2.add(DataComponents.BLOCK_STATE);
263       final DataComponentMap $$3 = PatchedDataComponentMap.fromPatch($ 264       final DataComponentMap $$3 = PatchedDataComponentMap.fromPatch($
... $0, $$1);                                                              ... $0, $$1);
264       this.applyImplicitComponents(new BlockEntity.DataComponentInput( 265       this.applyImplicitComponents(new DataComponentGetter() {
... ) {                                                                    ... 
265          @Nullable                                                     266          @Nullable
266          @Override                                                     267          @Override
267          public <T> T get(DataComponentType<T> $$0) {                  268          public <T> T get(DataComponentType<? extends T> $$0) {
268             $$2.add($$0);                                              269             $$2.add($$0);
269             return $$3.get($$0);                                       270             return $$3.get($$0);
270          }                                                             271          }

net/minecraft/world/level/block/entity/BlockEntity.java --- 5/5 --- Java
318       }                                                                319       }
319    }                                                                   320    }
320                                                                        ... 
321    protected interface DataComponentInput {                            ... 
322       @Nullable                                                        ... 
323       <T> T get(DataComponentType<T> var1);                            ... 
324                                                                        ... 
325       <T> T getOrDefault(DataComponentType<? extends T> var1, T var2); ... 
326    }                                                                   ... 
327 }                                                                      321 }

net/minecraft/util/datafix/schemas/V4071.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:creaking", () -> V100.equipment($$0) 16       $$0.registerSimple($$1, "minecraft:creaking");
.. );                                                                      .. 
17       $$0.register($$1, "minecraft:creaking_transient", () -> V100.equi 17       $$0.registerSimple($$1, "minecraft:creaking_transient");
.. pment($$0));                                                            .. 
18       return $$1;                                                       18       return $$1;
19    }                                                                    19    }
20                                                                         20 

net/minecraft/world/level/levelgen/structure/structures/OceanMonumentPieces.java --- Java
1463             ElderGuardian $$6 = EntityType.ELDER_GUARDIAN.create($$0. 1463             ElderGuardian $$6 = EntityType.ELDER_GUARDIAN.create($$0.
.... getLevel(), EntitySpawnReason.STRUCTURE);                             .... getLevel(), EntitySpawnReason.STRUCTURE);
1464             if ($$6 != null) {                                        1464             if ($$6 != null) {
1465                $$6.heal($$6.getMaxHealth());                          1465                $$6.heal($$6.getMaxHealth());
1466                $$6.moveTo((double)$$5.getX() + 0.5, (double)$$5.getY( 1466                $$6.snapTo((double)$$5.getX() + 0.5, (double)$$5.getY(
.... ), (double)$$5.getZ() + 0.5, 0.0F, 0.0F);                             .... ), (double)$$5.getZ() + 0.5, 0.0F, 0.0F);
1467                $$6.finalizeSpawn($$0, $$0.getCurrentDifficultyAt($$6. 1467                $$6.finalizeSpawn($$0, $$0.getCurrentDifficultyAt($$6.
.... blockPosition()), EntitySpawnReason.STRUCTURE, null);                 .... blockPosition()), EntitySpawnReason.STRUCTURE, null);
1468                $$0.addFreshEntityWithPassengers($$6);                 1468                $$0.addFreshEntityWithPassengers($$6);
1469             }                                                         1469             }

net/minecraft/gametest/framework/LogTestReporter.java --- Java
 9                                                                          9 
10    @Override                                                            10    @Override
11    public void onTestFailed(GameTestInfo $$0) {                         11    public void onTestFailed(GameTestInfo $$0) {
12       String $$1 = $$0.getTestOrigin().toShortString();                 12       String $$1 = $$0.getTestBlockPos().toShortString();
13       if ($$0.isRequired()) {                                           13       if ($$0.isRequired()) {
14          LOGGER.error("{} failed at {}! {}", $$0.getTestName(), $$1, Ut 14          LOGGER.error("{} failed at {}! {}", $$0.id(), $$1, Util.descri
.. il.describeError($$0.getError()));                                      .. beError($$0.getError()));
15       } else {                                                          15       } else {
16          LOGGER.warn("(optional) {} failed at {}. {}", $$0.getTestName( 16          LOGGER.warn("(optional) {} failed at {}. {}", $$0.id(), $$1, U
.. ), $$1, Util.describeError($$0.getError()));                            .. til.describeError($$0.getError()));
17       }                                                                 17       }
18    }                                                                    18    }
19                                                                         19 

net/minecraft/gametest/framework/GameTestInfo.java --- 1/9 --- Java
  8 import it.unimi.dsi.fastutil.objects.Object2LongMap.Entry;              8 import it.unimi.dsi.fastutil.objects.Object2LongMap.Entry;
  9 import java.util.Collection;                                            9 import java.util.Collection;
 10 import java.util.List;                                                 10 import java.util.List;
 ..                                                                        11 import java.util.Objects;
 ..                                                                        12 import java.util.Optional;
 11 import java.util.concurrent.TimeUnit;                                  13 import java.util.concurrent.TimeUnit;
 12 import java.util.stream.Stream;                                        14 import java.util.stream.Stream;
 13 import javax.annotation.Nullable;                                      15 import javax.annotation.Nullable;
 14 import net.minecraft.core.BlockPos;                                    16 import net.minecraft.core.BlockPos;
 ..                                                                        17 import net.minecraft.core.Holder;
 ..                                                                        18 import net.minecraft.core.Vec3i;
 ..                                                                        19 import net.minecraft.resources.ResourceKey;
 ..                                                                        20 import net.minecraft.resources.ResourceLocation;
 15 import net.minecraft.server.level.ServerLevel;                         21 import net.minecraft.server.level.ServerLevel;
 16 import net.minecraft.world.entity.Entity;                              22 import net.minecraft.world.entity.Entity;
 17 import net.minecraft.world.entity.player.Player;                       23 import net.minecraft.world.entity.player.Player;
 ..                                                                        24 import net.minecraft.world.level.block.Blocks;
 18 import net.minecraft.world.level.block.Rotation;                       25 import net.minecraft.world.level.block.Rotation;
 19 import net.minecraft.world.level.block.entity.StructureBlockEntity;    26 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
 20 import net.minecraft.world.level.levelgen.structure.BoundingBox;       27 import net.minecraft.world.level.levelgen.structure.BoundingBox;
 21 import net.minecraft.world.phys.AABB;                                  28 import net.minecraft.world.phys.AABB;
 22                                                                        29 
 23 public class GameTestInfo {                                            30 public class GameTestInfo {
 24    private final TestFunction testFunction;                            31    private final Holder.Reference<GameTestInstance> test;
 25    @Nullable                                                           .. 
 26    private BlockPos structureBlockPos;                                 .. 
 27    @Nullable                                                           32    @Nullable
 28    private BlockPos northWestCorner;                                   33    private BlockPos testBlockPos;
 29    private final ServerLevel level;                                    34    private final ServerLevel level;
 30    private final Collection<GameTestListener> listeners = Lists.newArr 35    private final Collection<GameTestListener> listeners = Lists.newArr
 .. ayList();                                                              .. ayList();
 31    private final int timeoutTicks;                                     36    private final int timeoutTicks;
 32    private final Collection<GameTestSequence> sequences = Lists.newCop 37    private final Collection<GameTestSequence> sequences = Lists.newCop
 .. yOnWriteArrayList();                                                   .. yOnWriteArrayList();
 33    private final Object2LongMap<Runnable> runAtTickTimeMap = new Objec 38    private final Object2LongMap<Runnable> runAtTickTimeMap = new Objec
 .. t2LongOpenHashMap<>();                                                 .. t2LongOpenHashMap<>();
 34    private long startTick;                                             .. 
 35    private int ticksToWaitForChunkLoading = 20;                        .. 
 36    private boolean placedStructure;                                    39    private boolean placedStructure;
 37    private boolean chunksLoaded;                                       40    private boolean chunksLoaded;
 38    private long tickCount;                                             41    private int tickCount;
 39    private boolean started;                                            42    private boolean started;
 40    private final RetryOptions retryOptions;                            43    private final RetryOptions retryOptions;
 41    private final Stopwatch timer = Stopwatch.createUnstarted();        44    private final Stopwatch timer = Stopwatch.createUnstarted();
 42    private boolean done;                                               45    private boolean done;
 43    private final Rotation rotation;                                    46    private final Rotation extraRotation;
 44    @Nullable                                                           47    @Nullable
 45    private Throwable error;                                            48    private Throwable error;
 46    @Nullable                                                           49    @Nullable
 47    private StructureBlockEntity structureBlockEntity;                  50    private TestInstanceBlockEntity testInstanceBlockEntity;
 48                                                                        51 
 49    public GameTestInfo(TestFunction $$0, Rotation $$1, ServerLevel $$2 52    public GameTestInfo(Holder.Reference<GameTestInstance> $$0, Rotatio
 .. , RetryOptions $$3) {                                                  .. n $$1, ServerLevel $$2, RetryOptions $$3) {
 50       this.testFunction = $$0;                                         53       this.test = $$0;
 51       this.level = $$2;                                                54       this.level = $$2;
 52       this.retryOptions = $$3;                                         55       this.retryOptions = $$3;
 53       this.timeoutTicks = $$0.maxTicks();                              56       this.timeoutTicks = $$0.value().maxTicks();
 54       this.rotation = $$0.rotation().getRotated($$1);                  57       this.extraRotation = $$1;
 55    }                                                                   58    }
 56                                                                        59 
 57    void setStructureBlockPos(BlockPos $$0) {                           60    public void setTestBlockPos(@Nullable BlockPos $$0) {
 58       this.structureBlockPos = $$0;                                    61       this.testBlockPos = $$0;
 59    }                                                                   62    }
 60                                                                        63 
 61    public GameTestInfo startExecution(int $$0) {                       64    public GameTestInfo startExecution(int $$0) {
 62       this.startTick = this.level.getGameTime() + this.testFunction.se 65       this.tickCount = -(this.test.value().setupTicks() + $$0 + 1);
 .. tupTicks() + (long)$$0;                                                .. 
 63       this.timer.start();                                              .. 
 64       return this;                                                     66       return this;
 65    }                                                                   67    }
 66                                                                        68 
 67    public GameTestInfo placeStructure() {                              69    public void placeStructure() {
 68       if (this.placedStructure) {                                      70       if (!this.placedStructure) {
 69          return this;                                                  71          TestInstanceBlockEntity $$0 = this.getTestInstanceBlockEntity
 ..                                                                        .. ();
 70       } else {                                                         72          if (!$$0.placeStructure()) {
 71          this.ticksToWaitForChunkLoading = 0;                          73             this.fail(new IllegalStateException("Failed to place test 
 ..                                                                        .. structure for " + $$0.getTestName()));
 ..                                                                        74          }
 ..                                                                        75 
 72          this.placedStructure = true;                                  76          this.placedStructure = true;
 73          StructureBlockEntity $$0 = this.getStructureBlockEntity();    77          $$0.encaseStructure();
 74          $$0.placeStructure(this.level);                               .. 
 75          BoundingBox $$1 = StructureUtils.getStructureBoundingBox($$0) 78          BoundingBox $$1 = $$0.getStructureBoundingBox();
 .. ;                                                                      .. 
 76          this.level.getBlockTicks().clearArea($$1);                    79          this.level.getBlockTicks().clearArea($$1);
 77          this.level.clearBlockEvents($$1);                             80          this.level.clearBlockEvents($$1);
 78          return this;                                                  81          this.listeners.forEach($$0x -> $$0x.testStructureLoaded(this)
 ..                                                                        .. );
 79       }                                                                82       }
 80    }                                                                   83    }
 81                                                                        .. 
 82    private boolean ensureStructureIsPlaced() {                         .. 
 83       if (this.placedStructure) {                                      .. 
 84          return true;                                                  .. 
 85       } else if (this.ticksToWaitForChunkLoading > 0) {                .. 
 86          this.ticksToWaitForChunkLoading--;                            .. 
 87          return false;                                                 .. 
 88       } else {                                                         .. 
 89          this.placeStructure().startExecution(0);                      .. 
 90          return true;                                                  .. 
 91       }                                                                .. 
 92    }                                                                   .. 
 93                                                                        84 
 94    public void tick(GameTestRunner $$0) {                              85    public void tick(GameTestRunner $$0) {
 95       if (!this.isDone()) {                                            86       if (!this.isDone()) {
 ..                                                                        87          if (!this.placedStructure) {
 ..                                                                        88             this.fail(new IllegalStateException("Ticking test before p
 ..                                                                        .. lacing structure"));
 ..                                                                        89          }
 ..                                                                        90 
 96          if (this.structureBlockEntity == null) {                      91          if (this.testInstanceBlockEntity == null) {
 97             this.fail(new IllegalStateException("Running test without  92             this.fail(new IllegalStateException("Running test without 
 .. structure block entity"));                                             .. structure block entity"));
 98          }                                                             93          }
 99                                                                        94 
100          if (this.chunksLoaded                                         95          if (this.chunksLoaded || this.testInstanceBlockEntity.getStru
...                                                                        .. ctureBoundingBox().intersectingChunks().allMatch(this.level::areEntiti
...                                                                        .. esActuallyTicking)) {
101             || StructureUtils.getStructureBoundingBox(this.structureBl .. 
... ockEntity)                                                             .. 
102                .intersectingChunks()                                   .. 
103                .allMatch($$0x -> this.level.isPositionEntityTicking($$ .. 
... 0x.getWorldPosition()))) {                                             .. 
104             this.chunksLoaded = true;                                  96             this.chunksLoaded = true;
105             if (this.ensureStructureIsPlaced()) {                      .. 
106                this.tickInternal();                                    97             this.tickInternal();
107                if (this.isDone()) {                                    98             if (this.isDone()) {
108                   if (this.error != null) {                            99                if (this.error != null) {

net/minecraft/gametest/framework/GameTestInfo.java --- 2/9 --- Java
111                      this.listeners.forEach($$1 -> $$1.testPassed(this 102                   this.listeners.forEach($$1 -> $$1.testPassed(this, $
... , $$0));                                                               ... $0));
112                   }                                                    103                }
113                }                                                       104             }
114             }                                                          ... 
115          }                                                             105          }
116       }                                                                106       }
117    }                                                                   107    }
118                                                                        108 
119    private void tickInternal() {                                       109    private void tickInternal() {
120       this.tickCount = this.level.getGameTime() - this.startTick;      110       this.tickCount++;
121       if (this.tickCount >= 0L) {                                      111       if (this.tickCount >= 0) {
122          if (!this.started) {                                          112          if (!this.started) {
123             this.startTest();                                          113             this.startTest();
124          }                                                             114          }

net/minecraft/gametest/framework/GameTestInfo.java --- 3/9 --- Java
127                                                                        117 
128          while ($$0.hasNext()) {                                       118          while ($$0.hasNext()) {
129             Entry<Runnable> $$1 = $$0.next();                          119             Entry<Runnable> $$1 = $$0.next();
130             if ($$1.getLongValue() <= this.tickCount) {                120             if ($$1.getLongValue() <= (long)this.tickCount) {
131                try {                                                   121                try {
132                   $$1.getKey().run();                                  122                   $$1.getKey().run();
133                } catch (Exception var4) {                              123                } catch (Exception var4) {

net/minecraft/gametest/framework/GameTestInfo.java --- 4/9 --- Java
138             }                                                          128             }
139          }                                                             129          }
140                                                                        130 
141          if (this.tickCount > (long)this.timeoutTicks) {               131          if (this.tickCount > this.timeoutTicks) {
142             if (this.sequences.isEmpty()) {                            132             if (this.sequences.isEmpty()) {
143                this.fail(new GameTestTimeoutException("Didn't succeed  133                this.fail(new GameTestTimeoutException("Didn't succeed 
... or fail within " + this.testFunction.maxTicks() + " ticks"));          ... or fail within " + this.test.value().maxTicks() + " ticks"));
144             } else {                                                   134             } else {
145                this.sequences.forEach($$0x -> $$0x.tickAndFailIfNotCom 135                this.sequences.forEach($$0x -> $$0x.tickAndFailIfNotCom
... plete(this.tickCount));                                                ... plete(this.tickCount));
146                if (this.error == null) {                               136                if (this.error == null) {

net/minecraft/gametest/framework/GameTestInfo.java --- 5/9 --- Java
156    private void startTest() {                                          146    private void startTest() {
157       if (!this.started) {                                             147       if (!this.started) {
158          this.started = true;                                          148          this.started = true;
...                                                                        149          this.getTestInstanceBlockEntity().setRunning();
159                                                                        150 
160          try {                                                         151          try {
161             this.testFunction.run(new GameTestHelper(this));           152             this.test.value().run(new GameTestHelper(this));
162          } catch (Exception var2) {                                    153          } catch (Exception var2) {
163             this.fail(var2);                                           154             this.fail(var2);
164          }                                                             155          }

net/minecraft/gametest/framework/GameTestInfo.java --- 6/9 --- Java
169       this.runAtTickTimeMap.put($$1, $$0);                             160       this.runAtTickTimeMap.put($$1, $$0);
170    }                                                                   161    }
171                                                                        162 
172    public String getTestName() {                                       163    public ResourceLocation id() {
173       return this.testFunction.testName();                             164       return this.test.key().location();
174    }                                                                   165    }
175                                                                        166 
176    @Nullable                                                           167    @Nullable
177    public BlockPos getStructureBlockPos() {                            168    public BlockPos getTestBlockPos() {
178       return this.structureBlockPos;                                   169       return this.testBlockPos;
179    }                                                                   170    }
180                                                                        171 
181    public BlockPos getTestOrigin() {                                   172    public BlockPos getTestOrigin() {
182       return StructureUtils.getStructureOrigin(this.structureBlockEnti 173       return this.testInstanceBlockEntity.getStartCorner();
... ty);                                                                   ... 
183    }                                                                   174    }
184                                                                        175 
185    public AABB getStructureBounds() {                                  176    public AABB getStructureBounds() {
186       StructureBlockEntity $$0 = this.getStructureBlockEntity();       177       TestInstanceBlockEntity $$0 = this.getTestInstanceBlockEntity();
187       return StructureUtils.getStructureBounds($$0);                   178       return $$0.getStructureBounds();
188    }                                                                   179    }
189                                                                        180 
190    public StructureBlockEntity getStructureBlockEntity() {             181    public TestInstanceBlockEntity getTestInstanceBlockEntity() {
191       if (this.structureBlockEntity == null) {                         182       if (this.testInstanceBlockEntity == null) {
192          if (this.structureBlockPos == null) {                         183          if (this.testBlockPos == null) {
193             throw new IllegalStateException("Could not find a structur 184             throw new IllegalStateException("This GameTestInfo has no 
... eBlockEntity for this GameTestInfo");                                  ... position");
194          }                                                             185          }
195                                                                        186 
196          this.structureBlockEntity = (StructureBlockEntity)this.level. 187          if (this.level.getBlockEntity(this.testBlockPos) instanceof T
... getBlockEntity(this.structureBlockPos);                                ... estInstanceBlockEntity $$0) {
...                                                                        188             this.testInstanceBlockEntity = $$0;
...                                                                        189          }
...                                                                        190 
197          if (this.structureBlockEntity == null) {                      191          if (this.testInstanceBlockEntity == null) {
198             throw new IllegalStateException("Could not find a structur 192             throw new IllegalStateException("Could not find a test ins
... eBlockEntity at the given coordinate " + this.structureBlockPos);      ... tance block entity at the given coordinate " + this.testBlockPos);
199          }                                                             193          }
200       }                                                                194       }
201                                                                        195 
202       return this.structureBlockEntity;                                196       return this.testInstanceBlockEntity;
203    }                                                                   197    }
204                                                                        198 
205    public ServerLevel getLevel() {                                     199    public ServerLevel getLevel() {

net/minecraft/gametest/framework/GameTestInfo.java --- 7/9 --- Java
256                                                                        250 
257    @Override                                                           251    @Override
258    public String toString() {                                          252    public String toString() {
259       return this.getTestName();                                       253       return this.id().toString();
260    }                                                                   254    }
261                                                                        255 
262    public void addListener(GameTestListener $$0) {                     256    public void addListener(GameTestListener $$0) {
263       this.listeners.add($$0);                                         257       this.listeners.add($$0);
264    }                                                                   258    }
265                                                                        259 
266    public GameTestInfo prepareTestStructure() {                        260    public GameTestInfo prepareTestStructure() {
...                                                                        261       this.testInstanceBlockEntity = this.createTestInstanceBlock(Obje
...                                                                        ... cts.requireNonNull(this.testBlockPos), this.extraRotation, this.level)
...                                                                        ... ;
...                                                                        262       this.placeStructure();
...                                                                        263       return this;
...                                                                        264    }
...                                                                        265 
...                                                                        266    private TestInstanceBlockEntity createTestInstanceBlock(BlockPos $$
...                                                                        ... 0, Rotation $$1, ServerLevel $$2) {
267       BlockPos $$0 = this.getOrCalculateNorthwestCorner();             267       $$2.setBlockAndUpdate($$0, Blocks.TEST_INSTANCE_BLOCK.defaultBlo
...                                                                        ... ckState());
268       this.structureBlockEntity = StructureUtils.prepareTestStructure( 268       TestInstanceBlockEntity $$3 = Objects.requireNonNull((TestInstan
... this, $$0, this.getRotation(), this.level);                            ... ceBlockEntity)$$2.getBlockEntity($$0));
269       this.structureBlockPos = this.structureBlockEntity.getBlockPos() 269       ResourceKey<GameTestInstance> $$4 = this.getTestHolder().key();
... ;                                                                      ... 
270       StructureUtils.addCommandBlockAndButtonToStartTest(this.structur 270       Vec3i $$5 = TestInstanceBlockEntity.getStructureSize($$2, $$4).o
... eBlockPos, new BlockPos(1, 0, -1), this.getRotation(), this.level);    ... rElse(new Vec3i(1, 1, 1));
271       StructureUtils.encaseStructure(this.getStructureBounds(), this.l 271       $$3.set(new TestInstanceBlockEntity.Data(Optional.of($$4), $$5, 
... evel, !this.testFunction.skyAccess());                                 ... $$1, false, TestInstanceBlockEntity.Status.CLEARED, Optional.empty()))
...                                                                        ... ;
272       this.listeners.forEach($$0x -> $$0x.testStructureLoaded(this));  ... 
273       return this;                                                     272       return $$3;
274    }                                                                   273    }
275                                                                        274 
276    long getTick() {                                                    275    int getTick() {
277       return this.tickCount;                                           276       return this.tickCount;
278    }                                                                   277    }
279                                                                        278 

net/minecraft/gametest/framework/GameTestInfo.java --- 8/9 --- Java
284    }                                                                   283    }
285                                                                        284 
286    public boolean isRequired() {                                       285    public boolean isRequired() {
287       return this.testFunction.required();                             286       return this.test.value().required();
288    }                                                                   287    }
289                                                                        288 
290    public boolean isOptional() {                                       289    public boolean isOptional() {
291       return !this.testFunction.required();                            290       return !this.test.value().required();
292    }                                                                   291    }
293                                                                        292 
294    public String getStructureName() {                                  293    public ResourceLocation getStructure() {
295       return this.testFunction.structureName();                        294       return this.test.value().structure();
296    }                                                                   295    }
297                                                                        296 
298    public Rotation getRotation() {                                     297    public Rotation getRotation() {
299       return this.rotation;                                            298       return this.test.value().info().rotation().getRotated(this.extra
...                                                                        ... Rotation);
300    }                                                                   299    }
...                                                                        300 
...                                                                        301    public GameTestInstance getTest() {
...                                                                        302       return this.test.value();
...                                                                        303    }
301                                                                        304 
302    public TestFunction getTestFunction() {                             305    public Holder.Reference<GameTestInstance> getTestHolder() {
303       return this.testFunction;                                        306       return this.test;
304    }                                                                   307    }
305                                                                        308 
306    public int getTimeoutTicks() {                                      309    public int getTimeoutTicks() {
307       return this.timeoutTicks;                                        310       return this.timeoutTicks;
308    }                                                                   311    }
309                                                                        312 
310    public boolean isFlaky() {                                          313    public boolean isFlaky() {
311       return this.testFunction.isFlaky();                              314       return this.test.value().maxAttempts() > 1;
312    }                                                                   315    }
313                                                                        316 
314    public int maxAttempts() {                                          317    public int maxAttempts() {
315       return this.testFunction.maxAttempts();                          318       return this.test.value().maxAttempts();
316    }                                                                   319    }
317                                                                        320 
318    public int requiredSuccesses() {                                    321    public int requiredSuccesses() {
319       return this.testFunction.requiredSuccesses();                    322       return this.test.value().requiredSuccesses();
320    }                                                                   323    }
321                                                                        324 
322    public RetryOptions retryOptions() {                                325    public RetryOptions retryOptions() {

net/minecraft/gametest/framework/GameTestInfo.java --- 9/9 --- Java
328    }                                                                   331    }
329                                                                        332 
330    public GameTestInfo copyReset() {                                   333    public GameTestInfo copyReset() {
331       GameTestInfo $$0 = new GameTestInfo(this.testFunction, this.rota 334       GameTestInfo $$0 = new GameTestInfo(this.test, this.extraRotatio
... tion, this.level, this.retryOptions());                                ... n, this.level, this.retryOptions());
332       if (this.northWestCorner != null) {                              335       if (this.testBlockPos != null) {
333          $$0.setNorthWestCorner(this.northWestCorner);                 336          $$0.setTestBlockPos(this.testBlockPos);
334       }                                                                337       }
335                                                                        ... 
336       if (this.structureBlockPos != null) {                            ... 
337          $$0.setStructureBlockPos(this.structureBlockPos);             ... 
338       }                                                                ... 
339                                                                        338 
340       return $$0;                                                      339       return $$0;
341    }                                                                   340    }
342                                                                        ... 
343    public BlockPos getOrCalculateNorthwestCorner() {                   ... 
344       if (this.northWestCorner == null) {                              ... 
345          BoundingBox $$0 = StructureUtils.getStructureBoundingBox(this ... 
... .getStructureBlockEntity());                                           ... 
346          this.northWestCorner = new BlockPos($$0.minX(), $$0.minY(), $ ... 
... $0.minZ());                                                            ... 
347       }                                                                ... 
348                                                                        ... 
349       return this.northWestCorner;                                     ... 
350    }                                                                   ... 
351                                                                        ... 
352    public void setNorthWestCorner(BlockPos $$0) {                      ... 
353       this.northWestCorner = $$0;                                      ... 
354    }                                                                   ... 
355 }                                                                      341 }

net/minecraft/gametest/framework/GameTestGenerator.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.lang.annotation.ElementType;
 4 import java.lang.annotation.Retention;
 5 import java.lang.annotation.RetentionPolicy;
 6 import java.lang.annotation.Target;
 7 
 8 @Target({ElementType.METHOD})
 9 @Retention(RetentionPolicy.RUNTIME)
10 public @interface GameTestGenerator {
11 }
12 

net/minecraft/util/datafix/schemas/V1931.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:fox", () -> V100.equipment($$0));    16       $$0.registerSimple($$1, "minecraft:fox");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/gametest/framework/TestPosFinder.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.stream.Stream;
 4 import net.minecraft.core.BlockPos;
 5 
 6 @FunctionalInterface
 7 public interface TestPosFinder {
 8    Stream<BlockPos> findTestPos();
 9 }
10 

net/minecraft/gametest/framework/TestFunctionLoader.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 import java.util.function.BiConsumer;
 6 import java.util.function.Consumer;
 7 import net.minecraft.core.Registry;
 8 import net.minecraft.resources.ResourceKey;
 9 
10 public abstract class TestFunctionLoader {
11    private static final List<TestFunctionLoader> loaders = new ArrayList<>();
12 
13    public static void registerLoader(TestFunctionLoader $$0) {
14       loaders.add($$0);
15    }
16 
17    public static void runLoaders(Registry<Consumer<GameTestHelper>> $$0) {
18       for (TestFunctionLoader $$1 : loaders) {
19          $$1.load(($$1x, $$2) -> Registry.register($$0, $$1x, $$2));
20       }
21    }
22 
23    public abstract void load(BiConsumer<ResourceKey<Consumer<GameTestHelper>>, Consumer<GameTestHelper>> var1);
24 }
25 

net/minecraft/util/datafix/schemas/V3083.java --- Java
22                "Inventory",                                             22                "Inventory",
23                DSL.list(References.ITEM_STACK.in($$0)),                 23                DSL.list(References.ITEM_STACK.in($$0)),
24                "listener",                                              24                "listener",
25                DSL.optionalFields("event", DSL.optionalFields("game_eve 25                DSL.optionalFields("event", DSL.optionalFields("game_eve
.. nt", References.GAME_EVENT_NAME.in($$0))),                              .. nt", References.GAME_EVENT_NAME.in($$0)))
26                V100.equipment($$0)                                      .. 
27             )                                                           26             )
28       );                                                                27       );
29       return $$1;                                                       28       return $$1;

net/minecraft/world/entity/animal/goat/Goat.java --- Java
136    }                                                                   136    }
137                                                                        137 
138    @Override                                                           138    @Override
139    protected int calculateFallDamage(float $$0, float $$1) {           139    protected int calculateFallDamage(double $$0, float $$1) {
140       return super.calculateFallDamage($$0, $$1) - 10;                 140       return super.calculateFallDamage($$0, $$1) - 10;
141    }                                                                   141    }
142                                                                        142 

net/minecraft/world/item/equipment/Equippable.java --- 1/9 --- Java
 4 import com.mojang.serialization.codecs.RecordCodecBuilder;               4 import com.mojang.serialization.codecs.RecordCodecBuilder;
 5 import java.util.Optional;                                               5 import java.util.Optional;
 6 import net.minecraft.core.Holder;                                        6 import net.minecraft.core.Holder;
 .                                                                          7 import net.minecraft.core.HolderGetter;
 7 import net.minecraft.core.HolderSet;                                     8 import net.minecraft.core.HolderSet;
 8 import net.minecraft.core.RegistryCodecs;                                9 import net.minecraft.core.RegistryCodecs;
 .                                                                         10 import net.minecraft.core.registries.BuiltInRegistries;
 9 import net.minecraft.core.registries.Registries;                        11 import net.minecraft.core.registries.Registries;
10 import net.minecraft.network.RegistryFriendlyByteBuf;                   12 import net.minecraft.network.RegistryFriendlyByteBuf;
11 import net.minecraft.network.codec.ByteBufCodecs;                       13 import net.minecraft.network.codec.ByteBufCodecs;

net/minecraft/world/item/equipment/Equippable.java --- 2/9 --- Java
15 import net.minecraft.sounds.SoundEvent;                                 17 import net.minecraft.sounds.SoundEvent;
16 import net.minecraft.sounds.SoundEvents;                                18 import net.minecraft.sounds.SoundEvents;
17 import net.minecraft.stats.Stats;                                       19 import net.minecraft.stats.Stats;
..                                                                         20 import net.minecraft.tags.EntityTypeTags;
18 import net.minecraft.world.InteractionResult;                           21 import net.minecraft.world.InteractionResult;
19 import net.minecraft.world.entity.EntityType;                           22 import net.minecraft.world.entity.EntityType;
20 import net.minecraft.world.entity.EquipmentSlot;                        23 import net.minecraft.world.entity.EquipmentSlot;
..                                                                         24 import net.minecraft.world.entity.LivingEntity;
..                                                                         25 import net.minecraft.world.entity.Mob;
21 import net.minecraft.world.entity.player.Player;                        26 import net.minecraft.world.entity.player.Player;
22 import net.minecraft.world.item.DyeColor;                               27 import net.minecraft.world.item.DyeColor;
23 import net.minecraft.world.item.ItemStack;                              28 import net.minecraft.world.item.ItemStack;

net/minecraft/world/item/equipment/Equippable.java --- 3/9 --- Java
32    Optional<HolderSet<EntityType<?>>> allowedEntities,                  37    Optional<HolderSet<EntityType<?>>> allowedEntities,
33    boolean dispensable,                                                 38    boolean dispensable,
34    boolean swappable,                                                   39    boolean swappable,
35    boolean damageOnHurt                                                 40    boolean damageOnHurt,
..                                                                         41    boolean equipOnInteract
36 ) {                                                                     42 ) {
37    public static final Codec<Equippable> CODEC = RecordCodecBuilder.cre 43    public static final Codec<Equippable> CODEC = RecordCodecBuilder.cre
.. ate(                                                                    .. ate(
38       $$0 -> $$0.group(                                                 44       $$0 -> $$0.group(

net/minecraft/world/item/equipment/Equippable.java --- 4/9 --- Java
43                RegistryCodecs.homogeneousList(Registries.ENTITY_TYPE).o 49                RegistryCodecs.homogeneousList(Registries.ENTITY_TYPE).o
.. ptionalFieldOf("allowed_entities").forGetter(Equippable::allowedEntitie .. ptionalFieldOf("allowed_entities").forGetter(Equippable::allowedEntitie
.. s),                                                                     .. s),
44                Codec.BOOL.optionalFieldOf("dispensable", Boolean.valueO 50                Codec.BOOL.optionalFieldOf("dispensable", Boolean.valueO
.. f(true)).forGetter(Equippable::dispensable),                            .. f(true)).forGetter(Equippable::dispensable),
45                Codec.BOOL.optionalFieldOf("swappable", Boolean.valueOf( 51                Codec.BOOL.optionalFieldOf("swappable", Boolean.valueOf(
.. true)).forGetter(Equippable::swappable),                                .. true)).forGetter(Equippable::swappable),
46                Codec.BOOL.optionalFieldOf("damage_on_hurt", Boolean.val 52                Codec.BOOL.optionalFieldOf("damage_on_hurt", Boolean.val
.. ueOf(true)).forGetter(Equippable::damageOnHurt)                         .. ueOf(true)).forGetter(Equippable::damageOnHurt),
..                                                                         53                Codec.BOOL.optionalFieldOf("equip_on_interact", Boolean.
..                                                                         .. valueOf(false)).forGetter(Equippable::equipOnInteract)
47             )                                                           54             )
48             .apply($$0, Equippable::new)                                55             .apply($$0, Equippable::new)
49    );                                                                   56    );

net/minecraft/world/item/equipment/Equippable.java --- 5/9 --- Java
64       Equippable::swappable,                                            71       Equippable::swappable,
65       ByteBufCodecs.BOOL,                                               72       ByteBufCodecs.BOOL,
66       Equippable::damageOnHurt,                                         73       Equippable::damageOnHurt,
..                                                                         74       ByteBufCodecs.BOOL,
..                                                                         75       Equippable::equipOnInteract,
67       Equippable::new                                                   76       Equippable::new
68    );                                                                   77    );
69                                                                         78 

net/minecraft/world/item/equipment/Equippable.java --- 6/9 --- Java
75          .build();                                                       84          .build();
76    }                                                                     85    }
..                                                                          86 
..                                                                          87    public static Equippable saddle() {
..                                                                          88       HolderGetter<EntityType<?>> $$0 = BuiltInRegistries.acquireBootst
..                                                                          .. rapRegistrationLookup(BuiltInRegistries.ENTITY_TYPE);
..                                                                          89       return builder(EquipmentSlot.SADDLE)
..                                                                          90          .setEquipSound(SoundEvents.HORSE_SADDLE)
..                                                                          91          .setAsset(EquipmentAssets.SADDLE)
..                                                                          92          .setAllowedEntities($$0.getOrThrow(EntityTypeTags.CAN_EQUIP_SA
..                                                                          .. DDLE))
..                                                                          93          .setEquipOnInteract(true)
..                                                                          94          .build();
..                                                                          95    }
77                                                                          96 
78    public static Equippable.Builder builder(EquipmentSlot $$0) {         97    public static Equippable.Builder builder(EquipmentSlot $$0) {
79       return new Equippable.Builder($$0);                                98       return new Equippable.Builder($$0);
80    }                                                                     99    }
81                                                                         100 
82    public InteractionResult swapWithEquipmentSlot(ItemStack $$0, Player 101    public InteractionResult swapWithEquipmentSlot(ItemStack $$0, Player
..  $$1) {                                                                 ...  $$1) {
83       if (!$$1.canUseSlot(this.slot)) {                                 102       if ($$1.canUseSlot(this.slot) && this.canBeEquippedBy($$1.getType
..                                                                         ... ())) {
84          return InteractionResult.PASS;                                 ... 
85       } else {                                                          ... 
86          ItemStack $$2 = $$1.getItemBySlot(this.slot);                  103          ItemStack $$2 = $$1.getItemBySlot(this.slot);
87          if ((!EnchantmentHelper.has($$2, EnchantmentEffectComponents.P 104          if ((!EnchantmentHelper.has($$2, EnchantmentEffectComponents.P
.. REVENT_ARMOR_CHANGE) || $$1.isCreative())                               ... REVENT_ARMOR_CHANGE) || $$1.isCreative())
88             && !ItemStack.isSameItemSameComponents($$0, $$2)) {         105             && !ItemStack.isSameItemSameComponents($$0, $$2)) {

net/minecraft/world/item/equipment/Equippable.java --- 7/9 --- Java
108          } else {                                                      125          } else {
109             return InteractionResult.FAIL;                             126             return InteractionResult.FAIL;
110          }                                                             127          }
111       }                                                                128       } else {
...                                                                        129          return InteractionResult.PASS;
...                                                                        130       }
112    }                                                                   131    }
...                                                                        132 
...                                                                        133    public InteractionResult equipOnTarget(Player $$0, LivingEntity $$1
...                                                                        ... , ItemStack $$2) {
...                                                                        134       if ($$1.isEquippableInSlot($$2, this.slot) && !$$1.hasItemInSlot
...                                                                        ... (this.slot) && $$1.isAlive()) {
...                                                                        135          if (!$$0.level().isClientSide()) {
...                                                                        136             $$1.setItemSlot(this.slot, $$2.split(1));
...                                                                        137             if ($$1 instanceof Mob $$3) {
...                                                                        138                $$3.setGuaranteedDrop(this.slot);
...                                                                        139             }
...                                                                        140          }
...                                                                        141 
...                                                                        142          return InteractionResult.SUCCESS;
...                                                                        143       } else {
...                                                                        144          return InteractionResult.PASS;
...                                                                        145       }
...                                                                        146    }
113                                                                        147 
114    public boolean canBeEquippedBy(EntityType<?> $$0) {                 148    public boolean canBeEquippedBy(EntityType<?> $$0) {
115       return this.allowedEntities.isEmpty() || this.allowedEntities.ge 149       return this.allowedEntities.isEmpty() || this.allowedEntities.ge
    t().contains($$0.builtInRegistryHolder());                                 t().contains($$0.builtInRegistryHolder());

net/minecraft/world/item/equipment/Equippable.java --- 8/9 --- Java
124       private boolean dispensable = true;                              158       private boolean dispensable = true;
125       private boolean swappable = true;                                159       private boolean swappable = true;
126       private boolean damageOnHurt = true;                             160       private boolean damageOnHurt = true;
...                                                                        161       private boolean equipOnInteract;
127                                                                        162 
128       Builder(EquipmentSlot $$0) {                                     163       Builder(EquipmentSlot $$0) {
129          this.slot = $$0;                                              164          this.slot = $$0;

net/minecraft/world/item/equipment/Equippable.java --- 9/9 --- Java
168          return this;                                                  203          return this;
169       }                                                                204       }
...                                                                        205 
...                                                                        206       public Equippable.Builder setEquipOnInteract(boolean $$0) {
...                                                                        207          this.equipOnInteract = $$0;
...                                                                        208          return this;
...                                                                        209       }
170                                                                        210 
171       public Equippable build() {                                      211       public Equippable build() {
172          return new Equippable(                                        212          return new Equippable(
173             this.slot, this.equipSound, this.assetId, this.cameraOverl 213             this.slot,
... ay, this.allowedEntities, this.dispensable, this.swappable, this.damag ... 
... eOnHurt                                                                ... 
...                                                                        214             this.equipSound,
...                                                                        215             this.assetId,
...                                                                        216             this.cameraOverlay,
...                                                                        217             this.allowedEntities,
...                                                                        218             this.dispensable,
...                                                                        219             this.swappable,
...                                                                        220             this.damageOnHurt,
...                                                                        221             this.equipOnInteract
174          );                                                            222          );
175       }                                                                223       }
176    }                                                                   224    }

net/minecraft/util/datafix/schemas/V3799.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:armadillo", () -> V100.equipment($$0 16       $$0.registerSimple($$1, "minecraft:armadillo");
.. ));                                                                     .. 
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/gametest/framework/GameTestBatchFactory.java --- Java
 6 import java.util.List;                                                   6 import java.util.List;
 7 import java.util.Map;                                                    7 import java.util.Map;
 8 import java.util.Objects;                                                8 import java.util.Objects;
 9 import java.util.function.Consumer;                                      . 
10 import java.util.stream.Collectors;                                      9 import java.util.stream.Collectors;
..                                                                         10 import java.util.stream.Stream;
..                                                                         11 import net.minecraft.core.Holder;
11 import net.minecraft.server.level.ServerLevel;                          12 import net.minecraft.server.level.ServerLevel;
..                                                                         13 import net.minecraft.world.level.block.Rotation;
12                                                                         14 
13 public class GameTestBatchFactory {                                     15 public class GameTestBatchFactory {
14    private static final int MAX_TESTS_PER_BATCH = 50;                   16    private static final int MAX_TESTS_PER_BATCH = 50;
..                                                                         17    public static final GameTestBatchFactory.TestDecorator DIRECT = ($$0
..                                                                         .. , $$1) -> Stream.of(new GameTestInfo($$0, Rotation.NONE, $$1, RetryOpti
..                                                                         .. ons.noRetries()));
15                                                                         18 
16    public static Collection<GameTestBatch> fromTestFunction(Collection< 19    public static List<GameTestBatch> divideIntoBatches(
.. TestFunction> $$0, ServerLevel $$1) {                                   .. 
..                                                                         20       Collection<Holder.Reference<GameTestInstance>> $$0, GameTestBatch
..                                                                         .. Factory.TestDecorator $$1, ServerLevel $$2
..                                                                         21    ) {
17       Map<String, List<TestFunction>> $$2 = $$0.stream().collect(Collec 22       Map<Holder<TestEnvironmentDefinition>, List<GameTestInfo>> $$3 = 
.. tors.groupingBy(TestFunction::batchName));                              .. $$0.stream()
..                                                                         23          .flatMap($$2x -> $$1.decorate($$2x, $$2))
..                                                                         24          .collect(Collectors.groupingBy($$0x -> $$0x.getTest().batch())
..                                                                         .. );
18       return $$2.entrySet()                                             25       return $$3.entrySet().stream().flatMap($$0x -> {
19          .stream()                                                      .. 
20          .flatMap(                                                      .. 
21             $$1x -> {                                                   .. 
22                String $$2x = (String)$$1x.getKey();                     26          Holder<TestEnvironmentDefinition> $$1x = (Holder<TestEnvironme
..                                                                         .. ntDefinition>)$$0x.getKey();
23                List<TestFunction> $$3 = (List<TestFunction>)$$1x.getVal 27          List<GameTestInfo> $$2x = (List<GameTestInfo>)$$0x.getValue();
.. ue();                                                                   .. 
24                return Streams.mapWithIndex(                             28          return Streams.mapWithIndex(Lists.partition($$2x, 50).stream()
..                                                                         .. , ($$1xx, $$2xx) -> toGameTestBatch($$1xx, $$1x, (int)$$2xx));
25                   Lists.partition($$3, 50).stream(),                    .. 
26                   ($$2xx, $$3x) -> toGameTestBatch($$2xx.stream().map($ .. 
.. $1xxx -> toGameTestInfo($$1xxx, 0, $$1)).toList(), $$2x, $$3x)          .. 
27                );                                                       .. 
28             }                                                           29       }).toList();
29          )                                                              .. 
30          .toList();                                                     .. 
31    }                                                                    30    }
32                                                                         .. 
33    public static GameTestInfo toGameTestInfo(TestFunction $$0, int $$1, .. 
..  ServerLevel $$2) {                                                     .. 
34       return new GameTestInfo($$0, StructureUtils.getRotationForRotatio .. 
.. nSteps($$1), $$2, RetryOptions.noRetries());                            .. 
35    }                                                                    .. 
36                                                                         31 
37    public static GameTestRunner.GameTestBatcher fromGameTestInfo() {    32    public static GameTestRunner.GameTestBatcher fromGameTestInfo() {
38       return fromGameTestInfo(50);                                      33       return fromGameTestInfo(50);
39    }                                                                    34    }
40                                                                         35 
41    public static GameTestRunner.GameTestBatcher fromGameTestInfo(int $$ 36    public static GameTestRunner.GameTestBatcher fromGameTestInfo(int $$
.. 0) {                                                                    .. 0) {
42       return $$1 -> {                                                   37       return $$1 -> {
43          Map<String, List<GameTestInfo>> $$2 = $$1.stream()             38          Map<Holder<TestEnvironmentDefinition>, List<GameTestInfo>> $$2
..                                                                         ..  = $$1.stream()
44             .filter(Objects::nonNull)                                   39             .filter(Objects::nonNull)
45             .collect(Collectors.groupingBy($$0xx -> $$0xx.getTestFuncti 40             .collect(Collectors.groupingBy($$0xx -> $$0xx.getTest().bat
.. on().batchName()));                                                     .. ch()));
46          return $$2.entrySet().stream().flatMap($$1x -> {               41          return $$2.entrySet().stream().flatMap($$1x -> {
47             String $$2x = (String)$$1x.getKey();                        42             Holder<TestEnvironmentDefinition> $$2x = (Holder<TestEnviro
..                                                                         .. nmentDefinition>)$$1x.getKey();
48             List<GameTestInfo> $$3 = (List<GameTestInfo>)$$1x.getValue( 43             List<GameTestInfo> $$3 = (List<GameTestInfo>)$$1x.getValue(
.. );                                                                      .. );
49             return Streams.mapWithIndex(Lists.partition($$3, $$0).strea 44             return Streams.mapWithIndex(Lists.partition($$3, $$0).strea
.. m(), ($$1xx, $$2xx) -> toGameTestBatch(List.copyOf($$1xx), $$2x, $$2xx) .. m(), ($$1xx, $$2xx) -> toGameTestBatch(List.copyOf($$1xx), $$2x, (int)$
.. );                                                                      .. $2xx));
50          }).toList();                                                   45          }).toList();
51       };                                                                46       };
52    }                                                                    47    }
53                                                                         48 
54    public static GameTestBatch toGameTestBatch(Collection<GameTestInfo> 49    public static GameTestBatch toGameTestBatch(Collection<GameTestInfo>
..  $$0, String $$1, long $$2) {                                           ..  $$0, Holder<TestEnvironmentDefinition> $$1, int $$2) {
55       Consumer<ServerLevel> $$3 = GameTestRegistry.getBeforeBatchFuncti .. 
.. on($$1);                                                                .. 
56       Consumer<ServerLevel> $$4 = GameTestRegistry.getAfterBatchFunctio .. 
.. n($$1);                                                                 .. 
57       return new GameTestBatch($$1 + ":" + $$2, $$0, $$3, $$4);         50       return new GameTestBatch($$2, $$0, $$1);
58    }                                                                    51    }
..                                                                         52 
..                                                                         53    @FunctionalInterface
..                                                                         54    public interface TestDecorator {
..                                                                         55       Stream<GameTestInfo> decorate(Holder.Reference<GameTestInstance> 
..                                                                         .. var1, ServerLevel var2);
..                                                                         56    }
59 }                                                                       57 }

net/minecraft/util/datafix/schemas/V1470.java --- Java
13    }                                                                    13    }
14                                                                         14 
15    protected static void registerMob(Schema $$0, Map<String, Supplier<T 15    protected static void registerMob(Schema $$0, Map<String, Supplier<T
.. ypeTemplate>> $$1, String $$2) {                                        .. ypeTemplate>> $$1, String $$2) {
16       $$0.register($$1, $$2, () -> V100.equipment($$0));                16       $$0.registerSimple($$1, $$2);
17    }                                                                    17    }
18                                                                         18 
19    @Override                                                            19    @Override

net/minecraft/world/entity/animal/camel/Camel.java --- 1/4 --- Java
4 import com.mojang.serialization.Dynamic;                                  4 import com.mojang.serialization.Dynamic;
5 import javax.annotation.Nullable;                                         5 import javax.annotation.Nullable;
6 import net.minecraft.core.BlockPos;                                       6 import net.minecraft.core.BlockPos;
.                                                                           7 import net.minecraft.core.Holder;
7 import net.minecraft.core.particles.ParticleTypes;                        8 import net.minecraft.core.particles.ParticleTypes;
8 import net.minecraft.nbt.CompoundTag;                                     9 import net.minecraft.nbt.CompoundTag;
9 import net.minecraft.network.protocol.game.DebugPackets;                 10 import net.minecraft.network.protocol.game.DebugPackets;

net/minecraft/world/entity/animal/camel/Camel.java --- 2/4 --- Java
29 import net.minecraft.world.entity.EntityDimensions;                     30 import net.minecraft.world.entity.EntityDimensions;
30 import net.minecraft.world.entity.EntitySpawnReason;                    31 import net.minecraft.world.entity.EntitySpawnReason;
31 import net.minecraft.world.entity.EntityType;                           32 import net.minecraft.world.entity.EntityType;
..                                                                         33 import net.minecraft.world.entity.EquipmentSlot;
32 import net.minecraft.world.entity.LivingEntity;                         34 import net.minecraft.world.entity.LivingEntity;
33 import net.minecraft.world.entity.Pose;                                 35 import net.minecraft.world.entity.Pose;
34 import net.minecraft.world.entity.SpawnGroupData;                       36 import net.minecraft.world.entity.SpawnGroupData;

net/minecraft/world/entity/animal/camel/Camel.java --- 3/4 --- Java
43 import net.minecraft.world.entity.animal.horse.AbstractHorse;           45 import net.minecraft.world.entity.animal.horse.AbstractHorse;
44 import net.minecraft.world.entity.player.Player;                        46 import net.minecraft.world.entity.player.Player;
45 import net.minecraft.world.item.ItemStack;                              47 import net.minecraft.world.item.ItemStack;
..                                                                         48 import net.minecraft.world.item.equipment.Equippable;
46 import net.minecraft.world.level.Level;                                 49 import net.minecraft.world.level.Level;
47 import net.minecraft.world.level.ServerLevelAccessor;                   50 import net.minecraft.world.level.ServerLevelAccessor;
48 import net.minecraft.world.level.block.state.BlockState;                51 import net.minecraft.world.level.block.state.BlockState;

net/minecraft/world/entity/animal/camel/Camel.java --- 4/4 --- Java
594    }                                                                   597    }
595                                                                        598 
596    @Override                                                           599    @Override
597    public SoundEvent getSaddleSoundEvent() {                           600    protected Holder<SoundEvent> getEquipSound(EquipmentSlot $$0, ItemS
...                                                                        ... tack $$1, Equippable $$2) {
598       return SoundEvents.CAMEL_SADDLE;                                 601       return (Holder<SoundEvent>)($$0 == EquipmentSlot.SADDLE ? SoundE
...                                                                        ... vents.CAMEL_SADDLE : super.getEquipSound($$0, $$1, $$2));
599    }                                                                   602    }
600                                                                        603 
601    @Override                                                           604    @Override

net/minecraft/util/datafix/schemas/V1451_3.java --- Java
24       $$0.registerSimple($$1, "minecraft:wither_skull");                24       $$0.registerSimple($$1, "minecraft:wither_skull");
25       $$0.registerSimple($$1, "minecraft:xp_bottle");                   25       $$0.registerSimple($$1, "minecraft:xp_bottle");
26       $$0.register($$1, "minecraft:arrow", () -> DSL.optionalFields("in 26       $$0.register($$1, "minecraft:arrow", () -> DSL.optionalFields("in
.. BlockState", References.BLOCK_STATE.in($$0)));                          .. BlockState", References.BLOCK_STATE.in($$0)));
27       $$0.register($$1, "minecraft:enderman", () -> DSL.optionalFields( 27       $$0.register($$1, "minecraft:enderman", () -> DSL.optionalFields(
.. "carriedBlockState", References.BLOCK_STATE.in($$0), V100.equipment($$0 .. "carriedBlockState", References.BLOCK_STATE.in($$0)));
.. )));                                                                    .. 
28       $$0.register(                                                     28       $$0.register(
29          $$1,                                                           29          $$1,
30          "minecraft:falling_block",                                     30          "minecraft:falling_block",

net/minecraft/gametest/framework/GameTestSequence.java --- 1/5 --- Java
 4 import java.util.Iterator;                                               4 import java.util.Iterator;
 5 import java.util.List;                                                   5 import java.util.List;
 6 import java.util.function.Supplier;                                      6 import java.util.function.Supplier;
 .                                                                          7 import net.minecraft.network.chat.Component;
 7                                                                          8 
 8 public class GameTestSequence {                                          9 public class GameTestSequence {
 9    final GameTestInfo parent;                                           10    final GameTestInfo parent;
10    private final List<GameTestEvent> events = Lists.newArrayList();     11    private final List<GameTestEvent> events = Lists.newArrayList();
11    private long lastTick;                                               12    private int lastTick;
12                                                                         13 
13    GameTestSequence(GameTestInfo $$0) {                                 14    GameTestSequence(GameTestInfo $$0) {
14       this.parent = $$0;                                                15       this.parent = $$0;

net/minecraft/gametest/framework/GameTestSequence.java --- 2/5 --- Java
37                                                                         38 
38    public GameTestSequence thenExecuteAfter(int $$0, Runnable $$1) {    39    public GameTestSequence thenExecuteAfter(int $$0, Runnable $$1) {
39       this.events.add(GameTestEvent.create(() -> {                      40       this.events.add(GameTestEvent.create(() -> {
40          if (this.parent.getTick() < this.lastTick + (long)$$0) {       41          if (this.parent.getTick() < this.lastTick + $$0) {
41             throw new GameTestAssertException("Test timed out before se 42             throw new GameTestAssertException(Component.translatable("t
.. quence completed");                                                     .. est.error.sequence.not_completed"), this.parent.getTick());
42          } else {                                                       43          } else {
43             this.executeWithoutFail($$1);                               44             this.executeWithoutFail($$1);
44          }                                                              45          }

net/minecraft/gametest/framework/GameTestSequence.java --- 3/5 --- Java
48                                                                         49 
49    public GameTestSequence thenExecuteFor(int $$0, Runnable $$1) {      50    public GameTestSequence thenExecuteFor(int $$0, Runnable $$1) {
50       this.events.add(GameTestEvent.create(() -> {                      51       this.events.add(GameTestEvent.create(() -> {
51          if (this.parent.getTick() < this.lastTick + (long)$$0) {       52          if (this.parent.getTick() < this.lastTick + $$0) {
52             this.executeWithoutFail($$1);                               53             this.executeWithoutFail($$1);
53             throw new GameTestAssertException("Test timed out before se 54             throw new GameTestAssertException(Component.translatable("t
.. quence completed");                                                     .. est.error.sequence.not_completed"), this.parent.getTick());
54          }                                                              55          }
55       }));                                                              56       }));
56       return this;                                                      57       return this;

net/minecraft/gametest/framework/GameTestSequence.java --- 4/5 --- Java
70       return $$0;                                                       71       return $$0;
71    }                                                                    72    }
72                                                                         73 
73    public void tickAndContinue(long $$0) {                              74    public void tickAndContinue(int $$0) {
74       try {                                                             75       try {
75          this.tick($$0);                                                76          this.tick($$0);
76       } catch (GameTestAssertException var4) {                          77       } catch (GameTestAssertException var3) {
77       }                                                                 78       }
78    }                                                                    79    }
79                                                                         80 
80    public void tickAndFailIfNotComplete(long $$0) {                     81    public void tickAndFailIfNotComplete(int $$0) {
81       try {                                                             82       try {
82          this.tick($$0);                                                83          this.tick($$0);
83       } catch (GameTestAssertException var4) {                          84       } catch (GameTestAssertException var3) {
84          this.parent.fail(var4);                                        85          this.parent.fail(var3);
85       }                                                                 86       }
86    }                                                                    87    }
87                                                                         88 

net/minecraft/gametest/framework/GameTestSequence.java --- 5/5 --- Java
 93       }                                                                 94       }
 94    }                                                                    95    }
 95                                                                         96 
 96    private void tick(long $$0) {                                        97    private void tick(int $$0) {
 97       Iterator<GameTestEvent> $$1 = this.events.iterator();             98       Iterator<GameTestEvent> $$1 = this.events.iterator();
 98                                                                         99 
 99       while ($$1.hasNext()) {                                          100       while ($$1.hasNext()) {
100          GameTestEvent $$2 = $$1.next();                               101          GameTestEvent $$2 = $$1.next();
101          $$2.assertion.run();                                          102          $$2.assertion.run();
102          $$1.remove();                                                 103          $$1.remove();
103          long $$3 = $$0 - this.lastTick;                               104          int $$3 = $$0 - this.lastTick;
104          long $$4 = this.lastTick;                                     105          int $$4 = this.lastTick;
105          this.lastTick = $$0;                                          106          this.lastTick = $$0;
106          if ($$2.expectedDelay != null && $$2.expectedDelay != $$3) {  107          if ($$2.expectedDelay != null && $$2.expectedDelay != (long)$
...                                                                        ... $3) {
107             this.parent.fail(new GameTestAssertException("Succeeded in 108             this.parent.fail(new GameTestAssertException(Component.tra
...  invalid tick: expected " + ($$4 + $$2.expectedDelay) + ", but current ... nslatable("test.error.sequence.invalid_tick", (long)$$4 + $$2.expected
...  tick is " + $$0));                                                    ... Delay), $$0));
108             break;                                                     109             break;
109          }                                                             110          }
110       }                                                                111       }
111    }                                                                   112    }
112                                                                        113 
113    public class Condition {                                            114    public class Condition {
114       private static final long NOT_TRIGGERED = -1L;                   115       private static final int NOT_TRIGGERED = -1;
115       private long triggerTime = -1L;                                  116       private int triggerTime = -1;
116                                                                        117 
117       void trigger(long $$0) {                                         118       void trigger(int $$0) {
118          if (this.triggerTime != -1L) {                                119          if (this.triggerTime != -1) {
119             throw new IllegalStateException("Condition already trigger 120             throw new IllegalStateException("Condition already trigger
... ed at " + this.triggerTime);                                           ... ed at " + this.triggerTime);
120          } else {                                                      121          } else {
121             this.triggerTime = $$0;                                    122             this.triggerTime = $$0;
122          }                                                             123          }
123       }                                                                124       }
124                                                                        125 
125       public void assertTriggeredThisTick() {                          126       public void assertTriggeredThisTick() {
126          long $$0 = GameTestSequence.this.parent.getTick();            127          int $$0 = GameTestSequence.this.parent.getTick();
127          if (this.triggerTime != $$0) {                                128          if (this.triggerTime != $$0) {
128             if (this.triggerTime == -1L) {                             129             if (this.triggerTime == -1) {
129                throw new GameTestAssertException("Condition not trigge 130                throw new GameTestAssertException(Component.translatabl
... red (t=" + $$0 + ")");                                                 ... e("test.error.sequence.condition_not_triggered"), $$0);
130             } else {                                                   131             } else {
131                throw new GameTestAssertException("Condition triggered  132                throw new GameTestAssertException(Component.translatabl
... at " + this.triggerTime + ", (t=" + $$0 + ")");                        ... e("test.error.sequence.condition_already_triggered", this.triggerTime)
...                                                                        ... , $$0);
132             }                                                          133             }
133          }                                                             134          }
134       }                                                                135       }

net/minecraft/util/datafix/schemas/V1929.java --- Java
22                "Inventory",                                             22                "Inventory", DSL.list(References.ITEM_STACK.in($$0)), "O
..                                                                         .. ffers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_TRAD
..                                                                         .. E.in($$0)))
23                DSL.list(References.ITEM_STACK.in($$0)),                 .. 
24                "Offers",                                                .. 
25                DSL.optionalFields("Recipes", DSL.list(References.VILLAG .. 
.. ER_TRADE.in($$0))),                                                     .. 
26                V100.equipment($$0)                                      .. 
27             )                                                           23             )
28       );                                                                24       );
29       $$0.register(                                                     25       $$0.register(
30          $$1,                                                           26          $$1,
31          "minecraft:trader_llama",                                      27          "minecraft:trader_llama",
32          $$1x -> DSL.optionalFields(                                    28          $$1x -> DSL.optionalFields(
33                "Items",                                                 29                "Items", DSL.list(References.ITEM_STACK.in($$0)), "Saddl
..                                                                         .. eItem", References.ITEM_STACK.in($$0), "DecorItem", References.ITEM_STA
..                                                                         .. CK.in($$0)
34                DSL.list(References.ITEM_STACK.in($$0)),                 .. 
35                "SaddleItem",                                            .. 
36                References.ITEM_STACK.in($$0),                           .. 
37                "DecorItem",                                             .. 
38                References.ITEM_STACK.in($$0),                           .. 
39                V100.equipment($$0)                                      .. 
40             )                                                           30             )
41       );                                                                31       );
42       return $$1;                                                       32       return $$1;

net/minecraft/util/datafix/schemas/V3203.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:camel", () -> V100.equipment($$0));  16       $$0.registerSimple($$1, "minecraft:camel");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/util/datafix/schemas/V2522.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:zoglin", () -> V100.equipment($$0)); 16       $$0.registerSimple($$1, "minecraft:zoglin");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/world/entity/player/Player.java --- 1/11 --- Java
105 import net.minecraft.world.level.block.entity.JigsawBlockEntity;       105 import net.minecraft.world.level.block.entity.JigsawBlockEntity;
106 import net.minecraft.world.level.block.entity.SignBlockEntity;         106 import net.minecraft.world.level.block.entity.SignBlockEntity;
107 import net.minecraft.world.level.block.entity.StructureBlockEntity;    107 import net.minecraft.world.level.block.entity.StructureBlockEntity;
...                                                                        108 import net.minecraft.world.level.block.entity.TestBlockEntity;
...                                                                        109 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
108 import net.minecraft.world.level.block.state.BlockState;               110 import net.minecraft.world.level.block.state.BlockState;
109 import net.minecraft.world.level.block.state.pattern.BlockInWorld;     111 import net.minecraft.world.level.block.state.pattern.BlockInWorld;
110 import net.minecraft.world.level.gameevent.GameEvent;                  112 import net.minecraft.world.level.gameevent.GameEvent;

net/minecraft/world/entity/player/Player.java --- 2/11 --- Java
205       this.gameProfile = $$3;                                          207       this.gameProfile = $$3;
206       this.inventoryMenu = new InventoryMenu(this.inventory, !$$0.isCl 208       this.inventoryMenu = new InventoryMenu(this.inventory, !$$0.isCl
... ientSide, this);                                                       ... ientSide, this);
207       this.containerMenu = this.inventoryMenu;                         209       this.containerMenu = this.inventoryMenu;
208       this.moveTo((double)$$1.getX() + 0.5, (double)($$1.getY() + 1),  210       this.snapTo((double)$$1.getX() + 0.5, (double)($$1.getY() + 1), 
... (double)$$1.getZ() + 0.5, $$2, 0.0F);                                  ... (double)$$1.getZ() + 0.5, $$2, 0.0F);
209    }                                                                   211    }
210                                                                        212 
211    public boolean blockActionRestricted(Level $$0, BlockPos $$1, GameT 213    public boolean blockActionRestricted(Level $$0, BlockPos $$1, GameT
    ype $$2) {                                                                 ype $$2) {

net/minecraft/world/entity/player/Player.java --- 3/11 --- Java
581                                                                        583 
582       this.playShoulderEntityAmbientSound(this.getShoulderEntityLeft() 584       this.playShoulderEntityAmbientSound(this.getShoulderEntityLeft()
... );                                                                     ... );
583       this.playShoulderEntityAmbientSound(this.getShoulderEntityRight( 585       this.playShoulderEntityAmbientSound(this.getShoulderEntityRight(
... ));                                                                    ... ));
584       if (!this.level().isClientSide && (this.fallDistance > 0.5F || t 586       if (!this.level().isClientSide && (this.fallDistance > 0.5 || th
... his.isInWater()) || this.abilities.flying || this.isSleeping() || this ... is.isInWater()) || this.abilities.flying || this.isSleeping() || this.
... .isInPowderSnow) {                                                     ... isInPowderSnow) {
585          this.removeEntitiesOnShoulder();                              587          this.removeEntitiesOnShoulder();
586       }                                                                588       }
587    }                                                                   589    }

net/minecraft/world/entity/player/Player.java --- 4/11 --- Java
981    public void openStructureBlock(StructureBlockEntity $$0) {          983    public void openStructureBlock(StructureBlockEntity $$0) {
982    }                                                                   984    }
...                                                                        985 
...                                                                        986    public void openTestBlock(TestBlockEntity $$0) {
...                                                                        987    }
...                                                                        988 
...                                                                        989    public void openTestInstanceBlock(TestInstanceBlockEntity $$0) {
...                                                                        990    }
983                                                                        991 
984    public void openJigsawBlock(JigsawBlockEntity $$0) {                992    public void openJigsawBlock(JigsawBlockEntity $$0) {
985    }                                                                   993    }

net/minecraft/world/entity/player/Player.java --- 5/11 --- Java
1066          double $$6 = Math.signum($$3) * 0.05;                        1074          double $$6 = Math.signum($$3) * 0.05;
1067                                                                       1075 
1068          double $$7;                                                  1076          double $$7;
1069          for ($$7 = Math.signum($$4) * 0.05; $$3 != 0.0 && this.canFa 1077          for ($$7 = Math.signum($$4) * 0.05; $$3 != 0.0 && this.canFa
.... llAtLeast($$3, 0.0, $$2); $$3 -= $$6) {                               .... llAtLeast($$3, 0.0, (double)$$2); $$3 -= $$6) {
1070             if (Math.abs($$3) <= 0.05) {                              1078             if (Math.abs($$3) <= 0.05) {
1071                $$3 = 0.0;                                             1079                $$3 = 0.0;
1072                break;                                                 1080                break;
1073             }                                                         1081             }
1074          }                                                            1082          }
1075                                                                       1083 
1076          while ($$4 != 0.0 && this.canFallAtLeast(0.0, $$4, $$2)) {   1084          while ($$4 != 0.0 && this.canFallAtLeast(0.0, $$4, (double)$
....                                                                       .... $2)) {
1077             if (Math.abs($$4) <= 0.05) {                              1085             if (Math.abs($$4) <= 0.05) {
1078                $$4 = 0.0;                                             1086                $$4 = 0.0;
1079                break;                                                 1087                break;

net/minecraft/world/entity/player/Player.java --- 6/11 --- Java
1082             $$4 -= $$7;                                               1090             $$4 -= $$7;
1083          }                                                            1091          }
1084                                                                       1092 
1085          while ($$3 != 0.0 && $$4 != 0.0 && this.canFallAtLeast($$3,  1093          while ($$3 != 0.0 && $$4 != 0.0 && this.canFallAtLeast($$3, 
.... $$4, $$2)) {                                                          .... $$4, (double)$$2)) {
1086             if (Math.abs($$3) <= 0.05) {                              1094             if (Math.abs($$3) <= 0.05) {
1087                $$3 = 0.0;                                             1095                $$3 = 0.0;
1088             } else {                                                  1096             } else {

net/minecraft/world/entity/player/Player.java --- 7/11 --- Java
1103    }                                                                  1111    }
1104                                                                       1112 
1105    private boolean isAboveGround(float $$0) {                         1113    private boolean isAboveGround(float $$0) {
1106       return this.onGround() || this.fallDistance < $$0 && !this.canF 1114       return this.onGround() || this.fallDistance < (double)$$0 && !t
.... allAtLeast(0.0, 0.0, $$0 - this.fallDistance);                        .... his.canFallAtLeast(0.0, 0.0, (double)$$0 - this.fallDistance);
1107    }                                                                  1115    }
1108                                                                       1116 
1109    private boolean canFallAtLeast(double $$0, double $$1, float $$2)  1117    private boolean canFallAtLeast(double $$0, double $$1, double $$2)
.... {                                                                     ....  {
1110       AABB $$3 = this.getBoundingBox();                               1118       AABB $$3 = this.getBoundingBox();
1111       return this.level()                                             1119       return this.level()
1112          .noCollision(this, new AABB($$3.minX + $$0, $$3.minY - (doub 1120          .noCollision(
.... le)$$2 - 1.0E-5F, $$3.minZ + $$1, $$3.maxX + $$0, $$3.minY, $$3.maxZ  .... 
.... + $$1));                                                              .... 
....                                                                       1121             this,
....                                                                       1122             new AABB($$3.minX + 1.0E-7 + $$0, $$3.minY - $$2 - 1.0E-7
....                                                                       .... , $$3.minZ + 1.0E-7 + $$1, $$3.maxX - 1.0E-7 + $$0, $$3.minY, $$3.max
....                                                                       .... Z - 1.0E-7 + $$1)
....                                                                       1123          );
1113    }                                                                  1124    }
1114                                                                       1125 

net/minecraft/world/entity/player/Player.java --- 8/11 --- Java
1142                                                                       1153 
1143                $$1 += $$2.getItem().getAttackDamageBonus($$0, $$1, $$ 1154                $$1 += $$2.getItem().getAttackDamageBonus($$0, $$1, $$
.... 3);                                                                   .... 3);
1144                boolean $$10 = $$7                                     1155                boolean $$10 = $$7
1145                   && this.fallDistance > 0.0F                         1156                   && this.fallDistance > 0.0
1146                   && !this.onGround()                                 1157                   && !this.onGround()
1147                   && !this.onClimbable()                              1158                   && !this.onClimbable()
1148                   && !this.isInWater()                                1159                   && !this.isInWater()

net/minecraft/world/entity/player/Player.java --- 9/11 --- Java
1506    }                                                                  1517    }
1507                                                                       1518 
1508    @Override                                                          1519    @Override
1509    public boolean causeFallDamage(float $$0, float $$1, DamageSource  1520    public boolean causeFallDamage(double $$0, float $$1, DamageSource
.... $$2) {                                                                ....  $$2) {
1510       if (this.abilities.mayfly) {                                    1521       if (this.abilities.mayfly) {
1511          return false;                                                1522          return false;
1512       } else {                                                        1523       } else {
1513          if ($$0 >= 2.0F) {                                           1524          if ($$0 >= 2.0) {
1514             this.awardStat(Stats.FALL_ONE_CM, (int)Math.round((double 1525             this.awardStat(Stats.FALL_ONE_CM, (int)Math.round($$0 * 1
.... )$$0 * 100.0));                                                       .... 00.0));
1515          }                                                            1526          }
1516                                                                       1527 
1517          boolean $$3 = this.currentImpulseImpactPos != null && this.i 1528          boolean $$3 = this.currentImpulseImpactPos != null && this.i
.... gnoreFallDamageFromCurrentImpulse;                                    .... gnoreFallDamageFromCurrentImpulse;
1518          float $$4;                                                   1529          double $$4;
1519          if ($$3) {                                                   1530          if ($$3) {
1520             $$4 = Math.min($$0, (float)(this.currentImpulseImpactPos. 1531             $$4 = Math.min($$0, this.currentImpulseImpactPos.y - this
.... y - this.getY()));                                                    .... .getY());
1521             boolean $$5 = $$4 <= 0.0F;                                1532             boolean $$5 = $$4 <= 0.0;
1522             if ($$5) {                                                1533             if ($$5) {
1523                this.resetCurrentImpulseContext();                     1534                this.resetCurrentImpulseContext();
1524             } else {                                                  1535             } else {

net/minecraft/world/entity/player/Player.java --- 10/11 --- Java
1528             $$4 = $$0;                                                1539             $$4 = $$0;
1529          }                                                            1540          }
1530                                                                       1541 
1531          if ($$4 > 0.0F && super.causeFallDamage($$4, $$1, $$2)) {    1542          if ($$4 > 0.0 && super.causeFallDamage($$4, $$1, $$2)) {
1532             this.resetCurrentImpulseContext();                        1543             this.resetCurrentImpulseContext();
1533             return true;                                              1544             return true;
1534          } else {                                                     1545          } else {

net/minecraft/world/entity/player/Player.java --- 11/11 --- Java
1760       return this.inventory.add($$0);                                 1771       return this.inventory.add($$0);
1761    }                                                                  1772    }
1762                                                                       .... 
1763    @Override                                                          .... 
1764    public Iterable<ItemStack> getHandSlots() {                        .... 
1765       return Lists.newArrayList(this.getMainHandItem(), this.getOffha .... 
.... ndItem());                                                            .... 
1766    }                                                                  .... 
1767                                                                       .... 
1768    @Override                                                          .... 
1769    public Iterable<ItemStack> getArmorSlots() {                       .... 
1770       return this.inventory.armor;                                    .... 
1771    }                                                                  .... 
1772                                                                       .... 
1773    @Override                                                          .... 
1774    public boolean canUseSlot(EquipmentSlot $$0) {                     .... 
1775       return $$0 != EquipmentSlot.BODY;                               .... 
1776    }                                                                  .... 
1777                                                                       1773 
1778    public boolean setEntityOnShoulder(CompoundTag $$0) {              1774    public boolean setEntityOnShoulder(CompoundTag $$0) {
1779       if (this.isPassenger() || !this.onGround() || this.isInWater()  1775       if (this.isPassenger() || !this.onGround() || this.isInWater() 
     || this.isInPowderSnow) {                                                  || this.isInPowderSnow) {

net/minecraft/gametest/framework/TestFunctionArgument.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import com.mojang.brigadier.Message;
 4 import com.mojang.brigadier.StringReader;
 5 import com.mojang.brigadier.arguments.ArgumentType;
 6 import com.mojang.brigadier.context.CommandContext;
 7 import com.mojang.brigadier.exceptions.CommandSyntaxException;
 8 import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
 9 import com.mojang.brigadier.suggestion.Suggestions;
10 import com.mojang.brigadier.suggestion.SuggestionsBuilder;
11 import java.util.Arrays;
12 import java.util.Collection;
13 import java.util.Optional;
14 import java.util.concurrent.CompletableFuture;
15 import java.util.stream.Stream;
16 import net.minecraft.commands.CommandSourceStack;
17 import net.minecraft.commands.SharedSuggestionProvider;
18 import net.minecraft.network.chat.Component;
19 
20 public class TestFunctionArgument implements ArgumentType<TestFunction> {
21    private static final Collection<String> EXAMPLES = Arrays.asList("techtests.piston", "techtests");
22 
23    public TestFunction parse(StringReader $$0) throws CommandSyntaxException {
24       String $$1 = $$0.readUnquotedString();
25       Optional<TestFunction> $$2 = GameTestRegistry.findTestFunction($$1);
26       if ($$2.isPresent()) {
27          return $$2.get();
28       } else {
29          Message $$3 = Component.literal("No such test: " + $$1);
30          throw new CommandSyntaxException(new SimpleCommandExceptionType($$3), $$3);
31       }
32    }
33 
34    public static TestFunctionArgument testFunctionArgument() {
35       return new TestFunctionArgument();
36    }
37 
38    public static TestFunction getTestFunction(CommandContext<CommandSourceStack> $$0, String $$1) {
39       return $$0.getArgument($$1, TestFunction.class);
40    }
41 
42    @Override
43    public <S> CompletableFuture<Suggestions> listSuggestions(CommandContext<S> $$0, SuggestionsBuilder $$1) {
44       return suggestTestFunction($$0, $$1);
45    }
46 
47    public static <S> CompletableFuture<Suggestions> suggestTestFunction(CommandContext<S> $$0, SuggestionsBuilder $$1) {
48       Stream<String> $$2 = GameTestRegistry.getAllTestFunctions().stream().map(TestFunction::testName);
49       return SharedSuggestionProvider.suggest($$2, $$1);
50    }
51 
52    @Override
53    public Collection<String> getExamples() {
54       return EXAMPLES;
55    }
56 }
57 

net/minecraft/gametest/framework/TestInstanceFinder.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.stream.Stream;
 4 import net.minecraft.core.Holder;
 5 
 6 @FunctionalInterface
 7 public interface TestInstanceFinder {
 8    Stream<Holder.Reference<GameTestInstance>> findTests();
 9 }
10 

net/minecraft/util/datafix/schemas/V1460.java --- 1/10 --- Java
16    }                                                                    16    }
17                                                                         17 
18    protected static void registerMob(Schema $$0, Map<String, Supplier<T 18    protected static void registerMob(Schema $$0, Map<String, Supplier<T
.. ypeTemplate>> $$1, String $$2) {                                        .. ypeTemplate>> $$1, String $$2) {
19       $$0.register($$1, $$2, () -> V100.equipment($$0));                19       $$0.registerSimple($$1, $$2);
20    }                                                                    20    }
21                                                                         21 
22    protected static void registerInventory(Schema $$0, Map<String, Supp 22    protected static void registerInventory(Schema $$0, Map<String, Supp
   lier<TypeTemplate>> $$1, String $$2) {                                     lier<TypeTemplate>> $$1, String $$2) {

net/minecraft/util/datafix/schemas/V1460.java --- 2/10 --- Java
49       $$0.register(                                                     49       $$0.register(
50          $$1,                                                           50          $$1, "minecraft:donkey", $$1x -> DSL.optionalFields("Items", D
..                                                                         .. SL.list(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM_S
..                                                                         .. TACK.in($$0))
51          "minecraft:donkey",                                            .. 
52          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_S .. 
.. TACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipm .. 
.. ent($$0))                                                               .. 
53       );                                                                51       );
54       $$0.registerSimple($$1, "minecraft:dragon_fireball");             52       $$0.registerSimple($$1, "minecraft:dragon_fireball");
55       $$0.registerSimple($$1, "minecraft:egg");                         53       $$0.registerSimple($$1, "minecraft:egg");
56       registerMob($$0, $$1, "minecraft:elder_guardian");                54       registerMob($$0, $$1, "minecraft:elder_guardian");
57       $$0.registerSimple($$1, "minecraft:ender_crystal");               55       $$0.registerSimple($$1, "minecraft:ender_crystal");
58       registerMob($$0, $$1, "minecraft:ender_dragon");                  56       registerMob($$0, $$1, "minecraft:ender_dragon");
59       $$0.register($$1, "minecraft:enderman", $$1x -> DSL.optionalField 57       $$0.register($$1, "minecraft:enderman", $$1x -> DSL.optionalField
.. s("carriedBlockState", References.BLOCK_STATE.in($$0), V100.equipment($ .. s("carriedBlockState", References.BLOCK_STATE.in($$0)));
.. $0)));                                                                  .. 
60       registerMob($$0, $$1, "minecraft:endermite");                     58       registerMob($$0, $$1, "minecraft:endermite");
61       $$0.registerSimple($$1, "minecraft:ender_pearl");                 59       $$0.registerSimple($$1, "minecraft:ender_pearl");
62       $$0.registerSimple($$1, "minecraft:evocation_fangs");             60       $$0.registerSimple($$1, "minecraft:evocation_fangs");

net/minecraft/util/datafix/schemas/V1460.java --- 3/10 --- Java
81       $$0.register(                                                     79       $$0.register($$1, "minecraft:horse", $$1x -> DSL.optionalFields("
..                                                                         .. ArmorItem", References.ITEM_STACK.in($$0), "SaddleItem", References.ITE
..                                                                         .. M_STACK.in($$0)));
82          $$1,                                                           .. 
83          "minecraft:horse",                                             .. 
84          $$1x -> DSL.optionalFields("ArmorItem", References.ITEM_STACK. .. 
.. in($$0), "SaddleItem", References.ITEM_STACK.in($$0), V100.equipment($$ .. 
.. 0))                                                                     .. 
85       );                                                                .. 
86       registerMob($$0, $$1, "minecraft:husk");                          80       registerMob($$0, $$1, "minecraft:husk");
87       $$0.registerSimple($$1, "minecraft:illusion_illager");            81       registerMob($$0, $$1, "minecraft:illusion_illager");
88       $$0.register($$1, "minecraft:item", $$1x -> DSL.optionalFields("I 82       $$0.register($$1, "minecraft:item", $$1x -> DSL.optionalFields("I
.. tem", References.ITEM_STACK.in($$0)));                                  .. tem", References.ITEM_STACK.in($$0)));
89       $$0.register($$1, "minecraft:item_frame", $$1x -> DSL.optionalFie 83       $$0.register($$1, "minecraft:item_frame", $$1x -> DSL.optionalFie
.. lds("Item", References.ITEM_STACK.in($$0)));                            .. lds("Item", References.ITEM_STACK.in($$0)));
90       $$0.registerSimple($$1, "minecraft:leash_knot");                  84       $$0.registerSimple($$1, "minecraft:leash_knot");

net/minecraft/util/datafix/schemas/V1460.java --- 4/10 --- Java
 97                "SaddleItem",                                           .. 
 98                References.ITEM_STACK.in($$0),                          .. 
 99                "DecorItem",                                            .. 
100                References.ITEM_STACK.in($$0),                          .. 
101                V100.equipment($$0)                                     .. 
102             )                                                          90             )
103       );                                                               91       );
104       $$0.registerSimple($$1, "minecraft:llama_spit");                 92       $$0.registerSimple($$1, "minecraft:llama_spit");

net/minecraft/util/datafix/schemas/V1460.java --- 5/10 --- Java
108       $$0.register(                                                     96       $$0.register(
109          $$1,                                                           97          $$1, "minecraft:mule", $$1x -> DSL.optionalFields("Items", DS
...                                                                         .. L.list(References.ITEM_STACK.in($$0)), "SaddleItem", References.ITEM_S
...                                                                         .. TACK.in($$0))
110          "minecraft:mule",                                              .. 
111          $$1x -> DSL.optionalFields("Items", DSL.list(References.ITEM_  .. 
... STACK.in($$0)), "SaddleItem", References.ITEM_STACK.in($$0), V100.equi  .. 
... pment($$0))                                                             .. 
112       );                                                                98       );
113       registerMob($$0, $$1, "minecraft:ocelot");                        99       registerMob($$0, $$1, "minecraft:ocelot");
114       $$0.registerSimple($$1, "minecraft:painting");                   100       $$0.registerSimple($$1, "minecraft:painting");
115       $$0.registerSimple($$1, "minecraft:parrot");                     101       registerMob($$0, $$1, "minecraft:parrot");
116       registerMob($$0, $$1, "minecraft:pig");                          102       registerMob($$0, $$1, "minecraft:pig");
117       registerMob($$0, $$1, "minecraft:polar_bear");                   103       registerMob($$0, $$1, "minecraft:polar_bear");
118       $$0.register($$1, "minecraft:potion", $$1x -> DSL.optionalFields 104       $$0.register($$1, "minecraft:potion", $$1x -> DSL.optionalFields
    ("Potion", References.ITEM_STACK.in($$0)));                                ("Potion", References.ITEM_STACK.in($$0)));

net/minecraft/util/datafix/schemas/V1460.java --- 6/10 --- Java
122       $$0.registerSimple($$1, "minecraft:shulker_bullet");             108       $$0.registerSimple($$1, "minecraft:shulker_bullet");
123       registerMob($$0, $$1, "minecraft:silverfish");                   109       registerMob($$0, $$1, "minecraft:silverfish");
124       registerMob($$0, $$1, "minecraft:skeleton");                     110       registerMob($$0, $$1, "minecraft:skeleton");
125       $$0.register($$1, "minecraft:skeleton_horse", $$1x -> DSL.option 111       $$0.register($$1, "minecraft:skeleton_horse", $$1x -> DSL.option
... alFields("SaddleItem", References.ITEM_STACK.in($$0), V100.equipment($ ... alFields("SaddleItem", References.ITEM_STACK.in($$0)));
... $0)));                                                                 ... 
126       registerMob($$0, $$1, "minecraft:slime");                        112       registerMob($$0, $$1, "minecraft:slime");
127       $$0.registerSimple($$1, "minecraft:small_fireball");             113       $$0.registerSimple($$1, "minecraft:small_fireball");
128       $$0.registerSimple($$1, "minecraft:snowball");                   114       $$0.registerSimple($$1, "minecraft:snowball");

net/minecraft/util/datafix/schemas/V1460.java --- 7/10 --- Java
144                "Inventory",                                            130                "Inventory", DSL.list(References.ITEM_STACK.in($$0)), "
...                                                                        ... Offers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_TR
...                                                                        ... ADE.in($$0)))
145                DSL.list(References.ITEM_STACK.in($$0)),                ... 
146                "Offers",                                               ... 
147                DSL.optionalFields("Recipes", DSL.list(References.VILLA ... 
... GER_TRADE.in($$0))),                                                   ... 
148                V100.equipment($$0)                                     ... 
149             )                                                          131             )
150       );                                                               132       );
151       registerMob($$0, $$1, "minecraft:villager_golem");               133       registerMob($$0, $$1, "minecraft:villager_golem");

net/minecraft/util/datafix/schemas/V1460.java --- 8/10 --- Java
158       $$0.registerSimple($$1, "minecraft:xp_bottle");                  140       $$0.registerSimple($$1, "minecraft:xp_bottle");
159       $$0.registerSimple($$1, "minecraft:xp_orb");                     141       $$0.registerSimple($$1, "minecraft:xp_orb");
160       registerMob($$0, $$1, "minecraft:zombie");                       142       registerMob($$0, $$1, "minecraft:zombie");
161       $$0.register($$1, "minecraft:zombie_horse", $$1x -> DSL.optional 143       $$0.register($$1, "minecraft:zombie_horse", $$1x -> DSL.optional
... Fields("SaddleItem", References.ITEM_STACK.in($$0), V100.equipment($$0 ... Fields("SaddleItem", References.ITEM_STACK.in($$0)));
... )));                                                                   ... 
162       registerMob($$0, $$1, "minecraft:zombie_pigman");                144       registerMob($$0, $$1, "minecraft:zombie_pigman");
163       $$0.register(                                                    145       $$0.register(
164          $$1,                                                          146          $$1, "minecraft:zombie_villager", $$1x -> DSL.optionalFields(
...                                                                        ... "Offers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_T
...                                                                        ... RADE.in($$0))))
165          "minecraft:zombie_villager",                                  ... 
166          $$1x -> DSL.optionalFields("Offers", DSL.optionalFields("Reci ... 
... pes", DSL.list(References.VILLAGER_TRADE.in($$0))), V100.equipment($$0 ... 
... ))                                                                     ... 
167       );                                                               147       );
168       return $$1;                                                      148       return $$1;
169    }                                                                   149    }

net/minecraft/util/datafix/schemas/V1460.java --- 9/10 --- Java
245       $$0.registerType(                                                225       $$0.registerType(
246          true,                                                         226          true,
247          References.ENTITY,                                            227          References.ENTITY,
248          () -> DSL.optionalFields("CustomName", References.TEXT_COMPON 228          () -> DSL.and(
... ENT.in($$0), DSL.taggedChoiceLazy("id", namespacedString(), $$1))      ... 
...                                                                        229                References.ENTITY_EQUIPMENT.in($$0),
...                                                                        230                DSL.optionalFields("CustomName", References.TEXT_COMPON
...                                                                        ... ENT.in($$0), DSL.taggedChoiceLazy("id", namespacedString(), $$1))
...                                                                        231             )
249       );                                                               232       );
250       $$0.registerType(                                                233       $$0.registerType(
251          true,                                                         234          true,

net/minecraft/util/datafix/schemas/V1460.java --- 10/10 --- Java
374       );                                                               357       );
375       $$0.registerType(true, References.PARTICLE, () -> DSL.constType( 358       $$0.registerType(true, References.PARTICLE, () -> DSL.constType(
... DSL.string()));                                                        ... DSL.string()));
376       $$0.registerType(true, References.TEXT_COMPONENT, () -> DSL.cons 359       $$0.registerType(true, References.TEXT_COMPONENT, () -> DSL.cons
... tType(DSL.string()));                                                  ... tType(DSL.string()));
...                                                                        360       $$0.registerType(
...                                                                        361          true,
...                                                                        362          References.ENTITY_EQUIPMENT,
...                                                                        363          () -> DSL.and(
...                                                                        364                DSL.optional(DSL.field("ArmorItems", DSL.list(Reference
...                                                                        ... s.ITEM_STACK.in($$0)))),
...                                                                        365                DSL.optional(DSL.field("HandItems", DSL.list(References
...                                                                        ... .ITEM_STACK.in($$0)))),
...                                                                        366                DSL.optional(DSL.field("body_armor_item", References.IT
...                                                                        ... EM_STACK.in($$0))),
...                                                                        367                DSL.optional(DSL.field("saddle", References.ITEM_STACK.
...                                                                        ... in($$0)))
...                                                                        368             )
...                                                                        369       );
377    }                                                                   370    }
378 }                                                                      371 }

net/minecraft/gametest/framework/AfterBatch.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.lang.annotation.ElementType;
 4 import java.lang.annotation.Retention;
 5 import java.lang.annotation.RetentionPolicy;
 6 import java.lang.annotation.Target;
 7 
 8 @Target({ElementType.METHOD})
 9 @Retention(RetentionPolicy.RUNTIME)
10 public @interface AfterBatch {
11    String batch();
12 }
13 

net/minecraft/gametest/framework/FunctionGameTestInstance.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import com.mojang.serialization.MapCodec;
 4 import com.mojang.serialization.codecs.RecordCodecBuilder;
 5 import java.util.function.Consumer;
 6 import net.minecraft.core.Holder;
 7 import net.minecraft.core.registries.BuiltInRegistries;
 8 import net.minecraft.network.chat.Component;
 9 import net.minecraft.network.chat.MutableComponent;
10 
11 public class FunctionGameTestInstance extends GameTestInstance {
12    public static final MapCodec<FunctionGameTestInstance> CODEC = RecordCodecBuilder.mapCodec(
13       $$0 -> $$0.group(
14                BuiltInRegistries.TEST_FUNCTION.holderByNameCodec().fieldOf("function").forGetter(FunctionGameTestInstance::function),
15                TestData.CODEC.forGetter(GameTestInstance::info)
16             )
17             .apply($$0, FunctionGameTestInstance::new)
18    );
19    private final Holder<Consumer<GameTestHelper>> function;
20 
21    public FunctionGameTestInstance(Holder<Consumer<GameTestHelper>> $$0, TestData<Holder<TestEnvironmentDefinition>> $$1) {
22       super($$1);
23       this.function = $$0;
24    }
25 
26    @Override
27    public void run(GameTestHelper $$0) {
28       this.function.value().accept($$0);
29    }
30 
31    private Holder<Consumer<GameTestHelper>> function() {
32       return this.function;
33    }
34 
35    @Override
36    public MapCodec<FunctionGameTestInstance> codec() {
37       return CODEC;
38    }
39 
40    @Override
41    protected MutableComponent typeDescription() {
42       return Component.translatable("test_instance.type.function");
43    }
44 
45    @Override
46    public Component describe() {
47       return this.describeType()
48          .append(this.descriptionRow("test_instance.description.function", this.function.getRegisteredName()))
49          .append(this.describeInfo());
50    }
51 }
52 

net/minecraft/world/entity/animal/FrogVariant.java --- Java
 1 package net.minecraft.world.entity.animal;                               1 package net.minecraft.world.entity.animal;
 2                                                                          2 
 .                                                                          3 import com.mojang.serialization.Codec;
 3 import net.minecraft.core.Holder;                                        4 import net.minecraft.core.Holder;
 4 import net.minecraft.core.Registry;                                      5 import net.minecraft.core.Registry;
 5 import net.minecraft.core.registries.Registries;                         6 import net.minecraft.core.registries.Registries;
 6 import net.minecraft.network.RegistryFriendlyByteBuf;                    7 import net.minecraft.network.RegistryFriendlyByteBuf;
 7 import net.minecraft.network.codec.ByteBufCodecs;                        8 import net.minecraft.network.codec.ByteBufCodecs;
 8 import net.minecraft.network.codec.StreamCodec;                          9 import net.minecraft.network.codec.StreamCodec;
 .                                                                         10 import net.minecraft.resources.RegistryFixedCodec;
 9 import net.minecraft.resources.ResourceKey;                             11 import net.minecraft.resources.ResourceKey;
10 import net.minecraft.resources.ResourceLocation;                        12 import net.minecraft.resources.ResourceLocation;
11                                                                         13 
12 public record FrogVariant(ResourceLocation texture) {                   14 public record FrogVariant(ResourceLocation texture) {
..                                                                         15    public static final Codec<Holder<FrogVariant>> CODEC = RegistryFixed
..                                                                         .. Codec.create(Registries.FROG_VARIANT);
13    public static final StreamCodec<RegistryFriendlyByteBuf, Holder<Frog 16    public static final StreamCodec<RegistryFriendlyByteBuf, Holder<Frog
.. Variant>> STREAM_CODEC = ByteBufCodecs.holderRegistry(Registries.FROG_V .. Variant>> STREAM_CODEC = ByteBufCodecs.holderRegistry(Registries.FROG_V
.. ARIANT);                                                                .. ARIANT);
14    public static final ResourceKey<FrogVariant> TEMPERATE = createKey(T 17    public static final ResourceKey<FrogVariant> TEMPERATE = createKey(T
.. emperatureVariant.TEMPERATE.getId());                                   .. emperatureVariant.TEMPERATE.getId());
15    public static final ResourceKey<FrogVariant> WARM = createKey(Temper 18    public static final ResourceKey<FrogVariant> WARM = createKey(Temper
   atureVariant.WARM.getId());                                                atureVariant.WARM.getId());

net/minecraft/world/entity/ai/goal/LandOnOwnersShoulderGoal.java --- 1/3 --- Java
 5                                                                          5 
 6 public class LandOnOwnersShoulderGoal extends Goal {                     6 public class LandOnOwnersShoulderGoal extends Goal {
 7    private final ShoulderRidingEntity entity;                            7    private final ShoulderRidingEntity entity;
 8    private ServerPlayer owner;                                           . 
 9    private boolean isSittingOnShoulder;                                  8    private boolean isSittingOnShoulder;
10                                                                          9 
11    public LandOnOwnersShoulderGoal(ShoulderRidingEntity $$0) {          10    public LandOnOwnersShoulderGoal(ShoulderRidingEntity $$0) {

net/minecraft/world/entity/ai/goal/LandOnOwnersShoulderGoal.java --- 2/3 --- Java
14                                                                         13 
15    @Override                                                            14    @Override
16    public boolean canUse() {                                            15    public boolean canUse() {
17       ServerPlayer $$0 = (ServerPlayer)this.entity.getOwner();          16       if (!(this.entity.getOwner() instanceof ServerPlayer $$0)) {
..                                                                         17          return false;
..                                                                         18       } else {
18       boolean $$1 = $$0 != null && !$$0.isSpectator() && !$$0.getAbilit 19          boolean $$1 = !$$0.isSpectator() && !$$0.getAbilities().flying
.. ies().flying && !$$0.isInWater() && !$$0.isInPowderSnow;                ..  && !$$0.isInWater() && !$$0.isInPowderSnow;
19       return !this.entity.isOrderedToSit() && $$1 && this.entity.canSit 20          return !this.entity.isOrderedToSit() && $$1 && this.entity.can
.. OnShoulder();                                                           .. SitOnShoulder();
..                                                                         21       }
20    }                                                                    22    }
21                                                                         23 
22    @Override                                                            24    @Override

net/minecraft/world/entity/ai/goal/LandOnOwnersShoulderGoal.java --- 3/3 --- Java
26                                                                         28 
27    @Override                                                            29    @Override
28    public void start() {                                                30    public void start() {
29       this.owner = (ServerPlayer)this.entity.getOwner();                .. 
30       this.isSittingOnShoulder = false;                                 31       this.isSittingOnShoulder = false;
31    }                                                                    32    }
32                                                                         33 
33    @Override                                                            34    @Override
34    public void tick() {                                                 35    public void tick() {
35       if (!this.isSittingOnShoulder && !this.entity.isInSittingPose() & 36       if (!this.isSittingOnShoulder && !this.entity.isInSittingPose() &
.. & !this.entity.isLeashed()) {                                           .. & !this.entity.isLeashed()) {
36          if (this.entity.getBoundingBox().intersects(this.owner.getBoun 37          if (this.entity.getOwner() instanceof ServerPlayer $$0 && this
.. dingBox())) {                                                           .. .entity.getBoundingBox().intersects($$0.getBoundingBox())) {
37             this.isSittingOnShoulder = this.entity.setEntityOnShoulder( 38             this.isSittingOnShoulder = this.entity.setEntityOnShoulder(
.. this.owner);                                                            .. $$0);
38          }                                                              39          }
39       }                                                                 40       }
40    }                                                                    41    }

net/minecraft/gametest/framework/GameTestRunner.java --- 1/8 --- Java
11 import java.util.stream.Collectors;                                     11 import java.util.stream.Collectors;
12 import javax.annotation.Nullable;                                       12 import javax.annotation.Nullable;
13 import net.minecraft.Util;                                              13 import net.minecraft.Util;
..                                                                         14 import net.minecraft.core.Holder;
14 import net.minecraft.network.protocol.game.DebugPackets;                15 import net.minecraft.network.protocol.game.DebugPackets;
15 import net.minecraft.server.level.ServerLevel;                          16 import net.minecraft.server.level.ServerLevel;
16 import net.minecraft.world.level.ChunkPos;                              17 import net.minecraft.world.level.ChunkPos;

net/minecraft/gametest/framework/GameTestRunner.java --- 2/8 --- Java
28    private final GameTestRunner.GameTestBatcher testBatcher;            29    private final GameTestRunner.GameTestBatcher testBatcher;
29    private boolean stopped = true;                                      30    private boolean stopped = true;
30    @Nullable                                                            31    @Nullable
31    GameTestBatch currentBatch;                                          32    private Holder<TestEnvironmentDefinition> currentEnvironment;
32    private final GameTestRunner.StructureSpawner existingStructureSpawn 33    private final GameTestRunner.StructureSpawner existingStructureSpawn
.. er;                                                                     .. er;
33    private final GameTestRunner.StructureSpawner newStructureSpawner;   34    private final GameTestRunner.StructureSpawner newStructureSpawner;
34    final boolean haltOnError;                                           35    final boolean haltOnError;

net/minecraft/gametest/framework/GameTestRunner.java --- 3/8 --- Java
65                                                                         66 
66    public void stop() {                                                 67    public void stop() {
67       this.stopped = true;                                              68       this.stopped = true;
68       if (this.currentBatch != null) {                                  69       if (this.currentEnvironment != null) {
69          this.currentBatch.afterBatchFunction().accept(this.level);     70          this.endCurrentEnvironment();
70       }                                                                 71       }
71    }                                                                    72    }
72                                                                         73 

net/minecraft/gametest/framework/GameTestRunner.java --- 4/8 --- Java
 82                                                                         83 
 83    void runBatch(final int $$0) {                                       84    void runBatch(final int $$0) {
 84       if ($$0 >= this.batches.size()) {                                 85       if ($$0 >= this.batches.size()) {
 ..                                                                         86          this.endCurrentEnvironment();
 85          this.runScheduledRerunTests();                                 87          this.runScheduledRerunTests();
 86       } else {                                                          88       } else {
 87          this.currentBatch = this.batches.get($$0);                     89          final GameTestBatch $$1 = this.batches.get($$0);
 88          this.existingStructureSpawner.onBatchStart(this.level);        90          this.existingStructureSpawner.onBatchStart(this.level);
 89          this.newStructureSpawner.onBatchStart(this.level);             91          this.newStructureSpawner.onBatchStart(this.level);
 90          Collection<GameTestInfo> $$1 = this.createStructuresForBatch(  92          Collection<GameTestInfo> $$2 = this.createStructuresForBatch(
 .. this.currentBatch.gameTestInfos());                                     .. $$1.gameTestInfos());
 91          String $$2 = this.currentBatch.name();                         .. 
 92          LOGGER.info("Running test batch '{}' ({} tests)...", $$2, $$1  93          LOGGER.info("Running test environment '{}' batch {} ({} tests
 .. .size());                                                               .. )...", $$1.environment().getRegisteredName(), $$1.index(), $$2.size())
 ..                                                                         .. ;
 ..                                                                         94          if (this.currentEnvironment != $$1.environment()) {
 ..                                                                         95             this.endCurrentEnvironment();
 ..                                                                         96             this.currentEnvironment = $$1.environment();
 93          this.currentBatch.beforeBatchFunction().accept(this.level);    97             this.currentEnvironment.value().setup(this.level);
 ..                                                                         98          }
 ..                                                                         99 
 94          this.batchListeners.forEach($$0x -> $$0x.testBatchStarting(th 100          this.batchListeners.forEach($$1x -> $$1x.testBatchStarting($$
 .. is.currentBatch));                                                     ... 1));
 95          final MultipleTestTracker $$3 = new MultipleTestTracker();    101          final MultipleTestTracker $$3 = new MultipleTestTracker();
 96          $$1.forEach($$3::addTestToTrack);                             102          $$2.forEach($$3::addTestToTrack);
 97          $$3.addListener(new GameTestListener() {                      103          $$3.addListener(new GameTestListener() {
 98             private void testCompleted() {                             104             private void testCompleted() {
 99                if ($$3.isDone()) {                                     105                if ($$3.isDone()) {
100                   GameTestRunner.this.currentBatch.afterBatchFunction( ... 
... ).accept(GameTestRunner.this.level);                                   ... 
101                   GameTestRunner.this.batchListeners.forEach($$0xxx -> 106                   GameTestRunner.this.batchListeners.forEach($$1xx -> 
...  $$0xxx.testBatchFinished(GameTestRunner.this.currentBatch));          ... $$1xx.testBatchFinished($$1));
102                   LongSet $$0 = new LongArraySet(GameTestRunner.this.l 107                   LongSet $$0 = new LongArraySet(GameTestRunner.this.l
... evel.getForceLoadedChunks());                                          ... evel.getForceLoadedChunks());
103                   $$0.forEach($$0xxx -> GameTestRunner.this.level.setC 108                   $$0.forEach($$0xxx -> GameTestRunner.this.level.setC
... hunkForced(ChunkPos.getX($$0xxx), ChunkPos.getZ($$0xxx), false));      ... hunkForced(ChunkPos.getX($$0xxx), ChunkPos.getZ($$0xxx), false));
104                   GameTestRunner.this.runBatch($$0 + 1);               109                   GameTestRunner.this.runBatch($$0 + 1);

net/minecraft/gametest/framework/GameTestRunner.java --- 5/8 --- Java
110             }                                                          115             }
111                                                                        116 
112             @Override                                                  117             @Override
113             public void testPassed(GameTestInfo $$0x, GameTestRunner $ 118             public void testPassed(GameTestInfo $$0x, GameTestRunner $
... $1) {                                                                  ... $1x) {
114                this.testCompleted();                                   119                this.testCompleted();
115             }                                                          120             }
116                                                                        121 
117             @Override                                                  122             @Override
118             public void testFailed(GameTestInfo $$0x, GameTestRunner $ 123             public void testFailed(GameTestInfo $$0x, GameTestRunner $
... $1) {                                                                  ... $1x) {
119                if (GameTestRunner.this.haltOnError) {                  124                if (GameTestRunner.this.haltOnError) {
120                   GameTestRunner.this.currentBatch.afterBatchFunction( 125                   GameTestRunner.this.endCurrentEnvironment();
... ).accept(GameTestRunner.this.level);                                   ... 
121                   LongSet $$2 = new LongArraySet(GameTestRunner.this.l 126                   LongSet $$2 = new LongArraySet(GameTestRunner.this.l
... evel.getForceLoadedChunks());                                          ... evel.getForceLoadedChunks());
122                   $$2.forEach($$0xxx -> GameTestRunner.this.level.setC 127                   $$2.forEach($$0xxx -> GameTestRunner.this.level.setC
... hunkForced(ChunkPos.getX($$0xxx), ChunkPos.getZ($$0xxx), false));      ... hunkForced(ChunkPos.getX($$0xxx), ChunkPos.getZ($$0xxx), false));
123                   GameTestTicker.SINGLETON.clear();                    128                   GameTestTicker.SINGLETON.clear();

net/minecraft/gametest/framework/GameTestRunner.java --- 6/8 --- Java
127             }                                                          132             }
128                                                                        133 
129             @Override                                                  134             @Override
130             public void testAddedForRerun(GameTestInfo $$0x, GameTestI 135             public void testAddedForRerun(GameTestInfo $$0x, GameTestI
... nfo $$1, GameTestRunner $$2) {                                         ... nfo $$1x, GameTestRunner $$2) {
131             }                                                          136             }
132          });                                                           137          });
133          $$1.forEach(this.testTicker::add);                            138          $$2.forEach(this.testTicker::add);
134       }                                                                139       }
135    }                                                                   140    }
...                                                                        141 
...                                                                        142    void endCurrentEnvironment() {
...                                                                        143       if (this.currentEnvironment != null) {
...                                                                        144          this.currentEnvironment.value().teardown(this.level);
...                                                                        145          this.currentEnvironment = null;
...                                                                        146       }
...                                                                        147    }
136                                                                        148 
137    private void runScheduledRerunTests() {                             149    private void runScheduledRerunTests() {
138       if (!this.scheduledForRerun.isEmpty()) {                         150       if (!this.scheduledForRerun.isEmpty()) {
139          LOGGER.info(                                                  151          LOGGER.info("Starting re-run of tests: {}", this.scheduledFor
...                                                                        ... Rerun.stream().map($$0 -> $$0.id().toString()).collect(Collectors.join
...                                                                        ... ing(", ")));
140             "Starting re-run of tests: {}", this.scheduledForRerun.str ... 
... eam().map($$0 -> $$0.getTestFunction().testName()).collect(Collectors. ... 
... joining(", "))                                                         ... 
141          );                                                            ... 
142          this.batches = ImmutableList.copyOf(this.testBatcher.batch(th 152          this.batches = ImmutableList.copyOf(this.testBatcher.batch(th
... is.scheduledForRerun));                                                ... is.scheduledForRerun));
143          this.scheduledForRerun.clear();                               153          this.scheduledForRerun.clear();

net/minecraft/gametest/framework/GameTestRunner.java --- 7/8 --- Java
158    }                                                                   168    }
159                                                                        169 
160    private Optional<GameTestInfo> spawn(GameTestInfo $$0) {            170    private Optional<GameTestInfo> spawn(GameTestInfo $$0) {
161       return $$0.getStructureBlockPos() == null ? this.newStructureSpa 171       return $$0.getTestBlockPos() == null ? this.newStructureSpawner.
... wner.spawnStructure($$0) : this.existingStructureSpawner.spawnStructur ... spawnStructure($$0) : this.existingStructureSpawner.spawnStructure($$0
... e($$0);                                                                ... );
162    }                                                                   172    }
163                                                                        173 
164    public static void clearMarkers(ServerLevel $$0) {                  174    public static void clearMarkers(ServerLevel $$0) {

net/minecraft/gametest/framework/GameTestRunner.java --- 8/8 --- Java
219    }                                                                   229    }
220                                                                        230 
221    public interface StructureSpawner {                                 231    public interface StructureSpawner {
222       GameTestRunner.StructureSpawner IN_PLACE = $$0 -> Optional.of($$ 232       GameTestRunner.StructureSpawner IN_PLACE = $$0 -> Optional.of($$
... 0.prepareTestStructure().placeStructure().startExecution(1));          ... 0.prepareTestStructure().startExecution(1));
223       GameTestRunner.StructureSpawner NOT_SET = $$0 -> Optional.empty( 233       GameTestRunner.StructureSpawner NOT_SET = $$0 -> Optional.empty(
... );                                                                     ... );
224                                                                        234 
225       Optional<GameTestInfo> spawnStructure(GameTestInfo var1);        235       Optional<GameTestInfo> spawnStructure(GameTestInfo var1);

net/minecraft/gametest/framework/GeneratedTest.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.Map;
 4 import java.util.function.Consumer;
 5 import net.minecraft.core.registries.Registries;
 6 import net.minecraft.resources.ResourceKey;
 7 import net.minecraft.resources.ResourceLocation;
 8 
 9 public record GeneratedTest(
10    Map<ResourceLocation, TestData<ResourceKey<TestEnvironmentDefinition>>> tests,
11    ResourceKey<Consumer<GameTestHelper>> functionKey,
12    Consumer<GameTestHelper> function
13 ) {
14    public GeneratedTest(Map<ResourceLocation, TestData<ResourceKey<TestEnvironmentDefinition>>> $$0, ResourceLocation $$1, Consumer<GameTestHelper> $$2) {
15       this($$0, ResourceKey.create(Registries.TEST_FUNCTION, $$1), $$2);
16    }
17 
18    public GeneratedTest(ResourceLocation $$0, TestData<ResourceKey<TestEnvironmentDefinition>> $$1, Consumer<GameTestHelper> $$2) {
19       this(Map.of($$0, $$1), $$0, $$2);
20    }
21 }
22 

net/minecraft/gametest/framework/TestData.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import com.mojang.serialization.Codec;
 4 import com.mojang.serialization.MapCodec;
 5 import com.mojang.serialization.codecs.RecordCodecBuilder;
 6 import java.util.function.Function;
 7 import net.minecraft.core.Holder;
 8 import net.minecraft.resources.ResourceLocation;
 9 import net.minecraft.util.ExtraCodecs;
10 import net.minecraft.world.level.block.Rotation;
11 
12 public record TestData<EnvironmentType>(
13    EnvironmentType environment,
14    ResourceLocation structure,
15    int maxTicks,
16    int setupTicks,
17    boolean required,
18    Rotation rotation,
19    boolean manualOnly,
20    int maxAttempts,
21    int requiredSuccesses,
22    boolean skyAccess
23 ) {
24    public static final MapCodec<TestData<Holder<TestEnvironmentDefinition>>> CODEC = RecordCodecBuilder.mapCodec(
25       $$0 -> $$0.group(
26                TestEnvironmentDefinition.CODEC.fieldOf("batch").forGetter(TestData::environment),
27                ResourceLocation.CODEC.fieldOf("structure").forGetter(TestData::structure),
28                ExtraCodecs.POSITIVE_INT.fieldOf("max_ticks").forGetter(TestData::maxTicks),
29                ExtraCodecs.NON_NEGATIVE_INT.optionalFieldOf("setup_ticks", 0).forGetter(TestData::setupTicks),
30                Codec.BOOL.optionalFieldOf("required", Boolean.valueOf(true)).forGetter(TestData::required),
31                Rotation.CODEC.optionalFieldOf("rotation", Rotation.NONE).forGetter(TestData::rotation),
32                Codec.BOOL.optionalFieldOf("manual_only", Boolean.valueOf(false)).forGetter(TestData::manualOnly),
33                ExtraCodecs.POSITIVE_INT.optionalFieldOf("max_attempts", 1).forGetter(TestData::maxAttempts),
34                ExtraCodecs.POSITIVE_INT.optionalFieldOf("required_successes", 1).forGetter(TestData::requiredSuccesses),
35                Codec.BOOL.optionalFieldOf("sky_accesss", Boolean.valueOf(false)).forGetter(TestData::skyAccess)
36             )
37             .apply($$0, TestData::new)
38    );
39 
40    public TestData(EnvironmentType $$0, ResourceLocation $$1, int $$2, int $$3, boolean $$4, Rotation $$5) {
41       this($$0, $$1, $$2, $$3, $$4, $$5, false, 1, 1, false);
42    }
43 
44    public TestData(EnvironmentType $$0, ResourceLocation $$1, int $$2, int $$3, boolean $$4) {
45       this($$0, $$1, $$2, $$3, $$4, Rotation.NONE);
46    }
47 
48    public <T> TestData<T> map(Function<EnvironmentType, T> $$0) {
49       return new TestData<>(
50          $$0.apply(this.environment),
51          this.structure,
52          this.maxTicks,
53          this.setupTicks,
54          this.required,
55          this.rotation,
56          this.manualOnly,
57          this.maxAttempts,
58          this.requiredSuccesses,
59          this.skyAccess
60       );
61    }
62 }
63 

net/minecraft/world/entity/animal/allay/Allay.java --- Java
509    private void duplicateAllay() {                                     509    private void duplicateAllay() {
510       Allay $$0 = EntityType.ALLAY.create(this.level(), EntitySpawnRea 510       Allay $$0 = EntityType.ALLAY.create(this.level(), EntitySpawnRea
... son.BREEDING);                                                         ... son.BREEDING);
511       if ($$0 != null) {                                               511       if ($$0 != null) {
512          $$0.moveTo(this.position());                                  512          $$0.snapTo(this.position());
513          $$0.setPersistenceRequired();                                 513          $$0.setPersistenceRequired();
514          $$0.resetDuplicationCooldown();                               514          $$0.resetDuplicationCooldown();
515          this.resetDuplicationCooldown();                              515          this.resetDuplicationCooldown();

net/minecraft/world/entity/monster/Zombie.java --- Java
484                } else if ((double)$$4.nextFloat() < 0.05) {            484                } else if ((double)$$4.nextFloat() < 0.05) {
485                   Chicken $$9 = EntityType.CHICKEN.create(this.level() 485                   Chicken $$9 = EntityType.CHICKEN.create(this.level()
... , EntitySpawnReason.JOCKEY);                                           ... , EntitySpawnReason.JOCKEY);
486                   if ($$9 != null) {                                   486                   if ($$9 != null) {
487                      $$9.moveTo(this.getX(), this.getY(), this.getZ(), 487                      $$9.snapTo(this.getX(), this.getY(), this.getZ(),
...  this.getYRot(), 0.0F);                                                ...  this.getYRot(), 0.0F);
488                      $$9.finalizeSpawn($$0, $$1, EntitySpawnReason.JOC 488                      $$9.finalizeSpawn($$0, $$1, EntitySpawnReason.JOC
... KEY, null);                                                            ... KEY, null);
489                      $$9.setChickenJockey(true);                       489                      $$9.setChickenJockey(true);
490                      this.startRiding($$9);                            490                      this.startRiding($$9);

net/minecraft/world/entity/animal/Animal.java --- Java
221       AgeableMob $$2 = this.getBreedOffspring($$0, $$1);               221       AgeableMob $$2 = this.getBreedOffspring($$0, $$1);
222       if ($$2 != null) {                                               222       if ($$2 != null) {
223          $$2.setBaby(true);                                            223          $$2.setBaby(true);
224          $$2.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F) 224          $$2.snapTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F)
... ;                                                                      ... ;
225          this.finalizeSpawnChildFromBreeding($$0, $$1, $$2);           225          this.finalizeSpawnChildFromBreeding($$0, $$1, $$2);
226          $$0.addFreshEntityWithPassengers($$2);                        226          $$0.addFreshEntityWithPassengers($$2);
227       }                                                                227       }

net/minecraft/util/datafix/schemas/V100.java --- Java
 12       super($$0, $$1);                                                 12       super($$0, $$1);
 13    }                                                                   13    }
 14                                                                        .. 
 15    protected static TypeTemplate equipment(Schema $$0) {               .. 
 16       return DSL.optionalFields(                                       .. 
 17          "ArmorItems",                                                 .. 
 18          DSL.list(References.ITEM_STACK.in($$0)),                      .. 
 19          "HandItems",                                                  .. 
 20          DSL.list(References.ITEM_STACK.in($$0)),                      .. 
 21          "body_armor_item",                                            .. 
 22          References.ITEM_STACK.in($$0)                                 .. 
 23       );                                                               .. 
 24    }                                                                   .. 
 25                                                                        .. 
 26    protected static void registerMob(Schema $$0, Map<String, Supplier< .. 
 .. TypeTemplate>> $$1, String $$2) {                                      .. 
 27       $$0.register($$1, $$2, () -> equipment($$0));                    .. 
 28    }                                                                   .. 
 29                                                                        .. 
 30    @Override                                                           .. 
 31    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema  .. 
 .. $$0) {                                                                 .. 
 32       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities .. 
 .. ($$0);                                                                 .. 
 33       registerMob($$0, $$1, "ArmorStand");                             .. 
 34       registerMob($$0, $$1, "Creeper");                                .. 
 35       registerMob($$0, $$1, "Skeleton");                               .. 
 36       registerMob($$0, $$1, "Spider");                                 .. 
 37       registerMob($$0, $$1, "Giant");                                  .. 
 38       registerMob($$0, $$1, "Zombie");                                 .. 
 39       registerMob($$0, $$1, "Slime");                                  .. 
 40       registerMob($$0, $$1, "Ghast");                                  .. 
 41       registerMob($$0, $$1, "PigZombie");                              .. 
 42       $$0.register($$1, "Enderman", $$1x -> DSL.optionalFields("carrie .. 
 .. d", References.BLOCK_NAME.in($$0), equipment($$0)));                   .. 
 43       registerMob($$0, $$1, "CaveSpider");                             .. 
 44       registerMob($$0, $$1, "Silverfish");                             .. 
 45       registerMob($$0, $$1, "Blaze");                                  .. 
 46       registerMob($$0, $$1, "LavaSlime");                              .. 
 47       registerMob($$0, $$1, "EnderDragon");                            .. 
 48       registerMob($$0, $$1, "WitherBoss");                             .. 
 49       registerMob($$0, $$1, "Bat");                                    .. 
 50       registerMob($$0, $$1, "Witch");                                  .. 
 51       registerMob($$0, $$1, "Endermite");                              .. 
 52       registerMob($$0, $$1, "Guardian");                               .. 
 53       registerMob($$0, $$1, "Pig");                                    .. 
 54       registerMob($$0, $$1, "Sheep");                                  .. 
 55       registerMob($$0, $$1, "Cow");                                    .. 
 56       registerMob($$0, $$1, "Chicken");                                .. 
 57       registerMob($$0, $$1, "Squid");                                  .. 
 58       registerMob($$0, $$1, "Wolf");                                   .. 
 59       registerMob($$0, $$1, "MushroomCow");                            .. 
 60       registerMob($$0, $$1, "SnowMan");                                .. 
 61       registerMob($$0, $$1, "Ozelot");                                 .. 
 62       registerMob($$0, $$1, "VillagerGolem");                          .. 
 63       $$0.register(                                                    .. 
 64          $$1,                                                          .. 
 65          "EntityHorse",                                                .. 
 66          $$1x -> DSL.optionalFields(                                   .. 
 67                "Items",                                                .. 
 68                DSL.list(References.ITEM_STACK.in($$0)),                .. 
 69                "ArmorItem",                                            .. 
 70                References.ITEM_STACK.in($$0),                          .. 
 71                "SaddleItem",                                           .. 
 72                References.ITEM_STACK.in($$0),                          .. 
 73                equipment($$0)                                          .. 
 74             )                                                          .. 
 75       );                                                               .. 
 76       registerMob($$0, $$1, "Rabbit");                                 .. 
 77       $$0.register(                                                    .. 
 78          $$1,                                                          .. 
 79          "Villager",                                                   .. 
 80          $$1x -> DSL.optionalFields(                                   .. 
 81                "Inventory",                                            .. 
 82                DSL.list(References.ITEM_STACK.in($$0)),                .. 
 83                "Offers",                                               .. 
 84                DSL.optionalFields("Recipes", DSL.list(References.VILLA .. 
 .. GER_TRADE.in($$0))),                                                   .. 
 85                equipment($$0)                                          .. 
 86             )                                                          .. 
 87       );                                                               .. 
 88       registerMob($$0, $$1, "Shulker");                                .. 
 89       $$0.register($$1, "AreaEffectCloud", $$1x -> DSL.optionalFields( .. 
 .. "Particle", References.PARTICLE.in($$0)));                             .. 
 90       $$0.registerSimple($$1, "ShulkerBullet");                        .. 
 91       return $$1;                                                      .. 
 92    }                                                                   .. 
 93                                                                        14 
 94    @Override                                                           15    @Override
 95    public void registerTypes(Schema $$0, Map<String, Supplier<TypeTemp 16    public void registerTypes(Schema $$0, Map<String, Supplier<TypeTemp
 .. late>> $$1, Map<String, Supplier<TypeTemplate>> $$2) {                 .. late>> $$1, Map<String, Supplier<TypeTemplate>> $$2) {
 96       super.registerTypes($$0, $$1, $$2);                              17       super.registerTypes($$0, $$1, $$2);
 97       $$0.registerType(                                                18       $$0.registerType(
 98          false,                                                        19          true,
 99          References.STRUCTURE,                                         20          References.ENTITY_EQUIPMENT,
100          () -> DSL.optionalFields(                                     21          () -> DSL.and(
101                "entities",                                             22                DSL.optional(DSL.field("ArmorItems", DSL.list(Reference
...                                                                        .. s.ITEM_STACK.in($$0)))),
102                DSL.list(DSL.optionalFields("nbt", References.ENTITY_TR 23                DSL.optional(DSL.field("HandItems", DSL.list(References
... EE.in($$0))),                                                          .. .ITEM_STACK.in($$0)))),
103                "blocks",                                               .. 
104                DSL.list(DSL.optionalFields("nbt", References.BLOCK_ENT 24                DSL.optional(DSL.field("body_armor_item", References.IT
... ITY.in($$0))),                                                         .. EM_STACK.in($$0))),
105                "palette",                                              .. 
106                DSL.list(References.BLOCK_STATE.in($$0))                25                DSL.optional(DSL.field("saddle", References.ITEM_STACK.
...                                                                        .. in($$0)))
107             )                                                          26             )
108       );                                                               27       );
109       $$0.registerType(false, References.BLOCK_STATE, DSL::remainder); .. 
110       $$0.registerType(false, References.FLAT_BLOCK_STATE, DSL::remain .. 
... der);                                                                  .. 
111    }                                                                   28    }
112 }                                                                      29 }

net/minecraft/util/datafix/schemas/V701.java --- Java
10       super($$0, $$1);                                                  10       super($$0, $$1);
11    }                                                                    11    }
12                                                                         .. 
13    protected static void registerMob(Schema $$0, Map<String, Supplier<T .. 
.. ypeTemplate>> $$1, String $$2) {                                        .. 
14       $$0.register($$1, $$2, () -> V100.equipment($$0));                .. 
15    }                                                                    .. 
16                                                                         12 
17    @Override                                                            13    @Override
18    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
19       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
20       registerMob($$0, $$1, "WitherSkeleton");                          16       $$0.registerSimple($$1, "WitherSkeleton");
21       registerMob($$0, $$1, "Stray");                                   17       $$0.registerSimple($$1, "Stray");
22       return $$1;                                                       18       return $$1;
23    }                                                                    19    }
24 }                                                                       20 }

net/minecraft/util/datafix/schemas/V2686.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:axolotl", () -> V100.equipment($$0)) 16       $$0.registerSimple($$1, "minecraft:axolotl");
.. ;                                                                       .. 
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/util/datafix/schemas/V4302.java --- Java
 1 package net.minecraft.util.datafix.schemas;
 2 
 3 import com.mojang.datafixers.schemas.Schema;
 4 import com.mojang.datafixers.types.templates.TypeTemplate;
 5 import java.util.Map;
 6 import java.util.function.Supplier;
 7 
 8 public class V4302 extends NamespacedSchema {
 9    public V4302(int $$0, Schema $$1) {
10       super($$0, $$1);
11    }
12 
13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerBlockEntities(Schema $$0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerBlockEntities($$0);
16       $$0.registerSimple($$1, "minecraft:test_block");
17       $$0.registerSimple($$1, "minecraft:test_instance_block");
18       return $$1;
19    }
20 }
21 

net/minecraft/util/datafix/schemas/V2571.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:goat", () -> V100.equipment($$0));   16       $$0.registerSimple($$1, "minecraft:goat");
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/util/datafix/schemas/V3081.java --- Java
19          $$1,                                                           19          $$1,
20          "minecraft:warden",                                            20          "minecraft:warden",
21          () -> DSL.optionalFields(                                      21          () -> DSL.optionalFields("listener", DSL.optionalFields("event
..                                                                         .. ", DSL.optionalFields("game_event", References.GAME_EVENT_NAME.in($$0))
..                                                                         .. ))
22                "listener", DSL.optionalFields("event", DSL.optionalFiel .. 
.. ds("game_event", References.GAME_EVENT_NAME.in($$0))), V100.equipment($ .. 
.. $0)                                                                     .. 
23             )                                                           .. 
24       );                                                                22       );
25       return $$1;                                                       23       return $$1;

net/minecraft/world/entity/animal/horse/Horse.java --- 1/4 --- Java
2                                                                           2 
3 import javax.annotation.Nullable;                                         3 import javax.annotation.Nullable;
4 import net.minecraft.Util;                                                4 import net.minecraft.Util;
.                                                                           5 import net.minecraft.core.component.DataComponentGetter;
.                                                                           6 import net.minecraft.core.component.DataComponentType;
.                                                                           7 import net.minecraft.core.component.DataComponents;
5 import net.minecraft.nbt.CompoundTag;                                     8 import net.minecraft.nbt.CompoundTag;
6 import net.minecraft.network.syncher.EntityDataAccessor;                  9 import net.minecraft.network.syncher.EntityDataAccessor;
7 import net.minecraft.network.syncher.EntityDataSerializers;              10 import net.minecraft.network.syncher.EntityDataSerializers;

net/minecraft/world/entity/animal/horse/Horse.java --- 2/4 --- Java
23 import net.minecraft.world.entity.EquipmentSlot;                        26 import net.minecraft.world.entity.EquipmentSlot;
24 import net.minecraft.world.entity.Pose;                                 27 import net.minecraft.world.entity.Pose;
25 import net.minecraft.world.entity.SpawnGroupData;                       28 import net.minecraft.world.entity.SpawnGroupData;
26 import net.minecraft.world.entity.VariantHolder;                        .. 
27 import net.minecraft.world.entity.ai.attributes.Attributes;             29 import net.minecraft.world.entity.ai.attributes.Attributes;
28 import net.minecraft.world.entity.animal.Animal;                        30 import net.minecraft.world.entity.animal.Animal;
29 import net.minecraft.world.entity.player.Player;                        31 import net.minecraft.world.entity.player.Player;

net/minecraft/world/entity/animal/horse/Horse.java --- 3/4 --- Java
32 import net.minecraft.world.level.ServerLevelAccessor;                   34 import net.minecraft.world.level.ServerLevelAccessor;
33 import net.minecraft.world.level.block.SoundType;                       35 import net.minecraft.world.level.block.SoundType;
34                                                                         36 
35 public class Horse extends AbstractHorse implements VariantHolder<Varia 37 public class Horse extends AbstractHorse {
.. nt> {                                                                   .. 
36    private static final EntityDataAccessor<Integer> DATA_ID_TYPE_VARIAN 38    private static final EntityDataAccessor<Integer> DATA_ID_TYPE_VARIAN
.. T = SynchedEntityData.defineId(Horse.class, EntityDataSerializers.INT); .. T = SynchedEntityData.defineId(Horse.class, EntityDataSerializers.INT);
37    private static final EntityDimensions BABY_DIMENSIONS = EntityType.H 39    private static final EntityDimensions BABY_DIMENSIONS = EntityType.H
.. ORSE                                                                    .. ORSE
38       .getDimensions()                                                  40       .getDimensions()

net/minecraft/world/entity/animal/horse/Horse.java --- 4/4 --- Java
84       return Variant.byId(this.getTypeVariant() & 0xFF);                 86       return Variant.byId(this.getTypeVariant() & 0xFF);
85    }                                                                     87    }
86                                                                          88 
87    public void setVariant(Variant $$0) {                                 89    private void setVariant(Variant $$0) {
88       this.setTypeVariant($$0.getId() & 0xFF | this.getTypeVariant() &   90       this.setTypeVariant($$0.getId() & 0xFF | this.getTypeVariant() & 
.. -256);                                                                   .. -256);
89    }                                                                     91    }
..                                                                          92 
..                                                                          93    @Nullable
..                                                                          94    @Override
..                                                                          95    public <T> T get(DataComponentType<? extends T> $$0) {
..                                                                          96       return $$0 == DataComponents.HORSE_VARIANT ? castComponentValue((
..                                                                          .. DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
..                                                                          97    }
..                                                                          98 
..                                                                          99    @Override
..                                                                         100    protected void applyImplicitComponents(DataComponentGetter $$0) {
..                                                                         101       this.applyImplicitComponentIfPresent($$0, DataComponents.HORSE_VA
..                                                                         ... RIANT);
..                                                                         102       super.applyImplicitComponents($$0);
..                                                                         103    }
..                                                                         104 
..                                                                         105    @Override
..                                                                         106    protected <T> boolean applyImplicitComponent(DataComponentType<T> $$
..                                                                         ... 0, T $$1) {
..                                                                         107       if ($$0 == DataComponents.HORSE_VARIANT) {
..                                                                         108          this.setVariant(castComponentValue(DataComponents.HORSE_VARIAN
..                                                                         ... T, $$1));
..                                                                         109          return true;
..                                                                         110       } else {
..                                                                         111          return super.applyImplicitComponent($$0, $$1);
..                                                                         112       }
..                                                                         113    }
90                                                                         114 
91    public Markings getMarkings() {                                      115    public Markings getMarkings() {
92       return Markings.byId((this.getTypeVariant() & 0xFF00) >> 8);      116       return Markings.byId((this.getTypeVariant() & 0xFF00) >> 8);

net/minecraft/world/entity/animal/horse/SkeletonTrapGoal.java --- Java
37       this.horse.setAge(0);                                             37       this.horse.setAge(0);
38       LightningBolt $$2 = EntityType.LIGHTNING_BOLT.create($$0, EntityS 38       LightningBolt $$2 = EntityType.LIGHTNING_BOLT.create($$0, EntityS
.. pawnReason.TRIGGERED);                                                  .. pawnReason.TRIGGERED);
39       if ($$2 != null) {                                                39       if ($$2 != null) {
40          $$2.moveTo(this.horse.getX(), this.horse.getY(), this.horse.ge 40          $$2.snapTo(this.horse.getX(), this.horse.getY(), this.horse.ge
.. tZ());                                                                  .. tZ());
41          $$2.setVisualOnly(true);                                       41          $$2.setVisualOnly(true);
42          $$0.addFreshEntity($$2);                                       42          $$0.addFreshEntity($$2);
43          Skeleton $$3 = this.createSkeleton($$1, this.horse);           43          Skeleton $$3 = this.createSkeleton($$1, this.horse);

net/minecraft/gametest/framework/StructureUtils.java --- 1/5 --- Java
 1 package net.minecraft.gametest.framework;                                1 package net.minecraft.gametest.framework;
 2                                                                          2 
 3 import com.mojang.logging.LogUtils;                                      3 import java.nio.file.Path;
 4 import java.util.Collections;                                            4 import java.nio.file.Paths;
 5 import java.util.Comparator;                                             5 import java.util.Collections;
 6 import java.util.List;                                                   6 import java.util.Comparator;
 7 import java.util.Objects;                                                7 import java.util.List;
 8 import java.util.Optional;                                               8 import java.util.Optional;
 9 import java.util.stream.Stream;                                          9 import java.util.stream.Stream;
10 import net.minecraft.commands.arguments.blocks.BlockInput;              10 import net.minecraft.commands.arguments.blocks.BlockInput;
11 import net.minecraft.core.BlockPos;                                     11 import net.minecraft.core.BlockPos;
12 import net.minecraft.core.Vec3i;                                        12 import net.minecraft.core.Vec3i;
..                                                                         13 import net.minecraft.core.registries.Registries;
..                                                                         14 import net.minecraft.resources.ResourceKey;
13 import net.minecraft.resources.ResourceLocation;                        15 import net.minecraft.resources.ResourceLocation;
14 import net.minecraft.server.level.ServerLevel;                          16 import net.minecraft.server.level.ServerLevel;
15 import net.minecraft.world.entity.Entity;                               17 import net.minecraft.world.entity.Entity;

net/minecraft/gametest/framework/StructureUtils.java --- 2/5 --- Java
19 import net.minecraft.world.level.block.Rotation;                        21 import net.minecraft.world.level.block.Rotation;
20 import net.minecraft.world.level.block.entity.BlockEntity;              22 import net.minecraft.world.level.block.entity.BlockEntity;
21 import net.minecraft.world.level.block.entity.BlockEntityType;          23 import net.minecraft.world.level.block.entity.BlockEntityType;
22 import net.minecraft.world.level.block.entity.CommandBlockEntity;       24 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
23 import net.minecraft.world.level.block.entity.StructureBlockEntity;     .. 
24 import net.minecraft.world.level.block.state.BlockState;                25 import net.minecraft.world.level.block.state.BlockState;
25 import net.minecraft.world.level.block.state.properties.StructureMode;  .. 
26 import net.minecraft.world.level.levelgen.Heightmap;                    26 import net.minecraft.world.level.levelgen.Heightmap;
27 import net.minecraft.world.level.levelgen.structure.BoundingBox;        27 import net.minecraft.world.level.levelgen.structure.BoundingBox;
28 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru 28 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru
.. ctureTemplate;                                                          .. ctureTemplate;
29 import net.minecraft.world.phys.AABB;                                   29 import net.minecraft.world.phys.AABB;
30 import net.minecraft.world.phys.Vec3;                                   30 import net.minecraft.world.phys.Vec3;
31 import org.slf4j.Logger;                                                .. 
32                                                                         31 
33 public class StructureUtils {                                           32 public class StructureUtils {
34    private static final Logger LOGGER = LogUtils.getLogger();           .. 
35    public static final int DEFAULT_Y_SEARCH_RADIUS = 10;                33    public static final int DEFAULT_Y_SEARCH_RADIUS = 10;
36    public static final String DEFAULT_TEST_STRUCTURES_DIR = "gametestst 34    public static final String DEFAULT_TEST_STRUCTURES_DIR = "Minecraft.
.. ructures";                                                              .. Server/src/test/convertables/data";
37    public static String testStructuresDir = "gameteststructures";       35    public static Path testStructuresDir = Paths.get("Minecraft.Server/s
..                                                                         .. rc/test/convertables/data");
38                                                                         36 
39    public static Rotation getRotationForRotationSteps(int $$0) {        37    public static Rotation getRotationForRotationSteps(int $$0) {
40       switch ($$0) {                                                    38       switch ($$0) {

net/minecraft/gametest/framework/StructureUtils.java --- 3/5 --- Java
 66       }                                                                64       }
 67    }                                                                   65    }
 68                                                                        .. 
 69    public static AABB getStructureBounds(StructureBlockEntity $$0) {   .. 
 70       return AABB.of(getStructureBoundingBox($$0));                    .. 
 71    }                                                                   .. 
 72                                                                        .. 
 73    public static BoundingBox getStructureBoundingBox(StructureBlockEnt .. 
 .. ity $$0) {                                                             .. 
 74       BlockPos $$1 = getStructureOrigin($$0);                          .. 
 75       BlockPos $$2 = getTransformedFarCorner($$1, $$0.getStructureSize .. 
 .. (), $$0.getRotation());                                                .. 
 76       return BoundingBox.fromCorners($$1, $$2);                        .. 
 77    }                                                                   .. 
 78                                                                        .. 
 79    public static BlockPos getStructureOrigin(StructureBlockEntity $$0) .. 
 ..  {                                                                     .. 
 80       return $$0.getBlockPos().offset($$0.getStructurePos());          .. 
 81    }                                                                   .. 
 82                                                                        .. 
 83    public static void addCommandBlockAndButtonToStartTest(BlockPos $$0 .. 
 .. , BlockPos $$1, Rotation $$2, ServerLevel $$3) {                       .. 
 84       BlockPos $$4 = StructureTemplate.transform($$0.offset($$1), Mirr .. 
 .. or.NONE, $$2, $$0);                                                    .. 
 85       $$3.setBlockAndUpdate($$4, Blocks.COMMAND_BLOCK.defaultBlockStat .. 
 .. e());                                                                  .. 
 86       CommandBlockEntity $$5 = (CommandBlockEntity)$$3.getBlockEntity( .. 
 .. $$4);                                                                  .. 
 87       $$5.getCommandBlock().setCommand("test runclosest");             .. 
 88       BlockPos $$6 = StructureTemplate.transform($$4.offset(0, 0, -1), .. 
 ..  Mirror.NONE, $$2, $$4);                                               .. 
 89       $$3.setBlockAndUpdate($$6, Blocks.STONE_BUTTON.defaultBlockState .. 
 .. ().rotate($$2));                                                       .. 
 90    }                                                                   .. 
 91                                                                        66 
 92    public static void createNewEmptyStructureBlock(String $$0, BlockPo 67    public static TestInstanceBlockEntity createNewEmptyTest(ResourceLo
 .. s $$1, Vec3i $$2, Rotation $$3, ServerLevel $$4) {                     .. cation $$0, BlockPos $$1, Vec3i $$2, Rotation $$3, ServerLevel $$4) {
 93       BoundingBox $$5 = getStructureBoundingBox($$1.above(), $$2, $$3) 68       BoundingBox $$5 = getStructureBoundingBox(TestInstanceBlockEntit
 .. ;                                                                      .. y.getStructurePos($$1), $$2, $$3);
 94       clearSpaceForStructure($$5, $$4);                                69       clearSpaceForStructure($$5, $$4);
 95       $$4.setBlockAndUpdate($$1, Blocks.STRUCTURE_BLOCK.defaultBlockSt 70       $$4.setBlockAndUpdate($$1, Blocks.TEST_INSTANCE_BLOCK.defaultBlo
 .. ate());                                                                .. ckState());
 96       StructureBlockEntity $$6 = (StructureBlockEntity)$$4.getBlockEnt 71       TestInstanceBlockEntity $$6 = (TestInstanceBlockEntity)$$4.getBl
 .. ity($$1);                                                              .. ockEntity($$1);
 97       $$6.setIgnoreEntities(false);                                    .. 
 98       $$6.setStrict(false);                                            .. 
 99       $$6.setStructureName(ResourceLocation.parse($$0));               72       ResourceKey<GameTestInstance> $$7 = ResourceKey.create(Registrie
 ..                                                                        .. s.TEST_INSTANCE, $$0);
100       $$6.setMetaData($$0);                                            .. 
101       $$6.setStructureSize($$2);                                       .. 
102       $$6.setMode(StructureMode.SAVE);                                 73       $$6.set(new TestInstanceBlockEntity.Data(Optional.of($$7), $$2, 
...                                                                        .. $$3, false, TestInstanceBlockEntity.Status.CLEARED, Optional.empty()))
...                                                                        .. ;
103       $$6.setShowBoundingBox(true);                                    74       return $$6;
104    }                                                                   75    }
105                                                                        .. 
106    public static BlockPos getStartCorner(GameTestInfo $$0, BlockPos $$ .. 
... 1, Rotation $$2, ServerLevel $$3) {                                    .. 
107       Vec3i $$4 = $$3.getStructureManager()                            .. 
108          .get(ResourceLocation.parse($$0.getStructureName()))          .. 
109          .orElseThrow(() -> new IllegalStateException("Missing test st .. 
... ructure: " + $$0.getStructureName()))                                  .. 
110          .getSize();                                                   .. 
111       BlockPos $$5;                                                    .. 
112       if ($$2 == Rotation.NONE) {                                      .. 
113          $$5 = $$1;                                                    .. 
114       } else if ($$2 == Rotation.CLOCKWISE_90) {                       .. 
115          $$5 = $$1.offset($$4.getZ() - 1, 0, 0);                       .. 
116       } else if ($$2 == Rotation.CLOCKWISE_180) {                      .. 
117          $$5 = $$1.offset($$4.getX() - 1, 0, $$4.getZ() - 1);          .. 
118       } else {                                                         .. 
119          if ($$2 != Rotation.COUNTERCLOCKWISE_90) {                    .. 
120             throw new IllegalArgumentException("Invalid rotation: " +  .. 
... $$2);                                                                  .. 
121          }                                                             .. 
122                                                                        .. 
123          $$5 = $$1.offset(0, 0, $$4.getX() - 1);                       .. 
124       }                                                                .. 
125                                                                        .. 
126       return $$5;                                                      .. 
127    }                                                                   .. 
128                                                                        .. 
129    public static StructureBlockEntity prepareTestStructure(GameTestInf .. 
... o $$0, BlockPos $$1, Rotation $$2, ServerLevel $$3) {                  .. 
130       Vec3i $$4 = $$3.getStructureManager()                            .. 
131          .get(ResourceLocation.parse($$0.getStructureName()))          .. 
132          .orElseThrow(() -> new IllegalStateException("Missing test st .. 
... ructure: " + $$0.getStructureName()))                                  .. 
133          .getSize();                                                   .. 
134       BoundingBox $$5 = getStructureBoundingBox($$1, $$4, $$2);        .. 
135       BlockPos $$6 = getStartCorner($$0, $$1, $$2, $$3);               .. 
136       forceLoadChunks($$5, $$3);                                       .. 
137       clearSpaceForStructure($$5, $$3);                                .. 
138       return createStructureBlock($$0, $$6.below(), $$2, $$3);         .. 
139    }                                                                   .. 
140                                                                        .. 
141    public static void encaseStructure(AABB $$0, ServerLevel $$1, boole .. 
... an $$2) {                                                              .. 
142       BlockPos $$3 = BlockPos.containing($$0.minX, $$0.minY, $$0.minZ) .. 
... .offset(-1, 0, -1);                                                    .. 
143       BlockPos $$4 = BlockPos.containing($$0.maxX, $$0.maxY, $$0.maxZ) .. 
... ;                                                                      .. 
144       BlockPos.betweenClosedStream($$3, $$4).forEach($$4x -> {         .. 
145          boolean $$5 = $$4x.getX() == $$3.getX() || $$4x.getX() == $$4 .. 
... .getX() || $$4x.getZ() == $$3.getZ() || $$4x.getZ() == $$4.getZ();     .. 
146          boolean $$6 = $$4x.getY() == $$4.getY();                      .. 
147          if ($$5 || $$6 && $$2) {                                      .. 
148             $$1.setBlockAndUpdate($$4x, Blocks.BARRIER.defaultBlockSta .. 
... te());                                                                 .. 
149          }                                                             .. 
150       });                                                              .. 
151    }                                                                   .. 
152                                                                        .. 
153    public static void removeBarriers(AABB $$0, ServerLevel $$1) {      .. 
154       BlockPos $$2 = BlockPos.containing($$0.minX, $$0.minY, $$0.minZ) .. 
... .offset(-1, 0, -1);                                                    .. 
155       BlockPos $$3 = BlockPos.containing($$0.maxX, $$0.maxY, $$0.maxZ) .. 
... ;                                                                      .. 
156       BlockPos.betweenClosedStream($$2, $$3).forEach($$3x -> {         .. 
157          boolean $$4 = $$3x.getX() == $$2.getX() || $$3x.getX() == $$3 .. 
... .getX() || $$3x.getZ() == $$2.getZ() || $$3x.getZ() == $$3.getZ();     .. 
158          boolean $$5 = $$3x.getY() == $$3.getY();                      .. 
159          if ($$1.getBlockState($$3x).is(Blocks.BARRIER) && ($$4 || $$5 .. 
... )) {                                                                   .. 
160             $$1.setBlockAndUpdate($$3x, Blocks.AIR.defaultBlockState() .. 
... );                                                                     .. 
161          }                                                             .. 
162       });                                                              .. 
163    }                                                                   .. 
164                                                                        .. 
165    private static void forceLoadChunks(BoundingBox $$0, ServerLevel $$ .. 
... 1) {                                                                   .. 
166       $$0.intersectingChunks().forEach($$1x -> $$1.setChunkForced($$1x .. 
... .x, $$1x.z, true));                                                    .. 
167    }                                                                   .. 
168                                                                        76 
169    public static void clearSpaceForStructure(BoundingBox $$0, ServerLe 77    public static void clearSpaceForStructure(BoundingBox $$0, ServerLe
... vel $$1) {                                                             .. vel $$1) {
170       int $$2 = $$0.minY() - 1;                                        78       int $$2 = $$0.minY() - 1;

net/minecraft/gametest/framework/StructureUtils.java --- 4/5 --- Java
190       return $$4.move($$0.getX() - $$5, 0, $$0.getZ() - $$6);           98       return $$4.move($$0.getX() - $$5, 0, $$0.getZ() - $$6);
191    }                                                                    99    }
192                                                                        100 
193    public static Optional<BlockPos> findStructureBlockContainingPos(Bl 101    public static Optional<BlockPos> findTestContainingPos(BlockPos $$0
... ockPos $$0, int $$1, ServerLevel $$2) {                                ... , int $$1, ServerLevel $$2) {
194       return findStructureBlocks($$0, $$1, $$2).filter($$2x -> doesStr 102       return findTestBlocks($$0, $$1, $$2).filter($$2x -> doesStructur
... uctureContain($$2x, $$0, $$2)).findFirst();                            ... eContain($$2x, $$0, $$2)).findFirst();
195    }                                                                   103    }
196                                                                        104 
197    public static Optional<BlockPos> findNearestStructureBlock(BlockPos 105    public static Optional<BlockPos> findNearestTest(BlockPos $$0, int 
...  $$0, int $$1, ServerLevel $$2) {                                      ... $$1, ServerLevel $$2) {
198       Comparator<BlockPos> $$3 = Comparator.comparingInt($$1x -> $$1x. 106       Comparator<BlockPos> $$3 = Comparator.comparingInt($$1x -> $$1x.
... distManhattan($$0));                                                   ... distManhattan($$0));
199       return findStructureBlocks($$0, $$1, $$2).min($$3);              107       return findTestBlocks($$0, $$1, $$2).min($$3);
200    }                                                                   108    }
201                                                                        ... 
202    public static Stream<BlockPos> findStructureByTestFunction(BlockPos ... 
...  $$0, int $$1, ServerLevel $$2, String $$3) {                          ... 
203       return findStructureBlocks($$0, $$1, $$2)                        ... 
204          .map($$1x -> (StructureBlockEntity)$$2.getBlockEntity($$1x))  ... 
205          .filter(Objects::nonNull)                                     ... 
206          .filter($$1x -> Objects.equals($$1x.getStructureName(), $$3)) ... 
207          .map(BlockEntity::getBlockPos)                                ... 
208          .map(BlockPos::immutable);                                    ... 
209    }                                                                   ... 
210                                                                        109 
211    public static Stream<BlockPos> findStructureBlocks(BlockPos $$0, in 110    public static Stream<BlockPos> findTestBlocks(BlockPos $$0, int $$1
... t $$1, ServerLevel $$2) {                                              ... , ServerLevel $$2) {
212       BoundingBox $$3 = getBoundingBoxAtGround($$0, $$1, $$2);         111       BoundingBox $$3 = getBoundingBoxAtGround($$0, $$1, $$2);
213       return BlockPos.betweenClosedStream($$3).filter($$1x -> $$2.getB 112       return BlockPos.betweenClosedStream($$3).filter($$1x -> $$2.getB
... lockState($$1x).is(Blocks.STRUCTURE_BLOCK)).map(BlockPos::immutable);  ... lockState($$1x).is(Blocks.TEST_INSTANCE_BLOCK)).map(BlockPos::immutabl
...                                                                        ... e);
214    }                                                                   113    }
215                                                                        ... 
216    private static StructureBlockEntity createStructureBlock(GameTestIn ... 
... fo $$0, BlockPos $$1, Rotation $$2, ServerLevel $$3) {                 ... 
217       $$3.setBlockAndUpdate($$1, Blocks.STRUCTURE_BLOCK.defaultBlockSt ... 
... ate());                                                                ... 
218       StructureBlockEntity $$4 = (StructureBlockEntity)$$3.getBlockEnt ... 
... ity($$1);                                                              ... 
219       $$4.setMode(StructureMode.LOAD);                                 ... 
220       $$4.setRotation($$2);                                            ... 
221       $$4.setIgnoreEntities(false);                                    ... 
222       $$4.setStrict(false);                                            ... 
223       $$4.setStructureName(ResourceLocation.parse($$0.getStructureName ... 
... ()));                                                                  ... 
224       $$4.setMetaData($$0.getTestName());                              ... 
225       if (!$$4.loadStructureInfo($$3)) {                               ... 
226          throw new RuntimeException("Failed to load structure info for ... 
...  test: " + $$0.getTestName() + ". Structure name: " + $$0.getStructure ... 
... Name());                                                               ... 
227       } else {                                                         ... 
228          return $$4;                                                   ... 
229       }                                                                ... 
230    }                                                                   ... 
231                                                                        114 
232    private static BoundingBox getBoundingBoxAtGround(BlockPos $$0, int 115    private static BoundingBox getBoundingBoxAtGround(BlockPos $$0, int
...  $$1, ServerLevel $$2) {                                               ...  $$1, ServerLevel $$2) {
233       BlockPos $$3 = BlockPos.containing((double)$$0.getX(), (double)$ 116       BlockPos $$3 = BlockPos.containing((double)$$0.getX(), (double)$
... $2.getHeightmapPos(Heightmap.Types.WORLD_SURFACE, $$0).getY(), (double ... $2.getHeightmapPos(Heightmap.Types.WORLD_SURFACE, $$0).getY(), (double
... )$$0.getZ());                                                          ... )$$0.getZ());
234       return new BoundingBox($$3).inflatedBy($$1, 10, $$1);            117       return new BoundingBox($$3).inflatedBy($$1, 10, $$1);
235    }                                                                   118    }
236                                                                        119 
237    public static Stream<BlockPos> lookedAtStructureBlockPos(BlockPos $ 120    public static Stream<BlockPos> lookedAtTestPos(BlockPos $$0, Entity
... $0, Entity $$1, ServerLevel $$2) {                                     ...  $$1, ServerLevel $$2) {
238       int $$3 = 200;                                                   121       int $$3 = 200;
239       Vec3 $$4 = $$1.getEyePosition();                                 122       Vec3 $$4 = $$1.getEyePosition();
240       Vec3 $$5 = $$4.add($$1.getLookAngle().scale(200.0));             123       Vec3 $$5 = $$4.add($$1.getLookAngle().scale(200.0));
241       return findStructureBlocks($$0, 200, $$2)                        124       return findTestBlocks($$0, 200, $$2)
242          .map($$1x -> $$2.getBlockEntity($$1x, BlockEntityType.STRUCTU 125          .map($$1x -> $$2.getBlockEntity($$1x, BlockEntityType.TEST_IN
... RE_BLOCK))                                                             ... STANCE_BLOCK))
243          .flatMap(Optional::stream)                                    126          .flatMap(Optional::stream)
244          .filter($$2x -> getStructureBounds($$2x).clip($$4, $$5).isPre 127          .filter($$2x -> $$2x.getStructureBounds().clip($$4, $$5).isPr
... sent())                                                                ... esent())
245          .map(BlockEntity::getBlockPos)                                128          .map(BlockEntity::getBlockPos)
246          .sorted(Comparator.comparing($$0::distSqr))                   129          .sorted(Comparator.comparing($$0::distSqr))
247          .limit(1L);                                                   130          .limit(1L);

net/minecraft/gametest/framework/StructureUtils.java --- 5/5 --- Java
261    }                                                                   144    }
262                                                                        145 
263    private static boolean doesStructureContain(BlockPos $$0, BlockPos  146    private static boolean doesStructureContain(BlockPos $$0, BlockPos 
... $$1, ServerLevel $$2) {                                                ... $$1, ServerLevel $$2) {
264       StructureBlockEntity $$3 = (StructureBlockEntity)$$2.getBlockEnt ... 
... ity($$0);                                                              ... 
265       return getStructureBoundingBox($$3).isInside($$1);               147       return $$2.getBlockEntity($$0) instanceof TestInstanceBlockEntit
...                                                                        ... y $$3 ? $$3.getStructureBoundingBox().isInside($$1) : false;
266    }                                                                   148    }
267 }                                                                      149 }

net/minecraft/gametest/framework/TestFunction.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.function.Consumer;
 4 import net.minecraft.world.level.block.Rotation;
 5 
 6 public record TestFunction(
 7    String batchName,
 8    String testName,
 9    String structureName,
10    Rotation rotation,
11    int maxTicks,
12    long setupTicks,
13    boolean required,
14    boolean manualOnly,
15    int maxAttempts,
16    int requiredSuccesses,
17    boolean skyAccess,
18    Consumer<GameTestHelper> function
19 ) {
20    public TestFunction(String $$0, String $$1, String $$2, int $$3, long $$4, boolean $$5, Consumer<GameTestHelper> $$6) {
21       this($$0, $$1, $$2, Rotation.NONE, $$3, $$4, $$5, false, 1, 1, false, $$6);
22    }
23 
24    public TestFunction(String $$0, String $$1, String $$2, Rotation $$3, int $$4, long $$5, boolean $$6, Consumer<GameTestHelper> $$7) {
25       this($$0, $$1, $$2, $$3, $$4, $$5, $$6, false, 1, 1, false, $$7);
26    }
27 
28    public TestFunction(String $$0, String $$1, String $$2, Rotation $$3, int $$4, long $$5, boolean $$6, boolean $$7, Consumer<GameTestHelper> $$8) {
29       this($$0, $$1, $$2, $$3, $$4, $$5, $$6, false, 1, 1, $$7, $$8);
30    }
31 
32    public void run(GameTestHelper $$0) {
33       this.function.accept($$0);
34    }
35 
36    @Override
37    public String toString() {
38       return this.testName;
39    }
40 
41    public boolean isFlaky() {
42       return this.maxAttempts > 1;
43    }
44 }
45 

net/minecraft/gametest/framework/FailedTestTracker.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import com.google.common.collect.Sets;
 4 import java.util.Set;
 5 import java.util.stream.Stream;
 6 import net.minecraft.core.Holder;
 7 
 8 public class FailedTestTracker {
 9    private static final Set<Holder.Reference<GameTestInstance>> LAST_FAILED_TESTS = Sets.newHashSet();
10 
11    public static Stream<Holder.Reference<GameTestInstance>> getLastFailedTests() {
12       return LAST_FAILED_TESTS.stream();
13    }
14 
15    public static void rememberFailedTest(Holder.Reference<GameTestInstance> $$0) {
16       LAST_FAILED_TESTS.add($$0);
17    }
18 
19    public static void forgetFailedTests() {
20       LAST_FAILED_TESTS.clear();
21    }
22 }
23 

net/minecraft/world/entity/animal/horse/Variant.java --- 1/2 --- Java
1 package net.minecraft.world.entity.animal.horse;                          1 package net.minecraft.world.entity.animal.horse;
2                                                                           2 
3 import com.mojang.serialization.Codec;                                    3 import com.mojang.serialization.Codec;
.                                                                           4 import io.netty.buffer.ByteBuf;
4 import java.util.function.IntFunction;                                    5 import java.util.function.IntFunction;
.                                                                           6 import net.minecraft.network.codec.ByteBufCodecs;
.                                                                           7 import net.minecraft.network.codec.StreamCodec;
5 import net.minecraft.util.ByIdMap;                                        8 import net.minecraft.util.ByIdMap;
6 import net.minecraft.util.StringRepresentable;                            9 import net.minecraft.util.StringRepresentable;
7                                                                          10 

net/minecraft/world/entity/animal/horse/Variant.java --- 2/2 --- Java
16                                                                         19 
17    public static final Codec<Variant> CODEC = StringRepresentable.fromE 20    public static final Codec<Variant> CODEC = StringRepresentable.fromE
.. num(Variant::values);                                                   .. num(Variant::values);
18    private static final IntFunction<Variant> BY_ID = ByIdMap.continuous 21    private static final IntFunction<Variant> BY_ID = ByIdMap.continuous
.. (Variant::getId, values(), ByIdMap.OutOfBoundsStrategy.WRAP);           .. (Variant::getId, values(), ByIdMap.OutOfBoundsStrategy.WRAP);
..                                                                         22    public static final StreamCodec<ByteBuf, Variant> STREAM_CODEC = Byt
..                                                                         .. eBufCodecs.idMapper(BY_ID, Variant::getId);
19    private final int id;                                                23    private final int id;
20    private final String name;                                           24    private final String name;
21                                                                         25 

net/minecraft/gametest/framework/GameTestBatch.java --- Java
 1 package net.minecraft.gametest.framework;                                1 package net.minecraft.gametest.framework;
 2                                                                          2 
 3 import java.util.Collection;                                             3 import java.util.Collection;
 4 import java.util.function.Consumer;                                      . 
 5 import net.minecraft.server.level.ServerLevel;                           4 import net.minecraft.core.Holder;
 6                                                                          5 
 7 public record GameTestBatch(                                             6 public record GameTestBatch(int index, Collection<GameTestInfo> gameTes
 .                                                                          . tInfos, Holder<TestEnvironmentDefinition> environment) {
 8    String name, Collection<GameTestInfo> gameTestInfos, Consumer<Server  . 
 . Level> beforeBatchFunction, Consumer<ServerLevel> afterBatchFunction     . 
 9 ) {                                                                      . 
10    public static final String DEFAULT_BATCH_NAME = "defaultBatch";       . 
11                                                                          . 
12    public GameTestBatch(                                                 7    public GameTestBatch(int index, Collection<GameTestInfo> gameTestInf
..                                                                          . os, Holder<TestEnvironmentDefinition> environment) {
13       String name, Collection<GameTestInfo> gameTestInfos, Consumer<Ser  . 
.. verLevel> beforeBatchFunction, Consumer<ServerLevel> afterBatchFunction  . 
14    ) {                                                                   . 
15       if (gameTestInfos.isEmpty()) {                                     8       if (gameTestInfos.isEmpty()) {
16          throw new IllegalArgumentException("A GameTestBatch must inclu  9          throw new IllegalArgumentException("A GameTestBatch must inclu
.. de at least one GameTestInfo!");                                         . de at least one GameTestInfo!");
17       } else {                                                          10       } else {
18          this.name = name;                                              11          this.index = index;
19          this.gameTestInfos = gameTestInfos;                            12          this.gameTestInfos = gameTestInfos;
20          this.beforeBatchFunction = beforeBatchFunction;                13          this.environment = environment;
21          this.afterBatchFunction = afterBatchFunction;                  .. 
22       }                                                                 14       }
23    }                                                                    15    }
24 }                                                                       16 }

net/minecraft/world/entity/animal/Cat.java --- 1/4 --- Java
 5 import javax.annotation.Nullable;                                        5 import javax.annotation.Nullable;
 6 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.core.Holder;                                        7 import net.minecraft.core.Holder;
 .                                                                          8 import net.minecraft.core.component.DataComponentGetter;
 .                                                                          9 import net.minecraft.core.component.DataComponentType;
 8 import net.minecraft.core.component.DataComponents;                     10 import net.minecraft.core.component.DataComponents;
 9 import net.minecraft.core.registries.BuiltInRegistries;                 11 import net.minecraft.core.registries.BuiltInRegistries;
10 import net.minecraft.core.registries.Registries;                        12 import net.minecraft.core.registries.Registries;

net/minecraft/world/entity/animal/Cat.java --- 2/4 --- Java
36 import net.minecraft.world.entity.Pose;                                 38 import net.minecraft.world.entity.Pose;
37 import net.minecraft.world.entity.SpawnGroupData;                       39 import net.minecraft.world.entity.SpawnGroupData;
38 import net.minecraft.world.entity.TamableAnimal;                        40 import net.minecraft.world.entity.TamableAnimal;
39 import net.minecraft.world.entity.VariantHolder;                        .. 
40 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      41 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
41 import net.minecraft.world.entity.ai.attributes.Attributes;             42 import net.minecraft.world.entity.ai.attributes.Attributes;
42 import net.minecraft.world.entity.ai.goal.AvoidEntityGoal;              43 import net.minecraft.world.entity.ai.goal.AvoidEntityGoal;

net/minecraft/world/entity/animal/Cat.java --- 3/4 --- Java
67 import net.minecraft.world.level.storage.loot.BuiltInLootTables;        68 import net.minecraft.world.level.storage.loot.BuiltInLootTables;
68 import net.minecraft.world.phys.AABB;                                   69 import net.minecraft.world.phys.AABB;
69                                                                         70 
70 public class Cat extends TamableAnimal implements VariantHolder<Holder< 71 public class Cat extends TamableAnimal {
.. CatVariant>> {                                                          .. 
71    public static final double TEMPT_SPEED_MOD = 0.6;                    72    public static final double TEMPT_SPEED_MOD = 0.6;
72    public static final double WALK_SPEED_MOD = 0.8;                     73    public static final double WALK_SPEED_MOD = 0.8;
73    public static final double SPRINT_SPEED_MOD = 1.33;                  74    public static final double SPRINT_SPEED_MOD = 1.33;

net/minecraft/world/entity/animal/Cat.java --- 4/4 --- Java
117       return this.entityData.get(DATA_VARIANT_ID);                     118       return this.entityData.get(DATA_VARIANT_ID);
118    }                                                                   119    }
119                                                                        120 
120    public void setVariant(Holder<CatVariant> $$0) {                    121    private void setVariant(Holder<CatVariant> $$0) {
121       this.entityData.set(DATA_VARIANT_ID, $$0);                       122       this.entityData.set(DATA_VARIANT_ID, $$0);
122    }                                                                   123    }
...                                                                        124 
...                                                                        125    @Nullable
...                                                                        126    @Override
...                                                                        127    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        128       if ($$0 == DataComponents.CAT_VARIANT) {
...                                                                        129          return castComponentValue((DataComponentType<T>)$$0, this.get
...                                                                        ... Variant());
...                                                                        130       } else {
...                                                                        131          return $$0 == DataComponents.CAT_COLLAR ? castComponentValue(
...                                                                        ... (DataComponentType<T>)$$0, this.getCollarColor()) : super.get($$0);
...                                                                        132       }
...                                                                        133    }
...                                                                        134 
...                                                                        135    @Override
...                                                                        136    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        137       this.applyImplicitComponentIfPresent($$0, DataComponents.CAT_VAR
...                                                                        ... IANT);
...                                                                        138       this.applyImplicitComponentIfPresent($$0, DataComponents.CAT_COL
...                                                                        ... LAR);
...                                                                        139       super.applyImplicitComponents($$0);
...                                                                        140    }
...                                                                        141 
...                                                                        142    @Override
...                                                                        143    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        144       if ($$0 == DataComponents.CAT_VARIANT) {
...                                                                        145          this.setVariant(castComponentValue(DataComponents.CAT_VARIANT
...                                                                        ... , $$1));
...                                                                        146          return true;
...                                                                        147       } else if ($$0 == DataComponents.CAT_COLLAR) {
...                                                                        148          this.setCollarColor(castComponentValue(DataComponents.CAT_COL
...                                                                        ... LAR, $$1));
...                                                                        149          return true;
...                                                                        150       } else {
...                                                                        151          return super.applyImplicitComponent($$0, $$1);
...                                                                        152       }
...                                                                        153    }
123                                                                        154 
124    public void setLying(boolean $$0) {                                 155    public void setLying(boolean $$0) {
125       this.entityData.set(IS_LYING, $$0);                              156       this.entityData.set(IS_LYING, $$0);

net/minecraft/gametest/framework/GameTestEnvironments.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.util.List;
 4 import net.minecraft.core.registries.Registries;
 5 import net.minecraft.data.worldgen.BootstrapContext;
 6 import net.minecraft.resources.ResourceKey;
 7 import net.minecraft.resources.ResourceLocation;
 8 
 9 public interface GameTestEnvironments {
10    String DEFAULT = "default";
11    ResourceKey<TestEnvironmentDefinition> DEFAULT_KEY = create("default");
12 
13    private static ResourceKey<TestEnvironmentDefinition> create(String $$0) {
14       return ResourceKey.create(Registries.TEST_ENVIRONMENT, ResourceLocation.withDefaultNamespace($$0));
15    }
16 
17    static void bootstrap(BootstrapContext<TestEnvironmentDefinition> $$0) {
18       $$0.register(DEFAULT_KEY, new TestEnvironmentDefinition.AllOf(List.of()));
19    }
20 }
21 

net/minecraft/gametest/framework/BeforeBatch.java --- Java
 1 package net.minecraft.gametest.framework;
 2 
 3 import java.lang.annotation.ElementType;
 4 import java.lang.annotation.Retention;
 5 import java.lang.annotation.RetentionPolicy;
 6 import java.lang.annotation.Target;
 7 
 8 @Target({ElementType.METHOD})
 9 @Retention(RetentionPolicy.RUNTIME)
10 public @interface BeforeBatch {
11    String batch();
12 }
13 

net/minecraft/world/entity/decoration/ArmorStand.java --- 1/8 --- Java
 1 package net.minecraft.world.entity.decoration;                           1 package net.minecraft.world.entity.decoration;
 2                                                                          2 
 .                                                                          3 import com.mojang.logging.LogUtils;
 3 import java.util.function.Predicate;                                     4 import java.util.function.Predicate;
 4 import javax.annotation.Nullable;                                        5 import javax.annotation.Nullable;
 5 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 6 import net.minecraft.core.NonNullList;                                   . 
 7 import net.minecraft.core.Rotations;                                     7 import net.minecraft.core.Rotations;
 8 import net.minecraft.core.component.DataComponents;                      8 import net.minecraft.core.component.DataComponents;
 9 import net.minecraft.core.particles.BlockParticleOption;                 9 import net.minecraft.core.particles.BlockParticleOption;
10 import net.minecraft.core.particles.ParticleTypes;                      10 import net.minecraft.core.particles.ParticleTypes;
11 import net.minecraft.nbt.CompoundTag;                                   11 import net.minecraft.nbt.CompoundTag;
12 import net.minecraft.nbt.ListTag;                                       12 import net.minecraft.nbt.ListTag;
..                                                                         13 import net.minecraft.nbt.NbtOps;
..                                                                         14 import net.minecraft.nbt.Tag;
13 import net.minecraft.network.syncher.EntityDataAccessor;                15 import net.minecraft.network.syncher.EntityDataAccessor;
14 import net.minecraft.network.syncher.EntityDataSerializers;             16 import net.minecraft.network.syncher.EntityDataSerializers;
15 import net.minecraft.network.syncher.SynchedEntityData;                 17 import net.minecraft.network.syncher.SynchedEntityData;
..                                                                         18 import net.minecraft.resources.RegistryOps;
16 import net.minecraft.server.level.ServerLevel;                          19 import net.minecraft.server.level.ServerLevel;
17 import net.minecraft.sounds.SoundEvent;                                 20 import net.minecraft.sounds.SoundEvent;
18 import net.minecraft.sounds.SoundEvents;                                21 import net.minecraft.sounds.SoundEvents;

net/minecraft/world/entity/decoration/ArmorStand.java --- 2/8 --- Java
22 import net.minecraft.world.damagesource.DamageSource;                   25 import net.minecraft.world.damagesource.DamageSource;
23 import net.minecraft.world.entity.Entity;                               26 import net.minecraft.world.entity.Entity;
24 import net.minecraft.world.entity.EntityDimensions;                     27 import net.minecraft.world.entity.EntityDimensions;
..                                                                         28 import net.minecraft.world.entity.EntityEquipment;
25 import net.minecraft.world.entity.EntityType;                           29 import net.minecraft.world.entity.EntityType;
26 import net.minecraft.world.entity.EquipmentSlot;                        30 import net.minecraft.world.entity.EquipmentSlot;
27 import net.minecraft.world.entity.HumanoidArm;                          31 import net.minecraft.world.entity.HumanoidArm;

net/minecraft/world/entity/decoration/ArmorStand.java --- 3/8 --- Java
45 import net.minecraft.world.level.material.PushReaction;                 49 import net.minecraft.world.level.material.PushReaction;
46 import net.minecraft.world.phys.AABB;                                   50 import net.minecraft.world.phys.AABB;
47 import net.minecraft.world.phys.Vec3;                                   51 import net.minecraft.world.phys.Vec3;
..                                                                         52 import org.slf4j.Logger;
48                                                                         53 
49 public class ArmorStand extends LivingEntity {                          54 public class ArmorStand extends LivingEntity {
50    public static final int WOBBLE_TIME = 5;                             55    public static final int WOBBLE_TIME = 5;
51    private static final boolean ENABLE_ARMS = true;                     56    private static final boolean ENABLE_ARMS = true;
..                                                                         57    private static final Logger LOGGER = LogUtils.getLogger();
52    public static final Rotations DEFAULT_HEAD_POSE = new Rotations(0.0F 58    public static final Rotations DEFAULT_HEAD_POSE = new Rotations(0.0F
.. , 0.0F, 0.0F);                                                          .. , 0.0F, 0.0F);
53    public static final Rotations DEFAULT_BODY_POSE = new Rotations(0.0F 59    public static final Rotations DEFAULT_BODY_POSE = new Rotations(0.0F
.. , 0.0F, 0.0F);                                                          .. , 0.0F, 0.0F);
54    public static final Rotations DEFAULT_LEFT_ARM_POSE = new Rotations( 60    public static final Rotations DEFAULT_LEFT_ARM_POSE = new Rotations(
   -10.0F, 0.0F, -10.0F);                                                     -10.0F, 0.0F, -10.0F);

net/minecraft/world/entity/decoration/ArmorStand.java --- 4/8 --- Java
81                                                                         87 
82       return false;                                                     88       return false;
83    };                                                                   89    };
84    private final NonNullList<ItemStack> handItems = NonNullList.withSiz 90    private EntityEquipment equipment = new EntityEquipment();
.. e(2, ItemStack.EMPTY);                                                  .. 
85    private final NonNullList<ItemStack> armorItems = NonNullList.withSi .. 
.. ze(4, ItemStack.EMPTY);                                                 .. 
86    private boolean invisible;                                           91    private boolean invisible;
87    public long lastHit;                                                 92    public long lastHit;
88    private int disabledSlots;                                           93    private int disabledSlots;

net/minecraft/world/entity/decoration/ArmorStand.java --- 5/8 --- Java
136       $$0.define(DATA_RIGHT_LEG_POSE, DEFAULT_RIGHT_LEG_POSE);         141       $$0.define(DATA_RIGHT_LEG_POSE, DEFAULT_RIGHT_LEG_POSE);
137    }                                                                   142    }
138                                                                        ... 
139    @Override                                                           ... 
140    public Iterable<ItemStack> getHandSlots() {                         ... 
141       return this.handItems;                                           ... 
142    }                                                                   ... 
143                                                                        ... 
144    @Override                                                           ... 
145    public Iterable<ItemStack> getArmorSlots() {                        ... 
146       return this.armorItems;                                          ... 
147    }                                                                   ... 
148                                                                        143 
149    @Override                                                           144    @Override
150    public ItemStack getItemBySlot(EquipmentSlot $$0) {                 145    public ItemStack getItemBySlot(EquipmentSlot $$0) {
151       switch ($$0.getType()) {                                         ... 
152          case HAND:                                                    ... 
153             return this.handItems.get($$0.getIndex());                 146       return this.equipment.get($$0);
154          case HUMANOID_ARMOR:                                          ... 
155             return this.armorItems.get($$0.getIndex());                ... 
156          default:                                                      ... 
157             return ItemStack.EMPTY;                                    ... 
158       }                                                                ... 
159    }                                                                   147    }
160                                                                        148 
161    @Override                                                           149    @Override
162    public boolean canUseSlot(EquipmentSlot $$0) {                      150    public boolean canUseSlot(EquipmentSlot $$0) {
163       return $$0 != EquipmentSlot.BODY && !this.isDisabled($$0);       151       return $$0 != EquipmentSlot.BODY && $$0 != EquipmentSlot.SADDLE 
...                                                                        ... && !this.isDisabled($$0);
164    }                                                                   152    }
165                                                                        153 
166    @Override                                                           154    @Override
167    public void setItemSlot(EquipmentSlot $$0, ItemStack $$1) {         155    public void setItemSlot(EquipmentSlot $$0, ItemStack $$1) {
168       this.verifyEquippedItem($$1);                                    156       this.verifyEquippedItem($$1);
169       switch ($$0.getType()) {                                         ... 
170          case HAND:                                                    ... 
171             this.onEquipItem($$0, this.handItems.set($$0.getIndex(), $ 157       ItemStack $$2 = this.equipment.set($$0, $$1);
... $1), $$1);                                                             ... 
172             break;                                                     158       this.onEquipItem($$0, $$2, $$1);
173          case HUMANOID_ARMOR:                                          ... 
174             this.onEquipItem($$0, this.armorItems.set($$0.getIndex(),  ... 
... $$1), $$1);                                                            ... 
175       }                                                                ... 
176    }                                                                   159    }
177                                                                        160 
178    @Override                                                           161    @Override
179    public void addAdditionalSaveData(CompoundTag $$0) {                162    public void addAdditionalSaveData(CompoundTag $$0) {
180       super.addAdditionalSaveData($$0);                                163       super.addAdditionalSaveData($$0);
181       ListTag $$1 = new ListTag();                                     ... 
182                                                                        ... 
183       for (ItemStack $$2 : this.armorItems) {                          ... 
184          $$1.add($$2.saveOptional(this.registryAccess()));             ... 
185       }                                                                ... 
186                                                                        ... 
187       $$0.put("ArmorItems", $$1);                                      ... 
188       ListTag $$3 = new ListTag();                                     ... 
189                                                                        ... 
190       for (ItemStack $$4 : this.handItems) {                           164       if (!this.equipment.isEmpty()) {
191          $$3.add($$4.saveOptional(this.registryAccess()));             165          RegistryOps<Tag> $$1 = this.registryAccess().createSerializat
...                                                                        ... ionContext(NbtOps.INSTANCE);
...                                                                        166          $$0.put("equipment", EntityEquipment.CODEC.encodeStart($$1, t
...                                                                        ... his.equipment).getOrThrow());
192       }                                                                167       }
193                                                                        168 
194       $$0.put("HandItems", $$3);                                       ... 
195       $$0.putBoolean("Invisible", this.isInvisible());                 169       $$0.putBoolean("Invisible", this.isInvisible());
196       $$0.putBoolean("Small", this.isSmall());                         170       $$0.putBoolean("Small", this.isSmall());
197       $$0.putBoolean("ShowArms", this.showArms());                     171       $$0.putBoolean("ShowArms", this.showArms());

net/minecraft/world/entity/decoration/ArmorStand.java --- 6/8 --- Java
207    @Override                                                           181    @Override
208    public void readAdditionalSaveData(CompoundTag $$0) {               182    public void readAdditionalSaveData(CompoundTag $$0) {
209       super.readAdditionalSaveData($$0);                               183       super.readAdditionalSaveData($$0);
210       if ($$0.contains("ArmorItems", 9)) {                             184       if ($$0.contains("equipment")) {
211          ListTag $$1 = $$0.getList("ArmorItems", 10);                  185          RegistryOps<Tag> $$1 = this.registryAccess().createSerializat
...                                                                        ... ionContext(NbtOps.INSTANCE);
212                                                                        186          EntityEquipment.CODEC
213          for (int $$2 = 0; $$2 < this.armorItems.size(); $$2++) {      187             .parse($$1, $$0.get("equipment"))
214             CompoundTag $$3 = $$1.getCompound($$2);                    188             .resultOrPartial($$0x -> LOGGER.warn("Failed to parse equi
...                                                                        ... pment: {}", $$0x))
215             this.armorItems.set($$2, ItemStack.parseOptional(this.regi 189             .ifPresent($$0x -> this.equipment = $$0x);
... stryAccess(), $$3));                                                   ... 
216          }                                                             ... 
217       }                                                                190       } else {
218                                                                        191          this.equipment = new EntityEquipment();
219       if ($$0.contains("HandItems", 9)) {                              192       }
220          ListTag $$4 = $$0.getList("HandItems", 10);                   ... 
221                                                                        ... 
222          for (int $$5 = 0; $$5 < this.handItems.size(); $$5++) {       ... 
223             CompoundTag $$6 = $$4.getCompound($$5);                    ... 
224             this.handItems.set($$5, ItemStack.parseOptional(this.regis ... 
... tryAccess(), $$6));                                                    ... 
225          }                                                             ... 
226       }                                                                ... 
227                                                                        193 
228       this.setInvisible($$0.getBoolean("Invisible"));                  194       this.setInvisible($$0.getBoolean("Invisible"));
229       this.setSmall($$0.getBoolean("Small"));                          195       this.setSmall($$0.getBoolean("Small"));

net/minecraft/world/entity/decoration/ArmorStand.java --- 7/8 --- Java
232       this.setNoBasePlate($$0.getBoolean("NoBasePlate"));              198       this.setNoBasePlate($$0.getBoolean("NoBasePlate"));
233       this.setMarker($$0.getBoolean("Marker"));                        199       this.setMarker($$0.getBoolean("Marker"));
234       this.noPhysics = !this.hasPhysics();                             200       this.noPhysics = !this.hasPhysics();
235       CompoundTag $$7 = $$0.getCompound("Pose");                       201       CompoundTag $$2 = $$0.getCompound("Pose");
236       this.readPose($$7);                                              202       this.readPose($$2);
237    }                                                                   203    }
238                                                                        204 
239    private void readPose(CompoundTag $$0) {                            205    private void readPose(CompoundTag $$0) {

net/minecraft/world/entity/decoration/ArmorStand.java --- 8/8 --- Java
500       this.playBrokenSound();                                          466       this.playBrokenSound();
501       this.dropAllDeathLoot($$0, $$1);                                 467       this.dropAllDeathLoot($$0, $$1);
502                                                                        468 
503       for (int $$2 = 0; $$2 < this.handItems.size(); $$2++) {          469       for (EquipmentSlot $$2 : EquipmentSlot.VALUES) {
504          ItemStack $$3 = this.handItems.get($$2);                      470          ItemStack $$3 = this.equipment.set($$2, ItemStack.EMPTY);
505          if (!$$3.isEmpty()) {                                         471          if (!$$3.isEmpty()) {
506             Block.popResource(this.level(), this.blockPosition().above 472             Block.popResource(this.level(), this.blockPosition().above
... (), $$3);                                                              ... (), $$3);
507             this.handItems.set($$2, ItemStack.EMPTY);                  ... 
508          }                                                             473          }
509       }                                                                474       }
510                                                                        ... 
511       for (int $$4 = 0; $$4 < this.armorItems.size(); $$4++) {         ... 
512          ItemStack $$5 = this.armorItems.get($$4);                     ... 
513          if (!$$5.isEmpty()) {                                         ... 
514             Block.popResource(this.level(), this.blockPosition().above ... 
... (), $$5);                                                              ... 
515             this.armorItems.set($$4, ItemStack.EMPTY);                 ... 
516          }                                                             ... 
517       }                                                                ... 
518    }                                                                   475    }
519                                                                        476 
520    private void playBrokenSound() {                                    477    private void playBrokenSound() {

net/minecraft/world/entity/animal/Sheep.java --- 1/2 --- Java
4 import javax.annotation.Nullable;                                         4 import javax.annotation.Nullable;
5 import net.minecraft.Util;                                                5 import net.minecraft.Util;
6 import net.minecraft.core.BlockPos;                                       6 import net.minecraft.core.BlockPos;
.                                                                           7 import net.minecraft.core.component.DataComponentGetter;
.                                                                           8 import net.minecraft.core.component.DataComponentType;
.                                                                           9 import net.minecraft.core.component.DataComponents;
7 import net.minecraft.nbt.CompoundTag;                                    10 import net.minecraft.nbt.CompoundTag;
8 import net.minecraft.network.syncher.EntityDataAccessor;                 11 import net.minecraft.network.syncher.EntityDataAccessor;
9 import net.minecraft.network.syncher.EntityDataSerializers;              12 import net.minecraft.network.syncher.EntityDataSerializers;

net/minecraft/world/entity/animal/Sheep.java --- 2/2 --- Java
235       this.entityData.set(DATA_WOOL_ID, (byte)($$1 & 240 | $$0.getId() 238       this.entityData.set(DATA_WOOL_ID, (byte)($$1 & 240 | $$0.getId()
...  & 15));                                                               ...  & 15));
236    }                                                                   239    }
...                                                                        240 
...                                                                        241    @Nullable
...                                                                        242    @Override
...                                                                        243    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        244       return $$0 == DataComponents.SHEEP_COLOR ? castComponentValue((D
...                                                                        ... ataComponentType<T>)$$0, this.getColor()) : super.get($$0);
...                                                                        245    }
...                                                                        246 
...                                                                        247    @Override
...                                                                        248    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        249       this.applyImplicitComponentIfPresent($$0, DataComponents.SHEEP_C
...                                                                        ... OLOR);
...                                                                        250       super.applyImplicitComponents($$0);
...                                                                        251    }
...                                                                        252 
...                                                                        253    @Override
...                                                                        254    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        255       if ($$0 == DataComponents.SHEEP_COLOR) {
...                                                                        256          this.setColor(castComponentValue(DataComponents.SHEEP_COLOR, 
...                                                                        ... $$1));
...                                                                        257          return true;
...                                                                        258       } else {
...                                                                        259          return super.applyImplicitComponent($$0, $$1);
...                                                                        260       }
...                                                                        261    }
237                                                                        262 
238    public boolean isSheared() {                                        263    public boolean isSheared() {
239       return (this.entityData.get(DATA_WOOL_ID) & 16) != 0;            264       return (this.entityData.get(DATA_WOOL_ID) & 16) != 0;

net/minecraft/gametest/framework/ReportGameListener.java --- 1/8 --- Java
 1 package net.minecraft.gametest.framework;                                1 package net.minecraft.gametest.framework;
 2                                                                          2 
 3 import com.google.common.base.MoreObjects;                               3 import com.google.common.base.MoreObjects;
 4 import java.util.Arrays;                                                 4 import java.util.Optional;
 5 import java.util.List;                                                   . 
 6 import net.minecraft.ChatFormatting;                                     5 import net.minecraft.ChatFormatting;
 7 import net.minecraft.Util;                                               6 import net.minecraft.Util;
 8 import net.minecraft.core.BlockPos;                                      7 import net.minecraft.core.BlockPos;
 9 import net.minecraft.core.component.DataComponents;                      . 
10 import net.minecraft.network.chat.Component;                             8 import net.minecraft.network.chat.Component;
11 import net.minecraft.network.protocol.game.DebugPackets;                 9 import net.minecraft.network.protocol.game.DebugPackets;
12 import net.minecraft.server.level.ServerLevel;                          10 import net.minecraft.server.level.ServerLevel;
13 import net.minecraft.server.network.Filterable;                         .. 
14 import net.minecraft.world.item.ItemStack;                              .. 
15 import net.minecraft.world.item.Items;                                  .. 
16 import net.minecraft.world.item.component.WritableBookContent;          .. 
17 import net.minecraft.world.level.block.Block;                           11 import net.minecraft.world.level.block.entity.BlockEntityType;
18 import net.minecraft.world.level.block.Blocks;                          .. 
19 import net.minecraft.world.level.block.LecternBlock;                    .. 
20 import net.minecraft.world.level.block.Mirror;                          .. 
21 import net.minecraft.world.level.block.state.BlockState;                12 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
22 import net.minecraft.world.level.levelgen.structure.templatesystem.Stru .. 
.. ctureTemplate;                                                          .. 
23 import org.apache.commons.lang3.exception.ExceptionUtils;               13 import org.apache.commons.lang3.exception.ExceptionUtils;
24                                                                         14 
25 class ReportGameListener implements GameTestListener {                  15 class ReportGameListener implements GameTestListener {

net/minecraft/gametest/framework/ReportGameListener.java --- 2/8 --- Java
31                                                                         21 
32    @Override                                                            22    @Override
33    public void testStructureLoaded(GameTestInfo $$0) {                  23    public void testStructureLoaded(GameTestInfo $$0) {
34       spawnBeacon($$0, Blocks.LIGHT_GRAY_STAINED_GLASS);                .. 
35       this.attempts++;                                                  24       this.attempts++;
36    }                                                                    25    }
37                                                                         26 

net/minecraft/gametest/framework/ReportGameListener.java --- 3/8 --- Java
43       }                                                                 32       }
44                                                                         33 
45       $$4 = $$4 + "]";                                                  34       $$4 = $$4 + "]";
46       String $$5 = $$0.getTestName() + " " + ($$2 ? "passed" : "failed" 35       String $$5 = $$0.id() + " " + ($$2 ? "passed" : "failed") + "! " 
.. ) + "! " + $$0.getRunTime() + "ms";                                     .. + $$0.getRunTime() + "ms";
47       String $$6 = String.format("%-53s%s", $$4, $$5);                  36       String $$6 = String.format("%-53s%s", $$4, $$5);
48       if ($$2) {                                                        37       if ($$2) {
49          reportPassed($$0, $$6);                                        38          reportPassed($$0, $$6);

net/minecraft/gametest/framework/ReportGameListener.java --- 4/8 --- Java
62       if ($$0.retryOptions().hasRetries()) {                            51       if ($$0.retryOptions().hasRetries()) {
63          this.handleRetry($$0, $$1, true);                              52          this.handleRetry($$0, $$1, true);
64       } else if (!$$0.isFlaky()) {                                      53       } else if (!$$0.isFlaky()) {
65          reportPassed($$0, $$0.getTestName() + " passed! (" + $$0.getRu 54          reportPassed($$0, $$0.id() + " passed! (" + $$0.getRunTime() +
.. nTime() + "ms)");                                                       ..  "ms)");
66       } else {                                                          55       } else {
67          if (this.successes >= $$0.requiredSuccesses()) {               56          if (this.successes >= $$0.requiredSuccesses()) {
68             reportPassed($$0, $$0 + " passed " + this.successes + " tim 57             reportPassed($$0, $$0 + " passed " + this.successes + " tim
   es of " + this.attempts + " attempts.");                                   es of " + this.attempts + " attempts.");

net/minecraft/gametest/framework/ReportGameListener.java --- 5/8 --- Java
81             this.handleRetry($$0, $$1, false);                          70             this.handleRetry($$0, $$1, false);
82          }                                                              71          }
83       } else {                                                          72       } else {
84          TestFunction $$2 = $$0.getTestFunction();                      73          GameTestInstance $$2 = $$0.getTest();
85          String $$3 = "Flaky test " + $$0 + " failed, attempt: " + this 74          String $$3 = "Flaky test " + $$0 + " failed, attempt: " + this
.. .attempts + "/" + $$2.maxAttempts();                                    .. .attempts + "/" + $$2.maxAttempts();
86          if ($$2.requiredSuccesses() > 1) {                             75          if ($$2.requiredSuccesses() > 1) {
87             $$3 = $$3 + ", successes: " + this.successes + " (" + $$2.r 76             $$3 = $$3 + ", successes: " + this.successes + " (" + $$2.r
   equiredSuccesses() + " required)";                                         equiredSuccesses() + " required)";

net/minecraft/gametest/framework/ReportGameListener.java --- 6/8 --- Java
102    }                                                                   91    }
103                                                                        92 
104    public static void reportPassed(GameTestInfo $$0, String $$1) {     93    public static void reportPassed(GameTestInfo $$0, String $$1) {
105       updateBeaconGlass($$0, Blocks.LIME_STAINED_GLASS);               94       getTestInstanceBlockEntity($$0).ifPresent($$0x -> $$0x.setSucces
...                                                                        .. s());
106       visualizePassedTest($$0, $$1);                                   95       visualizePassedTest($$0, $$1);
107    }                                                                   96    }
108                                                                        97 

net/minecraft/gametest/framework/ReportGameListener.java --- 7/8 --- Java
112    }                                                                   101    }
113                                                                        102 
114    protected static void reportFailure(GameTestInfo $$0, Throwable $$1 103    protected static void reportFailure(GameTestInfo $$0, Throwable $$1
... ) {                                                                    ... ) {
...                                                                        104       Component $$3;
...                                                                        105       if ($$1 instanceof GameTestAssertException $$2) {
115       updateBeaconGlass($$0, $$0.isRequired() ? Blocks.RED_STAINED_GLA 106          $$3 = $$2.getDescription();
... SS : Blocks.ORANGE_STAINED_GLASS);                                     ... 
...                                                                        107       } else {
...                                                                        108          $$3 = Component.literal(Util.describeError($$1));
...                                                                        109       }
...                                                                        110 
116       spawnLectern($$0, Util.describeError($$1));                      111       getTestInstanceBlockEntity($$0).ifPresent($$1x -> $$1x.setErrorM
...                                                                        ... essage($$3));
117       visualizeFailedTest($$0, $$1);                                   112       visualizeFailedTest($$0, $$1);
118    }                                                                   113    }
119                                                                        114 
120    protected static void visualizeFailedTest(GameTestInfo $$0, Throwab 115    protected static void visualizeFailedTest(GameTestInfo $$0, Throwab
... le $$1) {                                                              ... le $$1) {
121       String $$2 = $$1.getMessage() + ($$1.getCause() == null ? "" : " 116       String $$2 = $$1.getMessage() + ($$1.getCause() == null ? "" : "
...  cause: " + Util.describeError($$1.getCause()));                       ...  cause: " + Util.describeError($$1.getCause()));
122       String $$3 = ($$0.isRequired() ? "" : "(optional) ") + $$0.getTe 117       String $$3 = ($$0.isRequired() ? "" : "(optional) ") + $$0.id() 
... stName() + " failed! " + $$2;                                          ... + " failed! " + $$2;
123       say($$0.getLevel(), $$0.isRequired() ? ChatFormatting.RED : Chat 118       say($$0.getLevel(), $$0.isRequired() ? ChatFormatting.RED : Chat
... Formatting.YELLOW, $$3);                                               ... Formatting.YELLOW, $$3);
124       Throwable $$4 = MoreObjects.firstNonNull(ExceptionUtils.getRootC 119       Throwable $$4 = MoreObjects.firstNonNull(ExceptionUtils.getRootC
... ause($$1), $$1);                                                       ... ause($$1), $$1);
125       if ($$4 instanceof GameTestAssertPosException $$5) {             120       if ($$4 instanceof GameTestAssertPosException $$5) {

net/minecraft/gametest/framework/ReportGameListener.java --- 8/8 --- Java
129       GlobalTestReporter.onTestFailed($$0);                            124       GlobalTestReporter.onTestFailed($$0);
130    }                                                                   125    }
131                                                                        ... 
132    protected static void spawnBeacon(GameTestInfo $$0, Block $$1) {    ... 
133       ServerLevel $$2 = $$0.getLevel();                                ... 
134       BlockPos $$3 = getBeaconPos($$0);                                ... 
135       $$2.setBlockAndUpdate($$3, Blocks.BEACON.defaultBlockState().rot ... 
... ate($$0.getRotation()));                                               ... 
136       updateBeaconGlass($$0, $$1);                                     ... 
137                                                                        ... 
138       for (int $$4 = -1; $$4 <= 1; $$4++) {                            ... 
139          for (int $$5 = -1; $$5 <= 1; $$5++) {                         ... 
140             BlockPos $$6 = $$3.offset($$4, -1, $$5);                   ... 
141             $$2.setBlockAndUpdate($$6, Blocks.IRON_BLOCK.defaultBlockS ... 
... tate());                                                               ... 
142          }                                                             ... 
143       }                                                                ... 
144    }                                                                   ... 
145                                                                        126 
146    private static BlockPos getBeaconPos(GameTestInfo $$0) {            127    private static Optional<TestInstanceBlockEntity> getTestInstanceBlo
...                                                                        ... ckEntity(GameTestInfo $$0) {
147       BlockPos $$1 = $$0.getStructureBlockPos();                       ... 
148       BlockPos $$2 = new BlockPos(-1, -2, -1);                         ... 
149       return StructureTemplate.transform($$1.offset($$2), Mirror.NONE, ... 
...  $$0.getRotation(), $$1);                                              ... 
150    }                                                                   ... 
151                                                                        ... 
152    private static void updateBeaconGlass(GameTestInfo $$0, Block $$1)  ... 
... {                                                                      ... 
153       ServerLevel $$2 = $$0.getLevel();                                ... 
154       BlockPos $$3 = getBeaconPos($$0);                                ... 
155       if ($$2.getBlockState($$3).is(Blocks.BEACON)) {                  ... 
156          BlockPos $$4 = $$3.offset(0, 1, 0);                           ... 
157          $$2.setBlockAndUpdate($$4, $$1.defaultBlockState());          ... 
158       }                                                                ... 
159    }                                                                   ... 
160                                                                        ... 
161    private static void spawnLectern(GameTestInfo $$0, String $$1) {    ... 
162       ServerLevel $$2 = $$0.getLevel();                                128       ServerLevel $$1 = $$0.getLevel();
163       BlockPos $$3 = $$0.getStructureBlockPos();                       ... 
164       BlockPos $$4 = new BlockPos(-1, 0, -1);                          ... 
165       BlockPos $$5 = StructureTemplate.transform($$3.offset($$4), Mirr 129       Optional<BlockPos> $$2 = Optional.ofNullable($$0.getTestBlockPos
... or.NONE, $$0.getRotation(), $$3);                                      ... ());
166       $$2.setBlockAndUpdate($$5, Blocks.LECTERN.defaultBlockState().ro 130       return $$2.flatMap($$1x -> $$1.getBlockEntity($$1x, BlockEntityT
... tate($$0.getRotation()));                                              ... ype.TEST_INSTANCE_BLOCK));
167       BlockState $$6 = $$2.getBlockState($$5);                         ... 
168       ItemStack $$7 = createBook($$0.getTestName(), $$0.isRequired(),  ... 
... $$1);                                                                  ... 
169       LecternBlock.tryPlaceBook(null, $$2, $$5, $$6, $$7);             ... 
170    }                                                                   131    }
171                                                                        ... 
172    private static ItemStack createBook(String $$0, boolean $$1, String ... 
...  $$2) {                                                                ... 
173       StringBuffer $$3 = new StringBuffer();                           ... 
174       Arrays.stream($$0.split("\\.")).forEach($$1x -> $$3.append($$1x) ... 
... .append('\n'));                                                        ... 
175       if (!$$1) {                                                      ... 
176          $$3.append("(optional)\n");                                   ... 
177       }                                                                ... 
178                                                                        ... 
179       $$3.append("-------------------\n");                             ... 
180       ItemStack $$4 = new ItemStack(Items.WRITABLE_BOOK);              ... 
181       $$4.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookCo ... 
... ntent(List.of(Filterable.passThrough($$3 + $$2))));                    ... 
182       return $$4;                                                      ... 
183    }                                                                   ... 
184                                                                        132 
185    protected static void say(ServerLevel $$0, ChatFormatting $$1, Stri 133    protected static void say(ServerLevel $$0, ChatFormatting $$1, Stri
... ng $$2) {                                                              ... ng $$2) {
186       $$0.getPlayers($$0x -> true).forEach($$2x -> $$2x.sendSystemMess 134       $$0.getPlayers($$0x -> true).forEach($$2x -> $$2x.sendSystemMess
    age(Component.literal($$2).withStyle($$1)));                               age(Component.literal($$2).withStyle($$1)));

net/minecraft/world/entity/npc/VillagerType.java --- 1/2 --- Java
 1 package net.minecraft.world.entity.npc;                                  1 package net.minecraft.world.entity.npc;
 2                                                                          2 
 3 import com.google.common.collect.Maps;                                   3 import com.google.common.collect.Maps;
 .                                                                          4 import com.mojang.serialization.Codec;
 4 import java.util.Map;                                                    5 import java.util.Map;
 5 import net.minecraft.Util;                                               6 import net.minecraft.Util;
 6 import net.minecraft.core.Holder;                                        7 import net.minecraft.core.Holder;
 7 import net.minecraft.core.Registry;                                      8 import net.minecraft.core.Registry;
 8 import net.minecraft.core.registries.BuiltInRegistries;                  9 import net.minecraft.core.registries.Registries;
 .                                                                         10 import net.minecraft.network.RegistryFriendlyByteBuf;
 .                                                                         11 import net.minecraft.network.codec.ByteBufCodecs;
 .                                                                         12 import net.minecraft.network.codec.StreamCodec;
 .                                                                         13 import net.minecraft.resources.RegistryFixedCodec;
 9 import net.minecraft.resources.ResourceKey;                             14 import net.minecraft.resources.ResourceKey;
10 import net.minecraft.resources.ResourceLocation;                        15 import net.minecraft.resources.ResourceLocation;
11 import net.minecraft.world.level.biome.Biome;                           16 import net.minecraft.world.level.biome.Biome;
12 import net.minecraft.world.level.biome.Biomes;                          17 import net.minecraft.world.level.biome.Biomes;
13                                                                         18 
14 public final class VillagerType {                                       19 public final class VillagerType {
15    public static final VillagerType DESERT = register("desert");        20    public static final ResourceKey<VillagerType> DESERT = createKey("de
..                                                                         .. sert");
16    public static final VillagerType JUNGLE = register("jungle");        21    public static final ResourceKey<VillagerType> JUNGLE = createKey("ju
..                                                                         .. ngle");
17    public static final VillagerType PLAINS = register("plains");        22    public static final ResourceKey<VillagerType> PLAINS = createKey("pl
..                                                                         .. ains");
18    public static final VillagerType SAVANNA = register("savanna");      23    public static final ResourceKey<VillagerType> SAVANNA = createKey("s
..                                                                         .. avanna");
19    public static final VillagerType SNOW = register("snow");            24    public static final ResourceKey<VillagerType> SNOW = createKey("snow
..                                                                         .. ");
20    public static final VillagerType SWAMP = register("swamp");          25    public static final ResourceKey<VillagerType> SWAMP = createKey("swa
..                                                                         .. mp");
21    public static final VillagerType TAIGA = register("taiga");          26    public static final ResourceKey<VillagerType> TAIGA = createKey("tai
..                                                                         .. ga");
22    private final String name;                                           27    public static final Codec<Holder<VillagerType>> CODEC = RegistryFixe
..                                                                         .. dCodec.create(Registries.VILLAGER_TYPE);
..                                                                         28    public static final StreamCodec<RegistryFriendlyByteBuf, Holder<Vill
..                                                                         .. agerType>> STREAM_CODEC = ByteBufCodecs.holderRegistry(Registries.VILLA
..                                                                         .. GER_TYPE);
23    private static final Map<ResourceKey<Biome>, VillagerType> BY_BIOME  29    private static final Map<ResourceKey<Biome>, ResourceKey<VillagerTyp
.. = Util.make(Maps.newHashMap(), $$0 -> {                                 .. e>> BY_BIOME = Util.make(Maps.newHashMap(), $$0 -> {
24       $$0.put(Biomes.BADLANDS, DESERT);                                 30       $$0.put(Biomes.BADLANDS, DESERT);
25       $$0.put(Biomes.DESERT, DESERT);                                   31       $$0.put(Biomes.DESERT, DESERT);
26       $$0.put(Biomes.ERODED_BADLANDS, DESERT);                          32       $$0.put(Biomes.ERODED_BADLANDS, DESERT);

net/minecraft/world/entity/npc/VillagerType.java --- 2/2 --- Java
52       $$0.put(Biomes.WINDSWEPT_FOREST, TAIGA);                          58       $$0.put(Biomes.WINDSWEPT_FOREST, TAIGA);
53    });                                                                  59    });
54                                                                         60 
55    private VillagerType(String $$0) {                                   61    private static ResourceKey<VillagerType> createKey(String $$0) {
56       this.name = $$0;                                                  62       return ResourceKey.create(Registries.VILLAGER_TYPE, ResourceLocat
..                                                                         .. ion.withDefaultNamespace($$0));
57    }                                                                    63    }
58                                                                         .. 
59    @Override                                                            .. 
60    public String toString() {                                           .. 
61       return this.name;                                                 .. 
62    }                                                                    .. 
63                                                                         64 
64    private static VillagerType register(String $$0) {                   65    private static VillagerType register(Registry<VillagerType> $$0, Res
..                                                                         .. ourceKey<VillagerType> $$1) {
65       return Registry.register(BuiltInRegistries.VILLAGER_TYPE, Resourc 66       return Registry.register($$0, $$1, new VillagerType());
.. eLocation.withDefaultNamespace($$0), new VillagerType($$0));            .. 
66    }                                                                    67    }
..                                                                         68 
..                                                                         69    public static VillagerType bootstrap(Registry<VillagerType> $$0) {
..                                                                         70       register($$0, DESERT);
..                                                                         71       register($$0, JUNGLE);
..                                                                         72       register($$0, PLAINS);
..                                                                         73       register($$0, SAVANNA);
..                                                                         74       register($$0, SNOW);
..                                                                         75       register($$0, SWAMP);
..                                                                         76       return register($$0, TAIGA);
..                                                                         77    }
67                                                                         78 
68    public static VillagerType byBiome(Holder<Biome> $$0) {              79    public static ResourceKey<VillagerType> byBiome(Holder<Biome> $$0) {
69       return $$0.unwrapKey().map(BY_BIOME::get).orElse(PLAINS);         80       return $$0.unwrapKey().map(BY_BIOME::get).orElse(PLAINS);
70    }                                                                    81    }
71 }                                                                       82 }

net/minecraft/world/entity/animal/horse/AbstractChestedHorse.java --- 1/2 --- Java
80       if (this.hasChest()) {                                            80       if (this.hasChest()) {
81          ListTag $$1 = new ListTag();                                   81          ListTag $$1 = new ListTag();
82                                                                         82 
83          for (int $$2 = 1; $$2 < this.inventory.getContainerSize(); $$2 83          for (int $$2 = 0; $$2 < this.inventory.getContainerSize(); $$2
.. ++) {                                                                   .. ++) {
84             ItemStack $$3 = this.inventory.getItem($$2);                84             ItemStack $$3 = this.inventory.getItem($$2);
85             if (!$$3.isEmpty()) {                                       85             if (!$$3.isEmpty()) {
86                CompoundTag $$4 = new CompoundTag();                     86                CompoundTag $$4 = new CompoundTag();
87                $$4.putByte("Slot", (byte)($$2 - 1));                    87                $$4.putByte("Slot", (byte)$$2);
88                $$1.add($$3.save(this.registryAccess(), $$4));           88                $$1.add($$3.save(this.registryAccess(), $$4));
89             }                                                           89             }
90          }                                                              90          }

net/minecraft/world/entity/animal/horse/AbstractChestedHorse.java --- 2/2 --- Java
104          for (int $$2 = 0; $$2 < $$1.size(); $$2++) {                  104          for (int $$2 = 0; $$2 < $$1.size(); $$2++) {
105             CompoundTag $$3 = $$1.getCompound($$2);                    105             CompoundTag $$3 = $$1.getCompound($$2);
106             int $$4 = $$3.getByte("Slot") & 255;                       106             int $$4 = $$3.getByte("Slot") & 255;
107             if ($$4 < this.inventory.getContainerSize() - 1) {         107             if ($$4 < this.inventory.getContainerSize()) {
108                this.inventory.setItem($$4 + 1, ItemStack.parse(this.re 108                this.inventory.setItem($$4, ItemStack.parse(this.regist
... gistryAccess(), $$3).orElse(ItemStack.EMPTY));                         ... ryAccess(), $$3).orElse(ItemStack.EMPTY));
109             }                                                          109             }
110          }                                                             110          }
111       }                                                                111       }
112                                                                        ... 
113       this.syncSaddleToClients();                                      ... 
114    }                                                                   112    }
115                                                                        113 
116    @Override                                                           114    @Override

net/minecraft/world/entity/LivingEntity.java --- 1/20 --- Java
 4 import com.google.common.base.Objects;                                  4 import com.google.common.base.Objects;
 5 import com.google.common.collect.ImmutableList;                         5 import com.google.common.collect.ImmutableList;
 6 import com.google.common.collect.ImmutableMap;                          6 import com.google.common.collect.ImmutableMap;
 7 import com.google.common.collect.Iterables;                             . 
 8 import com.google.common.collect.Lists;                                 7 import com.google.common.collect.Lists;
 9 import com.google.common.collect.Maps;                                  8 import com.google.common.collect.Maps;
10 import com.mojang.datafixers.util.Pair;                                 9 import com.mojang.datafixers.util.Pair;

net/minecraft/world/entity/LivingEntity.java --- 2/20 --- Java
36 import net.minecraft.core.BlockPos;                                     35 import net.minecraft.core.BlockPos;
37 import net.minecraft.core.Direction;                                    36 import net.minecraft.core.Direction;
38 import net.minecraft.core.Holder;                                       37 import net.minecraft.core.Holder;
39 import net.minecraft.core.NonNullList;                                  .. 
40 import net.minecraft.core.component.DataComponents;                     38 import net.minecraft.core.component.DataComponents;
41 import net.minecraft.core.particles.BlockParticleOption;                39 import net.minecraft.core.particles.BlockParticleOption;
42 import net.minecraft.core.particles.ItemParticleOption;                 40 import net.minecraft.core.particles.ItemParticleOption;

net/minecraft/world/entity/LivingEntity.java --- 3/20 --- Java
145    private static final AttributeModifier SPEED_MODIFIER_SPRINTING = n 143    private static final AttributeModifier SPEED_MODIFIER_SPRINTING = n
... ew AttributeModifier(                                                  ... ew AttributeModifier(
146       SPRINTING_MODIFIER_ID, 0.3F, AttributeModifier.Operation.ADD_MUL 144       SPRINTING_MODIFIER_ID, 0.3F, AttributeModifier.Operation.ADD_MUL
... TIPLIED_TOTAL                                                          ... TIPLIED_TOTAL
147    );                                                                  145    );
148    public static final int HAND_SLOTS = 2;                             ... 
149    public static final int ARMOR_SLOTS = 4;                            ... 
150    public static final int EQUIPMENT_SLOT_OFFSET = 98;                 146    public static final int EQUIPMENT_SLOT_OFFSET = 98;
151    public static final int ARMOR_SLOT_OFFSET = 100;                    147    public static final int ARMOR_SLOT_OFFSET = 100;
152    public static final int BODY_ARMOR_OFFSET = 105;                    148    public static final int BODY_ARMOR_OFFSET = 105;
...                                                                        149    public static final int SADDLE_OFFSET = 106;
153    public static final int SWING_DURATION = 6;                         150    public static final int SWING_DURATION = 6;
154    public static final int PLAYER_HURT_EXPERIENCE_TIME = 100;          151    public static final int PLAYER_HURT_EXPERIENCE_TIME = 100;
155    private static final int DAMAGE_SOURCE_TIMEOUT = 40;                152    private static final int DAMAGE_SOURCE_TIMEOUT = 40;

net/minecraft/world/entity/LivingEntity.java --- 4/20 --- Java
190    private final AttributeMap attributes;                              187    private final AttributeMap attributes;
191    private final CombatTracker combatTracker = new CombatTracker(this) 188    private final CombatTracker combatTracker = new CombatTracker(this)
... ;                                                                      ... ;
192    private final Map<Holder<MobEffect>, MobEffectInstance> activeEffec 189    private final Map<Holder<MobEffect>, MobEffectInstance> activeEffec
... ts = Maps.newHashMap();                                                ... ts = Maps.newHashMap();
193    private final NonNullList<ItemStack> lastHandItemStacks = NonNullLi 190    private final Map<EquipmentSlot, ItemStack> lastEquipmentItems = Ut
... st.withSize(2, ItemStack.EMPTY);                                       ... il.makeEnumMap(EquipmentSlot.class, $$0x -> ItemStack.EMPTY);
194    private final NonNullList<ItemStack> lastArmorItemStacks = NonNullL ... 
... ist.withSize(4, ItemStack.EMPTY);                                      ... 
195    private ItemStack lastBodyItemStack = ItemStack.EMPTY;              ... 
196    public boolean swinging;                                            191    public boolean swinging;
197    private boolean discardFriction = false;                            192    private boolean discardFriction = false;
198    public InteractionHand swingingArm;                                 193    public InteractionHand swingingArm;

net/minecraft/world/entity/LivingEntity.java --- 5/20 --- Java
327          this.updateInWaterStateAndDoWaterCurrentPushing();            322          this.updateInWaterStateAndDoWaterCurrentPushing();
328       }                                                                323       }
329                                                                        324 
330       if (this.level() instanceof ServerLevel $$4 && $$1 && this.fallD 325       if (this.level() instanceof ServerLevel $$4 && $$1 && this.fallD
... istance > 0.0F) {                                                      ... istance > 0.0) {
331          this.onChangedBlock($$4, $$3);                                326          this.onChangedBlock($$4, $$3);
332          double $$5 = this.getAttributeValue(Attributes.SAFE_FALL_DIST 327          double $$5 = (double)Math.max(0, Mth.floor(this.calculateFall
... ANCE);                                                                 ... Power(this.fallDistance)));
333          if ((double)this.fallDistance > $$5 && !$$2.isAir()) {        328          if ($$5 > 0.0 && !$$2.isAir()) {
334             double $$6 = this.getX();                                  329             double $$6 = this.getX();
335             double $$7 = this.getY();                                  330             double $$7 = this.getY();
336             double $$8 = this.getZ();                                  331             double $$8 = this.getZ();

net/minecraft/world/entity/LivingEntity.java --- 6/20 --- Java
343                $$8 = (double)$$3.getZ() + 0.5 + $$11 / $$12 * 0.5;     338                $$8 = (double)$$3.getZ() + 0.5 + $$11 / $$12 * 0.5;
344             }                                                          339             }
345                                                                        340 
346             float $$13 = (float)Mth.ceil((double)this.fallDistance - $ ... 
... $5);                                                                   ... 
347             double $$14 = Math.min((double)(0.2F + $$13 / 15.0F), 2.5) 341             double $$13 = Math.min(0.2F + $$5 / 15.0, 2.5);
... ;                                                                      ... 
348             int $$15 = (int)(150.0 * $$14);                            342             int $$14 = (int)(150.0 * $$13);
349             $$4.sendParticles(new BlockParticleOption(ParticleTypes.BL 343             $$4.sendParticles(new BlockParticleOption(ParticleTypes.BL
... OCK, $$2), $$6, $$7, $$8, $$15, 0.0, 0.0, 0.0, 0.15F);                 ... OCK, $$2), $$6, $$7, $$8, $$14, 0.0, 0.0, 0.0, 0.15F);
350          }                                                             344          }
351       }                                                                345       }
352                                                                        346 

net/minecraft/world/entity/LivingEntity.java --- 7/20 --- Java
427          }                                                             421          }
428       }                                                                422       }
429                                                                        423 
430       if (this.isAlive() && (this.isInWaterOrRain() || this.isInPowder 424       if (this.isAlive() && this.isInRain()) {
... Snow)) {                                                               ... 
431          this.extinguishFire();                                        425          this.extinguishFire();
432       }                                                                426       }
433                                                                        427 

net/minecraft/world/entity/LivingEntity.java --- 8/20 --- Java
650                                                                        644 
651    public void onEquipItem(EquipmentSlot $$0, ItemStack $$1, ItemStack 645    public void onEquipItem(EquipmentSlot $$0, ItemStack $$1, ItemStack
...  $$2) {                                                                ...  $$2) {
652       if (!this.level().isClientSide() && !this.isSpectator()) {       646       if (!this.level().isClientSide() && !this.isSpectator()) {
653          boolean $$3 = $$2.isEmpty() && $$1.isEmpty();                 ... 
654          if (!$$3 && !ItemStack.isSameItemSameComponents($$1, $$2) &&  647          if (!ItemStack.isSameItemSameComponents($$1, $$2) && !this.fi
... !this.firstTick) {                                                     ... rstTick) {
655             Equippable $$4 = $$2.get(DataComponents.EQUIPPABLE);       648             Equippable $$3 = $$2.get(DataComponents.EQUIPPABLE);
656             if (!this.isSilent() && $$4 != null && $$0 == $$4.slot())  649             if (!this.isSilent() && $$3 != null && $$0 == $$3.slot()) 
... {                                                                      ... {
657                this.level()                                            650                this.level()
658                   .playSeededSound(null, this.getX(), this.getY(), thi 651                   .playSeededSound(
... s.getZ(), $$4.equipSound(), this.getSoundSource(), 1.0F, 1.0F, this.ra ... 
... ndom.nextLong());                                                      ... 
...                                                                        652                      null, this.getX(), this.getY(), this.getZ(), this
...                                                                        ... .getEquipSound($$0, $$2, $$3), this.getSoundSource(), 1.0F, 1.0F, this
...                                                                        ... .random.nextLong()
...                                                                        653                   );
659             }                                                          654             }
660                                                                        655 
661             if (this.doesEmitEquipEvent($$0)) {                        656             if (this.doesEmitEquipEvent($$0)) {
662                this.gameEvent($$4 != null ? GameEvent.EQUIP : GameEven 657                this.gameEvent($$3 != null ? GameEvent.EQUIP : GameEven
... t.UNEQUIP);                                                            ... t.UNEQUIP);
663             }                                                          658             }
664          }                                                             659          }
665       }                                                                660       }
666    }                                                                   661    }
...                                                                        662 
...                                                                        663    protected Holder<SoundEvent> getEquipSound(EquipmentSlot $$0, ItemS
...                                                                        ... tack $$1, Equippable $$2) {
...                                                                        664       return $$2.equipSound();
...                                                                        665    }
667                                                                        666 
668    @Override                                                           667    @Override
669    public void remove(Entity.RemovalReason $$0) {                      668    public void remove(Entity.RemovalReason $$0) {

net/minecraft/world/entity/LivingEntity.java --- 9/20 --- Java
1630    }                                                                  1629    }
1631                                                                       1630 
1632    @Override                                                          1631    @Override
1633    public boolean causeFallDamage(float $$0, float $$1, DamageSource  1632    public boolean causeFallDamage(double $$0, float $$1, DamageSource
.... $$2) {                                                                ....  $$2) {
1634       boolean $$3 = super.causeFallDamage($$0, $$1, $$2);             1633       boolean $$3 = super.causeFallDamage($$0, $$1, $$2);
1635       int $$4 = this.calculateFallDamage($$0, $$1);                   1634       int $$4 = this.calculateFallDamage($$0, $$1);
1636       if ($$4 > 0) {                                                  1635       if ($$4 > 0) {

net/minecraft/world/entity/LivingEntity.java --- 10/20 --- Java
1643       }                                                               1642       }
1644    }                                                                  1643    }
1645                                                                       1644 
1646    protected int calculateFallDamage(float $$0, float $$1) {          1645    protected int calculateFallDamage(double $$0, float $$1) {
1647       if (this.getType().is(EntityTypeTags.FALL_DAMAGE_IMMUNE)) {     1646       if (this.getType().is(EntityTypeTags.FALL_DAMAGE_IMMUNE)) {
1648          return 0;                                                    1647          return 0;
1649       } else {                                                        1648       } else {
1650          float $$2 = (float)this.getAttributeValue(Attributes.SAFE_FA 1649          double $$2 = this.calculateFallPower($$0);
.... LL_DISTANCE);                                                         .... 
1651          float $$3 = $$0 - $$2;                                       .... 
1652          return Mth.ceil((double)($$3 * $$1) * this.getAttributeValue 1650          return Mth.floor($$2 * (double)$$1 * this.getAttributeValue(
.... (Attributes.FALL_DAMAGE_MULTIPLIER));                                 .... Attributes.FALL_DAMAGE_MULTIPLIER));
1653       }                                                               1651       }
1654    }                                                                  1652    }
....                                                                       1653 
....                                                                       1654    private double calculateFallPower(double $$0) {
....                                                                       1655       return $$0 + 1.0E-6 - this.getAttributeValue(Attributes.SAFE_FA
....                                                                       .... LL_DISTANCE);
....                                                                       1656    }
1655                                                                       1657 
1656    protected void playBlockFallSound() {                              1658    protected void playBlockFallSound() {
1657       if (!this.isSilent()) {                                         1659       if (!this.isSilent()) {

net/minecraft/world/entity/LivingEntity.java --- 11/20 --- Java
1969             break;                                                    1971             break;
1970          case 67:                                                     1972          case 67:
1971             this.makeDrownParticles();                                1973             this.makeDrownParticles();
....                                                                       1974             break;
....                                                                       1975          case 68:
....                                                                       1976             this.breakItem(this.getItemBySlot(EquipmentSlot.SADDLE));
1972       }                                                               1977       }
1973    }                                                                  1978    }
1974                                                                       1979 

net/minecraft/world/entity/LivingEntity.java --- 12/20 --- Java
2092    }                                                                  2097    }
2093                                                                       2098 
2094    public boolean canUseSlot(EquipmentSlot $$0) {                     2099    public boolean canUseSlot(EquipmentSlot $$0) {
2095       return false;                                                   2100       return true;
2096    }                                                                  2101    }
2097                                                                       .... 
2098    public abstract Iterable<ItemStack> getArmorSlots();               .... 
2099                                                                       2102 
2100    public abstract ItemStack getItemBySlot(EquipmentSlot var1);       2103    public abstract ItemStack getItemBySlot(EquipmentSlot var1);
2101                                                                       2104 
2102    public abstract void setItemSlot(EquipmentSlot var1, ItemStack var 2105    public abstract void setItemSlot(EquipmentSlot var1, ItemStack var
.... 2);                                                                   .... 2);
2103                                                                       .... 
2104    public Iterable<ItemStack> getHandSlots() {                        .... 
2105       return List.of();                                               .... 
2106    }                                                                  .... 
2107                                                                       .... 
2108    public Iterable<ItemStack> getArmorAndBodyArmorSlots() {           .... 
2109       return this.getArmorSlots();                                    .... 
2110    }                                                                  .... 
2111                                                                       .... 
2112    public Iterable<ItemStack> getAllSlots() {                         .... 
2113       return Iterables.concat(this.getHandSlots(), this.getArmorAndBo .... 
.... dyArmorSlots());                                                      .... 
2114    }                                                                  .... 
2115                                                                       2106 
2116    protected void verifyEquippedItem(ItemStack $$0) {                 2107    protected void verifyEquippedItem(ItemStack $$0) {
2117       $$0.getItem().verifyComponentsAfterLoad($$0);                   2108       $$0.getItem().verifyComponentsAfterLoad($$0);
2118    }                                                                  2109    }
2119                                                                       2110 
2120    public float getArmorCoverPercentage() {                           2111    public float getArmorCoverPercentage() {
2121       Iterable<ItemStack> $$0 = this.getArmorSlots();                 2112       int $$0 = 0;
2122       int $$1 = 0;                                                    2113       int $$1 = 0;
2123       int $$2 = 0;                                                    .... 
2124                                                                       2114 
2125       for (ItemStack $$3 : $$0) {                                     2115       for (EquipmentSlot $$2 : EquipmentSlotGroup.ARMOR) {
....                                                                       2116          if ($$2.getType() == EquipmentSlot.Type.HUMANOID_ARMOR) {
....                                                                       2117             ItemStack $$3 = this.getItemBySlot($$2);
2126          if (!$$3.isEmpty()) {                                        2118             if (!$$3.isEmpty()) {
2127             $$2++;                                                    2119                $$1++;
2128          }                                                            2120             }
2129                                                                       2121 
2130          $$1++;                                                       2122             $$0++;
....                                                                       2123          }
2131       }                                                               2124       }
2132                                                                       2125 
2133       return $$1 > 0 ? (float)$$2 / (float)$$1 : 0.0F;                2126       return $$0 > 0 ? (float)$$1 / (float)$$0 : 0.0F;
2134    }                                                                  2127    }
2135                                                                       2128 
2136    @Override                                                          2129    @Override

net/minecraft/world/entity/LivingEntity.java --- 13/20 --- Java
2623       Map<EquipmentSlot, ItemStack> $$0 = null;                       2616       Map<EquipmentSlot, ItemStack> $$0 = null;
2624                                                                       2617 
2625       for (EquipmentSlot $$1 : EquipmentSlot.VALUES) {                2618       for (EquipmentSlot $$1 : EquipmentSlot.VALUES) {
2626          ItemStack $$2 = switch ($$1.getType()) {                     2619          ItemStack $$2 = this.lastEquipmentItems.get($$1);
2627             case HAND -> this.getLastHandItem($$1);                   .... 
2628             case HUMANOID_ARMOR -> this.getLastArmorItem($$1);        .... 
2629             case ANIMAL_ARMOR -> this.lastBodyItemStack;              .... 
2630          };                                                           .... 
2631          ItemStack $$3 = this.getItemBySlot($$1);                     2620          ItemStack $$3 = this.getItemBySlot($$1);
2632          if (this.equipmentHasChanged($$2, $$3)) {                    2621          if (this.equipmentHasChanged($$2, $$3)) {
2633             if ($$0 == null) {                                        2622             if ($$0 == null) {

net/minecraft/world/entity/LivingEntity.java --- 14/20 --- Java
2647             EquipmentSlot $$6 = $$5.getKey();                         2636             EquipmentSlot $$6 = $$5.getKey();
2648             ItemStack $$7 = $$5.getValue();                           2637             ItemStack $$7 = $$5.getValue();
2649             if (!$$7.isEmpty() && !$$7.isBroken()) {                  2638             if (!$$7.isEmpty() && !$$7.isBroken()) {
2650                $$7.forEachModifier($$6, ($$0x, $$1) -> {              2639                $$7.forEachModifier($$6, ($$0x, $$1x) -> {
2651                   AttributeInstance $$2 = this.attributes.getInstance 2640                   AttributeInstance $$2 = this.attributes.getInstance
.... ($$0x);                                                               .... ($$0x);
2652                   if ($$2 != null) {                                  2641                   if ($$2 != null) {
2653                      $$2.removeModifier($$1.id());                    2642                      $$2.removeModifier($$1x.id());
2654                      $$2.addTransientModifier($$1);                   2643                      $$2.addTransientModifier($$1x);
2655                   }                                                   2644                   }
2656                });                                                    2645                });
2657                if (this.level() instanceof ServerLevel $$8) {         2646                if (this.level() instanceof ServerLevel $$8) {

net/minecraft/world/entity/LivingEntity.java --- 15/20 --- Java
2673       ItemStack $$2 = $$0.get(EquipmentSlot.OFFHAND);                 2662       ItemStack $$2 = $$0.get(EquipmentSlot.OFFHAND);
2674       if ($$1 != null                                                 2663       if ($$1 != null
2675          && $$2 != null                                               2664          && $$2 != null
2676          && ItemStack.matches($$1, this.getLastHandItem(EquipmentSlot 2665          && ItemStack.matches($$1, this.lastEquipmentItems.get(Equipm
.... .OFFHAND))                                                            .... entSlot.OFFHAND))
2677          && ItemStack.matches($$2, this.getLastHandItem(EquipmentSlot 2666          && ItemStack.matches($$2, this.lastEquipmentItems.get(Equipm
.... .MAINHAND))) {                                                        .... entSlot.MAINHAND))) {
2678          ((ServerLevel)this.level()).getChunkSource().broadcast(this, 2667          ((ServerLevel)this.level()).getChunkSource().broadcast(this,
....  new ClientboundEntityEventPacket(this, (byte)55));                   ....  new ClientboundEntityEventPacket(this, (byte)55));
2679          $$0.remove(EquipmentSlot.MAINHAND);                          2668          $$0.remove(EquipmentSlot.MAINHAND);
2680          $$0.remove(EquipmentSlot.OFFHAND);                           2669          $$0.remove(EquipmentSlot.OFFHAND);
2681          this.setLastHandItem(EquipmentSlot.MAINHAND, $$1.copy());    2670          this.lastEquipmentItems.put(EquipmentSlot.MAINHAND, $$1.copy
....                                                                       .... ());
2682          this.setLastHandItem(EquipmentSlot.OFFHAND, $$2.copy());     2671          this.lastEquipmentItems.put(EquipmentSlot.OFFHAND, $$2.copy(
....                                                                       .... ));
2683       }                                                               2672       }
2684    }                                                                  2673    }
2685                                                                       2674 

net/minecraft/world/entity/LivingEntity.java --- 16/20 --- Java
2688       $$0.forEach(($$1x, $$2) -> {                                    2677       $$0.forEach(($$1x, $$2) -> {
2689          ItemStack $$3 = $$2.copy();                                  2678          ItemStack $$3 = $$2.copy();
2690          $$1.add(Pair.of($$1x, $$3));                                 2679          $$1.add(Pair.of($$1x, $$3));
2691          switch ($$1x.getType()) {                                    .... 
2692             case HAND:                                                .... 
2693                this.setLastHandItem($$1x, $$3);                       2680          this.lastEquipmentItems.put($$1x, $$3);
2694                break;                                                 .... 
2695             case HUMANOID_ARMOR:                                      .... 
2696                this.setLastArmorItem($$1x, $$3);                      .... 
2697                break;                                                 .... 
2698             case ANIMAL_ARMOR:                                        .... 
2699                this.lastBodyItemStack = $$3;                          .... 
2700          }                                                            .... 
2701       });                                                             2681       });
2702       ((ServerLevel)this.level()).getChunkSource().broadcast(this, ne 2682       ((ServerLevel)this.level()).getChunkSource().broadcast(this, ne
.... w ClientboundSetEquipmentPacket(this.getId(), $$1));                  .... w ClientboundSetEquipmentPacket(this.getId(), $$1));
2703    }                                                                  2683    }
2704                                                                       .... 
2705    private ItemStack getLastArmorItem(EquipmentSlot $$0) {            .... 
2706       return this.lastArmorItemStacks.get($$0.getIndex());            .... 
2707    }                                                                  .... 
2708                                                                       .... 
2709    private void setLastArmorItem(EquipmentSlot $$0, ItemStack $$1) {  .... 
2710       this.lastArmorItemStacks.set($$0.getIndex(), $$1);              .... 
2711    }                                                                  .... 
2712                                                                       .... 
2713    private ItemStack getLastHandItem(EquipmentSlot $$0) {             .... 
2714       return this.lastHandItemStacks.get($$0.getIndex());             .... 
2715    }                                                                  .... 
2716                                                                       .... 
2717    private void setLastHandItem(EquipmentSlot $$0, ItemStack $$1) {   .... 
2718       this.lastHandItemStacks.set($$0.getIndex(), $$1);               .... 
2719    }                                                                  .... 
2720                                                                       2684 
2721    protected void tickHeadTurn(float $$0) {                           2685    protected void tickHeadTurn(float $$0) {
2722       float $$1 = Mth.wrapDegrees($$0 - this.yBodyRot);               2686       float $$1 = Mth.wrapDegrees($$0 - this.yBodyRot);

net/minecraft/world/entity/LivingEntity.java --- 17/20 --- Java
3494          case FEET -> 52;                                             3458          case FEET -> 52;
3495          case LEGS -> 51;                                             3459          case LEGS -> 51;
3496          case BODY -> 65;                                             3460          case BODY -> 65;
....                                                                       3461          case SADDLE -> 68;
3497       };                                                              3462       };
3498    }                                                                  3463    }
3499                                                                       3464 

net/minecraft/world/entity/LivingEntity.java --- 18/20 --- Java
3568          return EquipmentSlot.MAINHAND;                               3533          return EquipmentSlot.MAINHAND;
3569       } else if ($$0 == 99) {                                         3534       } else if ($$0 == 99) {
3570          return EquipmentSlot.OFFHAND;                                3535          return EquipmentSlot.OFFHAND;
3571       } else {                                                        3536       } else if ($$0 == 105) {
....                                                                       3537          return EquipmentSlot.BODY;
....                                                                       3538       } else {
3572          return $$0 == 105 ? EquipmentSlot.BODY : null;               3539          return $$0 == 106 ? EquipmentSlot.SADDLE : null;
3573       }                                                               3540       }
3574    }                                                                  3541    }
3575                                                                       3542 

net/minecraft/world/entity/LivingEntity.java --- 19/20 --- Java
3584       if (this.isSpectator()) {                                       3551       if (this.isSpectator()) {
3585          return false;                                                3552          return false;
3586       } else {                                                        3553       } else {
3587          boolean $$0 = !this.getItemBySlot(EquipmentSlot.HEAD).is(Ite 3554          for (EquipmentSlot $$0 : EquipmentSlotGroup.ARMOR) {
.... mTags.FREEZE_IMMUNE_WEARABLES)                                        .... 
3588             && !this.getItemBySlot(EquipmentSlot.CHEST).is(ItemTags.F .... 
.... REEZE_IMMUNE_WEARABLES)                                               .... 
3589             && !this.getItemBySlot(EquipmentSlot.LEGS).is(ItemTags.FR .... 
.... EEZE_IMMUNE_WEARABLES)                                                .... 
3590             && !this.getItemBySlot(EquipmentSlot.FEET).is(ItemTags.FR .... 
.... EEZE_IMMUNE_WEARABLES)                                                .... 
3591             && !this.getItemBySlot(EquipmentSlot.BODY).is(ItemTags.FR 3555             if (this.getItemBySlot($$0).is(ItemTags.FREEZE_IMMUNE_WEA
.... EEZE_IMMUNE_WEARABLES);                                               .... RABLES)) {
....                                                                       3556                return false;
....                                                                       3557             }
....                                                                       3558          }
....                                                                       3559 
3592          return $$0 && super.canFreeze();                             3560          return super.canFreeze();
3593       }                                                               3561       }
3594    }                                                                  3562    }
3595                                                                       3563 

net/minecraft/world/entity/LivingEntity.java --- 20/20 --- Java
3617       this.yHeadRotO = this.yHeadRot;                                 3585       this.yHeadRotO = this.yHeadRot;
3618       this.setId($$0.getId());                                        3586       this.setId($$0.getId());
3619       this.setUUID($$0.getUUID());                                    3587       this.setUUID($$0.getUUID());
3620       this.absMoveTo($$1, $$2, $$3, $$4, $$5);                        3588       this.absSnapTo($$1, $$2, $$3, $$4, $$5);
3621       this.setDeltaMovement($$0.getXa(), $$0.getYa(), $$0.getZa());   3589       this.setDeltaMovement($$0.getXa(), $$0.getYa(), $$0.getZa());
3622    }                                                                  3590    }
3623                                                                       3591 

net/minecraft/util/datafix/schemas/V99.java --- 1/4 --- Java
65       super($$0, $$1);                                                  65       super($$0, $$1);
66    }                                                                    66    }
67                                                                         .. 
68    protected static TypeTemplate equipment(Schema $$0) {                .. 
69       return DSL.optionalFields("Equipment", DSL.list(References.ITEM_S .. 
.. TACK.in($$0)));                                                         .. 
70    }                                                                    .. 
71                                                                         .. 
72    protected static void registerMob(Schema $$0, Map<String, Supplier<T .. 
.. ypeTemplate>> $$1, String $$2) {                                        .. 
73       $$0.register($$1, $$2, () -> equipment($$0));                     .. 
74    }                                                                    .. 
75                                                                         67 
76    protected static void registerThrowableProjectile(Schema $$0, Map<St 68    protected static void registerThrowableProjectile(Schema $$0, Map<St
.. ring, Supplier<TypeTemplate>> $$1, String $$2) {                        .. ring, Supplier<TypeTemplate>> $$1, String $$2) {
77       $$0.register($$1, $$2, () -> DSL.optionalFields("inTile", Referen 69       $$0.register($$1, $$2, () -> DSL.optionalFields("inTile", Referen
   ces.BLOCK_NAME.in($$0)));                                                  ces.BLOCK_NAME.in($$0)));

net/minecraft/util/datafix/schemas/V99.java --- 2/4 --- Java
123       $$0.register(                                                    115       $$0.register(
124          $$1, "MinecartCommandBlock", () -> DSL.optionalFields("Displa 116          $$1, "MinecartCommandBlock", () -> DSL.optionalFields("Displa
... yTile", References.BLOCK_NAME.in($$0), "LastOutput", References.TEXT_C ... yTile", References.BLOCK_NAME.in($$0), "LastOutput", References.TEXT_C
... OMPONENT.in($$0))                                                      ... OMPONENT.in($$0))
125       );                                                               117       );
126       registerMob($$0, $$1, "ArmorStand");                             118       $$0.registerSimple($$1, "ArmorStand");
127       registerMob($$0, $$1, "Creeper");                                119       $$0.registerSimple($$1, "Creeper");
128       registerMob($$0, $$1, "Skeleton");                               120       $$0.registerSimple($$1, "Skeleton");
129       registerMob($$0, $$1, "Spider");                                 121       $$0.registerSimple($$1, "Spider");
130       registerMob($$0, $$1, "Giant");                                  122       $$0.registerSimple($$1, "Giant");
131       registerMob($$0, $$1, "Zombie");                                 123       $$0.registerSimple($$1, "Zombie");
132       registerMob($$0, $$1, "Slime");                                  124       $$0.registerSimple($$1, "Slime");
133       registerMob($$0, $$1, "Ghast");                                  125       $$0.registerSimple($$1, "Ghast");
134       registerMob($$0, $$1, "PigZombie");                              126       $$0.registerSimple($$1, "PigZombie");
135       $$0.register($$1, "Enderman", $$1x -> DSL.optionalFields("carrie 127       $$0.register($$1, "Enderman", $$1x -> DSL.optionalFields("carrie
... d", References.BLOCK_NAME.in($$0), equipment($$0)));                   ... d", References.BLOCK_NAME.in($$0)));
136       registerMob($$0, $$1, "CaveSpider");                             128       $$0.registerSimple($$1, "CaveSpider");
137       registerMob($$0, $$1, "Silverfish");                             129       $$0.registerSimple($$1, "Silverfish");
138       registerMob($$0, $$1, "Blaze");                                  130       $$0.registerSimple($$1, "Blaze");
139       registerMob($$0, $$1, "LavaSlime");                              131       $$0.registerSimple($$1, "LavaSlime");
140       registerMob($$0, $$1, "EnderDragon");                            132       $$0.registerSimple($$1, "EnderDragon");
141       registerMob($$0, $$1, "WitherBoss");                             133       $$0.registerSimple($$1, "WitherBoss");
142       registerMob($$0, $$1, "Bat");                                    134       $$0.registerSimple($$1, "Bat");
143       registerMob($$0, $$1, "Witch");                                  135       $$0.registerSimple($$1, "Witch");
144       registerMob($$0, $$1, "Endermite");                              136       $$0.registerSimple($$1, "Endermite");
145       registerMob($$0, $$1, "Guardian");                               137       $$0.registerSimple($$1, "Guardian");
146       registerMob($$0, $$1, "Pig");                                    138       $$0.registerSimple($$1, "Pig");
147       registerMob($$0, $$1, "Sheep");                                  139       $$0.registerSimple($$1, "Sheep");
148       registerMob($$0, $$1, "Cow");                                    140       $$0.registerSimple($$1, "Cow");
149       registerMob($$0, $$1, "Chicken");                                141       $$0.registerSimple($$1, "Chicken");
150       registerMob($$0, $$1, "Squid");                                  142       $$0.registerSimple($$1, "Squid");
151       registerMob($$0, $$1, "Wolf");                                   143       $$0.registerSimple($$1, "Wolf");
152       registerMob($$0, $$1, "MushroomCow");                            144       $$0.registerSimple($$1, "MushroomCow");
153       registerMob($$0, $$1, "SnowMan");                                145       $$0.registerSimple($$1, "SnowMan");
154       registerMob($$0, $$1, "Ozelot");                                 146       $$0.registerSimple($$1, "Ozelot");
155       registerMob($$0, $$1, "VillagerGolem");                          147       $$0.registerSimple($$1, "VillagerGolem");
156       $$0.register(                                                    148       $$0.register(
157          $$1,                                                          149          $$1,
158          "EntityHorse",                                                150          "EntityHorse",
159          $$1x -> DSL.optionalFields(                                   151          $$1x -> DSL.optionalFields(
160                "Items",                                                152                "Items", DSL.list(References.ITEM_STACK.in($$0)), "Armo
...                                                                        ... rItem", References.ITEM_STACK.in($$0), "SaddleItem", References.ITEM_S
...                                                                        ... TACK.in($$0)
161                DSL.list(References.ITEM_STACK.in($$0)),                ... 
162                "ArmorItem",                                            ... 
163                References.ITEM_STACK.in($$0),                          ... 
164                "SaddleItem",                                           ... 
165                References.ITEM_STACK.in($$0),                          ... 
166                equipment($$0)                                          ... 
167             )                                                          153             )
168       );                                                               154       );
169       registerMob($$0, $$1, "Rabbit");                                 155       $$0.registerSimple($$1, "Rabbit");
170       $$0.register(                                                    156       $$0.register(
171          $$1,                                                          157          $$1,
172          "Villager",                                                   158          "Villager",
173          $$1x -> DSL.optionalFields(                                   159          $$1x -> DSL.optionalFields(
174                "Inventory",                                            160                "Inventory", DSL.list(References.ITEM_STACK.in($$0)), "
...                                                                        ... Offers", DSL.optionalFields("Recipes", DSL.list(References.VILLAGER_TR
...                                                                        ... ADE.in($$0)))
175                DSL.list(References.ITEM_STACK.in($$0)),                ... 
176                "Offers",                                               ... 
177                DSL.optionalFields("Recipes", DSL.list(References.VILLA ... 
... GER_TRADE.in($$0))),                                                   ... 
178                equipment($$0)                                          ... 
179             )                                                          161             )
180       );                                                               162       );
181       $$0.registerSimple($$1, "EnderCrystal");                         163       $$0.registerSimple($$1, "EnderCrystal");
182       $$0.register($$1, "AreaEffectCloud", $$1x -> DSL.optionalFields( 164       $$0.register($$1, "AreaEffectCloud", $$1x -> DSL.optionalFields(
... "Particle", References.PARTICLE.in($$0)));                             ... "Particle", References.PARTICLE.in($$0)));
183       $$0.registerSimple($$1, "ShulkerBullet");                        165       $$0.registerSimple($$1, "ShulkerBullet");
184       $$0.registerSimple($$1, "DragonFireball");                       166       $$0.registerSimple($$1, "DragonFireball");
185       registerMob($$0, $$1, "Shulker");                                167       $$0.registerSimple($$1, "Shulker");
186       return $$1;                                                      168       return $$1;
187    }                                                                   169    }
188                                                                        170 

net/minecraft/util/datafix/schemas/V99.java --- 3/4 --- Java
263       $$0.registerType(                                                245       $$0.registerType(
264          true, References.ENTITY, () -> DSL.optionalFields("CustomName 246          true,
... ", DSL.constType(DSL.string()), DSL.taggedChoiceLazy("id", DSL.string( ... 
... ), $$1))                                                               ... 
...                                                                        247          References.ENTITY,
...                                                                        248          () -> DSL.and(
...                                                                        249                References.ENTITY_EQUIPMENT.in($$0),
...                                                                        250                DSL.optionalFields("CustomName", DSL.constType(DSL.stri
...                                                                        ... ng()), DSL.taggedChoiceLazy("id", DSL.string(), $$1))
...                                                                        251             )
265       );                                                               252       );
266       $$0.registerType(                                                253       $$0.registerType(
267          true,                                                         254          true,

net/minecraft/util/datafix/schemas/V99.java --- 4/4 --- Java
330       );                                                               317       );
331       $$0.registerType(true, References.PARTICLE, () -> DSL.constType( 318       $$0.registerType(true, References.PARTICLE, () -> DSL.constType(
... DSL.string()));                                                        ... DSL.string()));
332       $$0.registerType(true, References.TEXT_COMPONENT, () -> DSL.cons 319       $$0.registerType(true, References.TEXT_COMPONENT, () -> DSL.cons
... tType(DSL.string()));                                                  ... tType(DSL.string()));
...                                                                        320       $$0.registerType(
...                                                                        321          false,
...                                                                        322          References.STRUCTURE,
...                                                                        323          () -> DSL.optionalFields(
...                                                                        324                "entities",
...                                                                        325                DSL.list(DSL.optionalFields("nbt", References.ENTITY_TR
...                                                                        ... EE.in($$0))),
...                                                                        326                "blocks",
...                                                                        327                DSL.list(DSL.optionalFields("nbt", References.BLOCK_ENT
...                                                                        ... ITY.in($$0))),
...                                                                        328                "palette",
...                                                                        329                DSL.list(References.BLOCK_STATE.in($$0))
...                                                                        330             )
...                                                                        331       );
...                                                                        332       $$0.registerType(false, References.BLOCK_STATE, DSL::remainder);
...                                                                        333       $$0.registerType(false, References.FLAT_BLOCK_STATE, DSL::remain
...                                                                        ... der);
...                                                                        334       $$0.registerType(true, References.ENTITY_EQUIPMENT, () -> DSL.op
...                                                                        ... tional(DSL.field("Equipment", DSL.list(References.ITEM_STACK.in($$0)))
...                                                                        ... ));
333    }                                                                   335    }
334                                                                        336 
335    public static TypeTemplate itemStackTag(Schema $$0) {               337    public static TypeTemplate itemStackTag(Schema $$0) {

net/minecraft/util/datafix/schemas/V2519.java --- Java
13    @Override                                                            13    @Override
14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 14    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 15       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
16       $$0.register($$1, "minecraft:strider", () -> V100.equipment($$0)) 16       $$0.registerSimple($$1, "minecraft:strider");
.. ;                                                                       .. 
17       return $$1;                                                       17       return $$1;
18    }                                                                    18    }
19 }                                                                       19 }

net/minecraft/util/datafix/schemas/V3689.java --- Java
15    @Override                                                            15    @Override
16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $ 16    public Map<String, Supplier<TypeTemplate>> registerEntities(Schema $
.. $0) {                                                                   .. $0) {
17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities( 17       Map<String, Supplier<TypeTemplate>> $$1 = super.registerEntities(
.. $$0);                                                                   .. $$0);
18       $$0.register($$1, "minecraft:breeze", () -> V100.equipment($$0)); 18       $$0.registerSimple($$1, "minecraft:breeze");
19       $$0.registerSimple($$1, "minecraft:wind_charge");                 19       $$0.registerSimple($$1, "minecraft:wind_charge");
20       $$0.registerSimple($$1, "minecraft:breeze_wind_charge");          20       $$0.registerSimple($$1, "minecraft:breeze_wind_charge");
21       return $$1;                                                       21       return $$1;

net/minecraft/util/datafix/schemas/V3078.java --- Java
13    }                                                                    13    }
14                                                                         14 
15    protected static void registerMob(Schema $$0, Map<String, Supplier<T 15    protected static void registerMob(Schema $$0, Map<String, Supplier<T
.. ypeTemplate>> $$1, String $$2) {                                        .. ypeTemplate>> $$1, String $$2) {
16       $$0.register($$1, $$2, () -> V100.equipment($$0));                16       $$0.registerSimple($$1, $$2);
17    }                                                                    17    }
18                                                                         18 
19    @Override                                                            19    @Override

net/minecraft/client/model/CamelModel.java --- 1/5 --- Java
 5 import net.minecraft.client.animation.definitions.CamelAnimation;        5 import net.minecraft.client.animation.definitions.CamelAnimation;
 6 import net.minecraft.client.model.geom.ModelPart;                        6 import net.minecraft.client.model.geom.ModelPart;
 7 import net.minecraft.client.model.geom.PartPose;                         7 import net.minecraft.client.model.geom.PartPose;
 8 import net.minecraft.client.model.geom.builders.CubeDeformation;         . 
 9 import net.minecraft.client.model.geom.builders.CubeListBuilder;         8 import net.minecraft.client.model.geom.builders.CubeListBuilder;
10 import net.minecraft.client.model.geom.builders.LayerDefinition;         9 import net.minecraft.client.model.geom.builders.LayerDefinition;
11 import net.minecraft.client.model.geom.builders.MeshDefinition;         10 import net.minecraft.client.model.geom.builders.MeshDefinition;

net/minecraft/client/model/CamelModel.java --- 2/5 --- Java
19    private static final float MAX_WALK_ANIMATION_SPEED = 2.0F;          18    private static final float MAX_WALK_ANIMATION_SPEED = 2.0F;
20    private static final float WALK_ANIMATION_SCALE_FACTOR = 2.5F;       19    private static final float WALK_ANIMATION_SCALE_FACTOR = 2.5F;
21    public static final MeshTransformer BABY_TRANSFORMER = MeshTransform 20    public static final MeshTransformer BABY_TRANSFORMER = MeshTransform
.. er.scaling(0.45F);                                                      .. er.scaling(0.45F);
22    private static final String SADDLE = "saddle";                       .. 
23    private static final String BRIDLE = "bridle";                       .. 
24    private static final String REINS = "reins";                         .. 
25    private final ModelPart head;                                        21    protected final ModelPart head;
26    private final ModelPart[] saddleParts;                               .. 
27    private final ModelPart[] ridingParts;                               .. 
28                                                                         22 
29    public CamelModel(ModelPart $$0) {                                   23    public CamelModel(ModelPart $$0) {
30       super($$0);                                                       24       super($$0);
31       ModelPart $$1 = $$0.getChild("body");                             25       ModelPart $$1 = $$0.getChild("body");
32       this.head = $$1.getChild("head");                                 26       this.head = $$1.getChild("head");
..                                                                         27    }
..                                                                         28 
..                                                                         29    public static LayerDefinition createBodyLayer() {
33       this.saddleParts = new ModelPart[]{$$1.getChild("saddle"), this.h 30       return LayerDefinition.create(createBodyMesh(), 128, 128);
.. ead.getChild("bridle")};                                                .. 
34       this.ridingParts = new ModelPart[]{this.head.getChild("reins")};  31    }
35    }                                                                    .. 
36                                                                         32 
37    public static LayerDefinition createBodyLayer() {                    33    protected static MeshDefinition createBodyMesh() {
38       MeshDefinition $$0 = new MeshDefinition();                        34       MeshDefinition $$0 = new MeshDefinition();
39       PartDefinition $$1 = $$0.getRoot();                               35       PartDefinition $$1 = $$0.getRoot();
40       CubeDeformation $$2 = new CubeDeformation(0.05F);                 .. 
41       PartDefinition $$3 = $$1.addOrReplaceChild(                       36       PartDefinition $$2 = $$1.addOrReplaceChild(
42          "body", CubeListBuilder.create().texOffs(0, 25).addBox(-7.5F,  37          "body", CubeListBuilder.create().texOffs(0, 25).addBox(-7.5F, 
.. -12.0F, -23.5F, 15.0F, 12.0F, 27.0F), PartPose.offset(0.0F, 4.0F, 9.5F) .. -12.0F, -23.5F, 15.0F, 12.0F, 27.0F), PartPose.offset(0.0F, 4.0F, 9.5F)
43       );                                                                38       );
44       $$3.addOrReplaceChild(                                            39       $$2.addOrReplaceChild(
45          "hump", CubeListBuilder.create().texOffs(74, 0).addBox(-4.5F,  40          "hump", CubeListBuilder.create().texOffs(74, 0).addBox(-4.5F, 
.. -5.0F, -5.5F, 9.0F, 5.0F, 11.0F), PartPose.offset(0.0F, -12.0F, -10.0F) .. -5.0F, -5.5F, 9.0F, 5.0F, 11.0F), PartPose.offset(0.0F, -12.0F, -10.0F)
46       );                                                                41       );
47       $$3.addOrReplaceChild("tail", CubeListBuilder.create().texOffs(12 42       $$2.addOrReplaceChild("tail", CubeListBuilder.create().texOffs(12
.. 2, 0).addBox(-1.5F, 0.0F, 0.0F, 3.0F, 14.0F, 0.0F), PartPose.offset(0.0 .. 2, 0).addBox(-1.5F, 0.0F, 0.0F, 3.0F, 14.0F, 0.0F), PartPose.offset(0.0
.. F, -9.0F, 3.5F));                                                       .. F, -9.0F, 3.5F));
48       PartDefinition $$4 = $$3.addOrReplaceChild(                       43       PartDefinition $$3 = $$2.addOrReplaceChild(
49          "head",                                                        44          "head",
50          CubeListBuilder.create()                                       45          CubeListBuilder.create()
51             .texOffs(60, 24)                                            46             .texOffs(60, 24)

net/minecraft/client/model/CamelModel.java --- 3/5 --- Java
56             .addBox(-2.5F, -21.0F, -21.0F, 5.0F, 5.0F, 6.0F),           51             .addBox(-2.5F, -21.0F, -21.0F, 5.0F, 5.0F, 6.0F),
57          PartPose.offset(0.0F, -3.0F, -19.5F)                           52          PartPose.offset(0.0F, -3.0F, -19.5F)
58       );                                                                53       );
59       $$4.addOrReplaceChild(                                            54       $$3.addOrReplaceChild(
60          "left_ear", CubeListBuilder.create().texOffs(45, 0).addBox(-0. 55          "left_ear", CubeListBuilder.create().texOffs(45, 0).addBox(-0.
.. 5F, 0.5F, -1.0F, 3.0F, 1.0F, 2.0F), PartPose.offset(2.5F, -21.0F, -9.5F .. 5F, 0.5F, -1.0F, 3.0F, 1.0F, 2.0F), PartPose.offset(2.5F, -21.0F, -9.5F
.. )                                                                       .. )
61       );                                                                56       );
62       $$4.addOrReplaceChild(                                            57       $$3.addOrReplaceChild(
63          "right_ear", CubeListBuilder.create().texOffs(67, 0).addBox(-2 58          "right_ear", CubeListBuilder.create().texOffs(67, 0).addBox(-2
.. .5F, 0.5F, -1.0F, 3.0F, 1.0F, 2.0F), PartPose.offset(-2.5F, -21.0F, -9. .. .5F, 0.5F, -1.0F, 3.0F, 1.0F, 2.0F), PartPose.offset(-2.5F, -21.0F, -9.
.. 5F)                                                                     .. 5F)
64       );                                                                59       );
65       $$1.addOrReplaceChild(                                            60       $$1.addOrReplaceChild(

net/minecraft/client/model/CamelModel.java --- 4/5 --- Java
 74       $$1.addOrReplaceChild(                                           69       $$1.addOrReplaceChild(
 75          "right_front_leg", CubeListBuilder.create().texOffs(0, 26).ad 70          "right_front_leg", CubeListBuilder.create().texOffs(0, 26).ad
 .. dBox(-2.5F, 2.0F, -2.5F, 5.0F, 21.0F, 5.0F), PartPose.offset(-4.9F, 1. .. dBox(-2.5F, 2.0F, -2.5F, 5.0F, 21.0F, 5.0F), PartPose.offset(-4.9F, 1.
 .. 0F, -10.5F)                                                            .. 0F, -10.5F)
 76       );                                                               71       );
 77       $$3.addOrReplaceChild(                                           .. 
 78          "saddle",                                                     .. 
 79          CubeListBuilder.create()                                      .. 
 80             .texOffs(74, 64)                                           .. 
 81             .addBox(-4.5F, -17.0F, -15.5F, 9.0F, 5.0F, 11.0F, $$2)     .. 
 82             .texOffs(92, 114)                                          .. 
 83             .addBox(-3.5F, -20.0F, -15.5F, 7.0F, 3.0F, 11.0F, $$2)     .. 
 84             .texOffs(0, 89)                                            .. 
 85             .addBox(-7.5F, -12.0F, -23.5F, 15.0F, 12.0F, 27.0F, $$2),  .. 
 86          PartPose.offset(0.0F, 0.0F, 0.0F)                             .. 
 87       );                                                               .. 
 88       $$4.addOrReplaceChild(                                           .. 
 89          "reins",                                                      .. 
 90          CubeListBuilder.create()                                      .. 
 91             .texOffs(98, 42)                                           .. 
 92             .addBox(3.51F, -18.0F, -17.0F, 0.0F, 7.0F, 15.0F)          .. 
 93             .texOffs(84, 57)                                           .. 
 94             .addBox(-3.5F, -18.0F, -2.0F, 7.0F, 7.0F, 0.0F)            .. 
 95             .texOffs(98, 42)                                           .. 
 96             .addBox(-3.51F, -18.0F, -17.0F, 0.0F, 7.0F, 15.0F),        .. 
 97          PartPose.offset(0.0F, 0.0F, 0.0F)                             .. 
 98       );                                                               .. 
 99       $$4.addOrReplaceChild(                                           .. 
100          "bridle",                                                     .. 
101          CubeListBuilder.create()                                      .. 
102             .texOffs(60, 87)                                           .. 
103             .addBox(-3.5F, -7.0F, -15.0F, 7.0F, 8.0F, 19.0F, $$2)      .. 
104             .texOffs(21, 64)                                           .. 
105             .addBox(-3.5F, -21.0F, -15.0F, 7.0F, 14.0F, 7.0F, $$2)     .. 
106             .texOffs(50, 64)                                           .. 
107             .addBox(-2.5F, -21.0F, -21.0F, 5.0F, 5.0F, 6.0F, $$2)      .. 
108             .texOffs(74, 70)                                           .. 
109             .addBox(2.5F, -19.0F, -18.0F, 1.0F, 2.0F, 2.0F)            .. 
110             .texOffs(74, 70)                                           .. 
111             .mirror()                                                  .. 
112             .addBox(-3.5F, -19.0F, -18.0F, 1.0F, 2.0F, 2.0F),          .. 
113          PartPose.offset(0.0F, 0.0F, 0.0F)                             .. 
114       );                                                               .. 
115       return LayerDefinition.create($$0, 128, 128);                    72       return $$0;
116    }                                                                   73    }
117                                                                        74 
118    public void setupAnim(CamelRenderState $$0) {                       75    public void setupAnim(CamelRenderState $$0) {
119       super.setupAnim($$0);                                            76       super.setupAnim($$0);
120       this.applyHeadRotation($$0, $$0.yRot, $$0.xRot);                 77       this.applyHeadRotation($$0, $$0.yRot, $$0.xRot);
121       this.toggleInvisibleParts($$0);                                  .. 
122       this.animateWalk(CamelAnimation.CAMEL_WALK, $$0.walkAnimationPos 78       this.animateWalk(CamelAnimation.CAMEL_WALK, $$0.walkAnimationPos
... , $$0.walkAnimationSpeed, 2.0F, 2.5F);                                 .. , $$0.walkAnimationSpeed, 2.0F, 2.5F);
123       this.animate($$0.sitAnimationState, CamelAnimation.CAMEL_SIT, $$ 79       this.animate($$0.sitAnimationState, CamelAnimation.CAMEL_SIT, $$
... 0.ageInTicks, 1.0F);                                                   .. 0.ageInTicks, 1.0F);
124       this.animate($$0.sitPoseAnimationState, CamelAnimation.CAMEL_SIT 80       this.animate($$0.sitPoseAnimationState, CamelAnimation.CAMEL_SIT
    _POSE, $$0.ageInTicks, 1.0F);                                             _POSE, $$0.ageInTicks, 1.0F);

net/minecraft/client/model/CamelModel.java --- 5/5 --- Java
139       this.head.xRot = $$2 * (float) (Math.PI / 180.0);                95       this.head.xRot = $$2 * (float) (Math.PI / 180.0);
140    }                                                                   96    }
141                                                                        .. 
142    private void toggleInvisibleParts(CamelRenderState $$0) {           .. 
143       boolean $$1 = $$0.isSaddled;                                     .. 
144       boolean $$2 = $$0.isRidden;                                      .. 
145                                                                        .. 
146       for (ModelPart $$3 : this.saddleParts) {                         .. 
147          $$3.visible = $$1;                                            .. 
148       }                                                                .. 
149                                                                        .. 
150       for (ModelPart $$4 : this.ridingParts) {                         .. 
151          $$4.visible = $$2 && $$1;                                     .. 
152       }                                                                .. 
153    }                                                                   .. 
154 }                                                                      97 }

net/minecraft/advancements/critereon/EntityPredicate.java --- 1/8 --- Java
 8 import java.util.stream.Stream;                                          8 import java.util.stream.Stream;
 9 import javax.annotation.Nullable;                                        9 import javax.annotation.Nullable;
10 import net.minecraft.core.HolderGetter;                                 10 import net.minecraft.core.HolderGetter;
..                                                                         11 import net.minecraft.core.component.DataComponentGetter;
..                                                                         12 import net.minecraft.core.component.DataComponentPredicate;
11 import net.minecraft.server.level.ServerLevel;                          13 import net.minecraft.server.level.ServerLevel;
12 import net.minecraft.server.level.ServerPlayer;                         14 import net.minecraft.server.level.ServerPlayer;
13 import net.minecraft.tags.TagKey;                                       15 import net.minecraft.tags.TagKey;

net/minecraft/advancements/critereon/EntityPredicate.java --- 2/8 --- Java
39    Optional<EntityPredicate> passenger,                                 41    Optional<EntityPredicate> passenger,
40    Optional<EntityPredicate> targetedEntity,                            42    Optional<EntityPredicate> targetedEntity,
41    Optional<String> team,                                               43    Optional<String> team,
42    Optional<SlotsPredicate> slots                                       44    Optional<SlotsPredicate> slots,
..                                                                         45    Optional<DataComponentPredicate> components
43 ) {                                                                     46 ) {
44    public static final Codec<EntityPredicate> CODEC = Codec.recursive(  47    public static final Codec<EntityPredicate> CODEC = Codec.recursive(
45       "EntityPredicate",                                                48       "EntityPredicate",

net/minecraft/advancements/critereon/EntityPredicate.java --- 3/8 --- Java
59                      $$0.optionalFieldOf("passenger").forGetter(EntityP 62                      $$0.optionalFieldOf("passenger").forGetter(EntityP
.. redicate::passenger),                                                   .. redicate::passenger),
60                      $$0.optionalFieldOf("targeted_entity").forGetter(E 63                      $$0.optionalFieldOf("targeted_entity").forGetter(E
.. ntityPredicate::targetedEntity),                                        .. ntityPredicate::targetedEntity),
61                      Codec.STRING.optionalFieldOf("team").forGetter(Ent 64                      Codec.STRING.optionalFieldOf("team").forGetter(Ent
.. ityPredicate::team),                                                    .. ityPredicate::team),
62                      SlotsPredicate.CODEC.optionalFieldOf("slots").forG 65                      SlotsPredicate.CODEC.optionalFieldOf("slots").forG
.. etter(EntityPredicate::slots)                                           .. etter(EntityPredicate::slots),
..                                                                         66                      DataComponentPredicate.CODEC.optionalFieldOf("comp
..                                                                         .. onents").forGetter(EntityPredicate::components)
63                   )                                                     67                   )
64                   .apply($$1, EntityPredicate::new)                     68                   .apply($$1, EntityPredicate::new)
65          )                                                              69          )

net/minecraft/advancements/critereon/EntityPredicate.java --- 4/8 --- Java
104          if (this.movement.isPresent()) {                              108          if (this.movement.isPresent()) {
105             Vec3 $$3 = $$2.getKnownMovement();                         109             Vec3 $$3 = $$2.getKnownMovement();
106             Vec3 $$4 = $$3.scale(20.0);                                110             Vec3 $$4 = $$3.scale(20.0);
107             if (!this.movement.get().matches($$4.x, $$4.y, $$4.z, (dou 111             if (!this.movement.get().matches($$4.x, $$4.y, $$4.z, $$2.
... ble)$$2.fallDistance)) {                                               ... fallDistance)) {
108                return false;                                           112                return false;
109             }                                                          113             }
110          }                                                             114          }

net/minecraft/advancements/critereon/EntityPredicate.java --- 5/8 --- Java
150                   }                                                    154                   }
151                }                                                       155                }
152                                                                        156 
153                return this.slots.isPresent() && !this.slots.get().matc 157                if (this.slots.isPresent() && !this.slots.get().matches
... hes($$2) ? false : !this.nbt.isPresent() || this.nbt.get().matches($$2 ... ($$2)) {
... );                                                                     ... 
...                                                                        158                   return false;
...                                                                        159                } else {
...                                                                        160                   return this.components.isPresent() && !this.componen
...                                                                        ... ts.get().test((DataComponentGetter)$$2)
...                                                                        161                      ? false
...                                                                        162                      : this.nbt.isEmpty() || this.nbt.get().matches($$
...                                                                        ... 2);
...                                                                        163                }
154             }                                                          164             }
155          }                                                             165          }
156       }                                                                166       }

net/minecraft/advancements/critereon/EntityPredicate.java --- 6/8 --- Java
182       private Optional<EntityPredicate> targetedEntity = Optional.empt 192       private Optional<EntityPredicate> targetedEntity = Optional.empt
... y();                                                                   ... y();
183       private Optional<String> team = Optional.empty();                193       private Optional<String> team = Optional.empty();
184       private Optional<SlotsPredicate> slots = Optional.empty();       194       private Optional<SlotsPredicate> slots = Optional.empty();
...                                                                        195       private Optional<DataComponentPredicate> components = Optional.e
...                                                                        ... mpty();
185                                                                        196 
186       public static EntityPredicate.Builder entity() {                 197       public static EntityPredicate.Builder entity() {
187          return new EntityPredicate.Builder();                         198          return new EntityPredicate.Builder();

net/minecraft/advancements/critereon/EntityPredicate.java --- 7/8 --- Java
287          return this;                                                  298          return this;
288       }                                                                299       }
...                                                                        300 
...                                                                        301       public EntityPredicate.Builder components(DataComponentPredicate
...                                                                        ...  $$0) {
...                                                                        302          this.components = Optional.of($$0);
...                                                                        303          return this;
...                                                                        304       }
289                                                                        305 
290       public EntityPredicate build() {                                 306       public EntityPredicate build() {
291          return new EntityPredicate(                                   307          return new EntityPredicate(

net/minecraft/advancements/critereon/EntityPredicate.java --- 8/8 --- Java
303             this.passenger,                                            319             this.passenger,
304             this.targetedEntity,                                       320             this.targetedEntity,
305             this.team,                                                 321             this.team,
306             this.slots                                                 322             this.slots,
...                                                                        323             this.components
307          );                                                            324          );
308       }                                                                325       }
309    }                                                                   326    }

net/minecraft/world/entity/monster/Strider.java --- 1/10 --- Java
 5 import javax.annotation.Nullable;                                        5 import javax.annotation.Nullable;
 6 import net.minecraft.core.BlockPos;                                      6 import net.minecraft.core.BlockPos;
 7 import net.minecraft.core.Direction;                                     7 import net.minecraft.core.Direction;
 8 import net.minecraft.nbt.CompoundTag;                                    8 import net.minecraft.core.Holder;
 9 import net.minecraft.network.syncher.EntityDataAccessor;                 9 import net.minecraft.network.syncher.EntityDataAccessor;
10 import net.minecraft.network.syncher.EntityDataSerializers;             10 import net.minecraft.network.syncher.EntityDataSerializers;
11 import net.minecraft.network.syncher.SynchedEntityData;                 11 import net.minecraft.network.syncher.SynchedEntityData;
12 import net.minecraft.resources.ResourceLocation;                        12 import net.minecraft.resources.ResourceLocation;
13 import net.minecraft.server.level.ServerLevel;                          13 import net.minecraft.server.level.ServerLevel;
14 import net.minecraft.sounds.SoundEvent;                                 14 import net.minecraft.sounds.SoundEvent;
15 import net.minecraft.sounds.SoundEvents;                                15 import net.minecraft.sounds.SoundEvents;
16 import net.minecraft.sounds.SoundSource;                                .. 
17 import net.minecraft.tags.BlockTags;                                    16 import net.minecraft.tags.BlockTags;
18 import net.minecraft.tags.FluidTags;                                    17 import net.minecraft.tags.FluidTags;
19 import net.minecraft.tags.ItemTags;                                     18 import net.minecraft.tags.ItemTags;

net/minecraft/world/entity/monster/Strider.java --- 2/10 --- Java
34 import net.minecraft.world.entity.LivingEntity;                         33 import net.minecraft.world.entity.LivingEntity;
35 import net.minecraft.world.entity.Mob;                                  34 import net.minecraft.world.entity.Mob;
36 import net.minecraft.world.entity.Pose;                                 35 import net.minecraft.world.entity.Pose;
37 import net.minecraft.world.entity.Saddleable;                           .. 
38 import net.minecraft.world.entity.SpawnGroupData;                       36 import net.minecraft.world.entity.SpawnGroupData;
39 import net.minecraft.world.entity.ai.attributes.AttributeInstance;      37 import net.minecraft.world.entity.ai.attributes.AttributeInstance;
40 import net.minecraft.world.entity.ai.attributes.AttributeModifier;      38 import net.minecraft.world.entity.ai.attributes.AttributeModifier;

net/minecraft/world/entity/monster/Strider.java --- 3/10 --- Java
55 import net.minecraft.world.entity.vehicle.DismountHelper;               53 import net.minecraft.world.entity.vehicle.DismountHelper;
56 import net.minecraft.world.item.ItemStack;                              54 import net.minecraft.world.item.ItemStack;
57 import net.minecraft.world.item.Items;                                  55 import net.minecraft.world.item.Items;
..                                                                         56 import net.minecraft.world.item.equipment.Equippable;
58 import net.minecraft.world.level.Level;                                 57 import net.minecraft.world.level.Level;
59 import net.minecraft.world.level.LevelAccessor;                         58 import net.minecraft.world.level.LevelAccessor;
60 import net.minecraft.world.level.LevelReader;                           59 import net.minecraft.world.level.LevelReader;

net/minecraft/world/entity/monster/Strider.java --- 4/10 --- Java
71 import net.minecraft.world.phys.Vec3;                                   70 import net.minecraft.world.phys.Vec3;
72 import net.minecraft.world.phys.shapes.CollisionContext;                71 import net.minecraft.world.phys.shapes.CollisionContext;
73                                                                         72 
74 public class Strider extends Animal implements ItemSteerable, Saddleabl 73 public class Strider extends Animal implements ItemSteerable {
.. e {                                                                     .. 
75    private static final ResourceLocation SUFFOCATING_MODIFIER_ID = Reso 74    private static final ResourceLocation SUFFOCATING_MODIFIER_ID = Reso
.. urceLocation.withDefaultNamespace("suffocating");                       .. urceLocation.withDefaultNamespace("suffocating");
76    private static final AttributeModifier SUFFOCATING_MODIFIER = new At 75    private static final AttributeModifier SUFFOCATING_MODIFIER = new At
.. tributeModifier(                                                        .. tributeModifier(
77       SUFFOCATING_MODIFIER_ID, -0.34F, AttributeModifier.Operation.ADD_ 76       SUFFOCATING_MODIFIER_ID, -0.34F, AttributeModifier.Operation.ADD_
   MULTIPLIED_BASE                                                            MULTIPLIED_BASE

net/minecraft/world/entity/monster/Strider.java --- 5/10 --- Java
80    private static final float STEERING_MODIFIER = 0.55F;                79    private static final float STEERING_MODIFIER = 0.55F;
81    private static final EntityDataAccessor<Integer> DATA_BOOST_TIME = S 80    private static final EntityDataAccessor<Integer> DATA_BOOST_TIME = S
.. ynchedEntityData.defineId(Strider.class, EntityDataSerializers.INT);    .. ynchedEntityData.defineId(Strider.class, EntityDataSerializers.INT);
82    private static final EntityDataAccessor<Boolean> DATA_SUFFOCATING =  81    private static final EntityDataAccessor<Boolean> DATA_SUFFOCATING = 
.. SynchedEntityData.defineId(Strider.class, EntityDataSerializers.BOOLEAN .. SynchedEntityData.defineId(Strider.class, EntityDataSerializers.BOOLEAN
.. );                                                                      .. );
83    private static final EntityDataAccessor<Boolean> DATA_SADDLE_ID = Sy .. 
.. nchedEntityData.defineId(Strider.class, EntityDataSerializers.BOOLEAN); .. 
84    private final ItemBasedSteering steering = new ItemBasedSteering(thi 82    private final ItemBasedSteering steering = new ItemBasedSteering(thi
.. s.entityData, DATA_BOOST_TIME, DATA_SADDLE_ID);                         .. s.entityData, DATA_BOOST_TIME);
85    @Nullable                                                            83    @Nullable
86    private TemptGoal temptGoal;                                         84    private TemptGoal temptGoal;
87                                                                         85 

net/minecraft/world/entity/monster/Strider.java --- 6/10 --- Java
118       super.defineSynchedData($$0);                                    116       super.defineSynchedData($$0);
119       $$0.define(DATA_BOOST_TIME, 0);                                  117       $$0.define(DATA_BOOST_TIME, 0);
120       $$0.define(DATA_SUFFOCATING, false);                             118       $$0.define(DATA_SUFFOCATING, false);
121       $$0.define(DATA_SADDLE_ID, false);                               ... 
122    }                                                                   119    }
123                                                                        120 
124    @Override                                                           121    @Override
125    public void addAdditionalSaveData(CompoundTag $$0) {                122    public boolean canUseSlot(EquipmentSlot $$0) {
126       super.addAdditionalSaveData($$0);                                ... 
127       this.steering.addAdditionalSaveData($$0);                        ... 
128    }                                                                   ... 
129                                                                        ... 
130    @Override                                                           ... 
131    public void readAdditionalSaveData(CompoundTag $$0) {               123       return $$0 != EquipmentSlot.SADDLE ? super.canUseSlot($$0) : thi
...                                                                        ... s.isAlive() && !this.isBaby();
132       super.readAdditionalSaveData($$0);                               124    }
133       this.steering.readAdditionalSaveData($$0);                       ... 
134    }                                                                   ... 
135                                                                        ... 
136    @Override                                                           ... 
137    public boolean isSaddled() {                                        ... 
138       return this.steering.hasSaddle();                                ... 
139    }                                                                   ... 
140                                                                        125 
141    @Override                                                           126    @Override
142    public boolean isSaddleable() {                                     127    protected boolean canDispenserEquipIntoSlot(EquipmentSlot $$0) {
143       return this.isAlive() && !this.isBaby();                         128       return $$0 == EquipmentSlot.SADDLE || super.canDispenserEquipInt
...                                                                        ... oSlot($$0);
144    }                                                                   129    }
145                                                                        130 
146    @Override                                                           131    @Override
147    public void equipSaddle(ItemStack $$0, @Nullable SoundSource $$1) { 132    protected Holder<SoundEvent> getEquipSound(EquipmentSlot $$0, ItemS
...                                                                        ... tack $$1, Equippable $$2) {
148       this.steering.setSaddle(true);                                   ... 
149       if ($$1 != null) {                                               133       return (Holder<SoundEvent>)($$0 == EquipmentSlot.SADDLE ? SoundE
...                                                                        ... vents.STRIDER_SADDLE : super.getEquipSound($$0, $$1, $$2));
150          this.level().playSound(null, this, SoundEvents.STRIDER_SADDLE ... 
... , $$1, 0.5F, 1.0F);                                                    ... 
151       }                                                                ... 
152    }                                                                   134    }
153                                                                        135 
154    @Override                                                           136    @Override

net/minecraft/world/entity/monster/Strider.java --- 7/10 --- Java
405       return $$0.is(ItemTags.STRIDER_FOOD);                            387       return $$0.is(ItemTags.STRIDER_FOOD);
406    }                                                                   388    }
407                                                                        ... 
408    @Override                                                           ... 
409    protected void dropEquipment(ServerLevel $$0) {                     ... 
410       super.dropEquipment($$0);                                        ... 
411       if (this.isSaddled()) {                                          ... 
412          this.spawnAtLocation($$0, Items.SADDLE);                      ... 
413       }                                                                ... 
414    }                                                                   ... 
415                                                                        389 
416    @Override                                                           390    @Override
417    public InteractionResult mobInteract(Player $$0, InteractionHand $$ 391    public InteractionResult mobInteract(Player $$0, InteractionHand $$
    1) {                                                                       1) {

net/minecraft/world/entity/monster/Strider.java --- 8/10 --- Java
426          InteractionResult $$3 = super.mobInteract($$0, $$1);          400          InteractionResult $$3 = super.mobInteract($$0, $$1);
427          if (!$$3.consumesAction()) {                                  401          if (!$$3.consumesAction()) {
428             ItemStack $$4 = $$0.getItemInHand($$1);                    402             ItemStack $$4 = $$0.getItemInHand($$1);
429             return (InteractionResult)($$4.is(Items.SADDLE) ? $$4.inte 403             return (InteractionResult)(this.isEquippableInSlot($$4, Eq
... ractLivingEntity($$0, this, $$1) : InteractionResult.PASS);            ... uipmentSlot.SADDLE) ? $$4.interactLivingEntity($$0, this, $$1) : Inter
...                                                                        ... actionResult.PASS);
430          } else {                                                      404          } else {
431             if ($$2 && !this.isSilent()) {                             405             if ($$2 && !this.isSilent()) {
432                this.level()                                            406                this.level()

net/minecraft/world/entity/monster/Strider.java --- 9/10 --- Java
464             if ($$5 != null) {                                         438             if ($$5 != null) {
465                $$3 = this.spawnJockey($$0, $$1, $$5, new Zombie.Zombie 439                $$3 = this.spawnJockey($$0, $$1, $$5, new Zombie.Zombie
... GroupData(Zombie.getSpawnAsBabyOdds($$4), false));                     ... GroupData(Zombie.getSpawnAsBabyOdds($$4), false));
466                $$5.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(I 440                $$5.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(I
... tems.WARPED_FUNGUS_ON_A_STICK));                                       ... tems.WARPED_FUNGUS_ON_A_STICK));
467                this.equipSaddle(new ItemStack(Items.SADDLE), null);    441                this.setItemSlot(EquipmentSlot.SADDLE, new ItemStack(It
...                                                                        ... ems.SADDLE));
...                                                                        442                this.setGuaranteedDrop(EquipmentSlot.SADDLE);
468             }                                                          443             }
469          } else if ($$4.nextInt(10) == 0) {                            444          } else if ($$4.nextInt(10) == 0) {
470             AgeableMob $$6 = EntityType.STRIDER.create($$0.getLevel(), 445             AgeableMob $$6 = EntityType.STRIDER.create($$0.getLevel(),
     EntitySpawnReason.JOCKEY);                                                 EntitySpawnReason.JOCKEY);

net/minecraft/world/entity/monster/Strider.java --- 10/10 --- Java
481    }                                                                   456    }
482                                                                        457 
483    private SpawnGroupData spawnJockey(ServerLevelAccessor $$0, Difficu 458    private SpawnGroupData spawnJockey(ServerLevelAccessor $$0, Difficu
... ltyInstance $$1, Mob $$2, @Nullable SpawnGroupData $$3) {              ... ltyInstance $$1, Mob $$2, @Nullable SpawnGroupData $$3) {
484       $$2.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot() 459       $$2.snapTo(this.getX(), this.getY(), this.getZ(), this.getYRot()
... , 0.0F);                                                               ... , 0.0F);
485       $$2.finalizeSpawn($$0, $$1, EntitySpawnReason.JOCKEY, $$3);      460       $$2.finalizeSpawn($$0, $$1, EntitySpawnReason.JOCKEY, $$3);
486       $$2.startRiding(this, true);                                     461       $$2.startRiding(this, true);
487       return new AgeableMob.AgeableMobGroupData(0.0F);                 462       return new AgeableMob.AgeableMobGroupData(0.0F);

net/minecraft/world/entity/npc/VillagerTrades.java --- 1/11 --- Java
75    private static final int XP_LEVEL_5_TRADE = 30;                      75    private static final int XP_LEVEL_5_TRADE = 30;
76    private static final float LOW_TIER_PRICE_MULTIPLIER = 0.05F;        76    private static final float LOW_TIER_PRICE_MULTIPLIER = 0.05F;
77    private static final float HIGH_TIER_PRICE_MULTIPLIER = 0.2F;        77    private static final float HIGH_TIER_PRICE_MULTIPLIER = 0.2F;
78    public static final Map<VillagerProfession, Int2ObjectMap<VillagerTr 78    public static final Map<ResourceKey<VillagerProfession>, Int2ObjectM
.. ades.ItemListing[]>> TRADES = Util.make(                                .. ap<VillagerTrades.ItemListing[]>> TRADES = Util.make(
79       Maps.newHashMap(),                                                79       Maps.newHashMap(),
80       $$0 -> {                                                          80       $$0 -> {
81          $$0.put(                                                       81          $$0.put(

net/minecraft/world/entity/npc/VillagerTrades.java --- 2/11 --- Java
149                         1,                                             149                         1,
150                         12,                                            150                         12,
151                         30,                                            151                         30,
152                         ImmutableMap.<VillagerType, Item>builder()     152                         ImmutableMap.<ResourceKey<VillagerType>, Item>
...                                                                        ... builder()
153                            .put(VillagerType.PLAINS, Items.OAK_BOAT)   153                            .put(VillagerType.PLAINS, Items.OAK_BOAT)
154                            .put(VillagerType.TAIGA, Items.SPRUCE_BOAT) 154                            .put(VillagerType.TAIGA, Items.SPRUCE_BOAT)
155                            .put(VillagerType.SNOW, Items.SPRUCE_BOAT)  155                            .put(VillagerType.SNOW, Items.SPRUCE_BOAT)

net/minecraft/world/entity/npc/VillagerTrades.java --- 3/11 --- Java
758    private static final VillagerTrades.TreasureMapForEmeralds SWAMP_MA 758    private static final VillagerTrades.TreasureMapForEmeralds SWAMP_MA
... P = new VillagerTrades.TreasureMapForEmeralds(                         ... P = new VillagerTrades.TreasureMapForEmeralds(
759       8, StructureTags.ON_SWAMP_EXPLORER_MAPS, "filled_map.explorer_sw 759       8, StructureTags.ON_SWAMP_EXPLORER_MAPS, "filled_map.explorer_sw
... amp", MapDecorationTypes.SWAMP_HUT, 12, 5                              ... amp", MapDecorationTypes.SWAMP_HUT, 12, 5
760    );                                                                  760    );
761    public static final Map<VillagerProfession, Int2ObjectMap<VillagerT 761    public static final Map<ResourceKey<VillagerProfession>, Int2Object
... rades.ItemListing[]>> EXPERIMENTAL_TRADES = Map.of(                    ... Map<VillagerTrades.ItemListing[]>> EXPERIMENTAL_TRADES = Map.of(
762       VillagerProfession.LIBRARIAN,                                    762       VillagerProfession.LIBRARIAN,
763       toIntMap(                                                        763       toIntMap(
764          ImmutableMap.<Integer, VillagerTrades.ItemListing[]>builder() 764          ImmutableMap.<Integer, VillagerTrades.ItemListing[]>builder()

net/minecraft/world/entity/npc/VillagerTrades.java --- 4/11 --- Java
1112             new VillagerTrades.ItemListing[]{                         1112             new VillagerTrades.ItemListing[]{
1113                new VillagerTrades.EmeraldForItems(Items.GLASS_PANE, 1 1113                new VillagerTrades.EmeraldForItems(Items.GLASS_PANE, 1
.... 1, 16, 10),                                                           .... 1, 16, 10),
1114                new VillagerTrades.TypeSpecificTrade(                  1114                new VillagerTrades.TypeSpecificTrade(
1115                   ImmutableMap.<VillagerType, VillagerTrades.ItemList 1115                   ImmutableMap.<ResourceKey<VillagerType>, VillagerTr
.... ing>builder()                                                         .... ades.ItemListing>builder()
1116                      .put(VillagerType.DESERT, SAVANNA_MAP)           1116                      .put(VillagerType.DESERT, SAVANNA_MAP)
1117                      .put(VillagerType.SAVANNA, PLAINS_MAP)           1117                      .put(VillagerType.SAVANNA, PLAINS_MAP)
1118                      .put(VillagerType.PLAINS, TAIGA_MAP)             1118                      .put(VillagerType.PLAINS, TAIGA_MAP)

net/minecraft/world/entity/npc/VillagerTrades.java --- 5/11 --- Java
1123                      .build()                                         1123                      .build()
1124                ),                                                     1124                ),
1125                new VillagerTrades.TypeSpecificTrade(                  1125                new VillagerTrades.TypeSpecificTrade(
1126                   ImmutableMap.<VillagerType, VillagerTrades.ItemList 1126                   ImmutableMap.<ResourceKey<VillagerType>, VillagerTr
.... ing>builder()                                                         .... ades.ItemListing>builder()
1127                      .put(VillagerType.DESERT, PLAINS_MAP)            1127                      .put(VillagerType.DESERT, PLAINS_MAP)
1128                      .put(VillagerType.SAVANNA, DESERT_MAP)           1128                      .put(VillagerType.SAVANNA, DESERT_MAP)
1129                      .put(VillagerType.PLAINS, SAVANNA_MAP)           1129                      .put(VillagerType.PLAINS, SAVANNA_MAP)

net/minecraft/world/entity/npc/VillagerTrades.java --- 6/11 --- Java
1134                      .build()                                         1134                      .build()
1135                ),                                                     1135                ),
1136                new VillagerTrades.TypeSpecificTrade(                  1136                new VillagerTrades.TypeSpecificTrade(
1137                   ImmutableMap.<VillagerType, VillagerTrades.ItemList 1137                   ImmutableMap.<ResourceKey<VillagerType>, VillagerTr
.... ing>builder()                                                         .... ades.ItemListing>builder()
1138                      .put(VillagerType.DESERT, JUNGLE_MAP)            1138                      .put(VillagerType.DESERT, JUNGLE_MAP)
1139                      .put(VillagerType.SAVANNA, JUNGLE_MAP)           1139                      .put(VillagerType.SAVANNA, JUNGLE_MAP)
1140                      .put(VillagerType.PLAINS, new VillagerTrades.Fai 1140                      .put(VillagerType.PLAINS, new VillagerTrades.Fai
     lureItemListing())                                                         lureItemListing())

net/minecraft/world/entity/npc/VillagerTrades.java --- 7/11 --- Java
1300                                                                       1300 
1301    private static VillagerTrades.ItemListing commonBooks(int $$0) {   1301    private static VillagerTrades.ItemListing commonBooks(int $$0) {
1302       return new VillagerTrades.TypeSpecificTrade(                    1302       return new VillagerTrades.TypeSpecificTrade(
1303          ImmutableMap.<VillagerType, VillagerTrades.ItemListing>build 1303          ImmutableMap.<ResourceKey<VillagerType>, VillagerTrades.Item
.... er()                                                                  .... Listing>builder()
1304             .put(VillagerType.DESERT, new VillagerTrades.EnchantBookF 1304             .put(VillagerType.DESERT, new VillagerTrades.EnchantBookF
.... orEmeralds($$0, EnchantmentTags.TRADES_DESERT_COMMON))                .... orEmeralds($$0, EnchantmentTags.TRADES_DESERT_COMMON))
1305             .put(VillagerType.JUNGLE, new VillagerTrades.EnchantBookF 1305             .put(VillagerType.JUNGLE, new VillagerTrades.EnchantBookF
.... orEmeralds($$0, EnchantmentTags.TRADES_JUNGLE_COMMON))                .... orEmeralds($$0, EnchantmentTags.TRADES_JUNGLE_COMMON))
1306             .put(VillagerType.PLAINS, new VillagerTrades.EnchantBookF 1306             .put(VillagerType.PLAINS, new VillagerTrades.EnchantBookF
     orEmeralds($$0, EnchantmentTags.TRADES_PLAINS_COMMON))                     orEmeralds($$0, EnchantmentTags.TRADES_PLAINS_COMMON))

net/minecraft/world/entity/npc/VillagerTrades.java --- 8/11 --- Java
1314                                                                       1314 
1315    private static VillagerTrades.ItemListing specialBooks() {         1315    private static VillagerTrades.ItemListing specialBooks() {
1316       return new VillagerTrades.TypeSpecificTrade(                    1316       return new VillagerTrades.TypeSpecificTrade(
1317          ImmutableMap.<VillagerType, VillagerTrades.ItemListing>build 1317          ImmutableMap.<ResourceKey<VillagerType>, VillagerTrades.Item
.... er()                                                                  .... Listing>builder()
1318             .put(VillagerType.DESERT, new VillagerTrades.EnchantBookF 1318             .put(VillagerType.DESERT, new VillagerTrades.EnchantBookF
.... orEmeralds(30, 3, 3, EnchantmentTags.TRADES_DESERT_SPECIAL))          .... orEmeralds(30, 3, 3, EnchantmentTags.TRADES_DESERT_SPECIAL))
1319             .put(VillagerType.JUNGLE, new VillagerTrades.EnchantBookF 1319             .put(VillagerType.JUNGLE, new VillagerTrades.EnchantBookF
.... orEmeralds(30, 2, 2, EnchantmentTags.TRADES_JUNGLE_SPECIAL))          .... orEmeralds(30, 2, 2, EnchantmentTags.TRADES_JUNGLE_SPECIAL))
1320             .put(VillagerType.PLAINS, new VillagerTrades.EnchantBookF 1320             .put(VillagerType.PLAINS, new VillagerTrades.EnchantBookF
     orEmeralds(30, 3, 3, EnchantmentTags.TRADES_PLAINS_SPECIAL))               orEmeralds(30, 3, 3, EnchantmentTags.TRADES_PLAINS_SPECIAL))

net/minecraft/world/entity/npc/VillagerTrades.java --- 9/11 --- Java
1411    }                                                                  1411    }
1412                                                                       1412 
1413    static class EmeraldsForVillagerTypeItem implements VillagerTrades 1413    static class EmeraldsForVillagerTypeItem implements VillagerTrades
.... .ItemListing {                                                        .... .ItemListing {
1414       private final Map<VillagerType, Item> trades;                   1414       private final Map<ResourceKey<VillagerType>, Item> trades;
1415       private final int cost;                                         1415       private final int cost;
1416       private final int maxUses;                                      1416       private final int maxUses;
1417       private final int villagerXp;                                   1417       private final int villagerXp;
1418                                                                       1418 
1419       public EmeraldsForVillagerTypeItem(int $$0, int $$1, int $$2, M 1419       public EmeraldsForVillagerTypeItem(int $$0, int $$1, int $$2, M
.... ap<VillagerType, Item> $$3) {                                         .... ap<ResourceKey<VillagerType>, Item> $$3) {
1420          BuiltInRegistries.VILLAGER_TYPE.stream().filter($$1x -> !$$3 1420          BuiltInRegistries.VILLAGER_TYPE.registryKeySet().stream().fi
.... .containsKey($$1x)).findAny().ifPresent($$0x -> {                     .... lter($$1x -> !$$3.containsKey($$1x)).findAny().ifPresent($$0x -> {
1421             throw new IllegalStateException("Missing trade for villag 1421             throw new IllegalStateException("Missing trade for villag
.... er type: " + BuiltInRegistries.VILLAGER_TYPE.getKey($$0x));           .... er type: " + $$0x);
1422          });                                                          1422          });
1423          this.trades = $$3;                                           1423          this.trades = $$3;
1424          this.cost = $$0;                                             1424          this.cost = $$0;

net/minecraft/world/entity/npc/VillagerTrades.java --- 10/11 --- Java
1430       @Override                                                       1430       @Override
1431       public MerchantOffer getOffer(Entity $$0, RandomSource $$1) {   1431       public MerchantOffer getOffer(Entity $$0, RandomSource $$1) {
1432          if ($$0 instanceof VillagerDataHolder $$2) {                 1432          if ($$0 instanceof VillagerDataHolder $$2) {
....                                                                       1433             ResourceKey<VillagerType> $$3 = $$2.getVillagerData().typ
....                                                                       .... e().unwrapKey().orElse(null);
....                                                                       1434             if ($$3 == null) {
....                                                                       1435                return null;
....                                                                       1436             } else {
1433             ItemCost $$3 = new ItemCost(this.trades.get($$2.getVillag 1437                ItemCost $$4 = new ItemCost(this.trades.get($$3), this
.... erData().getType()), this.cost);                                      .... .cost);
1434             return new MerchantOffer($$3, new ItemStack(Items.EMERALD 1438                return new MerchantOffer($$4, new ItemStack(Items.EMER
.... ), this.maxUses, this.villagerXp, 0.05F);                             .... ALD), this.maxUses, this.villagerXp, 0.05F);
....                                                                       1439             }
1435          } else {                                                     1440          } else {
1436             return null;                                              1441             return null;
1437          }                                                            1442          }

net/minecraft/world/entity/npc/VillagerTrades.java --- 11/11 --- Java
1717       @Nullable                                                       1722       @Nullable
1718       @Override                                                       1723       @Override
1719       public MerchantOffer getOffer(Entity $$0, RandomSource $$1) {   1724       public MerchantOffer getOffer(Entity $$0, RandomSource $$1) {
1720          if (!($$0.level() instanceof ServerLevel)) {                 1725          if ($$0.level() instanceof ServerLevel $$2) {
1721             return null;                                              .... 
1722          } else {                                                     .... 
1723             ServerLevel $$2 = (ServerLevel)$$0.level();               .... 
1724             BlockPos $$3 = $$2.findNearestMapStructure(this.destinati 1726             BlockPos $$4 = $$2.findNearestMapStructure(this.destinati
.... on, $$0.blockPosition(), 100, true);                                  .... on, $$0.blockPosition(), 100, true);
1725             if ($$3 != null) {                                        1727             if ($$4 != null) {
1726                ItemStack $$4 = MapItem.create($$2, $$3.getX(), $$3.ge 1728                ItemStack $$5 = MapItem.create($$2, $$4.getX(), $$4.ge
.... tZ(), (byte)2, true, true);                                           .... tZ(), (byte)2, true, true);
1727                MapItem.renderBiomePreviewMap($$2, $$4);               1729                MapItem.renderBiomePreviewMap($$2, $$5);
1728                MapItemSavedData.addTargetDecoration($$4, $$3, "+", th 1730                MapItemSavedData.addTargetDecoration($$5, $$4, "+", th
.... is.destinationType);                                                  .... is.destinationType);
1729                $$4.set(DataComponents.ITEM_NAME, Component.translatab 1731                $$5.set(DataComponents.ITEM_NAME, Component.translatab
.... le(this.displayName));                                                .... le(this.displayName));
1730                return new MerchantOffer(                              1732                return new MerchantOffer(
1731                   new ItemCost(Items.EMERALD, this.emeraldCost), Opti 1733                   new ItemCost(Items.EMERALD, this.emeraldCost), Opti
.... onal.of(new ItemCost(Items.COMPASS)), $$4, this.maxUses, this.village .... onal.of(new ItemCost(Items.COMPASS)), $$5, this.maxUses, this.village
.... rXp, 0.2F                                                             .... rXp, 0.2F
1732                );                                                     1734                );
1733             } else {                                                  1735             } else {
1734                return null;                                           1736                return null;
1735             }                                                         1737             }
1736          }                                                            1738          } else {
....                                                                       1739             return null;
....                                                                       1740          }
1737       }                                                               1741       }
1738    }                                                                  1742    }
1739                                                                       1743 
1740    static record TypeSpecificTrade(Map<VillagerType, VillagerTrades.I 1744    static record TypeSpecificTrade(Map<ResourceKey<VillagerType>, Vil
.... temListing> trades) implements VillagerTrades.ItemListing {           .... lagerTrades.ItemListing> trades) implements VillagerTrades.ItemListin
....                                                                       .... g {
....                                                                       1745       @SafeVarargs
1741       public static VillagerTrades.TypeSpecificTrade oneTradeInBiomes 1746       public static VillagerTrades.TypeSpecificTrade oneTradeInBiomes
.... (VillagerTrades.ItemListing $$0, VillagerType... $$1) {               .... (VillagerTrades.ItemListing $$0, ResourceKey<VillagerType>... $$1) {
1742          return new VillagerTrades.TypeSpecificTrade(Arrays.stream($$ 1747          return new VillagerTrades.TypeSpecificTrade(Arrays.stream($$
.... 1).collect(Collectors.toMap($$0x -> $$0x, $$1x -> $$0)));             .... 1).collect(Collectors.toMap($$0x -> $$0x, $$1x -> $$0)));
1743       }                                                               1748       }
1744                                                                       1749 
1745       @Nullable                                                       1750       @Nullable
1746       @Override                                                       1751       @Override
1747       public MerchantOffer getOffer(Entity $$0, RandomSource $$1) {   1752       public MerchantOffer getOffer(Entity $$0, RandomSource $$1) {
1748          if ($$0 instanceof VillagerDataHolder $$2) {                 1753          if ($$0 instanceof VillagerDataHolder $$2) {
1749             VillagerType $$3 = $$2.getVillagerData().getType();       1754             ResourceKey<VillagerType> $$3 = $$2.getVillagerData().typ
....                                                                       .... e().unwrapKey().orElse(null);
....                                                                       1755             if ($$3 == null) {
....                                                                       1756                return null;
....                                                                       1757             } else {
1750             VillagerTrades.ItemListing $$4 = this.trades.get($$3);    1758                VillagerTrades.ItemListing $$4 = this.trades.get($$3);
1751             return $$4 == null ? null : $$4.getOffer($$0, $$1);       1759                return $$4 == null ? null : $$4.getOffer($$0, $$1);
....                                                                       1760             }
1752          } else {                                                     1761          } else {
1753             return null;                                              1762             return null;
1754          }                                                            1763          }

net/minecraft/world/entity/animal/frog/Frog.java --- 1/5 --- Java
 8 import javax.annotation.Nullable;                                        8 import javax.annotation.Nullable;
 9 import net.minecraft.core.BlockPos;                                      9 import net.minecraft.core.BlockPos;
10 import net.minecraft.core.Holder;                                       10 import net.minecraft.core.Holder;
..                                                                         11 import net.minecraft.core.component.DataComponentGetter;
..                                                                         12 import net.minecraft.core.component.DataComponentType;
..                                                                         13 import net.minecraft.core.component.DataComponents;
11 import net.minecraft.core.registries.BuiltInRegistries;                 14 import net.minecraft.core.registries.BuiltInRegistries;
12 import net.minecraft.core.registries.Registries;                        15 import net.minecraft.core.registries.Registries;
13 import net.minecraft.nbt.CompoundTag;                                   16 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/entity/animal/frog/Frog.java --- 2/5 --- Java
42 import net.minecraft.world.entity.MoverType;                            45 import net.minecraft.world.entity.MoverType;
43 import net.minecraft.world.entity.Pose;                                 46 import net.minecraft.world.entity.Pose;
44 import net.minecraft.world.entity.SpawnGroupData;                       47 import net.minecraft.world.entity.SpawnGroupData;
45 import net.minecraft.world.entity.VariantHolder;                        .. 
46 import net.minecraft.world.entity.ai.Brain;                             48 import net.minecraft.world.entity.ai.Brain;
47 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      49 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
48 import net.minecraft.world.entity.ai.attributes.Attributes;             50 import net.minecraft.world.entity.ai.attributes.Attributes;

net/minecraft/world/entity/animal/frog/Frog.java --- 3/5 --- Java
69 import net.minecraft.world.level.pathfinder.PathfindingContext;         71 import net.minecraft.world.level.pathfinder.PathfindingContext;
70 import net.minecraft.world.phys.Vec3;                                   72 import net.minecraft.world.phys.Vec3;
71                                                                         73 
72 public class Frog extends Animal implements VariantHolder<Holder<FrogVa 74 public class Frog extends Animal {
.. riant>> {                                                               .. 
73    protected static final ImmutableList<SensorType<? extends Sensor<? s 75    protected static final ImmutableList<SensorType<? extends Sensor<? s
.. uper Frog>>> SENSOR_TYPES = ImmutableList.of(                           .. uper Frog>>> SENSOR_TYPES = ImmutableList.of(
74       SensorType.NEAREST_LIVING_ENTITIES, SensorType.HURT_BY, SensorTyp 76       SensorType.NEAREST_LIVING_ENTITIES, SensorType.HURT_BY, SensorTyp
.. e.FROG_ATTACKABLES, SensorType.FROG_TEMPTATIONS, SensorType.IS_IN_WATER .. e.FROG_ATTACKABLES, SensorType.FROG_TEMPTATIONS, SensorType.IS_IN_WATER
75    );                                                                   77    );

net/minecraft/world/entity/animal/frog/Frog.java --- 4/5 --- Java
163       return this.entityData.get(DATA_VARIANT_ID);                     165       return this.entityData.get(DATA_VARIANT_ID);
164    }                                                                   166    }
165                                                                        167 
166    public void setVariant(Holder<FrogVariant> $$0) {                   168    private void setVariant(Holder<FrogVariant> $$0) {
167       this.entityData.set(DATA_VARIANT_ID, $$0);                       169       this.entityData.set(DATA_VARIANT_ID, $$0);
168    }                                                                   170    }
...                                                                        171 
...                                                                        172    @Nullable
...                                                                        173    @Override
...                                                                        174    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        175       return $$0 == DataComponents.FROG_VARIANT ? castComponentValue((
...                                                                        ... DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        176    }
...                                                                        177 
...                                                                        178    @Override
...                                                                        179    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        180       this.applyImplicitComponentIfPresent($$0, DataComponents.FROG_VA
...                                                                        ... RIANT);
...                                                                        181       super.applyImplicitComponents($$0);
...                                                                        182    }
...                                                                        183 
...                                                                        184    @Override
...                                                                        185    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        186       if ($$0 == DataComponents.FROG_VARIANT) {
...                                                                        187          this.setVariant(castComponentValue(DataComponents.FROG_VARIAN
...                                                                        ... T, $$1));
...                                                                        188          return true;
...                                                                        189       } else {
...                                                                        190          return super.applyImplicitComponent($$0, $$1);
...                                                                        191       }
...                                                                        192    }
169                                                                        193 
170    @Override                                                           194    @Override
171    public void addAdditionalSaveData(CompoundTag $$0) {                195    public void addAdditionalSaveData(CompoundTag $$0) {

net/minecraft/world/entity/animal/frog/Frog.java --- 5/5 --- Java
330    }                                                                   354    }
331                                                                        355 
332    @Override                                                           356    @Override
333    protected int calculateFallDamage(float $$0, float $$1) {           357    protected int calculateFallDamage(double $$0, float $$1) {
334       return super.calculateFallDamage($$0, $$1) - 5;                  358       return super.calculateFallDamage($$0, $$1) - 5;
335    }                                                                   359    }
336                                                                        360 

net/minecraft/gametest/framework/GameTestServer.java --- 1/9 --- Java
 1 package net.minecraft.gametest.framework;                                1 package net.minecraft.gametest.framework;
 2                                                                          2 
 3 import com.google.common.base.Stopwatch;                                 3 import com.google.common.base.Stopwatch;
 4 import com.google.common.collect.Lists;                                  . 
 5 import com.mojang.authlib.GameProfile;                                   4 import com.mojang.authlib.GameProfile;
 6 import com.mojang.authlib.yggdrasil.ServicesKeySet;                      5 import com.mojang.authlib.yggdrasil.ServicesKeySet;
 .                                                                          6 import com.mojang.brigadier.StringReader;
 7 import com.mojang.logging.LogUtils;                                      7 import com.mojang.logging.LogUtils;
 8 import com.mojang.serialization.Lifecycle;                               8 import com.mojang.serialization.Lifecycle;
 9 import java.net.Proxy;                                                   9 import java.net.Proxy;
10 import java.util.ArrayList;                                             10 import java.util.ArrayList;
11 import java.util.Collection;                                            11 import java.util.Collection;
12 import java.util.List;                                                  12 import java.util.List;
..                                                                         13 import java.util.Optional;
13 import java.util.concurrent.TimeUnit;                                   14 import java.util.concurrent.TimeUnit;
14 import java.util.function.BooleanSupplier;                              15 import java.util.function.BooleanSupplier;
..                                                                         16 import java.util.stream.Stream;
..                                                                         17 import java.util.stream.Stream.Builder;
15 import javax.annotation.Nullable;                                       18 import javax.annotation.Nullable;
16 import net.minecraft.CrashReport;                                       19 import net.minecraft.CrashReport;
17 import net.minecraft.ReportType;                                        20 import net.minecraft.ReportType;
18 import net.minecraft.SystemReport;                                      21 import net.minecraft.SystemReport;
19 import net.minecraft.Util;                                              22 import net.minecraft.Util;
20 import net.minecraft.commands.Commands;                                 23 import net.minecraft.commands.Commands;
..                                                                         24 import net.minecraft.commands.arguments.ResourceSelectorArgument;
21 import net.minecraft.core.BlockPos;                                     25 import net.minecraft.core.BlockPos;
..                                                                         26 import net.minecraft.core.Holder;
22 import net.minecraft.core.LayeredRegistryAccess;                        27 import net.minecraft.core.LayeredRegistryAccess;
23 import net.minecraft.core.MappedRegistry;                               28 import net.minecraft.core.MappedRegistry;
24 import net.minecraft.core.Registry;                                     29 import net.minecraft.core.Registry;
..                                                                         30 import net.minecraft.core.RegistryAccess;
25 import net.minecraft.core.registries.Registries;                        31 import net.minecraft.core.registries.Registries;
26 import net.minecraft.server.MinecraftServer;                            32 import net.minecraft.server.MinecraftServer;
27 import net.minecraft.server.RegistryLayer;                              33 import net.minecraft.server.RegistryLayer;

net/minecraft/gametest/framework/GameTestServer.java --- 2/9 --- Java
43 import net.minecraft.world.level.GameType;                              49 import net.minecraft.world.level.GameType;
44 import net.minecraft.world.level.LevelSettings;                         50 import net.minecraft.world.level.LevelSettings;
45 import net.minecraft.world.level.WorldDataConfiguration;                51 import net.minecraft.world.level.WorldDataConfiguration;
..                                                                         52 import net.minecraft.world.level.block.Rotation;
46 import net.minecraft.world.level.dimension.LevelStem;                   53 import net.minecraft.world.level.dimension.LevelStem;
47 import net.minecraft.world.level.levelgen.WorldDimensions;              54 import net.minecraft.world.level.levelgen.WorldDimensions;
48 import net.minecraft.world.level.levelgen.WorldOptions;                 55 import net.minecraft.world.level.levelgen.WorldOptions;

net/minecraft/gametest/framework/GameTestServer.java --- 3/9 --- Java
60       .allFlags()                                                       67       .allFlags()
61       .subtract(FeatureFlagSet.of(FeatureFlags.REDSTONE_EXPERIMENTS, Fe 68       .subtract(FeatureFlagSet.of(FeatureFlags.REDSTONE_EXPERIMENTS, Fe
.. atureFlags.MINECART_IMPROVEMENTS));                                     .. atureFlags.MINECART_IMPROVEMENTS));
62    private final LocalSampleLogger sampleLogger = new LocalSampleLogger 69    private final LocalSampleLogger sampleLogger = new LocalSampleLogger
.. (4);                                                                    .. (4);
..                                                                         70    private final Optional<String> testSelection;
..                                                                         71    private final boolean verify;
63    private List<GameTestBatch> testBatches = new ArrayList<>();         72    private List<GameTestBatch> testBatches = new ArrayList<>();
64    private final List<TestFunction> testFunctions;                      .. 
65    private final BlockPos spawnPos;                                     .. 
66    private final Stopwatch stopwatch = Stopwatch.createUnstarted();     73    private final Stopwatch stopwatch = Stopwatch.createUnstarted();
67    private static final GameRules TEST_GAME_RULES = Util.make(new GameR .. 
.. ules(ENABLED_FEATURES), $$0 -> {                                        .. 
68       $$0.getRule(GameRules.RULE_DOMOBSPAWNING).set(false, null);       .. 
69       $$0.getRule(GameRules.RULE_WEATHER_CYCLE).set(false, null);       .. 
70       $$0.getRule(GameRules.RULE_RANDOMTICKING).set(0, null);           .. 
71       $$0.getRule(GameRules.RULE_DOFIRETICK).set(false, null);          .. 
72    });                                                                  .. 
73    private static final WorldOptions WORLD_OPTIONS = new WorldOptions(0 74    private static final WorldOptions WORLD_OPTIONS = new WorldOptions(0
.. L, false, false);                                                       .. L, false, false);
74    @Nullable                                                            75    @Nullable
75    private MultipleTestTracker testTracker;                             76    private MultipleTestTracker testTracker;
76                                                                         77 
77    public static GameTestServer create(Thread $$0, LevelStorageSource.L 78    public static GameTestServer create(Thread $$0, LevelStorageSource.L
.. evelStorageAccess $$1, PackRepository $$2, Collection<TestFunction> $$3 .. evelStorageAccess $$1, PackRepository $$2, Optional<String> $$3, boolea
.. , BlockPos $$4) {                                                       .. n $$4) {
78       if ($$3.isEmpty()) {                                              79       $$2.reload();
79          throw new IllegalArgumentException("No test functions were giv 80       ArrayList<String> $$5 = new ArrayList<>($$2.getAvailableIds());
.. en!");                                                                  .. 
80       } else {                                                          .. 
81          $$2.reload();                                                  81       $$5.remove("vanilla");
..                                                                         82       $$5.addFirst("vanilla");
82          WorldDataConfiguration $$5 = new WorldDataConfiguration(new Da 83       WorldDataConfiguration $$6 = new WorldDataConfiguration(new DataP
.. taPackConfig(new ArrayList<>($$2.getAvailableIds()), List.of()), ENABLE .. ackConfig($$5, List.of()), ENABLED_FEATURES);
.. D_FEATURES);                                                            .. 
83          LevelSettings $$6 = new LevelSettings("Test Level", GameType.C 84       LevelSettings $$7 = new LevelSettings("Test Level", GameType.CREA
.. REATIVE, false, Difficulty.NORMAL, true, TEST_GAME_RULES, $$5);         .. TIVE, false, Difficulty.NORMAL, true, new GameRules(ENABLED_FEATURES), 
..                                                                         .. $$6);
84          WorldLoader.PackConfig $$7 = new WorldLoader.PackConfig($$2, $ 85       WorldLoader.PackConfig $$8 = new WorldLoader.PackConfig($$2, $$6,
.. $5, false, true);                                                       ..  false, true);
85          WorldLoader.InitConfig $$8 = new WorldLoader.InitConfig($$7, C 86       WorldLoader.InitConfig $$9 = new WorldLoader.InitConfig($$8, Comm
.. ommands.CommandSelection.DEDICATED, 4);                                 .. ands.CommandSelection.DEDICATED, 4);
86                                                                         87 
87          try {                                                          88       try {
88             LOGGER.debug("Starting resource loading");                  89          LOGGER.debug("Starting resource loading");
89             Stopwatch $$9 = Stopwatch.createStarted();                  90          Stopwatch $$10 = Stopwatch.createStarted();
90             WorldStem $$10 = Util.<WorldStem>blockUntilDone(            91          WorldStem $$11 = Util.<WorldStem>blockUntilDone(
91                   $$2x -> WorldLoader.load(                             92                $$2x -> WorldLoader.load(
92                         $$8,                                            93                      $$9,
93                         $$1xx -> {                                      94                      $$1xx -> {
94                            Registry<LevelStem> $$2xx = new MappedRegist 95                         Registry<LevelStem> $$2xx = new MappedRegistry<
.. ry<>(Registries.LEVEL_STEM, Lifecycle.stable()).freeze();               .. >(Registries.LEVEL_STEM, Lifecycle.stable()).freeze();
95                            WorldDimensions.Complete $$3x = $$1xx.datapa 96                         WorldDimensions.Complete $$3x = $$1xx.datapackW
   ckWorldgen()                                                               orldgen()

net/minecraft/gametest/framework/GameTestServer.java --- 4/9 --- Java
 99                               .createWorldDimensions()                 100                            .createWorldDimensions()
100                               .bake($$2xx);                            101                            .bake($$2xx);
101                            return new WorldLoader.DataLoadOutput<>(    102                         return new WorldLoader.DataLoadOutput<>(
102                               new PrimaryLevelData($$6, WORLD_OPTIONS, 103                            new PrimaryLevelData($$7, WORLD_OPTIONS, $$
...  $$3x.specialWorldProperty(), $$3x.lifecycle()), $$3x.dimensionsRegist ... 3x.specialWorldProperty(), $$3x.lifecycle()), $$3x.dimensionsRegistryA
... ryAccess()                                                             ... ccess()
103                            );                                          104                         );
104                         },                                             105                      },
105                         WorldStem::new,                                106                      WorldStem::new,

net/minecraft/gametest/framework/GameTestServer.java --- 5/9 --- Java
108                      )                                                 109                   )
109                )                                                       110             )
110                .get();                                                 111             .get();
111             $$9.stop();                                                112          $$10.stop();
112             LOGGER.debug("Finished resource loading after {} ms", $$9. 113          LOGGER.debug("Finished resource loading after {} ms", $$10.el
... elapsed(TimeUnit.MILLISECONDS));                                       ... apsed(TimeUnit.MILLISECONDS));
113             return new GameTestServer($$0, $$1, $$2, $$10, $$3, $$4);  114          return new GameTestServer($$0, $$1, $$2, $$11, $$3, $$4);
114          } catch (Exception var11) {                                   115       } catch (Exception var12) {
115             LOGGER.warn("Failed to load vanilla datapack, bit oops", ( 116          LOGGER.warn("Failed to load vanilla datapack, bit oops", (Thr
... Throwable)var11);                                                      ... owable)var12);
116             System.exit(-1);                                           117          System.exit(-1);
117             throw new IllegalStateException();                         118          throw new IllegalStateException();
118          }                                                             119       }
119       }                                                                ... 
120    }                                                                   120    }
121                                                                        121 
122    private GameTestServer(Thread $$0, LevelStorageSource.LevelStorageA 122    private GameTestServer(Thread $$0, LevelStorageSource.LevelStorageA
... ccess $$1, PackRepository $$2, WorldStem $$3, Collection<TestFunction> ... ccess $$1, PackRepository $$2, WorldStem $$3, Optional<String> $$4, bo
...  $$4, BlockPos $$5) {                                                  ... olean $$5) {
123       super($$0, $$1, $$2, $$3, Proxy.NO_PROXY, DataFixers.getDataFixe 123       super($$0, $$1, $$2, $$3, Proxy.NO_PROXY, DataFixers.getDataFixe
... r(), NO_SERVICES, LoggerChunkProgressListener::createFromGameruleRadiu ... r(), NO_SERVICES, LoggerChunkProgressListener::createFromGameruleRadiu
... s);                                                                    ... s);
124       this.testFunctions = Lists.newArrayList($$4);                    124       this.testSelection = $$4;
125       this.spawnPos = $$5;                                             125       this.verify = $$5;
126    }                                                                   126    }
127                                                                        127 
128    @Override                                                           128    @Override

net/minecraft/gametest/framework/GameTestServer.java --- 6/9 --- Java
131       });                                                              131       });
132       this.loadLevel();                                                132       this.loadLevel();
133       ServerLevel $$0 = this.overworld();                              133       ServerLevel $$0 = this.overworld();
134       this.testBatches = Lists.newArrayList(GameTestBatchFactory.fromT 134       this.testBatches = this.evaluateTestsToRun($$0);
... estFunction(this.testFunctions, $$0));                                 ... 
135       $$0.setDefaultSpawnPos(this.spawnPos, 0.0F);                     ... 
136       int $$1 = 20000000;                                              ... 
137       $$0.setWeatherParameters(20000000, 20000000, false, false);      ... 
138       LOGGER.info("Started game test server");                         135       LOGGER.info("Started game test server");
139       return true;                                                     136       return true;
140    }                                                                   137    }
...                                                                        138 
...                                                                        139    private List<GameTestBatch> evaluateTestsToRun(ServerLevel $$0) {
...                                                                        140       Registry<GameTestInstance> $$1 = $$0.registryAccess().lookupOrTh
...                                                                        ... row(Registries.TEST_INSTANCE);
...                                                                        141       Collection<Holder.Reference<GameTestInstance>> $$2;
...                                                                        142       GameTestBatchFactory.TestDecorator $$3;
...                                                                        143       if (this.testSelection.isPresent()) {
...                                                                        144          $$2 = getTestsForSelection($$0.registryAccess(), this.testSel
...                                                                        ... ection.get()).filter($$0x -> !((GameTestInstance)$$0x.value()).manualO
...                                                                        ... nly()).toList();
...                                                                        145          if (this.verify) {
...                                                                        146             $$3 = GameTestServer::rotateAndMultiply;
...                                                                        147             LOGGER.info("Verify requested. Will run each test that mat
...                                                                        ... ches {} {} times", this.testSelection.get(), 100 * Rotation.values().l
...                                                                        ... ength);
...                                                                        148          } else {
...                                                                        149             $$3 = GameTestBatchFactory.DIRECT;
...                                                                        150             LOGGER.info("Will run tests matching {} ({} tests)", this.
...                                                                        ... testSelection.get(), $$2.size());
...                                                                        151          }
...                                                                        152       } else {
...                                                                        153          $$2 = $$1.listElements().filter($$0x -> !((GameTestInstance)$
...                                                                        ... $0x.value()).manualOnly()).toList();
...                                                                        154          $$3 = GameTestBatchFactory.DIRECT;
...                                                                        155       }
...                                                                        156 
...                                                                        157       return GameTestBatchFactory.divideIntoBatches($$2, $$3, $$0);
...                                                                        158    }
...                                                                        159 
...                                                                        160    private static Stream<GameTestInfo> rotateAndMultiply(Holder.Refere
...                                                                        ... nce<GameTestInstance> $$0, ServerLevel $$1) {
...                                                                        161       Builder<GameTestInfo> $$2 = Stream.builder();
...                                                                        162 
...                                                                        163       for (Rotation $$3 : Rotation.values()) {
...                                                                        164          for (int $$4 = 0; $$4 < 100; $$4++) {
...                                                                        165             $$2.add(new GameTestInfo($$0, $$3, $$1, RetryOptions.noRet
...                                                                        ... ries()));
...                                                                        166          }
...                                                                        167       }
...                                                                        168 
...                                                                        169       return $$2.build();
...                                                                        170    }
...                                                                        171 
...                                                                        172    public static Stream<Holder.Reference<GameTestInstance>> getTestsFo
...                                                                        ... rSelection(RegistryAccess $$0, String $$1) {
...                                                                        173       return ResourceSelectorArgument.parse(new StringReader($$1), $$0
...                                                                        ... .lookupOrThrow(Registries.TEST_INSTANCE)).stream();
...                                                                        174    }
141                                                                        175 
142    @Override                                                           176    @Override
143    public void tickServer(BooleanSupplier $$0) {                       177    public void tickServer(BooleanSupplier $$0) {

net/minecraft/gametest/framework/GameTestServer.java --- 7/9 --- Java
158          LOGGER.info("========= {} GAME TESTS COMPLETE IN {} ========= 192          LOGGER.info("========= {} GAME TESTS COMPLETE IN {} =========
... =============", this.testTracker.getTotalCount(), this.stopwatch.stop( ... =============", this.testTracker.getTotalCount(), this.stopwatch.stop(
... ));                                                                    ... ));
159          if (this.testTracker.hasFailedRequired()) {                   193          if (this.testTracker.hasFailedRequired()) {
160             LOGGER.info("{} required tests failed :(", this.testTracke 194             LOGGER.info("{} required tests failed :(", this.testTracke
... r.getFailedRequiredCount());                                           ... r.getFailedRequiredCount());
161             this.testTracker.getFailedRequired().forEach($$0x -> LOGGE 195             this.testTracker.getFailedRequired().forEach($$0x -> LOGGE
... R.info("   - {}", $$0x.getTestName()));                                ... R.info("   - {}", $$0x.id()));
162          } else {                                                      196          } else {
163             LOGGER.info("All {} required tests passed :)", this.testTr 197             LOGGER.info("All {} required tests passed :)", this.testTr
... acker.getTotalCount());                                                ... acker.getTotalCount());
164          }                                                             198          }
165                                                                        199 
166          if (this.testTracker.hasFailedOptional()) {                   200          if (this.testTracker.hasFailedOptional()) {
167             LOGGER.info("{} optional tests failed", this.testTracker.g 201             LOGGER.info("{} optional tests failed", this.testTracker.g
... etFailedOptionalCount());                                              ... etFailedOptionalCount());
168             this.testTracker.getFailedOptional().forEach($$0x -> LOGGE 202             this.testTracker.getFailedOptional().forEach($$0x -> LOGGE
... R.info("   - {} with rotation: {}", $$0x.getTestName(), $$0x.getRotati ... R.info("   - {} with rotation: {}", $$0x.id(), $$0x.getRotation()));
... on()));                                                                ... 
169          }                                                             203          }
170                                                                        204 
171          LOGGER.info("================================================ 205          LOGGER.info("================================================
    ====");                                                                    ====");

net/minecraft/gametest/framework/GameTestServer.java --- 8/9 --- Java
197    public void onServerExit() {                                        231    public void onServerExit() {
198       super.onServerExit();                                            232       super.onServerExit();
199       LOGGER.info("Game test server shutting down");                   233       LOGGER.info("Game test server shutting down");
200       System.exit(this.testTracker.getFailedRequiredCount());          234       System.exit(this.testTracker != null ? this.testTracker.getFaile
...                                                                        ... dRequiredCount() : -1);
201    }                                                                   235    }
202                                                                        236 
203    @Override                                                           237    @Override

net/minecraft/gametest/framework/GameTestServer.java --- 9/9 --- Java
209                                                                        243 
210    private void startTests(ServerLevel $$0) {                          244    private void startTests(ServerLevel $$0) {
211       BlockPos $$1 = new BlockPos($$0.random.nextIntBetweenInclusive(- 245       BlockPos $$1 = new BlockPos($$0.random.nextIntBetweenInclusive(-
... 14999992, 14999992), -59, $$0.random.nextIntBetweenInclusive(-14999992 ... 14999992, 14999992), -59, $$0.random.nextIntBetweenInclusive(-14999992
... , 14999992));                                                          ... , 14999992));
...                                                                        246       $$0.setDefaultSpawnPos($$1, 0.0F);
212       GameTestRunner $$2 = GameTestRunner.Builder.fromBatches(this.tes 247       GameTestRunner $$2 = GameTestRunner.Builder.fromBatches(this.tes
... tBatches, $$0).newStructureSpawner(new StructureGridSpawner($$1, 8, fa ... tBatches, $$0).newStructureSpawner(new StructureGridSpawner($$1, 8, fa
... lse)).build();                                                         ... lse)).build();
213       Collection<GameTestInfo> $$3 = $$2.getTestInfos();               248       Collection<GameTestInfo> $$3 = $$2.getTestInfos();
214       this.testTracker = new MultipleTestTracker($$3);                 249       this.testTracker = new MultipleTestTracker($$3);

net/minecraft/world/entity/Mob.java --- 1/13 --- Java
 1 package net.minecraft.world.entity;                                     1 package net.minecraft.world.entity;
 2                                                                         2 
 3 import com.google.common.annotations.VisibleForTesting;                 3 import com.google.common.annotations.VisibleForTesting;
 4 import com.google.common.collect.Iterables;                             . 
 5 import com.google.common.collect.Maps;                                  4 import com.google.common.collect.Maps;
 6 import com.mojang.logging.LogUtils;                                     5 import com.mojang.logging.LogUtils;
 7 import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;               6 import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;
 8 import java.util.Collections;                                           . 
 9 import java.util.HashSet;                                               7 import java.util.HashSet;
10 import java.util.List;                                                  8 import java.util.List;
11 import java.util.Map;                                                   9 import java.util.Map;

net/minecraft/world/entity/Mob.java --- 2/13 --- Java
16 import javax.annotation.Nullable;                                       14 import javax.annotation.Nullable;
17 import net.minecraft.core.BlockPos;                                     15 import net.minecraft.core.BlockPos;
18 import net.minecraft.core.Holder;                                       16 import net.minecraft.core.Holder;
19 import net.minecraft.core.NonNullList;                                  .. 
20 import net.minecraft.core.Vec3i;                                        17 import net.minecraft.core.Vec3i;
21 import net.minecraft.core.component.DataComponents;                     18 import net.minecraft.core.component.DataComponents;
22 import net.minecraft.core.registries.Registries;                        19 import net.minecraft.core.registries.Registries;
23 import net.minecraft.nbt.CompoundTag;                                   20 import net.minecraft.nbt.CompoundTag;
24 import net.minecraft.nbt.ListTag;                                       .. 
25 import net.minecraft.nbt.NbtOps;                                        21 import net.minecraft.nbt.NbtOps;
..                                                                         22 import net.minecraft.nbt.Tag;
26 import net.minecraft.network.protocol.game.DebugPackets;                23 import net.minecraft.network.protocol.game.DebugPackets;
27 import net.minecraft.network.syncher.EntityDataAccessor;                24 import net.minecraft.network.syncher.EntityDataAccessor;
28 import net.minecraft.network.syncher.EntityDataSerializers;             25 import net.minecraft.network.syncher.EntityDataSerializers;
29 import net.minecraft.network.syncher.SynchedEntityData;                 26 import net.minecraft.network.syncher.SynchedEntityData;
..                                                                         27 import net.minecraft.resources.RegistryOps;
30 import net.minecraft.resources.ResourceKey;                             28 import net.minecraft.resources.ResourceKey;
31 import net.minecraft.resources.ResourceLocation;                        29 import net.minecraft.resources.ResourceLocation;
32 import net.minecraft.server.level.ServerLevel;                          30 import net.minecraft.server.level.ServerLevel;

net/minecraft/world/entity/Mob.java --- 3/13 --- Java
36 import net.minecraft.util.RandomSource;                                 34 import net.minecraft.util.RandomSource;
37 import net.minecraft.util.profiling.Profiler;                           35 import net.minecraft.util.profiling.Profiler;
38 import net.minecraft.util.profiling.ProfilerFiller;                     36 import net.minecraft.util.profiling.ProfilerFiller;
..                                                                         37 import net.minecraft.world.Container;
39 import net.minecraft.world.Difficulty;                                  38 import net.minecraft.world.Difficulty;
40 import net.minecraft.world.DifficultyInstance;                          39 import net.minecraft.world.DifficultyInstance;
41 import net.minecraft.world.InteractionHand;                             40 import net.minecraft.world.InteractionHand;

net/minecraft/world/entity/Mob.java --- 4/13 --- Java
84 import net.minecraft.world.level.storage.loot.parameters.LootContextPar 83 import net.minecraft.world.level.storage.loot.parameters.LootContextPar
.. amSets;                                                                 .. amSets;
85 import net.minecraft.world.level.storage.loot.parameters.LootContextPar 84 import net.minecraft.world.level.storage.loot.parameters.LootContextPar
.. ams;                                                                    .. ams;
86 import net.minecraft.world.phys.AABB;                                   85 import net.minecraft.world.phys.AABB;
..                                                                         86 import net.minecraft.world.ticks.ContainerSingleItem;
87 import org.slf4j.Logger;                                                87 import org.slf4j.Logger;
88                                                                         88 
89 public abstract class Mob extends LivingEntity implements EquipmentUser 89 public abstract class Mob extends LivingEntity implements EquipmentUser
   , Leashable, Targeting {                                                   , Leashable, Targeting {

net/minecraft/world/entity/Mob.java --- 5/13 --- Java
116    @Nullable                                                           116    @Nullable
117    private LivingEntity target;                                        117    private LivingEntity target;
118    private final Sensing sensing;                                      118    private final Sensing sensing;
119    private final NonNullList<ItemStack> handItems = NonNullList.withSi 119    private EntityEquipment equipment = new EntityEquipment();
... ze(2, ItemStack.EMPTY);                                                ... 
120    private final NonNullList<ItemStack> armorItems = NonNullList.withS ... 
... ize(4, ItemStack.EMPTY);                                               ... 
121    private ItemStack bodyArmorItem = ItemStack.EMPTY;                  ... 
122    private DropChances dropChances = DropChances.DEFAULT;              120    private DropChances dropChances = DropChances.DEFAULT;
123    private boolean canPickUpLoot;                                      121    private boolean canPickUpLoot;
124    private boolean persistenceRequired;                                122    private boolean persistenceRequired;

net/minecraft/world/entity/Mob.java --- 6/13 --- Java
291          int $$1 = this.xpReward;                                      289          int $$1 = this.xpReward;
292                                                                        290 
293          for (EquipmentSlot $$2 : EquipmentSlot.VALUES) {              291          for (EquipmentSlot $$2 : EquipmentSlot.VALUES) {
...                                                                        292             if ($$2.canIncreaseExperience()) {
294             ItemStack $$3 = this.getItemBySlot($$2);                   293                ItemStack $$3 = this.getItemBySlot($$2);
295             if (!$$3.isEmpty() && this.dropChances.byEquipment($$2) <= 294                if (!$$3.isEmpty() && this.dropChances.byEquipment($$2)
...  1.0F) {                                                               ...  <= 1.0F) {
296                $$1 += 1 + this.random.nextInt(3);                      295                   $$1 += 1 + this.random.nextInt(3);
297             }                                                          296                }
298          }                                                             297             }
...                                                                        298          }
299                                                                        299 
300          return $$1;                                                   300          return $$1;

net/minecraft/world/entity/Mob.java --- 7/13 --- Java
351       super.addAdditionalSaveData($$0);                                351       super.addAdditionalSaveData($$0);
352       $$0.putBoolean("CanPickUpLoot", this.canPickUpLoot());           352       $$0.putBoolean("CanPickUpLoot", this.canPickUpLoot());
353       $$0.putBoolean("PersistenceRequired", this.persistenceRequired); 353       $$0.putBoolean("PersistenceRequired", this.persistenceRequired);
354       ListTag $$1 = new ListTag();                                     ... 
355                                                                        ... 
356       for (ItemStack $$2 : this.armorItems) {                          ... 
357          if (!$$2.isEmpty()) {                                         354       if (!this.equipment.isEmpty()) {
358             $$1.add($$2.save(this.registryAccess()));                  355          RegistryOps<Tag> $$1 = this.registryAccess().createSerializat
...                                                                        ... ionContext(NbtOps.INSTANCE);
...                                                                        356          $$0.put("equipment", EntityEquipment.CODEC.encodeStart($$1, t
...                                                                        ... his.equipment).getOrThrow());
359          } else {                                                      357       }
360             $$1.add(new CompoundTag());                                358 
361          }                                                             ... 
362       }                                                                ... 
363                                                                        ... 
364       $$0.put("ArmorItems", $$1);                                      ... 
365       if (!this.dropChances.equals(DropChances.DEFAULT)) {             359       if (!this.dropChances.equals(DropChances.DEFAULT)) {
366          $$0.put("drop_chances", DropChances.CODEC.encodeStart(NbtOps. 360          $$0.put("drop_chances", DropChances.CODEC.encodeStart(NbtOps.
... INSTANCE, this.dropChances).getOrThrow());                             ... INSTANCE, this.dropChances).getOrThrow());
367       }                                                                361       }
368                                                                        ... 
369       ListTag $$3 = new ListTag();                                     ... 
370                                                                        ... 
371       for (ItemStack $$4 : this.handItems) {                           ... 
372          if (!$$4.isEmpty()) {                                         ... 
373             $$3.add($$4.save(this.registryAccess()));                  ... 
374          } else {                                                      ... 
375             $$3.add(new CompoundTag());                                ... 
376          }                                                             ... 
377       }                                                                ... 
378                                                                        ... 
379       $$0.put("HandItems", $$3);                                       ... 
380       if (!this.bodyArmorItem.isEmpty()) {                             ... 
381          $$0.put("body_armor_item", this.bodyArmorItem.save(this.regis ... 
... tryAccess()));                                                         ... 
382       }                                                                ... 
383                                                                        362 
384       this.writeLeashData($$0, this.leashData);                        363       this.writeLeashData($$0, this.leashData);
385       $$0.putBoolean("LeftHanded", this.isLeftHanded());               364       $$0.putBoolean("LeftHanded", this.isLeftHanded());

net/minecraft/world/entity/Mob.java --- 8/13 --- Java
401       super.readAdditionalSaveData($$0);                               380       super.readAdditionalSaveData($$0);
402       this.setCanPickUpLoot($$0.getBoolean("CanPickUpLoot"));          381       this.setCanPickUpLoot($$0.getBoolean("CanPickUpLoot"));
403       this.persistenceRequired = $$0.getBoolean("PersistenceRequired") 382       this.persistenceRequired = $$0.getBoolean("PersistenceRequired")
... ;                                                                      ... ;
404       if ($$0.contains("ArmorItems", 9)) {                             383       if ($$0.contains("equipment")) {
405          ListTag $$1 = $$0.getList("ArmorItems", 10);                  384          RegistryOps<Tag> $$1 = this.registryAccess().createSerializat
...                                                                        ... ionContext(NbtOps.INSTANCE);
406                                                                        385          EntityEquipment.CODEC
407          for (int $$2 = 0; $$2 < this.armorItems.size(); $$2++) {      386             .parse($$1, $$0.get("equipment"))
408             CompoundTag $$3 = $$1.getCompound($$2);                    387             .resultOrPartial($$0x -> LOGGER.warn("Failed to parse equi
...                                                                        ... pment: {}", $$0x))
409             this.armorItems.set($$2, ItemStack.parseOptional(this.regi 388             .ifPresent($$0x -> this.equipment = $$0x);
... stryAccess(), $$3));                                                   ... 
410          }                                                             ... 
411       } else {                                                         389       } else {
412          Collections.fill(this.armorItems, ItemStack.EMPTY);           390          this.equipment = new EntityEquipment();
413       }                                                                391       }
414                                                                        392 
415       if ($$0.contains("drop_chances")) {                              393       if ($$0.contains("drop_chances")) {

net/minecraft/world/entity/Mob.java --- 9/13 --- Java
421          this.dropChances = DropChances.DEFAULT;                       399          this.dropChances = DropChances.DEFAULT;
422       }                                                                400       }
423                                                                        ... 
424       if ($$0.contains("HandItems", 9)) {                              ... 
425          ListTag $$4 = $$0.getList("HandItems", 10);                   ... 
426                                                                        ... 
427          for (int $$5 = 0; $$5 < this.handItems.size(); $$5++) {       ... 
428             CompoundTag $$6 = $$4.getCompound($$5);                    ... 
429             this.handItems.set($$5, ItemStack.parseOptional(this.regis ... 
... tryAccess(), $$6));                                                    ... 
430          }                                                             ... 
431       } else {                                                         ... 
432          Collections.fill(this.handItems, ItemStack.EMPTY);            ... 
433       }                                                                ... 
434                                                                        ... 
435       if ($$0.contains("body_armor_item", 10)) {                       ... 
436          this.bodyArmorItem = ItemStack.parse(this.registryAccess(), $ ... 
... $0.getCompound("body_armor_item")).orElse(ItemStack.EMPTY);            ... 
437       } else {                                                         ... 
438          this.bodyArmorItem = ItemStack.EMPTY;                         ... 
439       }                                                                ... 
440                                                                        401 
441       this.readLeashData($$0);                                         402       this.readLeashData($$0);
442       this.setLeftHanded($$0.getBoolean("LeftHanded"));                403       this.setLeftHanded($$0.getBoolean("LeftHanded"));

net/minecraft/world/entity/Mob.java --- 10/13 --- Java
533                                                                        494 
534    public ItemStack equipItemIfPossible(ServerLevel $$0, ItemStack $$1 495    public ItemStack equipItemIfPossible(ServerLevel $$0, ItemStack $$1
... ) {                                                                    ... ) {
535       EquipmentSlot $$2 = this.getEquipmentSlotForItem($$1);           496       EquipmentSlot $$2 = this.getEquipmentSlotForItem($$1);
...                                                                        497       if (!this.isEquippableInSlot($$1, $$2)) {
...                                                                        498          return ItemStack.EMPTY;
...                                                                        499       } else {
536       ItemStack $$3 = this.getItemBySlot($$2);                         500          ItemStack $$3 = this.getItemBySlot($$2);
537       boolean $$4 = this.canReplaceCurrentItem($$1, $$3, $$2);         501          boolean $$4 = this.canReplaceCurrentItem($$1, $$3, $$2);
538       if ($$2.isArmor() && !$$4) {                                     502          if ($$2.isArmor() && !$$4) {

net/minecraft/world/entity/Mob.java --- 11/13 --- Java
553       } else {                                                         517          } else {
554          return ItemStack.EMPTY;                                       518             return ItemStack.EMPTY;
555       }                                                                519          }
...                                                                        520       }
556    }                                                                   521    }
557                                                                        522 
558    protected void setItemSlotAndDropWhenKilled(EquipmentSlot $$0, Item 523    protected void setItemSlotAndDropWhenKilled(EquipmentSlot $$0, Item
    Stack $$1) {                                                               Stack $$1) {

net/minecraft/world/entity/Mob.java --- 12/13 --- Java
814       }                                                                779       }
815    }                                                                   780    }
816                                                                        ... 
817    @Override                                                           ... 
818    public Iterable<ItemStack> getHandSlots() {                         ... 
819       return this.handItems;                                           ... 
820    }                                                                   ... 
821                                                                        ... 
822    @Override                                                           ... 
823    public Iterable<ItemStack> getArmorSlots() {                        ... 
824       return this.armorItems;                                          ... 
825    }                                                                   ... 
826                                                                        781 
827    public ItemStack getBodyArmorItem() {                               782    public ItemStack getBodyArmorItem() {
828       return this.bodyArmorItem;                                       783       return this.getItemBySlot(EquipmentSlot.BODY);
829    }                                                                   784    }
830                                                                        785 
831    @Override                                                           ... 
832    public boolean canUseSlot(EquipmentSlot $$0) {                      786    public boolean isSaddled() {
833       return $$0 != EquipmentSlot.BODY;                                787       return this.hasItemInSlot(EquipmentSlot.SADDLE);
834    }                                                                   788    }
835                                                                        789 
836    public boolean isWearingBodyArmor() {                               790    public boolean isWearingBodyArmor() {
837       return !this.getItemBySlot(EquipmentSlot.BODY).isEmpty();        791       return this.hasItemInSlot(EquipmentSlot.BODY);
838    }                                                                   792    }
839                                                                        793 
840    public void setBodyArmorItem(ItemStack $$0) {                       794    public void setBodyArmorItem(ItemStack $$0) {
841       this.setItemSlotAndDropWhenKilled(EquipmentSlot.BODY, $$0);      795       this.setItemSlotAndDropWhenKilled(EquipmentSlot.BODY, $$0);
842    }                                                                   796    }
843                                                                        797 
844    @Override                                                           798    @Override
845    public Iterable<ItemStack> getArmorAndBodyArmorSlots() {            799    public ItemStack getItemBySlot(EquipmentSlot $$0) {
846       return (Iterable<ItemStack>)(this.bodyArmorItem.isEmpty() ? this 800       return this.equipment.get($$0);
... .armorItems : Iterables.concat(this.armorItems, List.of(this.bodyArmor ... 
... Item)));                                                               ... 
847    }                                                                   801    }
848                                                                        802 
849    @Override                                                           803    @Override
850    public ItemStack getItemBySlot(EquipmentSlot $$0) {                 804    public void setItemSlot(EquipmentSlot $$0, ItemStack $$1) {
851       return switch ($$0.getType()) {                                  805       this.verifyEquippedItem($$1);
852          case HAND -> (ItemStack)this.handItems.get($$0.getIndex());   806       ItemStack $$2 = this.equipment.set($$0, $$1);
853          case HUMANOID_ARMOR -> (ItemStack)this.armorItems.get($$0.get 807       this.onEquipItem($$0, $$2, $$1);
... Index());                                                              ... 
854          case ANIMAL_ARMOR -> this.bodyArmorItem;                      ... 
855       };                                                               ... 
856    }                                                                   808    }
857                                                                        809 
858    @Override                                                           ... 
859    public void setItemSlot(EquipmentSlot $$0, ItemStack $$1) {         810    public Container createEquipmentSlotContainer(final EquipmentSlot $
...                                                                        ... $0) {
860       this.verifyEquippedItem($$1);                                    ... 
861       switch ($$0.getType()) {                                         811       return new ContainerSingleItem() {
862          case HAND:                                                    812          @Override
...                                                                        813          public ItemStack getTheItem() {
863             this.onEquipItem($$0, this.handItems.set($$0.getIndex(), $ 814             return Mob.this.getItemBySlot($$0);
... $1), $$1);                                                             ... 
864             break;                                                     815          }
865          case HUMANOID_ARMOR:                                          816 
...                                                                        817          @Override
...                                                                        818          public void setTheItem(ItemStack $$0x) {
866             this.onEquipItem($$0, this.armorItems.set($$0.getIndex(),  819             Mob.this.setItemSlot($$0, $$0);
... $$1), $$1);                                                            ... 
...                                                                        820             if (!$$0.isEmpty()) {
867             break;                                                     821                Mob.this.setGuaranteedDrop($$0);
868          case ANIMAL_ARMOR:                                            822                Mob.this.setPersistenceRequired();
869             ItemStack $$2 = this.bodyArmorItem;                        823             }
870             this.bodyArmorItem = $$1;                                  824          }
...                                                                        825 
...                                                                        826          @Override
...                                                                        827          public void setChanged() {
...                                                                        828          }
...                                                                        829 
...                                                                        830          @Override
...                                                                        831          public boolean stillValid(Player $$0x) {
871             this.onEquipItem($$0, $$2, $$1);                           832             return $$0.getVehicle() == Mob.this || $$0.canInteractWith
...                                                                        ... Entity(Mob.this, 4.0);
...                                                                        833          }
872       }                                                                834       };
873    }                                                                   835    }
874                                                                        836 
875    @Override                                                           837    @Override

net/minecraft/world/entity/Mob.java --- 13/13 --- Java
1397    protected void removeAfterChangingDimensions() {                   1359    protected void removeAfterChangingDimensions() {
1398       super.removeAfterChangingDimensions();                          1360       super.removeAfterChangingDimensions();
....                                                                       1361 
1399       this.getAllSlots().forEach($$0 -> {                             1362       for (EquipmentSlot $$0 : EquipmentSlot.VALUES) {
....                                                                       1363          ItemStack $$1 = this.getItemBySlot($$0);
1400          if (!$$0.isEmpty()) {                                        1364          if (!$$1.isEmpty()) {
1401             $$0.setCount(0);                                          1365             $$1.setCount(0);
1402          }                                                            1366          }
1403       });                                                             1367       }
1404    }                                                                  1368    }
1405                                                                       1369 
1406    @Nullable                                                          1370    @Nullable

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 1/8 --- Java
2                                                                          2 
3 import com.google.common.collect.ImmutableList;                          3 import com.google.common.collect.ImmutableList;
4 import com.google.common.collect.Lists;                                  4 import com.google.common.collect.Lists;
.                                                                          5 import java.util.ArrayList;
5 import java.util.Collection;                                             6 import java.util.Collection;
6 import java.util.List;                                                   7 import java.util.List;
7 import java.util.Objects;                                                8 import java.util.Objects;

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 2/8 --- Java
12 import net.minecraft.core.BlockPos;                                     13 import net.minecraft.core.BlockPos;
13 import net.minecraft.core.Holder;                                       14 import net.minecraft.core.Holder;
14 import net.minecraft.core.HolderLookup;                                 15 import net.minecraft.core.HolderLookup;
..                                                                         16 import net.minecraft.core.component.DataComponentGetter;
15 import net.minecraft.core.component.DataComponentMap;                   17 import net.minecraft.core.component.DataComponentMap;
16 import net.minecraft.core.component.DataComponents;                     18 import net.minecraft.core.component.DataComponents;
17 import net.minecraft.core.registries.BuiltInRegistries;                 19 import net.minecraft.core.registries.BuiltInRegistries;

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 3/8 --- Java
46 import net.minecraft.world.level.levelgen.Heightmap;                    48 import net.minecraft.world.level.levelgen.Heightmap;
47 import net.minecraft.world.phys.AABB;                                   49 import net.minecraft.world.phys.AABB;
48                                                                         50 
49 public class BeaconBlockEntity extends BlockEntity implements MenuProvi 51 public class BeaconBlockEntity extends BlockEntity implements MenuProvi
.. der, Nameable {                                                         .. der, Nameable, BeaconBeamOwner {
50    private static final int MAX_LEVELS = 4;                             52    private static final int MAX_LEVELS = 4;
51    public static final List<List<Holder<MobEffect>>> BEACON_EFFECTS = L 53    public static final List<List<Holder<MobEffect>>> BEACON_EFFECTS = L
.. ist.of(                                                                 .. ist.of(
52       List.of(MobEffects.SPEED, MobEffects.HASTE),                      54       List.of(MobEffects.SPEED, MobEffects.HASTE),

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 4/8 --- Java
63    private static final Component DEFAULT_NAME = Component.translatable 65    private static final Component DEFAULT_NAME = Component.translatable
.. ("container.beacon");                                                   .. ("container.beacon");
64    private static final String TAG_PRIMARY = "primary_effect";          66    private static final String TAG_PRIMARY = "primary_effect";
65    private static final String TAG_SECONDARY = "secondary_effect";      67    private static final String TAG_SECONDARY = "secondary_effect";
66    List<BeaconBlockEntity.BeaconBeamSection> beamSections = Lists.newAr 68    List<BeaconBeamOwner.Section> beamSections = new ArrayList<>();
.. rayList();                                                              .. 
67    private List<BeaconBlockEntity.BeaconBeamSection> checkingBeamSectio 69    private List<BeaconBeamOwner.Section> checkingBeamSections = new Arr
.. ns = Lists.newArrayList();                                              .. ayList<>();
68    int levels;                                                          70    int levels;
69    private int lastCheckY;                                              71    private int lastCheckY;
70    @Nullable                                                            72    @Nullable

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 5/8 --- Java
131          $$7 = new BlockPos($$4, $$3.lastCheckY + 1, $$6);             133          $$7 = new BlockPos($$4, $$3.lastCheckY + 1, $$6);
132       }                                                                134       }
133                                                                        135 
134       BeaconBlockEntity.BeaconBeamSection $$9 = $$3.checkingBeamSectio 136       BeaconBeamOwner.Section $$9 = $$3.checkingBeamSections.isEmpty()
... ns.isEmpty() ? null : $$3.checkingBeamSections.get($$3.checkingBeamSec ...  ? null : $$3.checkingBeamSections.get($$3.checkingBeamSections.size()
... tions.size() - 1);                                                     ...  - 1);
135       int $$10 = $$0.getHeight(Heightmap.Types.WORLD_SURFACE, $$4, $$6 137       int $$10 = $$0.getHeight(Heightmap.Types.WORLD_SURFACE, $$4, $$6
... );                                                                     ... );
136                                                                        138 
137       for (int $$11 = 0; $$11 < 10 && $$7.getY() <= $$10; $$11++) {    139       for (int $$11 = 0; $$11 < 10 && $$7.getY() <= $$10; $$11++) {
138          BlockState $$12 = $$0.getBlockState($$7);                     140          BlockState $$12 = $$0.getBlockState($$7);
139          if ($$12.getBlock() instanceof BeaconBeamBlock $$14) {        141          if ($$12.getBlock() instanceof BeaconBeamBlock $$14) {
140             int $$15 = $$14.getColor().getTextureDiffuseColor();       142             int $$15 = $$14.getColor().getTextureDiffuseColor();
141             if ($$3.checkingBeamSections.size() <= 1) {                143             if ($$3.checkingBeamSections.size() <= 1) {
142                $$9 = new BeaconBlockEntity.BeaconBeamSection($$15);    144                $$9 = new BeaconBeamOwner.Section($$15);
143                $$3.checkingBeamSections.add($$9);                      145                $$3.checkingBeamSections.add($$9);
144             } else if ($$9 != null) {                                  146             } else if ($$9 != null) {
145                if ($$15 == $$9.color) {                                147                if ($$15 == $$9.getColor()) {
146                   $$9.increaseHeight();                                148                   $$9.increaseHeight();
147                } else {                                                149                } else {
148                   $$9 = new BeaconBlockEntity.BeaconBeamSection(ARGB.a 150                   $$9 = new BeaconBeamOwner.Section(ARGB.average($$9.g
... verage($$9.color, $$15));                                              ... etColor(), $$15));
149                   $$3.checkingBeamSections.add($$9);                   151                   $$3.checkingBeamSections.add($$9);
150                }                                                       152                }
151             }                                                          153             }

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 6/8 --- Java
258       $$0.playSound(null, $$1, $$2, SoundSource.BLOCKS, 1.0F, 1.0F);   260       $$0.playSound(null, $$1, $$2, SoundSource.BLOCKS, 1.0F, 1.0F);
259    }                                                                   261    }
260                                                                        262 
...                                                                        263    @Override
261    public List<BeaconBlockEntity.BeaconBeamSection> getBeamSections()  264    public List<BeaconBeamOwner.Section> getBeamSections() {
... {                                                                      ... 
262       return (List<BeaconBlockEntity.BeaconBeamSection>)(this.levels = 265       return (List<BeaconBeamOwner.Section>)(this.levels == 0 ? Immuta
... = 0 ? ImmutableList.of() : this.beamSections);                         ... bleList.of() : this.beamSections);
263    }                                                                   266    }
264                                                                        267 
265    public ClientboundBlockEntityDataPacket getUpdatePacket() {         268    public ClientboundBlockEntityDataPacket getUpdatePacket() {

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 7/8 --- Java
341    }                                                                   344    }
342                                                                        345 
343    @Override                                                           346    @Override
344    protected void applyImplicitComponents(BlockEntity.DataComponentInp 347    protected void applyImplicitComponents(DataComponentGetter $$0) {
... ut $$0) {                                                              ... 
345       super.applyImplicitComponents($$0);                              348       super.applyImplicitComponents($$0);
346       this.name = $$0.get(DataComponents.CUSTOM_NAME);                 349       this.name = $$0.get(DataComponents.CUSTOM_NAME);
347       this.lockKey = $$0.getOrDefault(DataComponents.LOCK, LockCode.NO 350       this.lockKey = $$0.getOrDefault(DataComponents.LOCK, LockCode.NO
    _LOCK);                                                                    _LOCK);

net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- 8/8 --- Java
368       this.lastCheckY = $$0.getMinY() - 1;                             371       this.lastCheckY = $$0.getMinY() - 1;
369    }                                                                   372    }
370                                                                        ... 
371    public static class BeaconBeamSection {                             ... 
372       final int color;                                                 ... 
373       private int height;                                              ... 
374                                                                        ... 
375       public BeaconBeamSection(int $$0) {                              ... 
376          this.color = $$0;                                             ... 
377          this.height = 1;                                              ... 
378       }                                                                ... 
379                                                                        ... 
380       protected void increaseHeight() {                                ... 
381          this.height++;                                                ... 
382       }                                                                ... 
383                                                                        ... 
384       public int getColor() {                                          ... 
385          return this.color;                                            ... 
386       }                                                                ... 
387                                                                        ... 
388       public int getHeight() {                                         ... 
389          return this.height;                                           ... 
390       }                                                                ... 
391    }                                                                   ... 
392 }                                                                      373 }

net/minecraft/world/entity/animal/Salmon.java --- 1/4 --- Java
1 package net.minecraft.world.entity.animal;                                1 package net.minecraft.world.entity.animal;
2                                                                           2 
.                                                                           3 import io.netty.buffer.ByteBuf;
3 import java.util.function.IntFunction;                                    4 import java.util.function.IntFunction;
4 import javax.annotation.Nullable;                                         5 import javax.annotation.Nullable;
.                                                                           6 import net.minecraft.core.component.DataComponentGetter;
.                                                                           7 import net.minecraft.core.component.DataComponentType;
5 import net.minecraft.core.component.DataComponents;                       8 import net.minecraft.core.component.DataComponents;
6 import net.minecraft.nbt.CompoundTag;                                     9 import net.minecraft.nbt.CompoundTag;
.                                                                          10 import net.minecraft.network.codec.ByteBufCodecs;
.                                                                          11 import net.minecraft.network.codec.StreamCodec;
7 import net.minecraft.network.syncher.EntityDataAccessor;                 12 import net.minecraft.network.syncher.EntityDataAccessor;
8 import net.minecraft.network.syncher.EntityDataSerializers;              13 import net.minecraft.network.syncher.EntityDataSerializers;
9 import net.minecraft.network.syncher.SynchedEntityData;                  14 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/Salmon.java --- 2/4 --- Java
19 import net.minecraft.world.entity.EntityType;                           24 import net.minecraft.world.entity.EntityType;
20 import net.minecraft.world.entity.Pose;                                 25 import net.minecraft.world.entity.Pose;
21 import net.minecraft.world.entity.SpawnGroupData;                       26 import net.minecraft.world.entity.SpawnGroupData;
22 import net.minecraft.world.entity.VariantHolder;                        .. 
23 import net.minecraft.world.item.ItemStack;                              27 import net.minecraft.world.item.ItemStack;
24 import net.minecraft.world.item.Items;                                  28 import net.minecraft.world.item.Items;
25 import net.minecraft.world.item.component.CustomData;                   .. 
26 import net.minecraft.world.level.Level;                                 29 import net.minecraft.world.level.Level;
27 import net.minecraft.world.level.ServerLevelAccessor;                   30 import net.minecraft.world.level.ServerLevelAccessor;
28                                                                         31 
29 public class Salmon extends AbstractSchoolingFish implements VariantHol 32 public class Salmon extends AbstractSchoolingFish {
.. der<Salmon.Variant> {                                                   .. 
30    private static final String TAG_TYPE = "type";                       33    private static final String TAG_TYPE = "type";
31    private static final EntityDataAccessor<Integer> DATA_TYPE = Synched 34    private static final EntityDataAccessor<Integer> DATA_TYPE = Synched
.. EntityData.defineId(Salmon.class, EntityDataSerializers.INT);           .. EntityData.defineId(Salmon.class, EntityDataSerializers.INT);
32                                                                         35 

net/minecraft/world/entity/animal/Salmon.java --- 3/4 --- Java
 94    @Override                                                            97    @Override
 95    public void saveToBucketTag(ItemStack $$0) {                         98    public void saveToBucketTag(ItemStack $$0) {
 96       Bucketable.saveDefaultDataToBucketTag(this, $$0);                 99       Bucketable.saveDefaultDataToBucketTag(this, $$0);
 97       CustomData.update(DataComponents.BUCKET_ENTITY_DATA, $$0, $$0x - 100       $$0.copyFrom(DataComponents.SALMON_SIZE, this);
 .. > $$0x.putString("type", this.getVariant().getSerializedName()));      ... 
 98    }                                                                   101    }
 99                                                                        ... 
100    @Override                                                           ... 
101    public void loadFromBucketTag(CompoundTag $$0) {                    ... 
102       Bucketable.loadDefaultDataFromBucketTag(this, $$0);              ... 
103       this.setVariant(Salmon.Variant.byName($$0.getString("type")));   ... 
104    }                                                                   ... 
105                                                                        102 
106    public void setVariant(Salmon.Variant $$0) {                        103    private void setVariant(Salmon.Variant $$0) {
107       this.entityData.set(DATA_TYPE, $$0.id);                          104       this.entityData.set(DATA_TYPE, $$0.id);
108    }                                                                   105    }
109                                                                        106 
110    public Salmon.Variant getVariant() {                                107    public Salmon.Variant getVariant() {
111       return Salmon.Variant.BY_ID.apply(this.entityData.get(DATA_TYPE) 108       return Salmon.Variant.BY_ID.apply(this.entityData.get(DATA_TYPE)
... );                                                                     ... );
112    }                                                                   109    }
...                                                                        110 
...                                                                        111    @Nullable
...                                                                        112    @Override
...                                                                        113    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        114       return $$0 == DataComponents.SALMON_SIZE ? castComponentValue((D
...                                                                        ... ataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        115    }
...                                                                        116 
...                                                                        117    @Override
...                                                                        118    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        119       this.applyImplicitComponentIfPresent($$0, DataComponents.SALMON_
...                                                                        ... SIZE);
...                                                                        120       super.applyImplicitComponents($$0);
...                                                                        121    }
...                                                                        122 
...                                                                        123    @Override
...                                                                        124    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        125       if ($$0 == DataComponents.SALMON_SIZE) {
...                                                                        126          this.setVariant(castComponentValue(DataComponents.SALMON_SIZE
...                                                                        ... , $$1));
...                                                                        127          return true;
...                                                                        128       } else {
...                                                                        129          return super.applyImplicitComponent($$0, $$1);
...                                                                        130       }
...                                                                        131    }
113                                                                        132 
114    @Nullable                                                           133    @Nullable
115    @Override                                                           134    @Override

net/minecraft/world/entity/animal/Salmon.java --- 4/4 --- Java
138                                                                        157 
139       public static final StringRepresentable.EnumCodec<Salmon.Variant 158       public static final StringRepresentable.EnumCodec<Salmon.Variant
... > CODEC = StringRepresentable.fromEnum(Salmon.Variant::values);        ... > CODEC = StringRepresentable.fromEnum(Salmon.Variant::values);
140       static final IntFunction<Salmon.Variant> BY_ID = ByIdMap.continu 159       static final IntFunction<Salmon.Variant> BY_ID = ByIdMap.continu
... ous(Salmon.Variant::id, values(), ByIdMap.OutOfBoundsStrategy.CLAMP);  ... ous(Salmon.Variant::id, values(), ByIdMap.OutOfBoundsStrategy.CLAMP);
...                                                                        160       public static final StreamCodec<ByteBuf, Salmon.Variant> STREAM_
...                                                                        ... CODEC = ByteBufCodecs.idMapper(BY_ID, Salmon.Variant::id);
141       private final String name;                                       161       private final String name;
142       final int id;                                                    162       final int id;
143       final float boundingBoxScale;                                    163       final float boundingBoxScale;

net/minecraft/world/entity/npc/VillagerProfession.java --- 1/2 --- Java
 5 import javax.annotation.Nullable;                                        5 import javax.annotation.Nullable;
 6 import net.minecraft.core.Holder;                                        6 import net.minecraft.core.Holder;
 7 import net.minecraft.core.Registry;                                      7 import net.minecraft.core.Registry;
 8 import net.minecraft.core.registries.BuiltInRegistries;                  8 import net.minecraft.core.registries.Registries;
 .                                                                          9 import net.minecraft.network.chat.Component;
 9 import net.minecraft.resources.ResourceKey;                             10 import net.minecraft.resources.ResourceKey;
10 import net.minecraft.resources.ResourceLocation;                        11 import net.minecraft.resources.ResourceLocation;
11 import net.minecraft.sounds.SoundEvent;                                 12 import net.minecraft.sounds.SoundEvent;

net/minecraft/world/entity/npc/VillagerProfession.java --- 2/2 --- Java
19 import net.minecraft.world.level.block.Blocks;                           20 import net.minecraft.world.level.block.Blocks;
20                                                                          21 
21 public record VillagerProfession(                                        22 public record VillagerProfession(
22    String name,                                                          23    Component name,
23    Predicate<Holder<PoiType>> heldJobSite,                               24    Predicate<Holder<PoiType>> heldJobSite,
24    Predicate<Holder<PoiType>> acquirableJobSite,                         25    Predicate<Holder<PoiType>> acquirableJobSite,
25    ImmutableSet<Item> requestedItems,                                    26    ImmutableSet<Item> requestedItems,
26    ImmutableSet<Block> secondaryPoi,                                     27    ImmutableSet<Block> secondaryPoi,
27    @Nullable SoundEvent workSound                                        28    @Nullable SoundEvent workSound
28 ) {                                                                      29 ) {
29    public static final Predicate<Holder<PoiType>> ALL_ACQUIRABLE_JOBS =  30    public static final Predicate<Holder<PoiType>> ALL_ACQUIRABLE_JOBS =
..  $$0 -> $$0.is(PoiTypeTags.ACQUIRABLE_JOB_SITE);                         ..  $$0 -> $$0.is(PoiTypeTags.ACQUIRABLE_JOB_SITE);
30    public static final VillagerProfession NONE = register("none", PoiTy  31    public static final ResourceKey<VillagerProfession> NONE = createKey
.. pe.NONE, ALL_ACQUIRABLE_JOBS, null);                                     .. ("none");
31    public static final VillagerProfession ARMORER = register("armorer",  32    public static final ResourceKey<VillagerProfession> ARMORER = create
..  PoiTypes.ARMORER, SoundEvents.VILLAGER_WORK_ARMORER);                   .. Key("armorer");
32    public static final VillagerProfession BUTCHER = register("butcher",  33    public static final ResourceKey<VillagerProfession> BUTCHER = create
..  PoiTypes.BUTCHER, SoundEvents.VILLAGER_WORK_BUTCHER);                   .. Key("butcher");
33    public static final VillagerProfession CARTOGRAPHER = register("cart  34    public static final ResourceKey<VillagerProfession> CARTOGRAPHER = c
.. ographer", PoiTypes.CARTOGRAPHER, SoundEvents.VILLAGER_WORK_CARTOGRAPHE  .. reateKey("cartographer");
.. R);                                                                      .. 
34    public static final VillagerProfession CLERIC = register("cleric", P  35    public static final ResourceKey<VillagerProfession> CLERIC = createK
.. oiTypes.CLERIC, SoundEvents.VILLAGER_WORK_CLERIC);                       .. ey("cleric");
35    public static final VillagerProfession FARMER = register(             36    public static final ResourceKey<VillagerProfession> FARMER = createK
..                                                                          .. ey("farmer");
36       "farmer",                                                          .. 
37       PoiTypes.FARMER,                                                   .. 
38       ImmutableSet.of(Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT_SE  .. 
.. EDS, Items.BONE_MEAL),                                                   .. 
39       ImmutableSet.of(Blocks.FARMLAND),                                  .. 
40       SoundEvents.VILLAGER_WORK_FARMER                                   .. 
41    );                                                                    .. 
42    public static final VillagerProfession FISHERMAN = register("fisherm  37    public static final ResourceKey<VillagerProfession> FISHERMAN = crea
.. an", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);           .. teKey("fisherman");
43    public static final VillagerProfession FLETCHER = register("fletcher  38    public static final ResourceKey<VillagerProfession> FLETCHER = creat
.. ", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);               .. eKey("fletcher");
44    public static final VillagerProfession LEATHERWORKER = register("lea  39    public static final ResourceKey<VillagerProfession> LEATHERWORKER = 
.. therworker", PoiTypes.LEATHERWORKER, SoundEvents.VILLAGER_WORK_LEATHERW  .. createKey("leatherworker");
.. ORKER);                                                                  .. 
45    public static final VillagerProfession LIBRARIAN = register("librari  40    public static final ResourceKey<VillagerProfession> LIBRARIAN = crea
.. an", PoiTypes.LIBRARIAN, SoundEvents.VILLAGER_WORK_LIBRARIAN);           .. teKey("librarian");
46    public static final VillagerProfession MASON = register("mason", Poi  41    public static final ResourceKey<VillagerProfession> MASON = createKe
.. Types.MASON, SoundEvents.VILLAGER_WORK_MASON);                           .. y("mason");
47    public static final VillagerProfession NITWIT = register("nitwit", P  42    public static final ResourceKey<VillagerProfession> NITWIT = createK
.. oiType.NONE, PoiType.NONE, null);                                        .. ey("nitwit");
48    public static final VillagerProfession SHEPHERD = register("shepherd  43    public static final ResourceKey<VillagerProfession> SHEPHERD = creat
.. ", PoiTypes.SHEPHERD, SoundEvents.VILLAGER_WORK_SHEPHERD);               .. eKey("shepherd");
49    public static final VillagerProfession TOOLSMITH = register("toolsmi  44    public static final ResourceKey<VillagerProfession> TOOLSMITH = crea
.. th", PoiTypes.TOOLSMITH, SoundEvents.VILLAGER_WORK_TOOLSMITH);           .. teKey("toolsmith");
50    public static final VillagerProfession WEAPONSMITH = register("weapo  45    public static final ResourceKey<VillagerProfession> WEAPONSMITH = cr
.. nsmith", PoiTypes.WEAPONSMITH, SoundEvents.VILLAGER_WORK_WEAPONSMITH);   .. eateKey("weaponsmith");
51                                                                          46 
52    @Override                                                             .. 
53    public String toString() {                                            47    private static ResourceKey<VillagerProfession> createKey(String $$0)
..                                                                          ..  {
54       return this.name;                                                  48       return ResourceKey.create(Registries.VILLAGER_PROFESSION, Resourc
..                                                                          .. eLocation.withDefaultNamespace($$0));
55    }                                                                     49    }
56                                                                          50 
57    private static VillagerProfession register(String $$0, ResourceKey<P  51    private static VillagerProfession register(
.. oiType> $$1, @Nullable SoundEvent $$2) {                                 .. 
..                                                                          52       Registry<VillagerProfession> $$0, ResourceKey<VillagerProfession>
..                                                                          ..  $$1, ResourceKey<PoiType> $$2, @Nullable SoundEvent $$3
..                                                                          53    ) {
58       return register($$0, $$1x -> $$1x.is($$1), $$1x -> $$1x.is($$1),   54       return register($$0, $$1, $$1x -> $$1x.is($$2), $$1x -> $$1x.is($
.. $$2);                                                                    .. $2), $$3);
59    }                                                                     55    }
60                                                                          56 
61    private static VillagerProfession register(String $$0, Predicate<Hol  57    private static VillagerProfession register(
.. der<PoiType>> $$1, Predicate<Holder<PoiType>> $$2, @Nullable SoundEvent  .. 
..  $$3) {                                                                  .. 
..                                                                          58       Registry<VillagerProfession> $$0,
..                                                                          59       ResourceKey<VillagerProfession> $$1,
..                                                                          60       Predicate<Holder<PoiType>> $$2,
..                                                                          61       Predicate<Holder<PoiType>> $$3,
..                                                                          62       @Nullable SoundEvent $$4
..                                                                          63    ) {
62       return register($$0, $$1, $$2, ImmutableSet.of(), ImmutableSet.of  64       return register($$0, $$1, $$2, $$3, ImmutableSet.of(), ImmutableS
.. (), $$3);                                                                .. et.of(), $$4);
63    }                                                                     65    }
64                                                                          66 
65    private static VillagerProfession register(String $$0, ResourceKey<P  67    private static VillagerProfession register(
.. oiType> $$1, ImmutableSet<Item> $$2, ImmutableSet<Block> $$3, @Nullable  .. 
..  SoundEvent $$4) {                                                       .. 
..                                                                          68       Registry<VillagerProfession> $$0,
..                                                                          69       ResourceKey<VillagerProfession> $$1,
..                                                                          70       ResourceKey<PoiType> $$2,
..                                                                          71       ImmutableSet<Item> $$3,
..                                                                          72       ImmutableSet<Block> $$4,
..                                                                          73       @Nullable SoundEvent $$5
..                                                                          74    ) {
66       return register($$0, $$1x -> $$1x.is($$1), $$1x -> $$1x.is($$1),   75       return register($$0, $$1, $$1x -> $$1x.is($$2), $$1x -> $$1x.is($
.. $$2, $$3, $$4);                                                          .. $2), $$3, $$4, $$5);
67    }                                                                     76    }
68                                                                          77 
69    private static VillagerProfession register(                           78    private static VillagerProfession register(
70       String $$0, Predicate<Holder<PoiType>> $$1, Predicate<Holder<PoiT  79       Registry<VillagerProfession> $$0,
.. ype>> $$2, ImmutableSet<Item> $$3, ImmutableSet<Block> $$4, @Nullable S  .. 
.. oundEvent $$5                                                            .. 
..                                                                          80       ResourceKey<VillagerProfession> $$1,
..                                                                          81       Predicate<Holder<PoiType>> $$2,
..                                                                          82       Predicate<Holder<PoiType>> $$3,
..                                                                          83       ImmutableSet<Item> $$4,
..                                                                          84       ImmutableSet<Block> $$5,
..                                                                          85       @Nullable SoundEvent $$6
71    ) {                                                                   86    ) {
72       return Registry.register(                                          87       return Registry.register(
73          BuiltInRegistries.VILLAGER_PROFESSION, ResourceLocation.withDe  88          $$0,
.. faultNamespace($$0), new VillagerProfession($$0, $$1, $$2, $$3, $$4, $$  .. 
.. 5)                                                                       .. 
..                                                                          89          $$1,
..                                                                          90          new VillagerProfession(
..                                                                          91             Component.translatable("entity." + $$1.location().getNamesp
..                                                                          .. ace() + ".villager." + $$1.location().getPath()), $$2, $$3, $$4, $$5, $
..                                                                          .. $6
..                                                                          92          )
74       );                                                                 93       );
75    }                                                                     94    }
..                                                                          95 
..                                                                          96    public static VillagerProfession bootstrap(Registry<VillagerProfessi
..                                                                          .. on> $$0) {
..                                                                          97       register($$0, NONE, PoiType.NONE, ALL_ACQUIRABLE_JOBS, null);
..                                                                          98       register($$0, ARMORER, PoiTypes.ARMORER, SoundEvents.VILLAGER_WOR
..                                                                          .. K_ARMORER);
..                                                                          99       register($$0, BUTCHER, PoiTypes.BUTCHER, SoundEvents.VILLAGER_WOR
..                                                                          .. K_BUTCHER);
..                                                                         100       register($$0, CARTOGRAPHER, PoiTypes.CARTOGRAPHER, SoundEvents.VI
..                                                                         ... LLAGER_WORK_CARTOGRAPHER);
..                                                                         101       register($$0, CLERIC, PoiTypes.CLERIC, SoundEvents.VILLAGER_WORK_
..                                                                         ... CLERIC);
..                                                                         102       register(
..                                                                         103          $$0,
..                                                                         104          FARMER,
..                                                                         105          PoiTypes.FARMER,
..                                                                         106          ImmutableSet.of(Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT
..                                                                         ... _SEEDS, Items.BONE_MEAL),
..                                                                         107          ImmutableSet.of(Blocks.FARMLAND),
..                                                                         108          SoundEvents.VILLAGER_WORK_FARMER
..                                                                         109       );
..                                                                         110       register($$0, FISHERMAN, PoiTypes.FISHERMAN, SoundEvents.VILLAGER
..                                                                         ... _WORK_FISHERMAN);
..                                                                         111       register($$0, FLETCHER, PoiTypes.FLETCHER, SoundEvents.VILLAGER_W
..                                                                         ... ORK_FLETCHER);
..                                                                         112       register($$0, LEATHERWORKER, PoiTypes.LEATHERWORKER, SoundEvents.
..                                                                         ... VILLAGER_WORK_LEATHERWORKER);
..                                                                         113       register($$0, LIBRARIAN, PoiTypes.LIBRARIAN, SoundEvents.VILLAGER
..                                                                         ... _WORK_LIBRARIAN);
..                                                                         114       register($$0, MASON, PoiTypes.MASON, SoundEvents.VILLAGER_WORK_MA
..                                                                         ... SON);
..                                                                         115       register($$0, NITWIT, PoiType.NONE, PoiType.NONE, null);
..                                                                         116       register($$0, SHEPHERD, PoiTypes.SHEPHERD, SoundEvents.VILLAGER_W
..                                                                         ... ORK_SHEPHERD);
..                                                                         117       register($$0, TOOLSMITH, PoiTypes.TOOLSMITH, SoundEvents.VILLAGER
..                                                                         ... _WORK_TOOLSMITH);
..                                                                         118       return register($$0, WEAPONSMITH, PoiTypes.WEAPONSMITH, SoundEven
..                                                                         ... ts.VILLAGER_WORK_WEAPONSMITH);
..                                                                         119    }
76 }                                                                       120 }

net/minecraft/client/model/AbstractEquineModel.java --- 1/5 --- Java
21    private static final float DEG_30 = (float) (Math.PI / 6);           21    private static final float DEG_30 = (float) (Math.PI / 6);
22    private static final float DEG_15 = (float) (Math.PI / 12);          22    private static final float DEG_15 = (float) (Math.PI / 12);
23    protected static final String HEAD_PARTS = "head_parts";             23    protected static final String HEAD_PARTS = "head_parts";
24    private static final String SADDLE = "saddle";                       .. 
25    private static final String LEFT_SADDLE_MOUTH = "left_saddle_mouth"; .. 
26    private static final String LEFT_SADDLE_LINE = "left_saddle_line";   .. 
27    private static final String RIGHT_SADDLE_MOUTH = "right_saddle_mouth .. 
.. ";                                                                      .. 
28    private static final String RIGHT_SADDLE_LINE = "right_saddle_line"; .. 
29    private static final String HEAD_SADDLE = "head_saddle";             .. 
30    private static final String MOUTH_SADDLE_WRAP = "mouth_saddle_wrap"; .. 
31    protected static final MeshTransformer BABY_TRANSFORMER = new BabyMo 24    protected static final MeshTransformer BABY_TRANSFORMER = new BabyMo
.. delTransform(true, 16.2F, 1.36F, 2.7272F, 2.0F, 20.0F, Set.of("head_par .. delTransform(true, 16.2F, 1.36F, 2.7272F, 2.0F, 20.0F, Set.of("head_par
.. ts"));                                                                  .. ts"));
32    protected final ModelPart body;                                      25    protected final ModelPart body;
33    protected final ModelPart headParts;                                 26    protected final ModelPart headParts;

net/minecraft/client/model/AbstractEquineModel.java --- 2/5 --- Java
36    private final ModelPart rightFrontLeg;                               29    private final ModelPart rightFrontLeg;
37    private final ModelPart leftFrontLeg;                                30    private final ModelPart leftFrontLeg;
38    private final ModelPart tail;                                        31    private final ModelPart tail;
39    private final ModelPart[] saddleParts;                               .. 
40    private final ModelPart[] ridingParts;                               .. 
41                                                                         32 
42    public AbstractEquineModel(ModelPart $$0) {                          33    public AbstractEquineModel(ModelPart $$0) {
43       super($$0);                                                       34       super($$0);

net/minecraft/client/model/AbstractEquineModel.java --- 3/5 --- Java
48       this.rightFrontLeg = $$0.getChild("right_front_leg");             39       this.rightFrontLeg = $$0.getChild("right_front_leg");
49       this.leftFrontLeg = $$0.getChild("left_front_leg");               40       this.leftFrontLeg = $$0.getChild("left_front_leg");
50       this.tail = this.body.getChild("tail");                           41       this.tail = this.body.getChild("tail");
51       ModelPart $$1 = this.body.getChild("saddle");                     .. 
52       ModelPart $$2 = this.headParts.getChild("left_saddle_mouth");     .. 
53       ModelPart $$3 = this.headParts.getChild("right_saddle_mouth");    .. 
54       ModelPart $$4 = this.headParts.getChild("left_saddle_line");      .. 
55       ModelPart $$5 = this.headParts.getChild("right_saddle_line");     .. 
56       ModelPart $$6 = this.headParts.getChild("head_saddle");           .. 
57       ModelPart $$7 = this.headParts.getChild("mouth_saddle_wrap");     .. 
58       this.saddleParts = new ModelPart[]{$$1, $$2, $$3, $$6, $$7};      .. 
59       this.ridingParts = new ModelPart[]{$$4, $$5};                     .. 
60    }                                                                    42    }
61                                                                         43 
62    public static MeshDefinition createBodyMesh(CubeDeformation $$0) {   44    public static MeshDefinition createBodyMesh(CubeDeformation $$0) {

net/minecraft/client/model/AbstractEquineModel.java --- 4/5 --- Java
100          CubeListBuilder.create().texOffs(42, 36).addBox(-1.5F, 0.0F,  82          CubeListBuilder.create().texOffs(42, 36).addBox(-1.5F, 0.0F, 
... 0.0F, 3.0F, 14.0F, 4.0F, $$0),                                         .. 0.0F, 3.0F, 14.0F, 4.0F, $$0),
101          PartPose.offsetAndRotation(0.0F, -5.0F, 2.0F, (float) (Math.P 83          PartPose.offsetAndRotation(0.0F, -5.0F, 2.0F, (float) (Math.P
... I / 6), 0.0F, 0.0F)                                                    .. I / 6), 0.0F, 0.0F)
102       );                                                               84       );
103       $$3.addOrReplaceChild(                                           .. 
104          "saddle", CubeListBuilder.create().texOffs(26, 0).addBox(-5.0 .. 
... F, -8.0F, -9.0F, 10.0F, 9.0F, 9.0F, new CubeDeformation(0.5F)), PartPo .. 
... se.ZERO                                                                .. 
105       );                                                               .. 
106       $$4.addOrReplaceChild("left_saddle_mouth", CubeListBuilder.creat .. 
... e().texOffs(29, 5).addBox(2.0F, -9.0F, -6.0F, 1.0F, 2.0F, 2.0F, $$0),  .. 
... PartPose.ZERO);                                                        .. 
107       $$4.addOrReplaceChild("right_saddle_mouth", CubeListBuilder.crea .. 
... te().texOffs(29, 5).addBox(-3.0F, -9.0F, -6.0F, 1.0F, 2.0F, 2.0F, $$0) .. 
... , PartPose.ZERO);                                                      .. 
108       $$4.addOrReplaceChild(                                           .. 
109          "left_saddle_line",                                           .. 
110          CubeListBuilder.create().texOffs(32, 2).addBox(3.1F, -6.0F, - .. 
... 8.0F, 0.0F, 3.0F, 16.0F),                                              .. 
111          PartPose.rotation((float) (-Math.PI / 6), 0.0F, 0.0F)         .. 
112       );                                                               .. 
113       $$4.addOrReplaceChild(                                           .. 
114          "right_saddle_line",                                          .. 
115          CubeListBuilder.create().texOffs(32, 2).addBox(-3.1F, -6.0F,  .. 
... -8.0F, 0.0F, 3.0F, 16.0F),                                             .. 
116          PartPose.rotation((float) (-Math.PI / 6), 0.0F, 0.0F)         .. 
117       );                                                               .. 
118       $$4.addOrReplaceChild(                                           .. 
119          "head_saddle", CubeListBuilder.create().texOffs(1, 1).addBox( .. 
... -3.0F, -11.0F, -1.9F, 6.0F, 5.0F, 6.0F, new CubeDeformation(0.22F)), P .. 
... artPose.ZERO                                                           .. 
120       );                                                               .. 
121       $$4.addOrReplaceChild(                                           .. 
122          "mouth_saddle_wrap", CubeListBuilder.create().texOffs(19, 0). .. 
... addBox(-2.0F, -11.0F, -4.0F, 4.0F, 5.0F, 2.0F, new CubeDeformation(0.2 .. 
... F)), PartPose.ZERO                                                     .. 
123       );                                                               .. 
124       $$5.addOrReplaceChild(                                           85       $$5.addOrReplaceChild(
125          "left_ear", CubeListBuilder.create().texOffs(19, 16).addBox(0 86          "left_ear", CubeListBuilder.create().texOffs(19, 16).addBox(0
... .55F, -13.0F, 4.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(-0.001F)), P .. .55F, -13.0F, 4.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(-0.001F)), P
... artPose.ZERO                                                           .. artPose.ZERO
126       );                                                               87       );

net/minecraft/client/model/AbstractEquineModel.java --- 5/5 --- Java
162    public void setupAnim(T $$0) {                                      123    public void setupAnim(T $$0) {
163       super.setupAnim($$0);                                            124       super.setupAnim($$0);
164                                                                        ... 
165       for (ModelPart $$1 : this.saddleParts) {                         ... 
166          $$1.visible = $$0.isSaddled;                                  ... 
167       }                                                                ... 
168                                                                        ... 
169       for (ModelPart $$2 : this.ridingParts) {                         ... 
170          $$2.visible = $$0.isRidden && $$0.isSaddled;                  ... 
171       }                                                                ... 
172                                                                        ... 
173       float $$3 = Mth.clamp($$0.yRot, -20.0F, 20.0F);                  125       float $$1 = Mth.clamp($$0.yRot, -20.0F, 20.0F);
174       float $$4 = $$0.xRot * (float) (Math.PI / 180.0);                126       float $$2 = $$0.xRot * (float) (Math.PI / 180.0);
175       float $$5 = $$0.walkAnimationSpeed;                              127       float $$3 = $$0.walkAnimationSpeed;
176       float $$6 = $$0.walkAnimationPos;                                128       float $$4 = $$0.walkAnimationPos;
177       if ($$5 > 0.2F) {                                                129       if ($$3 > 0.2F) {
178          $$4 += Mth.cos($$6 * 0.8F) * 0.15F * $$5;                     130          $$2 += Mth.cos($$4 * 0.8F) * 0.15F * $$3;
179       }                                                                131       }
180                                                                        132 
181       float $$7 = $$0.eatAnimation;                                    133       float $$5 = $$0.eatAnimation;
182       float $$8 = $$0.standAnimation;                                  134       float $$6 = $$0.standAnimation;
183       float $$9 = 1.0F - $$8;                                          135       float $$7 = 1.0F - $$6;
184       float $$10 = $$0.feedingAnimation;                               136       float $$8 = $$0.feedingAnimation;
185       boolean $$11 = $$0.animateTail;                                  137       boolean $$9 = $$0.animateTail;
186       this.headParts.xRot = (float) (Math.PI / 6) + $$4;               138       this.headParts.xRot = (float) (Math.PI / 6) + $$2;
187       this.headParts.yRot = $$3 * (float) (Math.PI / 180.0);           139       this.headParts.yRot = $$1 * (float) (Math.PI / 180.0);
188       float $$12 = $$0.isInWater ? 0.2F : 1.0F;                        140       float $$10 = $$0.isInWater ? 0.2F : 1.0F;
189       float $$13 = Mth.cos($$12 * $$6 * 0.6662F + (float) Math.PI);    141       float $$11 = Mth.cos($$10 * $$4 * 0.6662F + (float) Math.PI);
190       float $$14 = $$13 * 0.8F * $$5;                                  142       float $$12 = $$11 * 0.8F * $$3;
191       float $$15 = (1.0F - Math.max($$8, $$7)) * ((float) (Math.PI / 6 143       float $$13 = (1.0F - Math.max($$6, $$5)) * ((float) (Math.PI / 6
... ) + $$4 + $$10 * Mth.sin($$0.ageInTicks) * 0.05F);                     ... ) + $$2 + $$8 * Mth.sin($$0.ageInTicks) * 0.05F);
192       this.headParts.xRot = $$8 * ((float) (Math.PI / 12) + $$4) + $$7 144       this.headParts.xRot = $$6 * ((float) (Math.PI / 12) + $$2) + $$5
...  * (2.1816616F + Mth.sin($$0.ageInTicks) * 0.05F) + $$15;              ...  * (2.1816616F + Mth.sin($$0.ageInTicks) * 0.05F) + $$13;
193       this.headParts.yRot = $$8 * $$3 * (float) (Math.PI / 180.0) + (1 145       this.headParts.yRot = $$6 * $$1 * (float) (Math.PI / 180.0) + (1
... .0F - Math.max($$8, $$7)) * this.headParts.yRot;                       ... .0F - Math.max($$6, $$5)) * this.headParts.yRot;
194       float $$16 = $$0.ageScale;                                       146       float $$14 = $$0.ageScale;
195       this.headParts.y = this.headParts.y + Mth.lerp($$7, Mth.lerp($$8 147       this.headParts.y = this.headParts.y + Mth.lerp($$5, Mth.lerp($$6
... , 0.0F, -8.0F * $$16), 7.0F * $$16);                                   ... , 0.0F, -8.0F * $$14), 7.0F * $$14);
196       this.headParts.z = Mth.lerp($$8, this.headParts.z, -4.0F * $$16) 148       this.headParts.z = Mth.lerp($$6, this.headParts.z, -4.0F * $$14)
... ;                                                                      ... ;
197       this.body.xRot = $$8 * (float) (-Math.PI / 4) + $$9 * this.body. 149       this.body.xRot = $$6 * (float) (-Math.PI / 4) + $$7 * this.body.
... xRot;                                                                  ... xRot;
198       float $$17 = (float) (Math.PI / 12) * $$8;                       150       float $$15 = (float) (Math.PI / 12) * $$6;
199       float $$18 = Mth.cos($$0.ageInTicks * 0.6F + (float) Math.PI);   151       float $$16 = Mth.cos($$0.ageInTicks * 0.6F + (float) Math.PI);
200       this.leftFrontLeg.y -= 12.0F * $$16 * $$8;                       152       this.leftFrontLeg.y -= 12.0F * $$14 * $$6;
201       this.leftFrontLeg.z += 4.0F * $$16 * $$8;                        153       this.leftFrontLeg.z += 4.0F * $$14 * $$6;
202       this.rightFrontLeg.y = this.leftFrontLeg.y;                      154       this.rightFrontLeg.y = this.leftFrontLeg.y;
203       this.rightFrontLeg.z = this.leftFrontLeg.z;                      155       this.rightFrontLeg.z = this.leftFrontLeg.z;
204       float $$19 = ((float) (-Math.PI / 3) + $$18) * $$8 + $$14 * $$9; 156       float $$17 = ((float) (-Math.PI / 3) + $$16) * $$6 + $$12 * $$7;
205       float $$20 = ((float) (-Math.PI / 3) - $$18) * $$8 - $$14 * $$9; 157       float $$18 = ((float) (-Math.PI / 3) - $$16) * $$6 - $$12 * $$7;
206       this.leftHindLeg.xRot = $$17 - $$13 * 0.5F * $$5 * $$9;          158       this.leftHindLeg.xRot = $$15 - $$11 * 0.5F * $$3 * $$7;
207       this.rightHindLeg.xRot = $$17 + $$13 * 0.5F * $$5 * $$9;         159       this.rightHindLeg.xRot = $$15 + $$11 * 0.5F * $$3 * $$7;
208       this.leftFrontLeg.xRot = $$19;                                   160       this.leftFrontLeg.xRot = $$17;
209       this.rightFrontLeg.xRot = $$20;                                  161       this.rightFrontLeg.xRot = $$18;
210       this.tail.xRot = (float) (Math.PI / 6) + $$5 * 0.75F;            162       this.tail.xRot = (float) (Math.PI / 6) + $$3 * 0.75F;
211       this.tail.y += $$5 * $$16;                                       163       this.tail.y += $$3 * $$14;
212       this.tail.z += $$5 * 2.0F * $$16;                                164       this.tail.z += $$3 * 2.0F * $$14;
213       if ($$11) {                                                      165       if ($$9) {
214          this.tail.yRot = Mth.cos($$0.ageInTicks * 0.7F);              166          this.tail.yRot = Mth.cos($$0.ageInTicks * 0.7F);
215       } else {                                                         167       } else {
216          this.tail.yRot = 0.0F;                                        168          this.tail.yRot = 0.0F;

net/minecraft/gametest/framework/TestFinder.java --- 1/2 --- Java
 1 package net.minecraft.gametest.framework;                                1 package net.minecraft.gametest.framework;
 2                                                                          2 
 3 import com.mojang.brigadier.context.CommandContext;                      3 import com.mojang.brigadier.context.CommandContext;
 4 import java.util.LinkedList;                                             4 import java.util.Collection;
 5 import java.util.List;                                                   5 import java.util.LinkedList;
 6 import java.util.function.Function;                                      6 import java.util.List;
 7 import java.util.function.Supplier;                                      7 import java.util.function.Supplier;
 8 import java.util.function.UnaryOperator;                                 8 import java.util.function.UnaryOperator;
 9 import java.util.stream.Stream;                                          9 import java.util.stream.Stream;
10 import net.minecraft.commands.CommandSourceStack;                       10 import net.minecraft.commands.CommandSourceStack;
11 import net.minecraft.core.BlockPos;                                     11 import net.minecraft.core.BlockPos;
..                                                                         12 import net.minecraft.core.Holder;
12                                                                         13 
13 public class TestFinder<T> implements StructureBlockPosFinder, TestFunc 14 public class TestFinder implements TestInstanceFinder, TestPosFinder {
.. tionFinder {                                                            .. 
14    static final TestFunctionFinder NO_FUNCTIONS = Stream::empty;        15    static final TestInstanceFinder NO_FUNCTIONS = Stream::empty;
15    static final StructureBlockPosFinder NO_STRUCTURES = Stream::empty;  16    static final TestPosFinder NO_STRUCTURES = Stream::empty;
16    private final TestFunctionFinder testFunctionFinder;                 17    private final TestInstanceFinder testInstanceFinder;
17    private final StructureBlockPosFinder structureBlockPosFinder;       18    private final TestPosFinder testPosFinder;
18    private final CommandSourceStack source;                             19    private final CommandSourceStack source;
19    private final Function<TestFinder<T>, T> contextProvider;            .. 
20                                                                         20 
21    @Override                                                            21    @Override
22    public Stream<BlockPos> findStructureBlockPos() {                    22    public Stream<BlockPos> findTestPos() {
23       return this.structureBlockPosFinder.findStructureBlockPos();      23       return this.testPosFinder.findTestPos();
24    }                                                                    24    }
..                                                                         25 
..                                                                         26    public static TestFinder.Builder builder() {
..                                                                         27       return new TestFinder.Builder();
..                                                                         28    }
25                                                                         29 
26    TestFinder(CommandSourceStack $$0, Function<TestFinder<T>, T> $$1, T 30    TestFinder(CommandSourceStack $$0, TestInstanceFinder $$1, TestPosFi
.. estFunctionFinder $$2, StructureBlockPosFinder $$3) {                   .. nder $$2) {
27       this.source = $$0;                                                31       this.source = $$0;
28       this.contextProvider = $$1;                                       32       this.testInstanceFinder = $$1;
29       this.testFunctionFinder = $$2;                                    33       this.testPosFinder = $$2;
30       this.structureBlockPosFinder = $$3;                               .. 
31    }                                                                    34    }
32                                                                         .. 
33    T get() {                                                            .. 
34       return this.contextProvider.apply(this);                          .. 
35    }                                                                    .. 
36                                                                         35 
37    public CommandSourceStack source() {                                 36    public CommandSourceStack source() {
38       return this.source;                                               37       return this.source;
39    }                                                                    38    }
40                                                                         39 
41    @Override                                                            40    @Override
42    public Stream<TestFunction> findTestFunctions() {                    41    public Stream<Holder.Reference<GameTestInstance>> findTests() {
43       return this.testFunctionFinder.findTestFunctions();               42       return this.testInstanceFinder.findTests();
44    }                                                                    43    }
45                                                                         44 
46    public static class Builder<T> {                                     45    public static class Builder {
47       private final Function<TestFinder<T>, T> contextProvider;         .. 
48       private final UnaryOperator<Supplier<Stream<TestFunction>>> testF 46       private final UnaryOperator<Supplier<Stream<Holder.Reference<Game
.. unctionFinderWrapper;                                                   .. TestInstance>>>> testFinderWrapper;
49       private final UnaryOperator<Supplier<Stream<BlockPos>>> structure 47       private final UnaryOperator<Supplier<Stream<BlockPos>>> structure
.. BlockPosFinderWrapper;                                                  .. BlockPosFinderWrapper;
50                                                                         48 
51       public Builder(Function<TestFinder<T>, T> $$0) {                  49       public Builder() {
52          this.contextProvider = $$0;                                    .. 
53          this.testFunctionFinderWrapper = $$0x -> $$0x;                 50          this.testFinderWrapper = $$0 -> $$0;
54          this.structureBlockPosFinderWrapper = $$0x -> $$0x;            51          this.structureBlockPosFinderWrapper = $$0 -> $$0;
55       }                                                                 52       }
56                                                                         53 
57       private Builder(Function<TestFinder<T>, T> $$0, UnaryOperator<Sup 54       private Builder(UnaryOperator<Supplier<Stream<Holder.Reference<Ga
.. plier<Stream<TestFunction>>> $$1, UnaryOperator<Supplier<Stream<BlockPo .. meTestInstance>>>> $$0, UnaryOperator<Supplier<Stream<BlockPos>>> $$1) 
.. s>>> $$2) {                                                             .. {
58          this.contextProvider = $$0;                                    55          this.testFinderWrapper = $$0;
59          this.testFunctionFinderWrapper = $$1;                          .. 
60          this.structureBlockPosFinderWrapper = $$2;                     56          this.structureBlockPosFinderWrapper = $$1;
61       }                                                                 57       }
62                                                                         58 
63       public TestFinder.Builder<T> createMultipleCopies(int $$0) {      59       public TestFinder.Builder createMultipleCopies(int $$0) {
64          return new TestFinder.Builder<>(this.contextProvider, createCo 60          return new TestFinder.Builder(createCopies($$0), createCopies(
.. pies($$0), createCopies($$0));                                          .. $$0));
65       }                                                                 61       }
66                                                                         62 
67       private static <Q> UnaryOperator<Supplier<Stream<Q>>> createCopie 63       private static <Q> UnaryOperator<Supplier<Stream<Q>>> createCopie
   s(int $$0) {                                                               s(int $$0) {

net/minecraft/gametest/framework/TestFinder.java --- 2/2 --- Java
 77          };                                                             73          };
 78       }                                                                 74       }
 79                                                                         75 
 80       private T build(CommandSourceStack $$0, TestFunctionFinder $$1,   76       private TestFinder build(CommandSourceStack $$0, TestInstanceFin
 .. StructureBlockPosFinder $$2) {                                          .. der $$1, TestPosFinder $$2) {
 81          return new TestFinder<>(                                       77          return new TestFinder($$0, this.testFinderWrapper.apply($$1::
 ..                                                                         .. findTests)::get, this.structureBlockPosFinderWrapper.apply($$2::findTe
 ..                                                                         .. stPos)::get);
 82                $$0,                                                     .. 
 83                this.contextProvider,                                    .. 
 84                this.testFunctionFinderWrapper.apply($$1::findTestFunct  .. 
 .. ions)::get,                                                             .. 
 85                this.structureBlockPosFinderWrapper.apply($$2::findStru  .. 
 .. ctureBlockPos)::get                                                     .. 
 86             )                                                           .. 
 87             .get();                                                     .. 
 88       }                                                                 78       }
 89                                                                         79 
 90       public T radius(CommandContext<CommandSourceStack> $$0, int $$1)  80       public TestFinder radius(CommandContext<CommandSourceStack> $$0,
 ..  {                                                                      ..  int $$1) {
 91          CommandSourceStack $$2 = $$0.getSource();                      81          CommandSourceStack $$2 = $$0.getSource();
 92          BlockPos $$3 = BlockPos.containing($$2.getPosition());         82          BlockPos $$3 = BlockPos.containing($$2.getPosition());
 93          return this.build($$2, TestFinder.NO_FUNCTIONS, () -> Structu  83          return this.build($$2, TestFinder.NO_FUNCTIONS, () -> Structu
 .. reUtils.findStructureBlocks($$3, $$1, $$2.getLevel()));                 .. reUtils.findTestBlocks($$3, $$1, $$2.getLevel()));
 94       }                                                                 84       }
 95                                                                         85 
 96       public T nearest(CommandContext<CommandSourceStack> $$0) {        86       public TestFinder nearest(CommandContext<CommandSourceStack> $$0
 ..                                                                         .. ) {
 97          CommandSourceStack $$1 = $$0.getSource();                      87          CommandSourceStack $$1 = $$0.getSource();
 98          BlockPos $$2 = BlockPos.containing($$1.getPosition());         88          BlockPos $$2 = BlockPos.containing($$1.getPosition());
 99          return this.build($$1, TestFinder.NO_FUNCTIONS, () -> Structu  89          return this.build($$1, TestFinder.NO_FUNCTIONS, () -> Structu
 .. reUtils.findNearestStructureBlock($$2, 15, $$1.getLevel()).stream());   .. reUtils.findNearestTest($$2, 15, $$1.getLevel()).stream());
100       }                                                                 90       }
101                                                                         91 
102       public T allNearby(CommandContext<CommandSourceStack> $$0) {      92       public TestFinder allNearby(CommandContext<CommandSourceStack> $
...                                                                         .. $0) {
103          CommandSourceStack $$1 = $$0.getSource();                      93          CommandSourceStack $$1 = $$0.getSource();
104          BlockPos $$2 = BlockPos.containing($$1.getPosition());         94          BlockPos $$2 = BlockPos.containing($$1.getPosition());
105          return this.build($$1, TestFinder.NO_FUNCTIONS, () -> Structu  95          return this.build($$1, TestFinder.NO_FUNCTIONS, () -> Structu
... reUtils.findStructureBlocks($$2, 200, $$1.getLevel()));                 .. reUtils.findTestBlocks($$2, 200, $$1.getLevel()));
106       }                                                                 96       }
107                                                                         97 
108       public T lookedAt(CommandContext<CommandSourceStack> $$0) {       98       public TestFinder lookedAt(CommandContext<CommandSourceStack> $$
...                                                                         .. 0) {
109          CommandSourceStack $$1 = $$0.getSource();                      99          CommandSourceStack $$1 = $$0.getSource();
110          return this.build(                                            100          return this.build(
111             $$1,                                                       101             $$1,
112             TestFinder.NO_FUNCTIONS,                                   102             TestFinder.NO_FUNCTIONS,
113             () -> StructureUtils.lookedAtStructureBlockPos(BlockPos.co 103             () -> StructureUtils.lookedAtTestPos(BlockPos.containing($
... ntaining($$1.getPosition()), $$1.getPlayer().getCamera(), $$1.getLevel ... $1.getPosition()), $$1.getPlayer().getCamera(), $$1.getLevel())
... ())                                                                    ... 
114          );                                                            104          );
115       }                                                                105       }
116                                                                        106 
117       public T allTests(CommandContext<CommandSourceStack> $$0) {      107       public TestFinder failedTests(CommandContext<CommandSourceStack>
...                                                                        ...  $$0, boolean $$1) {
118          return this.build($$0.getSource(), () -> GameTestRegistry.get ... 
... AllTestFunctions().stream().filter($$0x -> !$$0x.manualOnly()), TestFi ... 
... nder.NO_STRUCTURES);                                                   ... 
119       }                                                                ... 
120                                                                        ... 
121       public T allTestsInClass(CommandContext<CommandSourceStack> $$0, ... 
...  String $$1) {                                                         ... 
122          return this.build(                                            ... 
123             $$0.getSource(), () -> GameTestRegistry.getTestFunctionsFo ... 
... rClassName($$1).filter($$0xx -> !$$0xx.manualOnly()), TestFinder.NO_ST ... 
... RUCTURES                                                               ... 
124          );                                                            ... 
125       }                                                                ... 
126                                                                        ... 
127       public T failedTests(CommandContext<CommandSourceStack> $$0, boo ... 
... lean $$1) {                                                            ... 
128          return this.build($$0.getSource(), () -> GameTestRegistry.get 108          return this.build(
... LastFailedTests().filter($$1x -> !$$1 || $$1x.required()), TestFinder. ... 
... NO_STRUCTURES);                                                        ... 
...                                                                        109             $$0.getSource(),
...                                                                        110             () -> FailedTestTracker.getLastFailedTests().filter($$1x -
...                                                                        ... > !$$1 || ((GameTestInstance)$$1x.value()).required()),
...                                                                        111             TestFinder.NO_STRUCTURES
...                                                                        112          );
129       }                                                                113       }
130                                                                        114 
131       public T byArgument(CommandContext<CommandSourceStack> $$0, Stri 115       public TestFinder byResourceSelection(CommandContext<CommandSour
... ng $$1) {                                                              ... ceStack> $$0, Collection<Holder.Reference<GameTestInstance>> $$1) {
132          return this.build($$0.getSource(), () -> Stream.of(TestFuncti 116          return this.build($$0.getSource(), $$1::stream, TestFinder.NO
... onArgument.getTestFunction($$0, $$1)), TestFinder.NO_STRUCTURES);      ... _STRUCTURES);
133       }                                                                117       }
134                                                                        118 
135       public T locateByName(CommandContext<CommandSourceStack> $$0, St 119       public TestFinder failedTests(CommandContext<CommandSourceStack>
... ring $$1) {                                                            ...  $$0) {
136          CommandSourceStack $$2 = $$0.getSource();                     ... 
137          BlockPos $$3 = BlockPos.containing($$2.getPosition());        ... 
138          return this.build($$2, TestFinder.NO_FUNCTIONS, () -> Structu ... 
... reUtils.findStructureByTestFunction($$3, 1024, $$2.getLevel(), $$1));  ... 
139       }                                                                ... 
140                                                                        ... 
141       public T failedTests(CommandContext<CommandSourceStack> $$0) {   ... 
142          return this.failedTests($$0, false);                          120          return this.failedTests($$0, false);
143       }                                                                121       }
144    }                                                                   122    }

net/minecraft/world/entity/animal/horse/Llama.java --- 1/7 --- Java
 1 package net.minecraft.world.entity.animal.horse;                         1 package net.minecraft.world.entity.animal.horse;
 2                                                                          2 
 3 import com.mojang.serialization.Codec;                                   3 import com.mojang.serialization.Codec;
 .                                                                          4 import io.netty.buffer.ByteBuf;
 4 import java.util.function.IntFunction;                                   5 import java.util.function.IntFunction;
 5 import javax.annotation.Nullable;                                        6 import javax.annotation.Nullable;
 6 import net.minecraft.Util;                                               7 import net.minecraft.Util;
 7 import net.minecraft.core.BlockPos;                                      8 import net.minecraft.core.BlockPos;
 .                                                                          9 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         10 import net.minecraft.core.component.DataComponentType;
 .                                                                         11 import net.minecraft.core.component.DataComponents;
 8 import net.minecraft.core.particles.ParticleTypes;                      12 import net.minecraft.core.particles.ParticleTypes;
 9 import net.minecraft.nbt.CompoundTag;                                   13 import net.minecraft.nbt.CompoundTag;
 .                                                                         14 import net.minecraft.network.codec.ByteBufCodecs;
 .                                                                         15 import net.minecraft.network.codec.StreamCodec;
10 import net.minecraft.network.syncher.EntityDataAccessor;                16 import net.minecraft.network.syncher.EntityDataAccessor;
11 import net.minecraft.network.syncher.EntityDataSerializers;             17 import net.minecraft.network.syncher.EntityDataSerializers;
12 import net.minecraft.network.syncher.SynchedEntityData;                 18 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/horse/Llama.java --- 2/7 --- Java
30 import net.minecraft.world.entity.LivingEntity;                         36 import net.minecraft.world.entity.LivingEntity;
31 import net.minecraft.world.entity.Pose;                                 37 import net.minecraft.world.entity.Pose;
32 import net.minecraft.world.entity.SpawnGroupData;                       38 import net.minecraft.world.entity.SpawnGroupData;
33 import net.minecraft.world.entity.VariantHolder;                        .. 
34 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      39 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
35 import net.minecraft.world.entity.ai.goal.BreedGoal;                    40 import net.minecraft.world.entity.ai.goal.BreedGoal;
36 import net.minecraft.world.entity.ai.goal.FloatGoal;                    41 import net.minecraft.world.entity.ai.goal.FloatGoal;

net/minecraft/world/entity/animal/horse/Llama.java --- 3/7 --- Java
59 import net.minecraft.world.level.block.state.BlockState;                64 import net.minecraft.world.level.block.state.BlockState;
60 import net.minecraft.world.phys.Vec3;                                   65 import net.minecraft.world.phys.Vec3;
61                                                                         66 
62 public class Llama extends AbstractChestedHorse implements VariantHolde 67 public class Llama extends AbstractChestedHorse implements RangedAttack
.. r<Llama.Variant>, RangedAttackMob {                                     .. Mob {
63    private static final int MAX_STRENGTH = 5;                           68    private static final int MAX_STRENGTH = 5;
64    private static final EntityDataAccessor<Integer> DATA_STRENGTH_ID =  69    private static final EntityDataAccessor<Integer> DATA_STRENGTH_ID = 
.. SynchedEntityData.defineId(Llama.class, EntityDataSerializers.INT);     .. SynchedEntityData.defineId(Llama.class, EntityDataSerializers.INT);
65    private static final EntityDataAccessor<Integer> DATA_VARIANT_ID = S 70    private static final EntityDataAccessor<Integer> DATA_VARIANT_ID = S
   ynchedEntityData.defineId(Llama.class, EntityDataSerializers.INT);         ynchedEntityData.defineId(Llama.class, EntityDataSerializers.INT);

net/minecraft/world/entity/animal/horse/Llama.java --- 4/7 --- Java
141       return Llama.Variant.byId(this.entityData.get(DATA_VARIANT_ID)); 146       return Llama.Variant.byId(this.entityData.get(DATA_VARIANT_ID));
142    }                                                                   147    }
143                                                                        148 
144    public void setVariant(Llama.Variant $$0) {                         149    private void setVariant(Llama.Variant $$0) {
145       this.entityData.set(DATA_VARIANT_ID, $$0.id);                    150       this.entityData.set(DATA_VARIANT_ID, $$0.id);
146    }                                                                   151    }
...                                                                        152 
...                                                                        153    @Nullable
...                                                                        154    @Override
...                                                                        155    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        156       return $$0 == DataComponents.LLAMA_VARIANT ? castComponentValue(
...                                                                        ... (DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        157    }
...                                                                        158 
...                                                                        159    @Override
...                                                                        160    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        161       this.applyImplicitComponentIfPresent($$0, DataComponents.LLAMA_V
...                                                                        ... ARIANT);
...                                                                        162       super.applyImplicitComponents($$0);
...                                                                        163    }
...                                                                        164 
...                                                                        165    @Override
...                                                                        166    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        167       if ($$0 == DataComponents.LLAMA_VARIANT) {
...                                                                        168          this.setVariant(castComponentValue(DataComponents.LLAMA_VARIA
...                                                                        ... NT, $$1));
...                                                                        169          return true;
...                                                                        170       } else {
...                                                                        171          return super.applyImplicitComponent($$0, $$1);
...                                                                        172       }
...                                                                        173    }
147                                                                        174 
148    @Override                                                           175    @Override
149    public boolean isFood(ItemStack $$0) {                              176    public boolean isFood(ItemStack $$0) {

net/minecraft/world/entity/animal/horse/Llama.java --- 5/7 --- Java
281       return true;                                                     308       return true;
282    }                                                                   309    }
283                                                                        ... 
284    @Override                                                           ... 
285    public boolean isSaddleable() {                                     ... 
286       return false;                                                    ... 
287    }                                                                   ... 
288                                                                        310 
289    @Override                                                           311    @Override
290    public int getMaxTemper() {                                         312    public int getMaxTemper() {

net/minecraft/world/entity/animal/horse/Llama.java --- 6/7 --- Java
351    }                                                                   373    }
352                                                                        374 
353    @Override                                                           375    @Override
354    public boolean causeFallDamage(float $$0, float $$1, DamageSource $ 376    public boolean causeFallDamage(double $$0, float $$1, DamageSource 
... $2) {                                                                  ... $$2) {
355       int $$3 = this.calculateFallDamage($$0, $$1);                    377       int $$3 = this.calculateFallDamage($$0, $$1);
356       if ($$3 <= 0) {                                                  378       if ($$3 <= 0) {
357          return false;                                                 379          return false;
358       } else {                                                         380       } else {
359          if ($$0 >= 6.0F) {                                            381          if ($$0 >= 6.0) {
360             this.hurt($$2, (float)$$3);                                382             this.hurt($$2, (float)$$3);
361             if (this.isVehicle()) {                                    383             if (this.isVehicle()) {
362                for (Entity $$4 : this.getIndirectPassengers()) {       384                for (Entity $$4 : this.getIndirectPassengers()) {

net/minecraft/world/entity/animal/horse/Llama.java --- 7/7 --- Java
477                                                                        499 
478       public static final Codec<Llama.Variant> CODEC = StringRepresent 500       public static final Codec<Llama.Variant> CODEC = StringRepresent
... able.fromEnum(Llama.Variant::values);                                  ... able.fromEnum(Llama.Variant::values);
479       private static final IntFunction<Llama.Variant> BY_ID = ByIdMap. 501       private static final IntFunction<Llama.Variant> BY_ID = ByIdMap.
... continuous(Llama.Variant::getId, values(), ByIdMap.OutOfBoundsStrategy ... continuous(Llama.Variant::getId, values(), ByIdMap.OutOfBoundsStrategy
... .CLAMP);                                                               ... .CLAMP);
...                                                                        502       public static final StreamCodec<ByteBuf, Llama.Variant> STREAM_C
...                                                                        ... ODEC = ByteBufCodecs.idMapper(BY_ID, Llama.Variant::getId);
480       final int id;                                                    503       final int id;
481       private final String name;                                       504       private final String name;
482                                                                        505 

net/minecraft/util/datafix/fixes/EntityEquipmentToArmorAndHandFix.java --- 1/2 --- Java
3 import com.google.common.collect.Lists;                                  3 import com.google.common.collect.Lists;
4 import com.mojang.datafixers.DSL;                                        4 import com.mojang.datafixers.DSL;
5 import com.mojang.datafixers.DataFix;                                    5 import com.mojang.datafixers.DataFix;
6 import com.mojang.datafixers.OpticFinder;                                . 
7 import com.mojang.datafixers.TypeRewriteRule;                            6 import com.mojang.datafixers.TypeRewriteRule;
8 import com.mojang.datafixers.schemas.Schema;                             7 import com.mojang.datafixers.schemas.Schema;
9 import com.mojang.datafixers.types.Type;                                 8 import com.mojang.datafixers.types.Type;

net/minecraft/util/datafix/fixes/EntityEquipmentToArmorAndHandFix.java --- 2/2 --- Java
14 import java.util.Iterator;                                               13 import java.util.Iterator;
15 import java.util.List;                                                   14 import java.util.List;
16 import java.util.Optional;                                               15 import java.util.Optional;
..                                                                          16 import java.util.function.Function;
17 import java.util.stream.Stream;                                          17 import java.util.stream.Stream;
18                                                                          18 
19 public class EntityEquipmentToArmorAndHandFix extends DataFix {          19 public class EntityEquipmentToArmorAndHandFix extends DataFix {
20    public EntityEquipmentToArmorAndHandFix(Schema $$0, boolean $$1) {    20    public EntityEquipmentToArmorAndHandFix(Schema $$0) {
21       super($$0, $$1);                                                   21       super($$0, true);
22    }                                                                     22    }
23                                                                          23 
24    @Override                                                             24    @Override
25    public TypeRewriteRule makeRule() {                                   25    public TypeRewriteRule makeRule() {
26       return this.cap(this.getInputSchema().getTypeRaw(References.ITEM_  26       return this.cap(this.getInputSchema().getTypeRaw(References.ITEM_
.. STACK));                                                                 .. STACK), this.getOutputSchema().getTypeRaw(References.ITEM_STACK));
27    }                                                                     27    }
28                                                                          28 
29    private <IS> TypeRewriteRule cap(Type<IS> $$0) {                      29    private <ItemStackOld, ItemStackNew> TypeRewriteRule cap(Type<ItemSt
..                                                                          .. ackOld> $$0, Type<ItemStackNew> $$1) {
30       Type<Pair<Either<List<IS>, Unit>, Dynamic<?>>> $$1 = DSL.and(DSL.  30       Type<Pair<String, Either<List<ItemStackOld>, Unit>>> $$2 = DSL.na
.. optional(DSL.field("Equipment", DSL.list($$0))), DSL.remainderType());   .. med(
..                                                                          31          References.ENTITY_EQUIPMENT.typeName(), DSL.optional(DSL.field
..                                                                          .. ("Equipment", DSL.list($$0)))
..                                                                          32       );
31       Type<Pair<Either<List<IS>, Unit>, Pair<Either<List<IS>, Unit>, Pa  33       Type<Pair<String, Pair<Either<List<ItemStackNew>, Unit>, Pair<Eit
.. ir<Either<IS, Unit>, Dynamic<?>>>>> $$2 = DSL.and(                       .. her<List<ItemStackNew>, Unit>, Pair<Either<ItemStackNew, Unit>, Either<
..                                                                          .. ItemStackNew, Unit>>>>>> $$3 = DSL.named(
..                                                                          34          References.ENTITY_EQUIPMENT.typeName(),
..                                                                          35          DSL.and(
32          DSL.optional(DSL.field("ArmorItems", DSL.list($$0))),           36             DSL.optional(DSL.field("ArmorItems", DSL.list($$1))),
33          DSL.optional(DSL.field("HandItems", DSL.list($$0))),            37             DSL.optional(DSL.field("HandItems", DSL.list($$1))),
34          DSL.optional(DSL.field("body_armor_item", $$0)),                38             DSL.optional(DSL.field("body_armor_item", $$1)),
35          DSL.remainderType()                                             39             DSL.optional(DSL.field("saddle", $$1))
36       );                                                                 40          )
37       OpticFinder<Pair<Either<List<IS>, Unit>, Dynamic<?>>> $$3 = DSL.t  41       );
.. ypeFinder($$1);                                                          .. 
..                                                                          42       if (!$$2.equals(this.getInputSchema().getType(References.ENTITY_E
..                                                                          .. QUIPMENT))) {
38       OpticFinder<List<IS>> $$4 = DSL.fieldFinder("Equipment", DSL.list  43          throw new IllegalStateException("Input entity_equipment type d
.. ($$0));                                                                  .. oes not match expected");
..                                                                          44       } else if (!$$3.equals(this.getOutputSchema().getType(References.
..                                                                          .. ENTITY_EQUIPMENT))) {
..                                                                          45          throw new IllegalStateException("Output entity_equipment type 
..                                                                          .. does not match expected");
..                                                                          46       } else {
39       return this.fixTypeEverywhereTyped(                                47          return TypeRewriteRule.seq(
40          "EntityEquipmentToArmorAndHandFix",                             .. 
41          this.getInputSchema().getType(References.ENTITY),               48             this.fixTypeEverywhereTyped(
..                                                                          49                "EntityEquipmentToArmorAndHandFix - drop chances",
..                                                                          50                this.getInputSchema().getType(References.ENTITY),
..                                                                          51                $$0x -> $$0x.update(DSL.remainderFinder(), EntityEquipme
..                                                                          .. ntToArmorAndHandFix::fixDropChances)
..                                                                          52             ),
42          this.getOutputSchema().getType(References.ENTITY),              53             this.fixTypeEverywhere(
..                                                                          54                "EntityEquipmentToArmorAndHandFix - equipment",
..                                                                          55                $$2,
..                                                                          56                $$3,
43          $$4x -> {                                                       57                $$1x -> {
..                                                                          58                   ItemStackNew $$2x = (ItemStackNew)((Pair)$$1.read(new
..                                                                          ..  Dynamic($$1x).emptyMap())
..                                                                          59                         .result()
..                                                                          60                         .orElseThrow(() -> new IllegalStateException("C
..                                                                          .. ould not parse newly created empty itemstack.")))
..                                                                          61                      .getFirst();
44             Either<List<IS>, Unit> $$5 = Either.right(DSL.unit());       62                   Either<ItemStackNew, Unit> $$3x = Either.right(DSL.un
..                                                                          .. it());
..                                                                          63                   return $$2xx -> $$2xx.mapSecond($$2xxx -> {
45             Either<List<IS>, Unit> $$6 = Either.right(DSL.unit());       64                         List<ItemStackOld> $$3xx = $$2xxx.map(Function.
..                                                                          .. identity(), $$0xxxx -> List.of());
46             Either<IS, Unit> $$7 = Either.right(DSL.unit());             65                         Either<List<ItemStackNew>, Unit> $$4 = Either.r
..                                                                          .. ight(DSL.unit());
47             Dynamic<?> $$8 = $$4x.getOrCreate(DSL.remainderFinder());    .. 
48             Optional<List<IS>> $$9 = $$4x.getOptional($$4);              66                         Either<List<ItemStackNew>, Unit> $$5 = Either.r
..                                                                          .. ight(DSL.unit());
49             if ($$9.isPresent()) {                                       .. 
50                List<IS> $$10 = $$9.get();                                .. 
51                IS $$11 = $$0.read($$8.emptyMap())                        .. 
52                   .result()                                              .. 
53                   .orElseThrow(() -> new IllegalStateException("Could n  .. 
.. ot parse newly created empty itemstack."))                               .. 
54                   .getFirst();                                           .. 
55                if (!$$10.isEmpty()) {                                    67                         if (!$$3xx.isEmpty()) {
56                   $$5 = Either.left(Lists.newArrayList($$10.get(0), $$1  68                            $$4 = Either.left(Lists.newArrayList((ItemSt
.. 1));                                                                     .. ackNew[])(new Object[]{$$3xx.getFirst(), $$2x})));
57                }                                                         69                         }
58                                                                          70 
59                if ($$10.size() > 1) {                                    71                         if ($$3xx.size() > 1) {
60                   List<IS> $$12 = Lists.newArrayList($$11, $$11, $$11,   72                            List<ItemStackNew> $$6 = Lists.newArrayList(
.. $$11);                                                                   .. $$2x, $$2x, $$2x, $$2x);
61                                                                          73 
62                   for (int $$13 = 1; $$13 < Math.min($$10.size(), 5); $  74                            for (int $$7 = 1; $$7 < Math.min($$3xx.size(
.. $13++) {                                                                 .. ), 5); $$7++) {
63                      $$12.set($$13 - 1, $$10.get($$13));                 75                               $$6.set($$7 - 1, (ItemStackNew)$$3xx.get(
..                                                                          .. $$7));
64                   }                                                      76                            }
65                                                                          77 
66                   $$6 = Either.left($$12);                               78                            $$5 = Either.left($$6);
67                }                                                         79                         }
68             }                                                            .. 
69                                                                          .. 
70             Dynamic<?> $$14 = $$8;                                       .. 
71             Optional<? extends Stream<? extends Dynamic<?>>> $$15 = $$8  .. 
.. .get("DropChances").asStreamOpt().result();                              .. 
72             if ($$15.isPresent()) {                                      .. 
73                Iterator<? extends Dynamic<?>> $$16 = Stream.concat((Str  .. 
.. eam<? extends Dynamic<?>>)$$15.get(), Stream.generate(() -> $$14.create  .. 
.. Int(0)))                                                                 .. 
74                   .iterator();                                           .. 
75                float $$17 = $$16.next().asFloat(0.0F);                   .. 
76                if ($$8.get("HandDropChances").result().isEmpty()) {      .. 
77                   Dynamic<?> $$18 = $$8.createList(Stream.of($$17, 0.0F  .. 
.. ).map($$8::createFloat));                                                .. 
78                   $$8 = $$8.set("HandDropChances", $$18);                .. 
79                }                                                         .. 
80                                                                          .. 
81                if ($$8.get("ArmorDropChances").result().isEmpty()) {     .. 
82                   Dynamic<?> $$19 = $$8.createList(                      .. 
83                      Stream.of($$16.next().asFloat(0.0F), $$16.next().a  .. 
.. sFloat(0.0F), $$16.next().asFloat(0.0F), $$16.next().asFloat(0.0F))      .. 
84                         .map($$8::createFloat)                           .. 
85                   );                                                     .. 
86                   $$8 = $$8.set("ArmorDropChances", $$19);               .. 
87                }                                                         .. 
88                                                                          .. 
89                $$8 = $$8.remove("DropChances");                          .. 
90             }                                                            .. 
91                                                                          80 
92             return $$4x.set($$3, $$2, Pair.of($$5, Pair.of($$6, Pair.of  81                         return Pair.of($$5, Pair.of($$4, Pair.of($$3x, 
.. ($$7, $$8))));                                                           .. $$3x)));
..                                                                          82                      });
93          }                                                               83                }
..                                                                          84             )
94       );                                                                 85          );
..                                                                          86       }
95    }                                                                     87    }
..                                                                          88 
..                                                                          89    private static Dynamic<?> fixDropChances(Dynamic<?> $$0) {
..                                                                          90       Optional<? extends Stream<? extends Dynamic<?>>> $$1 = $$0.get("D
..                                                                          .. ropChances").asStreamOpt().result();
..                                                                          91       $$0 = $$0.remove("DropChances");
..                                                                          92       if ($$1.isPresent()) {
..                                                                          93          Iterator<Float> $$2 = Stream.concat($$1.get().map($$0x -> $$0x
..                                                                          .. .asFloat(0.0F)), Stream.generate(() -> 0.0F)).iterator();
..                                                                          94          float $$3 = $$2.next();
..                                                                          95          if ($$0.get("HandDropChances").result().isEmpty()) {
..                                                                          96             $$0 = $$0.set("HandDropChances", $$0.createList(Stream.of($
..                                                                          .. $3, 0.0F).map($$0::createFloat)));
..                                                                          97          }
..                                                                          98 
..                                                                          99          if ($$0.get("ArmorDropChances").result().isEmpty()) {
..                                                                         100             $$0 = $$0.set("ArmorDropChances", $$0.createList(Stream.of(
..                                                                         ... $$2.next(), $$2.next(), $$2.next(), $$2.next()).map($$0::createFloat)))
..                                                                         ... ;
..                                                                         101          }
..                                                                         102       }
..                                                                         103 
..                                                                         104       return $$0;
..                                                                         105    }
96 }                                                                       106 }

net/minecraft/world/entity/animal/Wolf.java --- 1/5 --- Java
 7 import net.minecraft.core.Holder;                                        7 import net.minecraft.core.Holder;
 8 import net.minecraft.core.Registry;                                      8 import net.minecraft.core.Registry;
 9 import net.minecraft.core.RegistryAccess;                                9 import net.minecraft.core.RegistryAccess;
 .                                                                         10 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         11 import net.minecraft.core.component.DataComponentType;
10 import net.minecraft.core.component.DataComponents;                     12 import net.minecraft.core.component.DataComponents;
11 import net.minecraft.core.particles.ItemParticleOption;                 13 import net.minecraft.core.particles.ItemParticleOption;
12 import net.minecraft.core.particles.ParticleTypes;                      14 import net.minecraft.core.particles.ParticleTypes;

net/minecraft/world/entity/animal/Wolf.java --- 2/5 --- Java
40 import net.minecraft.world.entity.NeutralMob;                           42 import net.minecraft.world.entity.NeutralMob;
41 import net.minecraft.world.entity.SpawnGroupData;                       43 import net.minecraft.world.entity.SpawnGroupData;
42 import net.minecraft.world.entity.TamableAnimal;                        44 import net.minecraft.world.entity.TamableAnimal;
43 import net.minecraft.world.entity.VariantHolder;                        .. 
44 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      45 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
45 import net.minecraft.world.entity.ai.attributes.Attributes;             46 import net.minecraft.world.entity.ai.attributes.Attributes;
46 import net.minecraft.world.entity.ai.goal.AvoidEntityGoal;              47 import net.minecraft.world.entity.ai.goal.AvoidEntityGoal;

net/minecraft/world/entity/animal/Wolf.java --- 3/5 --- Java
85 import net.minecraft.world.level.pathfinder.PathType;                   86 import net.minecraft.world.level.pathfinder.PathType;
86 import net.minecraft.world.phys.Vec3;                                   87 import net.minecraft.world.phys.Vec3;
87                                                                         88 
88 public class Wolf extends TamableAnimal implements NeutralMob, VariantH 89 public class Wolf extends TamableAnimal implements NeutralMob {
.. older<Holder<WolfVariant>> {                                            .. 
89    private static final EntityDataAccessor<Boolean> DATA_INTERESTED_ID  90    private static final EntityDataAccessor<Boolean> DATA_INTERESTED_ID 
.. = SynchedEntityData.defineId(Wolf.class, EntityDataSerializers.BOOLEAN) .. = SynchedEntityData.defineId(Wolf.class, EntityDataSerializers.BOOLEAN)
.. ;                                                                       .. ;
90    private static final EntityDataAccessor<Integer> DATA_COLLAR_COLOR = 91    private static final EntityDataAccessor<Integer> DATA_COLLAR_COLOR =
..  SynchedEntityData.defineId(Wolf.class, EntityDataSerializers.INT);     ..  SynchedEntityData.defineId(Wolf.class, EntityDataSerializers.INT);
91    private static final EntityDataAccessor<Integer> DATA_REMAINING_ANGE 92    private static final EntityDataAccessor<Integer> DATA_REMAINING_ANGE
   R_TIME = SynchedEntityData.defineId(Wolf.class, EntityDataSerializers.I    R_TIME = SynchedEntityData.defineId(Wolf.class, EntityDataSerializers.I
   NT);                                                                       NT);

net/minecraft/world/entity/animal/Wolf.java --- 4/5 --- Java
148       }                                                                149       }
149    }                                                                   150    }
150                                                                        151 
151    public Holder<WolfVariant> getVariant() {                           152    private Holder<WolfVariant> getVariant() {
152       return this.entityData.get(DATA_VARIANT_ID);                     153       return this.entityData.get(DATA_VARIANT_ID);
153    }                                                                   154    }
154                                                                        155 
155    public void setVariant(Holder<WolfVariant> $$0) {                   156    private void setVariant(Holder<WolfVariant> $$0) {
156       this.entityData.set(DATA_VARIANT_ID, $$0);                       157       this.entityData.set(DATA_VARIANT_ID, $$0);
157    }                                                                   158    }
...                                                                        159 
...                                                                        160    @Nullable
...                                                                        161    @Override
...                                                                        162    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        163       if ($$0 == DataComponents.WOLF_VARIANT) {
...                                                                        164          return castComponentValue((DataComponentType<T>)$$0, this.get
...                                                                        ... Variant());
...                                                                        165       } else {
...                                                                        166          return $$0 == DataComponents.WOLF_COLLAR ? castComponentValue
...                                                                        ... ((DataComponentType<T>)$$0, this.getCollarColor()) : super.get($$0);
...                                                                        167       }
...                                                                        168    }
...                                                                        169 
...                                                                        170    @Override
...                                                                        171    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        172       this.applyImplicitComponentIfPresent($$0, DataComponents.WOLF_VA
...                                                                        ... RIANT);
...                                                                        173       this.applyImplicitComponentIfPresent($$0, DataComponents.WOLF_CO
...                                                                        ... LLAR);
...                                                                        174       super.applyImplicitComponents($$0);
...                                                                        175    }
...                                                                        176 
...                                                                        177    @Override
...                                                                        178    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        179       if ($$0 == DataComponents.WOLF_VARIANT) {
...                                                                        180          this.setVariant(castComponentValue(DataComponents.WOLF_VARIAN
...                                                                        ... T, $$1));
...                                                                        181          return true;
...                                                                        182       } else if ($$0 == DataComponents.WOLF_COLLAR) {
...                                                                        183          this.setCollarColor(castComponentValue(DataComponents.WOLF_CO
...                                                                        ... LLAR, $$1));
...                                                                        184          return true;
...                                                                        185       } else {
...                                                                        186          return super.applyImplicitComponent($$0, $$1);
...                                                                        187       }
...                                                                        188    }
158                                                                        189 
159    public static AttributeSupplier.Builder createAttributes() {        190    public static AttributeSupplier.Builder createAttributes() {
160       return Animal.createAnimalAttributes().add(Attributes.MOVEMENT_S 191       return Animal.createAnimalAttributes().add(Attributes.MOVEMENT_S
    PEED, 0.3F).add(Attributes.MAX_HEALTH, 8.0).add(Attributes.ATTACK_DAMA     PEED, 0.3F).add(Attributes.MAX_HEALTH, 8.0).add(Attributes.ATTACK_DAMA
    GE, 4.0);                                                                  GE, 4.0);

net/minecraft/world/entity/animal/Wolf.java --- 5/5 --- Java
345       }                                                                376       }
346    }                                                                   377    }
347                                                                        ... 
348    @Override                                                           ... 
349    public boolean canUseSlot(EquipmentSlot $$0) {                      ... 
350       return true;                                                     ... 
351    }                                                                   ... 
352                                                                        378 
353    @Override                                                           379    @Override
354    protected void actuallyHurt(ServerLevel $$0, DamageSource $$1, floa 380    protected void actuallyHurt(ServerLevel $$0, DamageSource $$1, floa
    t $$2) {                                                                   t $$2) {

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 1/7 --- Java
 3 import com.google.common.collect.ImmutableList;                          3 import com.google.common.collect.ImmutableList;
 4 import com.mojang.serialization.Codec;                                   4 import com.mojang.serialization.Codec;
 5 import com.mojang.serialization.Dynamic;                                 5 import com.mojang.serialization.Dynamic;
 .                                                                          6 import io.netty.buffer.ByteBuf;
 6 import java.util.Arrays;                                                 7 import java.util.Arrays;
 7 import java.util.List;                                                   8 import java.util.List;
 8 import java.util.Optional;                                               9 import java.util.Optional;
 9 import java.util.function.IntFunction;                                  10 import java.util.function.IntFunction;
10 import javax.annotation.Nullable;                                       11 import javax.annotation.Nullable;
11 import net.minecraft.Util;                                              12 import net.minecraft.Util;
12 import net.minecraft.core.BlockPos;                                     13 import net.minecraft.core.BlockPos;
..                                                                         14 import net.minecraft.core.component.DataComponentGetter;
..                                                                         15 import net.minecraft.core.component.DataComponentType;
13 import net.minecraft.core.component.DataComponents;                     16 import net.minecraft.core.component.DataComponents;
14 import net.minecraft.nbt.CompoundTag;                                   17 import net.minecraft.nbt.CompoundTag;
..                                                                         18 import net.minecraft.network.codec.ByteBufCodecs;
..                                                                         19 import net.minecraft.network.codec.StreamCodec;
15 import net.minecraft.network.protocol.game.DebugPackets;                20 import net.minecraft.network.protocol.game.DebugPackets;
16 import net.minecraft.network.syncher.EntityDataAccessor;                21 import net.minecraft.network.syncher.EntityDataAccessor;
17 import net.minecraft.network.syncher.EntityDataSerializers;             22 import net.minecraft.network.syncher.EntityDataSerializers;

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 2/7 --- Java
41 import net.minecraft.world.entity.LivingEntity;                         46 import net.minecraft.world.entity.LivingEntity;
42 import net.minecraft.world.entity.MoverType;                            47 import net.minecraft.world.entity.MoverType;
43 import net.minecraft.world.entity.SpawnGroupData;                       48 import net.minecraft.world.entity.SpawnGroupData;
44 import net.minecraft.world.entity.VariantHolder;                        .. 
45 import net.minecraft.world.entity.ai.Brain;                             49 import net.minecraft.world.entity.ai.Brain;
46 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      50 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
47 import net.minecraft.world.entity.ai.attributes.Attributes;             51 import net.minecraft.world.entity.ai.attributes.Attributes;

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 3/7 --- Java
65 import net.minecraft.world.level.pathfinder.PathType;                   69 import net.minecraft.world.level.pathfinder.PathType;
66 import net.minecraft.world.phys.Vec3;                                   70 import net.minecraft.world.phys.Vec3;
67                                                                         71 
68 public class Axolotl extends Animal implements VariantHolder<Axolotl.Va 72 public class Axolotl extends Animal implements Bucketable {
.. riant>, Bucketable {                                                    .. 
69    public static final int TOTAL_PLAYDEAD_TIME = 200;                   73    public static final int TOTAL_PLAYDEAD_TIME = 200;
70    private static final int POSE_ANIMATION_TICKS = 10;                  74    private static final int POSE_ANIMATION_TICKS = 10;
71    protected static final ImmutableList<? extends SensorType<? extends  75    protected static final ImmutableList<? extends SensorType<? extends 
   Sensor<? super Axolotl>>> SENSOR_TYPES = ImmutableList.of(                 Sensor<? super Axolotl>>> SENSOR_TYPES = ImmutableList.of(

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 4/7 --- Java
231       return Axolotl.Variant.byId(this.entityData.get(DATA_VARIANT));  235       return Axolotl.Variant.byId(this.entityData.get(DATA_VARIANT));
232    }                                                                   236    }
233                                                                        237 
234    public void setVariant(Axolotl.Variant $$0) {                       238    private void setVariant(Axolotl.Variant $$0) {
235       this.entityData.set(DATA_VARIANT, $$0.getId());                  239       this.entityData.set(DATA_VARIANT, $$0.getId());
236    }                                                                   240    }
...                                                                        241 
...                                                                        242    @Nullable
...                                                                        243    @Override
...                                                                        244    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        245       return $$0 == DataComponents.AXOLOTL_VARIANT ? castComponentValu
...                                                                        ... e((DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        246    }
...                                                                        247 
...                                                                        248    @Override
...                                                                        249    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        250       this.applyImplicitComponentIfPresent($$0, DataComponents.AXOLOTL
...                                                                        ... _VARIANT);
...                                                                        251       super.applyImplicitComponents($$0);
...                                                                        252    }
...                                                                        253 
...                                                                        254    @Override
...                                                                        255    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        256       if ($$0 == DataComponents.AXOLOTL_VARIANT) {
...                                                                        257          this.setVariant(castComponentValue(DataComponents.AXOLOTL_VAR
...                                                                        ... IANT, $$1));
...                                                                        258          return true;
...                                                                        259       } else {
...                                                                        260          return super.applyImplicitComponent($$0, $$1);
...                                                                        261       }
...                                                                        262    }
237                                                                        263 
238    private static boolean useRareVariant(RandomSource $$0) {           264    private static boolean useRareVariant(RandomSource $$0) {
239       return $$0.nextInt(1200) == 0;                                   265       return $$0.nextInt(1200) == 0;

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 5/7 --- Java
363    @Override                                                           389    @Override
364    public void saveToBucketTag(ItemStack $$0) {                        390    public void saveToBucketTag(ItemStack $$0) {
365       Bucketable.saveDefaultDataToBucketTag(this, $$0);                391       Bucketable.saveDefaultDataToBucketTag(this, $$0);
...                                                                        392       $$0.copyFrom(DataComponents.AXOLOTL_VARIANT, $$0);
366       CustomData.update(DataComponents.BUCKET_ENTITY_DATA, $$0, $$0x - 393       CustomData.update(DataComponents.BUCKET_ENTITY_DATA, $$0, $$0x -
... > {                                                                    ... > {
367          $$0x.putInt("Variant", this.getVariant().getId());            ... 
368          $$0x.putInt("Age", this.getAge());                            394          $$0x.putInt("Age", this.getAge());
369          Brain<?> $$1 = this.getBrain();                               395          Brain<?> $$1 = this.getBrain();
370          if ($$1.hasMemoryValue(MemoryModuleType.HAS_HUNTING_COOLDOWN) 396          if ($$1.hasMemoryValue(MemoryModuleType.HAS_HUNTING_COOLDOWN)
    ) {                                                                        ) {

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 6/7 --- Java
376    @Override                                                           402    @Override
377    public void loadFromBucketTag(CompoundTag $$0) {                    403    public void loadFromBucketTag(CompoundTag $$0) {
378       Bucketable.loadDefaultDataFromBucketTag(this, $$0);              404       Bucketable.loadDefaultDataFromBucketTag(this, $$0);
379       this.setVariant(Axolotl.Variant.byId($$0.getInt("Variant")));    ... 
380       if ($$0.contains("Age")) {                                       405       if ($$0.contains("Age")) {
381          this.setAge($$0.getInt("Age"));                               406          this.setAge($$0.getInt("Age"));
382       }                                                                407       }

net/minecraft/world/entity/animal/axolotl/Axolotl.java --- 7/7 --- Java
575       BLUE(4, "blue", false);                                          600       BLUE(4, "blue", false);
576                                                                        601 
577       private static final IntFunction<Axolotl.Variant> BY_ID = ByIdMa 602       private static final IntFunction<Axolotl.Variant> BY_ID = ByIdMa
... p.continuous(Axolotl.Variant::getId, values(), ByIdMap.OutOfBoundsStra ... p.continuous(Axolotl.Variant::getId, values(), ByIdMap.OutOfBoundsStra
... tegy.ZERO);                                                            ... tegy.ZERO);
...                                                                        603       public static final StreamCodec<ByteBuf, Axolotl.Variant> STREAM
...                                                                        ... _CODEC = ByteBufCodecs.idMapper(BY_ID, Axolotl.Variant::getId);
578       public static final Codec<Axolotl.Variant> CODEC = StringReprese 604       public static final Codec<Axolotl.Variant> CODEC = StringReprese
... ntable.fromEnum(Axolotl.Variant::values);                              ... ntable.fromEnum(Axolotl.Variant::values);
579       private final int id;                                            605       private final int id;
580       private final String name;                                       606       private final String name;

net/minecraft/world/entity/monster/Shulker.java --- 1/6 --- Java
 7 import net.minecraft.core.BlockPos;                                      7 import net.minecraft.core.BlockPos;
 8 import net.minecraft.core.Direction;                                     8 import net.minecraft.core.Direction;
 9 import net.minecraft.core.Vec3i;                                         9 import net.minecraft.core.Vec3i;
 .                                                                         10 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         11 import net.minecraft.core.component.DataComponentType;
 .                                                                         12 import net.minecraft.core.component.DataComponents;
10 import net.minecraft.nbt.CompoundTag;                                   13 import net.minecraft.nbt.CompoundTag;
11 import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;  14 import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
12 import net.minecraft.network.syncher.EntityDataAccessor;                15 import net.minecraft.network.syncher.EntityDataAccessor;

net/minecraft/world/entity/monster/Shulker.java --- 2/6 --- Java
31 import net.minecraft.world.entity.Mob;                                  34 import net.minecraft.world.entity.Mob;
32 import net.minecraft.world.entity.MoverType;                            35 import net.minecraft.world.entity.MoverType;
33 import net.minecraft.world.entity.SpawnGroupData;                       36 import net.minecraft.world.entity.SpawnGroupData;
34 import net.minecraft.world.entity.VariantHolder;                        .. 
35 import net.minecraft.world.entity.ai.attributes.AttributeModifier;      37 import net.minecraft.world.entity.ai.attributes.AttributeModifier;
36 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      38 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
37 import net.minecraft.world.entity.ai.attributes.Attributes;             39 import net.minecraft.world.entity.ai.attributes.Attributes;

net/minecraft/world/entity/monster/Shulker.java --- 3/6 --- Java
56 import net.minecraft.world.phys.Vec3;                                   58 import net.minecraft.world.phys.Vec3;
57 import org.joml.Vector3f;                                               59 import org.joml.Vector3f;
58                                                                         60 
59 public class Shulker extends AbstractGolem implements VariantHolder<Opt 61 public class Shulker extends AbstractGolem implements Enemy {
.. ional<DyeColor>>, Enemy {                                               .. 
60    private static final ResourceLocation COVERED_ARMOR_MODIFIER_ID = Re 62    private static final ResourceLocation COVERED_ARMOR_MODIFIER_ID = Re
.. sourceLocation.withDefaultNamespace("covered");                         .. sourceLocation.withDefaultNamespace("covered");
61    private static final AttributeModifier COVERED_ARMOR_MODIFIER = new  63    private static final AttributeModifier COVERED_ARMOR_MODIFIER = new 
.. AttributeModifier(COVERED_ARMOR_MODIFIER_ID, 20.0, AttributeModifier.Op .. AttributeModifier(COVERED_ARMOR_MODIFIER_ID, 20.0, AttributeModifier.Op
.. eration.ADD_VALUE);                                                     .. eration.ADD_VALUE);
62    protected static final EntityDataAccessor<Direction> DATA_ATTACH_FAC 64    protected static final EntityDataAccessor<Direction> DATA_ATTACH_FAC
   E_ID = SynchedEntityData.defineId(Shulker.class, EntityDataSerializers.    E_ID = SynchedEntityData.defineId(Shulker.class, EntityDataSerializers.
   DIRECTION);                                                                DIRECTION);

net/minecraft/world/entity/monster/Shulker.java --- 4/6 --- Java
448             Shulker $$4 = EntityType.SHULKER.create(this.level(), Enti 450             Shulker $$4 = EntityType.SHULKER.create(this.level(), Enti
... tySpawnReason.BREEDING);                                               ... tySpawnReason.BREEDING);
449             if ($$4 != null) {                                         451             if ($$4 != null) {
450                $$4.setVariant(this.getVariant());                      452                $$4.setVariant(this.getVariant());
451                $$4.moveTo($$0);                                        453                $$4.snapTo($$0);
452                this.level().addFreshEntity($$4);                       454                this.level().addFreshEntity($$4);
453             }                                                          455             }
454          }                                                             456          }

net/minecraft/world/entity/monster/Shulker.java --- 5/6 --- Java
543       return Math.min($$0, 3.0F);                                      545       return Math.min($$0, 3.0F);
544    }                                                                   546    }
545                                                                        547 
546    public void setVariant(Optional<DyeColor> $$0) {                    548    private void setVariant(Optional<DyeColor> $$0) {
547       this.entityData.set(DATA_COLOR_ID, $$0.<Byte>map($$0x -> (byte)$ 549       this.entityData.set(DATA_COLOR_ID, $$0.<Byte>map($$0x -> (byte)$
... $0x.getId()).orElse((byte)16));                                        ... $0x.getId()).orElse((byte)16));
548    }                                                                   550    }
549                                                                        551 

net/minecraft/world/entity/monster/Shulker.java --- 6/6 --- Java
557       return $$0 != 16 && $$0 <= 15 ? DyeColor.byId($$0) : null;       559       return $$0 != 16 && $$0 <= 15 ? DyeColor.byId($$0) : null;
558    }                                                                   560    }
...                                                                        561 
...                                                                        562    @Nullable
...                                                                        563    @Override
...                                                                        564    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        565       return $$0 == DataComponents.SHULKER_COLOR ? castComponentValue(
...                                                                        ... (DataComponentType<T>)$$0, this.getColor()) : super.get($$0);
...                                                                        566    }
...                                                                        567 
...                                                                        568    @Override
...                                                                        569    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        570       this.applyImplicitComponentIfPresent($$0, DataComponents.SHULKER
...                                                                        ... _COLOR);
...                                                                        571       super.applyImplicitComponents($$0);
...                                                                        572    }
...                                                                        573 
...                                                                        574    @Override
...                                                                        575    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        576       if ($$0 == DataComponents.SHULKER_COLOR) {
...                                                                        577          this.setVariant(Optional.of(castComponentValue(DataComponents
...                                                                        ... .SHULKER_COLOR, $$1)));
...                                                                        578          return true;
...                                                                        579       } else {
...                                                                        580          return super.applyImplicitComponent($$0, $$1);
...                                                                        581       }
...                                                                        582    }
559                                                                        583 
560    class ShulkerAttackGoal extends Goal {                              584    class ShulkerAttackGoal extends Goal {
561       private int attackTime;                                          585       private int attackTime;

net/minecraft/world/entity/animal/TropicalFish.java --- 1/6 --- Java
 1 package net.minecraft.world.entity.animal;                               1 package net.minecraft.world.entity.animal;
 2                                                                          2 
 3 import com.mojang.serialization.Codec;                                   3 import com.mojang.serialization.Codec;
 .                                                                          4 import io.netty.buffer.ByteBuf;
 4 import java.util.List;                                                   5 import java.util.List;
 5 import java.util.function.IntFunction;                                   6 import java.util.function.IntFunction;
 6 import javax.annotation.Nullable;                                        7 import javax.annotation.Nullable;
 7 import net.minecraft.Util;                                               8 import net.minecraft.Util;
 8 import net.minecraft.core.BlockPos;                                      9 import net.minecraft.core.BlockPos;
 .                                                                         10 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         11 import net.minecraft.core.component.DataComponentType;
 9 import net.minecraft.core.component.DataComponents;                     12 import net.minecraft.core.component.DataComponents;
10 import net.minecraft.nbt.CompoundTag;                                   13 import net.minecraft.nbt.CompoundTag;
11 import net.minecraft.network.chat.Component;                            14 import net.minecraft.network.chat.Component;
..                                                                         15 import net.minecraft.network.codec.ByteBufCodecs;
..                                                                         16 import net.minecraft.network.codec.StreamCodec;
12 import net.minecraft.network.syncher.EntityDataAccessor;                17 import net.minecraft.network.syncher.EntityDataAccessor;
13 import net.minecraft.network.syncher.EntityDataSerializers;             18 import net.minecraft.network.syncher.EntityDataSerializers;
14 import net.minecraft.network.syncher.SynchedEntityData;                 19 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/TropicalFish.java --- 2/6 --- Java
24 import net.minecraft.world.entity.EntitySpawnReason;                    29 import net.minecraft.world.entity.EntitySpawnReason;
25 import net.minecraft.world.entity.EntityType;                           30 import net.minecraft.world.entity.EntityType;
26 import net.minecraft.world.entity.SpawnGroupData;                       31 import net.minecraft.world.entity.SpawnGroupData;
27 import net.minecraft.world.entity.VariantHolder;                        .. 
28 import net.minecraft.world.item.DyeColor;                               32 import net.minecraft.world.item.DyeColor;
29 import net.minecraft.world.item.ItemStack;                              33 import net.minecraft.world.item.ItemStack;
30 import net.minecraft.world.item.Items;                                  34 import net.minecraft.world.item.Items;
31 import net.minecraft.world.item.component.CustomData;                   .. 
32 import net.minecraft.world.level.Level;                                 35 import net.minecraft.world.level.Level;
33 import net.minecraft.world.level.LevelAccessor;                         36 import net.minecraft.world.level.LevelAccessor;
34 import net.minecraft.world.level.ServerLevelAccessor;                   37 import net.minecraft.world.level.ServerLevelAccessor;
35 import net.minecraft.world.level.block.Blocks;                          38 import net.minecraft.world.level.block.Blocks;
36                                                                         39 
37 public class TropicalFish extends AbstractSchoolingFish implements Vari 40 public class TropicalFish extends AbstractSchoolingFish {
.. antHolder<TropicalFish.Pattern> {                                       .. 
38    public static final String BUCKET_VARIANT_TAG = "BucketVariantTag";  41    public static final TropicalFish.Variant DEFAULT_VARIANT = new Tropi
..                                                                         .. calFish.Variant(TropicalFish.Pattern.KOB, DyeColor.WHITE, DyeColor.WHIT
..                                                                         .. E);
39    private static final EntityDataAccessor<Integer> DATA_ID_TYPE_VARIAN 42    private static final EntityDataAccessor<Integer> DATA_ID_TYPE_VARIAN
.. T = SynchedEntityData.defineId(TropicalFish.class, EntityDataSerializer .. T = SynchedEntityData.defineId(TropicalFish.class, EntityDataSerializer
.. s.INT);                                                                 .. s.INT);
40    public static final List<TropicalFish.Variant> COMMON_VARIANTS = Lis 43    public static final List<TropicalFish.Variant> COMMON_VARIANTS = Lis
.. t.of(                                                                   .. t.of(
41       new TropicalFish.Variant(TropicalFish.Pattern.STRIPEY, DyeColor.O 44       new TropicalFish.Variant(TropicalFish.Pattern.STRIPEY, DyeColor.O
   RANGE, DyeColor.GRAY),                                                     RANGE, DyeColor.GRAY),

net/minecraft/world/entity/animal/TropicalFish.java --- 3/6 --- Java
90    @Override                                                            93    @Override
91    protected void defineSynchedData(SynchedEntityData.Builder $$0) {    94    protected void defineSynchedData(SynchedEntityData.Builder $$0) {
92       super.defineSynchedData($$0);                                     95       super.defineSynchedData($$0);
93       $$0.define(DATA_ID_TYPE_VARIANT, 0);                              96       $$0.define(DATA_ID_TYPE_VARIANT, DEFAULT_VARIANT.getPackedId());
94    }                                                                    97    }
95                                                                         98 
96    @Override                                                            99    @Override

net/minecraft/world/entity/animal/TropicalFish.java --- 4/6 --- Java
126       return getPatternColor(this.getPackedVariant());                 129       return getPatternColor(this.getPackedVariant());
127    }                                                                   130    }
128                                                                        131 
129    public TropicalFish.Pattern getVariant() {                          132    public TropicalFish.Pattern getPattern() {
130       return getPattern(this.getPackedVariant());                      133       return getPattern(this.getPackedVariant());
131    }                                                                   134    }
132                                                                        135 
133    public void setVariant(TropicalFish.Pattern $$0) {                  136    private void setPattern(TropicalFish.Pattern $$0) {
134       int $$1 = this.getPackedVariant();                               137       int $$1 = this.getPackedVariant();
135       DyeColor $$2 = getBaseColor($$1);                                138       DyeColor $$2 = getBaseColor($$1);
136       DyeColor $$3 = getPatternColor($$1);                             139       DyeColor $$3 = getPatternColor($$1);
137       this.setPackedVariant(packVariant($$0, $$2, $$3));               140       this.setPackedVariant(packVariant($$0, $$2, $$3));
138    }                                                                   141    }
...                                                                        142 
...                                                                        143    private void setBaseColor(DyeColor $$0) {
...                                                                        144       int $$1 = this.getPackedVariant();
...                                                                        145       TropicalFish.Pattern $$2 = getPattern($$1);
...                                                                        146       DyeColor $$3 = getPatternColor($$1);
...                                                                        147       this.setPackedVariant(packVariant($$2, $$0, $$3));
...                                                                        148    }
...                                                                        149 
...                                                                        150    private void setPatternColor(DyeColor $$0) {
...                                                                        151       int $$1 = this.getPackedVariant();
...                                                                        152       TropicalFish.Pattern $$2 = getPattern($$1);
...                                                                        153       DyeColor $$3 = getBaseColor($$1);
...                                                                        154       this.setPackedVariant(packVariant($$2, $$3, $$0));
...                                                                        155    }
...                                                                        156 
...                                                                        157    @Nullable
...                                                                        158    @Override
...                                                                        159    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        160       if ($$0 == DataComponents.TROPICAL_FISH_PATTERN) {
...                                                                        161          return castComponentValue((DataComponentType<T>)$$0, this.get
...                                                                        ... Pattern());
...                                                                        162       } else if ($$0 == DataComponents.TROPICAL_FISH_BASE_COLOR) {
...                                                                        163          return castComponentValue((DataComponentType<T>)$$0, this.get
...                                                                        ... BaseColor());
...                                                                        164       } else {
...                                                                        165          return $$0 == DataComponents.TROPICAL_FISH_PATTERN_COLOR ? ca
...                                                                        ... stComponentValue((DataComponentType<T>)$$0, this.getPatternColor()) : 
...                                                                        ... super.get($$0);
...                                                                        166       }
...                                                                        167    }
...                                                                        168 
...                                                                        169    @Override
...                                                                        170    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        171       this.applyImplicitComponentIfPresent($$0, DataComponents.TROPICA
...                                                                        ... L_FISH_PATTERN);
...                                                                        172       this.applyImplicitComponentIfPresent($$0, DataComponents.TROPICA
...                                                                        ... L_FISH_BASE_COLOR);
...                                                                        173       this.applyImplicitComponentIfPresent($$0, DataComponents.TROPICA
...                                                                        ... L_FISH_PATTERN_COLOR);
...                                                                        174       super.applyImplicitComponents($$0);
...                                                                        175    }
...                                                                        176 
...                                                                        177    @Override
...                                                                        178    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        179       if ($$0 == DataComponents.TROPICAL_FISH_PATTERN) {
...                                                                        180          this.setPattern(castComponentValue(DataComponents.TROPICAL_FI
...                                                                        ... SH_PATTERN, $$1));
...                                                                        181          return true;
...                                                                        182       } else if ($$0 == DataComponents.TROPICAL_FISH_BASE_COLOR) {
...                                                                        183          this.setBaseColor(castComponentValue(DataComponents.TROPICAL_
...                                                                        ... FISH_BASE_COLOR, $$1));
...                                                                        184          return true;
...                                                                        185       } else if ($$0 == DataComponents.TROPICAL_FISH_PATTERN_COLOR) {
...                                                                        186          this.setPatternColor(castComponentValue(DataComponents.TROPIC
...                                                                        ... AL_FISH_PATTERN_COLOR, $$1));
...                                                                        187          return true;
...                                                                        188       } else {
...                                                                        189          return super.applyImplicitComponent($$0, $$1);
...                                                                        190       }
...                                                                        191    }
139                                                                        192 
140    @Override                                                           193    @Override
141    public void saveToBucketTag(ItemStack $$0) {                        194    public void saveToBucketTag(ItemStack $$0) {
142       super.saveToBucketTag($$0);                                      195       super.saveToBucketTag($$0);
143       CustomData.update(DataComponents.BUCKET_ENTITY_DATA, $$0, $$0x - 196       $$0.copyFrom(DataComponents.TROPICAL_FISH_PATTERN, this);
... > $$0x.putInt("BucketVariantTag", this.getPackedVariant()));           ... 
...                                                                        197       $$0.copyFrom(DataComponents.TROPICAL_FISH_BASE_COLOR, this);
...                                                                        198       $$0.copyFrom(DataComponents.TROPICAL_FISH_PATTERN_COLOR, this);
144    }                                                                   199    }
145                                                                        200 
146    @Override                                                           201    @Override

net/minecraft/world/entity/animal/TropicalFish.java --- 5/6 --- Java
168       return SoundEvents.TROPICAL_FISH_FLOP;                           223       return SoundEvents.TROPICAL_FISH_FLOP;
169    }                                                                   224    }
170                                                                        ... 
171    @Override                                                           ... 
172    public void loadFromBucketTag(CompoundTag $$0) {                    ... 
173       super.loadFromBucketTag($$0);                                    ... 
174       if ($$0.contains("BucketVariantTag", 3)) {                       ... 
175          this.setPackedVariant($$0.getInt("BucketVariantTag"));        ... 
176       }                                                                ... 
177    }                                                                   ... 
178                                                                        225 
179    @Nullable                                                           226    @Nullable
180    @Override                                                           227    @Override

net/minecraft/world/entity/animal/TropicalFish.java --- 6/6 --- Java
236                                                                        283 
237       public static final Codec<TropicalFish.Pattern> CODEC = StringRe 284       public static final Codec<TropicalFish.Pattern> CODEC = StringRe
... presentable.fromEnum(TropicalFish.Pattern::values);                    ... presentable.fromEnum(TropicalFish.Pattern::values);
238       private static final IntFunction<TropicalFish.Pattern> BY_ID = B 285       private static final IntFunction<TropicalFish.Pattern> BY_ID = B
... yIdMap.sparse(TropicalFish.Pattern::getPackedId, values(), KOB);       ... yIdMap.sparse(TropicalFish.Pattern::getPackedId, values(), KOB);
...                                                                        286       public static final StreamCodec<ByteBuf, TropicalFish.Pattern> S
...                                                                        ... TREAM_CODEC = ByteBufCodecs.idMapper(BY_ID, TropicalFish.Pattern::getP
...                                                                        ... ackedId);
239       private final String name;                                       287       private final String name;
240       private final Component displayName;                             288       private final Component displayName;
241       private final TropicalFish.Base base;                            289       private final TropicalFish.Base base;

net/minecraft/gametest/framework/GameTestHelper.java --- 1/30 --- Java
 5 import com.mojang.datafixers.util.Either;                                5 import com.mojang.datafixers.util.Either;
 6 import io.netty.channel.embedded.EmbeddedChannel;                        6 import io.netty.channel.embedded.EmbeddedChannel;
 7 import java.util.List;                                                   7 import java.util.List;
 8 import java.util.Locale;                                                 . 
 9 import java.util.Objects;                                                8 import java.util.Objects;
10 import java.util.UUID;                                                   9 import java.util.UUID;
11 import java.util.function.Consumer;                                     10 import java.util.function.Consumer;

net/minecraft/gametest/framework/GameTestHelper.java --- 2/30 --- Java
18 import net.minecraft.core.BlockPos;                                     17 import net.minecraft.core.BlockPos;
19 import net.minecraft.core.Direction;                                    18 import net.minecraft.core.Direction;
20 import net.minecraft.core.Holder;                                       19 import net.minecraft.core.Holder;
21 import net.minecraft.core.registries.BuiltInRegistries;                 .. 
22 import net.minecraft.core.registries.Registries;                        20 import net.minecraft.core.registries.Registries;
23 import net.minecraft.network.Connection;                                21 import net.minecraft.network.Connection;
..                                                                         22 import net.minecraft.network.chat.Component;
24 import net.minecraft.network.protocol.PacketFlow;                       23 import net.minecraft.network.protocol.PacketFlow;
25 import net.minecraft.resources.ResourceKey;                             24 import net.minecraft.resources.ResourceKey;
26 import net.minecraft.resources.ResourceLocation;                        .. 
27 import net.minecraft.server.commands.FillBiomeCommand;                  25 import net.minecraft.server.commands.FillBiomeCommand;
28 import net.minecraft.server.level.ServerLevel;                          26 import net.minecraft.server.level.ServerLevel;
29 import net.minecraft.server.level.ServerPlayer;                         27 import net.minecraft.server.level.ServerPlayer;
30 import net.minecraft.server.network.CommonListenerCookie;               28 import net.minecraft.server.network.CommonListenerCookie;
31 import net.minecraft.tags.BlockTags;                                    29 import net.minecraft.tags.BlockTags;
..                                                                         30 import net.minecraft.tags.TagKey;
32 import net.minecraft.world.InteractionHand;                             31 import net.minecraft.world.InteractionHand;
33 import net.minecraft.world.InteractionResult;                           32 import net.minecraft.world.InteractionResult;
34 import net.minecraft.world.damagesource.DamageSource;                   33 import net.minecraft.world.damagesource.DamageSource;

net/minecraft/gametest/framework/GameTestHelper.java --- 3/30 --- Java
44 import net.minecraft.world.entity.player.Player;                        43 import net.minecraft.world.entity.player.Player;
45 import net.minecraft.world.item.Item;                                   44 import net.minecraft.world.item.Item;
46 import net.minecraft.world.item.ItemStack;                              45 import net.minecraft.world.item.ItemStack;
..                                                                         46 import net.minecraft.world.item.alchemy.PotionContents;
47 import net.minecraft.world.item.context.UseOnContext;                   47 import net.minecraft.world.item.context.UseOnContext;
48 import net.minecraft.world.level.GameType;                              48 import net.minecraft.world.level.GameType;
49 import net.minecraft.world.level.biome.Biome;                           49 import net.minecraft.world.level.biome.Biome;

net/minecraft/gametest/framework/GameTestHelper.java --- 4/30 --- Java
73       this.testInfo = $$0;                                              73       this.testInfo = $$0;
74    }                                                                    74    }
..                                                                         75 
..                                                                         76    public GameTestAssertException assertionException(Component $$0) {
..                                                                         77       return new GameTestAssertException($$0, this.testInfo.getTick());
..                                                                         78    }
..                                                                         79 
..                                                                         80    public GameTestAssertException assertionException(String $$0, Object
..                                                                         .. ... $$1) {
..                                                                         81       return this.assertionException(Component.translatableEscape($$0, 
..                                                                         .. $$1));
..                                                                         82    }
..                                                                         83 
..                                                                         84    public GameTestAssertPosException assertionException(BlockPos $$0, C
..                                                                         .. omponent $$1) {
..                                                                         85       return new GameTestAssertPosException($$1, this.absolutePos($$0),
..                                                                         ..  $$0, this.testInfo.getTick());
..                                                                         86    }
..                                                                         87 
..                                                                         88    public GameTestAssertPosException assertionException(BlockPos $$0, S
..                                                                         .. tring $$1, Object... $$2) {
..                                                                         89       return this.assertionException($$0, Component.translatableEscape(
..                                                                         .. $$1, $$2));
..                                                                         90    }
75                                                                         91 
76    public ServerLevel getLevel() {                                      92    public ServerLevel getLevel() {
77       return this.testInfo.getLevel();                                  93       return this.testInfo.getLevel();

net/minecraft/gametest/framework/GameTestHelper.java --- 5/30 --- Java
 81       return this.getLevel().getBlockState(this.absolutePos($$0));      97       return this.getLevel().getBlockState(this.absolutePos($$0));
 82    }                                                                    98    }
 83                                                                         99 
 84    public <T extends BlockEntity> T getBlockEntity(BlockPos $$0) {     100    public <T extends BlockEntity> T getBlockEntity(BlockPos $$0, Class
 ..                                                                        ... <T> $$1) {
 85       BlockEntity $$1 = this.getLevel().getBlockEntity(this.absolutePo 101       BlockEntity $$2 = this.getLevel().getBlockEntity(this.absolutePo
 .. s($$0));                                                               ... s($$0));
 86       if ($$1 == null) {                                               102       if ($$2 == null) {
 87          throw new GameTestAssertPosException("Missing block entity",  103          throw this.assertionException($$0, "test.error.missing_block_
 .. this.absolutePos($$0), $$0, this.testInfo.getTick());                  ... entity");
 88       } else {                                                         104       } else if ($$1.isInstance($$2)) {
 89          return (T)$$1;                                                105          return $$1.cast($$2);
 90       }                                                                106       } else {
 ..                                                                        107          throw this.assertionException($$0, "test.error.wrong_block_en
 ..                                                                        ... tity", $$2.getType().builtInRegistryHolder().getRegisteredName());
 ..                                                                        108       }
 91    }                                                                   109    }
 92                                                                        110 
 93    public void killAllEntities() {                                     111    public void killAllEntities() {
 94       this.killAllEntitiesOfClass(Entity.class);                       112       this.killAllEntitiesOfClass(Entity.class);
 95    }                                                                   113    }
 96                                                                        114 
 97    public void killAllEntitiesOfClass(Class $$0) {                     115    public void killAllEntitiesOfClass(Class<? extends Entity> $$0) {
 98       AABB $$1 = this.getBounds();                                     116       AABB $$1 = this.getBounds();
 99       List<Entity> $$2 = this.getLevel().getEntitiesOfClass($$0, $$1.i 117       List<? extends Entity> $$2 = this.getLevel().getEntitiesOfClass(
 .. nflate(1.0), $$0x -> !($$0x instanceof Player));                       ... $$0, $$1.inflate(1.0), $$0x -> !($$0x instanceof Player));
100       $$2.forEach($$0x -> $$0x.kill(this.getLevel()));                 118       $$2.forEach($$0x -> $$0x.kill(this.getLevel()));
101    }                                                                   119    }
102                                                                        120 

net/minecraft/gametest/framework/GameTestHelper.java --- 6/30 --- Java
125       ServerLevel $$2 = this.getLevel();                               143       ServerLevel $$2 = this.getLevel();
126       E $$3 = $$0.create($$2, EntitySpawnReason.STRUCTURE);            144       E $$3 = $$0.create($$2, EntitySpawnReason.STRUCTURE);
127       if ($$3 == null) {                                               145       if ($$3 == null) {
128          throw new NullPointerException("Failed to create entity " + $ 146          throw this.assertionException(BlockPos.containing($$1), "test
... $0.builtInRegistryHolder().key().location());                          ... .error.spawn_failure", $$0.builtInRegistryHolder().getRegisteredName()
...                                                                        ... );
129       } else {                                                         147       } else {
130          if ($$3 instanceof Mob $$4) {                                 148          if ($$3 instanceof Mob $$4) {
131             $$4.setPersistenceRequired();                              149             $$4.setPersistenceRequired();
132          }                                                             150          }
133                                                                        151 
134          Vec3 $$5 = this.absoluteVec($$1);                             152          Vec3 $$5 = this.absoluteVec($$1);
135          $$3.moveTo($$5.x, $$5.y, $$5.z, $$3.getYRot(), $$3.getXRot()) 153          $$3.snapTo($$5.x, $$5.y, $$5.z, $$3.getYRot(), $$3.getXRot())
... ;                                                                      ... ;
136          $$2.addFreshEntity($$3);                                      154          $$2.addFreshEntity($$3);
137          return $$3;                                                   155          return $$3;
138       }                                                                156       }

net/minecraft/gametest/framework/GameTestHelper.java --- 7/30 --- Java
153    public <E extends Entity> E findClosestEntity(EntityType<E> $$0, in 171    public <E extends Entity> E findClosestEntity(EntityType<E> $$0, in
... t $$1, int $$2, int $$3, double $$4) {                                 ... t $$1, int $$2, int $$3, double $$4) {
154       List<E> $$5 = this.findEntities($$0, $$1, $$2, $$3, $$4);        172       List<E> $$5 = this.findEntities($$0, $$1, $$2, $$3, $$4);
155       if ($$5.isEmpty()) {                                             173       if ($$5.isEmpty()) {
156          throw new GameTestAssertException("Expected " + $$0.toShortSt 174          throw this.assertionException("test.error.expected_entity_at_
... ring() + " to exist around " + $$1 + "," + $$2 + "," + $$3);           ... pos", $$0.getDescription(), $$1, $$2, $$3);
157       } else if ($$5.size() > 1) {                                     175       } else if ($$5.size() > 1) {
158          throw new GameTestAssertException(                            176          throw this.assertionException("test.error.too_many_entities",
...                                                                        ...  $$0.toShortString(), $$1, $$2, $$3, $$5.size());
159             "Expected only one " + $$0.toShortString() + " to exist ar ... 
... ound " + $$1 + "," + $$2 + "," + $$3 + ", but found " + $$5.size()     ... 
160          );                                                            ... 
161       } else {                                                         177       } else {
162          Vec3 $$6 = this.absoluteVec(new Vec3((double)$$1, (double)$$2 178          Vec3 $$6 = this.absoluteVec(new Vec3((double)$$1, (double)$$2
    , (double)$$3));                                                           , (double)$$3));

net/minecraft/gametest/framework/GameTestHelper.java --- 8/30 --- Java
211                                                                        227 
212    public void moveTo(Mob $$0, float $$1, float $$2, float $$3) {      228    public void moveTo(Mob $$0, float $$1, float $$2, float $$3) {
213       Vec3 $$4 = this.absoluteVec(new Vec3((double)$$1, (double)$$2, ( 229       Vec3 $$4 = this.absoluteVec(new Vec3((double)$$1, (double)$$2, (
... double)$$3));                                                          ... double)$$3));
214       $$0.moveTo($$4.x, $$4.y, $$4.z, $$0.getYRot(), $$0.getXRot());   230       $$0.snapTo($$4.x, $$4.y, $$4.z, $$0.getYRot(), $$0.getXRot());
215    }                                                                   231    }
216                                                                        232 
217    public GameTestSequence walkTo(Mob $$0, BlockPos $$1, float $$2) {  233    public GameTestSequence walkTo(Mob $$0, BlockPos $$1, float $$2) {

net/minecraft/gametest/framework/GameTestHelper.java --- 9/30 --- Java
226    }                                                                   242    }
227                                                                        243 
228    public void pressButton(BlockPos $$0) {                             244    public void pressButton(BlockPos $$0) {
229       this.assertBlockState($$0, $$0x -> $$0x.is(BlockTags.BUTTONS), ( 245       this.assertBlockTag(BlockTags.BUTTONS, $$0);
... ) -> "Expected button");                                               ... 
230       BlockPos $$1 = this.absolutePos($$0);                            246       BlockPos $$1 = this.absolutePos($$0);
231       BlockState $$2 = this.getLevel().getBlockState($$1);             247       BlockState $$2 = this.getLevel().getBlockState($$1);
232       ButtonBlock $$3 = (ButtonBlock)$$2.getBlock();                   248       ButtonBlock $$3 = (ButtonBlock)$$2.getBlock();

net/minecraft/gametest/framework/GameTestHelper.java --- 10/30 --- Java
358                                                                        374 
359    public void assertBlockPresent(Block $$0, BlockPos $$1) {           375    public void assertBlockPresent(Block $$0, BlockPos $$1) {
360       BlockState $$2 = this.getBlockState($$1);                        376       BlockState $$2 = this.getBlockState($$1);
361       this.assertBlock($$1, $$2x -> $$2.is($$0), "Expected " + $$0.get 377       this.assertBlock($$1, $$2x -> $$2.is($$0), $$1x -> Component.tra
... Name().getString() + ", got " + $$2.getBlock().getName().getString()); ... nslatable("test.error.expected_block", $$0.getName(), $$1x.getName()))
...                                                                        ... ;
362    }                                                                   378    }
363                                                                        379 
364    public void assertBlockNotPresent(Block $$0, int $$1, int $$2, int  380    public void assertBlockNotPresent(Block $$0, int $$1, int $$2, int 
... $$3) {                                                                 ... $$3) {
365       this.assertBlockNotPresent($$0, new BlockPos($$1, $$2, $$3));    381       this.assertBlockNotPresent($$0, new BlockPos($$1, $$2, $$3));
366    }                                                                   382    }
367                                                                        383 
368    public void assertBlockNotPresent(Block $$0, BlockPos $$1) {        384    public void assertBlockNotPresent(Block $$0, BlockPos $$1) {
369       this.assertBlock($$1, $$2 -> !this.getBlockState($$1).is($$0), " 385       this.assertBlock($$1, $$2 -> !this.getBlockState($$1).is($$0), $
... Did not expect " + $$0.getName().getString());                         ... $1x -> Component.translatable("test.error.unexpected_block", $$0.getNa
...                                                                        ... me()));
370    }                                                                   386    }
...                                                                        387 
...                                                                        388    public void assertBlockTag(TagKey<Block> $$0, BlockPos $$1) {
...                                                                        389       this.assertBlockState(
...                                                                        390          $$1, $$1x -> $$1x.is($$0), $$1x -> Component.translatable("te
...                                                                        ... st.error.expected_block_tag", $$0.location(), $$1x.getBlock().getName(
...                                                                        ... ))
...                                                                        391       );
...                                                                        392    }
371                                                                        393 
372    public void succeedWhenBlockPresent(Block $$0, int $$1, int $$2, in 394    public void succeedWhenBlockPresent(Block $$0, int $$1, int $$2, in
... t $$3) {                                                               ... t $$3) {
373       this.succeedWhenBlockPresent($$0, new BlockPos($$1, $$2, $$3));  395       this.succeedWhenBlockPresent($$0, new BlockPos($$1, $$2, $$3));

net/minecraft/gametest/framework/GameTestHelper.java --- 11/30 --- Java
377       this.succeedWhen(() -> this.assertBlockPresent($$0, $$1));       399       this.succeedWhen(() -> this.assertBlockPresent($$0, $$1));
378    }                                                                   400    }
379                                                                        ... 
380    public void assertBlock(BlockPos $$0, Predicate<Block> $$1, String  ... 
... $$2) {                                                                 ... 
381       this.assertBlock($$0, $$1, () -> $$2);                           ... 
382    }                                                                   ... 
383                                                                        401 
384    public void assertBlock(BlockPos $$0, Predicate<Block> $$1, Supplie 402    public void assertBlock(BlockPos $$0, Predicate<Block> $$1, Functio
... r<String> $$2) {                                                       ... n<Block, Component> $$2) {
385       this.assertBlockState($$0, $$1x -> $$1.test($$1x.getBlock()), $$ 403       this.assertBlockState($$0, $$1x -> $$1.test($$1x.getBlock()), $$
... 2);                                                                    ... 1x -> $$2.apply($$1x.getBlock()));
386    }                                                                   404    }
387                                                                        405 
388    public <T extends Comparable<T>> void assertBlockProperty(BlockPos  406    public <T extends Comparable<T>> void assertBlockProperty(BlockPos 
... $$0, Property<T> $$1, T $$2) {                                         ... $$0, Property<T> $$1, T $$2) {
389       BlockState $$3 = this.getBlockState($$0);                        407       BlockState $$3 = this.getBlockState($$0);
390       boolean $$4 = $$3.hasProperty($$1);                              408       boolean $$4 = $$3.hasProperty($$1);
391       if (!$$4 || !$$3.<T>getValue($$1).equals($$2)) {                 409       if (!$$4) {
392          String $$5 = $$4 ? "was " + $$3.getValue($$1) : "property " + 410          throw this.assertionException($$0, "test.error.block_property
...  $$1.getName() + " is missing";                                        ... _missing", $$1.getName(), $$2);
...                                                                        411       } else if (!$$3.<T>getValue($$1).equals($$2)) {
393          String $$6 = String.format(Locale.ROOT, "Expected property %s 412          throw this.assertionException($$0, "test.error.block_property
...  to be %s, %s", $$1.getName(), $$2, $$5);                              ... _mismatch", $$1.getName(), $$2, $$3.getValue($$1));
394          throw new GameTestAssertPosException($$6, this.absolutePos($$ ... 
... 0), $$0, this.testInfo.getTick());                                     ... 
395       }                                                                413       }
396    }                                                                   414    }
397                                                                        415 
398    public <T extends Comparable<T>> void assertBlockProperty(BlockPos  416    public <T extends Comparable<T>> void assertBlockProperty(BlockPos 
... $$0, Property<T> $$1, Predicate<T> $$2, String $$3) {                  ... $$0, Property<T> $$1, Predicate<T> $$2, Component $$3) {
399       this.assertBlockState($$0, $$2x -> {                             417       this.assertBlockState($$0, $$2x -> {
400          if (!$$2x.hasProperty($$1)) {                                 418          if (!$$2x.hasProperty($$1)) {
401             return false;                                              419             return false;
402          } else {                                                      420          } else {
403             T $$3x = $$2x.getValue($$1);                               421             T $$3x = $$2x.getValue($$1);
404             return $$2.test($$3x);                                     422             return $$2.test($$3x);
405          }                                                             423          }
406       }, () -> $$3);                                                   424       }, $$1x -> $$3);
407    }                                                                   425    }
...                                                                        426 
...                                                                        427    public void assertBlockState(BlockPos $$0, BlockState $$1) {
...                                                                        428       BlockState $$2 = this.getBlockState($$0);
...                                                                        429       if (!$$2.equals($$1)) {
...                                                                        430          throw this.assertionException($$0, "test.error.state_not_equa
...                                                                        ... l", $$1, $$2);
...                                                                        431       }
...                                                                        432    }
408                                                                        433 
409    public void assertBlockState(BlockPos $$0, Predicate<BlockState> $$ 434    public void assertBlockState(BlockPos $$0, Predicate<BlockState> $$
... 1, Supplier<String> $$2) {                                             ... 1, Function<BlockState, Component> $$2) {
410       BlockState $$3 = this.getBlockState($$0);                        435       BlockState $$3 = this.getBlockState($$0);
411       if (!$$1.test($$3)) {                                            436       if (!$$1.test($$3)) {
412          throw new GameTestAssertPosException($$2.get(), this.absolute 437          throw this.assertionException($$0, $$2.apply($$3));
... Pos($$0), $$0, this.testInfo.getTick());                               ... 
413       }                                                                438       }
414    }                                                                   439    }
415                                                                        440 
416    public <T extends BlockEntity> void assertBlockEntityData(BlockPos  441    public <T extends BlockEntity> void assertBlockEntityData(BlockPos 
... $$0, Predicate<T> $$1, Supplier<String> $$2) {                         ... $$0, Class<T> $$1, Predicate<T> $$2, Supplier<Component> $$3) {
417       T $$3 = this.getBlockEntity($$0);                                442       T $$4 = this.getBlockEntity($$0, $$1);
418       if (!$$1.test($$3)) {                                            443       if (!$$2.test($$4)) {
419          throw new GameTestAssertPosException($$2.get(), this.absolute 444          throw this.assertionException($$0, $$3.get());
... Pos($$0), $$0, this.testInfo.getTick());                               ... 
420       }                                                                445       }
421    }                                                                   446    }
422                                                                        447 
423    public void assertRedstoneSignal(BlockPos $$0, Direction $$1, IntPr 448    public void assertRedstoneSignal(BlockPos $$0, Direction $$1, IntPr
... edicate $$2, Supplier<String> $$3) {                                   ... edicate $$2, Supplier<Component> $$3) {
424       BlockPos $$4 = this.absolutePos($$0);                            449       BlockPos $$4 = this.absolutePos($$0);
425       ServerLevel $$5 = this.getLevel();                               450       ServerLevel $$5 = this.getLevel();
426       BlockState $$6 = $$5.getBlockState($$4);                         451       BlockState $$6 = $$5.getBlockState($$4);
427       int $$7 = $$6.getSignal($$5, $$4, $$1);                          452       int $$7 = $$6.getSignal($$5, $$4, $$1);
428       if (!$$2.test($$7)) {                                            453       if (!$$2.test($$7)) {
429          throw new GameTestAssertPosException($$3.get(), $$4, $$0, thi 454          throw this.assertionException($$0, $$3.get());
... s.testInfo.getTick());                                                 ... 
430       }                                                                455       }
431    }                                                                   456    }
432                                                                        457 
433    public void assertEntityPresent(EntityType<?> $$0) {                458    public void assertEntityPresent(EntityType<?> $$0) {
434       List<? extends Entity> $$1 = this.getLevel().getEntities($$0, th 459       List<? extends Entity> $$1 = this.getLevel().getEntities($$0, th
... is.getBounds(), Entity::isAlive);                                      ... is.getBounds(), Entity::isAlive);
435       if ($$1.isEmpty()) {                                             460       if ($$1.isEmpty()) {
436          throw new GameTestAssertException("Expected " + $$0.toShortSt 461          throw this.assertionException("test.error.expected_entity_in_
... ring() + " to exist");                                                 ... test", $$0.getDescription());
437       }                                                                462       }
438    }                                                                   463    }
439                                                                        464 

net/minecraft/gametest/framework/GameTestHelper.java --- 12/30 --- Java
445       BlockPos $$2 = this.absolutePos($$1);                            470       BlockPos $$2 = this.absolutePos($$1);
446       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, ne 471       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, ne
... w AABB($$2), Entity::isAlive);                                         ... w AABB($$2), Entity::isAlive);
447       if ($$3.isEmpty()) {                                             472       if ($$3.isEmpty()) {
448          throw new GameTestAssertPosException("Expected " + $$0.toShor 473          throw this.assertionException($$1, "test.error.expected_entit
... tString(), $$2, $$1, this.testInfo.getTick());                         ... y", $$0.getDescription());
449       }                                                                474       }
450    }                                                                   475    }
451                                                                        476 
452    public void assertEntityPresent(EntityType<?> $$0, AABB $$1) {      477    public void assertEntityPresent(EntityType<?> $$0, AABB $$1) {
453       AABB $$2 = this.absoluteAABB($$1);                               478       AABB $$2 = this.absoluteAABB($$1);
454       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, $$ 479       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, $$
... 2, Entity::isAlive);                                                   ... 2, Entity::isAlive);
455       if ($$3.isEmpty()) {                                             480       if ($$3.isEmpty()) {
456          throw new GameTestAssertPosException(                         481          throw this.assertionException(BlockPos.containing($$1.getCent
...                                                                        ... er()), "test.error.expected_entity", $$0.getDescription());
457             "Expected " + $$0.toShortString(), BlockPos.containing($$2 ... 
... .getCenter()), BlockPos.containing($$1.getCenter()), this.testInfo.get ... 
... Tick()                                                                 ... 
458          );                                                            ... 
459       }                                                                482       }
460    }                                                                   483    }
461                                                                        484 
462    public void assertEntitiesPresent(EntityType<?> $$0, int $$1) {     485    public void assertEntitiesPresent(EntityType<?> $$0, int $$1) {
463       List<? extends Entity> $$2 = this.getLevel().getEntities($$0, th 486       List<? extends Entity> $$2 = this.getLevel().getEntities($$0, th
... is.getBounds(), Entity::isAlive);                                      ... is.getBounds(), Entity::isAlive);
464       if ($$2.size() != $$1) {                                         487       if ($$2.size() != $$1) {
465          throw new GameTestAssertException("Expected " + $$1 + " of ty 488          throw this.assertionException("test.error.expected_entity_cou
... pe " + $$0.toShortString() + " to exist, found " + $$2.size());        ... nt", $$1, $$0.getDescription(), $$2.size());
466       }                                                                489       }
467    }                                                                   490    }
468                                                                        491 
469    public void assertEntitiesPresent(EntityType<?> $$0, BlockPos $$1,  492    public void assertEntitiesPresent(EntityType<?> $$0, BlockPos $$1, 
... int $$2, double $$3) {                                                 ... int $$2, double $$3) {
470       BlockPos $$4 = this.absolutePos($$1);                            493       BlockPos $$4 = this.absolutePos($$1);
471       List<? extends Entity> $$5 = this.getEntities((EntityType<? exte 494       List<? extends Entity> $$5 = this.getEntities((EntityType<? exte
... nds Entity>)$$0, $$1, $$3);                                            ... nds Entity>)$$0, $$1, $$3);
472       if ($$5.size() != $$2) {                                         495       if ($$5.size() != $$2) {
473          throw new GameTestAssertPosException(                         496          throw this.assertionException($$1, "test.error.expected_entit
...                                                                        ... y_count", $$2, $$0.getDescription(), $$5.size());
474             "Expected " + $$2 + " entities of type " + $$0.toShortStri ... 
... ng() + ", actual number of entities found=" + $$5.size(),              ... 
475             $$4,                                                       ... 
476             $$1,                                                       ... 
477             this.testInfo.getTick()                                    ... 
478          );                                                            ... 
479       }                                                                497       }
480    }                                                                   498    }

net/minecraft/gametest/framework/GameTestHelper.java --- 13/30 --- Java
483       List<? extends Entity> $$3 = this.getEntities((EntityType<? exte 501       List<? extends Entity> $$3 = this.getEntities((EntityType<? exte
... nds Entity>)$$0, $$1, $$2);                                            ... nds Entity>)$$0, $$1, $$2);
484       if ($$3.isEmpty()) {                                             502       if ($$3.isEmpty()) {
485          BlockPos $$4 = this.absolutePos($$1);                         503          BlockPos $$4 = this.absolutePos($$1);
486          throw new GameTestAssertPosException("Expected " + $$0.toShor 504          throw this.assertionException($$1, "test.error.expected_entit
... tString(), $$4, $$1, this.testInfo.getTick());                         ... y", $$0.getDescription());
487       }                                                                505       }
488    }                                                                   506    }
489                                                                        507 

net/minecraft/gametest/framework/GameTestHelper.java --- 14/30 --- Java
506       $$3.stream()                                                     524       $$3.stream()
507          .filter($$1x -> $$1x == $$0)                                  525          .filter($$1x -> $$1x == $$0)
508          .findFirst()                                                  526          .findFirst()
509          .orElseThrow(() -> new GameTestAssertPosException("Expected " 527          .orElseThrow(() -> this.assertionException($$1, "test.error.e
...  + $$0.getType().toShortString(), $$2, $$1, this.testInfo.getTick())); ... xpected_entity", $$0.getType().getDescription()));
510    }                                                                   528    }
511                                                                        529 
512    public void assertItemEntityCountIs(Item $$0, BlockPos $$1, double  530    public void assertItemEntityCountIs(Item $$0, BlockPos $$1, double 
    $$2, int $$3) {                                                            $$2, int $$3) {

net/minecraft/gametest/framework/GameTestHelper.java --- 15/30 --- Java
522       }                                                                540       }
523                                                                        541 
524       if ($$6 != $$3) {                                                542       if ($$6 != $$3) {
525          throw new GameTestAssertPosException(                         543          throw this.assertionException($$1, "test.error.expected_items
...                                                                        ... _count", $$3, $$0.getName(), $$6);
526             "Expected " + $$3 + " " + $$0.getName().getString() + " it ... 
... ems to exist (found " + $$6 + ")", $$4, $$1, this.testInfo.getTick()   ... 
527          );                                                            ... 
528       }                                                                544       }
529    }                                                                   545    }

net/minecraft/gametest/framework/GameTestHelper.java --- 16/30 --- Java
538          }                                                             554          }
539       }                                                                555       }
540                                                                        556 
541       throw new GameTestAssertPosException("Expected " + $$0.getName() 557       throw this.assertionException($$1, "test.error.expected_item", $
... .getString() + " item", $$3, $$1, this.testInfo.getTick());            ... $0.getName());
542    }                                                                   558    }
543                                                                        559 
544    public void assertItemEntityNotPresent(Item $$0, BlockPos $$1, doub 560    public void assertItemEntityNotPresent(Item $$0, BlockPos $$1, doub
    le $$2) {                                                                  le $$2) {

net/minecraft/gametest/framework/GameTestHelper.java --- 17/30 --- Java
547       for (Entity $$5 : this.getLevel().getEntities(EntityType.ITEM, n 563       for (Entity $$5 : this.getLevel().getEntities(EntityType.ITEM, n
... ew AABB($$3).inflate($$2), Entity::isAlive)) {                         ... ew AABB($$3).inflate($$2), Entity::isAlive)) {
548          ItemEntity $$6 = (ItemEntity)$$5;                             564          ItemEntity $$6 = (ItemEntity)$$5;
549          if ($$6.getItem().getItem().equals($$0)) {                    565          if ($$6.getItem().getItem().equals($$0)) {
550             throw new GameTestAssertPosException("Did not expect " + $ 566             throw this.assertionException($$1, "test.error.unexpected_
... $0.getName().getString() + " item", $$3, $$1, this.testInfo.getTick()) ... item", $$0.getName());
... ;                                                                      ... 
551          }                                                             567          }
552       }                                                                568       }
553    }                                                                   569    }

net/minecraft/gametest/framework/GameTestHelper.java --- 18/30 --- Java
560          }                                                             576          }
561       }                                                                577       }
562                                                                        578 
563       throw new GameTestAssertException("Expected " + $$0.getName().ge 579       throw this.assertionException("test.error.expected_item", $$0.ge
... tString() + " item");                                                  ... tName());
564    }                                                                   580    }
565                                                                        581 
566    public void assertItemEntityNotPresent(Item $$0) {                  582    public void assertItemEntityNotPresent(Item $$0) {
567       for (Entity $$2 : this.getLevel().getEntities(EntityType.ITEM, t 583       for (Entity $$2 : this.getLevel().getEntities(EntityType.ITEM, t
... his.getBounds(), Entity::isAlive)) {                                   ... his.getBounds(), Entity::isAlive)) {
568          ItemEntity $$3 = (ItemEntity)$$2;                             584          ItemEntity $$3 = (ItemEntity)$$2;
569          if ($$3.getItem().getItem().equals($$0)) {                    585          if ($$3.getItem().getItem().equals($$0)) {
570             throw new GameTestAssertException("Did not expect " + $$0. 586             throw this.assertionException("test.error.unexpected_item"
... getName().getString() + " item");                                      ... , $$0.getName());
571          }                                                             587          }
572       }                                                                588       }
573    }                                                                   589    }
574                                                                        590 
575    public void assertEntityNotPresent(EntityType<?> $$0) {             591    public void assertEntityNotPresent(EntityType<?> $$0) {
576       List<? extends Entity> $$1 = this.getLevel().getEntities($$0, th 592       List<? extends Entity> $$1 = this.getLevel().getEntities($$0, th
... is.getBounds(), Entity::isAlive);                                      ... is.getBounds(), Entity::isAlive);
577       if (!$$1.isEmpty()) {                                            593       if (!$$1.isEmpty()) {
578          throw new GameTestAssertException("Did not expect " + $$0.toS 594          throw this.assertionException($$1.getFirst().blockPosition(),
... hortString() + " to exist");                                           ...  "test.error.unexpected_entity", $$0.getDescription());
579       }                                                                595       }
580    }                                                                   596    }
581                                                                        597 

net/minecraft/gametest/framework/GameTestHelper.java --- 19/30 --- Java
587       BlockPos $$2 = this.absolutePos($$1);                            603       BlockPos $$2 = this.absolutePos($$1);
588       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, ne 604       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, ne
... w AABB($$2), Entity::isAlive);                                         ... w AABB($$2), Entity::isAlive);
589       if (!$$3.isEmpty()) {                                            605       if (!$$3.isEmpty()) {
590          throw new GameTestAssertPosException("Did not expect " + $$0. 606          throw this.assertionException($$1, "test.error.unexpected_ent
... toShortString(), $$2, $$1, this.testInfo.getTick());                   ... ity", $$0.getDescription());
591       }                                                                607       }
592    }                                                                   608    }
593                                                                        609 
594    public void assertEntityNotPresent(EntityType<?> $$0, AABB $$1) {   610    public void assertEntityNotPresent(EntityType<?> $$0, AABB $$1) {
595       AABB $$2 = this.absoluteAABB($$1);                               611       AABB $$2 = this.absoluteAABB($$1);
596       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, $$ 612       List<? extends Entity> $$3 = this.getLevel().getEntities($$0, $$
... 2, Entity::isAlive);                                                   ... 2, Entity::isAlive);
597       if (!$$3.isEmpty()) {                                            613       if (!$$3.isEmpty()) {
598          throw new GameTestAssertPosException(                         614          throw this.assertionException($$3.getFirst().blockPosition(),
...                                                                        ...  "test.error.unexpected_entity", $$0.getDescription());
599             "Did not expect " + $$0.toShortString(), BlockPos.containi ... 
... ng($$2.getCenter()), BlockPos.containing($$1.getCenter()), this.testIn ... 
... fo.getTick()                                                           ... 
600          );                                                            ... 
601       }                                                                615       }
602    }                                                                   616    }

net/minecraft/gametest/framework/GameTestHelper.java --- 20/30 --- Java
607       Predicate<? super Entity> $$6 = $$1x -> $$1x.getBoundingBox().in 621       Predicate<? super Entity> $$6 = $$1x -> $$1x.getBoundingBox().in
... tersects($$5, $$5);                                                    ... tersects($$5, $$5);
608       List<? extends Entity> $$7 = this.getLevel().getEntities($$0, th 622       List<? extends Entity> $$7 = this.getLevel().getEntities($$0, th
... is.getBounds(), $$6);                                                  ... is.getBounds(), $$6);
609       if ($$7.isEmpty()) {                                             623       if ($$7.isEmpty()) {
610          throw new GameTestAssertException("Expected " + $$0.toShortSt 624          throw this.assertionException("test.error.expected_entity_tou
... ring() + " to touch " + $$5 + " (relative " + $$4 + ")");              ... ching", $$0.getDescription(), $$5.x(), $$5.y(), $$5.z(), $$1, $$2, $$3
...                                                                        ... );
611       }                                                                625       }
612    }                                                                   626    }
613                                                                        627 

net/minecraft/gametest/framework/GameTestHelper.java --- 21/30 --- Java
617       Predicate<? super Entity> $$6 = $$1x -> !$$1x.getBoundingBox().i 631       Predicate<? super Entity> $$6 = $$1x -> !$$1x.getBoundingBox().i
... ntersects($$5, $$5);                                                   ... ntersects($$5, $$5);
618       List<? extends Entity> $$7 = this.getLevel().getEntities($$0, th 632       List<? extends Entity> $$7 = this.getLevel().getEntities($$0, th
... is.getBounds(), $$6);                                                  ... is.getBounds(), $$6);
619       if ($$7.isEmpty()) {                                             633       if ($$7.isEmpty()) {
620          throw new GameTestAssertException("Did not expect " + $$0.toS 634          throw this.assertionException("test.error.expected_entity_not
... hortString() + " to touch " + $$5 + " (relative " + $$4 + ")");        ... _touching", $$0.getDescription(), $$5.x(), $$5.y(), $$5.z(), $$1, $$2,
...                                                                        ...  $$3);
621       }                                                                635       }
622    }                                                                   636    }
623                                                                        637 
624    public <E extends Entity, T> void assertEntityData(BlockPos $$0, En 638    public <E extends Entity, T> void assertEntityData(BlockPos $$0, En
... tityType<E> $$1, Predicate<E> $$2) {                                   ... tityType<E> $$1, Predicate<E> $$2) {
625       BlockPos $$3 = this.absolutePos($$0);                            639       BlockPos $$3 = this.absolutePos($$0);
626       List<E> $$4 = this.getLevel().getEntities($$1, new AABB($$3), En 640       List<E> $$4 = this.getLevel().getEntities($$1, new AABB($$3), En
... tity::isAlive);                                                        ... tity::isAlive);
627       if ($$4.isEmpty()) {                                             641       if ($$4.isEmpty()) {
628          throw new GameTestAssertPosException("Expected " + $$1.toShor 642          throw this.assertionException($$0, "test.error.expected_entit
... tString(), $$3, $$0, this.testInfo.getTick());                         ... y", $$1.getDescription());
629       } else {                                                         643       } else {
630          for (E $$5 : $$4) {                                           644          for (E $$5 : $$4) {
631             if (!$$2.test($$5)) {                                      645             if (!$$2.test($$5)) {
632                throw new GameTestAssertException("Test failed for enti 646                throw this.assertionException($$5.blockPosition(), "tes
... ty " + $$5);                                                           ... t.error.expected_entity_data_predicate", $$5.getName());
633             }                                                          647             }
634          }                                                             648          }
635       }                                                                649       }

net/minecraft/gametest/framework/GameTestHelper.java --- 22/30 --- Java
639       BlockPos $$4 = this.absolutePos($$0);                            653       BlockPos $$4 = this.absolutePos($$0);
640       List<E> $$5 = this.getLevel().getEntities($$1, new AABB($$4), En 654       List<E> $$5 = this.getLevel().getEntities($$1, new AABB($$4), En
... tity::isAlive);                                                        ... tity::isAlive);
641       if ($$5.isEmpty()) {                                             655       if ($$5.isEmpty()) {
642          throw new GameTestAssertPosException("Expected " + $$1.toShor 656          throw this.assertionException($$0, "test.error.expected_entit
... tString(), $$4, $$0, this.testInfo.getTick());                         ... y", $$1.getDescription());
643       } else {                                                         657       } else {
644          for (E $$6 : $$5) {                                           658          for (E $$6 : $$5) {
645             T $$7 = $$2.apply($$6);                                    659             T $$7 = $$2.apply($$6);
646             if (!Objects.equals($$7, $$3)) {                           660             if (!Objects.equals($$7, $$3)) {
647                throw new GameTestAssertException("Expected entity data 661                throw this.assertionException($$0, "test.error.expected
...  to be: " + $$3 + ", but was: " + $$7);                                ... _entity_data", $$3, $$7);
648             }                                                          662             }
649          }                                                             663          }
650       }                                                                664       }

net/minecraft/gametest/framework/GameTestHelper.java --- 23/30 --- Java
654       BlockPos $$3 = this.absolutePos($$0);                            668       BlockPos $$3 = this.absolutePos($$0);
655       List<E> $$4 = this.getLevel().getEntities($$1, new AABB($$3), En 669       List<E> $$4 = this.getLevel().getEntities($$1, new AABB($$3), En
... tity::isAlive);                                                        ... tity::isAlive);
656       if ($$4.isEmpty()) {                                             670       if ($$4.isEmpty()) {
657          throw new GameTestAssertPosException("Expected entity of type 671          throw this.assertionException($$0, "test.error.expected_entit
... : " + $$1, $$3, $$0, this.getTick());                                  ... y", $$1.getDescription());
658       } else {                                                         672       } else {
659          for (E $$5 : $$4) {                                           673          for (E $$5 : $$4) {
660             if ($$5.isHolding($$2)) {                                  674             if ($$5.isHolding($$2)) {
661                return;                                                 675                return;
662             }                                                          676             }
663          }                                                             677          }
664                                                                        678 
665          throw new GameTestAssertPosException("Entity should be holdin 679          throw this.assertionException($$0, "test.error.expected_entit
... g: " + $$2, $$3, $$0, this.getTick());                                 ... y_holding", $$2.getName());
666       }                                                                680       }
667    }                                                                   681    }
668                                                                        682 
669    public <E extends Entity & InventoryCarrier> void assertEntityInven 683    public <E extends Entity & InventoryCarrier> void assertEntityInven
... toryContains(BlockPos $$0, EntityType<E> $$1, Item $$2) {              ... toryContains(BlockPos $$0, EntityType<E> $$1, Item $$2) {
670       BlockPos $$3 = this.absolutePos($$0);                            684       BlockPos $$3 = this.absolutePos($$0);
671       List<E> $$4 = this.getLevel().getEntities($$1, new AABB($$3), $$ 685       List<E> $$4 = this.getLevel().getEntities($$1, new AABB($$3), $$
... 0x -> ((Entity)$$0x).isAlive());                                       ... 0x -> ((Entity)$$0x).isAlive());
672       if ($$4.isEmpty()) {                                             686       if ($$4.isEmpty()) {
673          throw new GameTestAssertPosException("Expected " + $$1.toShor 687          throw this.assertionException($$0, "test.error.expected_entit
... tString() + " to exist", $$3, $$0, this.getTick());                    ... y", $$1.getDescription());
674       } else {                                                         688       } else {
675          for (E $$5 : $$4) {                                           689          for (E $$5 : $$4) {
676             if ($$5.getInventory().hasAnyMatching($$1x -> $$1x.is($$2) 690             if ($$5.getInventory().hasAnyMatching($$1x -> $$1x.is($$2)
... )) {                                                                   ... )) {
677                return;                                                 691                return;
678             }                                                          692             }
679          }                                                             693          }
680                                                                        694 
681          throw new GameTestAssertPosException("Entity inventory should 695          throw this.assertionException($$0, "test.error.expected_entit
...  contain: " + $$2, $$3, $$0, this.getTick());                          ... y_having", $$2.getName());
682       }                                                                696       }
683    }                                                                   697    }
684                                                                        698 
685    public void assertContainerEmpty(BlockPos $$0) {                    699    public void assertContainerEmpty(BlockPos $$0) {
686       BlockPos $$1 = this.absolutePos($$0);                            700       BaseContainerBlockEntity $$1 = this.getBlockEntity($$0, BaseCont
...                                                                        ... ainerBlockEntity.class);
687       BlockEntity $$2 = this.getLevel().getBlockEntity($$1);           ... 
688       if ($$2 instanceof BaseContainerBlockEntity && !((BaseContainerB 701       if (!$$1.isEmpty()) {
... lockEntity)$$2).isEmpty()) {                                           ... 
689          throw new GameTestAssertException("Container should be empty" 702          throw this.assertionException($$0, "test.error.expected_empty
... );                                                                     ... _container");
690       }                                                                703       }
691    }                                                                   704    }
692                                                                        705 
693    public void assertContainerContains(BlockPos $$0, Item $$1) {       706    public void assertContainerContainsSingle(BlockPos $$0, Item $$1) {
694       BlockPos $$2 = this.absolutePos($$0);                            707       BaseContainerBlockEntity $$2 = this.getBlockEntity($$0, BaseCont
...                                                                        ... ainerBlockEntity.class);
695       BlockEntity $$3 = this.getLevel().getBlockEntity($$2);           ... 
696       if (!($$3 instanceof BaseContainerBlockEntity)) {                708       if ($$2.countItem($$1) != 1) {
697          ResourceLocation $$4 = $$3 != null ? BuiltInRegistries.BLOCK_ ... 
... ENTITY_TYPE.getKey($$3.getType()) : null;                              ... 
698          throw new GameTestAssertException("Expected a container at "  ... 
... + $$0 + ", found " + $$4);                                             ... 
699       } else if (((BaseContainerBlockEntity)$$3).countItem($$1) != 1)  ... 
... {                                                                      ... 
700          throw new GameTestAssertException("Container should contain:  709          throw this.assertionException($$0, "test.error.expected_conta
... " + $$1);                                                              ... iner_contents_single", $$1.getName());
701       }                                                                710       }
702    }                                                                   711    }
...                                                                        712 
...                                                                        713    public void assertContainerContains(BlockPos $$0, Item $$1) {
...                                                                        714       BaseContainerBlockEntity $$2 = this.getBlockEntity($$0, BaseCont
...                                                                        ... ainerBlockEntity.class);
...                                                                        715       if ($$2.countItem($$1) == 0) {
...                                                                        716          throw this.assertionException($$0, "test.error.expected_conta
...                                                                        ... iner_contents", $$1.getName());
...                                                                        717       }
...                                                                        718    }
703                                                                        719 
704    public void assertSameBlockStates(BoundingBox $$0, BlockPos $$1) {  720    public void assertSameBlockStates(BoundingBox $$0, BlockPos $$1) {
705       BlockPos.betweenClosedStream($$0).forEach($$2 -> {               721       BlockPos.betweenClosedStream($$0).forEach($$2 -> {

net/minecraft/gametest/framework/GameTestHelper.java --- 24/30 --- Java
712       BlockState $$2 = this.getBlockState($$0);                        728       BlockState $$2 = this.getBlockState($$0);
713       BlockState $$3 = this.getBlockState($$1);                        729       BlockState $$3 = this.getBlockState($$1);
714       if ($$2 != $$3) {                                                730       if ($$2 != $$3) {
715          this.fail("Incorrect state. Expected " + $$3 + ", got " + $$2 731          throw this.assertionException($$0, "test.error.state_not_equa
... , $$0);                                                                ... l", $$3, $$2);
716       }                                                                732       }
717    }                                                                   733    }
718                                                                        734 
719    public void assertAtTickTimeContainerContains(long $$0, BlockPos $$ 735    public void assertAtTickTimeContainerContains(long $$0, BlockPos $$
... 1, Item $$2) {                                                         ... 1, Item $$2) {
720       this.runAtTickTime($$0, () -> this.assertContainerContains($$1,  736       this.runAtTickTime($$0, () -> this.assertContainerContainsSingle
... $$2));                                                                 ... ($$1, $$2));
721    }                                                                   737    }
722                                                                        738 
723    public void assertAtTickTimeContainerEmpty(long $$0, BlockPos $$1)  739    public void assertAtTickTimeContainerEmpty(long $$0, BlockPos $$1) 
    {                                                                          {

net/minecraft/gametest/framework/GameTestHelper.java --- 25/30 --- Java
728       this.succeedWhen(() -> this.assertEntityData($$0, $$1, $$2, $$3) 744       this.succeedWhen(() -> this.assertEntityData($$0, $$1, $$2, $$3)
... );                                                                     ... );
729    }                                                                   745    }
730                                                                        746 
731    public void assertEntityPosition(Entity $$0, AABB $$1, String $$2)  747    public void assertEntityPosition(Entity $$0, AABB $$1, Component $$
... {                                                                      ... 2) {
732       if (!$$1.contains(this.relativeVec($$0.position()))) {           748       if (!$$1.contains(this.relativeVec($$0.position()))) {
733          this.fail($$2);                                               749          throw this.assertionException($$2);
734       }                                                                750       }
735    }                                                                   751    }
736                                                                        752 
737    public <E extends Entity> void assertEntityProperty(E $$0, Predicat 753    public <E extends Entity> void assertEntityProperty(E $$0, Predicat
... e<E> $$1, String $$2) {                                                ... e<E> $$1, Component $$2) {
738       if (!$$1.test($$0)) {                                            754       if (!$$1.test($$0)) {
739          throw new GameTestAssertException("Entity " + $$0 + " failed  755          throw this.assertionException($$0.blockPosition(), "test.erro
... " + $$2 + " test");                                                    ... r.entity_property", $$0.getName(), $$2);
740       }                                                                756       }
741    }                                                                   757    }
742                                                                        758 
743    public <E extends Entity, T> void assertEntityProperty(E $$0, Funct 759    public <E extends Entity, T> void assertEntityProperty(E $$0, Funct
... ion<E, T> $$1, String $$2, T $$3) {                                    ... ion<E, T> $$1, T $$2, Component $$3) {
744       T $$4 = $$1.apply($$0);                                          760       T $$4 = $$1.apply($$0);
745       if (!$$4.equals($$3)) {                                          761       if (!$$4.equals($$2)) {
746          throw new GameTestAssertException("Entity " + $$0 + " value " 762          throw this.assertionException($$0.blockPosition(), "test.erro
...  + $$2 + "=" + $$4 + " is not equal to expected " + $$3);              ... r.entity_property_details", $$0.getName(), $$3, $$4, $$2);
747       }                                                                763       }
748    }                                                                   764    }
749                                                                        765 
750    public void assertLivingEntityHasMobEffect(LivingEntity $$0, Holder 766    public void assertLivingEntityHasMobEffect(LivingEntity $$0, Holder
... <MobEffect> $$1, int $$2) {                                            ... <MobEffect> $$1, int $$2) {
751       MobEffectInstance $$3 = $$0.getEffect($$1);                      767       MobEffectInstance $$3 = $$0.getEffect($$1);
752       if ($$3 == null || $$3.getAmplifier() != $$2) {                  768       if ($$3 == null || $$3.getAmplifier() != $$2) {
753          int $$4 = $$2 + 1;                                            ... 
754          throw new GameTestAssertException("Entity " + $$0 + " failed  769          throw this.assertionException("test.error.expected_entity_eff
... has " + $$1.value().getDescriptionId() + " x " + $$4 + " test");       ... ect", $$0.getName(), PotionContents.getPotionDescription($$1, $$2));
755       }                                                                770       }
756    }                                                                   771    }
757                                                                        772 

net/minecraft/gametest/framework/GameTestHelper.java --- 26/30 --- Java
803    }                                                                   818    }
804                                                                        819 
805    public void runAfterDelay(long $$0, Runnable $$1) {                 820    public void runAfterDelay(long $$0, Runnable $$1) {
806       this.runAtTickTime(this.testInfo.getTick() + $$0, $$1);          821       this.runAtTickTime((long)this.testInfo.getTick() + $$0, $$1);
807    }                                                                   822    }
808                                                                        823 
809    public void randomTick(BlockPos $$0) {                              824    public void randomTick(BlockPos $$0) {

net/minecraft/gametest/framework/GameTestHelper.java --- 27/30 --- Java
842       return this.relativePos(this.getLevel().getHeightmapPos($$0, $$3 857       return this.relativePos(this.getLevel().getHeightmapPos($$0, $$3
... )).getY();                                                             ... )).getY();
843    }                                                                   858    }
844                                                                        859 
845    public void fail(String $$0, BlockPos $$1) {                        860    public void fail(Component $$0, BlockPos $$1) {
846       throw new GameTestAssertPosException($$0, this.absolutePos($$1), 861       throw this.assertionException($$1, $$0);
...  $$1, this.getTick());                                                 ... 
847    }                                                                   862    }
848                                                                        863 
849    public void fail(String $$0, Entity $$1) {                          864    public void fail(Component $$0, Entity $$1) {
850       throw new GameTestAssertPosException($$0, $$1.blockPosition(), t 865       throw this.assertionException($$1.blockPosition(), $$0);
... his.relativePos($$1.blockPosition()), this.getTick());                 ... 
851    }                                                                   866    }
852                                                                        867 
853    public void fail(String $$0) {                                      868    public void fail(Component $$0) {
854       throw new GameTestAssertException($$0);                          869       throw this.assertionException($$0);
855    }                                                                   870    }
856                                                                        871 
857    public void failIf(Runnable $$0) {                                  872    public void failIf(Runnable $$0) {
858       this.testInfo.createSequence().thenWaitUntil($$0).thenFail(() -> 873       this.testInfo.createSequence().thenWaitUntil($$0).thenFail(() ->
...  new GameTestAssertException("Fail conditions met"));                  ...  this.assertionException("test.error.fail"));
859    }                                                                   874    }
860                                                                        875 
861    public void failIfEver(Runnable $$0) {                              876    public void failIfEver(Runnable $$0) {
862       LongStream.range(this.testInfo.getTick(), (long)this.testInfo.ge 877       LongStream.range((long)this.testInfo.getTick(), (long)this.testI
... tTimeoutTicks()).forEach($$1 -> this.testInfo.setRunAtTickTime($$1, $$ ... nfo.getTimeoutTicks()).forEach($$1 -> this.testInfo.setRunAtTickTime($
... 0::run));                                                              ... $1, $$0::run));
863    }                                                                   878    }
864                                                                        879 
865    public GameTestSequence startSequence() {                           880    public GameTestSequence startSequence() {

net/minecraft/gametest/framework/GameTestHelper.java --- 28/30 --- Java
905       return this.testInfo.getRotation();                              920       return this.testInfo.getRotation();
906    }                                                                   921    }
907                                                                        922 
908    public void assertTrue(boolean $$0, String $$1) {                   923    public void assertTrue(boolean $$0, Component $$1) {
909       if (!$$0) {                                                      924       if (!$$0) {
910          throw new GameTestAssertException($$1);                       925          throw this.assertionException($$1);
911       }                                                                926       }
912    }                                                                   927    }
913                                                                        928 
914    public <N> void assertValueEqual(N $$0, N $$1, String $$2) {        929    public <N> void assertValueEqual(N $$0, N $$1, Component $$2) {
915       if (!$$0.equals($$1)) {                                          930       if (!$$0.equals($$1)) {
916          throw new GameTestAssertException("Expected " + $$2 + " to be 931          throw this.assertionException("test.error.value_not_equal", $
...  " + $$1 + ", but was " + $$0);                                        ... $2, $$0, $$1);
917       }                                                                932       }
918    }                                                                   933    }
919                                                                        934 
920    public void assertFalse(boolean $$0, String $$1) {                  935    public void assertFalse(boolean $$0, Component $$1) {
921       if ($$0) {                                                       ... 
922          throw new GameTestAssertException($$1);                       936       this.assertTrue(!$$0, $$1);
923       }                                                                ... 
924    }                                                                   937    }
925                                                                        938 
926    public long getTick() {                                             939    public long getTick() {
927       return this.testInfo.getTick();                                  940       return (long)this.testInfo.getTick();
928    }                                                                   941    }
929                                                                        942 
930    public AABB getBounds() {                                           943    public AABB getBounds() {

net/minecraft/gametest/framework/GameTestHelper.java --- 29/30 --- Java
949    }                                                                   962    }
950                                                                        963 
951    public void onEachTick(Runnable $$0) {                              964    public void onEachTick(Runnable $$0) {
952       LongStream.range(this.testInfo.getTick(), (long)this.testInfo.ge 965       LongStream.range((long)this.testInfo.getTick(), (long)this.testI
... tTimeoutTicks()).forEach($$1 -> this.testInfo.setRunAtTickTime($$1, $$ ... nfo.getTimeoutTicks()).forEach($$1 -> this.testInfo.setRunAtTickTime($
... 0::run));                                                              ... $1, $$0::run));
953    }                                                                   966    }
954                                                                        967 
955    public void placeAt(Player $$0, ItemStack $$1, BlockPos $$2, Direct 968    public void placeAt(Player $$0, ItemStack $$1, BlockPos $$2, Direct
    ion $$3) {                                                                 ion $$3) {

net/minecraft/gametest/framework/GameTestHelper.java --- 30/30 --- Java
967          this.getLevel(), $$2, $$3, this.getLevel().registryAccess().l 980          this.getLevel(), $$2, $$3, this.getLevel().registryAccess().l
... ookupOrThrow(Registries.BIOME).getOrThrow($$0)                         ... ookupOrThrow(Registries.BIOME).getOrThrow($$0)
968       );                                                               981       );
969       if ($$4.right().isPresent()) {                                   982       if ($$4.right().isPresent()) {
970          this.fail("Failed to set biome for test");                    983          throw this.assertionException("test.error.set_biome");
971       }                                                                984       }
972    }                                                                   985    }
973 }                                                                      986 }

net/minecraft/world/entity/animal/Pig.java --- 1/8 --- Java
 6 import net.minecraft.core.Direction;                                     6 import net.minecraft.core.Direction;
 7 import net.minecraft.core.Holder;                                        7 import net.minecraft.core.Holder;
 8 import net.minecraft.core.Registry;                                      8 import net.minecraft.core.Registry;
 .                                                                          9 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         10 import net.minecraft.core.component.DataComponentType;
 .                                                                         11 import net.minecraft.core.component.DataComponents;
 9 import net.minecraft.core.registries.Registries;                        12 import net.minecraft.core.registries.Registries;
10 import net.minecraft.nbt.CompoundTag;                                   13 import net.minecraft.nbt.CompoundTag;
11 import net.minecraft.network.syncher.EntityDataAccessor;                14 import net.minecraft.network.syncher.EntityDataAccessor;

net/minecraft/world/entity/animal/Pig.java --- 2/8 --- Java
16 import net.minecraft.server.level.ServerLevel;                          19 import net.minecraft.server.level.ServerLevel;
17 import net.minecraft.sounds.SoundEvent;                                 20 import net.minecraft.sounds.SoundEvent;
18 import net.minecraft.sounds.SoundEvents;                                21 import net.minecraft.sounds.SoundEvents;
19 import net.minecraft.sounds.SoundSource;                                .. 
20 import net.minecraft.tags.ItemTags;                                     22 import net.minecraft.tags.ItemTags;
21 import net.minecraft.world.Difficulty;                                  23 import net.minecraft.world.Difficulty;
22 import net.minecraft.world.DifficultyInstance;                          24 import net.minecraft.world.DifficultyInstance;

net/minecraft/world/entity/animal/Pig.java --- 3/8 --- Java
33 import net.minecraft.world.entity.LightningBolt;                        35 import net.minecraft.world.entity.LightningBolt;
34 import net.minecraft.world.entity.LivingEntity;                         36 import net.minecraft.world.entity.LivingEntity;
35 import net.minecraft.world.entity.Pose;                                 37 import net.minecraft.world.entity.Pose;
36 import net.minecraft.world.entity.Saddleable;                           .. 
37 import net.minecraft.world.entity.SpawnGroupData;                       38 import net.minecraft.world.entity.SpawnGroupData;
38 import net.minecraft.world.entity.VariantHolder;                        .. 
39 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      39 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
40 import net.minecraft.world.entity.ai.attributes.Attributes;             40 import net.minecraft.world.entity.ai.attributes.Attributes;
41 import net.minecraft.world.entity.ai.goal.BreedGoal;                    41 import net.minecraft.world.entity.ai.goal.BreedGoal;

net/minecraft/world/entity/animal/Pig.java --- 4/8 --- Java
51 import net.minecraft.world.entity.vehicle.DismountHelper;               51 import net.minecraft.world.entity.vehicle.DismountHelper;
52 import net.minecraft.world.item.ItemStack;                              52 import net.minecraft.world.item.ItemStack;
53 import net.minecraft.world.item.Items;                                  53 import net.minecraft.world.item.Items;
..                                                                         54 import net.minecraft.world.item.equipment.Equippable;
54 import net.minecraft.world.level.Level;                                 55 import net.minecraft.world.level.Level;
55 import net.minecraft.world.level.ServerLevelAccessor;                   56 import net.minecraft.world.level.ServerLevelAccessor;
56 import net.minecraft.world.level.biome.Biome;                           57 import net.minecraft.world.level.biome.Biome;
57 import net.minecraft.world.level.block.state.BlockState;                58 import net.minecraft.world.level.block.state.BlockState;
58 import net.minecraft.world.phys.AABB;                                   59 import net.minecraft.world.phys.AABB;
59 import net.minecraft.world.phys.Vec3;                                   60 import net.minecraft.world.phys.Vec3;
60                                                                         61 
61 public class Pig extends Animal implements ItemSteerable, Saddleable, V 62 public class Pig extends Animal implements ItemSteerable {
.. ariantHolder<Holder<PigVariant>> {                                      .. 
62    private static final EntityDataAccessor<Boolean> DATA_SADDLE_ID = Sy .. 
.. nchedEntityData.defineId(Pig.class, EntityDataSerializers.BOOLEAN);     .. 
63    private static final EntityDataAccessor<Integer> DATA_BOOST_TIME = S 63    private static final EntityDataAccessor<Integer> DATA_BOOST_TIME = S
.. ynchedEntityData.defineId(Pig.class, EntityDataSerializers.INT);        .. ynchedEntityData.defineId(Pig.class, EntityDataSerializers.INT);
64    private static final EntityDataAccessor<Holder<PigVariant>> DATA_VAR 64    private static final EntityDataAccessor<Holder<PigVariant>> DATA_VAR
.. IANT_ID = SynchedEntityData.defineId(Pig.class, EntityDataSerializers.P .. IANT_ID = SynchedEntityData.defineId(Pig.class, EntityDataSerializers.P
.. IG_VARIANT);                                                            .. IG_VARIANT);
65    private final ItemBasedSteering steering = new ItemBasedSteering(thi 65    private final ItemBasedSteering steering = new ItemBasedSteering(thi
.. s.entityData, DATA_BOOST_TIME, DATA_SADDLE_ID);                         .. s.entityData, DATA_BOOST_TIME);
66                                                                         66 
67    public Pig(EntityType<? extends Pig> $$0, Level $$1) {               67    public Pig(EntityType<? extends Pig> $$0, Level $$1) {
68       super($$0, $$1);                                                  68       super($$0, $$1);

net/minecraft/world/entity/animal/Pig.java --- 5/8 --- Java
105    @Override                                                           105    @Override
106    protected void defineSynchedData(SynchedEntityData.Builder $$0) {   106    protected void defineSynchedData(SynchedEntityData.Builder $$0) {
107       super.defineSynchedData($$0);                                    107       super.defineSynchedData($$0);
108       $$0.define(DATA_SADDLE_ID, false);                               ... 
109       $$0.define(DATA_BOOST_TIME, 0);                                  108       $$0.define(DATA_BOOST_TIME, 0);
110       Registry<PigVariant> $$1 = this.registryAccess().lookupOrThrow(R 109       Registry<PigVariant> $$1 = this.registryAccess().lookupOrThrow(R
... egistries.PIG_VARIANT);                                                ... egistries.PIG_VARIANT);
111       $$0.define(DATA_VARIANT_ID, $$1.get(PigVariants.DEFAULT).or($$1: 110       $$0.define(DATA_VARIANT_ID, $$1.get(PigVariants.DEFAULT).or($$1:
    :getAny).orElseThrow());                                                   :getAny).orElseThrow());

net/minecraft/world/entity/animal/Pig.java --- 6/8 --- Java
115    public void addAdditionalSaveData(CompoundTag $$0) {                114    public void addAdditionalSaveData(CompoundTag $$0) {
116       super.addAdditionalSaveData($$0);                                115       super.addAdditionalSaveData($$0);
117       this.getVariant().unwrapKey().ifPresent($$1 -> $$0.putString("va 116       this.getVariant().unwrapKey().ifPresent($$1 -> $$0.putString("va
... riant", $$1.location().toString()));                                   ... riant", $$1.location().toString()));
118       this.steering.addAdditionalSaveData($$0);                        ... 
119    }                                                                   117    }
120                                                                        118 
121    @Override                                                           119    @Override
122    public void readAdditionalSaveData(CompoundTag $$0) {               120    public void readAdditionalSaveData(CompoundTag $$0) {
123       super.readAdditionalSaveData($$0);                               121       super.readAdditionalSaveData($$0);
124       this.steering.readAdditionalSaveData($$0);                       ... 
125       Optional.ofNullable(ResourceLocation.tryParse($$0.getString("var 122       Optional.ofNullable(ResourceLocation.tryParse($$0.getString("var
... iant")))                                                               ... iant")))
126          .map($$0x -> ResourceKey.create(Registries.PIG_VARIANT, $$0x) 123          .map($$0x -> ResourceKey.create(Registries.PIG_VARIANT, $$0x)
... )                                                                      ... )
127          .flatMap($$0x -> this.registryAccess().lookupOrThrow(Registri 124          .flatMap($$0x -> this.registryAccess().lookupOrThrow(Registri
    es.PIG_VARIANT).get($$0x))                                                 es.PIG_VARIANT).get($$0x))

net/minecraft/world/entity/animal/Pig.java --- 7/8 --- Java
161          InteractionResult $$3 = super.mobInteract($$0, $$1);          158          InteractionResult $$3 = super.mobInteract($$0, $$1);
162          if (!$$3.consumesAction()) {                                  159          if (!$$3.consumesAction()) {
163             ItemStack $$4 = $$0.getItemInHand($$1);                    160             ItemStack $$4 = $$0.getItemInHand($$1);
164             return (InteractionResult)($$4.is(Items.SADDLE) ? $$4.inte 161             return (InteractionResult)(this.isEquippableInSlot($$4, Eq
... ractLivingEntity($$0, this, $$1) : InteractionResult.PASS);            ... uipmentSlot.SADDLE) ? $$4.interactLivingEntity($$0, this, $$1) : Inter
...                                                                        ... actionResult.PASS);
165          } else {                                                      162          } else {
166             return $$3;                                                163             return $$3;
167          }                                                             164          }
168       }                                                                165       }
169    }                                                                   166    }
170                                                                        167 
171    @Override                                                           168    @Override
172    public boolean isSaddleable() {                                     169    public boolean canUseSlot(EquipmentSlot $$0) {
173       return this.isAlive() && !this.isBaby();                         170       return $$0 != EquipmentSlot.SADDLE ? super.canUseSlot($$0) : thi
...                                                                        ... s.isAlive() && !this.isBaby();
174    }                                                                   171    }
175                                                                        172 
176    @Override                                                           173    @Override
177    protected void dropEquipment(ServerLevel $$0) {                     174    protected boolean canDispenserEquipIntoSlot(EquipmentSlot $$0) {
178       super.dropEquipment($$0);                                        175       return $$0 == EquipmentSlot.SADDLE || super.canDispenserEquipInt
...                                                                        ... oSlot($$0);
179       if (this.isSaddled()) {                                          ... 
180          this.spawnAtLocation($$0, Items.SADDLE);                      ... 
181       }                                                                ... 
182    }                                                                   176    }
183                                                                        177 
184    @Override                                                           178    @Override
185    public boolean isSaddled() {                                        ... 
186       return this.steering.hasSaddle();                                ... 
187    }                                                                   ... 
188                                                                        ... 
189    @Override                                                           ... 
190    public void equipSaddle(ItemStack $$0, @Nullable SoundSource $$1) { 179    protected Holder<SoundEvent> getEquipSound(EquipmentSlot $$0, ItemS
...                                                                        ... tack $$1, Equippable $$2) {
191       this.steering.setSaddle(true);                                   ... 
192       if ($$1 != null) {                                               180       return (Holder<SoundEvent>)($$0 == EquipmentSlot.SADDLE ? SoundE
...                                                                        ... vents.PIG_SADDLE : super.getEquipSound($$0, $$1, $$2));
193          this.level().playSound(null, this, SoundEvents.PIG_SADDLE, $$ ... 
... 1, 0.5F, 1.0F);                                                        ... 
194       }                                                                ... 
195    }                                                                   181    }
196                                                                        182 
197    @Override                                                           183    @Override

net/minecraft/world/entity/animal/Pig.java --- 8/8 --- Java
285       return new Vec3(0.0, (double)(0.6F * this.getEyeHeight()), (doub 271       return new Vec3(0.0, (double)(0.6F * this.getEyeHeight()), (doub
... le)(this.getBbWidth() * 0.4F));                                        ... le)(this.getBbWidth() * 0.4F));
286    }                                                                   272    }
287                                                                        273 
288    public void setVariant(Holder<PigVariant> $$0) {                    274    private void setVariant(Holder<PigVariant> $$0) {
289       this.entityData.set(DATA_VARIANT_ID, $$0);                       275       this.entityData.set(DATA_VARIANT_ID, $$0);
290    }                                                                   276    }
291                                                                        277 
292    public Holder<PigVariant> getVariant() {                            278    public Holder<PigVariant> getVariant() {
293       return this.entityData.get(DATA_VARIANT_ID);                     279       return this.entityData.get(DATA_VARIANT_ID);
294    }                                                                   280    }
...                                                                        281 
...                                                                        282    @Nullable
...                                                                        283    @Override
...                                                                        284    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        285       return $$0 == DataComponents.PIG_VARIANT ? castComponentValue((D
...                                                                        ... ataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        286    }
...                                                                        287 
...                                                                        288    @Override
...                                                                        289    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        290       this.applyImplicitComponentIfPresent($$0, DataComponents.PIG_VAR
...                                                                        ... IANT);
...                                                                        291       super.applyImplicitComponents($$0);
...                                                                        292    }
...                                                                        293 
...                                                                        294    @Override
...                                                                        295    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        296       if ($$0 == DataComponents.PIG_VARIANT) {
...                                                                        297          this.setVariant(castComponentValue(DataComponents.PIG_VARIANT
...                                                                        ... , $$1));
...                                                                        298          return true;
...                                                                        299       } else {
...                                                                        300          return super.applyImplicitComponent($$0, $$1);
...                                                                        301       }
...                                                                        302    }
295                                                                        303 
296    @Override                                                           304    @Override
297    public SpawnGroupData finalizeSpawn(ServerLevelAccessor $$0, Diffic 305    public SpawnGroupData finalizeSpawn(ServerLevelAccessor $$0, Diffic
    ultyInstance $$1, EntitySpawnReason $$2, @Nullable SpawnGroupData $$3)     ultyInstance $$1, EntitySpawnReason $$2, @Nullable SpawnGroupData $$3)
     {                                                                          {

net/minecraft/world/entity/animal/MushroomCow.java --- 1/8 --- Java
 1 package net.minecraft.world.entity.animal;                               1 package net.minecraft.world.entity.animal;
 2                                                                          2 
 .                                                                          3 import io.netty.buffer.ByteBuf;
 3 import java.util.Optional;                                               4 import java.util.Optional;
 4 import java.util.UUID;                                                   5 import java.util.UUID;
 .                                                                          6 import java.util.function.IntFunction;
 5 import javax.annotation.Nullable;                                        7 import javax.annotation.Nullable;
 6 import net.minecraft.core.BlockPos;                                      8 import net.minecraft.core.BlockPos;
 .                                                                          9 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         10 import net.minecraft.core.component.DataComponentType;
 7 import net.minecraft.core.component.DataComponents;                     11 import net.minecraft.core.component.DataComponents;
 8 import net.minecraft.core.particles.ParticleTypes;                      12 import net.minecraft.core.particles.ParticleTypes;
 9 import net.minecraft.nbt.CompoundTag;                                   13 import net.minecraft.nbt.CompoundTag;
10 import net.minecraft.nbt.NbtOps;                                        14 import net.minecraft.nbt.NbtOps;
..                                                                         15 import net.minecraft.network.codec.ByteBufCodecs;
..                                                                         16 import net.minecraft.network.codec.StreamCodec;
11 import net.minecraft.network.syncher.EntityDataAccessor;                17 import net.minecraft.network.syncher.EntityDataAccessor;
12 import net.minecraft.network.syncher.EntityDataSerializers;             18 import net.minecraft.network.syncher.EntityDataSerializers;
13 import net.minecraft.network.syncher.SynchedEntityData;                 19 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/MushroomCow.java --- 2/8 --- Java
16 import net.minecraft.sounds.SoundEvents;                                22 import net.minecraft.sounds.SoundEvents;
17 import net.minecraft.sounds.SoundSource;                                23 import net.minecraft.sounds.SoundSource;
18 import net.minecraft.tags.BlockTags;                                    24 import net.minecraft.tags.BlockTags;
..                                                                         25 import net.minecraft.util.ByIdMap;
19 import net.minecraft.util.RandomSource;                                 26 import net.minecraft.util.RandomSource;
20 import net.minecraft.util.StringRepresentable;                          27 import net.minecraft.util.StringRepresentable;
21 import net.minecraft.world.InteractionHand;                             28 import net.minecraft.world.InteractionHand;

net/minecraft/world/entity/animal/MushroomCow.java --- 3/8 --- Java
26 import net.minecraft.world.entity.EntityType;                           33 import net.minecraft.world.entity.EntityType;
27 import net.minecraft.world.entity.LightningBolt;                        34 import net.minecraft.world.entity.LightningBolt;
28 import net.minecraft.world.entity.Shearable;                            35 import net.minecraft.world.entity.Shearable;
29 import net.minecraft.world.entity.VariantHolder;                        .. 
30 import net.minecraft.world.entity.item.ItemEntity;                      36 import net.minecraft.world.entity.item.ItemEntity;
31 import net.minecraft.world.entity.player.Player;                        37 import net.minecraft.world.entity.player.Player;
32 import net.minecraft.world.item.ItemStack;                              38 import net.minecraft.world.item.ItemStack;

net/minecraft/world/entity/animal/MushroomCow.java --- 4/8 --- Java
42 import net.minecraft.world.level.gameevent.GameEvent;                   48 import net.minecraft.world.level.gameevent.GameEvent;
43 import net.minecraft.world.level.storage.loot.BuiltInLootTables;        49 import net.minecraft.world.level.storage.loot.BuiltInLootTables;
44                                                                         50 
45 public class MushroomCow extends Cow implements Shearable, VariantHolde 51 public class MushroomCow extends Cow implements Shearable {
.. r<MushroomCow.Variant> {                                                .. 
46    private static final EntityDataAccessor<String> DATA_TYPE = SynchedE 52    private static final EntityDataAccessor<Integer> DATA_TYPE = Synched
.. ntityData.defineId(MushroomCow.class, EntityDataSerializers.STRING);    .. EntityData.defineId(MushroomCow.class, EntityDataSerializers.INT);
47    private static final int MUTATE_CHANCE = 1024;                       53    private static final int MUTATE_CHANCE = 1024;
48    private static final String TAG_STEW_EFFECTS = "stew_effects";       54    private static final String TAG_STEW_EFFECTS = "stew_effects";
49    @Nullable                                                            55    @Nullable

net/minecraft/world/entity/animal/MushroomCow.java --- 5/8 --- Java
77    @Override                                                            83    @Override
78    protected void defineSynchedData(SynchedEntityData.Builder $$0) {    84    protected void defineSynchedData(SynchedEntityData.Builder $$0) {
79       super.defineSynchedData($$0);                                     85       super.defineSynchedData($$0);
80       $$0.define(DATA_TYPE, MushroomCow.Variant.RED.type);              86       $$0.define(DATA_TYPE, MushroomCow.Variant.RED.id);
81    }                                                                    87    }
82                                                                         88 
83    @Override                                                            89    @Override

net/minecraft/world/entity/animal/MushroomCow.java --- 6/8 --- Java
200       return $$1 != null ? Optional.of($$1.getSuspiciousEffects()) : O 206       return $$1 != null ? Optional.of($$1.getSuspiciousEffects()) : O
... ptional.empty();                                                       ... ptional.empty();
201    }                                                                   207    }
202                                                                        208 
203    public void setVariant(MushroomCow.Variant $$0) {                   209    private void setVariant(MushroomCow.Variant $$0) {
204       this.entityData.set(DATA_TYPE, $$0.type);                        210       this.entityData.set(DATA_TYPE, $$0.id);
205    }                                                                   211    }
206                                                                        212 
207    public MushroomCow.Variant getVariant() {                           213    public MushroomCow.Variant getVariant() {
208       return MushroomCow.Variant.byName(this.entityData.get(DATA_TYPE) 214       return MushroomCow.Variant.byId(this.entityData.get(DATA_TYPE));
... );                                                                     ... 
209    }                                                                   215    }
...                                                                        216 
...                                                                        217    @Nullable
...                                                                        218    @Override
...                                                                        219    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        220       return $$0 == DataComponents.MOOSHROOM_VARIANT ? castComponentVa
...                                                                        ... lue((DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        221    }
...                                                                        222 
...                                                                        223    @Override
...                                                                        224    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        225       this.applyImplicitComponentIfPresent($$0, DataComponents.MOOSHRO
...                                                                        ... OM_VARIANT);
...                                                                        226       super.applyImplicitComponents($$0);
...                                                                        227    }
...                                                                        228 
...                                                                        229    @Override
...                                                                        230    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        231       if ($$0 == DataComponents.MOOSHROOM_VARIANT) {
...                                                                        232          this.setVariant(castComponentValue(DataComponents.MOOSHROOM_V
...                                                                        ... ARIANT, $$1));
...                                                                        233          return true;
...                                                                        234       } else {
...                                                                        235          return super.applyImplicitComponent($$0, $$1);
...                                                                        236       }
...                                                                        237    }
210                                                                        238 
211    @Nullable                                                           239    @Nullable
212    public MushroomCow getBreedOffspring(ServerLevel $$0, AgeableMob $$ 240    public MushroomCow getBreedOffspring(ServerLevel $$0, AgeableMob $$
    1) {                                                                       1) {

net/minecraft/world/entity/animal/MushroomCow.java --- 7/8 --- Java
232    }                                                                   260    }
233                                                                        261 
234    public static enum Variant implements StringRepresentable {         262    public static enum Variant implements StringRepresentable {
235       RED("red", Blocks.RED_MUSHROOM.defaultBlockState()),             263       RED("red", 0, Blocks.RED_MUSHROOM.defaultBlockState()),
236       BROWN("brown", Blocks.BROWN_MUSHROOM.defaultBlockState());       264       BROWN("brown", 1, Blocks.BROWN_MUSHROOM.defaultBlockState());
237                                                                        265 
238       public static final StringRepresentable.EnumCodec<MushroomCow.Va 266       public static final StringRepresentable.EnumCodec<MushroomCow.Va
... riant> CODEC = StringRepresentable.fromEnum(MushroomCow.Variant::value ... riant> CODEC = StringRepresentable.fromEnum(MushroomCow.Variant::value
... s);                                                                    ... s);
...                                                                        267       private static final IntFunction<MushroomCow.Variant> BY_ID = By
...                                                                        ... IdMap.continuous(MushroomCow.Variant::id, values(), ByIdMap.OutOfBound
...                                                                        ... sStrategy.CLAMP);
...                                                                        268       public static final StreamCodec<ByteBuf, MushroomCow.Variant> ST
...                                                                        ... REAM_CODEC = ByteBufCodecs.idMapper(BY_ID, MushroomCow.Variant::id);
239       final String type;                                               269       private final String type;
...                                                                        270       final int id;
240       private final BlockState blockState;                             271       private final BlockState blockState;
241                                                                        272 
242       private Variant(final String $$0, final BlockState $$1) {        273       private Variant(final String $$0, final int $$1, final BlockStat
...                                                                        ... e $$2) {
243          this.type = $$0;                                              274          this.type = $$0;
...                                                                        275          this.id = $$1;
244          this.blockState = $$1;                                        276          this.blockState = $$2;
245       }                                                                277       }
246                                                                        278 
247       public BlockState getBlockState() {                              279       public BlockState getBlockState() {

net/minecraft/world/entity/animal/MushroomCow.java --- 8/8 --- Java
253          return this.type;                                             285          return this.type;
254       }                                                                286       }
...                                                                        287 
...                                                                        288       private int id() {
...                                                                        289          return this.id;
...                                                                        290       }
255                                                                        291 
256       static MushroomCow.Variant byName(String $$0) {                  292       static MushroomCow.Variant byName(String $$0) {
257          return CODEC.byName($$0, RED);                                293          return CODEC.byName($$0, RED);
258       }                                                                294       }
...                                                                        295 
...                                                                        296       static MushroomCow.Variant byId(int $$0) {
...                                                                        297          return BY_ID.apply($$0);
...                                                                        298       }
259    }                                                                   299    }
260 }                                                                      300 }

net/minecraft/world/entity/animal/Rabbit.java --- 1/6 --- Java
 1 package net.minecraft.world.entity.animal;                               1 package net.minecraft.world.entity.animal;
 2                                                                          2 
 3 import com.mojang.serialization.Codec;                                   3 import com.mojang.serialization.Codec;
 .                                                                          4 import io.netty.buffer.ByteBuf;
 4 import java.util.function.IntFunction;                                   5 import java.util.function.IntFunction;
 5 import javax.annotation.Nullable;                                        6 import javax.annotation.Nullable;
 6 import net.minecraft.Util;                                               7 import net.minecraft.Util;
 7 import net.minecraft.core.BlockPos;                                      8 import net.minecraft.core.BlockPos;
 8 import net.minecraft.core.Holder;                                        9 import net.minecraft.core.Holder;
 .                                                                         10 import net.minecraft.core.component.DataComponentGetter;
 .                                                                         11 import net.minecraft.core.component.DataComponentType;
 .                                                                         12 import net.minecraft.core.component.DataComponents;
 9 import net.minecraft.nbt.CompoundTag;                                   13 import net.minecraft.nbt.CompoundTag;
10 import net.minecraft.network.chat.Component;                            14 import net.minecraft.network.chat.Component;
..                                                                         15 import net.minecraft.network.codec.ByteBufCodecs;
..                                                                         16 import net.minecraft.network.codec.StreamCodec;
11 import net.minecraft.network.syncher.EntityDataAccessor;                17 import net.minecraft.network.syncher.EntityDataAccessor;
12 import net.minecraft.network.syncher.EntityDataSerializers;             18 import net.minecraft.network.syncher.EntityDataSerializers;
13 import net.minecraft.network.syncher.SynchedEntityData;                 19 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/Rabbit.java --- 2/6 --- Java
30 import net.minecraft.world.entity.EntityType;                           36 import net.minecraft.world.entity.EntityType;
31 import net.minecraft.world.entity.LivingEntity;                         37 import net.minecraft.world.entity.LivingEntity;
32 import net.minecraft.world.entity.SpawnGroupData;                       38 import net.minecraft.world.entity.SpawnGroupData;
33 import net.minecraft.world.entity.VariantHolder;                        .. 
34 import net.minecraft.world.entity.ai.attributes.AttributeModifier;      39 import net.minecraft.world.entity.ai.attributes.AttributeModifier;
35 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      40 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
36 import net.minecraft.world.entity.ai.attributes.Attributes;             41 import net.minecraft.world.entity.ai.attributes.Attributes;

net/minecraft/world/entity/animal/Rabbit.java --- 3/6 --- Java
65 import net.minecraft.world.level.pathfinder.Path;                       70 import net.minecraft.world.level.pathfinder.Path;
66 import net.minecraft.world.phys.Vec3;                                   71 import net.minecraft.world.phys.Vec3;
67                                                                         72 
68 public class Rabbit extends Animal implements VariantHolder<Rabbit.Vari 73 public class Rabbit extends Animal {
.. ant> {                                                                  .. 
69    public static final double STROLL_SPEED_MOD = 0.6;                   74    public static final double STROLL_SPEED_MOD = 0.6;
70    public static final double BREED_SPEED_MOD = 0.8;                    75    public static final double BREED_SPEED_MOD = 0.8;
71    public static final double FOLLOW_SPEED_MOD = 1.0;                   76    public static final double FOLLOW_SPEED_MOD = 1.0;

net/minecraft/world/entity/animal/Rabbit.java --- 4/6 --- Java
344       return Rabbit.Variant.byId(this.entityData.get(DATA_TYPE_ID));   349       return Rabbit.Variant.byId(this.entityData.get(DATA_TYPE_ID));
345    }                                                                   350    }
346                                                                        351 
347    public void setVariant(Rabbit.Variant $$0) {                        352    private void setVariant(Rabbit.Variant $$0) {
348       if ($$0 == Rabbit.Variant.EVIL) {                                353       if ($$0 == Rabbit.Variant.EVIL) {
349          this.getAttribute(Attributes.ARMOR).setBaseValue(8.0);        354          this.getAttribute(Attributes.ARMOR).setBaseValue(8.0);
350          this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.4, t 355          this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.4, t
    rue));                                                                     rue));

net/minecraft/world/entity/animal/Rabbit.java --- 5/6 --- Java
363       this.entityData.set(DATA_TYPE_ID, $$0.id);                       368       this.entityData.set(DATA_TYPE_ID, $$0.id);
364    }                                                                   369    }
...                                                                        370 
...                                                                        371    @Nullable
...                                                                        372    @Override
...                                                                        373    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        374       return $$0 == DataComponents.RABBIT_VARIANT ? castComponentValue
...                                                                        ... ((DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        375    }
...                                                                        376 
...                                                                        377    @Override
...                                                                        378    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        379       this.applyImplicitComponentIfPresent($$0, DataComponents.RABBIT_
...                                                                        ... VARIANT);
...                                                                        380       super.applyImplicitComponents($$0);
...                                                                        381    }
...                                                                        382 
...                                                                        383    @Override
...                                                                        384    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        385       if ($$0 == DataComponents.RABBIT_VARIANT) {
...                                                                        386          this.setVariant(castComponentValue(DataComponents.RABBIT_VARI
...                                                                        ... ANT, $$1));
...                                                                        387          return true;
...                                                                        388       } else {
...                                                                        389          return super.applyImplicitComponent($$0, $$1);
...                                                                        390       }
...                                                                        391    }
365                                                                        392 
366    @Nullable                                                           393    @Nullable
367    @Override                                                           394    @Override

net/minecraft/world/entity/animal/Rabbit.java --- 6/6 --- Java
605                                                                        632 
606       private static final IntFunction<Rabbit.Variant> BY_ID = ByIdMap 633       private static final IntFunction<Rabbit.Variant> BY_ID = ByIdMap
... .sparse(Rabbit.Variant::id, values(), BROWN);                          ... .sparse(Rabbit.Variant::id, values(), BROWN);
607       public static final Codec<Rabbit.Variant> CODEC = StringRepresen 634       public static final Codec<Rabbit.Variant> CODEC = StringRepresen
... table.fromEnum(Rabbit.Variant::values);                                ... table.fromEnum(Rabbit.Variant::values);
...                                                                        635       public static final StreamCodec<ByteBuf, Rabbit.Variant> STREAM_
...                                                                        ... CODEC = ByteBufCodecs.idMapper(BY_ID, Rabbit.Variant::id);
608       final int id;                                                    636       final int id;
609       private final String name;                                       637       private final String name;
610                                                                        638 

net/minecraft/world/entity/animal/Parrot.java --- 1/6 --- Java
3 import com.google.common.collect.Lists;                                  3 import com.google.common.collect.Lists;
4 import com.google.common.collect.Maps;                                   4 import com.google.common.collect.Maps;
5 import com.mojang.serialization.Codec;                                   5 import com.mojang.serialization.Codec;
.                                                                          6 import io.netty.buffer.ByteBuf;
6 import java.util.List;                                                   7 import java.util.List;
7 import java.util.Map;                                                    8 import java.util.Map;
8 import java.util.function.IntFunction;                                   9 import java.util.function.IntFunction;

net/minecraft/world/entity/animal/Parrot.java --- 2/6 --- Java
11 import net.minecraft.Util;                                              12 import net.minecraft.Util;
12 import net.minecraft.core.BlockPos;                                     13 import net.minecraft.core.BlockPos;
13 import net.minecraft.core.Direction;                                    14 import net.minecraft.core.Direction;
..                                                                         15 import net.minecraft.core.component.DataComponentGetter;
..                                                                         16 import net.minecraft.core.component.DataComponentType;
..                                                                         17 import net.minecraft.core.component.DataComponents;
14 import net.minecraft.nbt.CompoundTag;                                   18 import net.minecraft.nbt.CompoundTag;
..                                                                         19 import net.minecraft.network.codec.ByteBufCodecs;
..                                                                         20 import net.minecraft.network.codec.StreamCodec;
15 import net.minecraft.network.syncher.EntityDataAccessor;                21 import net.minecraft.network.syncher.EntityDataAccessor;
16 import net.minecraft.network.syncher.EntityDataSerializers;             22 import net.minecraft.network.syncher.EntityDataSerializers;
17 import net.minecraft.network.syncher.SynchedEntityData;                 23 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/Parrot.java --- 3/6 --- Java
40 import net.minecraft.world.entity.PathfinderMob;                        46 import net.minecraft.world.entity.PathfinderMob;
41 import net.minecraft.world.entity.SpawnGroupData;                       47 import net.minecraft.world.entity.SpawnGroupData;
42 import net.minecraft.world.entity.TamableAnimal;                        48 import net.minecraft.world.entity.TamableAnimal;
43 import net.minecraft.world.entity.VariantHolder;                        .. 
44 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      49 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
45 import net.minecraft.world.entity.ai.attributes.Attributes;             50 import net.minecraft.world.entity.ai.attributes.Attributes;
46 import net.minecraft.world.entity.ai.control.FlyingMoveControl;         51 import net.minecraft.world.entity.ai.control.FlyingMoveControl;

net/minecraft/world/entity/animal/Parrot.java --- 4/6 --- Java
65 import net.minecraft.world.level.pathfinder.PathType;                   70 import net.minecraft.world.level.pathfinder.PathType;
66 import net.minecraft.world.phys.Vec3;                                   71 import net.minecraft.world.phys.Vec3;
67                                                                         72 
68 public class Parrot extends ShoulderRidingEntity implements VariantHold 73 public class Parrot extends ShoulderRidingEntity implements FlyingAnima
.. er<Parrot.Variant>, FlyingAnimal {                                      .. l {
69    private static final EntityDataAccessor<Integer> DATA_VARIANT_ID = S 74    private static final EntityDataAccessor<Integer> DATA_VARIANT_ID = S
.. ynchedEntityData.defineId(Parrot.class, EntityDataSerializers.INT);     .. ynchedEntityData.defineId(Parrot.class, EntityDataSerializers.INT);
70    private static final Predicate<Mob> NOT_PARROT_PREDICATE = new Predi 75    private static final Predicate<Mob> NOT_PARROT_PREDICATE = new Predi
.. cate<Mob>() {                                                           .. cate<Mob>() {
71       public boolean test(@Nullable Mob $$0) {                          76       public boolean test(@Nullable Mob $$0) {

net/minecraft/world/entity/animal/Parrot.java --- 5/6 --- Java
393       return Parrot.Variant.byId(this.entityData.get(DATA_VARIANT_ID)) 398       return Parrot.Variant.byId(this.entityData.get(DATA_VARIANT_ID))
... ;                                                                      ... ;
394    }                                                                   399    }
395                                                                        400 
396    public void setVariant(Parrot.Variant $$0) {                        401    private void setVariant(Parrot.Variant $$0) {
397       this.entityData.set(DATA_VARIANT_ID, $$0.id);                    402       this.entityData.set(DATA_VARIANT_ID, $$0.id);
398    }                                                                   403    }
...                                                                        404 
...                                                                        405    @Nullable
...                                                                        406    @Override
...                                                                        407    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        408       return $$0 == DataComponents.PARROT_VARIANT ? castComponentValue
...                                                                        ... ((DataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        409    }
...                                                                        410 
...                                                                        411    @Override
...                                                                        412    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        413       this.applyImplicitComponentIfPresent($$0, DataComponents.PARROT_
...                                                                        ... VARIANT);
...                                                                        414       super.applyImplicitComponents($$0);
...                                                                        415    }
...                                                                        416 
...                                                                        417    @Override
...                                                                        418    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        419       if ($$0 == DataComponents.PARROT_VARIANT) {
...                                                                        420          this.setVariant(castComponentValue(DataComponents.PARROT_VARI
...                                                                        ... ANT, $$1));
...                                                                        421          return true;
...                                                                        422       } else {
...                                                                        423          return super.applyImplicitComponent($$0, $$1);
...                                                                        424       }
...                                                                        425    }
399                                                                        426 
400    @Override                                                           427    @Override
401    protected void defineSynchedData(SynchedEntityData.Builder $$0) {   428    protected void defineSynchedData(SynchedEntityData.Builder $$0) {

net/minecraft/world/entity/animal/Parrot.java --- 6/6 --- Java
486                                                                        513 
487       public static final Codec<Parrot.Variant> CODEC = StringRepresen 514       public static final Codec<Parrot.Variant> CODEC = StringRepresen
... table.fromEnum(Parrot.Variant::values);                                ... table.fromEnum(Parrot.Variant::values);
488       private static final IntFunction<Parrot.Variant> BY_ID = ByIdMap 515       private static final IntFunction<Parrot.Variant> BY_ID = ByIdMap
... .continuous(Parrot.Variant::getId, values(), ByIdMap.OutOfBoundsStrate ... .continuous(Parrot.Variant::getId, values(), ByIdMap.OutOfBoundsStrate
... gy.CLAMP);                                                             ... gy.CLAMP);
...                                                                        516       public static final StreamCodec<ByteBuf, Parrot.Variant> STREAM_
...                                                                        ... CODEC = ByteBufCodecs.idMapper(BY_ID, Parrot.Variant::getId);
489       final int id;                                                    517       final int id;
490       private final String name;                                       518       private final String name;
491                                                                        519 

net/minecraft/gametest/framework/TestCommand.java --- 1/2 --- Text (exceeded DFT_GRAPH_LIMIT)
  5 import com.mojang.brigadier.arguments.IntegerArgumentType;               5 import com.mojang.brigadier.arguments.IntegerArgumentType;
  6 import com.mojang.brigadier.arguments.StringArgumentType;                6 import com.mojang.brigadier.arguments.StringArgumentType;
  7 import com.mojang.brigadier.builder.ArgumentBuilder;                     7 import com.mojang.brigadier.builder.ArgumentBuilder;
  .                                                                          8 import com.mojang.brigadier.builder.LiteralArgumentBuilder;
  8 import com.mojang.brigadier.context.CommandContext;                      9 import com.mojang.brigadier.context.CommandContext;
  9 import com.mojang.brigadier.exceptions.CommandSyntaxException;          10 import com.mojang.brigadier.exceptions.CommandSyntaxException;
 10 import com.mojang.logging.LogUtils;                                     11 import com.mojang.brigadier.exceptions.Dynamic3CommandExceptionType;
 11 import java.io.BufferedReader;                                          .. 
 12 import java.io.IOException;                                             12 import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
 13 import java.io.OutputStream;                                            .. 
 14 import java.nio.file.Files;                                             13 import com.mojang.brigadier.suggestion.Suggestions;
 15 import java.nio.file.Path;                                              .. 
 16 import java.nio.file.Paths;                                             14 import com.mojang.brigadier.suggestion.SuggestionsBuilder;
 17 import java.util.ArrayList;                                             15 import java.util.ArrayList;
 18 import java.util.Collection;                                            16 import java.util.Collection;
 ..                                                                         17 import java.util.Iterator;
 ..                                                                         18 import java.util.Locale;
 19 import java.util.Optional;                                              19 import java.util.Optional;
 20 import java.util.function.Consumer;                                     20 import java.util.concurrent.CompletableFuture;
 21 import java.util.function.Function;                                     21 import java.util.function.Function;
 22 import java.util.function.ToIntFunction;                                .. 
 23 import java.util.stream.Stream;                                         22 import java.util.stream.Stream;
 24 import net.minecraft.ChatFormatting;                                    23 import net.minecraft.ChatFormatting;
 25 import net.minecraft.FileUtil;                                          24 import net.minecraft.SharedConstants;
 ..                                                                         25 import net.minecraft.commands.CommandBuildContext;
 26 import net.minecraft.commands.CommandSourceStack;                       26 import net.minecraft.commands.CommandSourceStack;
 27 import net.minecraft.commands.Commands;                                 27 import net.minecraft.commands.Commands;
 ..                                                                         28 import net.minecraft.commands.SharedSuggestionProvider;
 ..                                                                         29 import net.minecraft.commands.arguments.ResourceArgument;
 ..                                                                         30 import net.minecraft.commands.arguments.ResourceLocationArgument;
 ..                                                                         31 import net.minecraft.commands.arguments.ResourceSelectorArgument;
 28 import net.minecraft.core.BlockPos;                                     32 import net.minecraft.core.BlockPos;
 29 import net.minecraft.core.Direction;                                    33 import net.minecraft.core.Direction;
 ..                                                                         34 import net.minecraft.core.Holder;
 30 import net.minecraft.core.Vec3i;                                        35 import net.minecraft.core.Vec3i;
 31 import net.minecraft.data.CachedOutput;                                 36 import net.minecraft.core.registries.Registries;
 32 import net.minecraft.data.structures.NbtToSnbt;                         .. 
 33 import net.minecraft.nbt.NbtIo;                                         .. 
 34 import net.minecraft.nbt.NbtUtils;                                      .. 
 35 import net.minecraft.network.chat.ClickEvent;                           37 import net.minecraft.network.chat.ClickEvent;
 36 import net.minecraft.network.chat.Component;                            38 import net.minecraft.network.chat.Component;
 37 import net.minecraft.network.chat.ComponentUtils;                       39 import net.minecraft.network.chat.ComponentUtils;
 38 import net.minecraft.network.chat.HoverEvent;                           40 import net.minecraft.network.chat.HoverEvent;
 ..                                                                         41 import net.minecraft.network.chat.MutableComponent;
 39 import net.minecraft.network.chat.Style;                                42 import net.minecraft.network.chat.Style;
 40 import net.minecraft.network.protocol.game.DebugPackets;                43 import net.minecraft.network.protocol.game.DebugPackets;
 41 import net.minecraft.resources.ResourceLocation;                        44 import net.minecraft.resources.ResourceLocation;
 ..                                                                         45 import net.minecraft.server.commands.InCommandFunction;
 42 import net.minecraft.server.level.ServerLevel;                          46 import net.minecraft.server.level.ServerLevel;
 43 import net.minecraft.util.Mth;                                          47 import net.minecraft.util.Mth;
 44 import net.minecraft.world.entity.Entity;                               .. 
 45 import net.minecraft.world.level.block.Blocks;                          48 import net.minecraft.world.level.block.Blocks;
 46 import net.minecraft.world.level.block.Rotation;                        49 import net.minecraft.world.level.block.Rotation;
 47 import net.minecraft.world.level.block.entity.StructureBlockEntity;     50 import net.minecraft.world.level.block.entity.TestInstanceBlockEntity;
 48 import net.minecraft.world.level.levelgen.Heightmap;                    51 import net.minecraft.world.level.levelgen.Heightmap;
 49 import net.minecraft.world.level.levelgen.structure.BoundingBox;        52 import net.minecraft.world.level.levelgen.structure.BoundingBox;
 50 import net.minecraft.world.phys.BlockHitResult;                         53 import net.minecraft.world.phys.BlockHitResult;
 51 import org.apache.commons.io.IOUtils;                                   .. 
 52 import org.apache.commons.lang3.mutable.MutableBoolean;                 .. 
 53 import org.apache.commons.lang3.mutable.MutableInt;                     54 import org.apache.commons.lang3.mutable.MutableInt;
 54 import org.slf4j.Logger;                                                .. 
 55                                                                         55 
 56 public class TestCommand {                                              56 public class TestCommand {
 57    public static final int STRUCTURE_BLOCK_NEARBY_SEARCH_RADIUS = 15;   57    public static final int TEST_NEARBY_SEARCH_RADIUS = 15;
 58    public static final int STRUCTURE_BLOCK_FULL_SEARCH_RADIUS = 200;    58    public static final int TEST_FULL_SEARCH_RADIUS = 200;
 59    public static final int VERIFY_TEST_GRID_AXIS_SIZE = 10;             59    public static final int VERIFY_TEST_GRID_AXIS_SIZE = 10;
 60    public static final int VERIFY_TEST_BATCH_SIZE = 100;                60    public static final int VERIFY_TEST_BATCH_SIZE = 100;
 61    private static final Logger LOGGER = LogUtils.getLogger();           .. 
 62    private static final int DEFAULT_CLEAR_RADIUS = 200;                 61    private static final int DEFAULT_CLEAR_RADIUS = 200;
 63    private static final int MAX_CLEAR_RADIUS = 1024;                    62    private static final int MAX_CLEAR_RADIUS = 1024;
 64    private static final int TEST_POS_Z_OFFSET_FROM_PLAYER = 3;          63    private static final int TEST_POS_Z_OFFSET_FROM_PLAYER = 3;
 65    private static final int SHOW_POS_DURATION_MS = 10000;               64    private static final int SHOW_POS_DURATION_MS = 10000;
 66    private static final int DEFAULT_X_SIZE = 5;                         65    private static final int DEFAULT_X_SIZE = 5;
 67    private static final int DEFAULT_Y_SIZE = 5;                         66    private static final int DEFAULT_Y_SIZE = 5;
 68    private static final int DEFAULT_Z_SIZE = 5;                         67    private static final int DEFAULT_Z_SIZE = 5;
 69    private static final String STRUCTURE_BLOCK_ENTITY_COULD_NOT_BE_FOU  68    private static final SimpleCommandExceptionType CLEAR_NO_TESTS = ne
 .. ND = "Structure block entity could not be found";                       .. w SimpleCommandExceptionType(Component.translatable("commands.test.cle
 ..                                                                         .. ar.error.no_tests"));
 ..                                                                         69    private static final SimpleCommandExceptionType TEST_INSTANCE_COULD
 ..                                                                         .. _NOT_BE_FOUND = new SimpleCommandExceptionType(
 ..                                                                         70       Component.translatable("commands.test.error.test_instance_not_fo
 ..                                                                         .. und")
 ..                                                                         71    );
 ..                                                                         72    private static final SimpleCommandExceptionType NO_STRUCTURES_TO_EX
 ..                                                                         .. PORT = new SimpleCommandExceptionType(
 ..                                                                         73       Component.literal("Could not find any structures to export")
 ..                                                                         74    );
 70    private static final TestFinder.Builder<TestCommand.Runner> testFin  75    private static final SimpleCommandExceptionType NO_TEST_INSTANCES =
 .. der = new TestFinder.Builder<>(TestCommand.Runner::new);                ..  new SimpleCommandExceptionType(
 ..                                                                         76       Component.translatable("commands.test.error.no_test_instances")
 ..                                                                         77    );
 ..                                                                         78    private static final Dynamic3CommandExceptionType NO_TEST_CONTAININ
 ..                                                                         .. G = new Dynamic3CommandExceptionType(
 ..                                                                         79       ($$0, $$1, $$2) -> Component.translatableEscape("commands.test.e
 ..                                                                         .. rror.no_test_containing_pos", $$0, $$1, $$2)
 ..                                                                         80    );
 71                                                                         81 
 ..                                                                         82    private static int reset(TestFinder $$0) {
 ..                                                                         83       stopTests();
 ..                                                                         84       return toGameTestInfos($$0.source(), RetryOptions.noRetries(), $
 ..                                                                         .. $0).map($$1 -> resetGameTestInfo($$0.source(), $$1)).toList().isEmpty(
 ..                                                                         .. ) ? 0 : 1;
 ..                                                                         85    }
 ..                                                                         86 
 ..                                                                         87    private static int clear(TestFinder $$0) throws CommandSyntaxExcept
 ..                                                                         .. ion {
 ..                                                                         88       stopTests();
 ..                                                                         89       CommandSourceStack $$1 = $$0.source();
 ..                                                                         90       ServerLevel $$2 = $$1.getLevel();
 ..                                                                         91       GameTestRunner.clearMarkers($$2);
 ..                                                                         92       Stream<BlockPos> $$3 = $$0.findTestPos();
 ..                                                                         93       int $$4 = $$3.mapToInt($$1x -> {
 ..                                                                         94          if ($$2.getBlockEntity($$1x) instanceof TestInstanceBlockEnti
 ..                                                                         .. ty $$3x) {
 ..                                                                         95             BoundingBox $$4x = $$3x.getStructureBoundingBox();
 ..                                                                         96             StructureUtils.clearSpaceForStructure($$4x, $$2);
 ..                                                                         97             return 1;
 ..                                                                         98          } else {
 ..                                                                         99             return 0;
 ..                                                                        100          }
 ..                                                                        101       }).sum();
 ..                                                                        102       if ($$4 == 0) {
 ..                                                                        103          throw CLEAR_NO_TESTS.create();
 ..                                                                        104       } else {
 ..                                                                        105          $$1.sendSuccess(() -> Component.translatable("commands.test.c
 ..                                                                        ... lear.success", $$4), true);
 ..                                                                        106          return 1;
 ..                                                                        107       }
 ..                                                                        108    }
 ..                                                                        109 
 ..                                                                        110    private static int export(TestFinder $$0) throws CommandSyntaxExcep
 ..                                                                        ... tion {
 ..                                                                        111       CommandSourceStack $$1 = $$0.source();
 ..                                                                        112       ServerLevel $$2 = $$1.getLevel();
 ..                                                                        113       int $$3 = 0;
 ..                                                                        114       boolean $$4 = true;
 ..                                                                        115 
 ..                                                                        116       for (Iterator<BlockPos> $$5 = $$0.findTestPos().iterator(); $$5.
 ..                                                                        ... hasNext(); $$3++) {
 ..                                                                        117          BlockPos $$6 = $$5.next();
 ..                                                                        118          if (!($$2.getBlockEntity($$6) instanceof TestInstanceBlockEnt
 ..                                                                        ... ity $$7)) {
 ..                                                                        119             throw TEST_INSTANCE_COULD_NOT_BE_FOUND.create();
 ..                                                                        120          }
 ..                                                                        121 
 ..                                                                        122          if (!$$7.exportTest($$1::sendSystemMessage)) {
 ..                                                                        123             $$4 = false;
 ..                                                                        124          }
 ..                                                                        125       }
 ..                                                                        126 
 ..                                                                        127       if ($$3 == 0) {
 ..                                                                        128          throw NO_STRUCTURES_TO_EXPORT.create();
 ..                                                                        129       } else {
 ..                                                                        130          String $$8 = "Exported " + $$3 + " structures";
 ..                                                                        131          $$0.source().sendSuccess(() -> Component.literal($$8), true);
 ..                                                                        132          return $$4 ? 0 : 1;
 ..                                                                        133       }
 ..                                                                        134    }
 ..                                                                        135 
 ..                                                                        136    private static int verify(TestFinder $$0) {
 ..                                                                        137       stopTests();
 ..                                                                        138       CommandSourceStack $$1 = $$0.source();
 ..                                                                        139       ServerLevel $$2 = $$1.getLevel();
 ..                                                                        140       BlockPos $$3 = createTestPositionAround($$1);
 ..                                                                        141       Collection<GameTestInfo> $$4 = Stream.concat(toGameTestInfos($$1
 ..                                                                        ... , RetryOptions.noRetries(), $$0), toGameTestInfo($$1, RetryOptions.noR
 ..                                                                        ... etries(), $$0, 0))
 ..                                                                        142          .toList();
 ..                                                                        143       GameTestRunner.clearMarkers($$2);
 ..                                                                        144       FailedTestTracker.forgetFailedTests();
 ..                                                                        145       Collection<GameTestBatch> $$5 = new ArrayList<>();
 ..                                                                        146 
 ..                                                                        147       for (GameTestInfo $$6 : $$4) {
 ..                                                                        148          for (Rotation $$7 : Rotation.values()) {
 ..                                                                        149             Collection<GameTestInfo> $$8 = new ArrayList<>();
 ..                                                                        150 
 ..                                                                        151             for (int $$9 = 0; $$9 < 100; $$9++) {
 ..                                                                        152                GameTestInfo $$10 = new GameTestInfo($$6.getTestHolder(
 ..                                                                        ... ), $$7, $$2, new RetryOptions(1, true));
 ..                                                                        153                $$10.setTestBlockPos($$6.getTestBlockPos());
 ..                                                                        154                $$8.add($$10);
 ..                                                                        155             }
 ..                                                                        156 
 ..                                                                        157             GameTestBatch $$11 = GameTestBatchFactory.toGameTestBatch(
 ..                                                                        ... $$8, $$6.getTest().batch(), $$7.ordinal());
 ..                                                                        158             $$5.add($$11);
 ..                                                                        159          }
 ..                                                                        160       }
 ..                                                                        161 
 ..                                                                        162       StructureGridSpawner $$12 = new StructureGridSpawner($$3, 10, tr
 ..                                                                        ... ue);
 ..                                                                        163       GameTestRunner $$13 = GameTestRunner.Builder.fromBatches($$5, $$
 ..                                                                        ... 2)
 ..                                                                        164          .batcher(GameTestBatchFactory.fromGameTestInfo(100))
 ..                                                                        165          .newStructureSpawner($$12)
 ..                                                                        166          .existingStructureSpawner($$12)
 ..                                                                        167          .haltOnError(true)
 ..                                                                        168          .build();
 ..                                                                        169       return trackAndStartRunner($$1, $$13);
 ..                                                                        170    }
 ..                                                                        171 
 ..                                                                        172    private static int run(TestFinder $$0, RetryOptions $$1, int $$2, i
 ..                                                                        ... nt $$3) {
 ..                                                                        173       stopTests();
 ..                                                                        174       CommandSourceStack $$4 = $$0.source();
 ..                                                                        175       ServerLevel $$5 = $$4.getLevel();
 ..                                                                        176       BlockPos $$6 = createTestPositionAround($$4);
 ..                                                                        177       Collection<GameTestInfo> $$7 = Stream.concat(toGameTestInfos($$4
 ..                                                                        ... , $$1, $$0), toGameTestInfo($$4, $$1, $$0, $$2)).toList();
 ..                                                                        178       if ($$7.isEmpty()) {
 ..                                                                        179          $$4.sendSuccess(() -> Component.translatable("commands.test.n
 ..                                                                        ... o_tests"), false);
 ..                                                                        180          return 0;
 ..                                                                        181       } else {
 ..                                                                        182          GameTestRunner.clearMarkers($$5);
 ..                                                                        183          FailedTestTracker.forgetFailedTests();
 ..                                                                        184          $$4.sendSuccess(() -> Component.translatable("commands.test.r
 ..                                                                        ... un.running", $$7.size()), false);
 ..                                                                        185          GameTestRunner $$8 = GameTestRunner.Builder.fromInfo($$7, $$5
 ..                                                                        ... ).newStructureSpawner(new StructureGridSpawner($$6, $$3, false)).build
 ..                                                                        ... ();
 ..                                                                        186          return trackAndStartRunner($$4, $$8);
 ..                                                                        187       }
 ..                                                                        188    }
 ..                                                                        189 
 ..                                                                        190    private static int locate(TestFinder $$0) throws CommandSyntaxExcep
 ..                                                                        ... tion {
 ..                                                                        191       $$0.source().sendSystemMessage(Component.translatable("commands.
 ..                                                                        ... test.locate.started"));
 ..                                                                        192       MutableInt $$1 = new MutableInt(0);
 ..                                                                        193       BlockPos $$2 = BlockPos.containing($$0.source().getPosition());
 ..                                                                        194       $$0.findTestPos()
 ..                                                                        195          .forEach(
 ..                                                                        196             $$3x -> {
 ..                                                                        197                if ($$0.source().getLevel().getBlockEntity($$3x) instan
 ..                                                                        ... ceof TestInstanceBlockEntity $$5) {
 ..                                                                        198                   Direction var13 = $$5.getRotation().rotate(Direction
 ..                                                                        ... .NORTH);
 ..                                                                        199                   BlockPos $$8 = $$5.getBlockPos().relative(var13, 2);
 ..                                                                        200                   int $$9 = (int)var13.getOpposite().toYRot();
 ..                                                                        201                   String $$10 = String.format(Locale.ROOT, "/tp @s %d 
 ..                                                                        ... %d %d %d 0", $$8.getX(), $$8.getY(), $$8.getZ(), $$9);
 ..                                                                        202                   int $$11 = $$2.getX() - $$3x.getX();
 ..                                                                        203                   int $$12 = $$2.getZ() - $$3x.getZ();
 ..                                                                        204                   int $$13 = Mth.floor(Mth.sqrt((float)($$11 * $$11 + 
 ..                                                                        ... $$12 * $$12)));
 ..                                                                        205                   MutableComponent $$14 = ComponentUtils.wrapInSquareB
 ..                                                                        ... rackets(Component.translatable("chat.coordinates", $$3x.getX(), $$3x.g
 ..                                                                        ... etY(), $$3x.getZ()))
 ..                                                                        206                      .withStyle(
 ..                                                                        207                         $$1xx -> $$1xx.withColor(ChatFormatting.GREEN)
 ..                                                                        208                               .withClickEvent(new ClickEvent.SuggestCo
 ..                                                                        ... mmand($$10))
 ..                                                                        209                               .withHoverEvent(new HoverEvent.ShowText(
 ..                                                                        ... Component.translatable("chat.coordinates.tooltip")))
 ..                                                                        210                      );
 ..                                                                        211                   $$0.source().sendSuccess(() -> Component.translatabl
 ..                                                                        ... e("commands.test.locate.found", $$14, $$13), false);
 ..                                                                        212                   $$1.increment();
 ..                                                                        213                }
 ..                                                                        214             }
 ..                                                                        215          );
 ..                                                                        216       int $$3 = $$1.intValue();
 ..                                                                        217       if ($$3 == 0) {
 ..                                                                        218          throw NO_TEST_INSTANCES.create();
 ..                                                                        219       } else {
 ..                                                                        220          $$0.source().sendSuccess(() -> Component.translatable("comman
 ..                                                                        ... ds.test.locate.done", $$3), true);
 ..                                                                        221          return $$3;
 ..                                                                        222       }
 ..                                                                        223    }
 ..                                                                        224 
 72    private static ArgumentBuilder<CommandSourceStack, ?> runWithRetryO 225    private static ArgumentBuilder<CommandSourceStack, ?> runWithRetryO
 .. ptions(                                                                ... ptions(
 73       ArgumentBuilder<CommandSourceStack, ?> $$0,                      226       ArgumentBuilder<CommandSourceStack, ?> $$0,
 74       Function<CommandContext<CommandSourceStack>, TestCommand.Runner> 227       InCommandFunction<CommandContext<CommandSourceStack>, TestFinder
 ..  $$1,                                                                  ... > $$1,
 75       Function<ArgumentBuilder<CommandSourceStack, ?>, ArgumentBuilder 228       Function<ArgumentBuilder<CommandSourceStack, ?>, ArgumentBuilder
 .. <CommandSourceStack, ?>> $$2                                           ... <CommandSourceStack, ?>> $$2
 76    ) {                                                                 229    ) {
 77       return $$0.executes($$1x -> $$1.apply($$1x).run())               230       return $$0.executes($$1x -> run($$1.apply($$1x), RetryOptions.no
 ..                                                                        ... Retries(), 0, 8))
 78          .then(                                                        231          .then(
 79             Commands.argument("numberOfTimes", IntegerArgumentType.int 232             Commands.argument("numberOfTimes", IntegerArgumentType.int
 .. eger(0))                                                               ... eger(0))
 80                .executes($$1x -> $$1.apply($$1x).run(new RetryOptions( 233                .executes($$1x -> run($$1.apply($$1x), new RetryOptions
 .. IntegerArgumentType.getInteger($$1x, "numberOfTimes"), false)))        ... (IntegerArgumentType.getInteger($$1x, "numberOfTimes"), false), 0, 8))
 81                .then(                                                  234                .then(
 82                   $$2.apply(                                           235                   $$2.apply(
 83                      Commands.argument("untilFailed", BoolArgumentType 236                      Commands.argument("untilFailed", BoolArgumentType
 .. .bool())                                                               ... .bool())
 84                         .executes(                                     237                         .executes(
 85                            $$1x -> $$1.apply($$1x)                     238                            $$1x -> run(
 ..                                                                        239                                  $$1.apply($$1x),
 86                                  .run(new RetryOptions(IntegerArgument 240                                  new RetryOptions(IntegerArgumentType.
 .. Type.getInteger($$1x, "numberOfTimes"), BoolArgumentType.getBool($$1x, ... getInteger($$1x, "numberOfTimes"), BoolArgumentType.getBool($$1x, "unt
 ..  "untilFailed")))                                                      ... ilFailed")),
 ..                                                                        241                                  0,
 ..                                                                        242                                  8
 ..                                                                        243                               )
 87                         )                                              244                         )
 88                   )                                                    245                   )
 89                )                                                       246                )
 90          );                                                            247          );
 91    }                                                                   248    }
 92                                                                        249 
 93    private static ArgumentBuilder<CommandSourceStack, ?> runWithRetryO 250    private static ArgumentBuilder<CommandSourceStack, ?> runWithRetryO
 .. ptions(                                                                ... ptions(
 94       ArgumentBuilder<CommandSourceStack, ?> $$0, Function<CommandCont 251       ArgumentBuilder<CommandSourceStack, ?> $$0, InCommandFunction<Co
 .. ext<CommandSourceStack>, TestCommand.Runner> $$1                       ... mmandContext<CommandSourceStack>, TestFinder> $$1
 95    ) {                                                                 252    ) {
 96       return runWithRetryOptions($$0, $$1, $$0x -> $$0x);              253       return runWithRetryOptions($$0, $$1, $$0x -> $$0x);
 97    }                                                                   254    }
 98                                                                        255 
 99    private static ArgumentBuilder<CommandSourceStack, ?> runWithRetryO 256    private static ArgumentBuilder<CommandSourceStack, ?> runWithRetryO
 .. ptionsAndBuildInfo(                                                    ... ptionsAndBuildInfo(
100       ArgumentBuilder<CommandSourceStack, ?> $$0, Function<CommandCont 257       ArgumentBuilder<CommandSourceStack, ?> $$0, InCommandFunction<Co
... ext<CommandSourceStack>, TestCommand.Runner> $$1                       ... mmandContext<CommandSourceStack>, TestFinder> $$1
101    ) {                                                                 258    ) {
102       return runWithRetryOptions(                                      259       return runWithRetryOptions(
103          $$0,                                                          260          $$0,
104          $$1,                                                          261          $$1,
105          $$1x -> $$1x.then(                                            262          $$1x -> $$1x.then(
106                Commands.argument("rotationSteps", IntegerArgumentType. 263                Commands.argument("rotationSteps", IntegerArgumentType.
... integer())                                                             ... integer())
107                   .executes(                                           264                   .executes(
108                      $$1xx -> $$1.apply($$1xx)                         265                      $$1xx -> run(
109                            .run(                                       266                            $$1.apply($$1xx),
110                               new RetryOptions(IntegerArgumentType.get 267                            new RetryOptions(IntegerArgumentType.getInt
... Integer($$1xx, "numberOfTimes"), BoolArgumentType.getBool($$1xx, "unti ... eger($$1xx, "numberOfTimes"), BoolArgumentType.getBool($$1xx, "untilFa
... lFailed")),                                                            ... iled")),
111                               IntegerArgumentType.getInteger($$1xx, "r 268                            IntegerArgumentType.getInteger($$1xx, "rota
... otationSteps")                                                         ... tionSteps"),
112                            )                                           269                            8
...                                                                        270                         )
113                   )                                                    271                   )
114                   .then(                                               272                   .then(
115                      Commands.argument("testsPerRow", IntegerArgumentT 273                      Commands.argument("testsPerRow", IntegerArgumentT
... ype.integer())                                                         ... ype.integer())
116                         .executes(                                     274                         .executes(
117                            $$1xx -> $$1.apply($$1xx)                   275                            $$1xx -> run(
118                                  .run(                                 276                                  $$1.apply($$1xx),
119                                     new RetryOptions(IntegerArgumentTy 277                                  new RetryOptions(IntegerArgumentType.
... pe.getInteger($$1xx, "numberOfTimes"), BoolArgumentType.getBool($$1xx, ... getInteger($$1xx, "numberOfTimes"), BoolArgumentType.getBool($$1xx, "u
...  "untilFailed")),                                                      ... ntilFailed")),
120                                     IntegerArgumentType.getInteger($$1 278                                  IntegerArgumentType.getInteger($$1xx,
... xx, "rotationSteps"),                                                  ...  "rotationSteps"),
121                                     IntegerArgumentType.getInteger($$1 279                                  IntegerArgumentType.getInteger($$1xx,
... xx, "testsPerRow")                                                     ...  "testsPerRow")
122                                  )                                     280                               )
123                         )                                              281                         )
124                   )                                                    282                   )
125             )                                                          283             )
126       );                                                               284       );
127    }                                                                   285    }
128                                                                        286 
129    public static void register(CommandDispatcher<CommandSourceStack> $ 287    public static void register(CommandDispatcher<CommandSourceStack> $
... $0) {                                                                  ... $0, CommandBuildContext $$1) {
130       ArgumentBuilder<CommandSourceStack, ?> $$1 = runWithRetryOptions 288       ArgumentBuilder<CommandSourceStack, ?> $$2 = runWithRetryOptions
... AndBuildInfo(                                                          ... AndBuildInfo(
131          Commands.argument("onlyRequiredTests", BoolArgumentType.bool( 289          Commands.argument("onlyRequiredTests", BoolArgumentType.bool(
... )),                                                                    ... )),
132          $$0x -> testFinder.failedTests($$0x, BoolArgumentType.getBool 290          $$0x -> TestFinder.builder().failedTests($$0x, BoolArgumentTy
... ($$0x, "onlyRequiredTests"))                                           ... pe.getBool($$0x, "onlyRequiredTests"))
133       );                                                               291       );
134       ArgumentBuilder<CommandSourceStack, ?> $$2 = runWithRetryOptions 292       LiteralArgumentBuilder<CommandSourceStack> $$3 = Commands.litera
... AndBuildInfo(                                                          ... l("test")
135          Commands.argument("testClassName", TestClassNameArgument.test ... 
... ClassName()),                                                          ... 
136          $$0x -> testFinder.allTestsInClass($$0x, TestClassNameArgumen 293          .requires($$0x -> $$0x.hasPermission(2))
... t.getTestClassName($$0x, "testClassName"))                             ... 
137       );                                                               294          .then(
138       $$0.register(                                                    ... 
139          Commands.literal("test")                                      295             Commands.literal("run")
140             .then(                                                     296                .then(
141                Commands.literal("run")                                 297                   runWithRetryOptionsAndBuildInfo(
142                   .then(                                               298                      Commands.argument("tests", ResourceSelectorArgume
...                                                                        ... nt.resourceSelector($$1, Registries.TEST_INSTANCE)),
143                      runWithRetryOptionsAndBuildInfo(                  299                      $$0x -> TestFinder.builder()
144                         Commands.argument("testName", TestFunctionArgu 300                            .byResourceSelection($$0x, ResourceSelector
... ment.testFunctionArgument()), $$0x -> testFinder.byArgument($$0x, "tes ... Argument.getSelectedResources($$0x, "tests", Registries.TEST_INSTANCE)
... tName")                                                                ... )
145                      )                                                 ... 
146                   )                                                    301                   )
147             )                                                          302                )
148             .then(                                                     303          )
149                Commands.literal("runmultiple")                         304          .then(
150                   .then(                                               305             Commands.literal("runmultiple")
151                      Commands.argument("testName", TestFunctionArgumen 306                .then(
... t.testFunctionArgument())                                              ... 
152                         .executes($$0x -> testFinder.byArgument($$0x,  307                   Commands.argument("tests", ResourceSelectorArgument.
... "testName").run())                                                     ... resourceSelector($$1, Registries.TEST_INSTANCE))
153                         .then(                                         308                      .executes(
154                            Commands.argument("amount", IntegerArgument 309                         $$0x -> run(
... Type.integer())                                                        ... 
155                               .executes(                               310                               TestFinder.builder()
156                                  $$0x -> testFinder.createMultipleCopi 311                                  .byResourceSelection($$0x, ResourceSe
... es(IntegerArgumentType.getInteger($$0x, "amount")).byArgument($$0x, "t ... lectorArgument.getSelectedResources($$0x, "tests", Registries.TEST_INS
... estName").run()                                                        ... TANCE)),
157                               )                                        312                               RetryOptions.noRetries(),
158                         )                                              313                               0,
159                   )                                                    314                               8
160             )                                                          315                            )
161             .then(runWithRetryOptionsAndBuildInfo(Commands.literal("ru 316                      )
... nall").then($$2), testFinder::allTests))                               ... 
162             .then(runWithRetryOptions(Commands.literal("runthese"), te 317                      .then(
... stFinder::allNearby))                                                  ... 
163             .then(runWithRetryOptions(Commands.literal("runclosest"),  318                         Commands.argument("amount", IntegerArgumentTyp
... testFinder::nearest))                                                  ... e.integer())
164             .then(runWithRetryOptions(Commands.literal("runthat"), tes 319                            .executes(
... tFinder::lookedAt))                                                    ... 
165             .then(runWithRetryOptionsAndBuildInfo(Commands.literal("ru 320                               $$0x -> run(
... nfailed").then($$1), testFinder::failedTests))                         ... 
166             .then(                                                     321                                     TestFinder.builder()
167                Commands.literal("verify")                              322                                        .createMultipleCopies(IntegerAr
...                                                                        ... gumentType.getInteger($$0x, "amount"))
168                   .then(                                               323                                        .byResourceSelection($$0x, Reso
...                                                                        ... urceSelectorArgument.getSelectedResources($$0x, "tests", Registries.TE
...                                                                        ... ST_INSTANCE)),
169                      Commands.argument("testName", TestFunctionArgumen 324                                     RetryOptions.noRetries(),
... t.testFunctionArgument())                                              ... 
170                         .executes($$0x -> testFinder.byArgument($$0x,  325                                     0,
... "testName").verify())                                                  ... 
171                   )                                                    326                                     8
172             )                                                          327                                  )
173             .then(                                                     328                            )
174                Commands.literal("verifyclass")                         329                      )
175                   .then(                                               330                )
176                      Commands.argument("testClassName", TestClassNameA 331          )
... rgument.testClassName())                                               ... 
177                         .executes($$0x -> testFinder.allTestsInClass($ 332          .then(runWithRetryOptions(Commands.literal("runthese"), TestF
... $0x, TestClassNameArgument.getTestClassName($$0x, "testClassName")).ve ... inder.builder()::allNearby))
... rify())                                                                ... 
178                   )                                                    333          .then(runWithRetryOptions(Commands.literal("runclosest"), Tes
...                                                                        ... tFinder.builder()::nearest))
179             )                                                          334          .then(runWithRetryOptions(Commands.literal("runthat"), TestFi
...                                                                        ... nder.builder()::lookedAt))
180             .then(                                                     335          .then(runWithRetryOptionsAndBuildInfo(Commands.literal("runfa
...                                                                        ... iled").then($$2), TestFinder.builder()::failedTests))
181                Commands.literal("locate")                              336          .then(
182                   .then(                                               337             Commands.literal("verify")
183                      Commands.argument("testName", TestFunctionArgumen 338                .then(
... t.testFunctionArgument())                                              ... 
184                         .executes(                                     339                   Commands.argument("tests", ResourceSelectorArgument.
...                                                                        ... resourceSelector($$1, Registries.TEST_INSTANCE))
185                            $$0x -> testFinder.locateByName($$0x, "mine 340                      .executes(
... craft:" + TestFunctionArgument.getTestFunction($$0x, "testName").struc ... 
... tureName())                                                            ... 
186                                  .locate()                             341                         $$0x -> verify(
187                         )                                              342                               TestFinder.builder()
188                   )                                                    343                                  .byResourceSelection($$0x, ResourceSe
...                                                                        ... lectorArgument.getSelectedResources($$0x, "tests", Registries.TEST_INS
...                                                                        ... TANCE))
189             )                                                          344                            )
190             .then(Commands.literal("resetclosest").executes($$0x -> te 345                      )
... stFinder.nearest($$0x).reset()))                                       ... 
191             .then(Commands.literal("resetthese").executes($$0x -> test 346                )
... Finder.allNearby($$0x).reset()))                                       ... 
192             .then(Commands.literal("resetthat").executes($$0x -> testF 347          )
... inder.lookedAt($$0x).reset()))                                         ... 
193             .then(                                                     348          .then(
...                                                                        349             Commands.literal("locate")
...                                                                        350                .then(
...                                                                        351                   Commands.argument("tests", ResourceArgument.resource
...                                                                        ... ($$1, Registries.TEST_INSTANCE))
...                                                                        352                      .executes(
...                                                                        353                         $$0x -> locate(
...                                                                        354                               TestFinder.builder()
...                                                                        355                                  .byResourceSelection($$0x, ResourceSe
...                                                                        ... lectorArgument.getSelectedResources($$0x, "tests", Registries.TEST_INS
...                                                                        ... TANCE))
...                                                                        356                            )
...                                                                        357                      )
...                                                                        358                )
...                                                                        359          )
...                                                                        360          .then(Commands.literal("resetclosest").executes($$0x -> reset
...                                                                        ... (TestFinder.builder().nearest($$0x))))
...                                                                        361          .then(Commands.literal("resetthese").executes($$0x -> reset(T
...                                                                        ... estFinder.builder().allNearby($$0x))))
...                                                                        362          .then(Commands.literal("resetthat").executes($$0x -> reset(Te
...                                                                        ... stFinder.builder().lookedAt($$0x))))
...                                                                        363          .then(Commands.literal("clearthat").executes($$0x -> clear(Te
...                                                                        ... stFinder.builder().lookedAt($$0x))))
...                                                                        364          .then(Commands.literal("clearthese").executes($$0x -> clear(T
...                                                                        ... estFinder.builder().allNearby($$0x))))
...                                                                        365          .then(
...                                                                        366             Commands.literal("clearall")
...                                                                        367                .executes($$0x -> clear(TestFinder.builder().radius($$0
...                                                                        ... x, 200)))
...                                                                        368                .then(
...                                                                        369                   Commands.argument("radius", IntegerArgumentType.inte
...                                                                        ... ger())
...                                                                        370                      .executes($$0x -> clear(TestFinder.builder().radi
...                                                                        ... us($$0x, Mth.clamp(IntegerArgumentType.getInteger($$0x, "radius"), 0, 
...                                                                        ... 1024))))
...                                                                        371                )
...                                                                        372          )
...                                                                        373          .then(Commands.literal("stop").executes($$0x -> stopTests()))
...                                                                        374          .then(
...                                                                        375             Commands.literal("pos")
...                                                                        376                .executes($$0x -> showPos((CommandSourceStack)$$0x.getS
...                                                                        ... ource(), "pos"))
...                                                                        377                .then(
...                                                                        378                   Commands.argument("var", StringArgumentType.word())
...                                                                        379                      .executes($$0x -> showPos((CommandSourceStack)$$0
...                                                                        ... x.getSource(), StringArgumentType.getString($$0x, "var")))
...                                                                        380                )
...                                                                        381          )
...                                                                        382          .then(
...                                                                        383             Commands.literal("create")
...                                                                        384                .then(
...                                                                        385                   Commands.argument("id", ResourceLocationArgument.id(
...                                                                        ... ))
...                                                                        386                      .suggests(TestCommand::suggestTestFunction)
...                                                                        387                      .executes($$0x -> createNewStructure((CommandSour
...                                                                        ... ceStack)$$0x.getSource(), ResourceLocationArgument.getId($$0x, "id"), 
...                                                                        ... 5, 5, 5))
...                                                                        388                      .then(
...                                                                        389                         Commands.argument("width", IntegerArgumentType
...                                                                        ... .integer())
...                                                                        390                            .executes(
...                                                                        391                               $$0x -> createNewStructure(
...                                                                        392                                     (CommandSourceStack)$$0x.getSource
...                                                                        ... (),
...                                                                        393                                     ResourceLocationArgument.getId($$0
...                                                                        ... x, "id"),
...                                                                        394                                     IntegerArgumentType.getInteger($$0
...                                                                        ... x, "width"),
...                                                                        395                                     IntegerArgumentType.getInteger($$0
...                                                                        ... x, "width"),
...                                                                        396                                     IntegerArgumentType.getInteger($$0
...                                                                        ... x, "width")
...                                                                        397                                  )
...                                                                        398                            )
...                                                                        399                            .then(
...                                                                        400                               Commands.argument("height", IntegerArgum
...                                                                        ... entType.integer())
...                                                                        401                                  .then(
...                                                                        402                                     Commands.argument("depth", Integer
...                                                                        ... ArgumentType.integer())
...                                                                        403                                        .executes(
...                                                                        404                                           $$0x -> createNewStructure(
...                                                                        405                                                 (CommandSourceStack)$$
...                                                                        ... 0x.getSource(),
...                                                                        406                                                 ResourceLocationArgume
...                                                                        ... nt.getId($$0x, "id"),
...                                                                        407                                                 IntegerArgumentType.ge
...                                                                        ... tInteger($$0x, "width"),
...                                                                        408                                                 IntegerArgumentType.ge
...                                                                        ... tInteger($$0x, "height"),
...                                                                        409                                                 IntegerArgumentType.ge
...                                                                        ... tInteger($$0x, "depth")
...                                                                        410                                              )
...                                                                        411                                        )
...                                                                        412                                  )
...                                                                        413                            )
...                                                                        414                      )
...                                                                        415                )
...                                                                        416          );
...                                                                        417       if (SharedConstants.IS_RUNNING_IN_IDE) {
...                                                                        418          $$3 = $$3.then(
194                Commands.literal("export")                              419                Commands.literal("export")
195                   .then(                                               420                   .then(
196                      Commands.argument("testName", StringArgumentType. 421                      Commands.argument("test", ResourceArgument.resour
... word())                                                                ... ce($$1, Registries.TEST_INSTANCE))
197                         .executes(                                     422                         .executes(
198                            $$0x -> exportTestStructure((CommandSourceS 423                            $$0x -> exportTestStructure(
... tack)$$0x.getSource(), "minecraft:" + StringArgumentType.getString($$0 ... 
... x, "testName"))                                                        ... 
199                         )                                              424                                  (CommandSourceStack)$$0x.getSource(),
...                                                                        ...  ResourceArgument.getResource($$0x, "test", Registries.TEST_INSTANCE)
200                   )                                                    ... 
201             )                                                          ... 
202             .then(Commands.literal("exportclosest").executes($$0x -> t ... 
... estFinder.nearest($$0x).export()))                                     ... 
203             .then(Commands.literal("exportthese").executes($$0x -> tes ... 
... tFinder.allNearby($$0x).export()))                                     ... 
204             .then(Commands.literal("exportthat").executes($$0x -> test ... 
... Finder.lookedAt($$0x).export()))                                       ... 
205             .then(Commands.literal("clearthat").executes($$0x -> testF ... 
... inder.lookedAt($$0x).clear()))                                         ... 
206             .then(Commands.literal("clearthese").executes($$0x -> test ... 
... Finder.allNearby($$0x).clear()))                                       ... 
207             .then(                                                     ... 
208                Commands.literal("clearall")                            ... 
209                   .executes($$0x -> testFinder.radius($$0x, 200).clear ... 
... ())                                                                    ... 
210                   .then(                                               ... 
211                      Commands.argument("radius", IntegerArgumentType.i ... 
... nteger())                                                              ... 
212                         .executes($$0x -> testFinder.radius($$0x, Mth. ... 
... clamp(IntegerArgumentType.getInteger($$0x, "radius"), 0, 1024)).clear( ... 
... ))                                                                     ... 
213                   )                                                    ... 
214             )                                                          ... 
215             .then(                                                     ... 
216                Commands.literal("import")                              ... 
217                   .then(                                               ... 
218                      Commands.argument("testName", StringArgumentType. ... 
... word())                                                                ... 
219                         .executes($$0x -> importTestStructure((Command ... 
... SourceStack)$$0x.getSource(), StringArgumentType.getString($$0x, "test ... 
... Name")))                                                               ... 
220                   )                                                    ... 
221             )                                                          ... 
222             .then(Commands.literal("stop").executes($$0x -> stopTests( ... 
... )))                                                                    ... 
223             .then(                                                     ... 
224                Commands.literal("pos")                                 ... 
225                   .executes($$0x -> showPos((CommandSourceStack)$$0x.g ... 
... etSource(), "pos"))                                                    ... 
226                   .then(                                               ... 
227                      Commands.argument("var", StringArgumentType.word( ... 
... ))                                                                     ... 
228                         .executes($$0x -> showPos((CommandSourceStack) ... 
... $$0x.getSource(), StringArgumentType.getString($$0x, "var")))          ... 
229                   )                                                    ... 
230             )                                                          ... 
231             .then(                                                     ... 
232                Commands.literal("create")                              ... 
233                   .then(                                               ... 
234                      Commands.argument("testName", StringArgumentType. ... 
... word())                                                                ... 
235                         .suggests(TestFunctionArgument::suggestTestFun ... 
... ction)                                                                 ... 
236                         .executes($$0x -> createNewStructure((CommandS ... 
... ourceStack)$$0x.getSource(), StringArgumentType.getString($$0x, "testN ... 
... ame"), 5, 5, 5))                                                       ... 
237                         .then(                                         ... 
238                            Commands.argument("width", IntegerArgumentT ... 
... ype.integer())                                                         ... 
239                               .executes(                               ... 
240                                  $$0x -> createNewStructure(           ... 
241                                        (CommandSourceStack)$$0x.getSou ... 
... rce(),                                                                 ... 
242                                        StringArgumentType.getString($$ ... 
... 0x, "testName"),                                                       ... 
243                                        IntegerArgumentType.getInteger( ... 
... $$0x, "width"),                                                        ... 
244                                        IntegerArgumentType.getInteger( ... 
... $$0x, "width"),                                                        ... 
245                                        IntegerArgumentType.getInteger( ... 
... $$0x, "width")                                                         ... 
246                                     )                                  ... 
247                               )                                        425                               )
248                               .then(                                   ... 
249                                  Commands.argument("height", IntegerAr ... 
... gumentType.integer())                                                  ... 
250                                     .then(                             ... 
251                                        Commands.argument("depth", Inte ... 
... gerArgumentType.integer())                                             ... 
252                                           .executes(                   ... 
253                                              $$0x -> createNewStructur ... 
... e(                                                                     ... 
254                                                    (CommandSourceStack ... 
... )$$0x.getSource(),                                                     ... 
255                                                    StringArgumentType. ... 
... getString($$0x, "testName"),                                           ... 
256                                                    IntegerArgumentType ... 
... .getInteger($$0x, "width"),                                            ... 
257                                                    IntegerArgumentType ... 
... .getInteger($$0x, "height"),                                           ... 
258                                                    IntegerArgumentType ... 
... .getInteger($$0x, "depth")                                             ... 
259                                                 )                      ... 
260                                           )                            ... 
261                                     )                                  ... 
262                               )                                        ... 
263                         )                                              426                         )
264                   )                                                    427                   )
265             )                                                          428             )
266       );                                                               429             .then(Commands.literal("exportclosest").executes($$0x -> e
...                                                                        ... xport(TestFinder.builder().nearest($$0x))))
...                                                                        430             .then(Commands.literal("exportthese").executes($$0x -> exp
...                                                                        ... ort(TestFinder.builder().allNearby($$0x))))
...                                                                        431             .then(Commands.literal("exportthat").executes($$0x -> expo
...                                                                        ... rt(TestFinder.builder().lookedAt($$0x))));
...                                                                        432       }
...                                                                        433 
...                                                                        434       $$0.register($$3);
267    }                                                                   435    }
268                                                                        436 
269    private static int resetGameTestInfo(GameTestInfo $$0) {            437    public static CompletableFuture<Suggestions> suggestTestFunction(Co
...                                                                        ... mmandContext<CommandSourceStack> $$0, SuggestionsBuilder $$1) {
270       $$0.getLevel().getEntities(null, $$0.getStructureBounds()).strea 438       Stream<String> $$2 = $$0.getSource().registryAccess().lookupOrTh
... m().forEach($$0x -> $$0x.remove(Entity.RemovalReason.DISCARDED));      ... row(Registries.TEST_FUNCTION).listElements().map(Holder::getRegistered
...                                                                        ... Name);
271       $$0.getStructureBlockEntity().placeStructure($$0.getLevel());    439       return SharedSuggestionProvider.suggest($$2, $$1);
272       StructureUtils.removeBarriers($$0.getStructureBounds(), $$0.getL 440    }
... evel());                                                               ... 
...                                                                        441 
...                                                                        442    private static int resetGameTestInfo(CommandSourceStack $$0, GameTe
...                                                                        ... stInfo $$1) {
273       say($$0.getLevel(), "Reset succeded for: " + $$0.getTestName(),  443       TestInstanceBlockEntity $$2 = $$1.getTestInstanceBlockEntity();
... ChatFormatting.GREEN);                                                 ... 
...                                                                        444       $$2.resetTest($$0::sendSystemMessage);
274       return 1;                                                        445       return 1;
275    }                                                                   446    }
276                                                                        447 
277    static Stream<GameTestInfo> toGameTestInfos(CommandSourceStack $$0, 448    private static Stream<GameTestInfo> toGameTestInfos(CommandSourceSt
...  RetryOptions $$1, StructureBlockPosFinder $$2) {                      ... ack $$0, RetryOptions $$1, TestPosFinder $$2) {
278       return $$2.findStructureBlockPos().map($$2x -> createGameTestInf 449       return $$2.findTestPos().map($$2x -> createGameTestInfo($$2x, $$
... o($$2x, $$0.getLevel(), $$1)).flatMap(Optional::stream);               ... 0, $$1)).flatMap(Optional::stream);
279    }                                                                   450    }
280                                                                        451 
281    static Stream<GameTestInfo> toGameTestInfo(CommandSourceStack $$0,  452    private static Stream<GameTestInfo> toGameTestInfo(CommandSourceSta
... RetryOptions $$1, TestFunctionFinder $$2, int $$3) {                   ... ck $$0, RetryOptions $$1, TestInstanceFinder $$2, int $$3) {
282       return $$2.findTestFunctions()                                   453       return $$2.findTests()
283          .filter($$1x -> verifyStructureExists($$0.getLevel(), $$1x.st 454          .filter($$1x -> verifyStructureExists($$0, ((GameTestInstance
... ructureName()))                                                        ... )$$1x.value()).structure()))
284          .map($$3x -> new GameTestInfo($$3x, StructureUtils.getRotatio 455          .map($$3x -> new GameTestInfo($$3x, StructureUtils.getRotatio
... nForRotationSteps($$3), $$0.getLevel(), $$1));                         ... nForRotationSteps($$3), $$0.getLevel(), $$1));
285    }                                                                   456    }
286                                                                        457 
287    private static Optional<GameTestInfo> createGameTestInfo(BlockPos $ 458    private static Optional<GameTestInfo> createGameTestInfo(BlockPos $
... $0, ServerLevel $$1, RetryOptions $$2) {                               ... $0, CommandSourceStack $$1, RetryOptions $$2) {
288       StructureBlockEntity $$3 = (StructureBlockEntity)$$1.getBlockEnt 459       ServerLevel $$3 = $$1.getLevel();
... ity($$0);                                                              ... 
289       if ($$3 == null) {                                               460       if ($$3.getBlockEntity($$0) instanceof TestInstanceBlockEntity $
...                                                                        ... $4) {
290          say($$1, "Structure block entity could not be found", ChatFor ... 
... matting.RED);                                                          ... 
291          return Optional.empty();                                      ... 
292       } else {                                                         ... 
293          String $$4 = $$3.getMetaData();                               461          Optional<Holder.Reference<GameTestInstance>> $$6 = $$4.test()
...                                                                        ... .flatMap($$1.registryAccess().lookupOrThrow(Registries.TEST_INSTANCE):
...                                                                        ... :get);
294          Optional<TestFunction> $$5 = GameTestRegistry.findTestFunctio ... 
... n($$4);                                                                ... 
295          if ($$5.isEmpty()) {                                          462          if ($$6.isEmpty()) {
296             say($$1, "Test function for test " + $$4 + " could not be  463             $$1.sendFailure(Component.translatable("commands.test.erro
... found", ChatFormatting.RED);                                           ... r.non_existant_test", $$4.getTestName()));
297             return Optional.empty();                                   464             return Optional.empty();
298          } else {                                                      465          } else {
299             TestFunction $$6 = $$5.get();                              466             Holder.Reference<GameTestInstance> $$7 = $$6.get();
300             GameTestInfo $$7 = new GameTestInfo($$6, $$3.getRotation() 467             GameTestInfo $$8 = new GameTestInfo($$7, $$4.getRotation()
... , $$1, $$2);                                                           ... , $$3, $$2);
301             $$7.setStructureBlockPos($$0);                             468             $$8.setTestBlockPos($$0);
302             return !verifyStructureExists($$1, $$7.getStructureName()) 469             return !verifyStructureExists($$1, $$8.getStructure()) ? O
...  ? Optional.empty() : Optional.of($$7);                                ... ptional.empty() : Optional.of($$8);
303          }                                                             470          }
...                                                                        471       } else {
...                                                                        472          $$1.sendFailure(Component.translatable("commands.test.error.t
...                                                                        ... est_instance_not_found.position", $$0.getX(), $$0.getY(), $$0.getZ()))
...                                                                        ... ;
...                                                                        473          return Optional.empty();
304       }                                                                474       }
305    }                                                                   475    }
306                                                                        476 
307    private static int createNewStructure(CommandSourceStack $$0, Strin 477    private static int createNewStructure(CommandSourceStack $$0, Resou
... g $$1, int $$2, int $$3, int $$4) {                                    ... rceLocation $$1, int $$2, int $$3, int $$4) {
308       if ($$2 <= 48 && $$3 <= 48 && $$4 <= 48) {                       478       if ($$2 <= 48 && $$3 <= 48 && $$4 <= 48) {
309          ServerLevel $$5 = $$0.getLevel();                             479          ServerLevel $$5 = $$0.getLevel();
310          BlockPos $$6 = createTestPositionAround($$0).below();         480          BlockPos $$6 = createTestPositionAround($$0);
311          StructureUtils.createNewEmptyStructureBlock($$1.toLowerCase() 481          TestInstanceBlockEntity $$7 = StructureUtils.createNewEmptyTe
... , $$6, new Vec3i($$2, $$3, $$4), Rotation.NONE, $$5);                  ... st($$1, $$6, new Vec3i($$2, $$3, $$4), Rotation.NONE, $$5);
312          BlockPos $$7 = $$6.above();                                   482          BlockPos $$8 = $$7.getStructurePos();
313          BlockPos $$8 = $$7.offset($$2 - 1, 0, $$4 - 1);               483          BlockPos $$9 = $$8.offset($$2 - 1, 0, $$4 - 1);
314          BlockPos.betweenClosedStream($$7, $$8).forEach($$1x -> $$5.se 484          BlockPos.betweenClosedStream($$8, $$9).forEach($$1x -> $$5.se
... tBlockAndUpdate($$1x, Blocks.BEDROCK.defaultBlockState()));            ... tBlockAndUpdate($$1x, Blocks.BEDROCK.defaultBlockState()));
315          StructureUtils.addCommandBlockAndButtonToStartTest($$6, new B ... 
... lockPos(1, 0, -1), Rotation.NONE, $$5);                                ... 
316          return 0;                                                     485          return 0;
317       } else {                                                         486       } else {
318          throw new IllegalArgumentException("The structure must be les 487          throw new IllegalArgumentException("The structure must be les
    s than 48 blocks big in each axis");                                       s than 48 blocks big in each axis");

net/minecraft/gametest/framework/TestCommand.java --- 2/2 --- Text (exceeded DFT_GRAPH_LIMIT)
323       BlockHitResult $$2 = (BlockHitResult)$$0.getPlayerOrException(). 492       BlockHitResult $$2 = (BlockHitResult)$$0.getPlayerOrException().
... pick(10.0, 1.0F, false);                                               ... pick(10.0, 1.0F, false);
324       BlockPos $$3 = $$2.getBlockPos();                                493       BlockPos $$3 = $$2.getBlockPos();
325       ServerLevel $$4 = $$0.getLevel();                                494       ServerLevel $$4 = $$0.getLevel();
326       Optional<BlockPos> $$5 = StructureUtils.findStructureBlockContai 495       Optional<BlockPos> $$5 = StructureUtils.findTestContainingPos($$
... ningPos($$3, 15, $$4);                                                 ... 3, 15, $$4);
327       if ($$5.isEmpty()) {                                             496       if ($$5.isEmpty()) {
328          $$5 = StructureUtils.findStructureBlockContainingPos($$3, 200 497          $$5 = StructureUtils.findTestContainingPos($$3, 200, $$4);
... , $$4);                                                                ... 
329       }                                                                498       }
330                                                                        499 
331       if ($$5.isEmpty()) {                                             500       if ($$5.isEmpty()) {
332          $$0.sendFailure(Component.literal("Can't find a structure blo 501          throw NO_TEST_CONTAINING.create($$3.getX(), $$3.getY(), $$3.g
... ck that contains the targeted pos " + $$3));                           ... etZ());
...                                                                        502       } else if ($$4.getBlockEntity($$5.get()) instanceof TestInstance
...                                                                        ... BlockEntity $$6) {
...                                                                        503          BlockPos $$8 = $$3.subtract($$5.get());
...                                                                        504          String $$9 = $$8.getX() + ", " + $$8.getY() + ", " + $$8.getZ
...                                                                        ... ();
...                                                                        505          String $$10 = $$6.getTestName().getString();
...                                                                        506          MutableComponent $$11 = Component.translatable("commands.test
...                                                                        ... .coordinates", $$8.getX(), $$8.getY(), $$8.getZ())
...                                                                        507             .setStyle(
...                                                                        508                Style.EMPTY
...                                                                        509                   .withBold(true)
...                                                                        510                   .withColor(ChatFormatting.GREEN)
...                                                                        511                   .withHoverEvent(new HoverEvent.ShowText(Component.tr
...                                                                        ... anslatable("commands.test.coordinates.copy")))
...                                                                        512                   .withClickEvent(new ClickEvent.CopyToClipboard("fina
...                                                                        ... l BlockPos " + $$1 + " = new BlockPos(" + $$9 + ");"))
...                                                                        513             );
...                                                                        514          $$0.sendSuccess(() -> Component.translatable("commands.test.r
...                                                                        ... elative_position", $$10, $$11), false);
...                                                                        515          DebugPackets.sendGameTestAddMarker($$4, new BlockPos($$3), $$
...                                                                        ... 9, -2147418368, 10000);
333          return 0;                                                     516          return 1;
334       } else {                                                         517       } else {
335          StructureBlockEntity $$6 = (StructureBlockEntity)$$4.getBlock 518          throw TEST_INSTANCE_COULD_NOT_BE_FOUND.create();
... Entity($$5.get());                                                     ... 
336          if ($$6 == null) {                                            ... 
337             say($$4, "Structure block entity could not be found", Chat ... 
... Formatting.RED);                                                       ... 
338             return 0;                                                  ... 
339          } else {                                                      ... 
340             BlockPos $$7 = $$3.subtract($$5.get());                    ... 
341             String $$8 = $$7.getX() + ", " + $$7.getY() + ", " + $$7.g ... 
... etZ();                                                                 ... 
342             String $$9 = $$6.getMetaData();                            ... 
343             Component $$10 = Component.literal($$8)                    ... 
344                .setStyle(                                              ... 
345                   Style.EMPTY                                          ... 
346                      .withBold(true)                                   ... 
347                      .withColor(ChatFormatting.GREEN)                  ... 
348                      .withHoverEvent(new HoverEvent.ShowText(Component ... 
... .literal("Click to copy to clipboard")))                               ... 
349                      .withClickEvent(new ClickEvent.CopyToClipboard("f ... 
... inal BlockPos " + $$1 + " = new BlockPos(" + $$8 + ");"))              ... 
350                );                                                      ... 
351             $$0.sendSuccess(() -> Component.literal("Position relative ... 
...  to " + $$9 + ": ").append($$10), false);                              ... 
352             DebugPackets.sendGameTestAddMarker($$4, new BlockPos($$3), ... 
...  $$8, -2147418368, 10000);                                             ... 
353             return 1;                                                  ... 
354          }                                                             ... 
355       }                                                                519       }
356    }                                                                   520    }
357                                                                        521 
358    static int stopTests() {                                            522    private static int stopTests() {
359       GameTestTicker.SINGLETON.clear();                                523       GameTestTicker.SINGLETON.clear();
360       return 1;                                                        524       return 1;
361    }                                                                   525    }
362                                                                        526 
363    static int trackAndStartRunner(CommandSourceStack $$0, ServerLevel  527    public static int trackAndStartRunner(CommandSourceStack $$0, GameT
... $$1, GameTestRunner $$2) {                                             ... estRunner $$1) {
364       $$2.addListener(new TestCommand.TestBatchSummaryDisplayer($$0)); 528       $$1.addListener(new TestCommand.TestBatchSummaryDisplayer($$0));
365       MultipleTestTracker $$3 = new MultipleTestTracker($$2.getTestInf 529       MultipleTestTracker $$2 = new MultipleTestTracker($$1.getTestInf
... os());                                                                 ... os());
366       $$3.addListener(new TestCommand.TestSummaryDisplayer($$1, $$3)); 530       $$2.addListener(new TestCommand.TestSummaryDisplayer($$0, $$2));
367       $$3.addFailureListener($$0x -> GameTestRegistry.rememberFailedTe 531       $$2.addFailureListener($$0x -> FailedTestTracker.rememberFailedT
... st($$0x.getTestFunction()));                                           ... est($$0x.getTestHolder()));
368       $$2.start();                                                     532       $$1.start();
369       return 1;                                                        533       return 1;
370    }                                                                   534    }
371                                                                        535 
372    static int saveAndExportTestStructure(CommandSourceStack $$0, Struc 536    private static int exportTestStructure(CommandSourceStack $$0, Hold
... tureBlockEntity $$1) {                                                 ... er<GameTestInstance> $$1) {
373       String $$2 = $$1.getStructureName();                             537       return !TestInstanceBlockEntity.export($$0.getLevel(), $$1.value
...                                                                        ... ().structure(), $$0::sendSystemMessage) ? 0 : 1;
374       if (!$$1.saveStructure(true)) {                                  ... 
375          say($$0, "Failed to save structure " + $$2);                  ... 
376       }                                                                ... 
377                                                                        ... 
378       return exportTestStructure($$0, $$2);                            ... 
379    }                                                                   538    }
380                                                                        539 
381    private static int exportTestStructure(CommandSourceStack $$0, Stri 540    private static boolean verifyStructureExists(CommandSourceStack $$0
... ng $$1) {                                                              ... , ResourceLocation $$1) {
382       Path $$2 = Paths.get(StructureUtils.testStructuresDir);          541       if ($$0.getLevel().getStructureManager().get($$1).isEmpty()) {
383       ResourceLocation $$3 = ResourceLocation.parse($$1);              ... 
384       Path $$4 = $$0.getLevel().getStructureManager().createAndValidat ... 
... ePathToGeneratedStructure($$3, ".nbt");                                ... 
385       Path $$5 = NbtToSnbt.convertStructure(CachedOutput.NO_CACHE, $$4 ... 
... , $$3.getPath(), $$2);                                                 ... 
386       if ($$5 == null) {                                               ... 
387          say($$0, "Failed to export " + $$4);                          542          $$0.sendFailure(Component.translatable("commands.test.error.s
...                                                                        ... tructure_not_found", Component.translationArg($$1)));
388          return 1;                                                     ... 
389       } else {                                                         ... 
390          try {                                                         ... 
391             FileUtil.createDirectoriesSafe($$5.getParent());           ... 
392          } catch (IOException var7) {                                  ... 
393             say($$0, "Could not create folder " + $$5.getParent());    ... 
394             LOGGER.error("Could not create export folder", (Throwable) ... 
... var7);                                                                 ... 
395             return 1;                                                  ... 
396          }                                                             ... 
397                                                                        ... 
398          say($$0, "Exported " + $$1 + " to " + $$5.toAbsolutePath());  ... 
399          return 0;                                                     ... 
400       }                                                                ... 
401    }                                                                   ... 
402                                                                        ... 
403    private static boolean verifyStructureExists(ServerLevel $$0, Strin ... 
... g $$1) {                                                               ... 
404       if ($$0.getStructureManager().get(ResourceLocation.parse($$1)).i ... 
... sEmpty()) {                                                            ... 
405          say($$0, "Test structure " + $$1 + " could not be found", Cha ... 
... tFormatting.RED);                                                      ... 
406          return false;                                                 543          return false;
407       } else {                                                         544       } else {
408          return true;                                                  545          return true;
409       }                                                                546       }
410    }                                                                   547    }
411                                                                        548 
412    static BlockPos createTestPositionAround(CommandSourceStack $$0) {  549    private static BlockPos createTestPositionAround(CommandSourceStack
...                                                                        ...  $$0) {
413       BlockPos $$1 = BlockPos.containing($$0.getPosition());           550       BlockPos $$1 = BlockPos.containing($$0.getPosition());
414       int $$2 = $$0.getLevel().getHeightmapPos(Heightmap.Types.WORLD_S 551       int $$2 = $$0.getLevel().getHeightmapPos(Heightmap.Types.WORLD_S
... URFACE, $$1).getY();                                                   ... URFACE, $$1).getY();
415       return new BlockPos($$1.getX(), $$2 + 1, $$1.getZ() + 3);        552       return new BlockPos($$1.getX(), $$2, $$1.getZ() + 3);
416    }                                                                   ... 
417                                                                        ... 
418    static void say(CommandSourceStack $$0, String $$1) {               ... 
419       $$0.sendSuccess(() -> Component.literal($$1), false);            ... 
420    }                                                                   ... 
421                                                                        ... 
422    private static int importTestStructure(CommandSourceStack $$0, Stri ... 
... ng $$1) {                                                              ... 
423       Path $$2 = Paths.get(StructureUtils.testStructuresDir, $$1 + ".s ... 
... nbt");                                                                 ... 
424       ResourceLocation $$3 = ResourceLocation.withDefaultNamespace($$1 ... 
... );                                                                     ... 
425       Path $$4 = $$0.getLevel().getStructureManager().createAndValidat ... 
... ePathToGeneratedStructure($$3, ".nbt");                                ... 
426                                                                        ... 
427       try {                                                            ... 
428          BufferedReader $$5 = Files.newBufferedReader($$2);            ... 
429          String $$6 = IOUtils.toString($$5);                           ... 
430          Files.createDirectories($$4.getParent());                     ... 
431                                                                        ... 
432          try (OutputStream $$7 = Files.newOutputStream($$4)) {         ... 
433             NbtIo.writeCompressed(NbtUtils.snbtToStructure($$6), $$7); ... 
434          }                                                             ... 
435                                                                        ... 
436          $$0.getLevel().getStructureManager().remove($$3);             ... 
437          say($$0, "Imported to " + $$4.toAbsolutePath());              ... 
438          return 0;                                                     ... 
439       } catch (CommandSyntaxException | IOException var12) {           ... 
440          LOGGER.error("Failed to load structure {}", $$1, var12);      ... 
441          return 1;                                                     ... 
442       }                                                                ... 
443    }                                                                   ... 
444                                                                        ... 
445    static void say(ServerLevel $$0, String $$1, ChatFormatting $$2) {  ... 
446       $$0.getPlayers($$0x -> true).forEach($$2x -> $$2x.sendSystemMess ... 
... age(Component.literal($$1).withStyle($$2)));                           ... 
447    }                                                                   ... 
448                                                                        ... 
449    public static class Runner {                                        ... 
450       private final TestFinder<TestCommand.Runner> finder;             ... 
451                                                                        ... 
452       public Runner(TestFinder<TestCommand.Runner> $$0) {              ... 
453          this.finder = $$0;                                            ... 
454       }                                                                ... 
455                                                                        ... 
456       public int reset() {                                             ... 
457          TestCommand.stopTests();                                      ... 
458          return TestCommand.toGameTestInfos(this.finder.source(), Retr ... 
... yOptions.noRetries(), this.finder).map(TestCommand::resetGameTestInfo) ... 
... .toList().isEmpty()                                                    ... 
459             ? 0                                                        ... 
460             : 1;                                                       ... 
461       }                                                                ... 
462                                                                        ... 
463       private <T> void logAndRun(Stream<T> $$0, ToIntFunction<T> $$1,  ... 
... Runnable $$2, Consumer<Integer> $$3) {                                 ... 
464          int $$4 = $$0.mapToInt($$1).sum();                            ... 
465          if ($$4 == 0) {                                               ... 
466             $$2.run();                                                 ... 
467          } else {                                                      ... 
468             $$3.accept($$4);                                           ... 
469          }                                                             ... 
470       }                                                                ... 
471                                                                        ... 
472       public int clear() {                                             ... 
473          TestCommand.stopTests();                                      ... 
474          CommandSourceStack $$0 = this.finder.source();                ... 
475          ServerLevel $$1 = $$0.getLevel();                             ... 
476          GameTestRunner.clearMarkers($$1);                             ... 
477          this.logAndRun(                                               ... 
478             this.finder.findStructureBlockPos(),                       ... 
479             $$1x -> {                                                  ... 
480                StructureBlockEntity $$2 = (StructureBlockEntity)$$1.ge ... 
... tBlockEntity($$1x);                                                    ... 
481                if ($$2 == null) {                                      ... 
482                   return 0;                                            ... 
483                } else {                                                ... 
484                   BoundingBox $$3 = StructureUtils.getStructureBoundin ... 
... gBox($$2);                                                             ... 
485                   StructureUtils.clearSpaceForStructure($$3, $$1);     ... 
486                   return 1;                                            ... 
487                }                                                       ... 
488             },                                                         ... 
489             () -> TestCommand.say($$1, "Could not find any structures  ... 
... to clear", ChatFormatting.RED),                                        ... 
490             $$1x -> TestCommand.say($$0, "Cleared " + $$1x + " structu ... 
... res")                                                                  ... 
491          );                                                            ... 
492          return 1;                                                     ... 
493       }                                                                ... 
494                                                                        ... 
495       public int export() {                                            ... 
496          MutableBoolean $$0 = new MutableBoolean(true);                ... 
497          CommandSourceStack $$1 = this.finder.source();                ... 
498          ServerLevel $$2 = $$1.getLevel();                             ... 
499          this.logAndRun(                                               ... 
500             this.finder.findStructureBlockPos(),                       ... 
501             $$3 -> {                                                   ... 
502                StructureBlockEntity $$4 = (StructureBlockEntity)$$2.ge ... 
... tBlockEntity($$3);                                                     ... 
503                if ($$4 == null) {                                      ... 
504                   TestCommand.say($$2, "Structure block entity could n ... 
... ot be found", ChatFormatting.RED);                                     ... 
505                   $$0.setFalse();                                      ... 
506                   return 0;                                            ... 
507                } else {                                                ... 
508                   if (TestCommand.saveAndExportTestStructure($$1, $$4) ... 
...  != 0) {                                                               ... 
509                      $$0.setFalse();                                   ... 
510                   }                                                    ... 
511                                                                        ... 
512                   return 1;                                            ... 
513                }                                                       ... 
514             },                                                         ... 
515             () -> TestCommand.say($$2, "Could not find any structures  ... 
... to export", ChatFormatting.RED),                                       ... 
516             $$1x -> TestCommand.say($$1, "Exported " + $$1x + " struct ... 
... ures")                                                                 ... 
517          );                                                            ... 
518          return $$0.getValue() ? 0 : 1;                                ... 
519       }                                                                ... 
520                                                                        ... 
521       int verify() {                                                   ... 
522          TestCommand.stopTests();                                      ... 
523          CommandSourceStack $$0 = this.finder.source();                ... 
524          ServerLevel $$1 = $$0.getLevel();                             ... 
525          BlockPos $$2 = TestCommand.createTestPositionAround($$0);     ... 
526          Collection<GameTestInfo> $$3 = Stream.concat(                 ... 
527                TestCommand.toGameTestInfos($$0, RetryOptions.noRetries ... 
... (), this.finder),                                                      ... 
528                TestCommand.toGameTestInfo($$0, RetryOptions.noRetries( ... 
... ), this.finder, 0)                                                     ... 
529             )                                                          ... 
530             .toList();                                                 ... 
531          GameTestRunner.clearMarkers($$1);                             ... 
532          GameTestRegistry.forgetFailedTests();                         ... 
533          Collection<GameTestBatch> $$4 = new ArrayList<>();            ... 
534                                                                        ... 
535          for (GameTestInfo $$5 : $$3) {                                ... 
536             for (Rotation $$6 : Rotation.values()) {                   ... 
537                Collection<GameTestInfo> $$7 = new ArrayList<>();       ... 
538                                                                        ... 
539                for (int $$8 = 0; $$8 < 100; $$8++) {                   ... 
540                   GameTestInfo $$9 = new GameTestInfo($$5.getTestFunct ... 
... ion(), $$6, $$1, new RetryOptions(1, true));                           ... 
541                   $$7.add($$9);                                        ... 
542                }                                                       ... 
543                                                                        ... 
544                GameTestBatch $$10 = GameTestBatchFactory.toGameTestBat ... 
... ch($$7, $$5.getTestFunction().batchName(), (long)$$6.ordinal());       ... 
545                $$4.add($$10);                                          ... 
546             }                                                          ... 
547          }                                                             ... 
548                                                                        ... 
549          StructureGridSpawner $$11 = new StructureGridSpawner($$2, 10, ... 
...  true);                                                                ... 
550          GameTestRunner $$12 = GameTestRunner.Builder.fromBatches($$4, ... 
...  $$1)                                                                  ... 
551             .batcher(GameTestBatchFactory.fromGameTestInfo(100))       ... 
552             .newStructureSpawner($$11)                                 ... 
553             .existingStructureSpawner($$11)                            ... 
554             .haltOnError(true)                                         ... 
555             .build();                                                  ... 
556          return TestCommand.trackAndStartRunner($$0, $$1, $$12);       ... 
557       }                                                                ... 
558                                                                        ... 
559       public int run(RetryOptions $$0, int $$1, int $$2) {             ... 
560          TestCommand.stopTests();                                      ... 
561          CommandSourceStack $$3 = this.finder.source();                ... 
562          ServerLevel $$4 = $$3.getLevel();                             ... 
563          BlockPos $$5 = TestCommand.createTestPositionAround($$3);     ... 
564          Collection<GameTestInfo> $$6 = Stream.concat(                 ... 
565                TestCommand.toGameTestInfos($$3, $$0, this.finder), Tes ... 
... tCommand.toGameTestInfo($$3, $$0, this.finder, $$1)                    ... 
566             )                                                          ... 
567             .toList();                                                 ... 
568          if ($$6.isEmpty()) {                                          ... 
569             TestCommand.say($$3, "No tests found");                    ... 
570             return 0;                                                  ... 
571          } else {                                                      ... 
572             GameTestRunner.clearMarkers($$4);                          ... 
573             GameTestRegistry.forgetFailedTests();                      ... 
574             TestCommand.say($$3, "Running " + $$6.size() + " tests..." ... 
... );                                                                     ... 
575             GameTestRunner $$7 = GameTestRunner.Builder.fromInfo($$6,  ... 
... $$4).newStructureSpawner(new StructureGridSpawner($$5, $$2, false)).bu ... 
... ild();                                                                 ... 
576             return TestCommand.trackAndStartRunner($$3, $$4, $$7);     ... 
577          }                                                             ... 
578       }                                                                ... 
579                                                                        ... 
580       public int run(int $$0, int $$1) {                               ... 
581          return this.run(RetryOptions.noRetries(), $$0, $$1);          ... 
582       }                                                                ... 
583                                                                        ... 
584       public int run(int $$0) {                                        ... 
585          return this.run(RetryOptions.noRetries(), $$0, 8);            ... 
586       }                                                                ... 
587                                                                        ... 
588       public int run(RetryOptions $$0, int $$1) {                      ... 
589          return this.run($$0, $$1, 8);                                 ... 
590       }                                                                ... 
591                                                                        ... 
592       public int run(RetryOptions $$0) {                               ... 
593          return this.run($$0, 0, 8);                                   ... 
594       }                                                                ... 
595                                                                        ... 
596       public int run() {                                               ... 
597          return this.run(RetryOptions.noRetries());                    ... 
598       }                                                                ... 
599                                                                        ... 
600       public int locate() {                                            ... 
601          TestCommand.say(this.finder.source(), "Started locating test  ... 
... structures, this might take a while..");                               ... 
602          MutableInt $$0 = new MutableInt(0);                           ... 
603          BlockPos $$1 = BlockPos.containing(this.finder.source().getPo ... 
... sition());                                                             ... 
604          this.finder                                                   ... 
605             .findStructureBlockPos()                                   ... 
606             .forEach(                                                  ... 
607                $$2x -> {                                               ... 
608                   StructureBlockEntity $$3 = (StructureBlockEntity)thi ... 
... s.finder.source().getLevel().getBlockEntity($$2x);                     ... 
609                   if ($$3 != null) {                                   ... 
610                      Direction $$4 = $$3.getRotation().rotate(Directio ... 
... n.NORTH);                                                              ... 
611                      BlockPos $$5 = $$3.getBlockPos().relative($$4, 2) ... 
... ;                                                                      ... 
612                      int $$6 = (int)$$4.getOpposite().toYRot();        ... 
613                      String $$7 = String.format("/tp @s %d %d %d %d 0" ... 
... , $$5.getX(), $$5.getY(), $$5.getZ(), $$6);                            ... 
614                      int $$8 = $$1.getX() - $$2x.getX();               ... 
615                      int $$9 = $$1.getZ() - $$2x.getZ();               ... 
616                      int $$10 = Mth.floor(Mth.sqrt((float)($$8 * $$8 + ... 
...  $$9 * $$9)));                                                         ... 
617                      Component $$11 = ComponentUtils.wrapInSquareBrack ... 
... ets(Component.translatable("chat.coordinates", $$2x.getX(), $$2x.getY( ... 
... ), $$2x.getZ()))                                                       ... 
618                         .withStyle(                                    ... 
619                            $$1xx -> $$1xx.withColor(ChatFormatting.GRE ... 
... EN)                                                                    ... 
620                                  .withClickEvent(new ClickEvent.Sugges ... 
... tCommand($$7))                                                         ... 
621                                  .withHoverEvent(new HoverEvent.ShowTe ... 
... xt(Component.translatable("chat.coordinates.tooltip")))                ... 
622                         );                                             ... 
623                      Component $$12 = Component.literal("Found structu ... 
... re at: ").append($$11).append(" (distance: " + $$10 + ")");            ... 
624                      this.finder.source().sendSuccess(() -> $$12, fals ... 
... e);                                                                    ... 
625                      $$0.increment();                                  ... 
626                   }                                                    ... 
627                }                                                       ... 
628             );                                                         ... 
629          int $$2 = $$0.intValue();                                     ... 
630          if ($$2 == 0) {                                               ... 
631             TestCommand.say(this.finder.source().getLevel(), "No such  ... 
... test structure found", ChatFormatting.RED);                            ... 
632             return 0;                                                  ... 
633          } else {                                                      ... 
634             TestCommand.say(this.finder.source().getLevel(), "Finished ... 
...  locating, found " + $$2 + " structure(s)", ChatFormatting.GREEN);     ... 
635             return 1;                                                  ... 
636          }                                                             ... 
637       }                                                                ... 
638    }                                                                   553    }
639                                                                        554 
640    static record TestBatchSummaryDisplayer(CommandSourceStack source)  555    static record TestBatchSummaryDisplayer(CommandSourceStack source) 
... implements GameTestBatchListener {                                     ... implements GameTestBatchListener {
641       @Override                                                        556       @Override
642       public void testBatchStarting(GameTestBatch $$0) {               557       public void testBatchStarting(GameTestBatch $$0) {
643          TestCommand.say(this.source, "Starting batch: " + $$0.name()) 558          this.source.sendSuccess(() -> Component.translatable("command
... ;                                                                      ... s.test.batch.starting", $$0.environment().getRegisteredName(), $$0.ind
...                                                                        ... ex()), true);
644       }                                                                559       }
645                                                                        560 
646       @Override                                                        561       @Override
647       public void testBatchFinished(GameTestBatch $$0) {               562       public void testBatchFinished(GameTestBatch $$0) {
648       }                                                                563       }
649    }                                                                   564    }
650                                                                        565 
651    public static record TestSummaryDisplayer(ServerLevel level, Multip 566    public static record TestSummaryDisplayer(CommandSourceStack source
... leTestTracker tracker) implements GameTestListener {                   ... , MultipleTestTracker tracker) implements GameTestListener {
652       @Override                                                        567       @Override
653       public void testStructureLoaded(GameTestInfo $$0) {              568       public void testStructureLoaded(GameTestInfo $$0) {
654       }                                                                569       }
655                                                                        570 
656       @Override                                                        571       @Override
657       public void testPassed(GameTestInfo $$0, GameTestRunner $$1) {   572       public void testPassed(GameTestInfo $$0, GameTestRunner $$1) {
658          showTestSummaryIfAllDone(this.level, this.tracker);           573          this.showTestSummaryIfAllDone();
659       }                                                                574       }
660                                                                        575 
661       @Override                                                        576       @Override
662       public void testFailed(GameTestInfo $$0, GameTestRunner $$1) {   577       public void testFailed(GameTestInfo $$0, GameTestRunner $$1) {
663          showTestSummaryIfAllDone(this.level, this.tracker);           578          this.showTestSummaryIfAllDone();
664       }                                                                579       }
665                                                                        580 
666       @Override                                                        581       @Override
667       public void testAddedForRerun(GameTestInfo $$0, GameTestInfo $$1 582       public void testAddedForRerun(GameTestInfo $$0, GameTestInfo $$1
... , GameTestRunner $$2) {                                                ... , GameTestRunner $$2) {
668          this.tracker.addTestToTrack($$1);                             583          this.tracker.addTestToTrack($$1);
669       }                                                                584       }
670                                                                        585 
671       private static void showTestSummaryIfAllDone(ServerLevel $$0, Mu 586       private void showTestSummaryIfAllDone() {
... ltipleTestTracker $$1) {                                               ... 
672          if ($$1.isDone()) {                                           587          if (this.tracker.isDone()) {
673             TestCommand.say($$0, "GameTest done! " + $$1.getTotalCount 588             this.source.sendSuccess(() -> Component.translatable("comm
... () + " tests were run", ChatFormatting.WHITE);                         ... ands.test.summary", this.tracker.getTotalCount()).withStyle(ChatFormat
...                                                                        ... ting.WHITE), true);
674             if ($$1.hasFailedRequired()) {                             589             if (this.tracker.hasFailedRequired()) {
675                TestCommand.say($$0, $$1.getFailedRequiredCount() + " r 590                this.source.sendFailure(Component.translatable("command
... equired tests failed :(", ChatFormatting.RED);                         ... s.test.summary.failed", this.tracker.getFailedRequiredCount()));
676             } else {                                                   591             } else {
677                TestCommand.say($$0, "All required tests passed :)", Ch 592                this.source.sendSuccess(() -> Component.translatable("c
... atFormatting.GREEN);                                                   ... ommands.test.summary.all_required_passed").withStyle(ChatFormatting.GR
...                                                                        ... EEN), true);
678             }                                                          593             }
679                                                                        594 
680             if ($$1.hasFailedOptional()) {                             595             if (this.tracker.hasFailedOptional()) {
681                TestCommand.say($$0, $$1.getFailedOptionalCount() + " o 596                this.source.sendSystemMessage(Component.translatable("c
... ptional tests failed", ChatFormatting.GRAY);                           ... ommands.test.summary.optional_failed", this.tracker.getFailedOptionalC
...                                                                        ... ount()));
682             }                                                          597             }
683          }                                                             598          }
684       }                                                                599       }

net/minecraft/world/item/CreativeModeTabs.java --- 1/4 --- Text (exceeded DFT_GRAPH_LIMIT)
25 import net.minecraft.tags.InstrumentTags;                               25 import net.minecraft.tags.InstrumentTags;
26 import net.minecraft.tags.PaintingVariantTags;                          26 import net.minecraft.tags.PaintingVariantTags;
27 import net.minecraft.tags.TagKey;                                       27 import net.minecraft.tags.TagKey;
28 import net.minecraft.world.entity.decoration.Painting;                  .. 
29 import net.minecraft.world.entity.decoration.PaintingVariant;           28 import net.minecraft.world.entity.decoration.PaintingVariant;
30 import net.minecraft.world.entity.raid.Raid;                            29 import net.minecraft.world.entity.raid.Raid;
31 import net.minecraft.world.flag.FeatureFlagSet;                         30 import net.minecraft.world.flag.FeatureFlagSet;
32 import net.minecraft.world.item.alchemy.Potion;                         31 import net.minecraft.world.item.alchemy.Potion;
33 import net.minecraft.world.item.alchemy.PotionContents;                 32 import net.minecraft.world.item.alchemy.PotionContents;
34 import net.minecraft.world.item.component.CustomData;                   .. 
35 import net.minecraft.world.item.component.Fireworks;                    33 import net.minecraft.world.item.component.Fireworks;
36 import net.minecraft.world.item.component.OminousBottleAmplifier;       34 import net.minecraft.world.item.component.OminousBottleAmplifier;
37 import net.minecraft.world.item.enchantment.Enchantment;                35 import net.minecraft.world.item.enchantment.Enchantment;

net/minecraft/world/item/CreativeModeTabs.java --- 2/4 --- Text (exceeded DFT_GRAPH_LIMIT)
40 import net.minecraft.world.level.block.Blocks;                          38 import net.minecraft.world.level.block.Blocks;
41 import net.minecraft.world.level.block.LightBlock;                      39 import net.minecraft.world.level.block.LightBlock;
42 import net.minecraft.world.level.block.SuspiciousEffectHolder;          40 import net.minecraft.world.level.block.SuspiciousEffectHolder;
..                                                                         41 import net.minecraft.world.level.block.TestBlock;
..                                                                         42 import net.minecraft.world.level.block.state.properties.TestBlockMode;
43                                                                         43 
44 public class CreativeModeTabs {                                         44 public class CreativeModeTabs {
45    private static final ResourceLocation INVENTORY_BACKGROUND = Creativ 45    private static final ResourceLocation INVENTORY_BACKGROUND = Creativ
   eModeTab.createTextureLocation("inventory");                               eModeTab.createTextureLocation("inventory");

net/minecraft/world/item/CreativeModeTabs.java --- 3/4 --- Text (exceeded DFT_GRAPH_LIMIT)
1815                      $$1.accept(Items.STRUCTURE_VOID);                1815                      $$1.accept(Items.STRUCTURE_VOID);
1816                      $$1.accept(Items.BARRIER);                       1816                      $$1.accept(Items.BARRIER);
1817                      $$1.accept(Items.DEBUG_STICK);                   1817                      $$1.accept(Items.DEBUG_STICK);
....                                                                       1818                      $$1.accept(Items.TEST_INSTANCE_BLOCK);
1818                                                                       1819 
1819                      for (int $$2 = 15; $$2 >= 0; $$2--) {            1820                      for (TestBlockMode $$2 : TestBlockMode.values())
....                                                                       ....  {
1820                         $$1.accept(LightBlock.setLightOnStack(new Ite 1821                         $$1.accept(TestBlock.setModeOnStack(new ItemS
.... mStack(Items.LIGHT), $$2));                                           .... tack(Items.TEST_BLOCK), $$2));
1821                      }                                                1822                      }
1822                                                                       1823 
....                                                                       1824                      for (int $$3 = 15; $$3 >= 0; $$3--) {
....                                                                       1825                         $$1.accept(LightBlock.setLightOnStack(new Ite
....                                                                       .... mStack(Items.LIGHT), $$3));
....                                                                       1826                      }
....                                                                       1827 
1823                      $$0x.holders()                                   1828                      $$0x.holders()
1824                         .lookup(Registries.PAINTING_VARIANT)          1829                         .lookup(Registries.PAINTING_VARIANT)
1825                         .ifPresent(                                   1830                         .ifPresent(

net/minecraft/world/item/CreativeModeTabs.java --- 4/4 --- Text (exceeded DFT_GRAPH_LIMIT)
1935       CreativeModeTab.TabVisibility $$4                               1940       CreativeModeTab.TabVisibility $$4
1936    ) {                                                                1941    ) {
1937       RegistryOps<Tag> $$5 = $$1.createSerializationContext(NbtOps.IN 1942       RegistryOps<Tag> $$5 = $$1.createSerializationContext(NbtOps.IN
.... STANCE);                                                              .... STANCE);
1938       $$2.listElements()                                              1943       $$2.listElements().filter($$3).sorted(PAINTING_COMPARATOR).forE
....                                                                       .... ach($$2x -> {
1939          .filter($$3)                                                 .... 
1940          .sorted(PAINTING_COMPARATOR)                                 .... 
1941          .forEach(                                                    .... 
1942             $$3x -> {                                                 .... 
1943                CustomData $$4x = CustomData.EMPTY                     1944          ItemStack $$3x = new ItemStack(Items.PAINTING);
1944                   .update($$5, Painting.VARIANT_MAP_CODEC, $$3x)      .... 
1945                   .getOrThrow()                                       .... 
1946                   .update($$0xx -> $$0xx.putString("id", "minecraft:p .... 
.... ainting"));                                                           .... 
1947                ItemStack $$5x = new ItemStack(Items.PAINTING);        .... 
1948                $$5x.set(DataComponents.ENTITY_DATA, $$4x);            1945          $$3x.set(DataComponents.PAINTING_VARIANT, $$2x);
1949                $$0.accept($$5x, $$4);                                 1946          $$0.accept($$3x, $$4);
1950             }                                                         1947       });
1951          );                                                           .... 
1952    }                                                                  1948    }
1953                                                                       1949 
1954    public static List<CreativeModeTab> tabs() {                       1950    public static List<CreativeModeTab> tabs() {

net/minecraft/world/entity/Entity.java --- 1/28 --- Text (exceeded DFT_GRAPH_LIMIT)
12 import it.unimi.dsi.fastutil.longs.LongSet;                             12 import it.unimi.dsi.fastutil.longs.LongSet;
13 import it.unimi.dsi.fastutil.objects.Object2DoubleArrayMap;             13 import it.unimi.dsi.fastutil.objects.Object2DoubleArrayMap;
14 import it.unimi.dsi.fastutil.objects.Object2DoubleMap;                  14 import it.unimi.dsi.fastutil.objects.Object2DoubleMap;
15 import it.unimi.dsi.fastutil.objects.ReferenceArrayList;                .. 
16 import java.util.ArrayList;                                             15 import java.util.ArrayList;
17 import java.util.Arrays;                                                16 import java.util.Arrays;
18 import java.util.HashSet;                                               17 import java.util.HashSet;

net/minecraft/world/entity/Entity.java --- 2/28 --- Text (exceeded DFT_GRAPH_LIMIT)
41 import net.minecraft.core.Holder;                                       40 import net.minecraft.core.Holder;
42 import net.minecraft.core.RegistryAccess;                               41 import net.minecraft.core.RegistryAccess;
43 import net.minecraft.core.SectionPos;                                   42 import net.minecraft.core.SectionPos;
..                                                                         43 import net.minecraft.core.component.DataComponentGetter;
..                                                                         44 import net.minecraft.core.component.DataComponentType;
..                                                                         45 import net.minecraft.core.component.DataComponents;
44 import net.minecraft.core.particles.BlockParticleOption;                46 import net.minecraft.core.particles.BlockParticleOption;
45 import net.minecraft.core.particles.ParticleTypes;                      47 import net.minecraft.core.particles.ParticleTypes;
46 import net.minecraft.nbt.CompoundTag;                                   48 import net.minecraft.nbt.CompoundTag;

net/minecraft/world/entity/Entity.java --- 3/28 --- Text (exceeded DFT_GRAPH_LIMIT)
136 import net.minecraft.world.scores.PlayerTeam;                          138 import net.minecraft.world.scores.PlayerTeam;
137 import net.minecraft.world.scores.ScoreHolder;                         139 import net.minecraft.world.scores.ScoreHolder;
138 import net.minecraft.world.scores.Team;                                140 import net.minecraft.world.scores.Team;
...                                                                        141 import org.jetbrains.annotations.Contract;
139 import org.slf4j.Logger;                                               142 import org.slf4j.Logger;
140                                                                        143 
141 public abstract class Entity implements SyncedDataHolder, Nameable, En 144 public abstract class Entity implements SyncedDataHolder, Nameable, En
... tityAccess, ScoreHolder {                                              ... tityAccess, ScoreHolder, DataComponentGetter {
142    private static final Logger LOGGER = LogUtils.getLogger();          145    private static final Logger LOGGER = LogUtils.getLogger();
143    public static final String ID_TAG = "id";                           146    public static final String ID_TAG = "id";
144    public static final String PASSENGERS_TAG = "Passengers";           147    public static final String PASSENGERS_TAG = "Passengers";

net/minecraft/world/entity/Entity.java --- 4/28 --- Text (exceeded DFT_GRAPH_LIMIT)
192    public static final float DEFAULT_BB_HEIGHT = 1.8F;                 195    public static final float DEFAULT_BB_HEIGHT = 1.8F;
193    public float moveDist;                                              196    public float moveDist;
194    public float flyDist;                                               197    public float flyDist;
195    public float fallDistance;                                          198    public double fallDistance;
196    private float nextStep = 1.0F;                                      199    private float nextStep = 1.0F;
197    public double xOld;                                                 200    public double xOld;
198    public double yOld;                                                 201    public double yOld;

net/minecraft/world/entity/Entity.java --- 5/28 --- Text (exceeded DFT_GRAPH_LIMIT)
251    @Nullable                                                           254    @Nullable
252    private BlockState inBlockState = null;                             255    private BlockState inBlockState = null;
253    private final List<Entity.Movement> movementThisTick = new ArrayLis 256    private final List<Entity.Movement> movementThisTick = new ArrayLis
... t<>();                                                                 ... t<>();
254    private final List<BlockState> blocksInside = new ReferenceArrayLis ... 
... t<>();                                                                 ... 
255    private final LongSet visitedBlocks = new LongOpenHashSet();        257    private final LongSet visitedBlocks = new LongOpenHashSet();
...                                                                        258    private final Entity.FireStateVisitor fireStateVisitor = new Entity
...                                                                        ... .FireStateVisitor();
256                                                                        259 
257    public Entity(EntityType<?> $$0, Level $$1) {                       260    public Entity(EntityType<?> $$0, Level $$1) {
258       this.type = $$0;                                                 261       this.type = $$0;

net/minecraft/world/entity/Entity.java --- 6/28 --- Text (exceeded DFT_GRAPH_LIMIT)
474                                                                        477 
475             if (this.getTicksFrozen() > 0) {                           478             if (this.getTicksFrozen() > 0) {
476                this.setTicksFrozen(0);                                 479                this.setTicksFrozen(0);
477                this.level().levelEvent(null, 1009, this.blockPosition, 480                this.playEntityOnFireExtinguishedSound();
...  1);                                                                   ... 
478             }                                                          481             }
479          }                                                             482          }
480       } else {                                                         483       } else {
481          this.clearFire();                                             484          this.clearFire();
482       }                                                                485       }
483                                                                        486 
484       if (this.isInLava()) {                                           487       if (this.isInLava()) {
485          this.lavaHurt();                                              488          this.fallDistance *= 0.5;
486          this.fallDistance *= 0.5F;                                    ... 
487       }                                                                489       }
488                                                                        490 
489       this.checkBelowWorld();                                          491       this.checkBelowWorld();

net/minecraft/world/entity/Entity.java --- 7/28 --- Text (exceeded DFT_GRAPH_LIMIT)
652          Vec3 $$3 = this.collide($$1);                                 654          Vec3 $$3 = this.collide($$1);
653          double $$4 = $$3.lengthSqr();                                 655          double $$4 = $$3.lengthSqr();
654          if ($$4 > 1.0E-7 || $$1.lengthSqr() - $$4 < 1.0E-7) {         656          if ($$4 > 1.0E-7 || $$1.lengthSqr() - $$4 < 1.0E-7) {
655             if (this.fallDistance != 0.0F && $$4 >= 1.0) {             657             if (this.fallDistance != 0.0 && $$4 >= 1.0) {
656                BlockHitResult $$5 = this.level()                       658                BlockHitResult $$5 = this.level()
657                   .clip(new ClipContext(this.position(), this.position 659                   .clip(new ClipContext(this.position(), this.position
... ().add($$3), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid ... ().add($$3), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid
... .WATER, this));                                                        ... .WATER, this));
658                if ($$5.getType() != HitResult.Type.MISS) {             660                if ($$5.getType() != HitResult.Type.MISS) {

net/minecraft/world/entity/Entity.java --- 8/28 --- Text (exceeded DFT_GRAPH_LIMIT)
764          List<Entity.Movement> $$4 = List.copyOf(this.movementThisTick 766          List<Entity.Movement> $$4 = List.copyOf(this.movementThisTick
... );                                                                     ... );
765          this.movementThisTick.clear();                                767          this.movementThisTick.clear();
766          boolean $$5 = this.isOnFire();                                768          boolean $$5 = this.isOnFire();
767          this.checkInsideBlocks($$4, this.blocksInside);               769          this.fireStateVisitor.reset($$5);
768          boolean $$6 = false;                                          770          this.checkInsideBlocks($$4, this.fireStateVisitor);
769          boolean $$7 = false;                                          ... 
770                                                                        ... 
771          for (BlockState $$8 : this.blocksInside) {                    ... 
772             if ($$8.is(Blocks.LAVA)) {                                 ... 
773                $$6 = true;                                             ... 
774                $$5 = true;                                             ... 
775                $$7 = false;                                            ... 
776             } else if ($$8.is(BlockTags.FIRE)) {                       ... 
777                $$5 = true;                                             ... 
778                $$7 = false;                                            771          if (this.fireStateVisitor.touchedLava) {
779             } else if ($$5 && ($$8.is(Blocks.WATER) || $$8.is(Blocks.P ... 
... OWDER_SNOW) || $$8.is(Blocks.BUBBLE_COLUMN))) {                        ... 
780                $$5 = false;                                            ... 
781                $$7 = true;                                             ... 
782             }                                                          ... 
783          }                                                             ... 
784                                                                        ... 
785          this.blocksInside.clear();                                    ... 
786          if ($$6) {                                                    ... 
787             this.lavaHurt();                                           772             this.lavaHurt();
788          }                                                             773          }
789                                                                        774 
790          if ($$7) {                                                    775          if (!this.fireStateVisitor.isOnFire) {
791             if (!this.level.isClientSide()) {                          ... 
792                this.playEntityOnFireExtinguishedSound();               ... 
793             }                                                          ... 
794                                                                        ... 
795             this.clearFire();                                          776             this.clearFire();
796          }                                                             777          }
797                                                                        778 
798          if (!$$5 && this.remainingFireTicks <= 0) {                   779          if ($$5 && !this.isOnFire()) {
...                                                                        780             this.playEntityOnFireExtinguishedSound();
...                                                                        781          }
...                                                                        782 
...                                                                        783          if (!this.fireStateVisitor.isOnFire && this.remainingFireTick
...                                                                        ... s <= 0) {
799             this.setRemainingFireTicks(-this.getFireImmuneTicks());    784             this.setRemainingFireTicks(-this.getFireImmuneTicks());
800          }                                                             785          }
801       }                                                                786       }

net/minecraft/world/entity/Entity.java --- 9/28 --- Text (exceeded DFT_GRAPH_LIMIT)
835    }                                                                   820    }
836                                                                        821 
837    protected void playEntityOnFireExtinguishedSound() {                822    protected void playEntityOnFireExtinguishedSound() {
838       this.playSound(SoundEvents.GENERIC_EXTINGUISH_FIRE, 0.7F, 1.6F + 823       if (!this.level.isClientSide()) {
...  (this.random.nextFloat() - this.random.nextFloat()) * 0.4F);          ... 
...                                                                        824          this.level()
...                                                                        825             .playSound(
...                                                                        826                null,
...                                                                        827                this.getX(),
...                                                                        828                this.getY(),
...                                                                        829                this.getZ(),
...                                                                        830                SoundEvents.GENERIC_EXTINGUISH_FIRE,
...                                                                        831                this.getSoundSource(),
...                                                                        832                0.7F,
...                                                                        833                1.6F + (this.random.nextFloat() - this.random.nextFloat
...                                                                        ... ()) * 0.4F
...                                                                        834             );
...                                                                        835       }
839    }                                                                   836    }
840                                                                        837 
841    public void extinguishFire() {                                      838    public void extinguishFire() {
842       if (!this.level().isClientSide && this.wasOnFire) {              839       if (this.isOnFire()) {
843          this.playEntityOnFireExtinguishedSound();                     840          this.playEntityOnFireExtinguishedSound();
844       }                                                                841       }
845                                                                        842 

net/minecraft/world/entity/Entity.java --- 10/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1070       this.movementThisTick.add(new Entity.Movement($$0, $$1));       1067       this.movementThisTick.add(new Entity.Movement($$0, $$1));
1071    }                                                                  1068    }
1072                                                                       1069 
1073    private void checkInsideBlocks(List<Entity.Movement> $$0, List<Blo 1070    private void checkInsideBlocks(List<Entity.Movement> $$0, Entity.S
.... ckState> $$1) {                                                       .... tateVisitor $$1) {
1074       if (this.isAffectedByBlocks()) {                                1071       if (this.isAffectedByBlocks()) {
1075          LongSet $$2 = this.visitedBlocks;                            1072          LongSet $$2 = this.visitedBlocks;
1076                                                                       1073 

net/minecraft/world/entity/Entity.java --- 11/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1086                                                                       1083 
1087                BlockState $$8 = this.level().getBlockState($$7);      1084                BlockState $$8 = this.level().getBlockState($$7);
1088                if (!$$8.isAir() && $$2.add($$7.asLong())) {           1085                if (!$$8.isAir() && $$2.add($$7.asLong())) {
1089                   try {                                               1086                   VoxelShape $$9 = $$8.getEntityInsideCollisionShape(
....                                                                       .... this.level(), $$7);
1090                      VoxelShape $$9 = $$8.getEntityInsideCollisionSha 1087                   boolean $$10 = $$9 == Shapes.block() || this.collid
.... pe(this.level(), $$7);                                                .... edWithShapeMovingFrom($$4, $$5, $$9.move(new Vec3($$7)).toAabbs());
....                                                                       1088                   if ($$10) {
....                                                                       1089                      try {
....                                                                       1090                         $$8.entityInside(this.level(), $$7, this);
1091                      if ($$9 != Shapes.block() && !this.collidedWithS 1091                         this.onInsideBlock($$8);
.... hapeMovingFrom($$4, $$5, $$7, $$9)) {                                 .... 
....                                                                       1092                      } catch (Throwable var18) {
....                                                                       1093                         CrashReport $$12 = CrashReport.forThrowable(v
....                                                                       .... ar18, "Colliding entity with block");
....                                                                       1094                         CrashReportCategory $$13 = $$12.addCategory("
....                                                                       .... Block being collided with");
....                                                                       1095                         CrashReportCategory.populateBlockDetails($$13
....                                                                       .... , this.level(), $$7, $$8);
....                                                                       1096                         CrashReportCategory $$14 = $$12.addCategory("
....                                                                       .... Entity being checked for collision");
....                                                                       1097                         this.fillCrashReportCategory($$14);
1092                         continue;                                     1098                         throw new ReportedException($$12);
1093                      }                                                1099                      }
1094                                                                       .... 
1095                      $$8.entityInside(this.level(), $$7, this);       .... 
1096                      this.onInsideBlock($$8);                         .... 
1097                   } catch (Throwable var16) {                         .... 
1098                      CrashReport $$11 = CrashReport.forThrowable(var1 .... 
.... 6, "Colliding entity with block");                                    .... 
1099                      CrashReportCategory $$12 = $$11.addCategory("Blo .... 
.... ck being collided with");                                             .... 
1100                      CrashReportCategory.populateBlockDetails($$12, t .... 
.... his.level(), $$7, $$8);                                               .... 
1101                      CrashReportCategory $$13 = $$11.addCategory("Ent .... 
.... ity being checked for collision");                                    .... 
1102                      this.fillCrashReportCategory($$13);              .... 
1103                      throw new ReportedException($$11);               .... 
1104                   }                                                   1100                   }
1105                                                                       1101 
1106                   $$1.add($$8);                                       1102                   boolean $$15 = this.collidedWithFluid($$8.getFluidS
....                                                                       .... tate(), $$7, $$4, $$5);
....                                                                       1103                   $$1.visit($$8, $$10, $$15);
1107                }                                                      1104                }
1108             }                                                         1105             }
1109          }                                                            1106          }

net/minecraft/world/entity/Entity.java --- 12/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1112       }                                                               1109       }
1113    }                                                                  1110    }
1114                                                                       1111 
1115    private boolean collidedWithShapeMovingFrom(Vec3 $$0, Vec3 $$1, Bl 1112    private boolean collidedWithFluid(FluidState $$0, BlockPos $$1, Ve
.... ockPos $$2, VoxelShape $$3) {                                         .... c3 $$2, Vec3 $$3) {
1116       AABB $$4 = this.makeBoundingBox($$0);                           1113       AABB $$4 = $$0.getAABB(this.level(), $$1);
1117       Vec3 $$5 = $$1.subtract($$0);                                   .... 
1118       return $$4.collidedAlongVector($$5, $$3.move(new Vec3($$2)).toA 1114       return $$4 != null && this.collidedWithShapeMovingFrom($$2, $$3
.... abbs());                                                              .... , List.of($$4));
1119    }                                                                  1115    }
1120                                                                       1116 
....                                                                       1117    private boolean collidedWithShapeMovingFrom(Vec3 $$0, Vec3 $$1, Li
....                                                                       .... st<AABB> $$2) {
....                                                                       1118       AABB $$3 = this.makeBoundingBox($$0);
....                                                                       1119       Vec3 $$4 = $$1.subtract($$0);
....                                                                       1120       return $$3.collidedAlongVector($$4, $$2);
....                                                                       1121    }
....                                                                       1122 
1121    protected void onInsideBlock(BlockState $$0) {                     1123    protected void onInsideBlock(BlockState $$0) {
1122    }                                                                  1124    }
1123                                                                       1125 

net/minecraft/world/entity/Entity.java --- 13/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1259                                                                       1261 
1260    protected void checkFallDamage(double $$0, boolean $$1, BlockState 1262    protected void checkFallDamage(double $$0, boolean $$1, BlockState
....  $$2, BlockPos $$3) {                                                 ....  $$2, BlockPos $$3) {
1261       if (!this.isInWater() && $$0 < 0.0) {                           1263       if (!this.isInWater() && $$0 < 0.0) {
1262          this.fallDistance -= (float)$$0;                             1264          this.fallDistance -= (double)((float)$$0);
1263       }                                                               1265       }
1264                                                                       1266 
1265       if ($$1) {                                                      1267       if ($$1) {
1266          if (this.fallDistance > 0.0F) {                              1268          if (this.fallDistance > 0.0) {
1267             $$2.getBlock().fallOn(this.level(), $$2, $$3, this, this. 1269             $$2.getBlock().fallOn(this.level(), $$2, $$3, this, this.
.... fallDistance);                                                        .... fallDistance);
1268             this.level()                                              1270             this.level()
1269                .gameEvent(                                            1271                .gameEvent(

net/minecraft/world/entity/Entity.java --- 14/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1281       return this.getType().fireImmune();                             1283       return this.getType().fireImmune();
1282    }                                                                  1284    }
1283                                                                       1285 
1284    public boolean causeFallDamage(float $$0, float $$1, DamageSource  1286    public boolean causeFallDamage(double $$0, float $$1, DamageSource
.... $$2) {                                                                ....  $$2) {
1285       if (this.type.is(EntityTypeTags.FALL_DAMAGE_IMMUNE)) {          1287       if (this.type.is(EntityTypeTags.FALL_DAMAGE_IMMUNE)) {
1286          return false;                                                1288          return false;
1287       } else {                                                        1289       } else {

net/minecraft/world/entity/Entity.java --- 15/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1299       return this.wasTouchingWater;                                   1301       return this.wasTouchingWater;
1300    }                                                                  1302    }
1301                                                                       1303 
1302    private boolean isInRain() {                                       1304    boolean isInRain() {
1303       BlockPos $$0 = this.blockPosition();                            1305       BlockPos $$0 = this.blockPosition();
1304       return this.level().isRainingAt($$0) || this.level().isRainingA 1306       return this.level().isRainingAt($$0) || this.level().isRainingA
.... t(BlockPos.containing((double)$$0.getX(), this.getBoundingBox().maxY, .... t(BlockPos.containing((double)$$0.getX(), this.getBoundingBox().maxY,
....  (double)$$0.getZ()));                                                ....  (double)$$0.getZ()));
1305    }                                                                  1307    }

net/minecraft/world/entity/Entity.java --- 16/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1347                                                                       1349 
1348          this.resetFallDistance();                                    1350          this.resetFallDistance();
1349          this.wasTouchingWater = true;                                1351          this.wasTouchingWater = true;
1350          this.clearFire();                                            .... 
1351       } else {                                                        1352       } else {
1352          this.wasTouchingWater = false;                               1353          this.wasTouchingWater = false;
1353       }                                                               1354       }

net/minecraft/world/entity/Entity.java --- 17/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1465          : 0.0F;                                                      1466          : 0.0F;
1466    }                                                                  1467    }
1467                                                                       1468 
1468    public void absMoveTo(double $$0, double $$1, double $$2, float $$ 1469    public void absSnapTo(double $$0, double $$1, double $$2, float $$
.... 3, float $$4) {                                                       .... 3, float $$4) {
1469       this.absMoveTo($$0, $$1, $$2);                                  1470       this.absSnapTo($$0, $$1, $$2);
1470       this.absRotateTo($$3, $$4);                                     1471       this.absSnapRotationTo($$3, $$4);
1471    }                                                                  1472    }
1472                                                                       1473 
1473    public void absRotateTo(float $$0, float $$1) {                    1474    public void absSnapRotationTo(float $$0, float $$1) {
1474       this.setYRot($$0 % 360.0F);                                     1475       this.setYRot($$0 % 360.0F);
1475       this.setXRot(Mth.clamp($$1, -90.0F, 90.0F) % 360.0F);           1476       this.setXRot(Mth.clamp($$1, -90.0F, 90.0F) % 360.0F);
1476       this.yRotO = this.getYRot();                                    1477       this.yRotO = this.getYRot();
1477       this.xRotO = this.getXRot();                                    1478       this.xRotO = this.getXRot();
1478    }                                                                  1479    }
1479                                                                       1480 
1480    public void absMoveTo(double $$0, double $$1, double $$2) {        1481    public void absSnapTo(double $$0, double $$1, double $$2) {
1481       double $$3 = Mth.clamp($$0, -3.0E7, 3.0E7);                     1482       double $$3 = Mth.clamp($$0, -3.0E7, 3.0E7);
1482       double $$4 = Mth.clamp($$2, -3.0E7, 3.0E7);                     1483       double $$4 = Mth.clamp($$2, -3.0E7, 3.0E7);
1483       this.xo = $$3;                                                  1484       this.xo = $$3;

net/minecraft/world/entity/Entity.java --- 18/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1486       this.setPos($$3, $$1, $$4);                                     1487       this.setPos($$3, $$1, $$4);
1487    }                                                                  1488    }
1488                                                                       1489 
1489    public void moveTo(Vec3 $$0) {                                     1490    public void snapTo(Vec3 $$0) {
1490       this.moveTo($$0.x, $$0.y, $$0.z);                               1491       this.snapTo($$0.x, $$0.y, $$0.z);
1491    }                                                                  1492    }
1492                                                                       1493 
1493    public void moveTo(double $$0, double $$1, double $$2) {           1494    public void snapTo(double $$0, double $$1, double $$2) {
1494       this.moveTo($$0, $$1, $$2, this.getYRot(), this.getXRot());     1495       this.snapTo($$0, $$1, $$2, this.getYRot(), this.getXRot());
1495    }                                                                  1496    }
1496                                                                       1497 
1497    public void moveTo(BlockPos $$0, float $$1, float $$2) {           1498    public void snapTo(BlockPos $$0, float $$1, float $$2) {
1498       this.moveTo($$0.getBottomCenter(), $$1, $$2);                   1499       this.snapTo($$0.getBottomCenter(), $$1, $$2);
1499    }                                                                  1500    }
1500                                                                       1501 
1501    public void moveTo(Vec3 $$0, float $$1, float $$2) {               1502    public void snapTo(Vec3 $$0, float $$1, float $$2) {
1502       this.moveTo($$0.x, $$0.y, $$0.z, $$1, $$2);                     1503       this.snapTo($$0.x, $$0.y, $$0.z, $$1, $$2);
1503    }                                                                  1504    }
1504                                                                       1505 
1505    public void moveTo(double $$0, double $$1, double $$2, float $$3,  1506    public void snapTo(double $$0, double $$1, double $$2, float $$3, 
.... float $$4) {                                                          .... float $$4) {
1506       this.setPosRaw($$0, $$1, $$2);                                  1507       this.setPosRaw($$0, $$1, $$2);
1507       this.setYRot($$3);                                              1508       this.setYRot($$3);
1508       this.setXRot($$4);                                              1509       this.setXRot($$4);

net/minecraft/world/entity/Entity.java --- 19/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1770          Vec3 $$1 = this.getDeltaMovement();                          1771          Vec3 $$1 = this.getDeltaMovement();
1771          $$0.put("Motion", this.newDoubleList($$1.x, $$1.y, $$1.z));  1772          $$0.put("Motion", this.newDoubleList($$1.x, $$1.y, $$1.z));
1772          $$0.put("Rotation", this.newFloatList(this.getYRot(), this.g 1773          $$0.put("Rotation", this.newFloatList(this.getYRot(), this.g
.... etXRot()));                                                           .... etXRot()));
1773          $$0.putFloat("FallDistance", this.fallDistance);             1774          $$0.putDouble("fall_distance", this.fallDistance);
1774          $$0.putShort("Fire", (short)this.remainingFireTicks);        1775          $$0.putShort("Fire", (short)this.remainingFireTicks);
1775          $$0.putShort("Air", (short)this.getAirSupply());             1776          $$0.putShort("Air", (short)this.getAirSupply());
1776          $$0.putBoolean("OnGround", this.onGround());                 1777          $$0.putBoolean("OnGround", this.onGround());

net/minecraft/world/entity/Entity.java --- 20/28 --- Text (exceeded DFT_GRAPH_LIMIT)
1864          this.setOldPosAndRot();                                      1865          this.setOldPosAndRot();
1865          this.setYHeadRot(this.getYRot());                            1866          this.setYHeadRot(this.getYRot());
1866          this.setYBodyRot(this.getYRot());                            1867          this.setYBodyRot(this.getYRot());
1867          this.fallDistance = $$0.getFloat("FallDistance");            1868          this.fallDistance = $$0.getDouble("fall_distance");
1868          this.remainingFireTicks = $$0.getShort("Fire");              1869          this.remainingFireTicks = $$0.getShort("Fire");
1869          if ($$0.contains("Air")) {                                   1870          if ($$0.contains("Air")) {
1870             this.setAirSupply($$0.getShort("Air"));                   1871             this.setAirSupply($$0.getShort("Air"));

net/minecraft/world/entity/Entity.java --- 21/28 --- Text (exceeded DFT_GRAPH_LIMIT)
2202       if ($$3 != null) {                                              2203       if ($$3 != null) {
2203          $$3.interpolateTo($$0, $$1, $$2);                            2204          $$3.interpolateTo($$0, $$1, $$2);
2204       } else {                                                        2205       } else {
2205          this.moveTo($$0, $$1, $$2);                                  2206          this.setPos($$0);
....                                                                       2207          this.setRot($$1, $$2);
2206       }                                                               2208       }
2207    }                                                                  2209    }
2208                                                                       2210 

net/minecraft/world/entity/Entity.java --- 22/28 --- Text (exceeded DFT_GRAPH_LIMIT)
2542    }                                                                  2544    }
2543                                                                       2545 
2544    public void checkSlowFallDistance() {                              2546    public void checkSlowFallDistance() {
2545       if (this.getDeltaMovement().y() > -0.5 && this.fallDistance > 1 2547       if (this.getDeltaMovement().y() > -0.5 && this.fallDistance > 1
.... .0F) {                                                                .... .0) {
2546          this.fallDistance = 1.0F;                                    2548          this.fallDistance = 1.0;
2547       }                                                               2549       }
2548    }                                                                  2550    }
2549                                                                       2551 
2550    public void resetFallDistance() {                                  2552    public void resetFallDistance() {
2551       this.fallDistance = 0.0F;                                       2553       this.fallDistance = 0.0;
2552    }                                                                  2554    }
2553                                                                       2555 
2554    protected void moveTowardsClosestSpace(double $$0, double $$1, dou 2556    protected void moveTowardsClosestSpace(double $$0, double $$1, dou
     ble $$2) {                                                                 ble $$2) {

net/minecraft/world/entity/Entity.java --- 23/28 --- Text (exceeded DFT_GRAPH_LIMIT)
2674    }                                                                  2676    }
2675                                                                       2677 
2676    public void copyPosition(Entity $$0) {                             2678    public void copyPosition(Entity $$0) {
2677       this.moveTo($$0.getX(), $$0.getY(), $$0.getZ(), $$0.getYRot(),  2679       this.snapTo($$0.getX(), $$0.getY(), $$0.getZ(), $$0.getYRot(), 
.... $$0.getXRot());                                                       .... $$0.getXRot());
2678    }                                                                  2680    }
2679                                                                       2681 
2680    public void restoreFrom(Entity $$0) {                              2682    public void restoreFrom(Entity $$0) {

net/minecraft/world/entity/Entity.java --- 24/28 --- Text (exceeded DFT_GRAPH_LIMIT)
2932    }                                                                  2934    }
2933                                                                       2935 
2934    public boolean teleportTo(ServerLevel $$0, double $$1, double $$2, 2936    public boolean teleportTo(ServerLevel $$0, double $$1, double $$2,
....  double $$3, Set<Relative> $$4, float $$5, float $$6, boolean $$7) {  ....  double $$3, Set<Relative> $$4, float $$5, float $$6, boolean $$7) {
2935       float $$8 = Mth.clamp($$6, -90.0F, 90.0F);                      2937       Entity $$8 = this.teleport(new TeleportTransition($$0, new Vec3
....                                                                       .... ($$1, $$2, $$3), Vec3.ZERO, $$5, $$6, $$4, TeleportTransition.DO_NOTH
....                                                                       .... ING));
2936       Entity $$9 = this.teleport(new TeleportTransition($$0, new Vec3 .... 
.... ($$1, $$2, $$3), Vec3.ZERO, $$5, $$8, $$4, TeleportTransition.DO_NOTH .... 
.... ING));                                                                .... 
2937       return $$9 != null;                                             2938       return $$8 != null;
2938    }                                                                  2939    }
2939                                                                       2940 
2940    public void dismountTo(double $$0, double $$1, double $$2) {       2941    public void dismountTo(double $$0, double $$1, double $$2) {

net/minecraft/world/entity/Entity.java --- 25/28 --- Text (exceeded DFT_GRAPH_LIMIT)
2943                                                                       2944 
2944    public void teleportTo(double $$0, double $$1, double $$2) {       2945    public void teleportTo(double $$0, double $$1, double $$2) {
2945       if (this.level() instanceof ServerLevel) {                      2946       if (this.level() instanceof ServerLevel) {
2946          this.moveTo($$0, $$1, $$2, this.getYRot(), this.getXRot());  2947          this.snapTo($$0, $$1, $$2, this.getYRot(), this.getXRot());
2947          this.teleportPassengers();                                   2948          this.teleportPassengers();
2948       }                                                               2949       }
2949    }                                                                  2950    }
2950                                                                       2951 
2951    private void teleportPassengers() {                                2952    private void teleportPassengers() {
2952       this.getSelfAndPassengers().forEach($$0 -> {                    2953       this.getSelfAndPassengers().forEach($$0 -> {
2953          for (Entity $$1 : $$0.passengers) {                          2954          for (Entity $$1 : $$0.passengers) {
2954             $$0.positionRider($$1, Entity::moveTo);                   2955             $$0.positionRider($$1, Entity::snapTo);
2955          }                                                            2956          }
2956       });                                                             2957       });
2957    }                                                                  2958    }

net/minecraft/world/entity/Entity.java --- 26/28 --- Text (exceeded DFT_GRAPH_LIMIT)
3511       double $$3 = $$0.getY();                                        3512       double $$3 = $$0.getY();
3512       double $$4 = $$0.getZ();                                        3513       double $$4 = $$0.getZ();
3513       this.syncPacketPositionCodec($$2, $$3, $$4);                    3514       this.syncPacketPositionCodec($$2, $$3, $$4);
3514       this.moveTo($$2, $$3, $$4, $$0.getYRot(), $$0.getXRot());       3515       this.snapTo($$2, $$3, $$4, $$0.getYRot(), $$0.getXRot());
3515       this.setId($$1);                                                3516       this.setId($$1);
3516       this.setUUID($$0.getUUID());                                    3517       this.setUUID($$0.getUUID());
3517       Vec3 $$5 = new Vec3($$0.getXa(), $$0.getYa(), $$0.getZa());     3518       Vec3 $$5 = new Vec3($$0.getXa(), $$0.getYa(), $$0.getZa());

net/minecraft/world/entity/Entity.java --- 27/28 --- Text (exceeded DFT_GRAPH_LIMIT)
3674       return this.type.getDefaultLootTable();                         3675       return this.type.getDefaultLootTable();
3675    }                                                                  3676    }
3676                                                                       3677 
....                                                                       3678    protected void applyImplicitComponents(DataComponentGetter $$0) {
....                                                                       3679       this.applyImplicitComponentIfPresent($$0, DataComponents.CUSTOM
....                                                                       .... _NAME);
....                                                                       3680    }
....                                                                       3681 
....                                                                       3682    public final void applyComponentsFromItemStack(ItemStack $$0) {
....                                                                       3683       this.applyImplicitComponents($$0.getComponents());
....                                                                       3684    }
....                                                                       3685 
....                                                                       3686    @Nullable
....                                                                       3687    @Override
....                                                                       3688    public <T> T get(DataComponentType<? extends T> $$0) {
....                                                                       3689       return $$0 == DataComponents.CUSTOM_NAME ? castComponentValue((
....                                                                       .... DataComponentType<T>)$$0, this.getCustomName()) : null;
....                                                                       3690    }
....                                                                       3691 
....                                                                       3692    @Nullable
....                                                                       3693    @Contract("_,!null->!null;_,_->_")
....                                                                       3694    protected static <T> T castComponentValue(DataComponentType<T> $$0
....                                                                       .... , @Nullable Object $$1) {
....                                                                       3695       return (T)$$1;
....                                                                       3696    }
....                                                                       3697 
....                                                                       3698    public <T> void setComponent(DataComponentType<T> $$0, T $$1) {
....                                                                       3699       this.applyImplicitComponent($$0, $$1);
....                                                                       3700    }
....                                                                       3701 
....                                                                       3702    protected <T> boolean applyImplicitComponent(DataComponentType<T> 
....                                                                       .... $$0, T $$1) {
....                                                                       3703       if ($$0 == DataComponents.CUSTOM_NAME) {
....                                                                       3704          this.setCustomName(castComponentValue(DataComponents.CUSTOM_
....                                                                       .... NAME, $$1));
....                                                                       3705          return true;
....                                                                       3706       } else {
....                                                                       3707          return false;
....                                                                       3708       }
....                                                                       3709    }
....                                                                       3710 
....                                                                       3711    protected <T> boolean applyImplicitComponentIfPresent(DataComponen
....                                                                       .... tGetter $$0, DataComponentType<T> $$1) {
....                                                                       3712       T $$2 = $$0.get($$1);
....                                                                       3713       return $$2 != null ? this.applyImplicitComponent($$1, $$2) : fa
....                                                                       .... lse;
....                                                                       3714    }
....                                                                       3715 
....                                                                       3716    static class FireStateVisitor implements Entity.StateVisitor {
....                                                                       3717       boolean isOnFire = false;
....                                                                       3718       boolean touchedLava = false;
....                                                                       3719 
....                                                                       3720       public void reset(boolean $$0) {
....                                                                       3721          this.isOnFire = $$0;
....                                                                       3722          this.touchedLava = false;
....                                                                       3723       }
....                                                                       3724 
....                                                                       3725       @Override
....                                                                       3726       public void visit(BlockState $$0, boolean $$1, boolean $$2) {
....                                                                       3727          boolean $$3 = $$1 && $$0.is(Blocks.POWDER_SNOW);
....                                                                       3728          boolean $$4 = $$1 && $$0.is(BlockTags.FIRE);
....                                                                       3729          boolean $$5 = $$2 && $$0.getFluidState().is(FluidTags.LAVA);
....                                                                       3730          boolean $$6 = $$2 && $$0.getFluidState().is(FluidTags.WATER)
....                                                                       .... ;
....                                                                       3731          if ($$5) {
....                                                                       3732             this.touchedLava = true;
....                                                                       3733             this.isOnFire = true;
....                                                                       3734          } else if ($$4) {
....                                                                       3735             this.isOnFire = true;
....                                                                       3736          } else if (this.isOnFire && ($$3 || $$6)) {
....                                                                       3737             this.isOnFire = false;
....                                                                       3738          }
....                                                                       3739       }
....                                                                       3740    }
....                                                                       3741 
3677    @FunctionalInterface                                               3742    @FunctionalInterface
3678    public interface MoveFunction {                                    3743    public interface MoveFunction {

net/minecraft/world/entity/Entity.java --- 28/28 --- Text (exceeded DFT_GRAPH_LIMIT)
3731       public boolean shouldSave() {                                   3796       public boolean shouldSave() {
3732          return this.save;                                            3797          return this.save;
3733       }                                                               3798       }
....                                                                       3799    }
....                                                                       3800 
....                                                                       3801    interface StateVisitor {
....                                                                       3802       void visit(BlockState var1, boolean var2, boolean var3);
3734    }                                                                  3803    }
3735 }                                                                     3804 }

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 1/15 --- Text (exceeded DFT_GRAPH_LIMIT)
17 import net.minecraft.server.level.ServerPlayer;                         17 import net.minecraft.server.level.ServerPlayer;
18 import net.minecraft.sounds.SoundEvent;                                 18 import net.minecraft.sounds.SoundEvent;
19 import net.minecraft.sounds.SoundEvents;                                19 import net.minecraft.sounds.SoundEvents;
20 import net.minecraft.sounds.SoundSource;                                .. 
21 import net.minecraft.tags.ItemTags;                                     20 import net.minecraft.tags.ItemTags;
22 import net.minecraft.util.Mth;                                          21 import net.minecraft.util.Mth;
23 import net.minecraft.util.RandomSource;                                 22 import net.minecraft.util.RandomSource;
24 import net.minecraft.world.Container;                                   23 import net.minecraft.world.Container;
25 import net.minecraft.world.ContainerListener;                           .. 
26 import net.minecraft.world.DifficultyInstance;                          24 import net.minecraft.world.DifficultyInstance;
27 import net.minecraft.world.InteractionHand;                             25 import net.minecraft.world.InteractionHand;
28 import net.minecraft.world.InteractionResult;                           26 import net.minecraft.world.InteractionResult;

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 2/15 --- Text (exceeded DFT_GRAPH_LIMIT)
41 import net.minecraft.world.entity.OwnableEntity;                        39 import net.minecraft.world.entity.OwnableEntity;
42 import net.minecraft.world.entity.PlayerRideableJumping;                40 import net.minecraft.world.entity.PlayerRideableJumping;
43 import net.minecraft.world.entity.Pose;                                 41 import net.minecraft.world.entity.Pose;
44 import net.minecraft.world.entity.Saddleable;                           .. 
45 import net.minecraft.world.entity.SlotAccess;                           42 import net.minecraft.world.entity.SlotAccess;
46 import net.minecraft.world.entity.SpawnGroupData;                       43 import net.minecraft.world.entity.SpawnGroupData;
47 import net.minecraft.world.entity.ai.attributes.Attribute;              44 import net.minecraft.world.entity.ai.attributes.Attribute;

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 3/15 --- Text (exceeded DFT_GRAPH_LIMIT)
65 import net.minecraft.world.item.Items;                                  62 import net.minecraft.world.item.Items;
66 import net.minecraft.world.item.enchantment.EnchantmentEffectComponents 63 import net.minecraft.world.item.enchantment.EnchantmentEffectComponents
.. ;                                                                       .. ;
67 import net.minecraft.world.item.enchantment.EnchantmentHelper;          64 import net.minecraft.world.item.enchantment.EnchantmentHelper;
..                                                                         65 import net.minecraft.world.item.equipment.Equippable;
68 import net.minecraft.world.level.Level;                                 66 import net.minecraft.world.level.Level;
69 import net.minecraft.world.level.ServerLevelAccessor;                   67 import net.minecraft.world.level.ServerLevelAccessor;
70 import net.minecraft.world.level.block.Blocks;                          68 import net.minecraft.world.level.block.Blocks;

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 4/15 --- Text (exceeded DFT_GRAPH_LIMIT)
74 import net.minecraft.world.phys.AABB;                                   72 import net.minecraft.world.phys.AABB;
75 import net.minecraft.world.phys.Vec2;                                   73 import net.minecraft.world.phys.Vec2;
76 import net.minecraft.world.phys.Vec3;                                   74 import net.minecraft.world.phys.Vec3;
77 import net.minecraft.world.ticks.ContainerSingleItem;                   .. 
78                                                                         75 
79 public abstract class AbstractHorse extends Animal implements Container 76 public abstract class AbstractHorse extends Animal implements HasCustom
.. Listener, HasCustomInventoryScreen, OwnableEntity, PlayerRideableJumpin .. InventoryScreen, OwnableEntity, PlayerRideableJumping {
.. g, Saddleable {                                                         .. 
80    public static final int EQUIPMENT_SLOT_OFFSET = 400;                 .. 
81    public static final int CHEST_SLOT_OFFSET = 499;                     77    public static final int CHEST_SLOT_OFFSET = 499;
82    public static final int INVENTORY_SLOT_OFFSET = 500;                 78    public static final int INVENTORY_SLOT_OFFSET = 500;
83    public static final double BREEDING_CROSS_FACTOR = 0.15;             79    public static final double BREEDING_CROSS_FACTOR = 0.15;

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 5/15 --- Text (exceeded DFT_GRAPH_LIMIT)
102       .selector(PARENT_HORSE_SELECTOR);                                 98       .selector(PARENT_HORSE_SELECTOR);
103    private static final EntityDataAccessor<Byte> DATA_ID_FLAGS = Synch  99    private static final EntityDataAccessor<Byte> DATA_ID_FLAGS = Synch
... edEntityData.defineId(AbstractHorse.class, EntityDataSerializers.BYTE)  .. edEntityData.defineId(AbstractHorse.class, EntityDataSerializers.BYTE)
... ;                                                                       .. ;
104    private static final int FLAG_TAME = 2;                             100    private static final int FLAG_TAME = 2;
105    private static final int FLAG_SADDLE = 4;                           ... 
106    private static final int FLAG_BRED = 8;                             101    private static final int FLAG_BRED = 8;
107    private static final int FLAG_EATING = 16;                          102    private static final int FLAG_EATING = 16;
108    private static final int FLAG_STANDING = 32;                        103    private static final int FLAG_STANDING = 32;
109    private static final int FLAG_OPEN_MOUTH = 64;                      104    private static final int FLAG_OPEN_MOUTH = 64;
110    public static final int INV_SLOT_SADDLE = 0;                        ... 
111    public static final int INV_BASE_COUNT = 1;                         ... 
112    public static final int INVENTORY_ROWS = 3;                         105    public static final int INVENTORY_ROWS = 3;
113    private int eatingCounter;                                          106    private int eatingCounter;
114    private int mouthCounter;                                           107    private int mouthCounter;

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 6/15 --- Text (exceeded DFT_GRAPH_LIMIT)
130    protected int gallopSoundCounter;                                   123    protected int gallopSoundCounter;
131    @Nullable                                                           124    @Nullable
132    private EntityReference<LivingEntity> owner;                        125    private EntityReference<LivingEntity> owner;
133    private final Container bodyArmorAccess = new ContainerSingleItem() ... 
...  {                                                                     ... 
134       @Override                                                        ... 
135       public ItemStack getTheItem() {                                  ... 
136          return AbstractHorse.this.getBodyArmorItem();                 ... 
137       }                                                                ... 
138                                                                        126 
139       @Override                                                        ... 
140       public void setTheItem(ItemStack $$0) {                          ... 
141          AbstractHorse.this.setBodyArmorItem($$0);                     ... 
142       }                                                                ... 
143                                                                        ... 
144       @Override                                                        ... 
145       public void setChanged() {                                       ... 
146       }                                                                ... 
147                                                                        ... 
148       @Override                                                        ... 
149       public boolean stillValid(Player $$0) {                          ... 
150          return $$0.getVehicle() == AbstractHorse.this || $$0.canInter ... 
... actWithEntity(AbstractHorse.this, 4.0);                                ... 
151       }                                                                ... 
152    };                                                                  ... 
153                                                                        ... 
154    protected AbstractHorse(EntityType<? extends AbstractHorse> $$0, Le 127    protected AbstractHorse(EntityType<? extends AbstractHorse> $$0, Le
... vel $$1) {                                                             ... vel $$1) {
155       super($$0, $$1);                                                 128       super($$0, $$1);
156       this.createInventory();                                          129       this.createInventory();

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 7/15 --- Text (exceeded DFT_GRAPH_LIMIT)
248    }                                                                   221    }
249                                                                        222 
250    @Override                                                           223    @Override
251    public boolean isSaddleable() {                                     224    public boolean canUseSlot(EquipmentSlot $$0) {
252       return this.isAlive() && !this.isBaby() && this.isTamed();       225       return $$0 != EquipmentSlot.SADDLE ? super.canUseSlot($$0) : thi
...                                                                        ... s.isAlive() && !this.isBaby() && this.isTamed();
253    }                                                                   226    }
254                                                                        227 
255    @Override                                                           ... 
256    public void equipSaddle(ItemStack $$0, @Nullable SoundSource $$1) { ... 
257       this.inventory.setItem(0, $$0);                                  ... 
258    }                                                                   ... 
259                                                                        ... 
260    public void equipBodyArmor(Player $$0, ItemStack $$1) {             228    public void equipBodyArmor(Player $$0, ItemStack $$1) {
261       if (this.isEquippableInSlot($$1, EquipmentSlot.BODY)) {          229       if (this.isEquippableInSlot($$1, EquipmentSlot.BODY)) {
262          this.setBodyArmorItem($$1.consumeAndReturn(1, $$0));          230          this.setBodyArmorItem($$1.consumeAndReturn(1, $$0));

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 8/15 --- Text (exceeded DFT_GRAPH_LIMIT)
265                                                                        233 
266    @Override                                                           234    @Override
267    protected boolean canDispenserEquipIntoSlot(EquipmentSlot $$0) {    235    protected boolean canDispenserEquipIntoSlot(EquipmentSlot $$0) {
268       return $$0 == EquipmentSlot.BODY && this.isTamed() || super.canD 236       return ($$0 == EquipmentSlot.BODY || $$0 == EquipmentSlot.SADDLE
... ispenserEquipIntoSlot($$0);                                            ... ) && this.isTamed() || super.canDispenserEquipIntoSlot($$0);
269    }                                                                   237    }
270                                                                        238 
271    @Override                                                           ... 
272    public boolean isSaddled() {                                        ... 
273       return this.getFlag(4);                                          ... 
274    }                                                                   ... 
275                                                                        ... 
276    public int getTemper() {                                            239    public int getTemper() {
277       return this.temper;                                              240       return this.temper;
278    }                                                                   241    }

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 9/15 --- Text (exceeded DFT_GRAPH_LIMIT)
313    }                                                                   276    }
314                                                                        277 
315    @Override                                                           278    @Override
316    public boolean causeFallDamage(float $$0, float $$1, DamageSource $ 279    public boolean causeFallDamage(double $$0, float $$1, DamageSource 
... $2) {                                                                  ... $$2) {
317       if ($$0 > 1.0F) {                                                280       if ($$0 > 1.0) {
318          this.playSound(SoundEvents.HORSE_LAND, 0.4F, 1.0F);           281          this.playSound(SoundEvents.HORSE_LAND, 0.4F, 1.0F);
319       }                                                                282       }
320                                                                        283 

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 10/15 --- Text (exceeded DFT_GRAPH_LIMIT)
339    }                                                                   302    }
340                                                                        303 
341    public static int getInventorySize(int $$0) {                       304    public static int getInventorySize(int $$0) {
342       return $$0 * 3 + 1;                                              305       return $$0 * 3;
343    }                                                                   306    }
344                                                                        307 
345    protected void createInventory() {                                  308    protected void createInventory() {
346       SimpleContainer $$0 = this.inventory;                            309       SimpleContainer $$0 = this.inventory;
347       this.inventory = new SimpleContainer(this.getInventorySize());   310       this.inventory = new SimpleContainer(this.getInventorySize());
348       if ($$0 != null) {                                               311       if ($$0 != null) {
349          $$0.removeListener(this);                                     ... 
350          int $$1 = Math.min($$0.getContainerSize(), this.inventory.get 312          int $$1 = Math.min($$0.getContainerSize(), this.inventory.get
... ContainerSize());                                                      ... ContainerSize());
351                                                                        313 
352          for (int $$2 = 0; $$2 < $$1; $$2++) {                         314          for (int $$2 = 0; $$2 < $$1; $$2++) {

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 11/15 --- Text (exceeded DFT_GRAPH_LIMIT)
356             }                                                          318             }
357          }                                                             319          }
358       }                                                                320       }
359                                                                        ... 
360       this.inventory.addListener(this);                                ... 
361       this.syncSaddleToClients();                                      ... 
362    }                                                                   321    }
363                                                                        322 
364    protected void syncSaddleToClients() {                              ... 
365       if (!this.level().isClientSide) {                                ... 
366          this.setFlag(4, !this.inventory.getItem(0).isEmpty());        ... 
367       }                                                                ... 
368    }                                                                   ... 
369                                                                        ... 
370    @Override                                                           323    @Override
371    public void containerChanged(Container $$0) {                       324    protected Holder<SoundEvent> getEquipSound(EquipmentSlot $$0, ItemS
...                                                                        ... tack $$1, Equippable $$2) {
372       boolean $$1 = this.isSaddled();                                  ... 
373       this.syncSaddleToClients();                                      ... 
374       if (this.tickCount > 20 && !$$1 && this.isSaddled()) {           325       return (Holder<SoundEvent>)($$0 == EquipmentSlot.SADDLE ? SoundE
...                                                                        ... vents.HORSE_SADDLE : super.getEquipSound($$0, $$1, $$2));
375          this.playSound(this.getSaddleSoundEvent(), 0.5F, 1.0F);       ... 
376       }                                                                ... 
377    }                                                                   326    }
378                                                                        327 
379    @Override                                                           328    @Override

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 12/15 --- Text (exceeded DFT_GRAPH_LIMIT)
839       if (this.owner != null) {                                        788       if (this.owner != null) {
840          this.owner.store($$0, "Owner");                               789          this.owner.store($$0, "Owner");
841       }                                                                790       }
842                                                                        ... 
843       if (!this.inventory.getItem(0).isEmpty()) {                      ... 
844          $$0.put("SaddleItem", this.inventory.getItem(0).save(this.reg ... 
... istryAccess()));                                                       ... 
845       }                                                                ... 
846    }                                                                   791    }
847                                                                        792 
848    @Override                                                           793    @Override

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 13/15 --- Text (exceeded DFT_GRAPH_LIMIT)
853       this.setTemper($$0.getInt("Temper"));                            798       this.setTemper($$0.getInt("Temper"));
854       this.setTamed($$0.getBoolean("Tame"));                           799       this.setTamed($$0.getBoolean("Tame"));
855       this.owner = EntityReference.readWithOldOwnerConversion($$0, "Ow 800       this.owner = EntityReference.readWithOldOwnerConversion($$0, "Ow
... ner", this.level());                                                   ... ner", this.level());
856       if ($$0.contains("SaddleItem", 10)) {                            ... 
857          ItemStack $$1 = ItemStack.parse(this.registryAccess(), $$0.ge ... 
... tCompound("SaddleItem")).orElse(ItemStack.EMPTY);                      ... 
858          if ($$1.is(Items.SADDLE)) {                                   ... 
859             this.inventory.setItem(0, $$1);                            ... 
860          }                                                             ... 
861       }                                                                ... 
862                                                                        ... 
863       this.syncSaddleToClients();                                      ... 
864    }                                                                   801    }
865                                                                        802 
866    @Override                                                           803    @Override

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 14/15 --- Text (exceeded DFT_GRAPH_LIMIT)
1007                                                                       944 
1008    @Override                                                          945    @Override
1009    public SlotAccess getSlot(int $$0) {                               946    public SlotAccess getSlot(int $$0) {
1010       int $$1 = $$0 - 400;                                            947       int $$1 = $$0 - 500;
1011       if ($$1 == 0) {                                                 948       return $$1 >= 0 && $$1 < this.inventory.getContainerSize() ? Sl
....                                                                       ... otAccess.forContainer(this.inventory, $$1) : super.getSlot($$0);
1012          return new SlotAccess() {                                    ... 
1013             @Override                                                 ... 
1014             public ItemStack get() {                                  ... 
1015                return AbstractHorse.this.inventory.getItem(0);        ... 
1016             }                                                         ... 
1017                                                                       ... 
1018             @Override                                                 ... 
1019             public boolean set(ItemStack $$0) {                       ... 
1020                if (!$$0.isEmpty() && !$$0.is(Items.SADDLE)) {         ... 
1021                   return false;                                       ... 
1022                } else {                                               ... 
1023                   AbstractHorse.this.inventory.setItem(0, $$0);       ... 
1024                   AbstractHorse.this.syncSaddleToClients();           ... 
1025                   return true;                                        ... 
1026                }                                                      ... 
1027             }                                                         ... 
1028          };                                                           ... 
1029       } else {                                                        ... 
1030          int $$2 = $$0 - 500 + 1;                                     ... 
1031          return $$2 >= 1 && $$2 < this.inventory.getContainerSize() ? ... 
....  SlotAccess.forContainer(this.inventory, $$2) : super.getSlot($$0);   ... 
1032       }                                                               ... 
1033    }                                                                  949    }
1034                                                                       950 
1035    @Nullable                                                          951    @Nullable

net/minecraft/world/entity/animal/horse/AbstractHorse.java --- 15/15 --- Text (exceeded DFT_GRAPH_LIMIT)
1124             new Vec3(0.0, 0.15 * (double)this.standAnimO * (double)$$ 1040             new Vec3(0.0, 0.15 * (double)this.standAnimO * (double)$$
.... 2, -0.7 * (double)this.standAnimO * (double)$$2)                      .... 2, -0.7 * (double)this.standAnimO * (double)$$2)
1125                .yRot(-this.getYRot() * (float) (Math.PI / 180.0))     1041                .yRot(-this.getYRot() * (float) (Math.PI / 180.0))
1126          );                                                           1042          );
1127    }                                                                  .... 
1128                                                                       .... 
1129    public final Container getBodyArmorAccess() {                      .... 
1130       return this.bodyArmorAccess;                                    .... 
1131    }                                                                  1043    }
1132                                                                       1044 
1133    public int getInventoryColumns() {                                 1045    public int getInventoryColumns() {

net/minecraft/world/entity/animal/Fox.java --- 1/7 --- Java
1 package net.minecraft.world.entity.animal;                               1 package net.minecraft.world.entity.animal;
2                                                                          2 
.                                                                          3 import io.netty.buffer.ByteBuf;
3 import java.util.EnumSet;                                                4 import java.util.EnumSet;
4 import java.util.List;                                                   5 import java.util.List;
5 import java.util.Optional;                                               6 import java.util.Optional;

net/minecraft/world/entity/animal/Fox.java --- 2/7 --- Java
11 import net.minecraft.advancements.CriteriaTriggers;                     12 import net.minecraft.advancements.CriteriaTriggers;
12 import net.minecraft.core.BlockPos;                                     13 import net.minecraft.core.BlockPos;
13 import net.minecraft.core.Holder;                                       14 import net.minecraft.core.Holder;
..                                                                         15 import net.minecraft.core.component.DataComponentGetter;
..                                                                         16 import net.minecraft.core.component.DataComponentType;
14 import net.minecraft.core.component.DataComponents;                     17 import net.minecraft.core.component.DataComponents;
15 import net.minecraft.core.particles.ItemParticleOption;                 18 import net.minecraft.core.particles.ItemParticleOption;
16 import net.minecraft.core.particles.ParticleTypes;                      19 import net.minecraft.core.particles.ParticleTypes;
17 import net.minecraft.nbt.CompoundTag;                                   20 import net.minecraft.nbt.CompoundTag;
18 import net.minecraft.nbt.ListTag;                                       21 import net.minecraft.nbt.ListTag;
19 import net.minecraft.nbt.NbtUtils;                                      22 import net.minecraft.nbt.NbtUtils;
20 import net.minecraft.nbt.Tag;                                           23 import net.minecraft.nbt.Tag;
..                                                                         24 import net.minecraft.network.codec.ByteBufCodecs;
..                                                                         25 import net.minecraft.network.codec.StreamCodec;
21 import net.minecraft.network.syncher.EntityDataAccessor;                26 import net.minecraft.network.syncher.EntityDataAccessor;
22 import net.minecraft.network.syncher.EntityDataSerializers;             27 import net.minecraft.network.syncher.EntityDataSerializers;
23 import net.minecraft.network.syncher.SynchedEntityData;                 28 import net.minecraft.network.syncher.SynchedEntityData;

net/minecraft/world/entity/animal/Fox.java --- 3/7 --- Java
50 import net.minecraft.world.entity.Pose;                                 55 import net.minecraft.world.entity.Pose;
51 import net.minecraft.world.entity.SpawnGroupData;                       56 import net.minecraft.world.entity.SpawnGroupData;
52 import net.minecraft.world.entity.TamableAnimal;                        57 import net.minecraft.world.entity.TamableAnimal;
53 import net.minecraft.world.entity.VariantHolder;                        .. 
54 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;      58 import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
55 import net.minecraft.world.entity.ai.attributes.Attributes;             59 import net.minecraft.world.entity.ai.attributes.Attributes;
56 import net.minecraft.world.entity.ai.control.LookControl;               60 import net.minecraft.world.entity.ai.control.LookControl;

net/minecraft/world/entity/animal/Fox.java --- 4/7 --- Java
92 import net.minecraft.world.level.pathfinder.PathType;                    96 import net.minecraft.world.level.pathfinder.PathType;
93 import net.minecraft.world.phys.Vec3;                                    97 import net.minecraft.world.phys.Vec3;
94                                                                          98 
95 public class Fox extends Animal implements VariantHolder<Fox.Variant> {  99 public class Fox extends Animal {
96    private static final EntityDataAccessor<Integer> DATA_TYPE_ID = Sync 100    private static final EntityDataAccessor<Integer> DATA_TYPE_ID = Sync
.. hedEntityData.defineId(Fox.class, EntityDataSerializers.INT);           ... hedEntityData.defineId(Fox.class, EntityDataSerializers.INT);
97    private static final EntityDataAccessor<Byte> DATA_FLAGS_ID = Synche 101    private static final EntityDataAccessor<Byte> DATA_FLAGS_ID = Synche
.. dEntityData.defineId(Fox.class, EntityDataSerializers.BYTE);            ... dEntityData.defineId(Fox.class, EntityDataSerializers.BYTE);
98    private static final int FLAG_SITTING = 1;                           102    private static final int FLAG_SITTING = 1;

net/minecraft/world/entity/animal/Fox.java --- 5/7 --- Java
350       return Fox.Variant.byId(this.entityData.get(DATA_TYPE_ID));      354       return Fox.Variant.byId(this.entityData.get(DATA_TYPE_ID));
351    }                                                                   355    }
352                                                                        356 
353    public void setVariant(Fox.Variant $$0) {                           357    private void setVariant(Fox.Variant $$0) {
354       this.entityData.set(DATA_TYPE_ID, $$0.getId());                  358       this.entityData.set(DATA_TYPE_ID, $$0.getId());
355    }                                                                   359    }
...                                                                        360 
...                                                                        361    @Nullable
...                                                                        362    @Override
...                                                                        363    public <T> T get(DataComponentType<? extends T> $$0) {
...                                                                        364       return $$0 == DataComponents.FOX_VARIANT ? castComponentValue((D
...                                                                        ... ataComponentType<T>)$$0, this.getVariant()) : super.get($$0);
...                                                                        365    }
...                                                                        366 
...                                                                        367    @Override
...                                                                        368    protected void applyImplicitComponents(DataComponentGetter $$0) {
...                                                                        369       this.applyImplicitComponentIfPresent($$0, DataComponents.FOX_VAR
...                                                                        ... IANT);
...                                                                        370       super.applyImplicitComponents($$0);
...                                                                        371    }
...                                                                        372 
...                                                                        373    @Override
...                                                                        374    protected <T> boolean applyImplicitComponent(DataComponentType<T> $
...                                                                        ... $0, T $$1) {
...                                                                        375       if ($$0 == DataComponents.FOX_VARIANT) {
...                                                                        376          this.setVariant(castComponentValue(DataComponents.FOX_VARIANT
...                                                                        ... , $$1));
...                                                                        377          return true;
...                                                                        378       } else {
...                                                                        379          return super.applyImplicitComponent($$0, $$1);
...                                                                        380       }
...                                                                        381    }
356                                                                        382 
357    Stream<EntityReference<LivingEntity>> getTrustedEntities() {        383    Stream<EntityReference<LivingEntity>> getTrustedEntities() {
358       return Stream.concat(this.entityData.get(DATA_TRUSTED_ID_0).stre 384       return Stream.concat(this.entityData.get(DATA_TRUSTED_ID_0).stre
    am(), this.entityData.get(DATA_TRUSTED_ID_1).stream());                    am(), this.entityData.get(DATA_TRUSTED_ID_1).stream());

net/minecraft/world/entity/animal/Fox.java --- 6/7 --- Java
841             this.animal.resetLove();                                   867             this.animal.resetLove();
842             this.partner.resetLove();                                  868             this.partner.resetLove();
843             $$1.setAge(-24000);                                        869             $$1.setAge(-24000);
844             $$1.moveTo(this.animal.getX(), this.animal.getY(), this.an 870             $$1.snapTo(this.animal.getX(), this.animal.getY(), this.an
... imal.getZ(), 0.0F, 0.0F);                                              ... imal.getZ(), 0.0F, 0.0F);
845             $$0.addFreshEntityWithPassengers($$1);                     871             $$0.addFreshEntityWithPassengers($$1);
846             this.level.broadcastEntityEvent(this.animal, (byte)18);    872             this.level.broadcastEntityEvent(this.animal, (byte)18);
847             if ($$0.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT 873             if ($$0.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT
    )) {                                                                       )) {

net/minecraft/world/entity/animal/Fox.java --- 7/7 --- Java
1442                                                                       1468 
1443       public static final StringRepresentable.EnumCodec<Fox.Variant>  1469       public static final StringRepresentable.EnumCodec<Fox.Variant> 
.... CODEC = StringRepresentable.fromEnum(Fox.Variant::values);            .... CODEC = StringRepresentable.fromEnum(Fox.Variant::values);
1444       private static final IntFunction<Fox.Variant> BY_ID = ByIdMap.c 1470       private static final IntFunction<Fox.Variant> BY_ID = ByIdMap.c
.... ontinuous(Fox.Variant::getId, values(), ByIdMap.OutOfBoundsStrategy.Z .... ontinuous(Fox.Variant::getId, values(), ByIdMap.OutOfBoundsStrategy.Z
.... ERO);                                                                 .... ERO);
....                                                                       1471       public static final StreamCodec<ByteBuf, Fox.Variant> STREAM_CO
....                                                                       .... DEC = ByteBufCodecs.idMapper(BY_ID, Fox.Variant::getId);
1445       private final int id;                                           1472       private final int id;
1446       private final String name;                                      1473       private final String name;
1447                                                                       1474