From 7354bd6b0557bab336b3534009d4a2444a179ddb Mon Sep 17 00:00:00 2001
From: Draylar <17728338+Draylar@users.noreply.github.com>
Date: Wed, 19 Oct 2022 02:17:20 -0500
Subject: [PATCH 1/6] Add initial documentation for ArmorMaterial class
---
.../net/minecraft/item/ArmorMaterial.mapping | 72 +++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/mappings/net/minecraft/item/ArmorMaterial.mapping b/mappings/net/minecraft/item/ArmorMaterial.mapping
index cbc654cdfd..81c07d69ba 100644
--- a/mappings/net/minecraft/item/ArmorMaterial.mapping
+++ b/mappings/net/minecraft/item/ArmorMaterial.mapping
@@ -1,11 +1,83 @@
CLASS net/minecraft/class_1741 net/minecraft/item/ArmorMaterial
+ COMMENT Defines the material stats of an {@link net.minecraft.item.ArmorItem} item.
+ COMMENT
+ COMMENT
+ COMMENT To view available vanilla armor materials, visit {@link net.minecraft.item.ArmorMaterials}.
METHOD method_24355 getKnockbackResistance ()F
+ COMMENT Returns the knockback resistance value of an {@link net.minecraft.item.ArmorItem} piece using this {@link ArmorMaterial}.
+ COMMENT
+ COMMENT
+ COMMENT {@link net.minecraft.item.ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_KNOCKBACK_RESISTANCE}
+ COMMENT statistic with the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier type.
+ COMMENT
+ COMMENT @return the knockback resistance value of any {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial}
METHOD method_7694 getName ()Ljava/lang/String;
+ COMMENT Returns the {@code name} of this {@link ArmorMaterial}, which is used for locating armor texture files.
+ COMMENT
+ COMMENT
+ COMMENT The return value of this method should be in {@code snake_case}.
+ COMMENT {@link net.minecraft.client.render.entity.feature.ArmorFeatureRenderer} will expect to find an armor
+ COMMENT texture file matching {@code minecraft:textures/models/armor/{material_name}_layer_[1/2].png}
+ COMMENT based off the return result of this method.
+ COMMENT
+ COMMENT
+ COMMENT Example: given a return value of {@code cool_material}, {@code ArmorFeatureRenderer} will require a file
+ COMMENT at {@code minecraft:textures/models/armor/cool_material_layer_1.png} and {@code minecraft:textures/models/armor/cool_material_layer_2.png}.
+ COMMENT
+ COMMENT @return the {@code name} of this armor material in snake_case, used for finding armor textures
METHOD method_7695 getRepairIngredient ()Lnet/minecraft/class_1856;
+ COMMENT Returns the {@link Ingredient} used to repair items using this {@link ArmorMaterial}.
+ COMMENT
+ COMMENT
+ COMMENT By default, {@link net.minecraft.item.ArmorItem} will delegate {@link net.minecraft.item.Item#canRepair(ItemStack, ItemStack)}
+ COMMENT back to this method.
+ COMMENT
+ COMMENT @return the {@link Ingredient} required to repair items with this {@link ArmorMaterial}
METHOD method_7696 getDurability (Lnet/minecraft/class_1304;)I
+ COMMENT Returns the total amount of durability points an {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial} has.
+ COMMENT
+ COMMENT
+ COMMENT The value returned here will set the {@link net.minecraft.item.Item.Settings} max durability option when passed
+ COMMENT into {@link net.minecraft.item.ArmorItem#ArmorItem(net.minecraft.item.ArmorMaterial, EquipmentSlot, net.minecraft.item.Item.Settings)}
+ COMMENT if the value was not already specified.
+ COMMENT
+ COMMENT @return the total durability an {@link net.minecraft.item.ArmorItem} with this {@link ArmorMaterial} has
ARG 1 slot
+ COMMENT the {@link EquipmentSlot} containing the {@link net.minecraft.item.Item} with this {@link ArmorMaterial}
METHOD method_7697 getProtectionAmount (Lnet/minecraft/class_1304;)I
+ COMMENT Returns the amount of armor protection points offered by an {@link net.minecraft.item.ArmorItem}
+ COMMENT using this {@link ArmorMaterial} while it is worn by a player.
+ COMMENT
+ COMMENT
+ COMMENT The protection value returned here is applied as an {@link net.minecraft.entity.attribute.EntityAttributeModifier}
+ COMMENT to a player wearing the {@link net.minecraft.item.ArmorItem} piece via the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier.
+ COMMENT
+ COMMENT
+ COMMENT For more information on the formula used to calculate dealt damage based off armor resistance,
+ COMMENT visit the Minecraft Wiki Armor page.
+ COMMENT
+ COMMENT @return the amount of armor protection points offered by an {@link net.minecraft.item.ArmorItem} with this {@link ArmorMaterial}
ARG 1 slot
+ COMMENT the {@link EquipmentSlot} containing the {@link net.minecraft.item.Item} with this {@link ArmorMaterial}
METHOD method_7698 getEquipSound ()Lnet/minecraft/class_3414;
+ COMMENT @return the {@link SoundEvent} played when a {@link net.minecraft.entity.LivingEntity} equips an {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial}
METHOD method_7699 getEnchantability ()I
+ COMMENT Returns the base enchantment value used by {@link net.minecraft.item.ArmorItem} with this material.
+ COMMENT
+ COMMENT
+ COMMENT By default, {@link net.minecraft.item.ArmorItem} will override {@link net.minecraft.item.Item#getEnchantability()}
+ COMMENT and delegate the call back to this method.
+ COMMENT
+ COMMENT
+ COMMENT A higher return value will result in better enchantment results when using an {@code Enchanting Table}.
+ COMMENT The highest enchantability value in vanilla is Netherite, at {@code 37}.
+ COMMENT
+ COMMENT @return the enchantment value sent back to {@link net.minecraft.item.Item#getEnchantability()} for armor using this material
METHOD method_7700 getToughness ()F
+ COMMENT Returns the toughness value of an {@link net.minecraft.item.ArmorItem} piece using this {@link ArmorMaterial}.
+ COMMENT
+ COMMENT
+ COMMENT {@link net.minecraft.item.ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_ARMOR_TOUGHNESS}
+ COMMENT statistic with the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier type.
+ COMMENT
+ COMMENT @return the toughness value of any {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial}
From ce238d183fa1ae35b11b4b400a8fafa8add185c0 Mon Sep 17 00:00:00 2001
From: Draylar <17728338+Draylar@users.noreply.github.com>
Date: Thu, 20 Oct 2022 02:49:50 -0500
Subject: [PATCH 2/6] Switch to inline return on getKnockbackResistance method
descriptor
---
mappings/net/minecraft/item/ArmorMaterial.mapping | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/mappings/net/minecraft/item/ArmorMaterial.mapping b/mappings/net/minecraft/item/ArmorMaterial.mapping
index 81c07d69ba..e30bba48d8 100644
--- a/mappings/net/minecraft/item/ArmorMaterial.mapping
+++ b/mappings/net/minecraft/item/ArmorMaterial.mapping
@@ -4,13 +4,11 @@ CLASS net/minecraft/class_1741 net/minecraft/item/ArmorMaterial
COMMENT
COMMENT To view available vanilla armor materials, visit {@link net.minecraft.item.ArmorMaterials}.
METHOD method_24355 getKnockbackResistance ()F
- COMMENT Returns the knockback resistance value of an {@link net.minecraft.item.ArmorItem} piece using this {@link ArmorMaterial}.
+ COMMENT {@return the knockback resistance value of an {@link net.minecraft.item.ArmorItem} piece using this {@link ArmorMaterial}}
COMMENT
COMMENT
COMMENT {@link net.minecraft.item.ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_KNOCKBACK_RESISTANCE}
COMMENT statistic with the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier type.
- COMMENT
- COMMENT @return the knockback resistance value of any {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial}
METHOD method_7694 getName ()Ljava/lang/String;
COMMENT Returns the {@code name} of this {@link ArmorMaterial}, which is used for locating armor texture files.
COMMENT
From 2611d6ef2357535bc715948b6bb01b86119f4646 Mon Sep 17 00:00:00 2001
From: Draylar <17728338+Draylar@users.noreply.github.com>
Date: Fri, 21 Oct 2022 03:56:40 -0500
Subject: [PATCH 3/6] Remove armor documentation reference link to Minecraft
Wiki
---
mappings/net/minecraft/item/ArmorMaterial.mapping | 4 ----
1 file changed, 4 deletions(-)
diff --git a/mappings/net/minecraft/item/ArmorMaterial.mapping b/mappings/net/minecraft/item/ArmorMaterial.mapping
index e30bba48d8..be7282e622 100644
--- a/mappings/net/minecraft/item/ArmorMaterial.mapping
+++ b/mappings/net/minecraft/item/ArmorMaterial.mapping
@@ -50,10 +50,6 @@ CLASS net/minecraft/class_1741 net/minecraft/item/ArmorMaterial
COMMENT The protection value returned here is applied as an {@link net.minecraft.entity.attribute.EntityAttributeModifier}
COMMENT to a player wearing the {@link net.minecraft.item.ArmorItem} piece via the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier.
COMMENT
- COMMENT
- COMMENT For more information on the formula used to calculate dealt damage based off armor resistance,
- COMMENT visit the Minecraft Wiki Armor page.
- COMMENT
COMMENT @return the amount of armor protection points offered by an {@link net.minecraft.item.ArmorItem} with this {@link ArmorMaterial}
ARG 1 slot
COMMENT the {@link EquipmentSlot} containing the {@link net.minecraft.item.Item} with this {@link ArmorMaterial}
From 1e759aeceff37f475c4e2f6c9186ca7c2458995d Mon Sep 17 00:00:00 2001
From: Draylar <17728338+Draylar@users.noreply.github.com>
Date: Mon, 24 Oct 2022 13:17:51 -0500
Subject: [PATCH 4/6] Replace qualified javadoc imports with class names for
classes in same package
---
.../net/minecraft/item/ArmorMaterial.mapping | 42 +++++++++----------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/mappings/net/minecraft/item/ArmorMaterial.mapping b/mappings/net/minecraft/item/ArmorMaterial.mapping
index be7282e622..d1d02d0e44 100644
--- a/mappings/net/minecraft/item/ArmorMaterial.mapping
+++ b/mappings/net/minecraft/item/ArmorMaterial.mapping
@@ -1,13 +1,13 @@
CLASS net/minecraft/class_1741 net/minecraft/item/ArmorMaterial
- COMMENT Defines the material stats of an {@link net.minecraft.item.ArmorItem} item.
+ COMMENT Defines the material stats of an {@link ArmorItem} item.
COMMENT
COMMENT
- COMMENT To view available vanilla armor materials, visit {@link net.minecraft.item.ArmorMaterials}.
+ COMMENT To view available vanilla armor materials, visit {@link ArmorMaterials}.
METHOD method_24355 getKnockbackResistance ()F
- COMMENT {@return the knockback resistance value of an {@link net.minecraft.item.ArmorItem} piece using this {@link ArmorMaterial}}
+ COMMENT {@return the knockback resistance value of an {@link ArmorItem} piece using this {@link ArmorMaterial}}
COMMENT
COMMENT
- COMMENT {@link net.minecraft.item.ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_KNOCKBACK_RESISTANCE}
+ COMMENT {@link ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_KNOCKBACK_RESISTANCE}
COMMENT statistic with the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier type.
METHOD method_7694 getName ()Ljava/lang/String;
COMMENT Returns the {@code name} of this {@link ArmorMaterial}, which is used for locating armor texture files.
@@ -27,51 +27,51 @@ CLASS net/minecraft/class_1741 net/minecraft/item/ArmorMaterial
COMMENT Returns the {@link Ingredient} used to repair items using this {@link ArmorMaterial}.
COMMENT
COMMENT
- COMMENT By default, {@link net.minecraft.item.ArmorItem} will delegate {@link net.minecraft.item.Item#canRepair(ItemStack, ItemStack)}
+ COMMENT By default, {@link ArmorItem} will delegate {@link Item#canRepair(ItemStack, ItemStack)}
COMMENT back to this method.
COMMENT
COMMENT @return the {@link Ingredient} required to repair items with this {@link ArmorMaterial}
METHOD method_7696 getDurability (Lnet/minecraft/class_1304;)I
- COMMENT Returns the total amount of durability points an {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial} has.
+ COMMENT Returns the total amount of durability points an {@link ArmorItem} using this {@link ArmorMaterial} has.
COMMENT
COMMENT
- COMMENT The value returned here will set the {@link net.minecraft.item.Item.Settings} max durability option when passed
- COMMENT into {@link net.minecraft.item.ArmorItem#ArmorItem(net.minecraft.item.ArmorMaterial, EquipmentSlot, net.minecraft.item.Item.Settings)}
+ COMMENT The value returned here will set the {@link Item.Settings} max durability option when passed
+ COMMENT into {@link ArmorItem#ArmorItem(net.minecraft.item.ArmorMaterial, EquipmentSlot, Item.Settings)}
COMMENT if the value was not already specified.
COMMENT
- COMMENT @return the total durability an {@link net.minecraft.item.ArmorItem} with this {@link ArmorMaterial} has
+ COMMENT @return the total durability an {@link ArmorItem} with this {@link ArmorMaterial} has
ARG 1 slot
- COMMENT the {@link EquipmentSlot} containing the {@link net.minecraft.item.Item} with this {@link ArmorMaterial}
+ COMMENT the {@link EquipmentSlot} containing the {@link Item} with this {@link ArmorMaterial}
METHOD method_7697 getProtectionAmount (Lnet/minecraft/class_1304;)I
- COMMENT Returns the amount of armor protection points offered by an {@link net.minecraft.item.ArmorItem}
+ COMMENT Returns the amount of armor protection points offered by an {@link ArmorItem}
COMMENT using this {@link ArmorMaterial} while it is worn by a player.
COMMENT
COMMENT
COMMENT The protection value returned here is applied as an {@link net.minecraft.entity.attribute.EntityAttributeModifier}
- COMMENT to a player wearing the {@link net.minecraft.item.ArmorItem} piece via the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier.
+ COMMENT to a player wearing the {@link ArmorItem} piece via the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier.
COMMENT
- COMMENT @return the amount of armor protection points offered by an {@link net.minecraft.item.ArmorItem} with this {@link ArmorMaterial}
+ COMMENT @return the amount of armor protection points offered by an {@link ArmorItem} with this {@link ArmorMaterial}
ARG 1 slot
- COMMENT the {@link EquipmentSlot} containing the {@link net.minecraft.item.Item} with this {@link ArmorMaterial}
+ COMMENT the {@link EquipmentSlot} containing the {@link Item} with this {@link ArmorMaterial}
METHOD method_7698 getEquipSound ()Lnet/minecraft/class_3414;
- COMMENT @return the {@link SoundEvent} played when a {@link net.minecraft.entity.LivingEntity} equips an {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial}
+ COMMENT @return the {@link SoundEvent} played when a {@link net.minecraft.entity.LivingEntity} equips an {@link ArmorItem} using this {@link ArmorMaterial}
METHOD method_7699 getEnchantability ()I
- COMMENT Returns the base enchantment value used by {@link net.minecraft.item.ArmorItem} with this material.
+ COMMENT Returns the base enchantment value used by {@link ArmorItem} with this material.
COMMENT
COMMENT
- COMMENT By default, {@link net.minecraft.item.ArmorItem} will override {@link net.minecraft.item.Item#getEnchantability()}
+ COMMENT By default, {@link ArmorItem} will override {@link Item#getEnchantability()}
COMMENT and delegate the call back to this method.
COMMENT
COMMENT
COMMENT A higher return value will result in better enchantment results when using an {@code Enchanting Table}.
COMMENT The highest enchantability value in vanilla is Netherite, at {@code 37}.
COMMENT
- COMMENT @return the enchantment value sent back to {@link net.minecraft.item.Item#getEnchantability()} for armor using this material
+ COMMENT @return the enchantment value sent back to {@link Item#getEnchantability()} for armor using this material
METHOD method_7700 getToughness ()F
- COMMENT Returns the toughness value of an {@link net.minecraft.item.ArmorItem} piece using this {@link ArmorMaterial}.
+ COMMENT Returns the toughness value of an {@link ArmorItem} piece using this {@link ArmorMaterial}.
COMMENT
COMMENT
- COMMENT {@link net.minecraft.item.ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_ARMOR_TOUGHNESS}
+ COMMENT {@link ArmorItem} will cover the value returned here into the {@link net.minecraft.entity.attribute.EntityAttributes#GENERIC_ARMOR_TOUGHNESS}
COMMENT statistic with the {@link net.minecraft.entity.attribute.EntityAttributeModifier.Operation#ADDITION} modifier type.
COMMENT
- COMMENT @return the toughness value of any {@link net.minecraft.item.ArmorItem} using this {@link ArmorMaterial}
+ COMMENT @return the toughness value of any {@link ArmorItem} using this {@link ArmorMaterial}
From a7ca18dfd61e24e3371a3662ed1a503cb98ae468 Mon Sep 17 00:00:00 2001
From: YanisBft
Date: Fri, 1 Sep 2023 06:24:00 +0200
Subject: [PATCH 5/6] Merge branch '23w35a' into pr/3323
---
.github/CODEOWNERS | 5 +
.github/workflows/build.yml | 15 +-
.github/workflows/publish.yml | 10 +-
.github/workflows/release-filament.yml | 15 +
.github/workflows/update-base.yml | 2 +-
.github/workflows/version-label.yml | 14 +
build.gradle | 767 +++++-------------
filament/build.gradle | 55 +-
filament/gradle.properties | 1 +
.../fabricmc/filament/FilamentExtension.java | 56 ++
.../filament/FilamentGradlePlugin.java | 79 +-
.../fabricmc/filament/task/DownloadTask.java | 70 ++
.../filament/task/JavadocLintTask.java | 12 +-
.../fabricmc/filament/task/MapJarTask.java | 48 +-
.../task/RemapUnpickDefinitionsTask.java | 71 +-
.../fabricmc/filament/task/UnpickJarTask.java | 80 ++
.../filament/task/base/FilamentTask.java | 20 +
.../filament/task/base/FileOutputTask.java | 4 +
.../filament/task/base/WithFileInput.java | 23 +
.../filament/task/base/WithFileOutput.java | 23 +
.../task/enigma/EnigmaCommandTask.java | 55 ++
.../enigma/MapSpecializedMethodsTask.java | 52 ++
.../task/mappingio/ConvertMappingsTask.java | 14 +
.../task/mappingio/MappingOutputTask.java | 26 +
.../task/mappingio/MergeMappingsTask.java | 76 ++
.../minecraft/ExtractBundledServerTask.java | 24 +
.../task/minecraft/MergeMinecraftTask.java | 28 +
.../util/MinecraftVersionMetaHelper.java | 66 ++
.../projects/javadocLint/build.gradle | 5 +
.../resources/projects/unpickDef/build.gradle | 5 +
gradle.properties | 18 +-
gradle/wrapper/gradle-wrapper.jar | Bin 59821 -> 63721 bytes
gradle/wrapper/gradle-wrapper.properties | 4 +-
gradlew | 31 +-
gradlew.bat | 15 +-
.../blaze3d/platform/GlStateManager.mapping | 21 +-
.../blaze3d/platform/TextureUtil.mapping | 30 +-
.../blaze3d/systems/RenderSystem.mapping | 69 +-
.../blaze3d/systems/VertexSorter.mapping | 23 +
mappings/net/minecraft/Bootstrap.mapping | 4 +-
mappings/net/minecraft/GameVersion.mapping | 7 +
.../net/minecraft/MinecraftVersion.mapping | 3 -
.../net/minecraft/SharedConstants.mapping | 3 +-
.../minecraft/advancement/Advancement.mapping | 92 +--
.../advancement/AdvancementCriterion.mapping | 18 +-
.../advancement/AdvancementDisplays.mapping | 21 +
.../advancement/AdvancementFrame.mapping | 7 +-
.../advancement/AdvancementManager.mapping | 16 +-
.../advancement/AdvancementPositioner.mapping | 7 +-
.../advancement/AdvancementProgress.mapping | 19 +-
.../advancement/CriterionMerger.mapping | 9 -
.../PlayerAdvancementTracker.mapping | 49 +-
.../criterion/AbstractCriterion.mapping | 6 +-
.../AbstractCriterionConditions.mapping | 7 +-
.../BeeNestDestroyedCriterion.mapping | 11 +-
.../criterion/BredAnimalsCriterion.mapping | 26 +-
.../criterion/BrewedPotionCriterion.mapping | 7 +-
.../ChangedDimensionCriterion.mapping | 13 +-
.../ChanneledLightningCriterion.mapping | 9 +-
.../ConstructBeaconCriterion.mapping | 9 +-
.../criterion/ConsumeItemCriterion.mapping | 14 +-
.../advancement/criterion/Criteria.mapping | 8 +-
.../advancement/criterion/Criterion.mapping | 14 +-
.../criterion/CriterionConditions.mapping | 4 +-
.../criterion/CriterionProgress.mapping | 8 +-
.../CuredZombieVillagerCriterion.mapping | 15 +-
.../criterion/EffectsChangedCriterion.mapping | 14 +-
.../criterion/EnchantedItemCriterion.mapping | 9 +-
.../criterion/EnterBlockCriterion.mapping | 9 +-
.../EntityHurtPlayerCriterion.mapping | 15 +-
.../criterion/FilledBucketCriterion.mapping | 10 +-
.../FishingRodHookedCriterion.mapping | 21 +-
.../criterion/ImpossibleCriterion.mapping | 1 -
.../InventoryChangedCriterion.mapping | 13 +-
.../criterion/ItemCriterion.mapping | 35 +-
.../ItemDurabilityChangedCriterion.mapping | 13 +-
.../KilledByCrossbowCriterion.mapping | 11 +-
.../criterion/LevitationCriterion.mapping | 11 +-
.../LightningStrikeCriterion.mapping | 11 +-
.../criterion/OnKilledCriterion.mapping | 65 +-
.../criterion/PlacedBlockCriterion.mapping | 30 -
...yerGeneratesContainerLootCriterion.mapping | 7 +-
.../PlayerHurtEntityCriterion.mapping | 37 +-
...layerInteractedWithEntityCriterion.mapping | 21 +-
.../criterion/RecipeCraftedCriterion.mapping | 22 +
.../criterion/RecipeUnlockedCriterion.mapping | 15 +-
.../criterion/ShotCrossbowCriterion.mapping | 13 +-
.../criterion/SlideDownBlockCriterion.mapping | 9 +-
.../criterion/StartedRidingCriterion.mapping | 5 +-
.../criterion/SummonedEntityCriterion.mapping | 11 +-
.../criterion/TameAnimalCriterion.mapping | 14 +-
.../criterion/TargetHitCriterion.mapping | 11 +-
...hrownItemPickedUpByEntityCriterion.mapping | 21 +-
.../criterion/TickCriterion.mapping | 16 +-
.../criterion/TravelCriterion.mapping | 22 +-
.../criterion/UsedEnderEyeCriterion.mapping | 5 +-
.../criterion/UsedTotemCriterion.mapping | 11 +-
.../criterion/UsingItemCriterion.mapping | 9 +-
.../criterion/VillagerTradeCriterion.mapping | 15 +-
.../net/minecraft/block/AbstractBlock.mapping | 164 ++--
.../block/AbstractCauldronBlock.mapping | 26 +
.../block/AbstractPressurePlateBlock.mapping | 16 +-
.../block/AbstractRedstoneGateBlock.mapping | 9 +-
.../minecraft/block/AbstractSignBlock.mapping | 23 +-
.../net/minecraft/block/BarrierBlock.mapping | 1 +
mappings/net/minecraft/block/BedBlock.mapping | 5 +-
.../net/minecraft/block/BeehiveBlock.mapping | 2 +-
mappings/net/minecraft/block/Block.mapping | 26 +-
.../net/minecraft/block/BlockSetType.mapping | 22 +
.../minecraft/block/BlockWithEntity.mapping | 2 +-
mappings/net/minecraft/block/Blocks.mapping | 18 +
.../minecraft/block/BrushableBlock.mapping | 13 +
...uttonBlock.mapping => ButtonBlock.mapping} | 15 +-
.../block/CalibratedSculkSensorBlock.mapping | 7 +
.../net/minecraft/block/CampfireBlock.mapping | 2 +-
.../net/minecraft/block/CandleBlock.mapping | 2 +-
.../minecraft/block/CandleCakeBlock.mapping | 2 +-
.../block/CarvedPumpkinBlock.mapping | 15 +
.../net/minecraft/block/CauldronBlock.mapping | 1 +
.../net/minecraft/block/CaveVines.mapping | 9 +-
.../minecraft/block/CherryLeavesBlock.mapping | 1 +
.../net/minecraft/block/ChestBlock.mapping | 4 +-
.../block/ChiseledBookshelfBlock.mapping | 26 +
.../minecraft/block/ComposterBlock.mapping | 42 +-
.../minecraft/block/ConnectingBlock.mapping | 2 +-
.../net/minecraft/block/CropBlock.mapping | 4 +-
.../minecraft/block/DecoratedPotBlock.mapping | 12 +
.../block/DecoratedPotPatterns.mapping | 54 ++
.../net/minecraft/block/Degradable.mapping | 3 +-
.../net/minecraft/block/DoorBlock.mapping | 20 +-
.../block/EnchantingTableBlock.mapping | 6 +-
.../minecraft/block/EnderChestBlock.mapping | 2 +-
...apping => ExperienceDroppingBlock.mapping} | 2 +-
.../net/minecraft/block/FarmlandBlock.mapping | 9 +-
.../minecraft/block/FenceGateBlock.mapping | 6 +
.../net/minecraft/block/Fertilizable.mapping | 3 +-
.../net/minecraft/block/FlowerBlock.mapping | 5 +-
.../minecraft/block/FlowerbedBlock.mapping | 7 +
.../minecraft/block/FluidDrainable.mapping | 9 +-
.../net/minecraft/block/FluidFillable.mapping | 11 +-
.../net/minecraft/block/FungusBlock.mapping | 12 +-
.../minecraft/block/GlowLichenBlock.mapping | 2 +-
.../minecraft/block/HangingSignBlock.mapping | 10 +
.../net/minecraft/block/HopperBlock.mapping | 3 +-
.../block/HorizontalConnectingBlock.mapping | 2 +-
mappings/net/minecraft/block/IceBlock.mapping | 1 +
.../net/minecraft/block/JukeboxBlock.mapping | 9 -
.../net/minecraft/block/LandingBlock.mapping | 4 +-
.../minecraft/block/LavaCauldronBlock.mapping | 1 +
.../net/minecraft/block/LeavesBlock.mapping | 2 +
.../net/minecraft/block/LecternBlock.mapping | 19 +-
.../block/LeveledCauldronBlock.mapping | 18 +
.../net/minecraft/block/LightBlock.mapping | 3 +
mappings/net/minecraft/block/Material.mapping | 119 ---
.../block/MushroomPlantBlock.mapping | 6 +-
.../net/minecraft/block/NoteBlock.mapping | 16 +-
.../net/minecraft/block/NyliumBlock.mapping | 9 +
.../net/minecraft/block/PistonBlock.mapping | 2 +-
.../minecraft/block/PitcherCropBlock.mapping | 35 +
.../block/PointedDripstoneBlock.mapping | 18 +-
.../block/PowderSnowCauldronBlock.mapping | 1 +
.../block/PressurePlateBlock.mapping | 3 +-
.../net/minecraft/block/PumpkinBlock.mapping | 2 +-
.../block/RedstoneTorchBlock.mapping | 2 +-
.../block/RespawnAnchorBlock.mapping | 9 +-
.../block/SculkCatalystBlock.mapping | 6 -
.../minecraft/block/SculkSensorBlock.mapping | 37 +-
.../block/SculkShriekerBlock.mapping | 4 +-
.../minecraft/block/ShulkerBoxBlock.mapping | 16 +-
.../net/minecraft/block/SkullBlock.mapping | 3 +
.../minecraft/block/SnifferEggBlock.mapping | 14 +
.../net/minecraft/block/SpawnerBlock.mapping | 4 +
.../net/minecraft/block/SpongeBlock.mapping | 5 +
.../minecraft/block/StoneButtonBlock.mapping | 1 -
.../block/SuspiciousStewIngredient.mapping | 9 +
mappings/net/minecraft/block/TntBlock.mapping | 2 +-
.../minecraft/block/TorchflowerBlock.mapping | 3 +
.../net/minecraft/block/TrapdoorBlock.mapping | 4 +
.../block/WallHangingSignBlock.mapping | 25 +
.../block/WallPiglinHeadBlock.mapping | 2 +
.../block/WearableCarvedPumpkinBlock.mapping | 1 +
.../block/WeightedPressurePlateBlock.mapping | 3 +-
.../minecraft/block/WitherSkullBlock.mapping | 4 +
.../WoodType.mapping} | 11 +-
.../minecraft/block/WoodenButtonBlock.mapping | 1 -
.../block/cauldron/CauldronBehavior.mapping | 111 ++-
.../entity/AbstractFurnaceBlockEntity.mapping | 20 +-
.../block/entity/BannerPatterns.mapping | 2 +-
.../block/entity/BeaconBlockEntity.mapping | 14 +-
.../block/entity/BeehiveBlockEntity.mapping | 2 +-
.../block/entity/BellBlockEntity.mapping | 2 +-
.../block/entity/BlockEntityType.mapping | 4 +-
.../block/entity/BrushableBlockEntity.mapping | 36 +
.../CalibratedSculkSensorBlockEntity.mapping | 8 +
.../block/entity/CampfireBlockEntity.mapping | 2 -
.../block/entity/ChestBlockEntity.mapping | 3 +-
.../ChiseledBookshelfBlockEntity.mapping | 12 +
.../entity/DecoratedPotBlockEntity.mapping | 25 +
.../entity/HangingSignBlockEntity.mapping | 3 +
.../block/entity/HopperBlockEntity.mapping | 11 +-
.../block/entity/JukeboxBlockEntity.mapping | 32 +-
.../entity/MobSpawnerBlockEntity.mapping | 3 +
.../block/entity/PistonBlockEntity.mapping | 9 +-
.../entity/SculkCatalystBlockEntity.mapping | 23 +-
.../entity/SculkSensorBlockEntity.mapping | 17 +-
.../entity/SculkShriekerBlockEntity.mapping | 14 +-
.../SculkShriekerWarningManager.mapping | 6 +-
.../block/entity/SculkSpreadManager.mapping | 2 +-
.../block/entity/SignBlockEntity.mapping | 117 ++-
.../minecraft/block/entity/SignText.mapping | 60 ++
.../block/entity/SkullBlockEntity.mapping | 54 +-
.../entity/StructureBlockBlockEntity.mapping | 3 +
...ountLocation.mapping => BlockFace.mapping} | 2 +-
.../minecraft/block/enums/ChestType.mapping | 5 +-
.../minecraft/block/enums/Instrument.mapping | 16 +-
.../sapling/CherrySaplingGenerator.mapping | 1 +
.../sapling/LargeTreeSaplingGenerator.mapping | 2 +-
.../block/sapling/SaplingGenerator.mapping | 2 +-
mappings/net/minecraft/class_4558.mapping | 3 +
mappings/net/minecraft/class_5699.mapping | 4 +
mappings/net/minecraft/class_8782.mapping | 4 +
.../client/ClientGameSession.mapping | 10 -
.../net/minecraft/client/Keyboard.mapping | 5 +-
.../minecraft/client/MinecraftClient.mapping | 149 ++--
.../client/MinecraftClientGame.mapping | 20 -
mappings/net/minecraft/client/Mouse.mapping | 3 +-
.../net/minecraft/client/QuickPlay.mapping | 24 +
.../minecraft/client/QuickPlayLogger.mapping | 33 +
mappings/net/minecraft/client/RunArgs.mapping | 16 +-
.../client/color/block/BlockColors.mapping | 5 +
.../client/color/world/GrassColors.mapping | 1 +
.../minecraft/client/font/BitmapFont.mapping | 27 +-
.../minecraft/client/font/FontLoader.mapping | 11 +-
.../minecraft/client/font/FontManager.mapping | 89 +-
.../minecraft/client/font/FontStorage.mapping | 8 +-
.../minecraft/client/font/FontType.mapping | 15 +-
.../client/font/GlyphAtlasTexture.mapping | 12 +-
.../client/font/GlyphContainer.mapping | 33 +
.../client/font/GlyphRenderer.mapping | 30 +-
.../client/font/MultilineText.mapping | 20 +-
.../client/font/ReferenceFont.mapping | 8 +
.../minecraft/client/font/SpaceFont.mapping | 17 +-
.../minecraft/client/font/TextHandler.mapping | 17 +-
.../client/font/TextRenderLayerSet.mapping | 7 +
.../client/font/TextRenderer.mapping | 123 +--
.../client/font/TrueTypeFont.mapping | 3 +
.../client/font/TrueTypeFontLoader.mapping | 35 +-
.../client/font/UnicodeTextureFont.mapping | 41 -
.../minecraft/client/font/UnihexFont.mapping | 99 +++
.../client/gl/EffectGlShader.mapping | 1 -
.../client/gl/EffectShaderProgram.mapping | 1 +
...gram.mapping => EffectShaderStage.mapping} | 9 +-
.../client/gl/GLImportProcessor.mapping | 2 +-
.../client/gl/GlProgramManager.mapping | 4 +-
.../net/minecraft/client/gl/GlShader.mapping | 6 -
...apping => JsonEffectShaderProgram.mapping} | 16 +-
...sShader.mapping => PostEffectPass.mapping} | 6 +-
...ct.mapping => PostEffectProcessor.mapping} | 4 +-
.../client/gl/ShaderParseException.mapping | 19 -
.../ShaderProgram.mapping} | 25 +-
.../client/gl/ShaderProgramSetupView.mapping | 8 +
.../{Program.mapping => ShaderStage.mapping} | 34 +-
.../net/minecraft/client/gl/Uniform.mapping | 8 +-
.../minecraft/client/gl/VertexBuffer.mapping | 36 +-
.../minecraft/client/gui/DrawContext.mapping | 460 +++++++++++
.../net/minecraft/client/gui/Drawable.mapping | 4 +-
.../client/gui/DrawableHelper.mapping | 243 ------
.../net/minecraft/client/gui/Element.mapping | 24 +-
.../minecraft/client/gui/LogoDrawer.mapping | 27 +
.../client/gui/ParentElement.mapping | 24 +-
.../client/gui/PlayerSkinDrawer.mapping | 61 +-
.../gui/RotatingCubeMapRenderer.mapping | 6 +-
.../minecraft/client/gui/ScreenPos.mapping | 10 +
.../minecraft/client/gui/ScreenRect.mapping | 53 ++
.../client/gui/hud/BossBarHud.mapping | 21 +-
.../minecraft/client/gui/hud/ChatHud.mapping | 38 +-
.../client/gui/hud/ClientBossBar.mapping | 1 +
.../minecraft/client/gui/hud/DebugHud.mapping | 57 +-
.../client/gui/hud/InGameHud.mapping | 168 ++--
.../client/gui/hud/MessageIndicator.mapping | 26 +-
.../client/gui/hud/PlayerListHud.mapping | 85 +-
.../client/gui/hud/SpectatorHud.mapping | 21 +-
.../client/gui/hud/SubtitlesHud.mapping | 4 +-
.../client/gui/hud/debug/DebugChart.mapping | 37 +
.../gui/hud/debug/PacketSizeChart.mapping | 19 +
.../client/gui/hud/debug/PingChart.mapping | 1 +
.../gui/hud/debug/RenderingChart.mapping | 3 +
.../client/gui/hud/debug/TickChart.mapping | 3 +
.../gui/hud/spectator/SpectatorMenu.mapping | 4 +
.../spectator/SpectatorMenuCommand.mapping | 4 +-
.../TeamTeleportSpectatorMenu.mapping | 15 +-
.../spectator/TeleportSpectatorMenu.mapping | 10 +-
...rtToSpecificPlayerSpectatorCommand.mapping | 2 +-
.../gui/navigation/GuiNavigation.mapping | 6 +
.../gui/navigation/GuiNavigationPath.mapping | 16 +
.../gui/navigation/GuiNavigationType.mapping | 4 +
.../client/gui/navigation/Navigable.mapping | 2 +
.../gui/navigation/NavigationAxis.mapping | 6 +
.../navigation/NavigationDirection.mapping | 30 +
.../AccessibilityOnboardingButtons.mapping | 9 +
.../AccessibilityOnboardingScreen.mapping | 27 +
.../client/gui/screen/ButtonTextures.mapping | 11 +
.../gui/screen/ChatInputSuggestor.mapping | 27 +-
.../gui/screen/ChatPreviewBackground.mapping | 19 -
.../client/gui/screen/ChatScreen.mapping | 58 --
.../gui/screen/ConfirmLinkScreen.mapping | 20 +-
.../client/gui/screen/ConnectScreen.mapping | 12 +-
.../client/gui/screen/CreditsScreen.mapping | 9 +-
.../screen/CustomizeFlatLevelScreen.mapping | 11 +-
.../client/gui/screen/DeathScreen.mapping | 14 +-
.../gui/screen/DisconnectedScreen.mapping | 13 +-
.../client/gui/screen/GameMenuScreen.mapping | 50 +-
.../screen/GameModeSelectionScreen.mapping | 32 +-
.../gui/screen/LevelLoadingScreen.mapping | 4 +-
.../client/gui/screen/OpenToLanScreen.mapping | 18 +-
.../client/gui/screen/PresetsScreen.mapping | 46 +-
.../screen/Realms32BitWarningScreen.mapping | 3 +
.../gui/screen/ReconfiguringScreen.mapping | 12 +
.../client/gui/screen/Screen.mapping | 116 +--
.../gui/screen/SleepingChatScreen.mapping | 2 +-
.../client/gui/screen/SplashOverlay.mapping | 3 +-
.../gui/screen/SplashTextRenderer.mapping | 12 +
.../client/gui/screen/StatsScreen.mapping | 26 +-
.../client/gui/screen/TitleScreen.mapping | 23 +-
.../client/gui/screen/WarningScreen.mapping | 4 +-
.../AdvancementObtainedStatus.mapping | 16 +-
.../screen/advancement/AdvancementTab.mapping | 34 +-
.../advancement/AdvancementTabType.mapping | 36 +-
.../advancement/AdvancementWidget.mapping | 46 +-
.../advancement/AdvancementsScreen.mapping | 18 +-
.../ingame/AbstractFurnaceScreen.mapping | 7 +-
.../ingame/AbstractInventoryScreen.mapping | 18 +-
.../ingame/AbstractSignEditScreen.mapping | 37 +
.../gui/screen/ingame/AnvilScreen.mapping | 3 +
.../gui/screen/ingame/BeaconScreen.mapping | 30 +-
.../screen/ingame/BlastFurnaceScreen.mapping | 2 +
.../gui/screen/ingame/BookEditScreen.mapping | 9 +-
.../screen/ingame/BrewingStandScreen.mapping | 3 +
.../ingame/CartographyTableScreen.mapping | 13 +-
.../gui/screen/ingame/CraftingScreen.mapping | 1 -
.../ingame/CreativeInventoryScreen.mapping | 48 +-
.../gui/screen/ingame/CyclingSlotIcon.mapping | 24 +
.../screen/ingame/EnchantmentScreen.mapping | 10 +
.../gui/screen/ingame/ForgingScreen.mapping | 8 +-
.../gui/screen/ingame/FurnaceScreen.mapping | 2 +
.../screen/ingame/GrindstoneScreen.mapping | 1 +
.../gui/screen/ingame/HandledScreen.mapping | 33 +-
.../ingame/HangingSignEditScreen.mapping | 4 +
.../gui/screen/ingame/HorseScreen.mapping | 4 +
.../gui/screen/ingame/InventoryScreen.mapping | 25 +-
.../gui/screen/ingame/LoomScreen.mapping | 17 +-
.../gui/screen/ingame/MerchantScreen.mapping | 29 +-
.../gui/screen/ingame/SignEditScreen.mapping | 20 +-
.../gui/screen/ingame/SmithingScreen.mapping | 22 +-
.../gui/screen/ingame/SmokerScreen.mapping | 2 +
.../screen/ingame/StonecutterScreen.mapping | 18 +-
.../ChatPreviewWarningScreen.mapping | 14 -
.../multiplayer/MultiplayerScreen.mapping | 4 +-
.../MultiplayerServerListWidget.mapping | 49 +-
.../MultiplayerWarningScreen.mapping | 4 +
.../SocialInteractionsPlayerListEntry.mapping | 29 +-
...SocialInteractionsPlayerListWidget.mapping | 2 +
.../SocialInteractionsScreen.mapping | 8 +-
.../option/AccessibilityOptionsScreen.mapping | 1 -
.../screen/option/ControlsListWidget.mapping | 8 +
.../CreditsAndAttributionScreen.mapping | 16 +
.../screen/option/GameOptionsScreen.mapping | 10 +-
.../option/LanguageOptionsScreen.mapping | 13 +-
.../screen/option/OnlineOptionsScreen.mapping | 16 +-
.../gui/screen/option/OptionsScreen.mapping | 58 +-
.../screen/option/SoundOptionsScreen.mapping | 9 +-
.../option/TelemetryEventWidget.mapping | 51 ++
.../screen/option/TelemetryInfoScreen.mapping | 36 +
.../screen/option/VideoOptionsScreen.mapping | 1 +
.../pack/ExperimentalWarningScreen.mapping | 34 +
.../gui/screen/pack/PackListWidget.mapping | 34 +-
.../client/gui/screen/pack/PackScreen.mapping | 31 +-
.../screen/pack/ResourcePackOrganizer.mapping | 3 +
.../AbstractFurnaceRecipeBookScreen.mapping | 3 +
.../recipebook/AnimatedResultButton.mapping | 13 +-
.../RecipeAlternativesWidget.mapping | 24 +-
.../recipebook/RecipeBookGhostSlots.mapping | 15 +-
.../recipebook/RecipeBookResults.mapping | 14 +-
.../recipebook/RecipeBookWidget.mapping | 21 +-
.../RecipeGroupButtonWidget.mapping | 6 +-
.../recipebook/RecipeResultCollection.mapping | 15 +-
.../report/AbuseReportReasonScreen.mapping | 1 -
.../report/AbuseReportTypeScreen.mapping | 24 +
.../screen/report/ChatReportScreen.mapping | 74 +-
.../screen/report/ChatSelectionScreen.mapping | 30 +-
.../gui/screen/report/ReportScreen.mapping | 52 ++
.../screen/report/SkinReportScreen.mapping | 37 +
.../report/UsernameReportScreen.mapping | 32 +
.../screen/world/CreateWorldScreen.mapping | 246 +++---
.../screen/world/EditGameRulesScreen.mapping | 9 +-
.../gui/screen/world/EditWorldScreen.mapping | 7 -
.../screen/world/ExperimentsScreen.mapping | 28 +
.../screen/world/LevelScreenProvider.mapping | 8 +-
.../screen/world/MoreOptionsDialog.mapping | 93 ---
.../screen/world/OptimizeWorldScreen.mapping | 4 +-
.../screen/world/SelectWorldScreen.mapping | 9 +-
.../screen/world/SymlinkWarningScreen.mapping | 24 +
.../gui/screen/world/WorldCreator.mapping | 105 +++
.../client/gui/screen/world/WorldIcon.mapping | 22 +
.../gui/screen/world/WorldListWidget.mapping | 20 +-
.../world/WorldScreenOptionGrid.mapping | 75 ++
.../client/gui/tab/GridScreenTab.mapping | 5 +
.../net/minecraft/client/gui/tab/Tab.mapping | 6 +
.../client/gui/tab/TabManager.mapping | 14 +
.../tooltip/BundleTooltipComponent.mapping | 40 +-
.../tooltip/FocusedTooltipPositioner.mapping | 4 +
.../tooltip/HoveredTooltipPositioner.mapping | 8 +
.../client/gui/tooltip/Tooltip.mapping | 18 +
.../tooltip/TooltipBackgroundRenderer.mapping | 51 ++
.../gui/tooltip/TooltipComponent.mapping | 8 +-
.../gui/tooltip/TooltipPositioner.mapping | 8 +
.../tooltip/WidgetTooltipPositioner.mapping | 8 +
.../gui/widget/AbstractTextWidget.mapping | 14 +
.../AlwaysSelectedEntryListWidget.mapping | 1 -
.../client/gui/widget/AxisGridWidget.mapping | 47 ++
.../client/gui/widget/ButtonWidget.mapping | 71 +-
.../client/gui/widget/CheckboxWidget.mapping | 5 +-
.../client/gui/widget/ClickableWidget.mapping | 78 +-
.../gui/widget/CyclingButtonWidget.mapping | 3 +-
.../widget/DirectionalLayoutWidget.mapping | 39 +
.../client/gui/widget/EditBoxWidget.mapping | 8 +-
.../gui/widget/ElementListWidget.mapping | 6 +-
.../client/gui/widget/EmptyWidget.mapping | 17 +
.../client/gui/widget/EntryListWidget.mapping | 77 +-
.../client/gui/widget/GridWidget.mapping | 90 ++
.../client/gui/widget/IconWidget.mapping | 36 +
.../client/gui/widget/LayoutWidget.mapping | 8 +
.../client/gui/widget/LayoutWidgets.mapping | 13 +
.../gui/widget/LockButtonWidget.mapping | 12 +-
.../gui/widget/MultilineTextWidget.mapping | 23 +
.../NarratedMultilineTextWidget.mapping | 13 +
...idget.mapping => OptionListWidget.mapping} | 18 +-
.../client/gui/widget/PageTurnWidget.mapping | 4 +
.../gui/widget/PlayerSkinWidget.mapping | 16 +
.../client/gui/widget/Positioner.mapping | 48 ++
.../client/gui/widget/PressableWidget.mapping | 5 +
.../gui/widget/ScrollableTextWidget.mapping | 13 +
.../gui/widget/ScrollableWidget.mapping | 30 +-
.../widget/SimplePositioningWidget.mapping | 59 ++
.../client/gui/widget/SliderWidget.mapping | 7 +
.../gui/widget/SoundSliderWidget.mapping | 8 -
.../client/gui/widget/TabButtonWidget.mapping | 19 +
.../gui/widget/TabNavigationWidget.mapping | 41 +
.../client/gui/widget/TextFieldWidget.mapping | 44 +-
.../gui/widget/TextIconButtonWidget.mapping | 44 +
.../client/gui/widget/TextWidget.mapping | 27 +
.../gui/widget/TexturedButtonWidget.mapping | 73 +-
.../gui/widget/ThreePartsLayoutWidget.mapping | 39 +
.../gui/widget/ToggleButtonWidget.mapping | 17 +-
.../client/gui/widget/Widget.mapping | 15 +
.../client/gui/widget/WrapperWidget.mapping | 28 +
.../net/minecraft/client/input/Input.mapping | 1 +
.../minecraft/client/input/KeyCodes.mapping | 3 +
... => ClampedModelPredicateProvider.mapping} | 2 +-
.../ModelPredicateProviderRegistry.mapping | 15 +
.../client/item/TooltipContext.mapping | 7 +-
.../net/minecraft/client/main/Main.mapping | 3 -
.../client/model/ModelCuboidData.mapping | 8 +-
.../minecraft/client/model/ModelPart.mapping | 14 +-
.../client/model/ModelPartBuilder.mapping | 9 +
.../AbstractClientPlayerEntity.mapping | 19 +-
.../network/ChatPreviewRequester.mapping | 69 --
.../client/network/ChatPreviewer.mapping | 95 ---
.../network/ChunkBatchSizeCalculator.mapping | 8 +
.../network/ClientAdvancementManager.mapping | 14 +-
.../ClientCommonNetworkHandler.mapping | 49 ++
.../ClientConfigurationNetworkHandler.mapping | 9 +
.../network/ClientConnectionState.mapping | 5 +
.../network/ClientDynamicRegistryType.mapping | 4 +
.../network/ClientLoginNetworkHandler.mapping | 18 +-
.../network/ClientPlayNetworkHandler.mapping | 117 ++-
.../client/network/ClientPlayerEntity.mapping | 84 +-
.../ClientPlayerInteractionManager.mapping | 4 +-
.../network/LanServerQueryManager.mapping | 4 +-
.../client/network/LegacyServerPinger.mapping | 22 +
.../MultiplayerServerListPinger.mapping | 31 +-
.../network/OtherClientPlayerEntity.mapping | 2 +
.../client/network/PingMeasurer.mapping | 9 +
.../client/network/PlayerListEntry.mapping | 60 +-
.../client/network/ServerInfo.mapping | 59 +-
.../network/message/MessageHandler.mapping | 117 +--
.../message/MessageTrustStatus.mapping | 19 +-
.../minecraft/client/option/AoMode.mapping | 9 -
.../client/option/AttackIndicator.mapping | 2 +-
.../client/option/ChatPreviewMode.mapping | 9 -
.../client/option/ChatVisibility.mapping | 2 +-
.../client/option/CloudRenderMode.mapping | 7 +-
.../client/option/GameOptions.mapping | 138 ++--
.../client/option/GraphicsMode.mapping | 2 +-
.../client/option/KeyBinding.mapping | 1 +
.../client/option/NarratorMode.mapping | 2 +-
.../client/option/ParticlesMode.mapping | 2 +-
.../client/option/SimpleOption.mapping | 94 ++-
.../client/option/StickyKeyBinding.mapping | 1 +
.../client/particle/BillboardParticle.mapping | 6 +
.../client/particle/BlockLeakParticle.mapping | 222 +++--
.../particle/CherryLeavesParticle.mapping | 7 +
.../particle/DragonBreathParticle.mapping | 8 +
.../DustColorTransitionParticle.mapping | 6 +-
.../client/particle/GlowParticle.mapping | 4 +
.../client/particle/NoRenderParticle.mapping | 2 +
.../client/particle/Particle.mapping | 66 ++
.../client/particle/ParticleFactory.mapping | 10 +
.../client/particle/ParticleManager.mapping | 48 +-
.../particle/ParticleTextureSheet.mapping | 11 +
.../client/particle/ShriekParticle.mapping | 6 +-
.../particle/SpriteBillboardParticle.mapping | 10 +
.../client/particle/SpriteProvider.mapping | 2 +
.../client/particle/SuspendParticle.mapping | 4 +
.../client/particle/VibrationParticle.mapping | 13 +-
.../client/particle/WhiteAshParticle.mapping | 1 +
.../client/realms/CheckedGson.mapping | 2 +
.../minecraft/client/realms/KeyCombo.mapping | 12 -
.../client/realms/RealmsAvailability.mapping | 15 +
.../client/realms/RealmsClient.mapping | 32 +-
.../client/realms/RealmsError.mapping | 27 +-
.../realms/RealmsObjectSelectionList.mapping | 6 -
.../realms/RealmsPeriodicCheckers.mapping | 1 +
.../client/realms/dto/Backup.mapping | 2 -
.../client/realms/dto/PendingInvite.mapping | 2 +-
.../client/realms/dto/PlayerInfo.mapping | 6 +-
.../realms/dto/RealmsNotification.mapping | 41 +
.../client/realms/dto/RealmsServer.mapping | 2 +-
.../realms/dto/RealmsServerPlayerList.mapping | 1 -
.../client/realms/dto/RealmsText.mapping | 12 +
.../exception/RealmsServiceException.mapping | 13 +-
.../realms/gui/RealmsLoadingWidget.mapping | 5 +
.../realms/gui/RealmsWorldSlotButton.mapping | 9 +-
.../realms/gui/screen/BuyRealmsScreen.mapping | 38 +
.../screen/DisconnectedRealmsScreen.mapping | 2 -
.../screen/RealmsAcceptRejectButton.mapping | 12 +-
.../gui/screen/RealmsBackupInfoScreen.mapping | 17 +
.../gui/screen/RealmsBackupScreen.mapping | 49 +-
.../screen/RealmsBrokenWorldScreen.mapping | 9 +-
...=> RealmsClientIncompatibleScreen.mapping} | 2 +-
.../screen/RealmsConfigureWorldScreen.mapping | 54 +-
.../screen/RealmsCreateRealmScreen.mapping | 11 +-
.../RealmsDownloadLatestWorldScreen.mapping | 16 +-
.../screen/RealmsGenericErrorScreen.mapping | 9 +-
.../gui/screen/RealmsInviteScreen.mapping | 8 +
.../RealmsLongConfirmationScreen.mapping | 4 +-
.../RealmsLongRunningMcoTaskScreen.mapping | 13 -
.../gui/screen/RealmsMainScreen.mapping | 378 ++++-----
.../screen/RealmsNotificationsScreen.mapping | 46 +-
.../screen/RealmsPendingInvitesScreen.mapping | 38 +-
.../gui/screen/RealmsPlayerScreen.mapping | 64 +-
.../RealmsResetNormalWorldScreen.mapping | 4 +
.../gui/screen/RealmsResetWorldScreen.mapping | 42 -
.../realms/gui/screen/RealmsScreen.mapping | 3 -
.../RealmsSelectFileToUploadScreen.mapping | 13 +-
.../RealmsSelectWorldTemplateScreen.mapping | 68 +-
.../RealmsSubscriptionInfoScreen.mapping | 6 +-
.../gui/screen/RealmsTermsScreen.mapping | 1 -
.../gui/screen/RealmsUploadScreen.mapping | 20 +-
.../realms/task/CloseServerTask.mapping | 1 +
.../client/realms/task/DownloadTask.mapping | 1 +
.../realms/task/LongRunningTask.mapping | 6 +-
.../client/realms/task/OpenServerTask.mapping | 1 +
.../task/RealmsGetServerDetailsTask.mapping | 1 +
.../realms/task/ResettingWorldTask.mapping | 1 +
.../client/realms/task/RestoreTask.mapping | 1 +
.../realms/task/SwitchMinigameTask.mapping | 1 +
.../client/realms/task/SwitchSlotTask.mapping | 1 +
.../realms/task/WorldCreationTask.mapping | 1 +
.../client/realms/util/Errable.mapping | 5 -
.../client/realms/util/JsonUtils.mapping | 11 +
.../realms/util/RealmsPersistence.mapping | 2 +-
.../realms/util/RealmsServerFilterer.mapping | 5 +-
.../realms/util/RealmsTextureManager.mapping | 35 +-
.../client/realms/util/RealmsUtil.mapping | 21 +-
.../client/realms/util/SkinProcessor.mapping | 16 -
.../recipebook/ClientRecipeBook.mapping | 13 +-
.../client/render/BufferBuilder.mapping | 74 +-
.../client/render/BufferRenderer.mapping | 22 +-
.../render/BufferVertexConsumer.mapping | 2 +-
.../client/render/BuiltChunkStorage.mapping | 3 +
.../minecraft/client/render/Camera.mapping | 17 +-
.../client/render/ChunkBuilderMode.mapping | 2 +-
.../render/ChunkRenderingDataPreparer.mapping | 35 +
.../client/render/DiffuseLighting.mapping | 4 +-
.../minecraft/client/render/Frustum.mapping | 33 +-
.../client/render/GameRenderer.mapping | 432 +++++-----
.../render/LightmapTextureManager.mapping | 3 +
.../OutlineVertexConsumerProvider.mapping | 4 +-
.../render/OverlayVertexConsumer.mapping | 12 +-
.../client/render/RenderLayer.mapping | 55 +-
.../client/render/RenderPhase.mapping | 116 +--
.../SpriteTexturedVertexConsumer.mapping | 4 +-
.../client/render/Tessellator.mapping | 4 +-
.../render/TexturedRenderLayers.mapping | 29 +-
.../client/render/VertexConsumer.mapping | 4 +-
.../client/render/VertexConsumers.mapping | 16 +-
.../client/render/WorldRenderer.mapping | 180 ++--
.../client/render/block/BlockModels.mapping | 5 +-
.../render/block/BlockRenderManager.mapping | 2 +-
.../entity/BeaconBlockEntityRenderer.mapping | 4 +-
.../BrushableBlockEntityRenderer.mapping | 7 +
.../DecoratedPotBlockEntityRenderer.mapping | 29 +
.../EndPortalBlockEntityRenderer.mapping | 4 +-
.../HangingSignBlockEntityRenderer.mapping | 25 +
.../entity/SignBlockEntityRenderer.mapping | 61 +-
.../client/render/chunk/ChunkBuilder.mapping | 15 +-
.../render/debug/BeeDebugRenderer.mapping | 165 ++--
.../debug/ChunkBorderDebugRenderer.mapping | 2 +
.../client/render/debug/DebugRenderer.mapping | 136 ++--
.../debug/GameEventDebugRenderer.mapping | 33 +-
.../debug/GameTestDebugRenderer.mapping | 11 +-
.../debug/GoalSelectorDebugRenderer.mapping | 17 +-
.../debug/HeightmapDebugRenderer.mapping | 2 +-
.../render/debug/LightDebugRenderer.mapping | 75 ++
.../debug/PathfindingDebugRenderer.mapping | 38 +-
.../debug/RaidCenterDebugRenderer.mapping | 16 +-
.../debug/StructureDebugRenderer.mapping | 10 +-
.../SupportingBlockDebugRenderer.mapping | 32 +
.../render/debug/VillageDebugRenderer.mapping | 153 ++--
.../VillageSectionsDebugRenderer.mapping | 14 +-
.../render/entity/BipedEntityRenderer.mapping | 1 -
.../render/entity/BoatEntityRenderer.mapping | 2 +-
.../render/entity/CamelEntityRenderer.mapping | 5 +
.../entity/DisplayEntityRenderer.mapping | 25 +
.../DragonFireballEntityRenderer.mapping | 2 +-
.../entity/EnderDragonEntityRenderer.mapping | 28 +-
.../entity/EntityRenderDispatcher.mapping | 23 +-
.../entity/EntityRendererFactory.mapping | 1 +
.../render/entity/EntityRenderers.mapping | 7 +-
.../ExperienceOrbEntityRenderer.mapping | 2 +-
.../FishingBobberEntityRenderer.mapping | 2 +-
.../entity/GuardianEntityRenderer.mapping | 2 +-
.../entity/LightningEntityRenderer.mapping | 2 +-
.../render/entity/LlamaEntityRenderer.mapping | 5 +-
.../render/entity/MobEntityRenderer.mapping | 2 +-
.../entity/PaintingEntityRenderer.mapping | 2 +-
.../entity/ParrotEntityRenderer.mapping | 8 +-
.../entity/ProjectileEntityRenderer.mapping | 2 +-
.../entity/RabbitEntityRenderer.mapping | 2 +-
.../entity/ShulkerEntityRenderer.mapping | 4 +
.../entity/SnifferEntityRenderer.mapping | 2 +
.../entity/TropicalFishEntityRenderer.mapping | 2 +
.../entity/animation/AnimationHelper.mapping | 23 +-
.../entity/animation/CamelAnimations.mapping | 7 +
.../animation/SnifferAnimations.mapping | 9 +
.../entity/animation/Transformation.mapping | 15 +-
.../feature/ArmorFeatureRenderer.mapping | 34 +-
.../feature/HeldItemFeatureRenderer.mapping | 2 +-
.../ShoulderParrotFeatureRenderer.mapping | 2 +-
.../StuckStingersFeatureRenderer.mapping | 2 +-
.../TropicalFishColorFeatureRenderer.mapping | 12 +
.../VillagerClothingFeatureRenderer.mapping | 8 +-
.../entity/model/ArmorEntityModel.mapping | 3 +
.../entity/model/AxolotlEntityModel.mapping | 4 +-
.../entity/model/BipedEntityModel.mapping | 2 +-
.../entity/model/BoatEntityModel.mapping | 17 +-
.../entity/model/CamelEntityModel.mapping | 20 +
.../entity/model/ChestBoatEntityModel.mapping | 5 +
.../entity/model/ChestRaftEntityModel.mapping | 5 +
.../entity/model/EntityModelLayers.mapping | 6 +
.../entity/model/EntityModelPartNames.mapping | 4 +
.../render/entity/model/EntityModels.mapping | 2 +
.../entity/model/FrogEntityModel.mapping | 3 +
.../entity/model/ModelWithWaterPatch.mapping | 2 +
.../entity/model/PiglinEntityModel.mapping | 3 +
.../model/PiglinHeadEntityModel.mapping | 7 +
.../entity/model/RaftEntityModel.mapping | 19 +
.../model/SinglePartEntityModel.mapping | 9 +
...ePartEntityModelWithChildTransform.mapping | 10 +
.../entity/model/SnifferEntityModel.mapping | 8 +
.../entity/model/VexEntityModel.mapping | 24 +-
.../item/BuiltinModelItemRenderer.mapping | 7 +-
.../render/item/HeldItemRenderer.mapping | 8 +-
.../client/render/item/ItemRenderer.mapping | 112 +--
.../render/model/BakedModelManager.mapping | 46 +-
.../render/model/BakedQuadFactory.mapping | 12 +-
.../client/render/model/Baker.mapping | 6 +
.../client/render/model/ModelLoader.mapping | 56 +-
.../client/render/model/ModelRotation.mapping | 2 +
.../model/MultipartUnbakedModel.mapping | 4 +-
.../render/model/SpriteAtlasManager.mapping | 29 +-
.../client/render/model/UnbakedModel.mapping | 9 +-
.../model/json/ItemModelGenerator.mapping | 12 +-
.../model/json/JsonUnbakedModel.mapping | 24 +-
.../render/model/json/ModelElement.mapping | 12 +-
.../model/json/ModelOverrideList.mapping | 14 +-
.../render/model/json/ModelRotation.mapping | 15 +-
.../model/json/ModelTransformation.mapping | 10 +-
.../json/ModelTransformationMode.mapping | 10 +
.../render/model/json/ModelVariantMap.mapping | 3 +
.../render/model/json/Transformation.mapping | 16 +-
.../model/json/WeightedUnbakedModel.mapping | 2 +
.../client/report/AbuseReport.mapping | 41 +
.../client/report/AbuseReportContext.mapping | 22 +
.../client/report/AbuseReportReason.mapping | 11 +-
.../client/report/AbuseReportSender.mapping | 5 +-
.../client/report/AbuseReportType.mapping | 5 +
.../client/report/ChatAbuseReport.mapping | 108 +--
.../report/ContextMessageCollector.mapping | 28 +
.../report/GroupedMessagesCollector.mapping | 12 -
.../client/report/MessagesListAdder.mapping | 33 +-
.../client/report/SkinAbuseReport.mapping | 16 +
.../client/report/UsernameAbuseReport.mapping | 16 +
.../client/report/log/ChatLog.mapping | 132 +--
.../client/report/log/ChatLogEntry.mapping | 9 +
.../client/report/log/ChatLogImpl.mapping | 22 -
.../client/report/log/HeaderEntry.mapping | 7 -
.../client/report/log/ReceivedMessage.mapping | 17 +-
.../DefaultClientResourcePack.mapping | 5 -
.../DefaultClientResourcePackProvider.mapping | 15 +
.../resource/DirectResourceIndex.mapping | 10 -
.../resource/Format3ResourcePack.mapping | 14 -
.../resource/Format4ResourcePack.mapping | 46 --
.../client/resource/ResourceIndex.mapping | 22 +-
...ing => ServerResourcePackProvider.mapping} | 24 +-
.../SplashTextResourceSupplier.mapping | 2 +-
.../language/LanguageDefinition.mapping | 17 +-
.../resource/language/LanguageManager.mapping | 9 +-
.../language/TranslationStorage.mapping | 3 +-
.../AnimationResourceMetadata.mapping | 12 +-
.../metadata/GuiResourceMetadata.mapping | 6 +
.../metadata/LanguageResourceMetadata.mapping | 10 +-
.../LanguageResourceMetadataReader.mapping | 2 -
.../sound/AbstractSoundInstance.mapping | 2 +
.../client/sound/AmbientSoundLoops.mapping | 1 +
.../client/sound/AmbientSoundPlayer.mapping | 4 +
.../sound/BiomeEffectSoundPlayer.mapping | 5 +-
.../sound/GuardianAttackSoundInstance.mapping | 4 +
.../client/sound/MusicTracker.mapping | 3 +
.../minecraft/client/sound/MusicType.mapping | 4 +-
.../sound/PositionedSoundInstance.mapping | 9 +-
.../sound/SnifferDigSoundInstance.mapping | 4 +
.../net/minecraft/client/sound/Sound.mapping | 1 +
.../client/sound/SoundListener.mapping | 2 +-
.../client/sound/SoundLoader.mapping | 6 +-
.../client/sound/SoundManager.mapping | 24 +-
.../client/sound/SoundSystem.mapping | 9 +-
.../client/sound/WeightedSoundSet.mapping | 3 -
.../minecraft/client/texture/Animator.mapping | 4 +
.../client/texture/DynamicTexture.mapping | 4 +
.../client/texture/GuiAtlasManager.mapping | 8 +
.../client/texture/MipmapHelper.mapping | 7 +-
.../client/texture/MissingSprite.mapping | 24 +-
.../client/texture/NativeImage.mapping | 51 +-
.../client/texture/PlayerSkinProvider.mapping | 71 +-
.../minecraft/client/texture/Scaling.mapping | 35 +
.../minecraft/client/texture/Sprite.mapping | 133 +--
.../client/texture/SpriteAtlasHolder.mapping | 20 +-
.../client/texture/SpriteAtlasTexture.mapping | 63 +-
.../client/texture/SpriteContents.mapping | 102 +++
.../client/texture/SpriteDimensions.mapping | 1 +
.../client/texture/SpriteLoader.mapping | 57 ++
.../client/texture/SpriteOpener.mapping | 10 +
.../client/texture/TextureManager.mapping | 7 +
.../client/texture/TextureStitcher.mapping | 36 +-
.../TextureStitcherCannotFitException.mapping | 2 +-
.../client/texture/atlas/AtlasLoader.mapping | 15 +
.../client/texture/atlas/AtlasSource.mapping | 19 +
.../texture/atlas/AtlasSourceManager.mapping | 12 +
.../texture/atlas/AtlasSourceType.mapping | 1 +
.../atlas/DirectoryAtlasSource.mapping | 9 +
.../texture/atlas/FilterAtlasSource.mapping | 5 +
.../PalettedPermutationsAtlasSource.mapping | 32 +
.../texture/atlas/SingleAtlasSource.mapping | 8 +
.../client/texture/atlas/Sprite.mapping | 11 +
.../texture/atlas/UnstitchAtlasSource.mapping | 38 +
.../client/toast/AdvancementToast.mapping | 6 +-
.../client/toast/RecipeToast.mapping | 11 +-
.../client/toast/SystemToast.mapping | 10 +-
.../net/minecraft/client/toast/Toast.mapping | 5 +-
.../client/toast/ToastManager.mapping | 11 +-
.../client/toast/TutorialToast.mapping | 22 +-
.../minecraft/client/util/BanReason.mapping | 7 +
.../client/{network => util}/Bans.mapping | 15 +-
.../client/util/CommandHistoryManager.mapping | 12 +
.../client/util/DefaultSkinHelper.mapping | 16 +-
.../net/minecraft/client/util/Icons.mapping | 11 +
.../minecraft/client/util/InputUtil.mapping | 1 +
.../client/util/MacWindowUtil.mapping | 4 +-
.../client/util/ModelIdentifier.mapping | 12 +-
.../client/util/NarratorManager.mapping | 15 +-
.../client/util/NetworkUtils.mapping | 2 +
.../client/util/OrderableTooltip.mapping | 2 -
.../client/util/ParticleUtil.mapping | 5 +
.../net/minecraft/client/util/PngFile.mapping | 39 -
.../minecraft/client/util/ProfileKeys.mapping | 68 +-
.../client/util/ProfileKeysImpl.mapping | 43 +
.../client/util/ScreenshotRecorder.mapping | 3 +
.../net/minecraft/client/util/Session.mapping | 6 +-
.../client/util/SkinTextures.mapping | 8 +
.../client/util/SpriteIdentifier.mapping | 1 +
.../net/minecraft/client/util/Window.mapping | 11 +-
.../client/util/math/MatrixStack.mapping | 23 +-
.../client/util/math/Vector3d.mapping | 18 -
.../util/telemetry/GameLoadTimeEvent.mapping | 37 +
.../telemetry/PerformanceMetricsEvent.mapping | 11 +
.../client/util/telemetry/PropertyMap.mapping | 43 +
.../client/util/telemetry/SampleEvent.mapping | 16 +
.../util/telemetry/SentTelemetryEvent.mapping | 6 +
.../util/telemetry/TelemetryConstants.mapping | 24 -
.../telemetry/TelemetryEventProperty.mapping | 74 ++
.../util/telemetry/TelemetryEventType.mapping | 56 ++
.../telemetry/TelemetryLogManager.mapping | 15 +
.../util/telemetry/TelemetryLogger.mapping | 3 +
.../util/telemetry/TelemetryManager.mapping | 36 +
.../util/telemetry/TelemetrySender.mapping | 56 +-
.../util/telemetry/ThreadedLogWriter.mapping | 10 +
.../telemetry/WorldLoadTimesEvent.mapping | 10 +
.../util/telemetry/WorldLoadedEvent.mapping | 19 +
.../util/telemetry/WorldSession.mapping | 29 +
.../util/telemetry/WorldUnloadedEvent.mapping | 16 +
.../client/world/BiomeColorCache.mapping | 3 +
.../client/world/ClientChunkManager.mapping | 9 +-
.../client/world/ClientWorld.mapping | 16 +-
.../world/GeneratorOptionsHolder.mapping | 25 +-
.../command/CommandRegistryAccess.mapping | 34 +-
.../command/CommandRegistryWrapper.mapping | 37 -
.../minecraft/command/CommandSource.mapping | 3 +-
.../command/DataCommandStorage.mapping | 8 +-
.../minecraft/command/EntitySelector.mapping | 11 +-
.../command/EntitySelectorOptions.mapping | 13 +-
.../command/EntitySelectorReader.mapping | 4 -
.../command/FloatRangeArgument.mapping | 4 -
.../argument/BlockArgumentParser.mapping | 16 +-
.../argument/BlockPosArgumentType.mapping | 9 +-
.../argument/DecoratableArgumentList.mapping | 17 -
.../argument/DecoratableArgumentType.mapping | 8 -
.../argument/EnchantmentArgumentType.mapping | 14 -
.../argument/EntitySummonArgumentType.mapping | 13 -
.../command/argument/EnumArgumentType.mapping | 2 +
.../argument/GameModeArgumentType.mapping | 15 +
.../argument/HeightmapArgumentType.mapping | 9 +
.../argument/IdentifierArgumentType.mapping | 4 +-
.../argument/MessageArgumentType.mapping | 39 +-
.../argument/NbtPathArgumentType.mapping | 21 +-
.../ParticleEffectArgumentType.mapping | 12 +-
.../RegistryEntryArgumentType.mapping | 57 ++
...RegistryEntryPredicateArgumentType.mapping | 48 ++
.../argument/RegistryKeyArgumentType.mapping | 14 +-
.../argument/ScoreHolderArgumentType.mapping | 2 +-
.../ScoreboardSlotArgumentType.mapping | 2 +-
.../argument/SignedArgumentList.mapping | 13 +
.../argument/SignedArgumentType.mapping | 2 -
.../argument/StatusEffectArgumentType.mapping | 14 -
.../command/argument/TimeArgumentType.mapping | 17 +-
mappings/net/minecraft/data/DataCache.mapping | 72 +-
.../net/minecraft/data/DataGenerator.mapping | 61 +-
.../net/minecraft/data/DataOutput.mapping | 26 +
.../net/minecraft/data/DataProvider.mapping | 13 +-
mappings/net/minecraft/data/Main.mapping | 15 +
.../minecraft/data/MetadataProvider.mapping | 18 +
.../net/minecraft/data/SnbtProvider.mapping | 14 +-
.../client/BlockStateModelGenerator.mapping | 120 ++-
.../data/client/ItemModelGenerator.mapping | 29 +
.../net/minecraft/data/client/Model.mapping | 20 +-
.../minecraft/data/client/ModelIds.mapping | 4 +
.../data/client/ModelProvider.mapping | 16 +-
.../net/minecraft/data/client/Models.mapping | 3 +
.../data/client/PropertiesMap.mapping | 2 +
.../minecraft/data/client/TextureMap.mapping | 21 +
.../data/client/TexturedModel.mapping | 4 +
.../minecraft/data/dev/NbtProvider.mapping | 18 +-
.../data/family/BlockFamilies.mapping | 3 +
.../minecraft/data/family/BlockFamily.mapping | 12 +-
.../data/report/BlockListProvider.mapping | 6 +-
.../data/report/CommandSyntaxProvider.mapping | 10 +-
.../report/DynamicRegistriesProvider.mapping | 28 +
.../data/report/RegistryDumpProvider.mapping | 6 +-
.../data/report/WorldgenProvider.mapping | 20 -
.../data/server/AbstractTagProvider.mapping | 40 -
.../data/server/AdvancementProvider.mapping | 8 -
.../AdventureTabAdvancementGenerator.mapping | 19 -
.../server/BannerPatternTagProvider.mapping | 3 -
.../server/BarterLootTableGenerator.mapping | 3 -
.../server/BiomeParametersProvider.mapping | 17 +-
.../data/server/BiomeTagProvider.mapping | 7 -
.../server/BlockLootTableGenerator.mapping | 309 -------
.../data/server/BlockTagProvider.mapping | 3 -
.../data/server/CatVariantTagProvider.mapping | 3 -
.../server/ChestLootTableGenerator.mapping | 3 -
.../server/EndTabAdvancementGenerator.mapping | 3 -
.../server/EntityLootTableGenerator.mapping | 17 -
.../data/server/EntityTypeTagProvider.mapping | 3 -
...latLevelGeneratorPresetTagProvider.mapping | 3 -
.../data/server/FluidTagProvider.mapping | 3 -
.../data/server/GameEventTagProvider.mapping | 4 -
.../server/GiftLootTableGenerator.mapping | 3 -
.../data/server/InstrumentTagProvider.mapping | 3 -
.../data/server/ItemTagProvider.mapping | 8 -
.../data/server/LootTableProvider.mapping | 22 -
.../NetherTabAdvancementGenerator.mapping | 5 -
.../server/PaintingVariantTagProvider.mapping | 3 -
.../PointOfInterestTypeTagProvider.mapping | 3 -
.../data/server/RecipeProvider.mapping | 340 --------
.../StoryTabAdvancementGenerator.mapping | 3 -
.../data/server/StructureTagProvider.mapping | 3 -
.../server/WorldPresetTagProvider.mapping | 3 -
.../advancement/AdvancementProvider.mapping | 12 +
.../AdvancementTabGenerator.mapping | 4 +
.../VanillaAdvancementProviders.mapping | 4 +
...laAdventureTabAdvancementGenerator.mapping | 37 +
.../VanillaEndTabAdvancementGenerator.mapping | 1 +
...aHusbandryTabAdvancementGenerator.mapping} | 33 +-
...nillaNetherTabAdvancementGenerator.mapping | 2 +
...anillaStoryTabAdvancementGenerator.mapping | 1 +
.../loottable/BlockLootTableGenerator.mapping | 153 ++++
.../EntityLootTableGenerator.mapping | 33 +
.../loottable/LootTableGenerator.mapping | 3 +
.../loottable/LootTableProvider.mapping | 23 +
...nillaArchaeologyLootTableGenerator.mapping | 1 +
.../VanillaBarterLootTableGenerator.mapping | 1 +
.../VanillaBlockLootTableGenerator.mapping | 480 +++++++++++
.../VanillaChestLootTableGenerator.mapping | 17 +
.../VanillaEntityLootTableGenerator.mapping | 2 +
.../VanillaFishingLootTableGenerator.mapping} | 5 +-
.../VanillaGiftLootTableGenerator.mapping | 1 +
.../vanilla/VanillaLootTableProviders.mapping | 3 +
.../recipe/BundleRecipeProvider.mapping | 1 +
.../recipe/ComplexRecipeJsonBuilder.mapping | 10 +-
.../recipe/CookingRecipeJsonBuilder.mapping | 119 +--
.../recipe/CraftingRecipeJsonBuilder.mapping | 12 +-
.../server/recipe/RecipeJsonBuilder.mapping | 7 +
.../server/recipe/RecipeJsonProvider.mapping | 7 +-
.../data/server/recipe/RecipeProvider.mapping | 339 ++++++++
.../recipe/ShapedRecipeJsonBuilder.mapping | 40 +-
.../recipe/ShapelessRecipeJsonBuilder.mapping | 35 +-
.../SingleItemRecipeJsonBuilder.mapping | 48 +-
.../recipe/SmithingRecipeJsonBuilder.mapping | 42 -
...SmithingTransformRecipeJsonBuilder.mapping | 30 +
.../SmithingTrimRecipeJsonBuilder.mapping | 27 +
.../recipe/VanillaRecipeProvider.mapping | 13 +
.../data/server/tag/ItemTagProvider.mapping | 25 +
.../data/server/tag/TagProvider.mapping | 68 ++
.../server/tag/ValueLookupTagProvider.mapping | 22 +
.../VanillaBannerPatternTagProvider.mapping | 4 +
.../vanilla/VanillaBiomeTagProvider.mapping | 4 +
.../vanilla/VanillaBlockTagProvider.mapping | 8 +
.../VanillaCatVariantTagProvider.mapping | 4 +
.../VanillaDamageTypeTagProvider.mapping | 4 +
.../VanillaEntityTypeTagProvider.mapping | 6 +
...latLevelGeneratorPresetTagProvider.mapping | 4 +
.../vanilla/VanillaFluidTagProvider.mapping | 6 +
.../VanillaGameEventTagProvider.mapping | 7 +
.../VanillaInstrumentTagProvider.mapping | 4 +
.../vanilla/VanillaItemTagProvider.mapping | 1 +
.../VanillaPaintingVariantTagProvider.mapping | 4 +
...illaPointOfInterestTypeTagProvider.mapping | 4 +
.../VanillaStructureTagProvider.mapping | 4 +
.../VanillaWorldPresetTagProvider.mapping | 4 +
.../StructureValidatorProvider.mapping | 5 -
.../minecraft/datafixer/DataFixTypes.mapping | 29 +-
.../datafixer/DataFixerPhase.mapping | 1 -
.../net/minecraft/datafixer/Schemas.mapping | 4 +-
.../datafixer/TypeReferences.mapping | 10 +-
.../fix/AddFlagIfNotPresentFix.mapping | 2 +-
.../datafixer/fix/AddTrappedChestFix.mapping | 3 +
.../fix/AdvancementCriteriaRenameFix.mapping | 2 +-
.../datafixer/fix/AdvancementsFix.mapping | 3 +
.../datafixer/fix/BedBlockEntityFix.mapping | 3 +
.../datafixer/fix/BedItemColorFix.mapping | 3 +
.../datafixer/fix/BiomeFormatFix.mapping | 3 +
.../datafixer/fix/BiomeRenameFix.mapping | 8 -
.../minecraft/datafixer/fix/BiomesFix.mapping | 2 -
.../datafixer/fix/BlendingDataFix.mapping | 2 +-
...BlendingDataRemoveFromNetherEndFix.mapping | 2 +-
.../fix/BlockEntityBannerColorFix.mapping | 3 +
.../fix/BlockEntityBlockStateFix.mapping | 3 +
.../BlockEntityCustomNameToTextFix.mapping | 3 +
.../datafixer/fix/BlockEntityIdFix.mapping | 3 +
.../fix/BlockEntityJukeboxFix.mapping | 3 +
...pping => BlockEntityKeepPackedFix.mapping} | 5 +-
.../fix/BlockEntityShulkerBoxColorFix.mapping | 3 +
.../BlockEntitySignTextStrictJsonFix.mapping | 3 +
.../datafixer/fix/BlockNameFix.mapping | 4 +-
.../fix/BlockNameFlatteningFix.mapping | 3 +
.../BlockStateStructureTemplateFix.mapping | 3 +
.../datafixer/fix/CatTypeFix.mapping | 3 +
.../datafixer/fix/CauldronRenameFix.mapping | 3 +
.../ChunkDeleteIgnoredLightDataFix.mapping | 2 +-
.../datafixer/fix/ChunkDeleteLightFix.mapping | 3 +
.../fix/ChunkHeightAndBiomeFix.mapping | 2 +-
.../fix/ChunkLevelTagRenameFix.mapping | 2 +-
.../datafixer/fix/ChunkLightRemoveFix.mapping | 3 +
.../fix/ChunkPalettedStorageFix.mapping | 28 +
.../datafixer/fix/ChunkStatusFix.mapping | 3 +
.../datafixer/fix/ChunkStatusFix2.mapping | 3 +
.../ChunkStructuresTemplateRenameFix.mapping | 4 +
.../fix/ChunkToProtoChunkFix.mapping | 7 +
.../fix/ColorlessShulkerEntityFix.mapping | 3 +
.../fix/DecoratedPotFieldRenameFix.mapping | 4 +
.../fix/DropInvalidSignDatafixDataFix.mapping | 16 +
.../fix/EntityArmorStandSilentFix.mapping | 3 +
.../datafixer/fix/EntityBlockStateFix.mapping | 2 +-
...ntityBrushableBlockFieldsRenameFix.mapping | 9 +
.../datafixer/fix/EntityCatSplitFix.mapping | 3 +
.../datafixer/fix/EntityCodSalmonFix.mapping | 3 +
.../fix/EntityCustomNameToTextFix.mapping | 3 +
.../fix/EntityElderGuardianSplitFix.mapping | 3 +
.../EntityEquipmentToArmorAndHandFix.mapping | 3 +
.../datafixer/fix/EntityHealthFix.mapping | 3 +
.../fix/EntityHorseSaddleFix.mapping | 3 +
.../datafixer/fix/EntityHorseSplitFix.mapping | 3 +
.../datafixer/fix/EntityIdFix.mapping | 3 +
.../fix/EntityItemFrameDirectionFix.mapping | 4 +
.../fix/EntityMinecartIdentifiersFix.mapping | 3 +
.../fix/EntityPaintingFieldsRenameFix.mapping | 2 +-
.../fix/EntityPaintingMotiveFix.mapping | 3 +
.../fix/EntityPufferfishRenameFix.mapping | 3 +
.../fix/EntityRavagerRenameFix.mapping | 3 +
.../fix/EntityRedundantChanceTagsFix.mapping | 8 +
.../fix/EntityRidingToPassengerFix.mapping | 3 +
.../fix/EntityShulkerColorFix.mapping | 3 +
.../fix/EntitySkeletonSplitFix.mapping | 3 +
.../datafixer/fix/EntityStringUuidFix.mapping | 3 +
...ng => EntityTheRenameningBlockFix.mapping} | 6 +-
.../fix/EntityTippedArrowFix.mapping | 3 +
.../datafixer/fix/EntityUuidFix.mapping | 1 +
.../fix/EntityVariantTypeFix.mapping | 3 +-
.../datafixer/fix/EntityWolfColorFix.mapping | 3 +
.../fix/EntityZombieSplitFix.mapping | 3 +
.../fix/EntityZombieVillagerTypeFix.mapping | 3 +
.../datafixer/fix/FurnaceRecipesFix.mapping | 3 +
.../datafixer/fix/GameEventRenamesFix.mapping | 15 +-
.../datafixer/fix/GoatHornIdFix.mapping | 2 +-
.../datafixer/fix/GoatMissingStateFix.mapping | 2 +-
.../datafixer/fix/HangingEntityFix.mapping | 3 +
.../fix/HeightmapRenamingFix.mapping | 3 +
.../fix/IglooMetadataRemovalFix.mapping | 3 +
.../datafixer/fix/ItemBannerColorFix.mapping | 3 +
.../fix/ItemCustomNameToComponentFix.mapping | 3 +
.../minecraft/datafixer/fix/ItemIdFix.mapping | 3 +
.../fix/ItemInstanceMapIdFix.mapping | 3 +
.../fix/ItemInstanceSpawnEggFix.mapping | 7 +
.../fix/ItemInstanceTheFlatteningFix.mapping | 3 +
.../datafixer/fix/ItemLoreToTextFix.mapping | 3 +
.../datafixer/fix/ItemNbtFix.mapping | 2 +-
.../datafixer/fix/ItemPotionFix.mapping | 3 +
.../fix/ItemRemoveBlockEntityTagFix.mapping | 2 +-
.../fix/ItemShulkerBoxColorFix.mapping | 3 +
.../datafixer/fix/ItemSpawnEggFix.mapping | 3 +
.../fix/ItemStackEnchantmentFix.mapping | 3 +
.../datafixer/fix/ItemWaterPotionFix.mapping | 3 +
.../ItemWrittenBookPagesStrictJsonFix.mapping | 3 +
.../datafixer/fix/JigsawPropertiesFix.mapping | 3 +
.../datafixer/fix/JigsawRotationFix.mapping | 3 +
.../minecraft/datafixer/fix/LeavesFix.mapping | 28 +
.../fix/LegacyDragonFightFix.mapping | 7 +
.../fix/LevelDataGeneratorOptionsFix.mapping | 3 +
.../fix/LevelFlatGeneratorInfoFix.mapping | 3 +
.../minecraft/datafixer/fix/MapIdFix.mapping | 3 +
.../datafixer/fix/MissingDimensionFix.mapping | 3 +
.../MobSpawnerEntityIdentifiersFix.mapping | 3 +
.../datafixer/fix/NewVillageFix.mapping | 3 +
.../fix/ObjectiveDisplayNameFix.mapping | 3 +
.../fix/ObjectiveRenderTypeFix.mapping | 9 +-
.../OminousBannerBlockEntityRenameFix.mapping | 3 +
.../fix/OminousBannerItemRenameFix.mapping | 2 +-
.../OptionsAccessibilityOnboardFix.mapping | 7 +
.../fix/OptionsAddTextBackgroundFix.mapping | 3 +
.../fix/OptionsAmbientOcclusionFix.mapping | 5 +
.../datafixer/fix/OptionsForceVBOFix.mapping | 3 +
.../datafixer/fix/OptionsKeyLwjgl3Fix.mapping | 4 +
.../fix/OptionsKeyTranslationFix.mapping | 3 +
.../fix/OptionsLowerCaseLanguageFix.mapping | 3 +
.../fix/OptionsProgrammerArtFix.mapping | 11 +
.../fix/PersistentStateUuidFix.mapping | 1 +
.../datafixer/fix/PointOfInterestFix.mapping | 2 +-
.../fix/PointOfInterestRemoveFix.mapping | 2 +-
.../fix/PointOfInterestRenameFix.mapping | 2 +-
.../PointOfInterestReorganizationFix.mapping | 3 +
.../fix/ProtoChunkTickListFix.mapping | 2 +-
.../fix/RandomSequenceSettingsFix.mapping | 9 +
.../minecraft/datafixer/fix/RecipeFix.mapping | 2 -
.../datafixer/fix/RecipeRenameFix.mapping | 8 -
.../datafixer/fix/RecipeRenamingFix.mapping | 2 -
.../fix/RemoveFeatureTogglesFix.mapping | 15 +
.../fix/RemoveFilteredBookTextFix.mapping | 2 +-
.../fix/RemoveFilteredSignTextFix.mapping | 2 +-
.../fix/RemoveGolemGossipFix.mapping | 3 +
.../fix/RemovePoiValidTagFix.mapping | 3 +
.../fix/RenameBlockEntityFix.mapping | 15 +
.../fix/RenameChunkStatusFix.mapping | 13 +
.../RenameScoreboardDisplaySlotFix.mapping | 6 +
.../datafixer/fix/RenameVariantsFix.mapping | 2 +-
.../fix/SavedDataVillageCropFix.mapping | 9 -
.../datafixer/fix/StatsCounterFix.mapping | 15 +-
.../fix/StatusEffectDurationFix.mapping | 7 +
.../datafixer/fix/StatusEffectFix.mapping | 39 +
.../datafixer/fix/StriderGravityFix.mapping | 3 +
.../fix/StructureReferenceFix.mapping | 3 +
.../fix/StructureSettingsFlattenFix.mapping | 2 +-
...tructuresToConfiguredStructuresFix.mapping | 2 +-
.../datafixer/fix/TeamDisplayNameFix.mapping | 3 +
.../fix/TicksInWrongChunkFix.mapping | 10 +-
.../datafixer/fix/UntaggedSpawnerFix.mapping | 5 +-
.../fix/UpdateSignTextFormatFix.mapping | 24 +
.../fix/VillagerFollowRangeFix.mapping | 2 +
.../datafixer/fix/VillagerTradeFix.mapping | 3 +
.../fix/VillagerXpRebuildFix.mapping | 5 +
.../datafixer/fix/WallPropertyFix.mapping | 3 +
.../fix/WeaponsmithChestLootTableFix.mapping | 3 +
...SettingsDisallowOldCustomWorldsFix.mapping | 2 +-
.../WorldGenSettingsHeightAndBiomeFix.mapping | 2 +-
.../datafixer/fix/WorldUuidFix.mapping | 1 +
.../fix/ZombieVillagerXpRebuildFix.mapping | 3 +
.../mapping/FlatteningBiomeMapping.mapping | 2 +
.../mapping/FlatteningRecipeMapping.mapping | 2 +
.../mapping/WoodRecipeMapping.mapping | 2 +
.../IdentifierNormalizingSchema.mapping | 10 +
.../datafixer/schema/Schema100.mapping | 12 +
.../datafixer/schema/Schema102.mapping | 1 +
.../datafixer/schema/Schema1022.mapping | 1 +
.../datafixer/schema/Schema106.mapping | 1 +
.../datafixer/schema/Schema107.mapping | 2 +
.../datafixer/schema/Schema1125.mapping | 3 +
.../datafixer/schema/Schema135.mapping | 1 +
.../datafixer/schema/Schema143.mapping | 2 +
.../datafixer/schema/Schema1451.mapping | 2 +
.../datafixer/schema/Schema1451v1.mapping | 1 +
.../datafixer/schema/Schema1451v2.mapping | 4 +
.../datafixer/schema/Schema1451v3.mapping | 4 +
.../datafixer/schema/Schema1451v4.mapping | 1 +
.../datafixer/schema/Schema1451v5.mapping | 2 +
.../datafixer/schema/Schema1451v6.mapping | 20 +
.../datafixer/schema/Schema1451v7.mapping | 4 -
.../datafixer/schema/Schema1460.mapping | 63 ++
.../datafixer/schema/Schema1466.mapping | 3 +
.../datafixer/schema/Schema1470.mapping | 8 +
.../datafixer/schema/Schema1481.mapping | 2 +
.../datafixer/schema/Schema1483.mapping | 2 +
.../datafixer/schema/Schema1486.mapping | 2 +
.../datafixer/schema/Schema1510.mapping | 2 +
.../datafixer/schema/Schema1800.mapping | 6 +-
.../datafixer/schema/Schema1801.mapping | 2 +
.../datafixer/schema/Schema1904.mapping | 2 +
.../datafixer/schema/Schema1906.mapping | 8 +
.../datafixer/schema/Schema1909.mapping | 2 +
.../datafixer/schema/Schema1920.mapping | 6 +
.../datafixer/schema/Schema1928.mapping | 5 +
.../datafixer/schema/Schema1929.mapping | 6 +
.../datafixer/schema/Schema1931.mapping | 2 +
.../datafixer/schema/Schema2100.mapping | 2 +
.../datafixer/schema/Schema2502.mapping | 4 -
.../datafixer/schema/Schema2505.mapping | 4 -
.../datafixer/schema/Schema2509.mapping | 4 -
.../datafixer/schema/Schema2519.mapping | 4 -
.../datafixer/schema/Schema2522.mapping | 4 -
.../datafixer/schema/Schema2568.mapping | 4 -
.../datafixer/schema/Schema2571.mapping | 4 -
.../datafixer/schema/Schema2684.mapping | 4 +
.../datafixer/schema/Schema2686.mapping | 4 -
.../datafixer/schema/Schema2688.mapping | 4 -
.../datafixer/schema/Schema2704.mapping | 4 -
.../datafixer/schema/Schema2707.mapping | 4 -
.../datafixer/schema/Schema2831.mapping | 4 +
.../datafixer/schema/Schema2832.mapping | 4 +
.../datafixer/schema/Schema2842.mapping | 4 +
.../datafixer/schema/Schema3076.mapping | 2 +
.../datafixer/schema/Schema3078.mapping | 8 +
.../datafixer/schema/Schema3081.mapping | 4 -
.../datafixer/schema/Schema3083.mapping | 6 +
.../datafixer/schema/Schema3202.mapping | 3 +
.../datafixer/schema/Schema3203.mapping | 3 +
.../datafixer/schema/Schema3204.mapping | 3 +
.../datafixer/schema/Schema3325.mapping | 3 +
.../datafixer/schema/Schema3326.mapping | 3 +
.../datafixer/schema/Schema3327.mapping | 3 +
.../datafixer/schema/Schema3328.mapping | 3 +
.../datafixer/schema/Schema3438.mapping | 3 +
.../datafixer/schema/Schema3448.mapping | 3 +
.../datafixer/schema/Schema501.mapping | 4 +-
.../datafixer/schema/Schema700.mapping | 4 +-
.../datafixer/schema/Schema701.mapping | 4 +
.../datafixer/schema/Schema702.mapping | 4 +
.../datafixer/schema/Schema703.mapping | 2 +
.../datafixer/schema/Schema704.mapping | 18 +
.../datafixer/schema/Schema705.mapping | 55 ++
.../datafixer/schema/Schema808.mapping | 4 +
.../datafixer/schema/Schema99.mapping | 63 ++
.../minecraft/enchantment/Enchantment.mapping | 8 +-
.../enchantment/EnchantmentHelper.mapping | 3 +
.../minecraft/entity/AnimationState.mapping | 3 +
.../entity/AreaEffectCloudEntity.mapping | 2 +-
.../net/minecraft/entity/Attackable.mapping | 2 +
.../net/minecraft/entity/CrossbowUser.mapping | 2 +-
mappings/net/minecraft/entity/Entity.mapping | 257 ++++--
.../minecraft/entity/EntityStatuses.mapping | 7 +-
.../net/minecraft/entity/EntityType.mapping | 64 +-
.../minecraft/entity/EquipmentSlot.mapping | 43 +
.../entity/ExperienceOrbEntity.mapping | 1 +
.../minecraft/entity/EyeOfEnderEntity.mapping | 2 -
.../entity/FallingBlockEntity.mapping | 2 +
.../minecraft/entity/InventoryOwner.mapping | 5 +
.../net/minecraft/entity/ItemEntity.mapping | 20 +-
.../minecraft/entity/ItemSteerable.mapping | 7 -
.../net/minecraft/entity/JumpingMount.mapping | 1 +
.../net/minecraft/entity/LimbAnimator.mapping | 16 +
.../net/minecraft/entity/LivingEntity.mapping | 70 +-
mappings/net/minecraft/entity/Ownable.mapping | 2 +
.../net/minecraft/entity/Saddleable.mapping | 1 +
.../minecraft/entity/SaddledComponent.mapping | 4 +-
.../net/minecraft/entity/Tameable.mapping | 2 +-
.../net/minecraft/entity/Targeter.mapping | 2 +
.../net/minecraft/entity/TntEntity.mapping | 1 -
.../minecraft/entity/VariantHolder.mapping | 4 +
.../entity/ai/RangedAttackMob.mapping | 2 +-
.../ai/brain/BlockPosLookTarget.mapping | 2 +
.../minecraft/entity/ai/brain/Brain.mapping | 53 +-
.../minecraft/entity/ai/brain/Memory.mapping | 7 +
.../entity/ai/brain/MemoryQuery.mapping | 24 +
.../entity/ai/brain/MemoryQueryResult.mapping | 27 +
.../entity/ai/brain/Schedule.mapping | 4 +
.../entity/ai/brain/ScheduleBuilder.mapping | 2 +
.../entity/ai/brain/ScheduleRule.mapping | 2 +
.../sensor/WardenAttackablesSensor.mapping | 6 +-
.../ai/brain/task/AdmireItemTask.mapping | 16 +-
.../task/AdmireItemTimeLimitTask.mapping | 17 +-
.../ai/brain/task/AquaticStrollTask.mapping | 2 -
.../entity/ai/brain/task/AttackTask.mapping | 25 +-
.../ai/brain/task/BiasedLongJumpTask.mapping | 5 +-
.../ai/brain/task/CompositeTask.mapping | 36 +-
.../ai/brain/task/ConditionalTask.mapping | 22 -
.../ai/brain/task/DefeatTargetTask.mapping | 21 +-
.../entity/ai/brain/task/EndRaidTask.mapping | 7 +
.../ai/brain/task/FindEntityTask.mapping | 62 +-
.../task/FindInteractionTargetTask.mapping | 33 +-
.../task/FindPointOfInterestTask.mapping | 55 +-
.../ai/brain/task/FindRoarTargetTask.mapping | 17 +-
.../ai/brain/task/FindWalkTargetTask.mapping | 36 +-
.../{WalkTask.mapping => FleeTask.mapping} | 13 +-
.../ai/brain/task/FollowMobTask.mapping | 26 -
.../task/ForgetAngryAtTargetTask.mapping | 17 +-
.../brain/task/ForgetAttackTargetTask.mapping | 53 +-
.../ai/brain/task/ForgetBellRingTask.mapping | 18 +-
...ForgetCompletedPointOfInterestTask.mapping | 25 +-
.../entity/ai/brain/task/ForgetTask.mapping | 16 +-
.../task/GatherItemsVillagerTask.mapping | 4 +
.../ai/brain/task/GiveGiftsToHeroTask.mapping | 2 +
.../GiveInventoryToLookTargetTask.mapping | 5 +-
.../ai/brain/task/GoToCelebrateTask.mapping | 15 -
.../ai/brain/task/GoToIfNearbyTask.mapping | 25 +-
.../brain/task/GoToNearbyPositionTask.mapping | 26 +-
.../task/GoToPointOfInterestTask.mapping | 18 +-
.../task/GoToRememberedPositionTask.mapping | 41 +-
.../task/GoToSecondaryPositionTask.mapping | 29 +-
.../entity/ai/brain/task/GoToWorkTask.mapping | 22 +-
.../ai/brain/task/GoTowardsLookTarget.mapping | 15 -
.../task/GoTowardsLookTargetTask.mapping | 21 +
.../task/HideInHomeDuringRaidTask.mapping | 4 -
.../ai/brain/task/HideInHomeTask.mapping | 42 +-
.../brain/task/HideWhenBellRingsTask.mapping | 9 +
.../ai/brain/task/HuntFinishTask.mapping | 12 +-
.../ai/brain/task/HuntHoglinTask.mapping | 18 +
.../ai/brain/task/LayFrogSpawnTask.mapping | 17 +-
.../entity/ai/brain/task/LongJumpTask.mapping | 18 +-
.../brain/task/LookAtDisturbanceTask.mapping | 12 +
.../ai/brain/task/LookAtMobTask.mapping | 29 +
.../task/LookAtMobWithIntervalTask.mapping | 34 +
.../ai/brain/task/LookTargetUtil.mapping | 5 -
.../brain/task/LoseJobOnSiteLossTask.mapping | 9 +
.../ai/brain/task/MeetVillagerTask.mapping | 19 +
.../ai/brain/task/MeleeAttackTask.mapping | 20 +-
.../ai/brain/task/MemoryTransferTask.mapping | 23 +-
.../ai/brain/task/MultiTickTask.mapping | 52 ++
.../ai/brain/task/NoPenaltyStrollTask.mapping | 1 -
.../ai/brain/task/OpenDoorsTask.mapping | 55 +-
.../entity/ai/brain/task/PacifyTask.mapping | 17 +-
.../ai/brain/task/PlayDeadTimerTask.mapping | 10 +
.../task/PlayWithVillagerBabiesTask.mapping | 59 +-
.../ai/brain/task/PrepareRamTask.mapping | 4 +-
.../brain/task/RandomLookAroundTask.mapping | 10 +
.../ai/brain/task/RangedApproachTask.mapping | 25 +-
.../brain/task/RemoveOffHandItemTask.mapping | 9 +
.../entity/ai/brain/task/RidingTask.mapping | 23 +-
.../entity/ai/brain/task/RingBellTask.mapping | 9 +
.../brain/task/RunAroundAfterRaidTask.mapping | 1 -
.../brain/task/ScheduleActivityTask.mapping | 7 +
.../task/SeekSkyAfterRaidWinTask.mapping | 1 -
.../entity/ai/brain/task/SeekSkyTask.mapping | 21 +-
.../ai/brain/task/SeekWaterTask.mapping | 19 +-
.../ai/brain/task/SingleTickTask.mapping | 2 +
.../ai/brain/task/StartRaidTask.mapping | 7 +
.../ai/brain/task/StartRidingTask.mapping | 19 +-
.../ai/brain/task/StartSniffingTask.mapping | 13 +
.../ai/brain/task/StopPanickingTask.mapping | 15 +-
.../entity/ai/brain/task/StrollTask.mapping | 72 +-
.../ai/brain/task/TakeJobSiteTask.mapping | 43 +-
.../entity/ai/brain/task/Task.mapping | 42 +-
.../entity/ai/brain/task/TaskRunnable.mapping | 9 +
.../ai/brain/task/TaskTriggerer.mapping | 161 ++++
.../entity/ai/brain/task/Tasks.mapping | 22 +
.../entity/ai/brain/task/TemptTask.mapping | 8 +
.../ai/brain/task/TimeLimitedTask.mapping | 15 -
.../brain/task/UpdateAttackTargetTask.mapping | 32 +-
.../task/VillagerTaskListProvider.mapping | 14 +
.../task/VillagerWalkTowardsTask.mapping | 45 +-
.../entity/ai/brain/task/WaitTask.mapping | 4 +
.../entity/ai/brain/task/WakeUpTask.mapping | 7 +
.../entity/ai/brain/task/WalkHomeTask.mapping | 27 +-
...WalkToNearestVisibleWantedItemTask.mapping | 34 +-
.../task/WalkTowardClosestAdultTask.mapping | 28 +-
.../brain/task/WalkTowardJobSiteTask.mapping | 2 +
.../ai/brain/task/WalkTowardsLandTask.mapping | 19 +-
.../task/WalkTowardsLookTargetTask.mapping | 18 +-
.../ai/brain/task/WalkTowardsPosTask.mapping | 21 +
.../brain/task/WalkTowardsWaterTask.mapping | 19 +-
.../ai/brain/task/WanderAroundTask.mapping | 2 +
.../ai/brain/task/WanderIndoorsTask.mapping | 21 +-
.../ai/brain/task/WantNewItemTask.mapping | 14 +-
.../task/WorkStationCompetitionTask.mapping | 33 +-
.../entity/ai/control/LookControl.mapping | 2 +
.../entity/ai/goal/AmbientStandGoal.mapping | 8 +
.../entity/ai/goal/FollowOwnerGoal.mapping | 1 +
.../entity/ai/goal/GoalSelector.mapping | 5 +-
.../entity/ai/goal/MeleeAttackGoal.mapping | 5 +-
.../ai/goal/StepAndDestroyBlockGoal.mapping | 1 -
.../pathing/AmphibiousSwimNavigation.mapping | 3 +
.../ai/pathing/BirdPathNodeMaker.mapping | 11 +
.../ai/pathing/EntityNavigation.mapping | 6 +-
.../ai/pathing/LandPathNodeMaker.mapping | 40 +-
.../entity/ai/pathing/MobNavigation.mapping | 2 +
.../minecraft/entity/ai/pathing/Path.mapping | 32 +-
.../entity/ai/pathing/PathNode.mapping | 9 +-
.../entity/ai/pathing/PathNodeMaker.mapping | 11 +-
.../ai/pathing/WaterPathNodeMaker.mapping | 11 +
.../attribute/AttributeContainer.mapping | 14 +-
.../AttributeModifierCreator.mapping | 4 +
.../DefaultAttributeContainer.mapping | 2 +-
.../attribute/EntityAttributeInstance.mapping | 2 +-
.../attribute/EntityAttributeModifier.mapping | 7 +-
.../entity/attribute/EntityAttributes.mapping | 1 +
.../boss/dragon/EnderDragonEntity.mapping | 8 +-
.../boss/dragon/EnderDragonFight.mapping | 25 +-
.../BadRespawnPointDamageSource.mapping | 3 -
.../entity/damage/DamageEffects.mapping | 8 +
.../entity/damage/DamageRecord.mapping | 29 +-
.../entity/damage/DamageScaling.mapping | 5 +
.../entity/damage/DamageSource.mapping | 138 +---
.../entity/damage/DamageSources.mapping | 108 +++
.../entity/damage/DamageTracker.mapping | 31 +-
.../entity/damage/DamageType.mapping | 20 +
.../entity/damage/DamageTypes.mapping | 47 ++
.../entity/damage/DeathMessageType.mapping | 5 +
.../entity/damage/EntityDamageSource.mapping | 8 -
.../entity/damage/FallLocation.mapping | 6 +
.../damage/ProjectileDamageSource.mapping | 6 -
.../minecraft/entity/data/DataTracker.mapping | 44 +-
.../data/TrackedDataHandlerRegistry.mapping | 7 +-
.../AbstractDecorationEntity.mapping | 1 +
.../entity/decoration/Brightness.mapping | 9 +
.../entity/decoration/DisplayEntity.mapping | 251 ++++++
.../decoration/InteractionEntity.mapping | 29 +
.../painting/PaintingEntity.mapping | 9 +-
.../entity/effect/BadOmenStatusEffect.mapping | 1 +
.../effect/DamageModifierStatusEffect.mapping | 6 -
.../effect/HealthBoostStatusEffect.mapping | 1 -
.../entity/effect/HungerStatusEffect.mapping | 1 +
.../InstantHealthOrDamageStatusEffect.mapping | 6 +
.../entity/effect/PoisonStatusEffect.mapping | 1 +
.../effect/RegenerationStatusEffect.mapping | 1 +
.../effect/SaturationStatusEffect.mapping | 1 +
.../entity/effect/StatusEffect.mapping | 35 +-
.../effect/StatusEffectInstance.mapping | 34 +-
.../entity/effect/StatusEffectUtil.mapping | 2 +-
.../entity/effect/StatusEffects.mapping | 7 +-
.../entity/effect/WitherStatusEffect.mapping | 1 +
.../entity/mob/AbstractPiglinEntity.mapping | 1 +
.../entity/mob/CreeperEntity.mapping | 2 +-
.../entity/mob/EndermanEntity.mapping | 1 +
.../entity/mob/EvokerFangsEntity.mapping | 1 -
.../entity/mob/GuardianEntity.mapping | 1 +
.../minecraft/entity/mob/HoglinBrain.mapping | 7 +-
.../entity/mob/IllusionerEntity.mapping | 4 +
.../minecraft/entity/mob/MobEntity.mapping | 27 +-
.../entity/mob/PathAwareEntity.mapping | 3 +
.../entity/mob/PhantomEntity.mapping | 2 +
.../minecraft/entity/mob/PiglinBrain.mapping | 25 +-
.../entity/mob/PiglinBruteBrain.mapping | 2 +
.../entity/mob/PillagerEntity.mapping | 1 +
.../entity/mob/RavagerEntity.mapping | 8 +-
.../entity/mob/ShulkerEntity.mapping | 8 +-
.../entity/mob/SkeletonEntity.mapping | 1 +
.../mob/SpellcastingIllagerEntity.mapping | 3 +
.../minecraft/entity/mob/VexEntity.mapping | 1 -
.../entity/mob/VindicatorEntity.mapping | 3 -
.../minecraft/entity/mob/WardenBrain.mapping | 13 +-
.../minecraft/entity/mob/WardenEntity.mapping | 11 +
.../minecraft/entity/mob/ZoglinEntity.mapping | 6 +
.../entity/mob/ZombieVillagerEntity.mapping | 4 +
.../entity/mob/ZombifiedPiglinEntity.mapping | 2 +
.../passive/AbstractDonkeyEntity.mapping | 3 +
.../passive/AbstractHorseEntity.mapping | 57 +-
.../entity/passive/AllayBrain.mapping | 9 +-
.../entity/passive/AllayEntity.mapping | 15 +-
.../entity/passive/AnimalEntity.mapping | 6 +
.../entity/passive/AxolotlBrain.mapping | 2 +-
.../entity/passive/AxolotlEntity.mapping | 10 +-
.../passive/AxolotlSwimNavigation.mapping | 3 -
.../entity/passive/CamelBrain.mapping | 28 +
.../entity/passive/CamelEntity.mapping | 38 +
.../entity/passive/CatEntity.mapping | 3 -
.../entity/passive/CatVariant.mapping | 9 +-
.../entity/passive/FoxEntity.mapping | 9 +-
.../entity/passive/FrogBrain.mapping | 7 +-
.../entity/passive/FrogEntity.mapping | 5 -
.../entity/passive/HorseColor.mapping | 17 +-
.../entity/passive/HorseEntity.mapping | 7 +-
.../entity/passive/HorseMarking.mapping | 8 +-
.../entity/passive/LlamaEntity.mapping | 19 +-
.../entity/passive/MooshroomEntity.mapping | 12 +-
.../entity/passive/PandaEntity.mapping | 4 +-
.../entity/passive/ParrotEntity.mapping | 15 +-
.../entity/passive/PigEntity.mapping | 1 -
.../entity/passive/RabbitEntity.mapping | 36 +-
.../passive/SchoolingFishEntity.mapping | 4 +-
.../entity/passive/SheepEntity.mapping | 8 +-
.../entity/passive/SnifferBrain.mapping | 47 ++
.../entity/passive/SnifferEntity.mapping | 39 +
.../entity/passive/SnowGolemEntity.mapping | 2 +-
.../entity/passive/StriderEntity.mapping | 8 +-
.../entity/passive/TadpoleBrain.mapping | 2 +
.../entity/passive/TropicalFishEntity.mapping | 77 +-
.../entity/passive/VillagerEntity.mapping | 8 +-
.../passive/WanderingTraderEntity.mapping | 1 +
.../entity/player/PlayerEntity.mapping | 27 +-
.../projectile/AbstractFireballEntity.mapping | 2 -
.../projectile/FishingBobberEntity.mapping | 1 +
.../projectile/ProjectileEntity.mapping | 1 -
.../entity/projectile/ProjectileUtil.mapping | 17 +-
.../projectile/ShulkerBulletEntity.mapping | 1 +
.../projectile/thrown/PotionEntity.mapping | 4 +-
.../thrown/ThrownItemEntity.mapping | 2 -
.../vehicle/AbstractMinecartEntity.mapping | 17 +-
.../entity/vehicle/BoatEntity.mapping | 11 +-
.../vehicle/HopperMinecartEntity.mapping | 6 -
.../entity/vehicle/TntMinecartEntity.mapping | 7 +-
.../entity/vehicle/VehicleInventory.mapping | 5 +-
.../net/minecraft/fluid/FlowableFluid.mapping | 31 +-
.../net/minecraft/fluid/FluidState.mapping | 2 +-
.../net/minecraft/fluid/LavaFluid.mapping | 1 +
.../inventory/CraftingInventory.mapping | 8 +-
.../inventory/CraftingResultInventory.mapping | 3 +-
.../inventory/DoubleInventory.mapping | 6 +
.../inventory/EnderChestInventory.mapping | 6 +
.../minecraft/inventory/Inventories.mapping | 48 ++
.../net/minecraft/inventory/Inventory.mapping | 143 +++-
.../InventoryChangedListener.mapping | 4 +
.../inventory/RecipeInputInventory.mapping | 9 +
.../inventory/SidedInventory.mapping | 8 +-
.../inventory/SimpleInventory.mapping | 41 +-
.../inventory/SingleStackInventory.mapping | 11 +
mappings/net/minecraft/item/ArmorItem.mapping | 22 +-
.../net/minecraft/item/ArmorMaterial.mapping | 44 +-
.../net/minecraft/item/ArmorMaterials.mapping | 23 +-
.../net/minecraft/item/ArmorStandItem.mapping | 3 -
.../net/minecraft/item/BannerItem.mapping | 4 +
mappings/net/minecraft/item/BowItem.mapping | 1 +
mappings/net/minecraft/item/BrushItem.mapping | 19 +
.../net/minecraft/item/BundleItem.mapping | 1 +
.../minecraft/item/CommandBlockItem.mapping | 1 -
.../net/minecraft/item/CrossbowItem.mapping | 5 +-
.../net/minecraft/item/DecorationItem.mapping | 5 +
mappings/net/minecraft/item/DyeItem.mapping | 2 +
mappings/net/minecraft/item/Equipment.mapping | 13 +
.../net/minecraft/item/FilledMapItem.mapping | 4 +-
.../minecraft/item/FireworkRocketItem.mapping | 9 +-
.../net/minecraft/item/GlowInkSacItem.mapping | 3 +
.../net/minecraft/item/GoatHornItem.mapping | 4 +
.../minecraft/item/HangingSignItem.mapping | 5 +
.../net/minecraft/item/InkSacItem.mapping | 3 +
.../net/minecraft/item/Instrument.mapping | 2 +
mappings/net/minecraft/item/Item.mapping | 38 +-
mappings/net/minecraft/item/ItemGroup.mapping | 147 +++-
.../net/minecraft/item/ItemGroups.mapping | 155 ++++
mappings/net/minecraft/item/ItemStack.mapping | 36 +-
.../net/minecraft/item/ItemStackSet.mapping | 11 +
.../minecraft/item/ItemUsageContext.mapping | 6 +-
mappings/net/minecraft/item/Items.mapping | 57 +-
.../item/OperatorOnlyBlockItem.mapping | 1 +
.../net/minecraft/item/ShieldItem.mapping | 1 +
.../minecraft/item/SignChangingItem.mapping | 9 +
mappings/net/minecraft/item/SignItem.mapping | 5 +
mappings/net/minecraft/item/SkullItem.mapping | 6 +-
.../item/SmithingTemplateItem.mapping | 58 ++
.../minecraft/item/SuspiciousStewItem.mapping | 16 +-
.../net/minecraft/item/TridentItem.mapping | 1 +
.../VerticallyAttachableBlockItem.mapping | 17 +
.../item/WallStandingBlockItem.mapping | 6 -
mappings/net/minecraft/item/Wearable.mapping | 4 -
.../minecraft/item/WrittenBookItem.mapping | 6 +-
.../net/minecraft/item/map/MapIcon.mapping | 36 +-
.../net/minecraft/item/map/MapState.mapping | 5 +-
.../net/minecraft/item/trim/ArmorTrim.mapping | 49 ++
.../item/trim/ArmorTrimMaterial.mapping | 11 +
.../item/trim/ArmorTrimMaterials.mapping | 23 +
.../item/trim/ArmorTrimPattern.mapping | 7 +
.../item/trim/ArmorTrimPatterns.mapping | 14 +
.../net/minecraft/loot/AndFunction.mapping | 11 +
.../net/minecraft/loot/LootDataKey.mapping | 3 +
.../net/minecraft/loot/LootDataLookup.mapping | 13 +
.../net/minecraft/loot/LootDataType.mapping | 33 +
mappings/net/minecraft/loot/LootGsons.mapping | 4 -
.../net/minecraft/loot/LootManager.mapping | 59 +-
mappings/net/minecraft/loot/LootPool.mapping | 24 +-
mappings/net/minecraft/loot/LootTable.mapping | 58 +-
.../minecraft/loot/LootTableReporter.mapping | 39 +-
.../loot/condition/AllOfLootCondition.mapping | 9 +
.../AlternativeLootCondition.mapping | 22 +-
.../loot/condition/AnyOfLootCondition.mapping | 7 +
.../BlockStatePropertyLootCondition.mapping | 23 +-
...amageSourcePropertiesLootCondition.mapping | 7 +-
.../EntityPropertiesLootCondition.mapping | 11 +-
.../EntityScoresLootCondition.mapping | 10 +-
.../condition/InvertedLootCondition.mapping | 5 +-
.../KilledByPlayerLootCondition.mapping | 2 +-
.../LocationCheckLootCondition.mapping | 12 +-
.../loot/condition/LootCondition.mapping | 7 +-
.../condition/LootConditionManager.mapping | 25 -
.../loot/condition/LootConditionTypes.mapping | 24 +-
.../condition/MatchToolLootCondition.mapping | 7 +-
.../RandomChanceLootCondition.mapping | 5 +-
...ndomChanceWithLootingLootCondition.mapping | 8 +-
.../condition/ReferenceLootCondition.mapping | 7 +-
.../SurvivesExplosionLootCondition.mapping | 2 +-
.../condition/TableBonusLootCondition.mapping | 11 +-
.../condition/TimeCheckLootCondition.mapping | 13 +-
.../condition/ValueCheckLootCondition.mapping | 8 +-
.../WeatherCheckLootCondition.mapping | 19 +-
.../loot/context/LootContext.mapping | 93 +--
.../context/LootContextParameterSet.mapping | 51 ++
.../loot/context/LootContextTypes.mapping | 13 +-
.../loot/entry/AlternativeEntry.mapping | 5 +-
.../loot/entry/CombinedEntry.mapping | 14 +-
.../minecraft/loot/entry/DynamicEntry.mapping | 6 +-
.../minecraft/loot/entry/EmptyEntry.mapping | 7 +-
.../minecraft/loot/entry/GroupEntry.mapping | 5 +-
.../minecraft/loot/entry/ItemEntry.mapping | 8 +-
.../minecraft/loot/entry/LeafEntry.mapping | 18 +-
.../loot/entry/LootPoolEntry.mapping | 17 +-
.../loot/entry/LootPoolEntryTypes.mapping | 6 +-
.../loot/entry/LootTableEntry.mapping | 8 +-
.../loot/entry/SequenceEntry.mapping | 5 +-
.../net/minecraft/loot/entry/TagEntry.mapping | 8 +-
.../function/ApplyBonusLootFunction.mapping | 51 +-
.../function/ConditionalLootFunction.mapping | 13 +-
.../function/CopyNameLootFunction.mapping | 9 +-
.../loot/function/CopyNbtLootFunction.mapping | 31 +-
.../loot/function/CopyStateFunction.mapping | 20 +-
.../EnchantRandomlyLootFunction.mapping | 14 +-
.../EnchantWithLevelsLootFunction.mapping | 4 +-
.../ExplorationMapLootFunction.mapping | 8 +-
.../ExplosionDecayLootFunction.mapping | 4 +-
.../FillPlayerHeadLootFunction.mapping | 6 +-
.../function/FurnaceSmeltLootFunction.mapping | 4 +-
.../function/LimitCountLootFunction.mapping | 6 +-
.../loot/function/LootFunctionManager.mapping | 32 -
.../loot/function/LootFunctionTypes.mapping | 13 +-
.../LootingEnchantLootFunction.mapping | 4 +-
.../function/ReferenceLootFunction.mapping | 13 +
.../SetAttributesLootFunction.mapping | 46 +-
.../function/SetBannerPatternFunction.mapping | 7 +-
.../function/SetContentsLootFunction.mapping | 12 +-
.../function/SetCountLootFunction.mapping | 8 +-
.../function/SetDamageLootFunction.mapping | 8 +-
.../SetEnchantmentsLootFunction.mapping | 11 +-
.../SetGoatHornSoundLootFunction.mapping | 10 -
.../SetInstrumentLootFunction.mapping | 10 +
.../function/SetLootTableLootFunction.mapping | 12 +-
.../loot/function/SetLoreLootFunction.mapping | 10 +-
.../loot/function/SetNameLootFunction.mapping | 12 +-
.../loot/function/SetNbtLootFunction.mapping | 6 +-
.../function/SetPotionLootFunction.mapping | 8 +-
.../SetStewEffectLootFunction.mapping | 19 +-
.../operator/BoundedIntUnaryOperator.mapping | 13 +-
.../nbt/ContextLootNbtProvider.mapping | 5 +-
.../provider/nbt/LootNbtProviderTypes.mapping | 7 +-
.../nbt/StorageLootNbtProvider.mapping | 5 +-
.../number/BinomialLootNumberProvider.mapping | 8 +-
.../number/ConstantLootNumberProvider.mapping | 6 +-
.../number/LootNumberProviderTypes.mapping | 7 +-
.../number/ScoreLootNumberProvider.mapping | 11 +-
.../number/UniformLootNumberProvider.mapping | 8 +-
.../score/ContextLootScoreProvider.mapping | 6 +-
.../score/FixedLootScoreProvider.mapping | 6 +-
.../score/LootScoreProviderTypes.mapping | 7 +-
mappings/net/minecraft/nbt/NbtByte.mapping | 2 +-
.../net/minecraft/nbt/NbtByteArray.mapping | 2 +-
.../net/minecraft/nbt/NbtCompound.mapping | 2 +-
mappings/net/minecraft/nbt/NbtDouble.mapping | 2 +-
mappings/net/minecraft/nbt/NbtElement.mapping | 1 +
mappings/net/minecraft/nbt/NbtEnd.mapping | 2 +-
mappings/net/minecraft/nbt/NbtFloat.mapping | 2 +-
mappings/net/minecraft/nbt/NbtHelper.mapping | 37 +-
mappings/net/minecraft/nbt/NbtInt.mapping | 2 +-
.../net/minecraft/nbt/NbtIntArray.mapping | 2 +-
mappings/net/minecraft/nbt/NbtIo.mapping | 39 +-
mappings/net/minecraft/nbt/NbtList.mapping | 2 +-
mappings/net/minecraft/nbt/NbtLong.mapping | 2 +-
.../net/minecraft/nbt/NbtLongArray.mapping | 2 +-
mappings/net/minecraft/nbt/NbtOps.mapping | 102 ++-
mappings/net/minecraft/nbt/NbtShort.mapping | 2 +-
mappings/net/minecraft/nbt/NbtString.mapping | 2 +-
.../minecraft/nbt/NbtTagSizeTracker.mapping | 5 +-
.../net/minecraft/nbt/StringNbtReader.mapping | 3 +
.../network/ClientConnection.mapping | 102 ++-
.../minecraft/network/DecoderHandler.mapping | 9 -
.../network/LegacyQueryHandler.mapping | 13 -
.../minecraft/network/NetworkState.mapping | 72 +-
mappings/net/minecraft/network/Packet.mapping | 8 -
.../minecraft/network/PacketByteBuf.mapping | 284 +++++--
.../minecraft/network/PacketEncoder.mapping | 9 -
.../network/PacketEncoderException.mapping | 3 -
.../minecraft/network/QueryableServer.mapping | 5 +
.../minecraft/network/SplitterHandler.mapping | 5 -
.../network/encoding/StringEncoding.mapping | 8 +
.../network/encoding/VarInts.mapping | 14 +
.../network/encoding/VarLongs.mapping | 14 +
.../encryption/ClientPlayerSession.mapping | 6 +
.../encryption/NetworkEncryptionUtils.mapping | 1 +
.../encryption/PlayerPublicKey.mapping | 6 +-
.../encryption/PublicPlayerSession.mapping | 20 +
.../encryption/SignatureVerifier.mapping | 10 +-
.../network/handler/DecoderHandler.mapping | 9 +
.../network/handler/LegacyQueries.mapping | 11 +
.../handler/LegacyQueryHandler.mapping | 20 +
.../NetworkStateTransitionHandler.mapping | 4 +
.../handler/PacketBundleHandler.mapping | 20 +
.../network/handler/PacketBundler.mapping | 10 +
.../{ => handler}/PacketDeflater.mapping | 2 +-
.../network/handler/PacketEncoder.mapping | 9 +
.../handler/PacketEncoderException.mapping | 3 +
.../{ => handler}/PacketInflater.mapping | 7 +-
.../network/handler/PacketSizeLogger.mapping | 8 +
.../network/handler/PacketUnbundler.mapping | 8 +
.../network/handler/PacketValidator.mapping | 20 +
.../{ => handler}/SizePrepender.mapping | 2 +-
.../network/handler/SplitterHandler.mapping | 15 +
.../ClientCommonPacketListener.mapping | 13 +
.../ClientConfigurationPacketListener.mapping | 7 +
.../listener/ClientPacketListener.mapping | 1 +
.../ClientPingResultPacketListener.mapping | 6 +
.../listener/ClientPlayPacketListener.mapping | 38 +-
.../ClientQueryPacketListener.mapping | 2 -
.../network/listener/PacketListener.mapping | 16 +-
.../ServerCommonPacketListener.mapping | 9 +
.../ServerConfigurationPacketListener.mapping | 3 +
.../ServerCrashSafePacketListener.mapping | 5 +
.../ServerLoginPacketListener.mapping | 2 +
.../listener/ServerPacketListener.mapping | 6 +-
.../listener/ServerPlayPacketListener.mapping | 16 +-
.../ServerQueryPacketListener.mapping | 2 -
.../ServerQueryPingPacketListener.mapping | 6 +
.../listener/TickablePacketListener.mapping | 2 +
.../message/AcknowledgedMessage.mapping | 5 +
.../message/AcknowledgmentValidator.mapping | 44 +-
.../message/ArgumentSignatureDataMap.mapping | 20 +-
.../message/CachedDecoratorResult.mapping | 27 -
.../network/message/DecoratedContents.mapping | 13 -
.../network/message/FilterMask.mapping | 21 +-
.../message/LastSeenMessageList.mapping | 36 +-
.../message/LastSeenMessagesCollector.mapping | 27 +-
.../network/message/MessageBody.mapping | 39 +-
.../network/message/MessageChain.mapping | 98 ++-
.../message/MessageChainTaskQueue.mapping | 6 +-
.../network/message/MessageDecorator.mapping | 28 +-
.../network/message/MessageHeader.mapping | 16 -
.../network/message/MessageLink.mapping | 23 +
.../network/message/MessageMetadata.mapping | 17 -
.../message/MessageSignatureData.mapping | 47 +-
.../message/MessageSignatureStorage.mapping | 18 +
.../message/MessageSourceProfile.mapping | 11 -
.../network/message/MessageType.mapping | 7 +-
.../network/message/MessageVerifier.mapping | 59 +-
.../network/message/SentMessage.mapping | 17 +-
.../network/message/SignedMessage.mapping | 55 +-
.../network/packet/BrandCustomPayload.mapping | 4 +
.../network/packet/BundlePacket.mapping | 5 +
.../packet/BundleSplitterPacket.mapping | 1 +
.../network/packet/CustomPayload.mapping | 3 +
.../minecraft/network/packet/Packet.mapping | 15 +
.../packet/UnknownCustomPayload.mapping | 1 +
.../CommonPongC2SPacket.mapping} | 6 +-
.../c2s/common/CustomPayloadC2SPacket.mapping | 11 +
.../KeepAliveC2SPacket.mapping | 2 +-
.../ResourcePackStatusC2SPacket.mapping | 2 +-
.../packet/c2s/config/ReadyC2SPacket.mapping | 3 +
.../c2s/handshake/ConnectionIntent.mapping | 7 +
.../c2s/handshake/HandshakeC2SPacket.mapping | 20 +-
.../login/EnterConfigurationC2SPacket.mapping | 3 +
.../c2s/login/LoginHelloC2SPacket.mapping | 3 -
.../c2s/login/LoginKeyC2SPacket.mapping | 18 +-
.../login/LoginQueryResponseC2SPacket.mapping | 29 +-
.../login/LoginQueryResponsePayload.mapping | 3 +
.../UnknownLoginQueryResponsePayload.mapping | 2 +
.../play/AcknowledgeChunksC2SPacket.mapping | 3 +
...cknowledgeReconfigurationC2SPacket.mapping | 3 +
.../c2s/play/AdvancementTabC2SPacket.mapping | 2 +-
.../c2s/play/ChatMessageC2SPacket.mapping | 8 +-
.../c2s/play/ClickSlotC2SPacket.mapping | 2 +-
.../play/CommandExecutionC2SPacket.mapping | 7 +-
.../c2s/play/CraftRequestC2SPacket.mapping | 3 +-
.../CreativeInventoryActionC2SPacket.mapping | 2 +-
.../c2s/play/CustomPayloadC2SPacket.mapping | 12 -
.../MessageAcknowledgmentC2SPacket.mapping | 2 -
.../PlayerInteractEntityC2SPacket.mapping | 2 +
.../c2s/play/PlayerSessionC2SPacket.mapping | 3 +
.../c2s/play/RecipeBookDataC2SPacket.mapping | 2 -
.../play/RequestChatPreviewC2SPacket.mapping | 3 -
.../c2s/play/UpdateBeaconC2SPacket.mapping | 13 +
.../play/UpdateCommandBlockC2SPacket.mapping | 2 +-
.../c2s/play/UpdateSignC2SPacket.mapping | 13 +-
.../CommonPingS2CPacket.mapping} | 7 +-
.../s2c/common/CustomPayloadS2CPacket.mapping | 11 +
.../DisconnectS2CPacket.mapping | 2 +-
.../KeepAliveS2CPacket.mapping | 2 +-
.../ResourcePackSendS2CPacket.mapping | 6 +-
.../SynchronizeTagsS2CPacket.mapping | 9 +-
.../config/DynamicRegistriesS2CPacket.mapping | 6 +
.../s2c/config/FeaturesS2CPacket.mapping | 3 +
.../packet/s2c/config/ReadyS2CPacket.mapping | 3 +
.../s2c/custom/DebugBeeCustomPayload.mapping | 26 +
.../custom/DebugBrainCustomPayload.mapping | 32 +
.../DebugGameEventCustomPayload.mapping | 4 +
...bugGameEventListenersCustomPayload.mapping | 4 +
...ebugGameTestAddMarkerCustomPayload.mapping | 4 +
.../DebugGameTestClearCustomPayload.mapping | 4 +
.../DebugGoalSelectorCustomPayload.mapping | 12 +
.../s2c/custom/DebugHiveCustomPayload.mapping | 9 +
.../DebugNeighborsUpdateCustomPayload.mapping | 4 +
.../s2c/custom/DebugPathCustomPayload.mapping | 4 +
.../custom/DebugPoiAddedCustomPayload.mapping | 4 +
.../DebugPoiRemovedCustomPayload.mapping | 4 +
.../DebugPoiTicketCountCustomPayload.mapping | 4 +
.../custom/DebugRaidsCustomPayload.mapping | 4 +
.../DebugStructuresCustomPayload.mapping | 17 +
.../DebugVillageSectionsCustomPayload.mapping | 4 +
.../DebugWorldgenAttemptCustomPayload.mapping | 4 +
.../login/LoginQueryRequestPayload.mapping | 3 +
.../login/LoginQueryRequestS2CPacket.mapping | 18 +-
.../UnknownLoginQueryRequestPayload.mapping | 1 +
.../play/AdvancementUpdateS2CPacket.mapping | 7 +-
.../packet/s2c/play/BundleS2CPacket.mapping | 1 +
.../s2c/play/ChatMessageS2CPacket.mapping | 5 +-
.../s2c/play/ChatPreviewS2CPacket.mapping | 3 -
.../ChatPreviewStateChangeS2CPacket.mapping | 3 -
.../s2c/play/ChunkBiomeDataS2CPacket.mapping | 23 +
.../s2c/play/ChunkDataS2CPacket.mapping | 7 +-
.../play/ChunkDeltaUpdateS2CPacket.mapping | 6 +-
.../s2c/play/ChunkSentS2CPacket.mapping | 3 +
.../s2c/play/CommonPlayerSpawnInfo.mapping | 9 +
.../play/CraftFailedResponseS2CPacket.mapping | 3 +-
.../s2c/play/CustomPayloadS2CPacket.mapping | 29 -
.../s2c/play/DamageTiltS2CPacket.mapping | 5 +
.../s2c/play/DeathMessageS2CPacket.mapping | 8 +-
.../s2c/play/EndCombatS2CPacket.mapping | 6 +-
.../EnterReconfigurationS2CPacket.mapping | 3 +
.../s2c/play/EntityAnimationS2CPacket.mapping | 1 -
.../s2c/play/EntityAttachS2CPacket.mapping | 4 +-
.../play/EntityAttributesS2CPacket.mapping | 2 +-
.../s2c/play/EntityDamageS2CPacket.mapping | 18 +
.../s2c/play/EntitySpawnS2CPacket.mapping | 13 +-
.../play/EntityStatusEffectS2CPacket.mapping | 1 -
.../play/EntityTrackerUpdateS2CPacket.mapping | 18 +-
.../packet/s2c/play/GameJoinS2CPacket.mapping | 21 +-
.../network/packet/s2c/play/LightData.mapping | 5 +-
.../s2c/play/LightUpdateS2CPacket.mapping | 3 +-
.../s2c/play/MapUpdateS2CPacket.mapping | 2 +-
.../s2c/play/MessageHeaderS2CPacket.mapping | 5 -
.../play/PlaySoundFromEntityS2CPacket.mapping | 6 +-
.../s2c/play/PlaySoundIdS2CPacket.mapping | 27 -
.../s2c/play/PlaySoundS2CPacket.mapping | 6 +-
.../s2c/play/PlayerListS2CPacket.mapping | 117 ++-
.../play/PlayerPositionLookS2CPacket.mapping | 16 +-
.../s2c/play/PlayerRemoveS2CPacket.mapping | 3 +
.../s2c/play/PlayerRespawnS2CPacket.mapping | 35 +-
.../packet/s2c/play/PositionFlag.mapping | 13 +
.../ProfilelessChatMessageS2CPacket.mapping | 3 +
...mapping => RemoveMessageS2CPacket.mapping} | 2 +-
.../play/ScoreboardDisplayS2CPacket.mapping | 10 +-
.../ScoreboardPlayerUpdateS2CPacket.mapping | 4 +-
.../ScreenHandlerSlotUpdateS2CPacket.mapping | 2 +-
.../s2c/play/ServerMetadataS2CPacket.mapping | 13 +-
.../s2c/play/SetTradeOffersS2CPacket.mapping | 4 +-
.../s2c/play/SignEditorOpenS2CPacket.mapping | 5 +-
.../s2c/play/StartChunkSendS2CPacket.mapping | 3 +
.../s2c/play/StatisticsS2CPacket.mapping | 4 +-
.../play/SynchronizeRecipesS2CPacket.mapping | 5 +-
.../s2c/play/UnloadChunkS2CPacket.mapping | 7 -
.../play/UpdateSelectedSlotS2CPacket.mapping | 2 +-
...et.mapping => PingResultS2CPacket.mapping} | 2 +-
.../s2c/query/QueryResponseS2CPacket.mapping | 5 +-
.../minecraft/obfuscate/DontObfuscate.mapping | 3 -
.../AbstractDustParticleEffect.mapping | 10 +-
.../DustColorTransitionParticleEffect.mapping | 14 +-
.../particle/DustParticleEffect.mapping | 4 +-
mappings/net/minecraft/potion/Potion.mapping | 2 +
.../net/minecraft/potion/PotionUtil.mapping | 8 +-
mappings/net/minecraft/potion/Potions.mapping | 5 +
.../predicate/BlockPredicate.mapping | 37 +-
.../predicate/DamagePredicate.mapping | 29 +-
.../predicate/FluidPredicate.mapping | 24 +-
.../predicate/LightPredicate.mapping | 8 +-
.../minecraft/predicate/NbtPredicate.mapping | 8 +-
.../minecraft/predicate/NumberRange.mapping | 64 +-
.../predicate/StatePredicate.mapping | 57 +-
.../minecraft/predicate/TagPredicate.mapping | 16 +
...ncementEntityPredicateDeserializer.mapping | 11 +-
...vancementEntityPredicateSerializer.mapping | 5 -
.../entity/DamageSourcePredicate.mapping | 75 +-
.../entity/DistancePredicate.mapping | 19 +-
.../entity/EntityEffectPredicate.mapping | 42 +-
.../entity/EntityEquipmentPredicate.mapping | 60 +-
.../entity/EntityFlagsPredicate.mapping | 43 +-
.../predicate/entity/EntityPredicate.mapping | 171 ++--
.../predicate/entity/EntityPredicates.mapping | 2 +-
.../entity/EntityTypePredicate.mapping | 14 +-
.../entity/FishingHookPredicate.mapping | 9 +-
.../entity/LightningBoltPredicate.mapping | 14 +-
.../entity/LocationPredicate.mapping | 103 +--
.../entity/LootContextPredicate.mapping | 18 +
.../predicate/entity/PlayerPredicate.mapping | 76 +-
.../predicate/entity/SlimePredicate.mapping | 6 +-
.../entity/TypeSpecificPredicate.mapping | 57 +-
.../entity/VariantPredicates.mapping | 21 +-
.../item/EnchantmentPredicate.mapping | 14 +-
.../predicate/item/ItemPredicate.mapping | 57 +-
.../recipe/AbstractCookingRecipe.mapping | 23 +-
.../minecraft/recipe/BlastingRecipe.mapping | 12 +-
.../recipe/CampfireCookingRecipe.mapping | 12 +-
.../recipe/CookingRecipeSerializer.mapping | 14 +-
.../recipe/CraftingDecoratedPotRecipe.mapping | 1 +
.../minecraft/recipe/CraftingRecipe.mapping | 1 +
.../minecraft/recipe/CuttingRecipe.mapping | 25 +-
.../net/minecraft/recipe/Ingredient.mapping | 22 +-
.../minecraft/recipe/InputSlotFiller.mapping | 8 +-
.../recipe/MapExtendingRecipe.mapping | 6 +-
mappings/net/minecraft/recipe/Recipe.mapping | 13 +-
.../recipe/RecipeGridAligner.mapping | 3 +-
.../minecraft/recipe/RecipeManager.mapping | 10 +-
.../minecraft/recipe/RecipeMatcher.mapping | 8 +-
.../minecraft/recipe/RecipeSerializer.mapping | 55 +-
.../minecraft/recipe/RecipeUnlocker.mapping | 11 +-
.../net/minecraft/recipe/ShapedRecipe.mapping | 48 +-
.../minecraft/recipe/ShapelessRecipe.mapping | 19 +-
.../minecraft/recipe/SmeltingRecipe.mapping | 12 +-
.../minecraft/recipe/SmithingRecipe.mapping | 18 +-
.../recipe/SmithingTransformRecipe.mapping | 12 +
.../recipe/SmithingTrimRecipe.mapping | 10 +
.../minecraft/recipe/SmokingRecipe.mapping | 12 +-
.../recipe/SpecialCraftingRecipe.mapping | 6 +-
.../recipe/SpecialRecipeSerializer.mapping | 8 +-
.../recipe/StonecuttingRecipe.mapping | 10 +-
.../recipe/book/CookingRecipeCategory.mapping | 5 +
.../book/CraftingRecipeCategory.mapping | 5 +
.../minecraft/recipe/book/RecipeBook.mapping | 18 +-
.../recipe/book/RecipeCategory.mapping | 5 +
.../registry/BuiltinRegistries.mapping | 18 +
.../CombinedDynamicRegistries.mapping | 33 +
.../registry/DefaultedRegistry.mapping | 2 +
.../registry/DynamicRegistryManager.mapping | 47 ++
.../registry/MutableRegistry.mapping | 12 +
.../minecraft/registry/Registerable.mapping | 10 +
.../net/minecraft/registry/Registries.mapping | 224 +++++
.../net/minecraft/registry/Registry.mapping | 287 +++++++
.../registry/RegistryBuilder.mapping | 94 +++
.../registry/RegistryCodecs.mapping | 45 +-
.../registry/RegistryEntryLookup.mapping | 14 +
.../{util => }/registry/RegistryKey.mapping | 13 +-
.../minecraft/registry/RegistryKeys.mapping | 47 ++
.../minecraft/registry/RegistryLoader.mapping | 57 ++
.../minecraft/registry/RegistryOps.mapping | 44 +
.../registry/RegistryWrapper.mapping | 43 +
.../registry/SerializableRegistries.mapping | 35 +
.../ServerDynamicRegistryType.mapping | 4 +
.../registry/SimpleDefaultedRegistry.mapping | 9 +
.../registry/SimpleRegistry.mapping | 41 +-
.../entry}/RegistryElementCodec.mapping | 8 +-
.../registry/entry/RegistryEntry.mapping | 150 ++++
.../registry/entry/RegistryEntryList.mapping | 71 ++
.../entry}/RegistryEntryListCodec.mapping | 6 +-
.../registry/entry/RegistryEntryOwner.mapping | 6 +
.../entry}/RegistryFixedCodec.mapping | 4 +-
.../tag/BannerPatternTags.mapping | 2 +-
.../{ => registry}/tag/BiomeTags.mapping | 2 +-
.../{ => registry}/tag/BlockTags.mapping | 2 +-
.../{ => registry}/tag/CatVariantTags.mapping | 2 +-
.../registry/tag/DamageTypeTags.mapping | 3 +
.../{ => registry}/tag/EntityTypeTags.mapping | 2 +-
.../tag/FlatLevelGeneratorPresetTags.mapping | 3 +
.../{ => registry}/tag/FluidTags.mapping | 2 +-
.../{ => registry}/tag/GameEventTags.mapping | 2 +-
.../{ => registry}/tag/InstrumentTags.mapping | 2 +-
.../{ => registry}/tag/ItemTags.mapping | 2 +-
.../tag/PaintingVariantTags.mapping | 2 +-
.../tag/PointOfInterestTypeTags.mapping | 2 +-
.../{ => registry}/tag/StructureTags.mapping | 2 +-
.../{ => registry}/tag/TagBuilder.mapping | 2 +-
.../{ => registry}/tag/TagEntry.mapping | 2 +-
.../{ => registry}/tag/TagFile.mapping | 2 +-
.../registry/tag/TagGroupLoader.mapping | 42 +
.../{ => registry}/tag/TagKey.mapping | 2 +-
.../tag/TagManagerLoader.mapping | 2 +-
.../tag/TagPacketSerializer.mapping | 6 +-
.../tag/WorldPresetTags.mapping | 2 +-
.../resource/AbstractFileResourcePack.mapping | 18 +-
.../resource/DataConfiguration.mapping | 8 +
.../resource/DefaultResourcePack.mapping | 57 +-
.../DefaultResourcePackBuilder.mapping | 41 +
.../resource/DependencyTracker.mapping | 41 +
.../resource/DirectoryResourcePack.mapping | 48 +-
.../resource/FileResourcePackProvider.mapping | 33 +-
.../minecraft/resource/InputSupplier.mapping | 6 +
.../minecraft/resource/JsonDataLoader.mapping | 9 +-
.../LifecycledResourceManagerImpl.mapping | 5 +
.../resource/NamespaceResourceManager.mapping | 66 +-
.../resource/OverlayResourcePack.mapping | 6 +
.../net/minecraft/resource/Resource.mapping | 17 +-
.../resource/ResourceFactory.mapping | 4 +
.../minecraft/resource/ResourceFinder.mapping | 22 +
.../ResourceNotFoundException.mapping | 4 -
.../minecraft/resource/ResourcePack.mapping | 17 +-
.../ResourcePackCompatibility.mapping | 9 +-
.../resource/ResourcePackManager.mapping | 22 +-
.../resource/ResourcePackOpener.mapping | 11 +
.../resource/ResourcePackProfile.mapping | 76 +-
.../resource/ResourcePackProvider.mapping | 4 +-
.../resource/ResourcePackSource.mapping | 22 +-
.../minecraft/resource/ResourceType.mapping | 6 +-
.../SinglePreparationResourceReloader.mapping | 2 +
.../resource/VanillaDataPackProvider.mapping | 13 +-
.../VanillaResourcePackProvider.mapping | 42 +
.../resource/ZipResourcePack.mapping | 37 +-
.../featuretoggle/FeatureFlag.mapping | 6 +
.../featuretoggle/FeatureFlags.mapping | 19 +
.../featuretoggle/FeatureManager.mapping | 42 +
.../resource/featuretoggle/FeatureSet.mapping | 29 +
.../featuretoggle/FeatureUniverse.mapping | 4 +
.../featuretoggle/ToggleableFeature.mapping | 5 +
.../resource/fs/ResourceFile.mapping | 5 +
.../fs/ResourceFileAttributes.mapping | 2 +
.../resource/fs/ResourceFileStore.mapping | 12 +
.../resource/fs/ResourceFileSystem.mapping | 43 +
.../fs/ResourceFileSystemProvider.mapping | 63 ++
.../resource/fs/ResourcePath.mapping | 62 ++
.../resource/metadata/BlockEntry.mapping | 25 +
.../metadata/PackFeatureSetMetadata.mapping | 5 +
.../metadata/PackOverlaysMetadata.mapping | 18 +
.../metadata/PackResourceMetadata.mapping | 11 +-
.../PackResourceMetadataReader.mapping | 1 -
.../resource/metadata/ResourceFilter.mapping | 28 +-
.../metadata/ResourceMetadata.mapping | 14 +
.../metadata/ResourceMetadataMap.mapping | 16 +
.../ResourceMetadataSerializer.mapping | 7 +
.../minecraft/scoreboard/Scoreboard.mapping | 28 +-
.../scoreboard/ScoreboardCriterion.mapping | 2 +-
.../scoreboard/ScoreboardDisplaySlot.mapping | 11 +
.../scoreboard/ScoreboardState.mapping | 3 +-
.../scoreboard/ServerScoreboard.mapping | 1 +
.../AbstractFurnaceScreenHandler.mapping | 4 +-
.../AbstractRecipeScreenHandler.mapping | 6 +-
.../screen/AnvilScreenHandler.mapping | 16 +-
.../screen/BeaconScreenHandler.mapping | 11 +
.../screen/BrewingStandScreenHandler.mapping | 8 +
.../CartographyTableScreenHandler.mapping | 4 +
.../screen/CraftingScreenHandler.mapping | 11 +-
.../screen/EnchantmentScreenHandler.mapping | 1 +
.../screen/ForgingScreenHandler.mapping | 25 +-
.../Generic3x3ContainerScreenHandler.mapping | 5 +
.../GenericContainerScreenHandler.mapping | 1 +
.../screen/GrindstoneScreenHandler.mapping | 7 +
.../screen/LoomScreenHandler.mapping | 5 +
.../screen/MerchantScreenHandler.mapping | 11 +
.../screen/PlayerScreenHandler.mapping | 19 +-
.../minecraft/screen/ScreenHandler.mapping | 36 +-
.../screen/ScreenHandlerFactory.mapping | 2 +-
.../screen/ScreenHandlerType.mapping | 10 +-
.../net/minecraft/screen/ScreenTexts.mapping | 13 +-
.../screen/SmithingScreenHandler.mapping | 27 +-
.../screen/StonecutterScreenHandler.mapping | 7 +
.../screen/slot/CraftingResultSlot.mapping | 4 +-
.../screen/slot/ForgingSlotsManager.mapping | 37 +
.../net/minecraft/screen/slot/Slot.mapping | 14 +-
.../minecraft/server/DataPackContents.mapping | 24 +-
mappings/net/minecraft/server/Main.mapping | 18 +-
.../minecraft/server/MinecraftServer.mapping | 48 +-
.../minecraft/server/PlayerManager.mapping | 31 +-
.../net/minecraft/server/SaveLoader.mapping | 9 +-
.../net/minecraft/server/SaveLoading.mapping | 38 +-
.../server/ServerAdvancementLoader.mapping | 10 +-
.../server/ServerConfigHandler.mapping | 20 +-
.../minecraft/server/ServerMetadata.mapping | 99 +--
.../minecraft/server/ServerNetworkIo.mapping | 4 +-
.../server/command/AdvancementCommand.mapping | 12 +-
.../server/command/AttributeCommand.mapping | 21 +-
.../server/command/ChaseCommand.mapping | 1 +
.../server/command/CloneCommand.mapping | 82 +-
.../server/command/CommandManager.mapping | 4 +-
.../server/command/DamageCommand.mapping | 22 +
.../server/command/DataCommand.mapping | 108 ++-
.../server/command/DatapackCommand.mapping | 12 +-
.../server/command/DebugConfigCommand.mapping | 20 +
.../command/DefaultGameModeCommand.mapping | 2 -
.../server/command/EffectCommand.mapping | 17 +-
.../server/command/EnchantCommand.mapping | 5 +-
.../server/command/ExecuteCommand.mapping | 54 +-
.../server/command/FillBiomeCommand.mapping | 36 +
.../server/command/FillCommand.mapping | 1 -
.../server/command/FunctionCommand.mapping | 24 +-
.../server/command/GameModeCommand.mapping | 4 -
.../server/command/LocateCommand.mapping | 59 +-
.../server/command/LootCommand.mapping | 4 +-
.../server/command/MeCommand.mapping | 4 +-
.../server/command/MessageCommand.mapping | 8 +-
.../server/command/ParticleCommand.mapping | 3 +-
.../server/command/PlaceCommand.mapping | 10 +-
.../server/command/PublishCommand.mapping | 6 +-
.../server/command/RandomCommand.mapping | 59 ++
.../server/command/ReturnCommand.mapping | 16 +
.../server/command/RideCommand.mapping | 32 +
.../server/command/SayCommand.mapping | 4 +-
.../server/command/ScheduleCommand.mapping | 4 +-
.../server/command/ScoreboardCommand.mapping | 4 +-
.../server/command/SeedCommand.mapping | 2 -
.../command/ServerCommandSource.mapping | 12 +-
.../command/SpawnArmorTrimsCommand.mapping | 25 +
.../server/command/SummonCommand.mapping | 15 +-
.../server/command/TeamMsgCommand.mapping | 13 +-
.../server/command/TestCommand.mapping | 5 +
.../command/WardenSpawnTrackerCommand.mapping | 2 +
.../server/command/WeatherCommand.mapping | 4 +
.../dedicated/DedicatedPlayerManager.mapping | 2 +-
.../server/dedicated/DedicatedServer.mapping | 3 -
.../dedicated/DedicatedServerWatchdog.mapping | 2 +
.../server/dedicated/ServerMBean.mapping | 4 +
.../dedicated/ServerPropertiesHandler.mapping | 23 +-
.../dedicated/command/BanIpCommand.mapping | 1 -
.../server/function/CommandFunction.mapping | 32 +
.../function/CommandFunctionManager.mapping | 21 +-
.../server/function/FunctionLoader.mapping | 6 +-
.../server/function/MacroException.mapping | 5 +
.../IntegratedPlayerManager.mapping | 2 +-
.../integrated/IntegratedServer.mapping | 4 +
.../integrated/IntegratedServerLoader.mapping | 46 +-
.../server/network/ChunkDataSender.mapping | 30 +
.../server/network/ChunkFilter.mapping | 44 +
.../server/network/DebugInfoSender.mapping | 26 +-
.../server/network/EntityTrackerEntry.mapping | 16 +-
.../server/network/JoinWorldTask.mapping | 2 +
.../PlayerAssociatedNetworkHandler.mapping | 4 +
.../network/SendResourcePackTask.mapping | 5 +
.../ServerCommonNetworkHandler.mapping | 29 +
.../ServerConfigurationNetworkHandler.mapping | 18 +
.../network/ServerLoginNetworkHandler.mapping | 38 +-
.../network/ServerPlayNetworkHandler.mapping | 138 +---
.../ServerPlayerConfigurationTask.mapping | 5 +
.../server/network/ServerPlayerEntity.mapping | 63 +-
.../network/ServerQueryNetworkHandler.mapping | 6 +-
.../server/rcon/QueryResponseHandler.mapping | 1 +
.../server/world/ChunkHolder.mapping | 46 +-
.../server/world/ChunkLevelType.mapping | 3 +
.../server/world/ChunkLevels.mapping | 19 +
.../server/world/ChunkTicketManager.mapping | 13 +-
.../server/world/ChunkTicketType.mapping | 6 +
.../world/EntityTrackingListener.mapping | 5 -
.../world/PlayerChunkWatchingManager.mapping | 16 +-
.../server/world/ServerChunkManager.mapping | 4 +-
.../server/world/ServerEntityManager.mapping | 2 +-
.../world/ServerLightingProvider.mapping | 10 +-
.../server/world/ServerWorld.mapping | 59 +-
.../world/ThreadedAnvilChunkStorage.mapping | 106 ++-
.../sound/BiomeAdditionsSound.mapping | 10 +-
.../minecraft/sound/BiomeMoodSound.mapping | 14 +-
.../minecraft/sound/BlockSoundGroup.mapping | 18 +
.../net/minecraft/sound/MusicSound.mapping | 14 +-
.../net/minecraft/sound/SoundEvent.mapping | 24 +-
.../net/minecraft/sound/SoundEvents.mapping | 19 +-
mappings/net/minecraft/stat/StatType.mapping | 4 +-
mappings/net/minecraft/state/State.mapping | 5 +
.../state/property/IntProperty.mapping | 2 +
.../state/property/Properties.mapping | 36 +-
.../structure/AncientCityGenerator.mapping | 5 +-
.../AncientCityOutskirtsGenerator.mapping | 3 +-
.../structure/BastionBridgeData.mapping | 3 +-
.../minecraft/structure/BastionData.mapping | 3 +-
.../structure/BastionHoglinStableData.mapping | 3 +
.../structure/BastionRemnantGenerator.mapping | 5 +-
.../structure/BastionTreasureData.mapping | 3 +-
.../structure/BastionUnitsData.mapping | 3 +-
.../structure/DesertTempleGenerator.mapping | 40 +
.../structure/DesertVillageData.mapping | 7 +-
.../structure/EndCityGenerator.mapping | 2 +
.../structure/HoglinStableData.mapping | 2 -
.../structure/MineshaftGenerator.mapping | 2 +-
.../structure/OceanMonumentGenerator.mapping | 13 +-
.../structure/OceanRuinGenerator.mapping | 29 +-
.../PillagerOutpostGenerator.mapping | 5 +-
.../structure/PlainsVillageData.mapping | 6 +-
.../RuinedPortalStructurePiece.mapping | 2 +
.../structure/SavannaVillageData.mapping | 7 +-
.../structure/ShiftableStructurePiece.mapping | 1 +
.../structure/ShipwreckGenerator.mapping | 3 +
.../structure/SimpleStructurePiece.mapping | 2 +
.../structure/SnowyVillageData.mapping | 6 +-
.../structure/StructurePlacementData.mapping | 1 +
.../minecraft/structure/StructureSets.mapping | 28 +-
.../structure/StructureTemplate.mapping | 17 +-
.../StructureTemplateManager.mapping | 9 +-
.../structure/TaigaVillageData.mapping | 6 +-
.../structure/TrailRuinsGenerator.mapping | 4 +
.../structure/VillageGenerator.mapping | 3 +-
.../WoodlandMansionGenerator.mapping | 7 -
.../structure/pool/SinglePoolElement.mapping | 2 -
.../structure/pool/StructurePool.mapping | 24 +-
.../pool/StructurePoolBasedGenerator.mapping | 23 +-
.../pool/StructurePoolElement.mapping | 1 +
.../structure/pool/StructurePools.mapping | 12 +-
.../BlockRotStructureProcessor.mapping | 2 +-
.../CappedStructureProcessor.mapping | 13 +
.../processor/StructureProcessor.mapping | 7 +
.../processor/StructureProcessorLists.mapping | 14 +-
.../processor/StructureProcessorRule.mapping | 17 +-
.../structure/rule/PosRuleTest.mapping | 3 +
.../AppendLootRuleBlockEntityModifier.mapping | 12 +
...ppendStaticRuleBlockEntityModifier.mapping | 9 +
.../ClearRuleBlockEntityModifier.mapping | 3 +
...PassthroughRuleBlockEntityModifier.mapping | 3 +
.../RuleBlockEntityModifier.mapping | 6 +
.../RuleBlockEntityModifierType.mapping | 4 +
.../tag/FlatLevelGeneratorPresetTags.mapping | 3 -
.../net/minecraft/tag/TagGroupLoader.mapping | 72 --
.../minecraft/test/StructureTestUtil.mapping | 3 +-
.../net/minecraft/test/TestContext.mapping | 66 +-
.../net/minecraft/test/TestRunner.mapping | 2 +
.../net/minecraft/test/TestServer.mapping | 7 +-
mappings/net/minecraft/test/TestUtil.mapping | 6 +-
mappings/net/minecraft/text/Text.mapping | 9 +-
.../TextReorderingProcessor.mapping | 4 +-
.../font => text}/TextVisitFactory.mapping | 4 +-
mappings/net/minecraft/text/Texts.mapping | 6 +-
.../text/TranslatableTextContent.mapping | 9 +-
.../packageinfo/PackageInfo6204.mapping | 1 -
.../packageinfo/PackageInfo7676.mapping | 1 +
.../packageinfo/PackageInfo7694.mapping | 1 +
.../packageinfo/PackageInfo7702.mapping | 1 +
.../packageinfo/PackageInfo7727.mapping | 1 +
.../packageinfo/PackageInfo7728.mapping | 1 +
.../packageinfo/PackageInfo7787.mapping | 1 +
.../packageinfo/PackageInfo7795.mapping | 1 +
.../packageinfo/PackageInfo7797.mapping | 1 +
.../packageinfo/PackageInfo7804.mapping | 1 +
.../packageinfo/PackageInfo7888.mapping | 1 +
.../packageinfo/PackageInfo7912.mapping | 1 +
.../packageinfo/PackageInfo7925.mapping | 1 +
.../packageinfo/PackageInfo7937.mapping | 1 +
.../packageinfo/PackageInfo7945.mapping | 1 +
.../packageinfo/PackageInfo7953.mapping | 1 +
.../packageinfo/PackageInfo7961.mapping | 1 +
.../packageinfo/PackageInfo7983.mapping | 1 +
.../packageinfo/PackageInfo7984.mapping | 1 +
.../packageinfo/PackageInfo8008.mapping | 1 +
.../packageinfo/PackageInfo8022.mapping | 1 +
.../packageinfo/PackageInfo8031.mapping | 1 +
.../packageinfo/PackageInfo8058.mapping | 1 +
.../packageinfo/PackageInfo8091.mapping | 1 +
.../packageinfo/PackageInfo8250.mapping | 1 +
.../packageinfo/PackageInfo8501.mapping | 1 +
.../packageinfo/PackageInfo8585.mapping | 1 +
.../packageinfo/PackageInfo8598.mapping | 1 +
.../packageinfo/PackageInfo8613.mapping | 1 +
.../packageinfo/PackageInfo8696.mapping | 1 +
.../packageinfo/PackageInfo8730.mapping | 1 +
.../packageinfo/PackageInfo8731.mapping | 1 +
.../packageinfo/PackageInfo8737.mapping | 1 +
.../net/minecraft/util/ApiServices.mapping | 3 +-
mappings/net/minecraft/util/Arm.mapping | 9 +-
.../net/minecraft/util/CachedMapper.mapping | 13 +
mappings/net/minecraft/util/Colors.mapping | 12 +
.../net/minecraft/util/CubicSampler.mapping | 2 +
mappings/net/minecraft/util/DyeColor.mapping | 7 +-
.../net/minecraft/util/Identifier.mapping | 35 +-
.../InvalidHierarchicalFileException.mapping | 23 +
.../net/minecraft/util/JsonHelper.mapping | 32 +-
.../util/JsonSerializableType.mapping | 5 -
.../net/minecraft/util/JsonSerializer.mapping | 8 -
.../minecraft/util/JsonSerializing.mapping | 72 --
mappings/net/minecraft/util/Language.mapping | 8 +-
.../net/minecraft/util/MetricsData.mapping | 13 -
mappings/net/minecraft/util/Nullables.mapping | 65 ++
...{FileNameUtil.mapping => PathUtil.mapping} | 32 +-
.../minecraft/util/PendingTaskRunner.mapping | 22 -
.../minecraft/util/StringIdentifiable.mapping | 26 +-
mappings/net/minecraft/util/Urls.mapping | 28 +
mappings/net/minecraft/util/UserCache.mapping | 12 +-
mappings/net/minecraft/util/Util.mapping | 49 +-
...SerializableUuid.mapping => Uuids.mapping} | 18 +-
.../util/collection/ArrayListDeque.mapping | 55 ++
.../util/collection/PaletteStorage.mapping | 2 +
.../util/collection/WeightedList.mapping | 2 +
.../net/minecraft/util/dynamic/Codecs.mapping | 188 ++++-
.../util/dynamic/EntryLoader.mapping | 67 --
.../net/minecraft/util/dynamic/Range.mapping | 2 +
.../util/dynamic/RegistryLoader.mapping | 49 --
.../util/dynamic/RegistryOps.mapping | 29 -
.../function/LazyIterationConsumer.mapping | 11 +
.../util/function/MaterialPredicate.mapping | 9 -
.../util/function/ValueLists.mapping | 24 +
.../logging/DebugLoggerPrintStream.mapping | 1 +
.../util/logging/LogFileCompressor.mapping | 47 ++
.../minecraft/util/logging/LogReader.mapping | 5 +
.../minecraft/util/logging/LogWriter.mapping | 17 +
.../util/math/AffineTransformation.mapping | 53 +-
.../util/math/AffineTransformations.mapping | 10 +
.../util/math/AxisTransformation.mapping | 5 +-
.../net/minecraft/util/math/BlockBox.mapping | 37 +-
.../net/minecraft/util/math/BlockPos.mapping | 38 +-
mappings/net/minecraft/util/math/Box.mapping | 32 +-
.../net/minecraft/util/math/ChunkPos.mapping | 24 +
.../util/math/ChunkSectionPos.mapping | 3 +
.../minecraft/util/math/ColorHelper.mapping | 41 +
.../net/minecraft/util/math/Direction.mapping | 30 +-
.../util/math/DirectionTransformation.mapping | 4 +-
.../net/minecraft/util/math/Divider.mapping | 16 +
.../minecraft/util/math/GivensPair.mapping | 16 +
.../minecraft/util/math/MathHelper.mapping | 158 ++--
.../net/minecraft/util/math/Matrix3f.mapping | 107 ---
.../net/minecraft/util/math/Matrix4f.mapping | 126 ---
.../minecraft/util/math/MatrixUtil.mapping | 36 +
.../minecraft/util/math/Quaternion.mapping | 60 --
.../minecraft/util/math/RotationAxis.mapping | 27 +
.../util/math/RotationCalculator.mapping | 23 +
.../util/math/RotationPropertyHelper.mapping | 16 +
.../net/minecraft/util/math/Spline.mapping | 13 +
.../net/minecraft/util/math/Vec3d.mapping | 25 +-
.../net/minecraft/util/math/Vec3f.mapping | 77 --
.../net/minecraft/util/math/Vec3i.mapping | 31 +-
.../net/minecraft/util/math/Vector4f.mapping | 45 -
.../ConstantFloatProvider.mapping | 10 -
.../intprovider/ConstantIntProvider.mapping | 10 -
.../util/math/intprovider/IntProvider.mapping | 4 +
.../noise/DoublePerlinNoiseSampler.mapping | 5 +
.../noise/InterpolatedNoiseSampler.mapping | 3 +
.../noise/OctavePerlinNoiseSampler.mapping | 10 +
.../util/math/random/RandomSeed.mapping | 11 +
.../util/math/random/RandomSequence.mapping | 21 +
.../math/random/RandomSequencesState.mapping | 52 ++
.../random/Xoroshiro128PlusPlusRandom.mapping | 10 +-
.../Xoroshiro128PlusPlusRandomImpl.mapping | 7 +
.../path/AllowedSymlinkPathMatcher.mapping | 47 ++
.../minecraft/util/path/SymlinkEntry.mapping | 1 +
.../minecraft/util/path/SymlinkFinder.mapping | 25 +
.../path/SymlinkValidationException.mapping | 11 +
.../util/profiler/PerformanceLog.mapping | 14 +
.../minecraft/util/profiler/Profiler.mapping | 2 +
.../util/profiler/ProfilerTiming.mapping | 2 +
.../util/profiling/jfr/FlightProfiler.mapping | 8 +-
.../util/profiling/jfr/JfrJsonReport.mapping | 2 +-
.../profiling/jfr/event/PacketEvent.mapping | 2 +-
.../profiling/jfr/sample/TimedSample.mapping | 2 -
.../util/registry/BuiltinRegistries.mapping | 70 --
.../util/registry/DefaultedRegistry.mapping | 9 -
.../registry/DynamicRegistryManager.mapping | 149 ----
.../util/registry/MutableRegistry.mapping | 23 -
.../minecraft/util/registry/Registry.mapping | 427 ----------
.../util/registry/RegistryEntry.mapping | 46 --
.../util/registry/RegistryEntryList.mapping | 39 -
.../util/shape/BitSetVoxelSet.mapping | 32 +
.../util/shape/DisjointPairList.mapping | 5 +
.../util/shape/SimplePairList.mapping | 1 +
.../net/minecraft/util/shape/VoxelSet.mapping | 6 +-
.../minecraft/util/shape/VoxelShape.mapping | 1 +
.../minecraft/util/shape/VoxelShapes.mapping | 1 +
.../minecraft/util/thread/FutureQueue.mapping | 11 +-
.../minecraft/util/thread/LockHelper.mapping | 1 +
.../net/minecraft/village/Merchant.mapping | 2 +-
.../net/minecraft/village/TradeOffers.mapping | 51 +-
.../village/VillageGossipType.mapping | 6 +-
.../minecraft/village/VillagerGossips.mapping | 31 +-
.../net/minecraft/village/raid/Raid.mapping | 3 +-
.../village/raid/RaidManager.mapping | 4 +
.../world/BlockCollisionSpliterator.mapping | 8 +-
.../net/minecraft/world/BlockView.mapping | 8 +-
.../minecraft/world/ChunkUpdateState.mapping | 1 +
.../net/minecraft/world/CollisionView.mapping | 15 +
.../world/CommandBlockExecutor.mapping | 1 +
.../net/minecraft/world/Difficulty.mapping | 8 +-
.../net/minecraft/world/EntityView.mapping | 2 +
.../minecraft/world/FeatureUpdater.mapping | 6 +
.../minecraft/world/ForcedChunkState.mapping | 1 +
mappings/net/minecraft/world/GameMode.mapping | 5 +-
.../net/minecraft/world/Heightmap.mapping | 5 +-
.../net/minecraft/world/IdCountsState.mapping | 1 +
.../net/minecraft/world/LightType.mapping | 3 -
.../minecraft/world/MobSpawnerEntry.mapping | 8 +-
.../minecraft/world/MobSpawnerLogic.mapping | 24 +-
.../minecraft/world/ModifiableWorld.mapping | 1 -
.../minecraft/world/PersistentState.mapping | 1 +
.../world/PersistentStateManager.mapping | 21 +-
.../net/minecraft/world/PortalForcer.mapping | 4 +-
.../net/minecraft/world/RedstoneView.mapping | 21 +
.../minecraft/world/RegistryWorldView.mapping | 1 -
.../minecraft/world/SaveProperties.mapping | 14 +-
.../net/minecraft/world/SpawnHelper.mapping | 2 +-
.../minecraft/world/StructureLocator.mapping | 2 +-
mappings/net/minecraft/world/World.mapping | 134 ++-
.../net/minecraft/world/WorldAccess.mapping | 15 +-
.../net/minecraft/world/WorldEvents.mapping | 78 +-
.../net/minecraft/world/WorldView.mapping | 7 +-
.../net/minecraft/world/biome/Biome.mapping | 22 +-
.../world/biome/BiomeEffects.mapping | 28 +-
.../world/biome/BiomeParticleConfig.mapping | 4 +
.../world/biome/BuiltinBiomes.mapping | 3 +-
.../{level => biome}/ColorResolver.mapping | 2 +-
.../world/biome/GenerationSettings.mapping | 44 +-
.../world/biome/OverworldBiomeCreator.mapping | 199 +++--
.../world/biome/SpawnSettings.mapping | 20 +-
.../world/biome/TheEndBiomeCreator.mapping | 20 +-
.../world/biome/TheNetherBiomeCreator.mapping | 20 +-
.../world/biome/source/BiomeSource.mapping | 7 +-
.../source/CheckerboardBiomeSource.mapping | 4 +
.../biome/source/FixedBiomeSource.mapping | 2 +
.../source/MultiNoiseBiomeSource.mapping | 81 +-
...MultiNoiseBiomeSourceParameterList.mapping | 32 +
...ultiNoiseBiomeSourceParameterLists.mapping | 5 +
.../biome/source/TheEndBiomeSource.mapping | 8 +-
.../biome/source/util/MultiNoiseUtil.mapping | 4 +
.../util/VanillaBiomeParameters.mapping | 5 +-
.../net/minecraft/world/chunk/Chunk.mapping | 23 +-
.../world/chunk/ChunkNibbleArray.mapping | 10 +-
.../world/chunk/ChunkProvider.mapping | 2 +-
.../world/chunk/ChunkSection.mapping | 25 +-
.../minecraft/world/chunk/ChunkStatus.mapping | 124 ++-
.../chunk/ChunkStatusChangeListener.mapping | 2 +-
.../world/chunk/ChunkToNibbleArrayMap.mapping | 2 +-
.../minecraft/world/chunk/ProtoChunk.mapping | 7 -
.../minecraft/world/chunk/WorldChunk.mapping | 16 +-
...hunk.mapping => WrapperProtoChunk.mapping} | 7 +-
.../light/ChunkBlockLightProvider.mapping | 10 +-
.../chunk/light/ChunkLightProvider.mapping | 113 ++-
.../world/chunk/light/ChunkSkyLight.mapping | 53 ++
.../chunk/light/ChunkSkyLightProvider.mapping | 24 +-
.../world/chunk/light/LevelPropagator.mapping | 24 +-
.../world/chunk/light/LightSourceView.mapping | 4 +
.../world/chunk/light/LightStorage.mapping | 60 +-
.../chunk/light/LightingProvider.mapping | 8 +-
.../world/chunk/light/LightingView.mapping | 9 +-
.../chunk/light/PendingUpdateQueue.mapping | 21 +
.../world/chunk/light/SkyLightStorage.mapping | 15 +-
.../world/dimension/DimensionOptions.mapping | 19 +-
.../DimensionOptionsRegistryHolder.mapping | 55 ++
.../dimension/DimensionTypeRegistrar.mapping | 4 +-
...reaHelper.mapping => NetherPortal.mapping} | 17 +-
.../world/entity/EntityIndex.mapping | 4 +-
.../world/entity/EntityLookup.mapping | 10 +-
.../entity/EntityTrackingSection.mapping | 8 +-
.../world/entity/EntityTrackingStatus.mapping | 2 +-
.../world/entity/SectionedEntityCache.mapping | 17 +-
.../world/event/EntityPositionSource.mapping | 2 +-
.../minecraft/world/event/GameEvent.mapping | 7 +-
.../world/event/PositionSource.mapping | 2 +-
.../minecraft/world/event/Vibrations.mapping | 121 +++
.../listener/EntityGameEventHandler.mapping | 7 -
.../listener/GameEventDispatchManager.mapping | 15 +
.../listener/GameEventDispatcher.mapping | 8 +-
.../event/listener/GameEventListener.mapping | 9 +-
.../SimpleGameEventDispatcher.mapping | 9 +-
.../world/event/listener/Vibration.mapping | 35 +
.../event/listener/VibrationListener.mapping | 106 ---
.../event/listener/VibrationSelector.mapping | 20 +
.../world/explosion/Explosion.mapping | 9 +-
.../gen/FlatLevelGeneratorPreset.mapping | 2 +
.../gen/FlatLevelGeneratorPresets.mapping | 17 +-
.../world/gen/GeneratorOptions.mapping | 53 +-
.../world/gen/OreVeinSampler.mapping | 15 +
.../world/gen/StructureAccessor.mapping | 2 +
.../world/gen/StructureWeightSampler.mapping | 15 +
.../minecraft/world/gen/WorldPreset.mapping | 10 +-
.../minecraft/world/gen/WorldPresets.mapping | 45 +-
.../gen/blockpredicate/BlockPredicate.mapping | 3 +
.../HasSturdyFacePredicate.mapping | 2 +
.../InsideWorldBoundsBlockPredicate.mapping | 2 +
.../MatchingBlockTagPredicate.mapping | 2 +
.../SolidBlockPredicate.mapping | 2 +
.../minecraft/world/gen/carver/Carver.mapping | 8 +
.../world/gen/carver/CaveCarver.mapping | 2 +-
.../world/gen/carver/CaveCarverConfig.mapping | 2 +
.../gen/carver/ConfiguredCarvers.mapping | 5 +-
.../world/gen/carver/RavineCarver.mapping | 4 +-
.../minecraft/world/gen/chunk/Blender.mapping | 2 +-
.../world/gen/chunk/BlendingData.mapping | 14 +-
.../world/gen/chunk/ChunkGenerator.mapping | 76 +-
.../gen/chunk/ChunkGeneratorSettings.mapping | 27 +-
.../world/gen/chunk/ChunkNoiseSampler.mapping | 129 ++-
.../gen/chunk/DebugChunkGenerator.mapping | 9 +-
.../gen/chunk/FlatChunkGenerator.mapping | 5 +-
.../chunk/FlatChunkGeneratorConfig.mapping | 54 +-
.../gen/chunk/FlatChunkGeneratorLayer.mapping | 2 +
.../gen/chunk/GenerationShapeConfig.mapping | 4 +-
.../gen/chunk/NoiseChunkGenerator.mapping | 32 +-
.../ConcentricRingsStructurePlacement.mapping | 2 +
.../RandomSpreadStructurePlacement.mapping | 4 +-
.../placement/StructurePlacement.mapping | 34 +-
.../StructurePlacementCalculator.mapping | 58 ++
.../placement/StructurePlacementType.mapping | 1 +
.../densityfunction/DensityFunction.mapping | 45 +-
.../densityfunction/DensityFunctions.mapping | 114 +--
.../gen/feature/BlockColumnFeature.mapping | 5 +
.../gen/feature/ConfiguredFeatures.mapping | 19 +-
.../gen/feature/DefaultBiomeFeatures.mapping | 2 +
.../gen/feature/DesertWellFeature.mapping | 6 +
.../gen/feature/EndConfiguredFeatures.mapping | 12 +-
.../gen/feature/EndPlacedFeatures.mapping | 10 +-
.../gen/feature/EndPortalFeature.mapping | 2 +
.../world/gen/feature/EndSpikeFeature.mapping | 2 +
.../gen/feature/HugeFungusFeature.mapping | 11 +-
.../feature/HugeFungusFeatureConfig.mapping | 8 +-
.../world/gen/feature/IcebergFeature.mapping | 6 +
.../gen/feature/LargeDripstoneFeature.mapping | 1 +
.../feature/MiscConfiguredFeatures.mapping | 38 +-
.../gen/feature/MiscPlacedFeatures.mapping | 38 +-
.../feature/NetherConfiguredFeatures.mapping | 48 +-
.../gen/feature/NetherPlacedFeatures.mapping | 43 +-
.../feature/OceanConfiguredFeatures.mapping | 18 +-
.../gen/feature/OceanPlacedFeatures.mapping | 28 +-
.../gen/feature/OreConfiguredFeatures.mapping | 76 +-
.../world/gen/feature/OreFeature.mapping | 3 +
.../gen/feature/OrePlacedFeatures.mapping | 81 +-
.../feature/PileConfiguredFeatures.mapping | 12 +-
.../world/gen/feature/PlacedFeature.mapping | 7 +-
.../world/gen/feature/PlacedFeatures.mapping | 25 +-
.../gen/feature/RandomFeatureEntry.mapping | 1 +
.../gen/feature/RootSystemFeature.mapping | 4 +
.../gen/feature/ScatteredOreFeature.mapping | 3 +
.../feature/TreeConfiguredFeatures.mapping | 80 +-
.../world/gen/feature/TreeFeature.mapping | 30 +-
.../gen/feature/TreePlacedFeatures.mapping | 60 +-
.../UndergroundConfiguredFeatures.mapping | 56 +-
.../feature/UndergroundPlacedFeatures.mapping | 42 +-
.../VegetationConfiguredFeatures.mapping | 89 +-
.../feature/VegetationPatchFeature.mapping | 2 +
.../feature/VegetationPlacedFeatures.mapping | 158 ++--
.../gen/feature/VillagePlacedFeatures.mapping | 28 +-
.../feature/VoidStartPlatformFeature.mapping | 1 +
.../gen/feature/size/FeatureSize.mapping | 4 +
.../gen/foliage/CherryFoliagePlacer.mapping | 25 +
.../world/gen/foliage/FoliagePlacer.mapping | 42 +-
.../ConstantHeightProvider.mapping | 10 -
.../gen/heightprovider/HeightProvider.mapping | 1 +
.../gen/noise/BuiltinNoiseParameters.mapping | 19 +-
.../world/gen/noise/NoiseConfig.mapping | 20 +-
.../gen/noise/NoiseParametersKeys.mapping | 7 +-
.../stateprovider/BlockStateProvider.mapping | 2 +-
.../structure/DesertPyramidStructure.mapping | 6 +
.../gen/structure/JigsawStructure.mapping | 5 +-
.../gen/structure/MineshaftStructure.mapping | 8 +-
.../structure/NetherFossilStructure.mapping | 1 +
.../structure/RuinedPortalStructure.mapping | 10 +
.../world/gen/structure/Structure.mapping | 10 +-
.../world/gen/structure/Structures.mapping | 52 +-
.../gen/surfacebuilder/MaterialRules.mapping | 9 +
.../gen/surfacebuilder/SurfaceBuilder.mapping | 6 +
.../gen/treedecorator/TreeDecorator.mapping | 2 +-
.../world/gen/trunk/CherryTrunkPlacer.mapping | 42 +
.../world/gen/trunk/GiantTrunkPlacer.mapping | 9 +
.../gen/trunk/LargeOakTrunkPlacer.mapping | 4 +
.../minecraft/world/level/LevelInfo.mapping | 16 +-
.../world/level/LevelProperties.mapping | 39 +-
.../world/level/WorldGenSettings.mapping | 16 +
.../world/level/storage/LevelStorage.mapping | 57 +-
.../world/level/storage/LevelSummary.mapping | 15 +-
.../world/poi/PointOfInterestStorage.mapping | 6 +-
.../world/poi/PointOfInterestTypes.mapping | 8 +-
.../world/spawner/CatSpawner.mapping | 2 +
.../storage/EntityChunkDataAccess.mapping | 2 -
.../world/storage/RegionBasedStorage.mapping | 3 +
.../world/storage/RegionFile.mapping | 1 +
.../world/{ => tick}/TickPriority.mapping | 2 +-
.../world/tick/WorldTickScheduler.mapping | 16 +-
.../world/updater/WorldUpdater.mapping | 9 +-
settings.gradle | 2 +
.../block/cauldron/package-info.java | 11 +
.../minecraft/util/registry/package-info.java | 10 +
unpick-definitions/entity_status.unpick | 7 +-
unpick-definitions/gl.unpick | 3 -
unpick-definitions/key_bindings.unpick | 2 -
unpick-definitions/network_packets.unpick | 1 -
.../set_block_state_flags.unpick | 1 -
unpick-definitions/world_events.unpick | 19 +-
2488 files changed, 30399 insertions(+), 17586 deletions(-)
create mode 100644 .github/CODEOWNERS
create mode 100644 .github/workflows/release-filament.yml
create mode 100644 .github/workflows/version-label.yml
create mode 100644 filament/gradle.properties
create mode 100644 filament/src/main/java/net/fabricmc/filament/FilamentExtension.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/DownloadTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/UnpickJarTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/base/FilamentTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/base/FileOutputTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/base/WithFileInput.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/base/WithFileOutput.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/enigma/EnigmaCommandTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/enigma/MapSpecializedMethodsTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/mappingio/ConvertMappingsTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/mappingio/MappingOutputTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/mappingio/MergeMappingsTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/minecraft/ExtractBundledServerTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/task/minecraft/MergeMinecraftTask.java
create mode 100644 filament/src/main/java/net/fabricmc/filament/util/MinecraftVersionMetaHelper.java
create mode 100644 mappings/com/mojang/blaze3d/systems/VertexSorter.mapping
create mode 100644 mappings/net/minecraft/advancement/AdvancementDisplays.mapping
delete mode 100644 mappings/net/minecraft/advancement/CriterionMerger.mapping
delete mode 100644 mappings/net/minecraft/advancement/criterion/PlacedBlockCriterion.mapping
create mode 100644 mappings/net/minecraft/advancement/criterion/RecipeCraftedCriterion.mapping
create mode 100644 mappings/net/minecraft/block/BlockSetType.mapping
create mode 100644 mappings/net/minecraft/block/BrushableBlock.mapping
rename mappings/net/minecraft/block/{AbstractButtonBlock.mapping => ButtonBlock.mapping} (84%)
create mode 100644 mappings/net/minecraft/block/CalibratedSculkSensorBlock.mapping
create mode 100644 mappings/net/minecraft/block/CherryLeavesBlock.mapping
create mode 100644 mappings/net/minecraft/block/ChiseledBookshelfBlock.mapping
create mode 100644 mappings/net/minecraft/block/DecoratedPotBlock.mapping
create mode 100644 mappings/net/minecraft/block/DecoratedPotPatterns.mapping
rename mappings/net/minecraft/block/{OreBlock.mapping => ExperienceDroppingBlock.mapping} (70%)
create mode 100644 mappings/net/minecraft/block/FlowerbedBlock.mapping
create mode 100644 mappings/net/minecraft/block/HangingSignBlock.mapping
delete mode 100644 mappings/net/minecraft/block/Material.mapping
create mode 100644 mappings/net/minecraft/block/PitcherCropBlock.mapping
create mode 100644 mappings/net/minecraft/block/SnifferEggBlock.mapping
delete mode 100644 mappings/net/minecraft/block/StoneButtonBlock.mapping
create mode 100644 mappings/net/minecraft/block/SuspiciousStewIngredient.mapping
create mode 100644 mappings/net/minecraft/block/TorchflowerBlock.mapping
create mode 100644 mappings/net/minecraft/block/WallHangingSignBlock.mapping
create mode 100644 mappings/net/minecraft/block/WallPiglinHeadBlock.mapping
create mode 100644 mappings/net/minecraft/block/WearableCarvedPumpkinBlock.mapping
rename mappings/net/minecraft/{util/SignType.mapping => block/WoodType.mapping} (67%)
delete mode 100644 mappings/net/minecraft/block/WoodenButtonBlock.mapping
create mode 100644 mappings/net/minecraft/block/entity/BrushableBlockEntity.mapping
create mode 100644 mappings/net/minecraft/block/entity/CalibratedSculkSensorBlockEntity.mapping
create mode 100644 mappings/net/minecraft/block/entity/ChiseledBookshelfBlockEntity.mapping
create mode 100644 mappings/net/minecraft/block/entity/DecoratedPotBlockEntity.mapping
create mode 100644 mappings/net/minecraft/block/entity/HangingSignBlockEntity.mapping
create mode 100644 mappings/net/minecraft/block/entity/SignText.mapping
rename mappings/net/minecraft/block/enums/{WallMountLocation.mapping => BlockFace.mapping} (59%)
create mode 100644 mappings/net/minecraft/block/sapling/CherrySaplingGenerator.mapping
create mode 100644 mappings/net/minecraft/class_4558.mapping
create mode 100644 mappings/net/minecraft/class_5699.mapping
create mode 100644 mappings/net/minecraft/class_8782.mapping
delete mode 100644 mappings/net/minecraft/client/ClientGameSession.mapping
delete mode 100644 mappings/net/minecraft/client/MinecraftClientGame.mapping
create mode 100644 mappings/net/minecraft/client/QuickPlay.mapping
create mode 100644 mappings/net/minecraft/client/QuickPlayLogger.mapping
create mode 100644 mappings/net/minecraft/client/font/GlyphContainer.mapping
create mode 100644 mappings/net/minecraft/client/font/ReferenceFont.mapping
create mode 100644 mappings/net/minecraft/client/font/TextRenderLayerSet.mapping
delete mode 100644 mappings/net/minecraft/client/font/UnicodeTextureFont.mapping
create mode 100644 mappings/net/minecraft/client/font/UnihexFont.mapping
delete mode 100644 mappings/net/minecraft/client/gl/EffectGlShader.mapping
create mode 100644 mappings/net/minecraft/client/gl/EffectShaderProgram.mapping
rename mappings/net/minecraft/client/gl/{EffectProgram.mapping => EffectShaderStage.mapping} (61%)
delete mode 100644 mappings/net/minecraft/client/gl/GlShader.mapping
rename mappings/net/minecraft/client/gl/{JsonEffectGlShader.mapping => JsonEffectShaderProgram.mapping} (83%)
rename mappings/net/minecraft/client/gl/{PostProcessShader.mapping => PostEffectPass.mapping} (80%)
rename mappings/net/minecraft/client/gl/{ShaderEffect.mapping => PostEffectProcessor.mapping} (93%)
delete mode 100644 mappings/net/minecraft/client/gl/ShaderParseException.mapping
rename mappings/net/minecraft/client/{render/Shader.mapping => gl/ShaderProgram.mapping} (76%)
create mode 100644 mappings/net/minecraft/client/gl/ShaderProgramSetupView.mapping
rename mappings/net/minecraft/client/gl/{Program.mapping => ShaderStage.mapping} (58%)
create mode 100644 mappings/net/minecraft/client/gui/DrawContext.mapping
delete mode 100644 mappings/net/minecraft/client/gui/DrawableHelper.mapping
create mode 100644 mappings/net/minecraft/client/gui/LogoDrawer.mapping
create mode 100644 mappings/net/minecraft/client/gui/ScreenPos.mapping
create mode 100644 mappings/net/minecraft/client/gui/ScreenRect.mapping
create mode 100644 mappings/net/minecraft/client/gui/hud/debug/DebugChart.mapping
create mode 100644 mappings/net/minecraft/client/gui/hud/debug/PacketSizeChart.mapping
create mode 100644 mappings/net/minecraft/client/gui/hud/debug/PingChart.mapping
create mode 100644 mappings/net/minecraft/client/gui/hud/debug/RenderingChart.mapping
create mode 100644 mappings/net/minecraft/client/gui/hud/debug/TickChart.mapping
create mode 100644 mappings/net/minecraft/client/gui/navigation/GuiNavigation.mapping
create mode 100644 mappings/net/minecraft/client/gui/navigation/GuiNavigationPath.mapping
create mode 100644 mappings/net/minecraft/client/gui/navigation/GuiNavigationType.mapping
create mode 100644 mappings/net/minecraft/client/gui/navigation/Navigable.mapping
create mode 100644 mappings/net/minecraft/client/gui/navigation/NavigationAxis.mapping
create mode 100644 mappings/net/minecraft/client/gui/navigation/NavigationDirection.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/AccessibilityOnboardingButtons.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/AccessibilityOnboardingScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/ButtonTextures.mapping
delete mode 100644 mappings/net/minecraft/client/gui/screen/ChatPreviewBackground.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/ReconfiguringScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/SplashTextRenderer.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/ingame/AbstractSignEditScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/ingame/CyclingSlotIcon.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/ingame/HangingSignEditScreen.mapping
delete mode 100644 mappings/net/minecraft/client/gui/screen/multiplayer/ChatPreviewWarningScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/option/CreditsAndAttributionScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/option/TelemetryEventWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/option/TelemetryInfoScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/pack/ExperimentalWarningScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/report/AbuseReportTypeScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/report/ReportScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/report/SkinReportScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/report/UsernameReportScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/world/ExperimentsScreen.mapping
delete mode 100644 mappings/net/minecraft/client/gui/screen/world/MoreOptionsDialog.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/world/SymlinkWarningScreen.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/world/WorldCreator.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/world/WorldIcon.mapping
create mode 100644 mappings/net/minecraft/client/gui/screen/world/WorldScreenOptionGrid.mapping
create mode 100644 mappings/net/minecraft/client/gui/tab/GridScreenTab.mapping
create mode 100644 mappings/net/minecraft/client/gui/tab/Tab.mapping
create mode 100644 mappings/net/minecraft/client/gui/tab/TabManager.mapping
create mode 100644 mappings/net/minecraft/client/gui/tooltip/FocusedTooltipPositioner.mapping
create mode 100644 mappings/net/minecraft/client/gui/tooltip/HoveredTooltipPositioner.mapping
create mode 100644 mappings/net/minecraft/client/gui/tooltip/Tooltip.mapping
create mode 100644 mappings/net/minecraft/client/gui/tooltip/TooltipBackgroundRenderer.mapping
create mode 100644 mappings/net/minecraft/client/gui/tooltip/TooltipPositioner.mapping
create mode 100644 mappings/net/minecraft/client/gui/tooltip/WidgetTooltipPositioner.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/AbstractTextWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/AxisGridWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/DirectionalLayoutWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/EmptyWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/GridWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/IconWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/LayoutWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/LayoutWidgets.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/MultilineTextWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/NarratedMultilineTextWidget.mapping
rename mappings/net/minecraft/client/gui/widget/{ButtonListWidget.mapping => OptionListWidget.mapping} (63%)
create mode 100644 mappings/net/minecraft/client/gui/widget/PlayerSkinWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/Positioner.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/ScrollableTextWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/SimplePositioningWidget.mapping
delete mode 100644 mappings/net/minecraft/client/gui/widget/SoundSliderWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/TabButtonWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/TabNavigationWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/TextIconButtonWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/TextWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/ThreePartsLayoutWidget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/Widget.mapping
create mode 100644 mappings/net/minecraft/client/gui/widget/WrapperWidget.mapping
create mode 100644 mappings/net/minecraft/client/input/KeyCodes.mapping
rename mappings/net/minecraft/client/item/{UnclampedModelPredicateProvider.mapping => ClampedModelPredicateProvider.mapping} (64%)
delete mode 100644 mappings/net/minecraft/client/network/ChatPreviewRequester.mapping
delete mode 100644 mappings/net/minecraft/client/network/ChatPreviewer.mapping
create mode 100644 mappings/net/minecraft/client/network/ChunkBatchSizeCalculator.mapping
create mode 100644 mappings/net/minecraft/client/network/ClientCommonNetworkHandler.mapping
create mode 100644 mappings/net/minecraft/client/network/ClientConfigurationNetworkHandler.mapping
create mode 100644 mappings/net/minecraft/client/network/ClientConnectionState.mapping
create mode 100644 mappings/net/minecraft/client/network/ClientDynamicRegistryType.mapping
create mode 100644 mappings/net/minecraft/client/network/LegacyServerPinger.mapping
create mode 100644 mappings/net/minecraft/client/network/PingMeasurer.mapping
delete mode 100644 mappings/net/minecraft/client/option/AoMode.mapping
delete mode 100644 mappings/net/minecraft/client/option/ChatPreviewMode.mapping
create mode 100644 mappings/net/minecraft/client/particle/CherryLeavesParticle.mapping
delete mode 100644 mappings/net/minecraft/client/realms/KeyCombo.mapping
create mode 100644 mappings/net/minecraft/client/realms/RealmsAvailability.mapping
create mode 100644 mappings/net/minecraft/client/realms/dto/RealmsNotification.mapping
create mode 100644 mappings/net/minecraft/client/realms/dto/RealmsText.mapping
create mode 100644 mappings/net/minecraft/client/realms/gui/RealmsLoadingWidget.mapping
create mode 100644 mappings/net/minecraft/client/realms/gui/screen/BuyRealmsScreen.mapping
rename mappings/net/minecraft/client/realms/gui/screen/{RealmsClientOutdatedScreen.mapping => RealmsClientIncompatibleScreen.mapping} (93%)
delete mode 100644 mappings/net/minecraft/client/realms/util/Errable.mapping
delete mode 100644 mappings/net/minecraft/client/realms/util/SkinProcessor.mapping
create mode 100644 mappings/net/minecraft/client/render/ChunkRenderingDataPreparer.mapping
create mode 100644 mappings/net/minecraft/client/render/block/entity/BrushableBlockEntityRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/block/entity/DecoratedPotBlockEntityRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/block/entity/HangingSignBlockEntityRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/debug/LightDebugRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/debug/SupportingBlockDebugRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/CamelEntityRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/DisplayEntityRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/SnifferEntityRenderer.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/animation/CamelAnimations.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/animation/SnifferAnimations.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/ArmorEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/CamelEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/ChestBoatEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/ChestRaftEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/ModelWithWaterPatch.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/PiglinHeadEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/RaftEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/SinglePartEntityModelWithChildTransform.mapping
create mode 100644 mappings/net/minecraft/client/render/entity/model/SnifferEntityModel.mapping
create mode 100644 mappings/net/minecraft/client/render/model/Baker.mapping
create mode 100644 mappings/net/minecraft/client/render/model/json/ModelTransformationMode.mapping
create mode 100644 mappings/net/minecraft/client/report/AbuseReport.mapping
create mode 100644 mappings/net/minecraft/client/report/AbuseReportType.mapping
create mode 100644 mappings/net/minecraft/client/report/ContextMessageCollector.mapping
delete mode 100644 mappings/net/minecraft/client/report/GroupedMessagesCollector.mapping
create mode 100644 mappings/net/minecraft/client/report/SkinAbuseReport.mapping
create mode 100644 mappings/net/minecraft/client/report/UsernameAbuseReport.mapping
delete mode 100644 mappings/net/minecraft/client/report/log/ChatLogImpl.mapping
delete mode 100644 mappings/net/minecraft/client/report/log/HeaderEntry.mapping
delete mode 100644 mappings/net/minecraft/client/resource/DefaultClientResourcePack.mapping
create mode 100644 mappings/net/minecraft/client/resource/DefaultClientResourcePackProvider.mapping
delete mode 100644 mappings/net/minecraft/client/resource/DirectResourceIndex.mapping
delete mode 100644 mappings/net/minecraft/client/resource/Format3ResourcePack.mapping
delete mode 100644 mappings/net/minecraft/client/resource/Format4ResourcePack.mapping
rename mappings/net/minecraft/client/resource/{ClientBuiltinResourcePackProvider.mapping => ServerResourcePackProvider.mapping} (60%)
create mode 100644 mappings/net/minecraft/client/resource/metadata/GuiResourceMetadata.mapping
delete mode 100644 mappings/net/minecraft/client/resource/metadata/LanguageResourceMetadataReader.mapping
create mode 100644 mappings/net/minecraft/client/sound/SnifferDigSoundInstance.mapping
create mode 100644 mappings/net/minecraft/client/texture/Animator.mapping
create mode 100644 mappings/net/minecraft/client/texture/DynamicTexture.mapping
create mode 100644 mappings/net/minecraft/client/texture/GuiAtlasManager.mapping
create mode 100644 mappings/net/minecraft/client/texture/Scaling.mapping
create mode 100644 mappings/net/minecraft/client/texture/SpriteContents.mapping
create mode 100644 mappings/net/minecraft/client/texture/SpriteDimensions.mapping
create mode 100644 mappings/net/minecraft/client/texture/SpriteLoader.mapping
create mode 100644 mappings/net/minecraft/client/texture/SpriteOpener.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/AtlasLoader.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/AtlasSource.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/AtlasSourceManager.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/AtlasSourceType.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/DirectoryAtlasSource.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/FilterAtlasSource.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/PalettedPermutationsAtlasSource.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/SingleAtlasSource.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/Sprite.mapping
create mode 100644 mappings/net/minecraft/client/texture/atlas/UnstitchAtlasSource.mapping
create mode 100644 mappings/net/minecraft/client/util/BanReason.mapping
rename mappings/net/minecraft/client/{network => util}/Bans.mapping (62%)
create mode 100644 mappings/net/minecraft/client/util/CommandHistoryManager.mapping
create mode 100644 mappings/net/minecraft/client/util/Icons.mapping
delete mode 100644 mappings/net/minecraft/client/util/OrderableTooltip.mapping
delete mode 100644 mappings/net/minecraft/client/util/PngFile.mapping
create mode 100644 mappings/net/minecraft/client/util/ProfileKeysImpl.mapping
create mode 100644 mappings/net/minecraft/client/util/SkinTextures.mapping
delete mode 100644 mappings/net/minecraft/client/util/math/Vector3d.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/GameLoadTimeEvent.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/PerformanceMetricsEvent.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/PropertyMap.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/SampleEvent.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/SentTelemetryEvent.mapping
delete mode 100644 mappings/net/minecraft/client/util/telemetry/TelemetryConstants.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/TelemetryEventProperty.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/TelemetryEventType.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/TelemetryLogManager.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/TelemetryLogger.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/TelemetryManager.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/ThreadedLogWriter.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/WorldLoadTimesEvent.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/WorldLoadedEvent.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/WorldSession.mapping
create mode 100644 mappings/net/minecraft/client/util/telemetry/WorldUnloadedEvent.mapping
delete mode 100644 mappings/net/minecraft/command/CommandRegistryWrapper.mapping
delete mode 100644 mappings/net/minecraft/command/argument/DecoratableArgumentList.mapping
delete mode 100644 mappings/net/minecraft/command/argument/DecoratableArgumentType.mapping
delete mode 100644 mappings/net/minecraft/command/argument/EnchantmentArgumentType.mapping
delete mode 100644 mappings/net/minecraft/command/argument/EntitySummonArgumentType.mapping
create mode 100644 mappings/net/minecraft/command/argument/GameModeArgumentType.mapping
create mode 100644 mappings/net/minecraft/command/argument/HeightmapArgumentType.mapping
create mode 100644 mappings/net/minecraft/command/argument/RegistryEntryArgumentType.mapping
create mode 100644 mappings/net/minecraft/command/argument/RegistryEntryPredicateArgumentType.mapping
create mode 100644 mappings/net/minecraft/command/argument/SignedArgumentList.mapping
delete mode 100644 mappings/net/minecraft/command/argument/StatusEffectArgumentType.mapping
create mode 100644 mappings/net/minecraft/data/DataOutput.mapping
create mode 100644 mappings/net/minecraft/data/MetadataProvider.mapping
create mode 100644 mappings/net/minecraft/data/report/DynamicRegistriesProvider.mapping
delete mode 100644 mappings/net/minecraft/data/report/WorldgenProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/AbstractTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/AdvancementProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/AdventureTabAdvancementGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/BannerPatternTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/BarterLootTableGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/BiomeTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/BlockLootTableGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/BlockTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/CatVariantTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/ChestLootTableGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/EndTabAdvancementGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/EntityLootTableGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/EntityTypeTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/FlatLevelGeneratorPresetTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/FluidTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/GameEventTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/GiftLootTableGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/InstrumentTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/ItemTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/LootTableProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/NetherTabAdvancementGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/PaintingVariantTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/PointOfInterestTypeTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/RecipeProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/StoryTabAdvancementGenerator.mapping
delete mode 100644 mappings/net/minecraft/data/server/StructureTagProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/WorldPresetTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/advancement/AdvancementProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/advancement/AdvancementTabGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/advancement/vanilla/VanillaAdvancementProviders.mapping
create mode 100644 mappings/net/minecraft/data/server/advancement/vanilla/VanillaAdventureTabAdvancementGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/advancement/vanilla/VanillaEndTabAdvancementGenerator.mapping
rename mappings/net/minecraft/data/server/{HusbandryTabAdvancementGenerator.mapping => advancement/vanilla/VanillaHusbandryTabAdvancementGenerator.mapping} (52%)
create mode 100644 mappings/net/minecraft/data/server/advancement/vanilla/VanillaNetherTabAdvancementGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/advancement/vanilla/VanillaStoryTabAdvancementGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/BlockLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/EntityLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/LootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/LootTableProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaArchaeologyLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaBarterLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaBlockLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaChestLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaEntityLootTableGenerator.mapping
rename mappings/net/minecraft/data/server/{FishingLootTableGenerator.mapping => loottable/vanilla/VanillaFishingLootTableGenerator.mapping} (55%)
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaGiftLootTableGenerator.mapping
create mode 100644 mappings/net/minecraft/data/server/loottable/vanilla/VanillaLootTableProviders.mapping
create mode 100644 mappings/net/minecraft/data/server/recipe/BundleRecipeProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/recipe/RecipeJsonBuilder.mapping
create mode 100644 mappings/net/minecraft/data/server/recipe/RecipeProvider.mapping
delete mode 100644 mappings/net/minecraft/data/server/recipe/SmithingRecipeJsonBuilder.mapping
create mode 100644 mappings/net/minecraft/data/server/recipe/SmithingTransformRecipeJsonBuilder.mapping
create mode 100644 mappings/net/minecraft/data/server/recipe/SmithingTrimRecipeJsonBuilder.mapping
create mode 100644 mappings/net/minecraft/data/server/recipe/VanillaRecipeProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/ItemTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/TagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/ValueLookupTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaBannerPatternTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaBiomeTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaBlockTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaCatVariantTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaDamageTypeTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaEntityTypeTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaFlatLevelGeneratorPresetTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaFluidTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaGameEventTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaInstrumentTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaItemTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaPaintingVariantTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaPointOfInterestTypeTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaStructureTagProvider.mapping
create mode 100644 mappings/net/minecraft/data/server/tag/vanilla/VanillaWorldPresetTagProvider.mapping
delete mode 100644 mappings/net/minecraft/datafixer/DataFixerPhase.mapping
delete mode 100644 mappings/net/minecraft/datafixer/fix/BiomeRenameFix.mapping
delete mode 100644 mappings/net/minecraft/datafixer/fix/BiomesFix.mapping
rename mappings/net/minecraft/datafixer/fix/{BlockEntityKeepPacked.mapping => BlockEntityKeepPackedFix.mapping} (58%)
create mode 100644 mappings/net/minecraft/datafixer/fix/ChunkDeleteLightFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/DecoratedPotFieldRenameFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/DropInvalidSignDatafixDataFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/EntityBrushableBlockFieldsRenameFix.mapping
rename mappings/net/minecraft/datafixer/fix/{EntityTheRenameningBlock.mapping => EntityTheRenameningBlockFix.mapping} (52%)
create mode 100644 mappings/net/minecraft/datafixer/fix/LegacyDragonFightFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/OptionsAccessibilityOnboardFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/OptionsAmbientOcclusionFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/OptionsProgrammerArtFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/RandomSequenceSettingsFix.mapping
delete mode 100644 mappings/net/minecraft/datafixer/fix/RecipeFix.mapping
delete mode 100644 mappings/net/minecraft/datafixer/fix/RecipeRenameFix.mapping
delete mode 100644 mappings/net/minecraft/datafixer/fix/RecipeRenamingFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/RemoveFeatureTogglesFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/RenameBlockEntityFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/RenameChunkStatusFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/RenameScoreboardDisplaySlotFix.mapping
delete mode 100644 mappings/net/minecraft/datafixer/fix/SavedDataVillageCropFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/StatusEffectDurationFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/StatusEffectFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/fix/UpdateSignTextFormatFix.mapping
create mode 100644 mappings/net/minecraft/datafixer/mapping/FlatteningBiomeMapping.mapping
create mode 100644 mappings/net/minecraft/datafixer/mapping/FlatteningRecipeMapping.mapping
create mode 100644 mappings/net/minecraft/datafixer/mapping/WoodRecipeMapping.mapping
delete mode 100644 mappings/net/minecraft/datafixer/schema/Schema1451v7.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3202.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3203.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3204.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3325.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3326.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3327.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3328.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3438.mapping
create mode 100644 mappings/net/minecraft/datafixer/schema/Schema3448.mapping
create mode 100644 mappings/net/minecraft/entity/Attackable.mapping
create mode 100644 mappings/net/minecraft/entity/LimbAnimator.mapping
create mode 100644 mappings/net/minecraft/entity/Ownable.mapping
create mode 100644 mappings/net/minecraft/entity/Targeter.mapping
create mode 100644 mappings/net/minecraft/entity/VariantHolder.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/MemoryQuery.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/MemoryQueryResult.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/AquaticStrollTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/ConditionalTask.mapping
rename mappings/net/minecraft/entity/ai/brain/task/{WalkTask.mapping => FleeTask.mapping} (57%)
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/FollowMobTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/GoToCelebrateTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/GoTowardsLookTarget.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/GoTowardsLookTargetTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/HideInHomeDuringRaidTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/LookAtMobTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/LookAtMobWithIntervalTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/MultiTickTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/NoPenaltyStrollTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/RandomLookAroundTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/RunAroundAfterRaidTask.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/SeekSkyAfterRaidWinTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/SingleTickTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/TaskRunnable.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/TaskTriggerer.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/Tasks.mapping
delete mode 100644 mappings/net/minecraft/entity/ai/brain/task/TimeLimitedTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/brain/task/WalkTowardsPosTask.mapping
create mode 100644 mappings/net/minecraft/entity/ai/goal/AmbientStandGoal.mapping
create mode 100644 mappings/net/minecraft/entity/ai/pathing/AmphibiousSwimNavigation.mapping
create mode 100644 mappings/net/minecraft/entity/attribute/AttributeModifierCreator.mapping
delete mode 100644 mappings/net/minecraft/entity/damage/BadRespawnPointDamageSource.mapping
create mode 100644 mappings/net/minecraft/entity/damage/DamageEffects.mapping
create mode 100644 mappings/net/minecraft/entity/damage/DamageScaling.mapping
create mode 100644 mappings/net/minecraft/entity/damage/DamageSources.mapping
create mode 100644 mappings/net/minecraft/entity/damage/DamageType.mapping
create mode 100644 mappings/net/minecraft/entity/damage/DamageTypes.mapping
create mode 100644 mappings/net/minecraft/entity/damage/DeathMessageType.mapping
delete mode 100644 mappings/net/minecraft/entity/damage/EntityDamageSource.mapping
create mode 100644 mappings/net/minecraft/entity/damage/FallLocation.mapping
delete mode 100644 mappings/net/minecraft/entity/damage/ProjectileDamageSource.mapping
create mode 100644 mappings/net/minecraft/entity/decoration/Brightness.mapping
create mode 100644 mappings/net/minecraft/entity/decoration/DisplayEntity.mapping
create mode 100644 mappings/net/minecraft/entity/decoration/InteractionEntity.mapping
create mode 100644 mappings/net/minecraft/entity/effect/BadOmenStatusEffect.mapping
delete mode 100644 mappings/net/minecraft/entity/effect/DamageModifierStatusEffect.mapping
delete mode 100644 mappings/net/minecraft/entity/effect/HealthBoostStatusEffect.mapping
create mode 100644 mappings/net/minecraft/entity/effect/HungerStatusEffect.mapping
create mode 100644 mappings/net/minecraft/entity/effect/InstantHealthOrDamageStatusEffect.mapping
create mode 100644 mappings/net/minecraft/entity/effect/PoisonStatusEffect.mapping
create mode 100644 mappings/net/minecraft/entity/effect/RegenerationStatusEffect.mapping
create mode 100644 mappings/net/minecraft/entity/effect/SaturationStatusEffect.mapping
create mode 100644 mappings/net/minecraft/entity/effect/WitherStatusEffect.mapping
delete mode 100644 mappings/net/minecraft/entity/passive/AxolotlSwimNavigation.mapping
create mode 100644 mappings/net/minecraft/entity/passive/CamelBrain.mapping
create mode 100644 mappings/net/minecraft/entity/passive/CamelEntity.mapping
create mode 100644 mappings/net/minecraft/entity/passive/SnifferBrain.mapping
create mode 100644 mappings/net/minecraft/entity/passive/SnifferEntity.mapping
create mode 100644 mappings/net/minecraft/inventory/RecipeInputInventory.mapping
create mode 100644 mappings/net/minecraft/inventory/SingleStackInventory.mapping
create mode 100644 mappings/net/minecraft/item/BrushItem.mapping
delete mode 100644 mappings/net/minecraft/item/CommandBlockItem.mapping
create mode 100644 mappings/net/minecraft/item/Equipment.mapping
create mode 100644 mappings/net/minecraft/item/GlowInkSacItem.mapping
create mode 100644 mappings/net/minecraft/item/HangingSignItem.mapping
create mode 100644 mappings/net/minecraft/item/InkSacItem.mapping
create mode 100644 mappings/net/minecraft/item/ItemGroups.mapping
create mode 100644 mappings/net/minecraft/item/ItemStackSet.mapping
create mode 100644 mappings/net/minecraft/item/OperatorOnlyBlockItem.mapping
create mode 100644 mappings/net/minecraft/item/SignChangingItem.mapping
create mode 100644 mappings/net/minecraft/item/SmithingTemplateItem.mapping
create mode 100644 mappings/net/minecraft/item/VerticallyAttachableBlockItem.mapping
delete mode 100644 mappings/net/minecraft/item/WallStandingBlockItem.mapping
delete mode 100644 mappings/net/minecraft/item/Wearable.mapping
create mode 100644 mappings/net/minecraft/item/trim/ArmorTrim.mapping
create mode 100644 mappings/net/minecraft/item/trim/ArmorTrimMaterial.mapping
create mode 100644 mappings/net/minecraft/item/trim/ArmorTrimMaterials.mapping
create mode 100644 mappings/net/minecraft/item/trim/ArmorTrimPattern.mapping
create mode 100644 mappings/net/minecraft/item/trim/ArmorTrimPatterns.mapping
create mode 100644 mappings/net/minecraft/loot/AndFunction.mapping
create mode 100644 mappings/net/minecraft/loot/LootDataKey.mapping
create mode 100644 mappings/net/minecraft/loot/LootDataLookup.mapping
create mode 100644 mappings/net/minecraft/loot/LootDataType.mapping
delete mode 100644 mappings/net/minecraft/loot/LootGsons.mapping
create mode 100644 mappings/net/minecraft/loot/condition/AllOfLootCondition.mapping
create mode 100644 mappings/net/minecraft/loot/condition/AnyOfLootCondition.mapping
delete mode 100644 mappings/net/minecraft/loot/condition/LootConditionManager.mapping
create mode 100644 mappings/net/minecraft/loot/context/LootContextParameterSet.mapping
delete mode 100644 mappings/net/minecraft/loot/function/LootFunctionManager.mapping
create mode 100644 mappings/net/minecraft/loot/function/ReferenceLootFunction.mapping
delete mode 100644 mappings/net/minecraft/loot/function/SetGoatHornSoundLootFunction.mapping
create mode 100644 mappings/net/minecraft/loot/function/SetInstrumentLootFunction.mapping
delete mode 100644 mappings/net/minecraft/network/DecoderHandler.mapping
delete mode 100644 mappings/net/minecraft/network/LegacyQueryHandler.mapping
delete mode 100644 mappings/net/minecraft/network/Packet.mapping
delete mode 100644 mappings/net/minecraft/network/PacketEncoder.mapping
delete mode 100644 mappings/net/minecraft/network/PacketEncoderException.mapping
create mode 100644 mappings/net/minecraft/network/QueryableServer.mapping
delete mode 100644 mappings/net/minecraft/network/SplitterHandler.mapping
create mode 100644 mappings/net/minecraft/network/encoding/StringEncoding.mapping
create mode 100644 mappings/net/minecraft/network/encoding/VarInts.mapping
create mode 100644 mappings/net/minecraft/network/encoding/VarLongs.mapping
create mode 100644 mappings/net/minecraft/network/encryption/ClientPlayerSession.mapping
create mode 100644 mappings/net/minecraft/network/encryption/PublicPlayerSession.mapping
create mode 100644 mappings/net/minecraft/network/handler/DecoderHandler.mapping
create mode 100644 mappings/net/minecraft/network/handler/LegacyQueries.mapping
create mode 100644 mappings/net/minecraft/network/handler/LegacyQueryHandler.mapping
create mode 100644 mappings/net/minecraft/network/handler/NetworkStateTransitionHandler.mapping
create mode 100644 mappings/net/minecraft/network/handler/PacketBundleHandler.mapping
create mode 100644 mappings/net/minecraft/network/handler/PacketBundler.mapping
rename mappings/net/minecraft/network/{ => handler}/PacketDeflater.mapping (85%)
create mode 100644 mappings/net/minecraft/network/handler/PacketEncoder.mapping
create mode 100644 mappings/net/minecraft/network/handler/PacketEncoderException.mapping
rename mappings/net/minecraft/network/{ => handler}/PacketInflater.mapping (66%)
create mode 100644 mappings/net/minecraft/network/handler/PacketSizeLogger.mapping
create mode 100644 mappings/net/minecraft/network/handler/PacketUnbundler.mapping
create mode 100644 mappings/net/minecraft/network/handler/PacketValidator.mapping
rename mappings/net/minecraft/network/{ => handler}/SizePrepender.mapping (80%)
create mode 100644 mappings/net/minecraft/network/handler/SplitterHandler.mapping
create mode 100644 mappings/net/minecraft/network/listener/ClientCommonPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ClientConfigurationPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ClientPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ClientPingResultPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ServerCommonPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ServerConfigurationPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ServerCrashSafePacketListener.mapping
create mode 100644 mappings/net/minecraft/network/listener/ServerQueryPingPacketListener.mapping
create mode 100644 mappings/net/minecraft/network/message/AcknowledgedMessage.mapping
delete mode 100644 mappings/net/minecraft/network/message/CachedDecoratorResult.mapping
delete mode 100644 mappings/net/minecraft/network/message/DecoratedContents.mapping
delete mode 100644 mappings/net/minecraft/network/message/MessageHeader.mapping
create mode 100644 mappings/net/minecraft/network/message/MessageLink.mapping
delete mode 100644 mappings/net/minecraft/network/message/MessageMetadata.mapping
create mode 100644 mappings/net/minecraft/network/message/MessageSignatureStorage.mapping
delete mode 100644 mappings/net/minecraft/network/message/MessageSourceProfile.mapping
create mode 100644 mappings/net/minecraft/network/packet/BrandCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/BundlePacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/BundleSplitterPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/CustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/Packet.mapping
create mode 100644 mappings/net/minecraft/network/packet/UnknownCustomPayload.mapping
rename mappings/net/minecraft/network/packet/c2s/{play/PlayPongC2SPacket.mapping => common/CommonPongC2SPacket.mapping} (73%)
create mode 100644 mappings/net/minecraft/network/packet/c2s/common/CustomPayloadC2SPacket.mapping
rename mappings/net/minecraft/network/packet/c2s/{play => common}/KeepAliveC2SPacket.mapping (88%)
rename mappings/net/minecraft/network/packet/c2s/{play => common}/ResourcePackStatusC2SPacket.mapping (90%)
create mode 100644 mappings/net/minecraft/network/packet/c2s/config/ReadyC2SPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/handshake/ConnectionIntent.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/login/EnterConfigurationC2SPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/login/LoginQueryResponsePayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/login/UnknownLoginQueryResponsePayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/play/AcknowledgeChunksC2SPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/play/AcknowledgeReconfigurationC2SPacket.mapping
delete mode 100644 mappings/net/minecraft/network/packet/c2s/play/CustomPayloadC2SPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/c2s/play/PlayerSessionC2SPacket.mapping
delete mode 100644 mappings/net/minecraft/network/packet/c2s/play/RequestChatPreviewC2SPacket.mapping
rename mappings/net/minecraft/network/packet/s2c/{play/PlayPingS2CPacket.mapping => common/CommonPingS2CPacket.mapping} (76%)
create mode 100644 mappings/net/minecraft/network/packet/s2c/common/CustomPayloadS2CPacket.mapping
rename mappings/net/minecraft/network/packet/s2c/{play => common}/DisconnectS2CPacket.mapping (91%)
rename mappings/net/minecraft/network/packet/s2c/{play => common}/KeepAliveS2CPacket.mapping (88%)
rename mappings/net/minecraft/network/packet/s2c/{play => common}/ResourcePackSendS2CPacket.mapping (80%)
rename mappings/net/minecraft/network/packet/s2c/{play => common}/SynchronizeTagsS2CPacket.mapping (60%)
create mode 100644 mappings/net/minecraft/network/packet/s2c/config/DynamicRegistriesS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/config/FeaturesS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/config/ReadyS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugBeeCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugBrainCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugGameEventCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugGameEventListenersCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugGameTestAddMarkerCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugGameTestClearCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugGoalSelectorCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugHiveCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugNeighborsUpdateCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugPathCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugPoiAddedCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugPoiRemovedCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugPoiTicketCountCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugRaidsCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugStructuresCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugVillageSectionsCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/custom/DebugWorldgenAttemptCustomPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/login/LoginQueryRequestPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/login/UnknownLoginQueryRequestPayload.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/BundleS2CPacket.mapping
delete mode 100644 mappings/net/minecraft/network/packet/s2c/play/ChatPreviewS2CPacket.mapping
delete mode 100644 mappings/net/minecraft/network/packet/s2c/play/ChatPreviewStateChangeS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/ChunkBiomeDataS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/ChunkSentS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/CommonPlayerSpawnInfo.mapping
delete mode 100644 mappings/net/minecraft/network/packet/s2c/play/CustomPayloadS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/DamageTiltS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/EnterReconfigurationS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/EntityDamageS2CPacket.mapping
delete mode 100644 mappings/net/minecraft/network/packet/s2c/play/MessageHeaderS2CPacket.mapping
delete mode 100644 mappings/net/minecraft/network/packet/s2c/play/PlaySoundIdS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/PlayerRemoveS2CPacket.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/PositionFlag.mapping
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/ProfilelessChatMessageS2CPacket.mapping
rename mappings/net/minecraft/network/packet/s2c/play/{HideMessageS2CPacket.mapping => RemoveMessageS2CPacket.mapping} (81%)
create mode 100644 mappings/net/minecraft/network/packet/s2c/play/StartChunkSendS2CPacket.mapping
rename mappings/net/minecraft/network/packet/s2c/query/{QueryPongS2CPacket.mapping => PingResultS2CPacket.mapping} (89%)
create mode 100644 mappings/net/minecraft/predicate/TagPredicate.mapping
delete mode 100644 mappings/net/minecraft/predicate/entity/AdvancementEntityPredicateSerializer.mapping
create mode 100644 mappings/net/minecraft/predicate/entity/LootContextPredicate.mapping
create mode 100644 mappings/net/minecraft/recipe/CraftingDecoratedPotRecipe.mapping
create mode 100644 mappings/net/minecraft/recipe/SmithingTransformRecipe.mapping
create mode 100644 mappings/net/minecraft/recipe/SmithingTrimRecipe.mapping
create mode 100644 mappings/net/minecraft/recipe/book/CookingRecipeCategory.mapping
create mode 100644 mappings/net/minecraft/recipe/book/CraftingRecipeCategory.mapping
create mode 100644 mappings/net/minecraft/recipe/book/RecipeCategory.mapping
create mode 100644 mappings/net/minecraft/registry/BuiltinRegistries.mapping
create mode 100644 mappings/net/minecraft/registry/CombinedDynamicRegistries.mapping
create mode 100644 mappings/net/minecraft/registry/DefaultedRegistry.mapping
create mode 100644 mappings/net/minecraft/registry/DynamicRegistryManager.mapping
create mode 100644 mappings/net/minecraft/registry/MutableRegistry.mapping
create mode 100644 mappings/net/minecraft/registry/Registerable.mapping
create mode 100644 mappings/net/minecraft/registry/Registries.mapping
create mode 100644 mappings/net/minecraft/registry/Registry.mapping
create mode 100644 mappings/net/minecraft/registry/RegistryBuilder.mapping
rename mappings/net/minecraft/{util => }/registry/RegistryCodecs.mapping (52%)
create mode 100644 mappings/net/minecraft/registry/RegistryEntryLookup.mapping
rename mappings/net/minecraft/{util => }/registry/RegistryKey.mapping (87%)
create mode 100644 mappings/net/minecraft/registry/RegistryKeys.mapping
create mode 100644 mappings/net/minecraft/registry/RegistryLoader.mapping
create mode 100644 mappings/net/minecraft/registry/RegistryOps.mapping
create mode 100644 mappings/net/minecraft/registry/RegistryWrapper.mapping
create mode 100644 mappings/net/minecraft/registry/SerializableRegistries.mapping
create mode 100644 mappings/net/minecraft/registry/ServerDynamicRegistryType.mapping
create mode 100644 mappings/net/minecraft/registry/SimpleDefaultedRegistry.mapping
rename mappings/net/minecraft/{util => }/registry/SimpleRegistry.mapping (64%)
rename mappings/net/minecraft/{util/dynamic => registry/entry}/RegistryElementCodec.mapping (83%)
create mode 100644 mappings/net/minecraft/registry/entry/RegistryEntry.mapping
create mode 100644 mappings/net/minecraft/registry/entry/RegistryEntryList.mapping
rename mappings/net/minecraft/{util/registry => registry/entry}/RegistryEntryListCodec.mapping (91%)
create mode 100644 mappings/net/minecraft/registry/entry/RegistryEntryOwner.mapping
rename mappings/net/minecraft/{util/registry => registry/entry}/RegistryFixedCodec.mapping (81%)
rename mappings/net/minecraft/{ => registry}/tag/BannerPatternTags.mapping (51%)
rename mappings/net/minecraft/{ => registry}/tag/BiomeTags.mapping (54%)
rename mappings/net/minecraft/{ => registry}/tag/BlockTags.mapping (54%)
rename mappings/net/minecraft/{ => registry}/tag/CatVariantTags.mapping (52%)
create mode 100644 mappings/net/minecraft/registry/tag/DamageTypeTags.mapping
rename mappings/net/minecraft/{ => registry}/tag/EntityTypeTags.mapping (52%)
create mode 100644 mappings/net/minecraft/registry/tag/FlatLevelGeneratorPresetTags.mapping
rename mappings/net/minecraft/{ => registry}/tag/FluidTags.mapping (54%)
rename mappings/net/minecraft/{ => registry}/tag/GameEventTags.mapping (53%)
rename mappings/net/minecraft/{ => registry}/tag/InstrumentTags.mapping (52%)
rename mappings/net/minecraft/{ => registry}/tag/ItemTags.mapping (55%)
rename mappings/net/minecraft/{ => registry}/tag/PaintingVariantTags.mapping (51%)
rename mappings/net/minecraft/{ => registry}/tag/PointOfInterestTypeTags.mapping (50%)
rename mappings/net/minecraft/{ => registry}/tag/StructureTags.mapping (53%)
rename mappings/net/minecraft/{ => registry}/tag/TagBuilder.mapping (91%)
rename mappings/net/minecraft/{ => registry}/tag/TagEntry.mapping (96%)
rename mappings/net/minecraft/{ => registry}/tag/TagFile.mapping (74%)
create mode 100644 mappings/net/minecraft/registry/tag/TagGroupLoader.mapping
rename mappings/net/minecraft/{ => registry}/tag/TagKey.mapping (94%)
rename mappings/net/minecraft/{ => registry}/tag/TagManagerLoader.mapping (93%)
rename mappings/net/minecraft/{ => registry}/tag/TagPacketSerializer.mapping (87%)
rename mappings/net/minecraft/{ => registry}/tag/WorldPresetTags.mapping (52%)
create mode 100644 mappings/net/minecraft/resource/DataConfiguration.mapping
create mode 100644 mappings/net/minecraft/resource/DefaultResourcePackBuilder.mapping
create mode 100644 mappings/net/minecraft/resource/DependencyTracker.mapping
create mode 100644 mappings/net/minecraft/resource/InputSupplier.mapping
create mode 100644 mappings/net/minecraft/resource/OverlayResourcePack.mapping
create mode 100644 mappings/net/minecraft/resource/ResourceFinder.mapping
delete mode 100644 mappings/net/minecraft/resource/ResourceNotFoundException.mapping
create mode 100644 mappings/net/minecraft/resource/ResourcePackOpener.mapping
create mode 100644 mappings/net/minecraft/resource/VanillaResourcePackProvider.mapping
create mode 100644 mappings/net/minecraft/resource/featuretoggle/FeatureFlag.mapping
create mode 100644 mappings/net/minecraft/resource/featuretoggle/FeatureFlags.mapping
create mode 100644 mappings/net/minecraft/resource/featuretoggle/FeatureManager.mapping
create mode 100644 mappings/net/minecraft/resource/featuretoggle/FeatureSet.mapping
create mode 100644 mappings/net/minecraft/resource/featuretoggle/FeatureUniverse.mapping
create mode 100644 mappings/net/minecraft/resource/featuretoggle/ToggleableFeature.mapping
create mode 100644 mappings/net/minecraft/resource/fs/ResourceFile.mapping
create mode 100644 mappings/net/minecraft/resource/fs/ResourceFileAttributes.mapping
create mode 100644 mappings/net/minecraft/resource/fs/ResourceFileStore.mapping
create mode 100644 mappings/net/minecraft/resource/fs/ResourceFileSystem.mapping
create mode 100644 mappings/net/minecraft/resource/fs/ResourceFileSystemProvider.mapping
create mode 100644 mappings/net/minecraft/resource/fs/ResourcePath.mapping
create mode 100644 mappings/net/minecraft/resource/metadata/BlockEntry.mapping
create mode 100644 mappings/net/minecraft/resource/metadata/PackFeatureSetMetadata.mapping
create mode 100644 mappings/net/minecraft/resource/metadata/PackOverlaysMetadata.mapping
delete mode 100644 mappings/net/minecraft/resource/metadata/PackResourceMetadataReader.mapping
create mode 100644 mappings/net/minecraft/resource/metadata/ResourceMetadataMap.mapping
create mode 100644 mappings/net/minecraft/resource/metadata/ResourceMetadataSerializer.mapping
create mode 100644 mappings/net/minecraft/scoreboard/ScoreboardDisplaySlot.mapping
create mode 100644 mappings/net/minecraft/screen/slot/ForgingSlotsManager.mapping
create mode 100644 mappings/net/minecraft/server/command/DamageCommand.mapping
create mode 100644 mappings/net/minecraft/server/command/DebugConfigCommand.mapping
create mode 100644 mappings/net/minecraft/server/command/FillBiomeCommand.mapping
create mode 100644 mappings/net/minecraft/server/command/RandomCommand.mapping
create mode 100644 mappings/net/minecraft/server/command/ReturnCommand.mapping
create mode 100644 mappings/net/minecraft/server/command/RideCommand.mapping
create mode 100644 mappings/net/minecraft/server/command/SpawnArmorTrimsCommand.mapping
create mode 100644 mappings/net/minecraft/server/function/MacroException.mapping
create mode 100644 mappings/net/minecraft/server/network/ChunkDataSender.mapping
create mode 100644 mappings/net/minecraft/server/network/ChunkFilter.mapping
create mode 100644 mappings/net/minecraft/server/network/JoinWorldTask.mapping
create mode 100644 mappings/net/minecraft/server/network/PlayerAssociatedNetworkHandler.mapping
create mode 100644 mappings/net/minecraft/server/network/SendResourcePackTask.mapping
create mode 100644 mappings/net/minecraft/server/network/ServerCommonNetworkHandler.mapping
create mode 100644 mappings/net/minecraft/server/network/ServerConfigurationNetworkHandler.mapping
create mode 100644 mappings/net/minecraft/server/network/ServerPlayerConfigurationTask.mapping
create mode 100644 mappings/net/minecraft/server/world/ChunkLevelType.mapping
create mode 100644 mappings/net/minecraft/server/world/ChunkLevels.mapping
delete mode 100644 mappings/net/minecraft/server/world/EntityTrackingListener.mapping
create mode 100644 mappings/net/minecraft/structure/BastionHoglinStableData.mapping
delete mode 100644 mappings/net/minecraft/structure/HoglinStableData.mapping
create mode 100644 mappings/net/minecraft/structure/TrailRuinsGenerator.mapping
create mode 100644 mappings/net/minecraft/structure/processor/CappedStructureProcessor.mapping
create mode 100644 mappings/net/minecraft/structure/rule/blockentity/AppendLootRuleBlockEntityModifier.mapping
create mode 100644 mappings/net/minecraft/structure/rule/blockentity/AppendStaticRuleBlockEntityModifier.mapping
create mode 100644 mappings/net/minecraft/structure/rule/blockentity/ClearRuleBlockEntityModifier.mapping
create mode 100644 mappings/net/minecraft/structure/rule/blockentity/PassthroughRuleBlockEntityModifier.mapping
create mode 100644 mappings/net/minecraft/structure/rule/blockentity/RuleBlockEntityModifier.mapping
create mode 100644 mappings/net/minecraft/structure/rule/blockentity/RuleBlockEntityModifierType.mapping
delete mode 100644 mappings/net/minecraft/tag/FlatLevelGeneratorPresetTags.mapping
delete mode 100644 mappings/net/minecraft/tag/TagGroupLoader.mapping
rename mappings/net/minecraft/{client/resource/language => text}/TextReorderingProcessor.mapping (91%)
rename mappings/net/minecraft/{client/font => text}/TextVisitFactory.mapping (98%)
delete mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo6204.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7676.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7694.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7702.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7727.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7728.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7787.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7795.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7797.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7804.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7888.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7912.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7925.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7937.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7945.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7953.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7961.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7983.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo7984.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8008.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8022.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8031.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8058.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8091.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8250.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8501.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8585.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8598.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8613.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8696.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8730.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8731.mapping
create mode 100644 mappings/net/minecraft/unused/packageinfo/PackageInfo8737.mapping
create mode 100644 mappings/net/minecraft/util/CachedMapper.mapping
create mode 100644 mappings/net/minecraft/util/Colors.mapping
create mode 100644 mappings/net/minecraft/util/InvalidHierarchicalFileException.mapping
delete mode 100644 mappings/net/minecraft/util/JsonSerializableType.mapping
delete mode 100644 mappings/net/minecraft/util/JsonSerializer.mapping
delete mode 100644 mappings/net/minecraft/util/JsonSerializing.mapping
delete mode 100644 mappings/net/minecraft/util/MetricsData.mapping
create mode 100644 mappings/net/minecraft/util/Nullables.mapping
rename mappings/net/minecraft/util/{FileNameUtil.mapping => PathUtil.mapping} (55%)
delete mode 100644 mappings/net/minecraft/util/PendingTaskRunner.mapping
create mode 100644 mappings/net/minecraft/util/Urls.mapping
rename mappings/net/minecraft/util/{dynamic/DynamicSerializableUuid.mapping => Uuids.mapping} (53%)
create mode 100644 mappings/net/minecraft/util/collection/ArrayListDeque.mapping
delete mode 100644 mappings/net/minecraft/util/dynamic/EntryLoader.mapping
delete mode 100644 mappings/net/minecraft/util/dynamic/RegistryLoader.mapping
delete mode 100644 mappings/net/minecraft/util/dynamic/RegistryOps.mapping
create mode 100644 mappings/net/minecraft/util/function/LazyIterationConsumer.mapping
delete mode 100644 mappings/net/minecraft/util/function/MaterialPredicate.mapping
create mode 100644 mappings/net/minecraft/util/function/ValueLists.mapping
create mode 100644 mappings/net/minecraft/util/logging/LogFileCompressor.mapping
create mode 100644 mappings/net/minecraft/util/logging/LogReader.mapping
create mode 100644 mappings/net/minecraft/util/logging/LogWriter.mapping
create mode 100644 mappings/net/minecraft/util/math/Divider.mapping
create mode 100644 mappings/net/minecraft/util/math/GivensPair.mapping
delete mode 100644 mappings/net/minecraft/util/math/Matrix3f.mapping
delete mode 100644 mappings/net/minecraft/util/math/Matrix4f.mapping
create mode 100644 mappings/net/minecraft/util/math/MatrixUtil.mapping
delete mode 100644 mappings/net/minecraft/util/math/Quaternion.mapping
create mode 100644 mappings/net/minecraft/util/math/RotationAxis.mapping
create mode 100644 mappings/net/minecraft/util/math/RotationCalculator.mapping
create mode 100644 mappings/net/minecraft/util/math/RotationPropertyHelper.mapping
delete mode 100644 mappings/net/minecraft/util/math/Vec3f.mapping
delete mode 100644 mappings/net/minecraft/util/math/Vector4f.mapping
create mode 100644 mappings/net/minecraft/util/math/random/RandomSequence.mapping
create mode 100644 mappings/net/minecraft/util/math/random/RandomSequencesState.mapping
create mode 100644 mappings/net/minecraft/util/path/AllowedSymlinkPathMatcher.mapping
create mode 100644 mappings/net/minecraft/util/path/SymlinkEntry.mapping
create mode 100644 mappings/net/minecraft/util/path/SymlinkFinder.mapping
create mode 100644 mappings/net/minecraft/util/path/SymlinkValidationException.mapping
create mode 100644 mappings/net/minecraft/util/profiler/PerformanceLog.mapping
delete mode 100644 mappings/net/minecraft/util/profiling/jfr/sample/TimedSample.mapping
delete mode 100644 mappings/net/minecraft/util/registry/BuiltinRegistries.mapping
delete mode 100644 mappings/net/minecraft/util/registry/DefaultedRegistry.mapping
delete mode 100644 mappings/net/minecraft/util/registry/DynamicRegistryManager.mapping
delete mode 100644 mappings/net/minecraft/util/registry/MutableRegistry.mapping
delete mode 100644 mappings/net/minecraft/util/registry/Registry.mapping
delete mode 100644 mappings/net/minecraft/util/registry/RegistryEntry.mapping
delete mode 100644 mappings/net/minecraft/util/registry/RegistryEntryList.mapping
create mode 100644 mappings/net/minecraft/world/RedstoneView.mapping
rename mappings/net/minecraft/world/{level => biome}/ColorResolver.mapping (58%)
create mode 100644 mappings/net/minecraft/world/biome/source/MultiNoiseBiomeSourceParameterList.mapping
create mode 100644 mappings/net/minecraft/world/biome/source/MultiNoiseBiomeSourceParameterLists.mapping
rename mappings/net/minecraft/world/chunk/{ReadOnlyChunk.mapping => WrapperProtoChunk.mapping} (57%)
create mode 100644 mappings/net/minecraft/world/chunk/light/ChunkSkyLight.mapping
create mode 100644 mappings/net/minecraft/world/chunk/light/LightSourceView.mapping
create mode 100644 mappings/net/minecraft/world/chunk/light/PendingUpdateQueue.mapping
create mode 100644 mappings/net/minecraft/world/dimension/DimensionOptionsRegistryHolder.mapping
rename mappings/net/minecraft/world/dimension/{AreaHelper.mapping => NetherPortal.mapping} (81%)
create mode 100644 mappings/net/minecraft/world/event/Vibrations.mapping
create mode 100644 mappings/net/minecraft/world/event/listener/GameEventDispatchManager.mapping
create mode 100644 mappings/net/minecraft/world/event/listener/Vibration.mapping
delete mode 100644 mappings/net/minecraft/world/event/listener/VibrationListener.mapping
create mode 100644 mappings/net/minecraft/world/event/listener/VibrationSelector.mapping
create mode 100644 mappings/net/minecraft/world/gen/chunk/placement/StructurePlacementCalculator.mapping
create mode 100644 mappings/net/minecraft/world/gen/foliage/CherryFoliagePlacer.mapping
create mode 100644 mappings/net/minecraft/world/gen/trunk/CherryTrunkPlacer.mapping
create mode 100644 mappings/net/minecraft/world/level/WorldGenSettings.mapping
rename mappings/net/minecraft/world/{ => tick}/TickPriority.mapping (72%)
create mode 100644 src/packageDocs/java/net/minecraft/block/cauldron/package-info.java
create mode 100644 src/packageDocs/java/net/minecraft/util/registry/package-info.java
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000000..61399cb9a8
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,5 @@
+* @FabricMC/developers
+
+mappings/
+unpick-definitions/
+src/
\ No newline at end of file
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6d5bf099b1..e6774b1759 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,19 +4,18 @@ jobs:
build:
strategy:
matrix:
- java: [17-jdk, 18-jdk]
+ java: [17-jdk, 20-jdk]
runs-on: ubuntu-22.04
container:
- image: openjdk:${{ matrix.java }}
+ image: eclipse-temurin:${{ matrix.java }}
options: --user root
steps:
- - uses: actions/checkout@v2
- - uses: gradle/wrapper-validation-action@v1
+ - uses: actions/checkout@v3
- run: ./gradlew build javadocJar checkMappings --stacktrace --warning-mode fail
- name: Build artifacts
- if: ${{ matrix.java == '18-jdk' }}
+ if: ${{ matrix.java == '20-jdk' }}
continue-on-error: true
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: Artifacts
path: build/libs/
@@ -24,9 +23,9 @@ jobs:
test-build-logic:
runs-on: ubuntu-22.04
container:
- image: openjdk:18-jdk
+ image: eclipse-temurin:20-jdk
options: --user root
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- run: ./gradlew :filament:build
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 6c81ffbc95..6c114d697f 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -6,19 +6,17 @@ jobs:
if: ${{ github.repository_owner == 'FabricMC' }}
runs-on: ubuntu-22.04
container:
- image: openjdk:18-jdk
+ image: eclipse-temurin:20-jdk
options: --user root
steps:
- - uses: actions/checkout@v2
- - uses: gradle/wrapper-validation-action@v1
-
+ - uses: actions/checkout@v3
# Generate the build number based on tags to allow per branch build numbers, not something github provides by default.
- name: Generate build number
id: buildnumber
- uses: einaregilsson/build-number@v3
+ uses: onyxmueller/build-tag-number@v1
with:
token: ${{ secrets.github_token }}
- prefix: ${{ github.ref }}
+ prefix: "build/${{ github.ref }}"
- run: ./gradlew build javadocJar checkVersion publish --stacktrace
env:
diff --git a/.github/workflows/release-filament.yml b/.github/workflows/release-filament.yml
new file mode 100644
index 0000000000..7396c3e780
--- /dev/null
+++ b/.github/workflows/release-filament.yml
@@ -0,0 +1,15 @@
+name: Release Filament
+on: [workflow_dispatch] # Manual trigger
+jobs:
+ build:
+ runs-on: ubuntu-22.04
+ container:
+ image: eclipse-temurin:20-jdk
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3
+ - run: ./gradlew :filament:build :filament:publish --stacktrace --no-configuration-cache
+ env:
+ MAVEN_URL: ${{ secrets.MAVEN_URL }}
+ MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
diff --git a/.github/workflows/update-base.yml b/.github/workflows/update-base.yml
index e271dbf3f5..f23ceeda2f 100644
--- a/.github/workflows/update-base.yml
+++ b/.github/workflows/update-base.yml
@@ -9,6 +9,6 @@ jobs:
if: ${{ github.event.label.name == 'update-base' }}
runs-on: ubuntu-22.04
steps:
- - uses: FabricMC/fabric-action-scripts@v1
+ - uses: FabricMC/fabric-action-scripts@v2
with:
context: yarn-update-base
\ No newline at end of file
diff --git a/.github/workflows/version-label.yml b/.github/workflows/version-label.yml
new file mode 100644
index 0000000000..a00e1442ea
--- /dev/null
+++ b/.github/workflows/version-label.yml
@@ -0,0 +1,14 @@
+name: Update Base Branch
+
+on:
+ pull_request:
+ types: [ opened ]
+
+jobs:
+ update:
+ if: ${{ github.event.label.name == 'update-base' }}
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: FabricMC/fabric-action-scripts@v2
+ with:
+ context: yarn-version-label
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 5fbf1e1535..98496ad96a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,24 +9,22 @@ buildscript {
}
dependencies {
classpath "cuchaz:enigma-cli:${project.enigma_version}"
- classpath "net.fabricmc:stitch:${project.stitch_version}"
- classpath "commons-io:commons-io:2.11.0"
- classpath "de.undercouch:gradle-download-task:4.1.1"
- classpath "net.fabricmc.unpick:unpick:${project.unpick_version}"
- classpath "net.fabricmc.unpick:unpick-format-utils:${project.unpick_version}"
classpath "net.fabricmc:name-proposal:${project.name_proposal_version}"
}
}
plugins {
id 'java' // for constants, packages, javadoc
- id 'de.undercouch.download' version '4.1.2'
id 'maven-publish'
- id "com.diffplug.spotless" version "6.4.2"
+ id "com.diffplug.spotless" version "6.21.0"
id 'net.fabricmc.filament'
}
-def minecraft_version = "1.19.2"
+def minecraft_version = "23w35a"
+
+filament {
+ minecraftVersion = minecraft_version
+}
def ENV = System.getenv()
// Fetch build number from Github Actions
@@ -70,9 +68,6 @@ configurations {
extendsFrom asm
transitive = true
}
- unpick {
- extendsFrom asm
- }
}
def unpickMetaFile = file("unpick-definitions/unpick.json")
@@ -80,383 +75,95 @@ def unpickMetaFile = file("unpick-definitions/unpick.json")
dependencies {
enigmaRuntime "cuchaz:enigma-swing:${project.enigma_version}"
enigmaRuntime "net.fabricmc:name-proposal:${project.name_proposal_version}"
+ enigmaRuntime "net.fabricmc:cfr:${project.cfr_version}"
javadocClasspath "net.fabricmc:fabric-loader:${project.fabric_loader_version}"
javadocClasspath "org.jetbrains:annotations:${project.jetbrains_annotations_version}"
javadocClasspath "com.google.code.findbugs:jsr305:3.0.2" // for some other jsr annotations
decompileClasspath "net.fabricmc:cfr:${project.cfr_version}"
mappingPoetJar "net.fabricmc:mappingpoet:${project.mappingpoet_version}"
- unpick "net.fabricmc.unpick:unpick-cli:${project.unpick_version}"
asm "org.ow2.asm:asm:${project.asm_version}"
asm "org.ow2.asm:asm-tree:${project.asm_version}"
asm "org.ow2.asm:asm-commons:${project.asm_version}"
asm "org.ow2.asm:asm-util:${project.asm_version}"
}
-def setupGroup = "jar setup"
def yarnGroup = "yarn"
def buildMappingGroup = "mapping build"
def mapJarGroup = "jar mapping"
def mappingsDir = file("mappings")
-def cacheFilesMinecraft = file(".gradle/minecraft")
-def tempDir = file(".gradle/temp")
-def mergedFile = file("${minecraft_version}-merged.jar")
-def intermediaryJar = file("${minecraft_version}-intermediary.jar")
-def unpickedJar = file("${minecraft_version}-intermediary-unpicked.jar")
-def namedJar = file("${minecraft_version}-named.jar")
-def versionFile = new File(cacheFilesMinecraft, "${minecraft_version}.json")
-def clientJar = new File(cacheFilesMinecraft, "${minecraft_version}-client.jar")
-// The vanilla server bootstrap jar (Contains the real server jar)
-def serverBootstrapJar = new File(cacheFilesMinecraft, "${minecraft_version}-serverboostrap.jar")
-// The real server jar, expected from the bootstrap
-def serverJar = new File(cacheFilesMinecraft, "${minecraft_version}-server.jar")
-def serverIntermediaryJar = file("${minecraft_version}-server-intermediary.jar")
-def libraries = new File(cacheFilesMinecraft, "libraries")
+def tempDir = file("build/temp/yarn")
+def cacheFilesMinecraft = new File(tempDir, "minecraft")
def libs = new File("build/libs/")
-import com.google.common.hash.Hashing
+def minecraftLibraries = configurations.minecraftLibraries
+
import cuchaz.enigma.command.CheckMappingsCommand
-import cuchaz.enigma.command.ComposeMappingsCommand
-import cuchaz.enigma.command.ConvertMappingsCommand
-import cuchaz.enigma.command.MapSpecializedMethodsCommand
-import groovy.json.JsonSlurper
import net.fabricmc.filament.task.MapJarTask
-import net.fabricmc.stitch.commands.CommandMergeTiny
-import net.fabricmc.stitch.commands.CommandReorderTiny
-import net.fabricmc.stitch.commands.CommandRewriteIntermediary
-import net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2
-import net.fabricmc.stitch.commands.tinyv2.CommandReorderTinyV2
-import net.fabricmc.stitch.merge.JarMerger
+import net.fabricmc.filament.task.DownloadTask
+import net.fabricmc.filament.task.UnpickJarTask
+import net.fabricmc.filament.task.base.WithFileInput
+import net.fabricmc.filament.task.base.WithFileOutput
+import net.fabricmc.filament.task.enigma.MapSpecializedMethodsTask
+import net.fabricmc.filament.task.mappingio.ConvertMappingsTask
+import net.fabricmc.filament.task.mappingio.MergeMappingsTask
+import net.fabricmc.mappingio.format.MappingFormat
import net.fabricmc.nameproposal.MappingNameCompleter
-import org.apache.commons.io.FileUtils
+import org.gradle.work.DisableCachingByDefault
-import java.nio.charset.StandardCharsets
import java.util.zip.GZIPOutputStream
-boolean validateChecksum(File file, String checksum) {
- if (file != null) {
- def hash = com.google.common.io.Files.asByteSource(file).hash(Hashing.sha1())
- def builder = new StringBuilder()
- hash.asBytes().each {
- builder.append(Integer.toString((it & 0xFF) + 0x100, 16).substring(1))
- }
- return builder.toString().equals(checksum)
- }
- return false
-}
-
-task downloadVersionsManifest {
- group = setupGroup
- //inputs.property "mc_ver", minecraft_version
- inputs.property "currenttime", new Date()
- def manifestFile = new File(cacheFilesMinecraft, "version_manifest_v2.json")
- outputs.file(manifestFile)
- doLast {
- logger.lifecycle(":downloading minecraft versions manifest")
- FileUtils.copyURLToFile(new URL("https://piston-meta.mojang.com/mc/game/version_manifest_v2.json"), manifestFile)
- }
-}
-
-def getManifestVersion(File manifestFile, String minecraft_version) {
- def manifest = manifestFile.exists() ? new JsonSlurper().parseText(FileUtils.readFileToString(manifestFile)) : null
- return manifest != null ? manifest.versions.stream().filter({
- it.id.equals(minecraft_version)
- }).findFirst() : java.util.Optional.empty()
-}
-
-task downloadWantedVersionManifest(dependsOn: downloadVersionsManifest) {
- group = setupGroup
- def manifestFile = downloadVersionsManifest.outputs.files.singleFile
- def manifestVersion = getManifestVersion(manifestFile, minecraft_version)
-
- //have to grab the release time as there's a current timestamp on each element?!
- inputs.property "releaseTime", manifestVersion.isPresent() ? manifestVersion.get().releaseTime : -1
-
- outputs.file versionFile
-
- doLast {
- manifestVersion = getManifestVersion(manifestFile, minecraft_version)
- //nb need to re-read here in case it didn't exist before
- if (manifestVersion.isPresent() || versionFile.exists()) {
-
- if (manifestVersion.isPresent()) {
- FileUtils.copyURLToFile(new URL(manifestVersion.get().url), versionFile)
- }
- } else {
- throw new RuntimeException("No version data for Minecraft version ${minecraft_version}")
- }
- }
-
-}
-
-task downloadMcJars(dependsOn: downloadWantedVersionManifest) {
- group = setupGroup
- inputs.files versionFile
-
- outputs.files(clientJar, serverBootstrapJar)
-
- outputs.upToDateWhen {
- def version = new JsonSlurper().parseText(FileUtils.readFileToString(versionFile))
- return clientJar.exists() && serverBootstrapJar.exists() && validateChecksum(clientJar, version.downloads.client.sha1) && validateChecksum(serverBootstrapJar, version.downloads.server.sha1)
- }
-
- doLast {
- if (!versionFile.exists()) {
- throw new RuntimeException("Can't download the jars without the ${versionFile.name} file!")
- }
-
- //reload in case it changed
- def version = new JsonSlurper().parseText(FileUtils.readFileToString(versionFile))
-
- logger.lifecycle(":downloading minecraft jars")
-
- download {
- src new URL(version.downloads.client.url)
- dest clientJar
- overwrite false
- }
-
- download {
- src new URL(version.downloads.server.url)
- dest serverBootstrapJar
- overwrite false
- }
- }
-}
-
-task downloadIntermediary(type: Download) {
- group = buildMappingGroup
- def url = "https://github.com/FabricMC/intermediary/raw/master/mappings/${minecraft_version}.tiny"
- src com.google.common.net.UrlEscapers.urlFragmentEscaper().escape(url)
- dest new File(cacheFilesMinecraft, "${minecraft_version}-intermediary.tiny")
-}
-
-task downloadIntermediaryV2(type: Download) {
+tasks.register('downloadIntermediary', DownloadTask) {
group = buildMappingGroup
- def url = "https://maven.fabricmc.net/net/fabricmc/intermediary/${minecraft_version}/intermediary-${minecraft_version}-v2.jar"
- src com.google.common.net.UrlEscapers.urlFragmentEscaper().escape(url)
- dest new File(cacheFilesMinecraft, "${minecraft_version}-intermediary-v2.jar")
-
- def output = new File(cacheFilesMinecraft, "${minecraft_version}-intermediary-v2.tiny")
- outputs.file output
-
- doLast {
- copy {
- from({ zipTree(downloadIntermediaryV2.dest) }) {
- from 'mappings/mappings.tiny'
- rename 'mappings.tiny', "../${output.name}"
- }
-
- into output.parentFile
- }
- }
-}
-
-import java.util.zip.ZipFile
-
-// Extracts the real server jar from the boostrap jar
-task extractServerJar(dependsOn: downloadMcJars) {
- group = setupGroup
- inputs.file serverBootstrapJar
- outputs.file serverJar
-
- doLast {
- new ZipFile(serverBootstrapJar as File).withCloseable { zip ->
- def serverVersionsEntry = zip.getEntry("META-INF/versions.list")
-
- if (!serverVersionsEntry) {
- throw new RuntimeException("Could not find versions.list")
- }
-
- def jarPath = null
-
- zip.getInputStream(serverVersionsEntry).withCloseable { is ->
- def versions = is.text.split("\t")
- assert versions.length == 3
- jarPath = versions[2]
- }
-
- def serverJarEntry = zip.getEntry("META-INF/versions/${jarPath}")
-
- if (!serverJarEntry) {
- throw new RuntimeException("Failed to find server jar entry ${jarPath}")
- }
-
- zip.getInputStream(serverJarEntry).withCloseable { is ->
- serverJar.bytes = is.readAllBytes()
- }
- }
- }
-}
-
-task mergeJars(dependsOn: extractServerJar) {
- group = setupGroup
- inputs.files (serverJar, clientJar)
- outputs.file(mergedFile)
-
- doLast {
- logger.lifecycle(":merging jars")
-
- if (mergedFile.exists()) {
- return
- }
-
- def jarMerger = new JarMerger(clientJar, serverJar, mergedFile)
- jarMerger.merge()
- jarMerger.close()
- }
-
-}
-
-task downloadMcLibs(dependsOn: downloadWantedVersionManifest) {
- group = setupGroup
- inputs.files versionFile
-
- outputs.dir(libraries)
-
- outputs.upToDateWhen { false }
-
- doLast {
- if (!versionFile.exists()) {
- throw new RuntimeException("Can't download the jars without the ${versionFile.name} file!")
- }
-
- def version = new JsonSlurper().parseText(FileUtils.readFileToString(versionFile, StandardCharsets.UTF_8))
-
- logger.lifecycle(":downloading minecraft libraries")
-
- if (!libraries.exists()) {
- libraries.mkdirs()
- }
-
- version.libraries.each {
- if (it.downloads.artifact == null) return // TODO: happens for downloads.classifiers - implement properly?
-
- def downloadUrl = it.downloads.artifact.url
-
- download {
- src downloadUrl
- dest new File(libraries, downloadUrl.substring(downloadUrl.lastIndexOf("/") + 1))
- overwrite false
- }
-
- project.dependencies.add("decompileClasspath", it.name)
- }
- }
-}
-
-task invertIntermediary(dependsOn: downloadIntermediary, type: FileOutput) {
- group = buildMappingGroup
- def v1Input = downloadIntermediary.dest
-
- output = new File(cacheFilesMinecraft, "${minecraft_version}-intermediary-inverted.tiny")
- outputs.file(output)
-
- outputs.upToDateWhen { false }
-
- doLast {
- logger.lifecycle(":building inverted intermediary")
-
- String[] v1Args = [
- v1Input.getAbsolutePath(),
- output.getAbsolutePath(),
- "intermediary", "official"
- ]
-
- new CommandReorderTiny().run(v1Args)
- }
-}
-
-task invertIntermediaryv2(dependsOn: downloadIntermediaryV2, type: FileOutput) {
- group = buildMappingGroup
- def v2Input = new File(cacheFilesMinecraft, "${minecraft_version}-intermediary-v2.tiny")
-
- output = new File(cacheFilesMinecraft, "${minecraft_version}-intermediary-inverted-v2.tiny")
- outputs.file(output)
-
- outputs.upToDateWhen { false }
-
- doLast {
- logger.lifecycle(":building inverted intermediary v2")
-
- String[] v2Args = [
- v2Input.getAbsolutePath(),
- output.getAbsolutePath(),
- "intermediary", "official"
- ]
-
- new CommandReorderTinyV2().run(v2Args)
- }
-}
-
-task patchIntermediary(dependsOn: [mergeJars, downloadIntermediary]) {
- group = buildMappingGroup
- def intermediaryTinyInput = downloadIntermediary.outputs.files.singleFile
-
- def outputFile = new File(cacheFilesMinecraft, "${minecraft_version}-intermediary-full.tiny")
- outputs.file(outputFile)
-
- outputs.upToDateWhen { false }
-
- doLast {
- logger.lifecycle(":patching intermediary")
- String[] args = [
- mergedFile.getAbsolutePath(),
- intermediaryTinyInput.getAbsolutePath(),
- outputFile.getAbsolutePath(),
- "--writeAll"
- ]
-
- new CommandRewriteIntermediary().run(args)
- }
+ url = "https://github.com/FabricMC/intermediary/raw/master/mappings/${minecraft_version}.tiny"
+ output = new File(cacheFilesMinecraft, "${minecraft_version}-intermediary.tiny")
}
-task mapIntermediaryJar(type: MapJarTask, dependsOn: [downloadMcLibs, downloadIntermediary, mergeJars]) {
+tasks.register('mapIntermediaryJar', MapJarTask) {
+ dependsOn downloadIntermediary, mergeMinecraftJars
group = mapJarGroup
- output = intermediaryJar
- input = mergedFile
- mappings = downloadIntermediary.dest
- classpath.from fileTree(libraries)
+ output = file("${minecraft_version}-intermediary.jar")
+ input = mergeMinecraftJars.output
+ mappings = downloadIntermediary.output
+ classpath.from minecraftLibraries
from = 'official'
to = 'intermediary'
}
-task mapServerIntermediaryJar(type: MapJarTask, dependsOn: [downloadMcLibs, downloadIntermediary, extractServerJar]) {
+tasks.register('mapServerIntermediaryJar', MapJarTask) {
+ dependsOn downloadIntermediary, extractBundledServer
group = mapJarGroup
- output = serverIntermediaryJar
- input = serverJar
- mappings = downloadIntermediary.dest
- classpath.from fileTree(libraries)
+ output = file("${minecraft_version}-server-intermediary.jar")
+ input = extractBundledServer.output
+ mappings = downloadIntermediary.output
+ classpath.from minecraftLibraries
from = 'official'
to = 'intermediary'
}
-task yarnUnpicked(dependsOn: "unpickIntermediaryJar", type: EnigmaTask) {
- group = yarnGroup
- jar = unpickedJar
- mappings = mappingsDir
-}
-
-task yarn(dependsOn: mapIntermediaryJar, type: EnigmaTask) {
+tasks.register('yarn', EnigmaTask) {
+ dependsOn mapIntermediaryJar
group = yarnGroup
- jar = intermediaryJar
+ jar = mapIntermediaryJar.output
mappings = mappingsDir
}
-task yarnCommon(dependsOn: mapServerIntermediaryJar, type: EnigmaTask) {
+tasks.register('yarnCommon', EnigmaTask) {
group = yarnGroup
- jar = serverIntermediaryJar
+ jar = mapServerIntermediaryJar.output
mappings = mappingsDir
}
-task checkMappings(dependsOn: mapIntermediaryJar) {
+tasks.register('checkMappings') {
group = buildMappingGroup
inputs.dir mappingsDir
- doLast {
- logger.lifecycle(":checking mappings")
+ inputs.file mapIntermediaryJar.output
+
+ def intermediaryJarPath = mapIntermediaryJar.outputFile.absolutePath
+ doLast {
String[] args = [
- intermediaryJar.getAbsolutePath(),
- mappingsDir.getAbsolutePath()
+ intermediaryJarPath,
+ mappingsDir.getAbsolutePath()
]
try {
@@ -467,77 +174,41 @@ task checkMappings(dependsOn: mapIntermediaryJar) {
}
}
-task buildYarnTiny(dependsOn: mapIntermediaryJar, type: WithV2FileOutput) {
- group = buildMappingGroup
- inputs.dir mappingsDir
- if (!libs.exists()) {
- libs.mkdirs()
- }
-
- v1Output = new File(tempDir, "yarn-mappings.tiny")
- v2Output = new File(tempDir, "yarn-mappings-v2.tiny")
-
- outputs.upToDateWhen { false }
+tasks.register('mapSpecializedMethods', MapSpecializedMethodsTask) {
+ intermediaryJarFile = mapIntermediaryJar.output
+ mappings = mappingsDir
+ output = new File(tempDir, "yarn-mappings-v2.tiny")
- doLast {
- logger.lifecycle(":generating tiny mappings")
-
- new MapSpecializedMethodsCommand().run(
- intermediaryJar.getAbsolutePath(),
- "enigma",
- mappingsDir.getAbsolutePath(),
- "tinyv2:intermediary:named",
- v2Output.getAbsolutePath()
- )
+ inputMappingsFormat = "enigma"
+ outputMappingsFormat = "tinyv2:intermediary:named"
+}
- new ConvertMappingsCommand().run(
- "tinyv2",
- v2Output.getAbsolutePath(),
- "tiny:intermediary:named",
- v1Output.getAbsolutePath())
- }
+tasks.register('convertToV1', ConvertMappingsTask) {
+ input = mapSpecializedMethods.output
+ output = new File(tempDir, "yarn-mappings.tiny")
+ outputFormat = MappingFormat.TINY
}
-task mergeTiny(dependsOn: ["buildYarnTiny", "invertIntermediary"], type: FileOutput) {
+tasks.register('mergeTiny', MergeMappingsTask) {
group = buildMappingGroup
- def yarnTinyInput = buildYarnTiny.v1Output
- def intermediaryTinyInput = invertIntermediary.output
-
- def unorderedResultMappings = new File(tempDir, "mappings-unordered.tiny")
output = new File(tempDir, "mappings.tiny")
- outputs.file(output)
-
- outputs.upToDateWhen { false }
-
- doLast {
- logger.lifecycle(":merging yarn and intermediary")
- String[] args = [
- intermediaryTinyInput.getAbsolutePath(),
- yarnTinyInput.getAbsolutePath(),
- unorderedResultMappings.getAbsolutePath(),
- "intermediary",
- "official"
- ]
-
- new CommandMergeTiny().run(args)
-
- logger.lifecycle(":reordering merged intermediary")
- String[] args2 = [
- unorderedResultMappings.getAbsolutePath(),
- output.getAbsolutePath(),
- "official", "intermediary", "named"
- ]
+ mappingInputs.from downloadIntermediary.output
+ mappingInputs.from convertToV1.output
+ outputFormat = MappingFormat.TINY
+}
- new CommandReorderTiny().run(args2)
- }
+// Disable the default jar task
+jar {
+ enabled = false
}
-task tinyJar(type: Jar, dependsOn: mergeTiny) {
+tasks.register('tinyJar', Jar) {
+ dependsOn mergeTiny
group = buildMappingGroup
- outputs.upToDateWhen { false }
archiveFileName = "yarn-${yarnVersion}.jar"
destinationDirectory.set(file("build/libs"))
- classifier = ""
+ archiveClassifier = ""
+
from(mergeTiny.output) {
rename { "mappings/mappings.tiny" }
}
@@ -546,19 +217,14 @@ task tinyJar(type: Jar, dependsOn: mergeTiny) {
}
}
-task compressTiny(dependsOn: [tinyJar, mergeTiny], type: FileOutput) {
+tasks.register('compressTiny', FileInputOutput) {
+ dependsOn tinyJar, mergeTiny
group = buildMappingGroup
- def outputFile = new File(libs, "yarn-tiny-${yarnVersion}.gz")
- outputs.file(outputFile)
- output = outputFile
- def inputFile = mergeTiny.output
-
- outputs.upToDateWhen { false }
+ input = mergeTiny.output
+ output = new File(libs, "yarn-tiny-${yarnVersion}.gz")
doLast {
- logger.lifecycle(":compressing tiny mappings")
-
def buffer = new byte[1024]
def fileOutputStream = new FileOutputStream(outputFile)
def outputStream = new GZIPOutputStream(fileOutputStream)
@@ -579,103 +245,46 @@ clean.doFirst {
delete tempDir, cacheFilesMinecraft
}
-tasks.build.dependsOn "compressTiny","tinyJar","v2UnmergedYarnJar", "v2MergedYarnJar", "javadocJar"
-
-task exportMappingsOfficial(dependsOn: downloadIntermediary) {
- def composeInput = downloadIntermediary.dest
-
- doLast {
- logger.lifecycle(":exporting mappings")
- String[] args = [
- "tiny",
- composeInput.getAbsolutePath(),
- "enigma",
- file("mappings/").getAbsolutePath(),
- "enigma",
- file("mappings_official/").getAbsolutePath(),
- "right"
- ]
-
- new ComposeMappingsCommand().run(args)
- }
+sourceSets {
+ constants
+ packageDocs // package info files
}
-task importMappingsOfficial(dependsOn: invertIntermediary) {
- def composeInput = invertIntermediary.output
-
- doLast {
- logger.lifecycle(":importing mappings")
- String[] args = [
- "tiny",
- composeInput.getAbsolutePath(),
- "enigma",
- file("mappings_official/").getAbsolutePath(),
- "enigma",
- file("mappings/").getAbsolutePath(),
- "right"
- ]
-
- new ComposeMappingsCommand().run(args)
- }
+tasks.register('constantsJar', Jar) {
+ from sourceSets.constants.output
+ archiveClassifier = "constants"
}
+tasks.build.dependsOn "compressTiny","tinyJar","v2UnmergedYarnJar", "v2MergedYarnJar", "javadocJar"
+
combineUnpickDefinitions {
group = 'unpick'
input = file('unpick-definitions')
output = new File(tempDir, 'definitions.unpick')
}
-remapUnpickDefinitionsIntermediary {
- dependsOn buildYarnTiny
- group = 'unpick'
- output = new File(tempDir, 'intermediary-definitions.unpick')
- mappings = buildYarnTiny.v2Output
-}
-
-task unpickIntermediaryJar(type: JavaExec, dependsOn: [mapIntermediaryJar, "constantsJar", remapUnpickDefinitionsIntermediary]) {
- outputs.upToDateWhen { false }
- group "unpick"
-
- mainClass = "daomephsta.unpick.cli.Main"
- systemProperty "java.util.logging.config.file", file('unpick-logging.properties')
- classpath configurations.unpick
-
- doFirst {
- args intermediaryJar.absolutePath, unpickedJar.absolutePath, remapUnpickDefinitionsIntermediary.output.get().asFile.absolutePath, constantsJar.archiveFile.get().asFile.absolutePath
-
- configurations.decompileClasspath.files.each {
- args it.absolutePath
- }
- }
-}
-
// Setup the build for the unpicked constants
-sourceCompatibility = JavaVersion.VERSION_17
-targetCompatibility = JavaVersion.VERSION_17
+java {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
it.options.release = 17
}
-sourceSets {
- constants
- packageDocs // package info files
-}
-
spotless {
+ lineEndings = com.diffplug.spotless.LineEnding.UNIX
+
java {
licenseHeaderFile(rootProject.file("HEADER"))
}
}
-task constantsJar(type: Jar) {
- from sourceSets.constants.output
- archiveClassifier = "constants"
-}
-
-task sourcesJar(type: Jar, dependsOn: classes) {
+tasks.register('sourcesJar', Jar) {
+ dependsOn classes
archiveClassifier = "sources"
from sourceSets.constants.allSource
}
@@ -684,68 +293,71 @@ task sourcesJar(type: Jar, dependsOn: classes) {
build.dependsOn constantsJar
-task insertAutoGeneratedEnumMappings(dependsOn : [buildYarnTiny,mapIntermediaryJar], type : FileOutput){
+tasks.register('insertAutoGeneratedEnumMappings', FileInputOutput) {
+ dependsOn mapIntermediaryJar, downloadIntermediary
group = buildMappingGroup
- File noEnumV2 = buildYarnTiny.v2Output
+ input = mapSpecializedMethods.output
output = new File(tempDir, "unmerged-named-v2-with-enum.tiny")
- outputs.upToDateWhen { false }
+ inputs.file mapIntermediaryJar.output
+ inputs.file downloadIntermediary.output
- doLast {
- logger.lifecycle(":seeking auto-mappable fields for unmerged mappings")
+ def intermediaryJarPath = mapIntermediaryJar.outputPath
+ def intermediaryMappingsPath = downloadIntermediary.outputPath
+ doLast {
MappingNameCompleter.completeNames(
- intermediaryJar.toPath(),
- noEnumV2.toPath(),
- downloadIntermediary.dest.toPath(),
- output.toPath()
+ intermediaryJarPath,
+ inputPath,
+ intermediaryMappingsPath,
+ outputPath
)
}
}
-task mergeV2(dependsOn: ["v2UnmergedYarnJar", "invertIntermediaryv2"], type: FileOutput) {
- def mergedV2 = new File(tempDir, "merged-v2.tiny");
-
- output = new File(tempDir, "merged-reordered-v2.tiny")
- outputs.upToDateWhen { false }
+remapUnpickDefinitionsIntermediary {
+ group = 'unpick'
+ output = new File(tempDir, 'intermediary-definitions.unpick')
+ mappings = insertAutoGeneratedEnumMappings.output
+}
- doLast {
- logger.lifecycle(":merging yarn and intermediary v2")
- String[] args = [
- invertIntermediaryv2.output.getAbsolutePath(),
- insertAutoGeneratedEnumMappings.output.getAbsolutePath(),
- mergedV2.getAbsolutePath(),
- "intermediary",
- "official"
- ]
+tasks.register('unpickIntermediaryJar', UnpickJarTask) {
+ group = 'unpick'
+ input = mapIntermediaryJar.output
+ output = file("${minecraft_version}-intermediary-unpicked.jar")
+ unpickDefinition = remapUnpickDefinitionsIntermediary.output
+ constantsJarFile = constantsJar.archiveFile
+ classpath.from minecraftLibraries
+}
- new CommandMergeTinyV2().run(args)
+tasks.register('yarnUnpicked', EnigmaTask) {
+ dependsOn "unpickIntermediaryJar"
+ group = yarnGroup
+ jar = unpickIntermediaryJar.output
+ mappings = mappingsDir
+}
- //Reorder the mappings to match the output of loom
- args = [
- mergedV2.getAbsolutePath(),
- output.getAbsolutePath(),
- "official",
- "intermediary",
- "named"
- ]
- new CommandReorderTinyV2().run(args)
- }
+tasks.register('mergeV2', MergeMappingsTask) {
+ group = buildMappingGroup
+ output = new File(tempDir, "merged-v2.tiny")
+ mappingInputs.from downloadIntermediary.output
+ mappingInputs.from insertAutoGeneratedEnumMappings.output
+ outputFormat = MappingFormat.TINY_2
}
-task v2UnmergedYarnJar(dependsOn: [insertAutoGeneratedEnumMappings, combineUnpickDefinitions], type: Jar) {
+tasks.register('v2UnmergedYarnJar', Jar) {
+ dependsOn insertAutoGeneratedEnumMappings, combineUnpickDefinitions
def mappings = insertAutoGeneratedEnumMappings.output
group = "mapping build"
- outputs.upToDateWhen { false }
archiveFileName = "yarn-${yarnVersion}-v2.jar"
from(file(mappings)) {
- rename mappings.name, "mappings/mappings.tiny"
+ rename mappings.get().asFile.name, "mappings/mappings.tiny"
}
from(combineUnpickDefinitions.output) {
rename combineUnpickDefinitions.output.get().asFile.name, "extras/definitions.unpick"
}
- from (file(unpickMetaFile)) {
+ from(file(unpickMetaFile)) {
expand version: project.unpick_version
rename unpickMetaFile.name, "extras/unpick.json"
}
@@ -755,10 +367,10 @@ task v2UnmergedYarnJar(dependsOn: [insertAutoGeneratedEnumMappings, combineUnpic
}
}
-task v2MergedYarnJar(dependsOn: ["mergeV2"], type: Jar) {
- def mappings = mergeV2.output
+tasks.register('v2MergedYarnJar', Jar) {
+ dependsOn mergeV2
+ def mappings = mergeV2.outputFile
group = "mapping build"
- outputs.upToDateWhen { false }
archiveFileName = "yarn-${yarnVersion}-mergedv2.jar"
from(file(mappings)) {
@@ -767,7 +379,7 @@ task v2MergedYarnJar(dependsOn: ["mergeV2"], type: Jar) {
from(combineUnpickDefinitions.output) {
rename combineUnpickDefinitions.output.get().asFile.name, "extras/definitions.unpick"
}
- from (file(unpickMetaFile)) {
+ from(file(unpickMetaFile)) {
expand version: project.unpick_version
rename unpickMetaFile.name, "extras/unpick.json"
}
@@ -777,52 +389,64 @@ task v2MergedYarnJar(dependsOn: ["mergeV2"], type: Jar) {
}
}
-task mapNamedJar(type: MapJarTask, dependsOn: ["mergeV2", "unpickIntermediaryJar"]) {
+tasks.register('mapNamedJar', MapJarTask) {
+ dependsOn mergeV2, unpickIntermediaryJar
group = mapJarGroup
- output = namedJar
- input = unpickedJar
+ output = file("${minecraft_version}-named.jar")
+ input = unpickIntermediaryJar.output
mappings = mergeV2.output
- classpath.from fileTree(libraries)
+ classpath.from minecraftLibraries
from = 'intermediary'
to = 'named'
classMappings = [
- "javax/annotation/Nullable": "org/jetbrains/annotations/Nullable",
- "javax/annotation/Nonnull": "org/jetbrains/annotations/NotNull",
- "javax/annotation/concurrent/Immutable": "org/jetbrains/annotations/Unmodifiable"
+ "javax/annotation/Nullable" : "org/jetbrains/annotations/Nullable",
+ "javax/annotation/Nonnull" : "org/jetbrains/annotations/NotNull",
+ "javax/annotation/concurrent/Immutable": "org/jetbrains/annotations/Unmodifiable"
]
}
+def mcLibsDir = file('build/tmp/mclibs')
+
+// Task to copy all the mc libs into a single directory.
+tasks.register('syncDependencies', Sync) {
+ from minecraftLibraries
+ into mcLibsDir
+}
+
def fakeSourceDir = file(".gradle/temp/fakeSource")
-task genFakeSource(type: JavaExec, dependsOn: ["mergeV2", "mapNamedJar"]) {
+tasks.register('genFakeSource', JavaExec) {
+ dependsOn mergeV2, mapNamedJar, syncDependencies
group = "javadoc generation"
- outputs.upToDateWhen { false }
+
+ inputs.file mergeV2.output
+ inputs.file mapNamedJar.output
+ inputs.dir mcLibsDir
+
+ outputs.dir fakeSourceDir
mainClass = "net.fabricmc.mappingpoet.Main"
classpath configurations.mappingPoet
// use merged v2 so we have all namespaces in jd
- args mergeV2.output.getAbsolutePath(), namedJar.getAbsolutePath(), fakeSourceDir.getAbsolutePath(), libraries.getAbsolutePath()
-
- doLast {
- logger.lifecycle ":Fake source generated"
- }
+ args mergeV2.outputFile.getAbsolutePath(), mapNamedJar.outputFile.getAbsolutePath(), fakeSourceDir.getAbsolutePath(), mcLibsDir.getAbsolutePath()
}
-task decompileCFR(type: JavaExec, dependsOn: [mapNamedJar]) {
- mainClass = "org.benf.cfr.reader.Main"
+tasks.register('decompileCFR', JavaExec) {
+ def outputDir = file("namedSrc")
- args namedJar.getAbsolutePath(), "--outputdir", file("namedSrc").absolutePath
+ dependsOn mapNamedJar
+ mainClass = "org.benf.cfr.reader.Main"
+ classpath.from configurations.decompileClasspath
+ classpath.from minecraftLibraries
+ args mapNamedJar.outputFile.getAbsolutePath(), "--outputdir", outputDir.absolutePath
doFirst {
- file("namedSrc").deleteDir()
- classpath = configurations.decompileClasspath
+ outputDir.deleteDir()
}
}
javadoc {
dependsOn genFakeSource
- dependsOn downloadMcLibs
group = "javadoc generation"
- outputs.upToDateWhen { false }
def mappingPoetJar = project.provider { zipTree configurations.mappingPoetJar.singleFile }
@@ -849,16 +473,17 @@ javadoc {
addBooleanOption "-allow-script-in-comments", true
addBooleanOption "-ignore-source-errors", true
links(
- 'https://guava.dev/releases/31.0-jre/api/docs/',
- 'https://www.javadoc.io/doc/com.google.code.gson/gson/2.8.9/',
+ 'https://guava.dev/releases/31.1-jre/api/docs/',
+ 'https://www.javadoc.io/doc/com.google.code.gson/gson/2.10/',
'https://logging.apache.org/log4j/2.x/log4j-api/apidocs/',
'https://www.slf4j.org/apidocs/',
"https://javadoc.io/doc/org.jetbrains/annotations/${project.jetbrains_annotations_version}/",
'https://javadoc.lwjgl.org/',
'https://fastutil.di.unimi.it/docs/',
+ 'https://javadoc.scijava.org/JOML/',
'https://netty.io/4.1/api/',
'https://www.oshi.ooo/oshi-core-java11/apidocs/',
- 'https://java-native-access.github.io/jna/5.10.0/javadoc/',
+ 'https://java-native-access.github.io/jna/5.12.1/javadoc/',
'https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/',
'https://jopt-simple.github.io/jopt-simple/apidocs/',
'https://solutions.weblite.ca/java-objective-c-bridge/docs/',
@@ -878,27 +503,33 @@ javadoc {
addBooleanOption 'Xdoclint:accessibility', true
}
source fileTree(fakeSourceDir) + sourceSets.constants.allJava + sourceSets.packageDocs.allJava
- classpath = configurations.javadocClasspath.plus downloadMcLibs.outputs.files.asFileTree
+ classpath = configurations.javadocClasspath.plus minecraftLibraries
+
+ def fs = services.get(FileSystemOperations.class)
+ def outputDir = javadoc.outputDirectory
doLast {
- project.copy {
+ fs.copy {
from mappingPoetJar
include "copy_on_click.js"
- into javadoc.outputDirectory
+ into outputDir
}
}
+ def tagletClasspath = configurations.mappingPoet.files.toList()
+
doFirst {
// lazy setting
options {
- tagletPath configurations.mappingPoet.files.toList()
+ tagletPath tagletClasspath
header mappingPoetJar.get().filter { it.name == 'javadoc_header.txt' }.singleFile.text.trim() // cannot include line breaks
addFileOption "-add-stylesheet", mappingPoetJar.get().filter { it.name == 'forms.css' }.singleFile
}
}
}
-task javadocJar(type: Jar, dependsOn: ["javadoc"]) {
+tasks.register('javadocJar', Jar) {
+ dependsOn javadoc
group = "javadoc generation"
from javadoc.destinationDir
@@ -908,8 +539,7 @@ task javadocJar(type: Jar, dependsOn: ["javadoc"]) {
}
generatePackageInfoMappings {
- dependsOn mapIntermediaryJar
- inputJar = intermediaryJar
+ inputJar = mapIntermediaryJar.output
packageName = "net/minecraft/unused/packageinfo/"
outputDir = file("mappings/net/minecraft/unused/packageinfo")
}
@@ -961,7 +591,7 @@ publishing {
}
// A task to ensure that the version being released has not already been released.
-task checkVersion {
+tasks.register('checkVersion') {
doFirst {
def xml = new URL("https://maven.fabricmc.net/net/fabricmc/yarn/maven-metadata.xml").text
def metadata = new XmlSlurper().parseText(xml)
@@ -974,29 +604,14 @@ task checkVersion {
publish.mustRunAfter checkVersion
-class FileOutput extends DefaultTask {
- @OutputFile
- File output
-}
-class FileOutputInput extends DefaultTask {
- @InputFile
- File input
-
- @OutputFile
- File output
-}
-
-class WithV2FileOutput extends DefaultTask {
- @OutputFile
- File v1Output
- @OutputFile
- File v2Output
+abstract class FileInputOutput extends DefaultTask implements WithFileInput, WithFileOutput {
}
+@DisableCachingByDefault
abstract class EnigmaTask extends JavaExec {
- @Input
- abstract Property getJar()
+ @InputFile
+ abstract RegularFileProperty getJar()
@Input
abstract Property getMappings()
@@ -1004,17 +619,17 @@ abstract class EnigmaTask extends JavaExec {
EnigmaTask() {
classpath = project.configurations.enigmaRuntime
mainClass.set('cuchaz.enigma.gui.Main')
+ jvmArgs "-Xmx2048m"
}
@TaskAction
void exec() {
args '-jar'
- args jar.get().absolutePath
+ args jar.get().asFile.absolutePath
args '-mappings'
args mappings.get().absolutePath
args '-profile'
args 'enigma_profile.json'
- jvmArgs "-Xmx2048m"
super.exec()
}
}
diff --git a/filament/build.gradle b/filament/build.gradle
index 54f6af479b..0b1840a463 100644
--- a/filament/build.gradle
+++ b/filament/build.gradle
@@ -1,11 +1,18 @@
+import org.gradle.util.GradleVersion
+
plugins {
id 'java-library'
id 'java-gradle-plugin'
id 'checkstyle'
+ id 'maven-publish'
}
group = 'net.fabricmc'
+version = project.filament_version
+
+def ENV = System.getenv()
+// Needed to read the main projects properties
def properties = new Properties()
file('../gradle.properties').newInputStream().withCloseable {
properties.load(it)
@@ -17,16 +24,26 @@ repositories {
url 'https://maven.fabricmc.net'
}
mavenCentral()
+ mavenLocal()
}
dependencies {
implementation "org.ow2.asm:asm:${properties.asm_version}"
implementation "org.ow2.asm:asm-tree:${properties.asm_version}"
implementation "cuchaz:enigma:$properties.enigma_version"
+ implementation "cuchaz:enigma-cli:$properties.enigma_version"
implementation "net.fabricmc.unpick:unpick:$properties.unpick_version"
implementation "net.fabricmc.unpick:unpick-format-utils:$properties.unpick_version"
- implementation "net.fabricmc:tiny-mappings-parser:$properties.tiny_mappings_parser_version"
+ implementation "net.fabricmc.unpick:unpick-cli:$properties.unpick_version"
implementation "net.fabricmc:tiny-remapper:$properties.tiny_remapper_version"
+ implementation "net.fabricmc:mappingpoet:$properties.mappingpoet_version"
+ implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4.2'
+ implementation 'net.fabricmc:mapping-io:0.4.0'
+
+ // Contains a number of useful utilities we can re-use.
+ implementation ("net.fabricmc:fabric-loom:1.2.7") {
+ transitive = false
+ }
testImplementation platform("org.junit:junit-bom:$properties.junit_version")
testImplementation 'org.junit.jupiter:junit-jupiter'
@@ -54,4 +71,40 @@ gradlePlugin {
implementationClass = 'net.fabricmc.filament.FilamentGradlePlugin'
}
}
+}
+
+publishing {
+ repositories {
+ if (ENV.MAVEN_URL) {
+ repositories.maven {
+ name "fabric"
+ url ENV.MAVEN_URL
+ credentials {
+ username ENV.MAVEN_USERNAME
+ password ENV.MAVEN_PASSWORD
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Run this task to download the gradle sources next to the api jar, you may need to manually attach the sources jar
+ */
+task downloadGradleSources() {
+ doLast {
+ // Awful hack to find the gradle api location
+ def gradleApiFile = project.configurations.detachedConfiguration(dependencies.gradleApi()).files.stream()
+ .filter {
+ it.name.startsWith("gradle-api")
+ }.findFirst().orElseThrow()
+
+ def gradleApiSources = new File(gradleApiFile.absolutePath.replace(".jar", "-sources.jar"))
+ def url = "https://services.gradle.org/distributions/gradle-${GradleVersion.current().getVersion()}-src.zip"
+
+ gradleApiSources.delete()
+
+ println("Downloading (${url}) to (${gradleApiSources})")
+ gradleApiSources << new URL(url).newInputStream()
+ }
}
\ No newline at end of file
diff --git a/filament/gradle.properties b/filament/gradle.properties
new file mode 100644
index 0000000000..36fb6e54dc
--- /dev/null
+++ b/filament/gradle.properties
@@ -0,0 +1 @@
+filament_version=0.6.2
\ No newline at end of file
diff --git a/filament/src/main/java/net/fabricmc/filament/FilamentExtension.java b/filament/src/main/java/net/fabricmc/filament/FilamentExtension.java
new file mode 100644
index 0000000000..8986c109fa
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/FilamentExtension.java
@@ -0,0 +1,56 @@
+package net.fabricmc.filament;
+
+import java.io.File;
+
+import javax.inject.Inject;
+
+import org.gradle.api.Project;
+import org.gradle.api.file.Directory;
+import org.gradle.api.file.DirectoryProperty;
+import org.gradle.api.file.RegularFile;
+import org.gradle.api.provider.Property;
+import org.gradle.api.provider.Provider;
+
+import net.fabricmc.filament.util.MinecraftVersionMetaHelper;
+import net.fabricmc.loom.configuration.providers.minecraft.MinecraftVersionMeta;
+
+public abstract class FilamentExtension {
+ public static FilamentExtension get(Project project) {
+ return project.getExtensions().getByType(FilamentExtension.class);
+ }
+
+ @Inject
+ protected abstract Project getProject();
+
+ public abstract Property getMinecraftVersion();
+
+ public abstract Property getMinecraftVersionManifestUrl();
+
+ private final MinecraftVersionMetaHelper metaHelper;
+ private final Provider metaProvider;
+
+ @Inject
+ public FilamentExtension() {
+ getMinecraftVersion().finalizeValueOnRead();
+ getMinecraftVersionManifestUrl().convention("https://piston-meta.mojang.com/mc/game/version_manifest_v2.json").finalizeValueOnRead();
+
+ metaHelper = getProject().getObjects().newInstance(MinecraftVersionMetaHelper.class, this);
+ metaProvider = getProject().provider(metaHelper::setup);
+ }
+
+ public DirectoryProperty getCacheDirectory() {
+ return getProject().getObjects().directoryProperty().fileValue(new File(getProject().getRootDir(), ".gradle/filament"));
+ }
+
+ public Provider getMinecraftDirectory() {
+ return getCacheDirectory().dir(getMinecraftVersion());
+ }
+
+ public Provider getMinecraftFile(String filename) {
+ return getMinecraftDirectory().map(directory -> directory.file(filename));
+ }
+
+ public Provider getMinecraftVersionMetadata() {
+ return metaProvider;
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/FilamentGradlePlugin.java b/filament/src/main/java/net/fabricmc/filament/FilamentGradlePlugin.java
index e7450ee45c..64705e5c22 100644
--- a/filament/src/main/java/net/fabricmc/filament/FilamentGradlePlugin.java
+++ b/filament/src/main/java/net/fabricmc/filament/FilamentGradlePlugin.java
@@ -1,25 +1,96 @@
package net.fabricmc.filament;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
+import org.gradle.api.artifacts.Dependency;
+import org.gradle.api.artifacts.dsl.DependencyHandler;
+import org.gradle.api.file.RegularFile;
+import org.gradle.api.provider.Provider;
+import org.gradle.api.tasks.Delete;
+import org.gradle.api.tasks.TaskContainer;
+import org.gradle.api.tasks.TaskProvider;
import net.fabricmc.filament.task.CombineUnpickDefinitionsTask;
+import net.fabricmc.filament.task.DownloadTask;
import net.fabricmc.filament.task.GeneratePackageInfoMappingsTask;
import net.fabricmc.filament.task.JavadocLintTask;
import net.fabricmc.filament.task.RemapUnpickDefinitionsTask;
+import net.fabricmc.filament.task.base.WithFileOutput;
+import net.fabricmc.filament.task.minecraft.ExtractBundledServerTask;
+import net.fabricmc.filament.task.minecraft.MergeMinecraftTask;
+import net.fabricmc.loom.configuration.providers.minecraft.MinecraftVersionMeta;
+import net.fabricmc.loom.util.gradle.GradleUtils;
public final class FilamentGradlePlugin implements Plugin {
+ public static final ObjectMapper OBJECT_MAPPER = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
@Override
public void apply(Project project) {
- project.getTasks().register("generatePackageInfoMappings", GeneratePackageInfoMappingsTask.class);
- project.getTasks().register("javadocLint", JavadocLintTask.class);
+ final FilamentExtension extension = project.getExtensions().create("filament", FilamentExtension.class);
+ final TaskContainer tasks = project.getTasks();
+
+ var metaProvider = extension.getMinecraftVersionMetadata();
+
+ var minecraftClient = tasks.register("downloadMinecraftClientJar", DownloadTask.class, task -> {
+ Provider downloadProvider = metaProvider.map(meta -> meta.download("client"));
+ task.getUrl().set(downloadProvider.map(MinecraftVersionMeta.Download::url));
+ task.getSha1().set(downloadProvider.map(MinecraftVersionMeta.Download::sha1));
+
+ task.getOutput().set(extension.getMinecraftFile("client.jar"));
+ });
+ var minecraftServer = tasks.register("downloadMinecraftServerJar", DownloadTask.class, task -> {
+ Provider downloadProvider = metaProvider.map(meta -> meta.download("server"));
+ task.getUrl().set(downloadProvider.map(MinecraftVersionMeta.Download::url));
+ task.getSha1().set(downloadProvider.map(MinecraftVersionMeta.Download::sha1));
+
+ task.getOutput().set(extension.getMinecraftFile("server_bundle.jar"));
+ });
+ var extractBundledServer = tasks.register("extractBundledServer", ExtractBundledServerTask.class, task -> {
+ task.dependsOn(minecraftServer);
+ task.getInput().set(getOutput(minecraftServer));
+ task.getOutput().set(extension.getMinecraftFile("server.jar"));
+ });
+ tasks.register("mergeMinecraftJars", MergeMinecraftTask.class, task -> {
+ task.getClientJar().set(getOutput(minecraftClient));
+ task.getServerJar().set(getOutput(extractBundledServer));
+
+ task.getOutput().set(extension.getMinecraftFile("merged.jar"));
+ });
+ tasks.register("generatePackageInfoMappings", GeneratePackageInfoMappingsTask.class);
+ tasks.register("javadocLint", JavadocLintTask.class);
- var combineUnpickDefinitions = project.getTasks().register("combineUnpickDefinitions", CombineUnpickDefinitionsTask.class);
- project.getTasks().register("remapUnpickDefinitionsIntermediary", RemapUnpickDefinitionsTask.class, task -> {
+ var combineUnpickDefinitions = tasks.register("combineUnpickDefinitions", CombineUnpickDefinitionsTask.class);
+ tasks.register("remapUnpickDefinitionsIntermediary", RemapUnpickDefinitionsTask.class, task -> {
task.dependsOn(combineUnpickDefinitions);
task.getInput().set(combineUnpickDefinitions.flatMap(CombineUnpickDefinitionsTask::getOutput));
task.getSourceNamespace().set("named");
task.getTargetNamespace().set("intermediary");
});
+
+ var cleanFilament = tasks.register("cleanFilament", Delete.class, task -> task.delete(extension.getCacheDirectory()));
+ tasks.named("clean", task -> task.dependsOn(cleanFilament));
+
+ var minecraftLibraries = project.getConfigurations().register("minecraftLibraries");
+
+ GradleUtils.afterSuccessfulEvaluation(project, () -> {
+ var name = minecraftLibraries.getName();
+
+ for (Dependency dependency : getDependencies(metaProvider.get(), project.getDependencies())) {
+ project.getDependencies().add(name, dependency);
+ }
+ });
+ }
+
+ private Provider extends RegularFile> getOutput(TaskProvider extends WithFileOutput> taskProvider) {
+ return taskProvider.flatMap(WithFileOutput::getOutput);
+ }
+
+ private Dependency[] getDependencies(MinecraftVersionMeta meta, DependencyHandler dependencyHandler) {
+ return meta.libraries().stream()
+ .filter(library -> library.artifact() != null)
+ .map(library -> dependencyHandler.create(library.name()))
+ .toArray(Dependency[]::new);
}
}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/DownloadTask.java b/filament/src/main/java/net/fabricmc/filament/task/DownloadTask.java
new file mode 100644
index 0000000000..fdee2b91d8
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/DownloadTask.java
@@ -0,0 +1,70 @@
+package net.fabricmc.filament.task;
+
+import java.net.URISyntaxException;
+
+import javax.inject.Inject;
+
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.provider.Property;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.TaskAction;
+import org.gradle.workers.WorkAction;
+import org.gradle.workers.WorkParameters;
+import org.gradle.workers.WorkQueue;
+import org.gradle.workers.WorkerExecutor;
+
+import net.fabricmc.filament.task.base.FilamentTask;
+import net.fabricmc.filament.task.base.WithFileOutput;
+import net.fabricmc.loom.util.download.Download;
+import net.fabricmc.loom.util.download.DownloadException;
+
+public abstract class DownloadTask extends FilamentTask implements WithFileOutput {
+ @Input
+ public abstract Property getUrl();
+ @Input
+ public abstract Property getSha1();
+
+ @Inject
+ protected abstract WorkerExecutor getWorkerExecutor();
+
+ @Inject
+ public DownloadTask() {
+ getSha1().convention("");
+ }
+
+ @TaskAction
+ public void run() {
+ WorkQueue workQueue = getWorkerExecutor().noIsolation();
+ workQueue.submit(DownloadAction.class, parameters -> {
+ parameters.getUrl().set(getUrl());
+ parameters.getSha1().set(getSha1());
+ parameters.getOutput().set(getOutput());
+ });
+ }
+
+ public interface DownloadParameters extends WorkParameters {
+ Property getUrl();
+ Property getSha1();
+ RegularFileProperty getOutput();
+ }
+
+ public abstract static class DownloadAction implements WorkAction {
+ @Override
+ public void execute() {
+ try {
+ var sha1 = getParameters().getSha1().get();
+ var download = Download.create(getParameters().getUrl().get());
+
+ if (!sha1.isEmpty()) {
+ download.sha1(sha1);
+ } else {
+ download.defaultCache();
+ }
+
+ download.downloadPath(getParameters().getOutput().get().getAsFile().toPath());
+ } catch (DownloadException | URISyntaxException e) {
+ throw new RuntimeException("Failed to download", e);
+ }
+ }
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/JavadocLintTask.java b/filament/src/main/java/net/fabricmc/filament/task/JavadocLintTask.java
index dcfec32d7d..19c1552a79 100644
--- a/filament/src/main/java/net/fabricmc/filament/task/JavadocLintTask.java
+++ b/filament/src/main/java/net/fabricmc/filament/task/JavadocLintTask.java
@@ -56,10 +56,18 @@ public JavadocLintTask() {
@TaskAction
public void run(InputChanges changes) {
+ List fileChanges = new ArrayList<>();
+ changes.getFileChanges(mappingDirectory).forEach(fileChanges::add);
+
+ if (fileChanges.isEmpty()) {
+ // Nothing changed, nothing to do!
+ return;
+ }
+
WorkQueue workQueue = getWorkerExecutor().noIsolation();
workQueue.submit(LintAction.class, parameters -> {
- for (FileChange change : changes.getFileChanges(mappingDirectory)) {
+ for (FileChange change : fileChanges) {
if (change.getChangeType() != ChangeType.REMOVED && change.getFileType() == FileType.FILE) {
parameters.getMappingFiles().from(change.getFile());
}
@@ -104,7 +112,7 @@ public LintAction() {
@Override
public void execute() {
try {
- var files = FileUtil.toPaths(getParameters().getMappingFiles().getFiles()).toArray(new Path[0]);
+ Path[] files = FileUtil.toPaths(getParameters().getMappingFiles().getFiles()).toArray(new Path[0]);
EntryTree mappings = EnigmaMappingsReader.readFiles(ProgressListener.none(), files);
List errors = new ArrayList<>();
diff --git a/filament/src/main/java/net/fabricmc/filament/task/MapJarTask.java b/filament/src/main/java/net/fabricmc/filament/task/MapJarTask.java
index 531078e25c..9f833ab05d 100644
--- a/filament/src/main/java/net/fabricmc/filament/task/MapJarTask.java
+++ b/filament/src/main/java/net/fabricmc/filament/task/MapJarTask.java
@@ -1,5 +1,6 @@
package net.fabricmc.filament.task;
+import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -11,8 +12,6 @@
import org.gradle.api.DefaultTask;
import org.gradle.api.file.ConfigurableFileCollection;
import org.gradle.api.file.FileSystemLocation;
-import org.gradle.api.file.FileVisitDetails;
-import org.gradle.api.file.FileVisitor;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.provider.MapProperty;
import org.gradle.api.provider.Property;
@@ -20,21 +19,20 @@
import org.gradle.api.tasks.Classpath;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.InputFile;
-import org.gradle.api.tasks.OutputFile;
import org.gradle.api.tasks.TaskAction;
import org.gradle.workers.WorkAction;
import org.gradle.workers.WorkParameters;
import org.gradle.workers.WorkQueue;
import org.gradle.workers.WorkerExecutor;
+import net.fabricmc.filament.task.base.WithFileInput;
+import net.fabricmc.filament.task.base.WithFileOutput;
import net.fabricmc.tinyremapper.OutputConsumerPath;
import net.fabricmc.tinyremapper.TinyRemapper;
import net.fabricmc.tinyremapper.TinyUtils;
-public abstract class MapJarTask extends DefaultTask {
- @InputFile public abstract RegularFileProperty getInput();
+public abstract class MapJarTask extends DefaultTask implements WithFileOutput, WithFileInput {
@InputFile public abstract RegularFileProperty getMappings();
- @OutputFile public abstract RegularFileProperty getOutput();
@Classpath public abstract ConfigurableFileCollection getClasspath();
@Input public abstract Property getFrom();
@Input public abstract Property getTo();
@@ -49,8 +47,6 @@ public MapJarTask() {
@TaskAction
public void remap() {
- getProject().getLogger().lifecycle(":remapping {} from {} to {}", getInput().get().getAsFile(), getFrom().get(), getTo().get());
-
WorkQueue workQueue = getWorkerExecutor().noIsolation();
workQueue.submit(RemapAction.class, parameters -> {
parameters.getInput().set(getInput());
@@ -64,20 +60,16 @@ public void remap() {
}
public interface RemapParameters extends WorkParameters {
- @InputFile RegularFileProperty getInput();
- @InputFile RegularFileProperty getMappings();
- @OutputFile RegularFileProperty getOutput();
- @Classpath ConfigurableFileCollection getClasspath();
- @Input Property getFrom();
- @Input Property getTo();
- @Input MapProperty getClassMappings();
+ RegularFileProperty getInput();
+ RegularFileProperty getMappings();
+ RegularFileProperty getOutput();
+ ConfigurableFileCollection getClasspath();
+ Property getFrom();
+ Property getTo();
+ MapProperty getClassMappings();
}
public abstract static class RemapAction implements WorkAction {
- @Inject
- public RemapAction() {
- }
-
private static Path getPath(Provider extends FileSystemLocation> provider) {
return provider.get().getAsFile().toPath();
}
@@ -108,19 +100,11 @@ private void doExecute() throws IOException {
try (OutputConsumerPath outputConsumer = new OutputConsumerPath.Builder(output).build()) {
Path input = getPath(params.getInput());
outputConsumer.addNonClassFiles(input);
- remapper.readInputs(input);
-
- params.getClasspath().getAsFileTree().visit(new FileVisitor() {
- @Override
- public void visitDir(FileVisitDetails dirDetails) {
- // ignore
- }
-
- @Override
- public void visitFile(FileVisitDetails fileDetails) {
- remapper.readClassPath(fileDetails.getFile().toPath());
- }
- });
+ remapper.readInputsAsync(input);
+
+ for (File file : params.getClasspath().getFiles()) {
+ remapper.readClassPathAsync(file.toPath());
+ }
remapper.apply(outputConsumer);
} finally {
diff --git a/filament/src/main/java/net/fabricmc/filament/task/RemapUnpickDefinitionsTask.java b/filament/src/main/java/net/fabricmc/filament/task/RemapUnpickDefinitionsTask.java
index 97950fd579..afeb31a4ca 100644
--- a/filament/src/main/java/net/fabricmc/filament/task/RemapUnpickDefinitionsTask.java
+++ b/filament/src/main/java/net/fabricmc/filament/task/RemapUnpickDefinitionsTask.java
@@ -1,13 +1,12 @@
package net.fabricmc.filament.task;
-import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileReader;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.util.HashMap;
import java.util.Map;
+import java.util.Objects;
import javax.inject.Inject;
@@ -30,11 +29,9 @@
import net.fabricmc.filament.util.FileUtil;
import net.fabricmc.filament.util.UnpickUtil;
-import net.fabricmc.mapping.tree.ClassDef;
-import net.fabricmc.mapping.tree.FieldDef;
-import net.fabricmc.mapping.tree.MethodDef;
-import net.fabricmc.mapping.tree.TinyMappingFactory;
-import net.fabricmc.mapping.tree.TinyTree;
+import net.fabricmc.mappingio.MappingReader;
+import net.fabricmc.mappingio.tree.MappingTree;
+import net.fabricmc.mappingio.tree.MemoryMappingTree;
public abstract class RemapUnpickDefinitionsTask extends DefaultTask {
@InputFile
@@ -98,28 +95,44 @@ public void execute() {
Map classMappings = new HashMap<>();
Map methodMappings = new HashMap<>();
Map fieldMappings = new HashMap<>();
- String fromM = getParameters().getSourceNamespace().get();
- String toM = getParameters().getTargetNamespace().get();
-
- try (BufferedReader reader = new BufferedReader(new FileReader(getParameters().getMappings().getAsFile().get()))) {
- TinyTree tinyTree = TinyMappingFactory.loadWithDetection(reader);
-
- for (ClassDef classDef : tinyTree.getClasses()) {
- classMappings.put(classDef.getName(fromM), classDef.getName(toM));
-
- for (MethodDef methodDef : classDef.getMethods()) {
- methodMappings.put(
- new MethodKey(classDef.getName(fromM), methodDef.getName(fromM), methodDef.getDescriptor(fromM)),
- methodDef.getName(toM)
- );
- }
-
- for (FieldDef fieldDef : classDef.getFields()) {
- fieldMappings.put(
- new FieldKey(classDef.getName(fromM), fieldDef.getName(fromM)),
- fieldDef.getName(toM)
- );
- }
+
+ final MemoryMappingTree mappingTree = new MemoryMappingTree();
+ MappingReader.read(getParameters().getMappings().getAsFile().get().toPath(), mappingTree);
+
+ final int fromM = mappingTree.getNamespaceId(getParameters().getSourceNamespace().get());
+ final int toM = mappingTree.getNamespaceId(getParameters().getTargetNamespace().get());
+
+ for (MappingTree.ClassMapping classDef : mappingTree.getClasses()) {
+ final String classFromName = classDef.getName(fromM);
+
+ if (classFromName == null) {
+ continue;
+ }
+
+ classMappings.put(
+ classFromName,
+ Objects.requireNonNull(classDef.getName(toM), "Null to name: " + classFromName)
+ );
+
+ for (MappingTree.MethodMapping methodDef : classDef.getMethods()) {
+ methodMappings.put(
+ new MethodKey(
+ Objects.requireNonNull(classFromName, "Null dst name: " + classDef.getSrcName()),
+ Objects.requireNonNull(methodDef.getName(fromM), "Null dst name: " + methodDef.getSrcName()),
+ Objects.requireNonNull(methodDef.getDesc(fromM), "Null dst name: " + methodDef.getSrcName())
+ ),
+ Objects.requireNonNull(methodDef.getName(toM), "Null to name: " + methodDef.getSrcName())
+ );
+ }
+
+ for (MappingTree.FieldMapping fieldDef : classDef.getFields()) {
+ fieldMappings.put(
+ new FieldKey(
+ Objects.requireNonNull(classFromName, "Null dst name: " + classDef.getSrcName()),
+ Objects.requireNonNull(fieldDef.getName(fromM), "Null dst name: " + fieldDef.getSrcName())
+ ),
+ Objects.requireNonNull(fieldDef.getName(toM), "Null to name: " + fieldDef.getSrcName())
+ );
}
}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/UnpickJarTask.java b/filament/src/main/java/net/fabricmc/filament/task/UnpickJarTask.java
new file mode 100644
index 0000000000..6d4e84b542
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/UnpickJarTask.java
@@ -0,0 +1,80 @@
+package net.fabricmc.filament.task;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import daomephsta.unpick.cli.Main;
+import org.gradle.api.file.ConfigurableFileCollection;
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.tasks.InputFile;
+import org.gradle.api.tasks.InputFiles;
+import org.gradle.api.tasks.TaskAction;
+import org.gradle.workers.WorkAction;
+import org.gradle.workers.WorkParameters;
+import org.gradle.workers.WorkQueue;
+import org.gradle.workers.WorkerExecutor;
+
+import net.fabricmc.filament.task.base.FilamentTask;
+import net.fabricmc.filament.task.base.WithFileInput;
+import net.fabricmc.filament.task.base.WithFileOutput;
+
+public abstract class UnpickJarTask extends FilamentTask implements WithFileInput, WithFileOutput {
+ @InputFile
+ public abstract RegularFileProperty getUnpickDefinition();
+ @InputFile
+ public abstract RegularFileProperty getConstantsJarFile();
+ @InputFiles
+ public abstract ConfigurableFileCollection getClasspath();
+
+ @Inject
+ protected abstract WorkerExecutor getWorkerExecutor();
+
+ @TaskAction
+ public void run() {
+ WorkQueue workQueue = getWorkerExecutor().noIsolation();
+ workQueue.submit(UnpickAction.class, parameters -> {
+ parameters.getInput().set(getInput());
+ parameters.getOutput().set(getOutput());
+ parameters.getUnpickDefinition().set(getUnpickDefinition());
+ parameters.getConstantJar().set(getConstantsJarFile());
+ parameters.getClasspath().from(getClasspath());
+ });
+ }
+
+ public interface UnpickParameters extends WorkParameters {
+ RegularFileProperty getInput();
+ RegularFileProperty getOutput();
+ RegularFileProperty getUnpickDefinition();
+ RegularFileProperty getConstantJar();
+ ConfigurableFileCollection getClasspath();
+ }
+
+ public abstract static class UnpickAction implements WorkAction {
+ @Override
+ public void execute() {
+ List args = new ArrayList<>();
+ args.add(getPath(getParameters().getInput()));
+ args.add(getPath(getParameters().getOutput()));
+ args.add(getPath(getParameters().getUnpickDefinition()));
+ args.add(getPath(getParameters().getConstantJar()));
+
+ for (File file : getParameters().getClasspath().getFiles()) {
+ args.add(file.getAbsolutePath());
+ }
+
+ try {
+ Main.main(args.toArray(String[]::new));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private String getPath(RegularFileProperty fileProperty) {
+ return fileProperty.get().getAsFile().getAbsolutePath();
+ }
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/base/FilamentTask.java b/filament/src/main/java/net/fabricmc/filament/task/base/FilamentTask.java
new file mode 100644
index 0000000000..7333ed237e
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/base/FilamentTask.java
@@ -0,0 +1,20 @@
+package net.fabricmc.filament.task.base;
+
+import javax.inject.Inject;
+
+import org.gradle.api.DefaultTask;
+import org.gradle.api.tasks.Internal;
+
+import net.fabricmc.filament.FilamentExtension;
+
+public abstract class FilamentTask extends DefaultTask {
+ @Inject
+ public FilamentTask() {
+ setGroup("filament");
+ }
+
+ @Internal
+ protected FilamentExtension getExtension() {
+ return FilamentExtension.get(getProject());
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/base/FileOutputTask.java b/filament/src/main/java/net/fabricmc/filament/task/base/FileOutputTask.java
new file mode 100644
index 0000000000..84b26e1280
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/base/FileOutputTask.java
@@ -0,0 +1,4 @@
+package net.fabricmc.filament.task.base;
+
+public abstract class FileOutputTask extends FilamentTask implements WithFileOutput {
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/base/WithFileInput.java b/filament/src/main/java/net/fabricmc/filament/task/base/WithFileInput.java
new file mode 100644
index 0000000000..d60853beab
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/base/WithFileInput.java
@@ -0,0 +1,23 @@
+package net.fabricmc.filament.task.base;
+
+import java.io.File;
+import java.nio.file.Path;
+
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.tasks.InputFile;
+import org.gradle.api.tasks.Internal;
+
+public interface WithFileInput {
+ @InputFile
+ RegularFileProperty getInput();
+
+ @Internal
+ default File getInputFile() {
+ return getInput().get().getAsFile();
+ }
+
+ @Internal
+ default Path getInputPath() {
+ return getInputFile().toPath();
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/base/WithFileOutput.java b/filament/src/main/java/net/fabricmc/filament/task/base/WithFileOutput.java
new file mode 100644
index 0000000000..9f3886c851
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/base/WithFileOutput.java
@@ -0,0 +1,23 @@
+package net.fabricmc.filament.task.base;
+
+import java.io.File;
+import java.nio.file.Path;
+
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.tasks.Internal;
+import org.gradle.api.tasks.OutputFile;
+
+public interface WithFileOutput {
+ @OutputFile
+ RegularFileProperty getOutput();
+
+ @Internal
+ default File getOutputFile() {
+ return getOutput().get().getAsFile();
+ }
+
+ @Internal
+ default Path getOutputPath() {
+ return getOutputFile().toPath();
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/enigma/EnigmaCommandTask.java b/filament/src/main/java/net/fabricmc/filament/task/enigma/EnigmaCommandTask.java
new file mode 100644
index 0000000000..59685009c9
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/enigma/EnigmaCommandTask.java
@@ -0,0 +1,55 @@
+package net.fabricmc.filament.task.enigma;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import cuchaz.enigma.command.Command;
+import org.gradle.api.provider.ListProperty;
+import org.gradle.api.provider.Property;
+import org.gradle.api.tasks.Internal;
+import org.gradle.api.tasks.TaskAction;
+import org.gradle.workers.WorkAction;
+import org.gradle.workers.WorkParameters;
+import org.gradle.workers.WorkQueue;
+import org.gradle.workers.WorkerExecutor;
+
+import net.fabricmc.filament.task.base.FilamentTask;
+
+public abstract class EnigmaCommandTask extends FilamentTask {
+ @Internal
+ public abstract Class extends Command> getCommandClass();
+
+ @Internal
+ protected abstract List getArguments();
+
+ @Inject
+ protected abstract WorkerExecutor getWorkerExecutor();
+
+ @TaskAction
+ public void run() {
+ WorkQueue workQueue = getWorkerExecutor().noIsolation();
+ workQueue.submit(EnigmaAction.class, parameters -> {
+ parameters.getCommandClassName().set(getCommandClass().getName());
+ parameters.getArguments().set(getArguments());
+ });
+ }
+
+ public interface EnimgaParameters extends WorkParameters {
+ Property getCommandClassName();
+ ListProperty getArguments();
+ }
+
+ public abstract static class EnigmaAction implements WorkAction {
+ @Override
+ public void execute() {
+ try {
+ Class> commandClass = Class.forName(getParameters().getCommandClassName().get());
+ Command command = (Command) commandClass.getConstructor().newInstance();
+ command.run(getParameters().getArguments().get().toArray(String[]::new));
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/enigma/MapSpecializedMethodsTask.java b/filament/src/main/java/net/fabricmc/filament/task/enigma/MapSpecializedMethodsTask.java
new file mode 100644
index 0000000000..d6483a6a69
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/enigma/MapSpecializedMethodsTask.java
@@ -0,0 +1,52 @@
+package net.fabricmc.filament.task.enigma;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import cuchaz.enigma.command.Command;
+import cuchaz.enigma.command.MapSpecializedMethodsCommand;
+import org.gradle.api.file.DirectoryProperty;
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.provider.Property;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.InputDirectory;
+import org.gradle.api.tasks.InputFile;
+
+import net.fabricmc.filament.task.base.WithFileOutput;
+
+public abstract class MapSpecializedMethodsTask extends EnigmaCommandTask implements WithFileOutput {
+ @InputFile
+ public abstract RegularFileProperty getIntermediaryJarFile();
+
+ @Input
+ public abstract Property getInputMappingsFormat();
+
+ @InputDirectory
+ public abstract DirectoryProperty getMappings();
+
+ @Input
+ public abstract Property getOutputMappingsFormat();
+
+ @Inject
+ public MapSpecializedMethodsTask() {
+ getInputMappingsFormat().convention("engima");
+ getOutputMappingsFormat().convention("tinyv2:intermediary:named");
+ }
+
+ @Override
+ public Class extends Command> getCommandClass() {
+ return MapSpecializedMethodsCommand.class;
+ }
+
+ @Override
+ protected List getArguments() {
+ return List.of(
+ getIntermediaryJarFile().get().getAsFile().getAbsolutePath(),
+ getInputMappingsFormat().get(),
+ getMappings().get().getAsFile().getAbsolutePath(),
+ getOutputMappingsFormat().get(),
+ getOutputFile().getAbsolutePath()
+ );
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/mappingio/ConvertMappingsTask.java b/filament/src/main/java/net/fabricmc/filament/task/mappingio/ConvertMappingsTask.java
new file mode 100644
index 0000000000..145b9e3b18
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/mappingio/ConvertMappingsTask.java
@@ -0,0 +1,14 @@
+package net.fabricmc.filament.task.mappingio;
+
+import java.io.IOException;
+
+import net.fabricmc.filament.task.base.WithFileInput;
+import net.fabricmc.mappingio.MappingReader;
+import net.fabricmc.mappingio.MappingWriter;
+
+public abstract class ConvertMappingsTask extends MappingOutputTask implements WithFileInput {
+ @Override
+ void run(MappingWriter writer) throws IOException {
+ MappingReader.read(getInputPath(), writer);
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/mappingio/MappingOutputTask.java b/filament/src/main/java/net/fabricmc/filament/task/mappingio/MappingOutputTask.java
new file mode 100644
index 0000000000..5cd26a4ebb
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/mappingio/MappingOutputTask.java
@@ -0,0 +1,26 @@
+package net.fabricmc.filament.task.mappingio;
+
+import java.io.IOException;
+
+import org.gradle.api.provider.Property;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.TaskAction;
+
+import net.fabricmc.filament.task.base.FilamentTask;
+import net.fabricmc.filament.task.base.WithFileOutput;
+import net.fabricmc.mappingio.MappingWriter;
+import net.fabricmc.mappingio.format.MappingFormat;
+
+public abstract class MappingOutputTask extends FilamentTask implements WithFileOutput {
+ @Input
+ public abstract Property getOutputFormat();
+
+ @TaskAction
+ public final void run() throws IOException {
+ try (MappingWriter mappingWriter = MappingWriter.create(getOutputPath(), getOutputFormat().get())) {
+ run(mappingWriter);
+ }
+ }
+
+ abstract void run(MappingWriter writer) throws IOException;
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/mappingio/MergeMappingsTask.java b/filament/src/main/java/net/fabricmc/filament/task/mappingio/MergeMappingsTask.java
new file mode 100644
index 0000000000..a63f1936a6
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/mappingio/MergeMappingsTask.java
@@ -0,0 +1,76 @@
+package net.fabricmc.filament.task.mappingio;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import org.gradle.api.file.ConfigurableFileCollection;
+import org.gradle.api.tasks.InputFiles;
+
+import net.fabricmc.mappingio.MappingReader;
+import net.fabricmc.mappingio.MappingWriter;
+import net.fabricmc.mappingio.adapter.MappingDstNsReorder;
+import net.fabricmc.mappingio.adapter.MappingNsCompleter;
+import net.fabricmc.mappingio.adapter.MappingSourceNsSwitch;
+import net.fabricmc.mappingio.tree.MappingTree;
+import net.fabricmc.mappingio.tree.MemoryMappingTree;
+
+public abstract class MergeMappingsTask extends MappingOutputTask {
+ @InputFiles
+ public abstract ConfigurableFileCollection getMappingInputs();
+
+ @Override
+ void run(MappingWriter writer) throws IOException {
+ var mappingTree = new MemoryMappingTree();
+
+ for (File file : getMappingInputs().getFiles()) {
+ var nsSwitch = new MappingSourceNsSwitch(mappingTree, "intermediary");
+ MappingReader.read(file.toPath(), nsSwitch);
+ }
+
+ fixInnerClasses(mappingTree);
+
+ var nsCompleter = new MappingNsCompleter(writer, Map.of("named", "intermediary"), true);
+ var dstReorder = new MappingDstNsReorder(nsCompleter, List.of("intermediary", "named"));
+ var sourceNsSwitch = new MappingSourceNsSwitch(dstReorder, "official");
+ mappingTree.accept(sourceNsSwitch);
+ }
+
+ private void fixInnerClasses(MemoryMappingTree mappingTree) {
+ int named = mappingTree.getNamespaceId("named");
+
+ for (MappingTree.ClassMapping entry : mappingTree.getClasses()) {
+ String name = entry.getName(named);
+
+ if (name != null) {
+ continue;
+ }
+
+ entry.setDstName(matchEnclosingClass(entry.getSrcName(), mappingTree), named);
+ }
+ }
+
+ /*
+ * Takes something like net/minecraft/class_123$class_124 that doesn't have a mapping, tries to find net/minecraft/class_123
+ * , say the mapping of net/minecraft/class_123 is path/to/someclass and then returns a class of the form
+ * path/to/someclass$class124
+ */
+ private String matchEnclosingClass(String sharedName, MemoryMappingTree mappingTree) {
+ final int named = mappingTree.getNamespaceId("named");
+ final String[] path = sharedName.split(Pattern.quote("$"));
+
+ for (int i = path.length - 2; i >= 0; i--) {
+ final String currentPath = String.join("$", Arrays.copyOfRange(path, 0, i + 1));
+ final MappingTree.ClassMapping match = mappingTree.getClass(currentPath);
+
+ if (match != null && match.getName(named) != null) {
+ return match.getName(named) + "$" + String.join("$", Arrays.copyOfRange(path, i + 1, path.length));
+ }
+ }
+
+ return sharedName;
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/minecraft/ExtractBundledServerTask.java b/filament/src/main/java/net/fabricmc/filament/task/minecraft/ExtractBundledServerTask.java
new file mode 100644
index 0000000000..56b35ff571
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/minecraft/ExtractBundledServerTask.java
@@ -0,0 +1,24 @@
+package net.fabricmc.filament.task.minecraft;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
+
+import org.gradle.api.tasks.TaskAction;
+
+import net.fabricmc.filament.task.base.FilamentTask;
+import net.fabricmc.filament.task.base.WithFileInput;
+import net.fabricmc.filament.task.base.WithFileOutput;
+import net.fabricmc.loom.util.FileSystemUtil;
+
+public abstract class ExtractBundledServerTask extends FilamentTask implements WithFileOutput, WithFileInput {
+ @TaskAction
+ public void run() throws IOException {
+ try (FileSystemUtil.Delegate fs = FileSystemUtil.getJarFileSystem(getInputPath(), false)) {
+ String versionsList = new String(fs.readAllBytes("META-INF/versions.list"), StandardCharsets.UTF_8);
+ String jarPath = "META-INF/versions/" + versionsList.split("\t")[2];
+ Files.copy(fs.getPath(jarPath), getOutputPath(), StandardCopyOption.REPLACE_EXISTING);
+ }
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/task/minecraft/MergeMinecraftTask.java b/filament/src/main/java/net/fabricmc/filament/task/minecraft/MergeMinecraftTask.java
new file mode 100644
index 0000000000..986194fab8
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/task/minecraft/MergeMinecraftTask.java
@@ -0,0 +1,28 @@
+package net.fabricmc.filament.task.minecraft;
+
+import java.io.IOException;
+
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.tasks.InputFile;
+import org.gradle.api.tasks.TaskAction;
+
+import net.fabricmc.filament.task.base.FileOutputTask;
+import net.fabricmc.loom.configuration.providers.minecraft.MinecraftJarMerger;
+
+public abstract class MergeMinecraftTask extends FileOutputTask {
+ @InputFile
+ public abstract RegularFileProperty getClientJar();
+
+ @InputFile
+ public abstract RegularFileProperty getServerJar();
+
+ @TaskAction
+ public void run() throws IOException {
+ try (MinecraftJarMerger jarMerger = new MinecraftJarMerger(
+ getClientJar().getAsFile().get(),
+ getServerJar().getAsFile().get(),
+ getOutput().getAsFile().get())) {
+ jarMerger.merge();
+ }
+ }
+}
diff --git a/filament/src/main/java/net/fabricmc/filament/util/MinecraftVersionMetaHelper.java b/filament/src/main/java/net/fabricmc/filament/util/MinecraftVersionMetaHelper.java
new file mode 100644
index 0000000000..e1bffc8f7a
--- /dev/null
+++ b/filament/src/main/java/net/fabricmc/filament/util/MinecraftVersionMetaHelper.java
@@ -0,0 +1,66 @@
+package net.fabricmc.filament.util;
+
+import java.io.IOException;
+import java.io.UncheckedIOException;
+import java.net.URISyntaxException;
+import java.nio.file.Path;
+
+import javax.inject.Inject;
+
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.provider.Property;
+
+import net.fabricmc.filament.FilamentExtension;
+import net.fabricmc.filament.FilamentGradlePlugin;
+import net.fabricmc.loom.configuration.providers.minecraft.ManifestVersion;
+import net.fabricmc.loom.configuration.providers.minecraft.MinecraftVersionMeta;
+import net.fabricmc.loom.util.download.Download;
+
+public abstract class MinecraftVersionMetaHelper {
+ public abstract Property getMinecraftVersion();
+
+ public abstract Property getMinecraftVersionManifestUrl();
+
+ public abstract RegularFileProperty getVersionManifestFile();
+ public abstract RegularFileProperty getVersionMetadataFile();
+
+ @Inject
+ public MinecraftVersionMetaHelper(FilamentExtension extension) {
+ // Use the Minecraft version as an input to ensure the task re-runs on upgrade
+ getMinecraftVersion().set(extension.getMinecraftVersion());
+ getMinecraftVersionManifestUrl().set(extension.getMinecraftVersionManifestUrl());
+
+ getVersionManifestFile().set(extension.getMinecraftFile("version_manifest.json"));
+ getVersionMetadataFile().set(extension.getMinecraftFile("version.json"));
+ }
+
+ public MinecraftVersionMeta setup() throws IOException, URISyntaxException {
+ final Path versionManifestPath = getVersionManifestFile().getAsFile().get().toPath();
+ final Path versionMetadataPath = getVersionMetadataFile().getAsFile().get().toPath();
+
+ final String versionManifest = Download.create(getMinecraftVersionManifestUrl().get())
+ .defaultCache()
+ .downloadString(versionManifestPath);
+
+ final ManifestVersion mcManifest = FilamentGradlePlugin.OBJECT_MAPPER.readValue(versionManifest, ManifestVersion.class);
+
+ ManifestVersion.Versions version = mcManifest.versions().stream()
+ .filter(versions -> versions.id.equalsIgnoreCase(getMinecraftVersion().get()))
+ .findFirst()
+ .orElse(null);
+
+ if (version == null) {
+ throw new RuntimeException("Failed to find minecraft version: " + getMinecraftVersion().get());
+ }
+
+ final String versionMetadata = Download.create(version.url)
+ .sha1(version.sha1)
+ .downloadString(versionMetadataPath);
+
+ try {
+ return FilamentGradlePlugin.OBJECT_MAPPER.readValue(versionMetadata, MinecraftVersionMeta.class);
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+}
diff --git a/filament/src/test/resources/projects/javadocLint/build.gradle b/filament/src/test/resources/projects/javadocLint/build.gradle
index 132c35b1bc..062b4749df 100644
--- a/filament/src/test/resources/projects/javadocLint/build.gradle
+++ b/filament/src/test/resources/projects/javadocLint/build.gradle
@@ -1,7 +1,12 @@
plugins {
+ id 'java'
id 'net.fabricmc.filament'
}
+filament {
+ minecraftVersion = "1.19.2"
+}
+
javadocLint {
mappingDirectory = file('mappings')
}
diff --git a/filament/src/test/resources/projects/unpickDef/build.gradle b/filament/src/test/resources/projects/unpickDef/build.gradle
index 3985ba03d7..3b6a64fadc 100644
--- a/filament/src/test/resources/projects/unpickDef/build.gradle
+++ b/filament/src/test/resources/projects/unpickDef/build.gradle
@@ -1,7 +1,12 @@
plugins {
+ id 'java'
id 'net.fabricmc.filament'
}
+filament {
+ minecraftVersion = "1.19.2"
+}
+
combineUnpickDefinitions {
input = file('unpick-definitions')
output = file('combined_definitions.unpick')
diff --git a/gradle.properties b/gradle.properties
index abbe610813..ae6f9b2e7d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,20 +1,20 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
+org.gradle.parallel=true
+org.gradle.configuration-cache=true
-enigma_version=2.1.0
-stitch_version=0.6.1
+enigma_version=2.3.2
unpick_version=2.3.0
-cfr_version=0.1.1
-name_proposal_version=0.1.4
-tiny_remapper_version=0.8.2
-asm_version=9.3
+cfr_version=0.2.1
+name_proposal_version=0.1.5
+asm_version=9.5
# Javadoc generation/linking
-fabric_loader_version=0.13.3
+fabric_loader_version=0.14.14
jetbrains_annotations_version=23.0.0
-mappingpoet_version=0.3.0
+mappingpoet_version=0.3.2
# Build logic
-tiny_mappings_parser_version=0.3.0+build.17
+tiny_remapper_version=0.8.5
junit_version=5.7.1
assertj_version=3.19.0
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 41d9927a4d4fb3f96a785543079b8df6723c946b..7f93135c49b765f8051ef9d0a6055ff8e46073d8 100644
GIT binary patch
delta 44451
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