From cf40d52a8e06117049b795e05ae1ae76a36a2727 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 21 Sep 2024 23:42:57 -0700 Subject: [PATCH 01/24] complete SharedConstants --- mappings/net/minecraft/SharedConstants.mapping | 1 + 1 file changed, 1 insertion(+) diff --git a/mappings/net/minecraft/SharedConstants.mapping b/mappings/net/minecraft/SharedConstants.mapping index f8a5a3d40e..198f2cdcf7 100644 --- a/mappings/net/minecraft/SharedConstants.mapping +++ b/mappings/net/minecraft/SharedConstants.mapping @@ -8,6 +8,7 @@ CLASS net/minecraft/unmapped/C_otltijcb net/minecraft/SharedConstants FIELD f_cpvbggkb RESOURCE_GENERATION_DEBUG_OVERRIDE Z FIELD f_croffrlr ENABLE_WORLD_RECREATION_DEBUGGER Z FIELD f_cwtltrpn ENABLE_GOAL_SELECTOR_DEBUGGER Z + FIELD f_czwrerlm DEBUG_EXPERIMENTAL_REDSTONE_WIRE_UPDATE_ORDER Z FIELD f_daxksksq generateSquareTerrainWithoutNoise Z FIELD f_dwxtvjnd DEBUG_FEATURE_COUNT Z FIELD f_dzwzxzvb DISABLE_LIQUID_SPREADING Z From 82ceedd1c14cdc74cedb254657fbc14e7761a71e Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 21 Sep 2024 23:43:10 -0700 Subject: [PATCH 02/24] complete n.m.village --- .../predicate/DataComponentPredicate.mapping | 5 +++ .../net/minecraft/village/TradeOffer.mapping | 6 +++ .../net/minecraft/village/TradeOffers.mapping | 42 ++++++++++++------- .../net/minecraft/village/raid/Raid.mapping | 6 +++ simple_type_field_names.json5 | 10 +++++ 5 files changed, 53 insertions(+), 16 deletions(-) diff --git a/mappings/net/minecraft/predicate/DataComponentPredicate.mapping b/mappings/net/minecraft/predicate/DataComponentPredicate.mapping index b789ce6460..38903f6fd2 100644 --- a/mappings/net/minecraft/predicate/DataComponentPredicate.mapping +++ b/mappings/net/minecraft/predicate/DataComponentPredicate.mapping @@ -11,4 +11,9 @@ CLASS net/minecraft/unmapped/C_naseleda net/minecraft/predicate/DataComponentPre ARG 1 componentMap CLASS C_qvundqhp Builder FIELD f_zqshleqs components Ljava/util/List; + METHOD m_jwpgiwvo add (Lnet/minecraft/unmapped/C_qkjwbfhx;)Lnet/minecraft/unmapped/C_naseleda$C_qvundqhp; + ARG 1 component + METHOD m_paqnuexm add (Lnet/minecraft/unmapped/C_pscqxfcs;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_naseleda$C_qvundqhp; + ARG 1 type + ARG 2 value METHOD m_uvpclufp build ()Lnet/minecraft/unmapped/C_naseleda; diff --git a/mappings/net/minecraft/village/TradeOffer.mapping b/mappings/net/minecraft/village/TradeOffer.mapping index 5bbe425d6f..2154052db4 100644 --- a/mappings/net/minecraft/village/TradeOffer.mapping +++ b/mappings/net/minecraft/village/TradeOffer.mapping @@ -12,6 +12,10 @@ CLASS net/minecraft/unmapped/C_argwryfu net/minecraft/village/TradeOffer FIELD f_vcpzwcnv rewardingPlayerExperience Z METHOD (Lnet/minecraft/unmapped/C_argwryfu;)V ARG 1 offer + METHOD (Lnet/minecraft/unmapped/C_gqfxurno;Ljava/util/Optional;Lnet/minecraft/unmapped/C_sddaxwyk;IIZIIFI)V + ARG 3 sellItem + METHOD (Lnet/minecraft/unmapped/C_gqfxurno;Lnet/minecraft/unmapped/C_sddaxwyk;IIF)V + ARG 2 sellItem METHOD m_akycaqxo getMerchantExperience ()I COMMENT Returns the amount of experience that will be given to a merchant COMMENT after this trade offer has been used. @@ -30,6 +34,7 @@ CLASS net/minecraft/unmapped/C_argwryfu net/minecraft/village/TradeOffer COMMENT Resets the special price of this trade offer. METHOD m_gpklzshx copySellItem ()Lnet/minecraft/unmapped/C_sddaxwyk; COMMENT Returns a copy of the sell item of this trade offer. + METHOD m_hmjjddpe (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App; METHOD m_isgpghfg getSecondBuyItemAsStack ()Lnet/minecraft/unmapped/C_sddaxwyk; COMMENT Returns the second buy item of this trade offer. COMMENT @@ -62,6 +67,7 @@ CLASS net/minecraft/unmapped/C_argwryfu net/minecraft/village/TradeOffer COMMENT Returns the sell item of this trade offer. METHOD m_msgntumj getMaxUses ()I COMMENT Returns the maximum number of times this trade offer can be used. + METHOD m_njodgnsr (Lnet/minecraft/unmapped/C_argwryfu;)Ljava/util/Optional; METHOD m_rfcgwqwz use ()V COMMENT Increments the number of times this trade offer has been used. METHOD m_rgdhugvk getUses ()I diff --git a/mappings/net/minecraft/village/TradeOffers.mapping b/mappings/net/minecraft/village/TradeOffers.mapping index b1f7f9e9f7..ac0d123298 100644 --- a/mappings/net/minecraft/village/TradeOffers.mapping +++ b/mappings/net/minecraft/village/TradeOffers.mapping @@ -24,6 +24,8 @@ CLASS net/minecraft/unmapped/C_hqrlptsj net/minecraft/village/TradeOffers FIELD f_xkddlaga RARE_MAX_USES I FIELD f_yxdcxrtp EXPERT_SELL_XP I FIELD f_zeisnuhl JOURNEYMAN_BUY_XP I + METHOD m_bfpxnwru (Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_naseleda$C_qvundqhp;)Lnet/minecraft/unmapped/C_naseleda$C_qvundqhp; + ARG 1 predicate METHOD m_bikzaaar toTradeableItem (Lnet/minecraft/unmapped/C_cjzoxshv;)Lnet/minecraft/unmapped/C_gqfxurno; ARG 0 potion METHOD m_makateev copyToFastUtilMap (Lcom/google/common/collect/ImmutableMap;)Lit/unimi/dsi/fastutil/ints/Int2ObjectMap; @@ -80,38 +82,41 @@ CLASS net/minecraft/unmapped/C_hqrlptsj net/minecraft/village/TradeOffers ARG 4 experience ARG 5 priceMultiplier CLASS C_lrpwofjn ProcessItemFactory + FIELD f_ejmritbz enchantmentProvider Ljava/util/Optional; FIELD f_fjgkvjkd maxUses I - FIELD f_kdtzftpi sell Lnet/minecraft/unmapped/C_sddaxwyk; + FIELD f_kdtzftpi processedItem Lnet/minecraft/unmapped/C_sddaxwyk; FIELD f_tgtrersi experience I FIELD f_tzmnlyxu priceMultiplier F FIELD f_vrezjoqy price I - FIELD f_xriqnzpf secondBuy Lnet/minecraft/unmapped/C_gqfxurno; + FIELD f_xriqnzpf unprocessedItem Lnet/minecraft/unmapped/C_gqfxurno; + METHOD (Lnet/minecraft/unmapped/C_gmbqjnle;IILnet/minecraft/unmapped/C_gmbqjnle;IIIFLnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 unprocessedItem + ARG 2 unprocessedCount + ARG 4 processedItem + ARG 5 processedCount METHOD (Lnet/minecraft/unmapped/C_gmbqjnle;IILnet/minecraft/unmapped/C_sddaxwyk;IIIF)V - ARG 1 item - ARG 2 count - ARG 3 price + ARG 1 unprocessedItem + ARG 2 unprocessedCount ARG 4 processedItem - ARG 5 processedItemCount - ARG 6 maxUses - ARG 7 experience - ARG 8 priceMultiplier + ARG 5 processedCount METHOD (Lnet/minecraft/unmapped/C_gmbqjnle;IILnet/minecraft/unmapped/C_vorddnax;IIIF)V - ARG 1 item - ARG 2 count - ARG 3 price + ARG 1 unprocessedItem + ARG 2 unprocessedCount ARG 4 processedItem - ARG 5 processedItemCount - ARG 6 maxUses - ARG 7 experience - ARG 8 priceMultiplier + ARG 5 processedCount + METHOD (Lnet/minecraft/unmapped/C_gqfxurno;ILnet/minecraft/unmapped/C_sddaxwyk;IIFLjava/util/Optional;)V + ARG 1 unprocessedItem + ARG 3 processedItem CLASS C_mhysqpkt EmptyFactory CLASS C_oigljzdw EnchantBookFactory FIELD f_ergftuze minLevel I FIELD f_ewyrltat maxLevel I + FIELD f_fykexdki enchantmentPool Lnet/minecraft/unmapped/C_ednuhnnn; FIELD f_jzuznifm experience I CLASS C_qgveffhr BuyForOneEmeraldFactory FIELD f_eyddoaua experience I FIELD f_kricdfec price I + FIELD f_mghsbwuc buyItem Lnet/minecraft/unmapped/C_gqfxurno; FIELD f_tkfkyzcv priceMultiplier F FIELD f_uzbukszc maxUses I METHOD (Lnet/minecraft/unmapped/C_gmbqjnle;III)V @@ -152,6 +157,7 @@ CLASS net/minecraft/unmapped/C_hqrlptsj net/minecraft/village/TradeOffers CLASS C_sgimohkx SellItemFactory FIELD f_cyskhcmw maxUses I FIELD f_etwwexea sell Lnet/minecraft/unmapped/C_sddaxwyk; + FIELD f_jsxjznwq enchantmentProvider Ljava/util/Optional; FIELD f_mvgznpla priceMultiplier F FIELD f_ouofvtss price I FIELD f_vvhouvvg experience I @@ -200,9 +206,13 @@ CLASS net/minecraft/unmapped/C_hqrlptsj net/minecraft/village/TradeOffers FIELD f_ushcytlj iconType Lnet/minecraft/unmapped/C_cjzoxshv; FIELD f_vwiqlfbj experience I CLASS C_vphnlyjn VillagerTypeSpecificFactory + METHOD m_flynwtfn (Lnet/minecraft/unmapped/C_vhpfztda;)Lnet/minecraft/unmapped/C_vhpfztda; + ARG 0 type METHOD m_ggpbncsc createTradeForBiomes (Lnet/minecraft/unmapped/C_hqrlptsj$C_bcdfyrkn;[Lnet/minecraft/unmapped/C_vhpfztda;)Lnet/minecraft/unmapped/C_hqrlptsj$C_vphnlyjn; ARG 0 factory ARG 1 villagerTypes + METHOD m_ygcvknbv (Lnet/minecraft/unmapped/C_hqrlptsj$C_bcdfyrkn;Lnet/minecraft/unmapped/C_vhpfztda;)Lnet/minecraft/unmapped/C_hqrlptsj$C_bcdfyrkn; + ARG 1 unused CLASS C_wututmqp TypeAwareBuyForOneEmeraldFactory FIELD f_leqjftkp maxUses I FIELD f_pxdyebdl count I diff --git a/mappings/net/minecraft/village/raid/Raid.mapping b/mappings/net/minecraft/village/raid/Raid.mapping index ee9dac2782..5ed2535247 100644 --- a/mappings/net/minecraft/village/raid/Raid.mapping +++ b/mappings/net/minecraft/village/raid/Raid.mapping @@ -13,7 +13,9 @@ CLASS net/minecraft/unmapped/C_szefbyex net/minecraft/village/raid/Raid FIELD f_fmgwzkdu POST_RAID_TICK_LIMIT I FIELD f_fnxkdmas DEFEAT_TITLE Lnet/minecraft/unmapped/C_rdaqiwdt; FIELD f_gknmsuhn SPAWN_ATTEMPTS I + FIELD f_ieyxqzve VALID_RAID_RADIUS I FIELD f_jakhyora MAX_ACTIVE_TICKS I + FIELD f_jbrszwhw RAVAGER_SPAWN_RESTRICTION Lnet/minecraft/unmapped/C_zojcplzh; FIELD f_kdhitzkh RAID_REMOVE_THRESHOLD_SQUARED I FIELD f_kujahjos started Z FIELD f_kyzgcvgr random Lnet/minecraft/unmapped/C_rlomrsco; @@ -23,6 +25,7 @@ CLASS net/minecraft/unmapped/C_szefbyex net/minecraft/village/raid/Raid FIELD f_ngzvyrzk RAID_TIMEOUT_TICKS I FIELD f_okfqfabw waveToCaptain Ljava/util/Map; FIELD f_oxeijusq center Lnet/minecraft/unmapped/C_hynzadkk; + FIELD f_paujqkzq RAVAGER_SPAWNING_ALLOWED_SECONDS I FIELD f_qqdyznei status Lnet/minecraft/unmapped/C_szefbyex$C_ralvfjqe; FIELD f_rnqazgdq postRaidTicks I FIELD f_rvzgnmzd id I @@ -100,6 +103,7 @@ CLASS net/minecraft/unmapped/C_szefbyex net/minecraft/village/raid/Raid ARG 1 nbt METHOD m_pajuwpzg setCenter (Lnet/minecraft/unmapped/C_hynzadkk;)V ARG 1 center + METHOD m_pbwmgtdj createOminousBanner (Lnet/minecraft/unmapped/C_pzdchrcy;)Lnet/minecraft/unmapped/C_sddaxwyk; METHOD m_pcjjizjn getGroupsSpawned ()I METHOD m_prgonsry addRaider (ILnet/minecraft/unmapped/C_iaguvmwh;Lnet/minecraft/unmapped/C_hynzadkk;Z)V ARG 1 wave @@ -131,6 +135,8 @@ CLASS net/minecraft/unmapped/C_szefbyex net/minecraft/village/raid/Raid METHOD m_zmfpxjlb hasStopped ()Z METHOD m_zpxnmupw canSpawnRaiders ()Z METHOD m_zrbdaqtr getCurrentRaiderHealth ()F + METHOD m_zvijvbmu (Ljava/lang/Integer;)Ljava/util/Set; + ARG 0 unused CLASS C_mgsrpgzv Member FIELD f_ifqeyiev type Lnet/minecraft/unmapped/C_ogavsvbr; FIELD f_ijkzlfau VALUES [Lnet/minecraft/unmapped/C_szefbyex$C_mgsrpgzv; diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index 5e9fd427ec..38fd536049 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -8,6 +8,7 @@ "dynOps" ] }, + "com/mojang/serialization/codecs/RecordCodecBuilder$Instance": "instance", "com/mojang/serialization/MapCodec": "codec", "net/minecraft/unmapped/C_qsrmwluu": "packetCodec", // PacketCodec @@ -98,6 +99,15 @@ ] }, + // Village + "net/minecraft/unmapped/C_argwryfu": { + local_name: "offer", + inherit: true, + fallback: [ + "tradeOffer" + ] + }, + // Player "net/minecraft/unmapped/C_jzrpycqo": { // PlayerEntity local_name: "player", From 31a647bbbabdb5e6d89a2b751379c752014f236d Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sun, 22 Sep 2024 02:20:21 -0700 Subject: [PATCH 03/24] remove 'registryKey' from simple_type_field_names --- simple_type_field_names.json5 | 1 - 1 file changed, 1 deletion(-) diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index 38fd536049..e4f81d5e2f 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -29,7 +29,6 @@ // Registries "net/minecraft/unmapped/C_tqxyjqsk": "registry", - "net/minecraft/unmapped/C_xhhleach": "registryKey", "net/minecraft/unmapped/C_wqxmvzdq": "registryManager", // DynamicRegistryManager "net/minecraft/unmapped/C_hqoyyfco": "context", // BootstrapContext From 8b28730156523fa97b0083a48add9c6a1c148303 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sun, 22 Sep 2024 02:20:49 -0700 Subject: [PATCH 04/24] registry work --- .../registry/DynamicRegistryManager.mapping | 4 +++- .../minecraft/registry/HolderLookup.mapping | 20 +++++++++++++++---- .../net/minecraft/registry/Registry.mapping | 3 +++ .../minecraft/registry/SimpleRegistry.mapping | 11 ++++++++++ .../net/minecraft/registry/tag/TagKey.mapping | 16 +++------------ simple_type_field_names.json5 | 8 ++++++++ 6 files changed, 44 insertions(+), 18 deletions(-) diff --git a/mappings/net/minecraft/registry/DynamicRegistryManager.mapping b/mappings/net/minecraft/registry/DynamicRegistryManager.mapping index c981da6beb..7793540677 100644 --- a/mappings/net/minecraft/registry/DynamicRegistryManager.mapping +++ b/mappings/net/minecraft/registry/DynamicRegistryManager.mapping @@ -9,8 +9,10 @@ CLASS net/minecraft/unmapped/C_wqxmvzdq net/minecraft/registry/DynamicRegistryMa FIELD f_zgajrtqd EMPTY Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd; METHOD m_lxobzcah fromRegistryOfRegistries (Lnet/minecraft/unmapped/C_tqxyjqsk;)Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd; ARG 0 key + METHOD m_mkpozqht (Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 registry METHOD m_sloxobqt freeze ()Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd; - METHOD m_vutgtdyk registries ()Ljava/util/stream/Stream; + METHOD m_vutgtdyk streamRegistries ()Ljava/util/stream/Stream; CLASS C_fckcsnok METHOD (Lnet/minecraft/unmapped/C_wqxmvzdq;Ljava/util/stream/Stream;)V ARG 2 entries diff --git a/mappings/net/minecraft/registry/HolderLookup.mapping b/mappings/net/minecraft/registry/HolderLookup.mapping index 0fcf3b7f0a..508f2d92da 100644 --- a/mappings/net/minecraft/registry/HolderLookup.mapping +++ b/mappings/net/minecraft/registry/HolderLookup.mapping @@ -4,7 +4,8 @@ CLASS net/minecraft/unmapped/C_vtbxyypo net/minecraft/registry/HolderLookup METHOD m_rpikeuoc streamTags ()Ljava/util/stream/Stream; METHOD m_vtchccnr streamElementKeys ()Ljava/util/stream/Stream; CLASS C_drwjtlvl RegistryLookup - METHOD m_cplftviu matchesPredicate (Ljava/util/function/Predicate;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + METHOD m_cplftviu withFilter (Ljava/util/function/Predicate;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + COMMENT @return a view of this lookup with entries filtered by the passed {@code predicate} ARG 1 predicate METHOD m_kqnidhqe enabledIn (Lnet/minecraft/unmapped/C_czxxrbcp;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; ARG 1 featureFlags @@ -12,10 +13,21 @@ CLASS net/minecraft/unmapped/C_vtbxyypo net/minecraft/registry/HolderLookup ARG 1 gatedObject METHOD m_vhaoljfo getRegistryLifecycle ()Lcom/mojang/serialization/Lifecycle; METHOD m_wgqigdhk getKey ()Lnet/minecraft/unmapped/C_xhhleach; - CLASS C_jyxfuyee Delegate - METHOD m_smgukdep lookup ()Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + CLASS C_epoknvca + METHOD m_siwozrxd (Ljava/util/function/Predicate;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Z + ARG 1 holder + METHOD m_ysslswxl (Ljava/util/function/Predicate;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Z + ARG 1 holder + CLASS C_jyxfuyee Delegating + METHOD m_smgukdep getDelegate ()Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; CLASS C_etmlgbig Provider METHOD m_dnidhibf create (Ljava/util/stream/Stream;)Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; ARG 0 lookups - METHOD m_pbceiquw streamRegistryKeys ()Ljava/util/stream/Stream; + METHOD m_hlpdjttt getLifecycle ()Lcom/mojang/serialization/Lifecycle; + COMMENT @return the {@link com.mojang.serialization.Lifecycle lifecycle} for this provider, + COMMENT determined by the least-stable lifecycle amoungst its {@link #streamLookups lookups} + METHOD m_pbceiquw streamLookups ()Ljava/util/stream/Stream; METHOD m_uwaazyzq createSerializationContext (Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/unmapped/C_piadqmzm; + METHOD m_vwprjgpp streamRegistryKeys ()Ljava/util/stream/Stream; + METHOD m_wwvmnchf (Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + ARG 0 lookup diff --git a/mappings/net/minecraft/registry/Registry.mapping b/mappings/net/minecraft/registry/Registry.mapping index f12a6fdca5..678e410d6f 100644 --- a/mappings/net/minecraft/registry/Registry.mapping +++ b/mappings/net/minecraft/registry/Registry.mapping @@ -55,3 +55,6 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry ARG 0 registry ARG 1 id ARG 2 entry + CLASS C_dbbudibo + METHOD m_pipptaec getLookup ()Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + METHOD m_spczqdtt getKey ()Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/registry/SimpleRegistry.mapping b/mappings/net/minecraft/registry/SimpleRegistry.mapping index 870344c14b..b671df027d 100644 --- a/mappings/net/minecraft/registry/SimpleRegistry.mapping +++ b/mappings/net/minecraft/registry/SimpleRegistry.mapping @@ -5,8 +5,10 @@ CLASS net/minecraft/unmapped/C_secmvxxe net/minecraft/registry/SimpleRegistry FIELD f_mxojfjuq keyToRegistrationInfo Ljava/util/Map; FIELD f_ntcgjudy lifecycle Lcom/mojang/serialization/Lifecycle; FIELD f_oyicsmaj byId Ljava/util/Map; + FIELD f_tbjdirup tags Ljava/util/Map; FIELD f_tmrvgtrj entryToRawId Lit/unimi/dsi/fastutil/objects/Reference2IntMap; FIELD f_vizxqybx byKey Ljava/util/Map; + FIELD f_ynokispn tagBinding Lnet/minecraft/unmapped/C_secmvxxe$C_yoxjbwwh; FIELD f_ytdkeyex frozen Z METHOD (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;)V ARG 2 lifecycle @@ -21,3 +23,12 @@ CLASS net/minecraft/unmapped/C_secmvxxe net/minecraft/registry/SimpleRegistry METHOD m_vnznjtqt requireNotFrozen (Lnet/minecraft/unmapped/C_xhhleach;)V METHOD m_xynptmgp getValueFromNullable (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Ljava/lang/Object; ARG 0 reference + CLASS C_yoxjbwwh TagBinding + METHOD m_gmncclhh forEach (Ljava/util/function/BiConsumer;)V + ARG 1 tagConsumer + METHOD m_gssqepda createBound (Ljava/util/Map;)Lnet/minecraft/unmapped/C_secmvxxe$C_yoxjbwwh; + ARG 0 tags + METHOD m_olzjqlsq createUnbound ()Lnet/minecraft/unmapped/C_secmvxxe$C_yoxjbwwh; + METHOD m_pwfplpoh stream ()Ljava/util/stream/Stream; + METHOD m_wikjbukt isBound ()Z + METHOD m_xuztrjlm get (Lnet/minecraft/unmapped/C_ednuhnnn;)Ljava/util/Optional; diff --git a/mappings/net/minecraft/registry/tag/TagKey.mapping b/mappings/net/minecraft/registry/tag/TagKey.mapping index 8694470f9a..5301222f31 100644 --- a/mappings/net/minecraft/registry/tag/TagKey.mapping +++ b/mappings/net/minecraft/registry/tag/TagKey.mapping @@ -1,29 +1,19 @@ CLASS net/minecraft/unmapped/C_ednuhnnn net/minecraft/registry/tag/TagKey COMMENT Represents the key to a tag. FIELD f_fngkjvvp INTERNER Lcom/google/common/collect/Interner; - FIELD f_rhygxpit registry Lnet/minecraft/unmapped/C_xhhleach; FIELD f_wbefqdhh id Lnet/minecraft/unmapped/C_ncpywfca; METHOD (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)V - ARG 1 registry - ARG 2 id METHOD equals (Ljava/lang/Object;)Z ARG 1 o METHOD m_ahscublx registry ()Lnet/minecraft/unmapped/C_xhhleach; - COMMENT {@return the registry of the tag} + METHOD m_amzyqent createPacketCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qsrmwluu; METHOD m_cnhddcoq (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_ednuhnnn; - ARG 1 id METHOD m_cpofnwfv cast (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; - ARG 1 registry METHOD m_dfjqzijw createHashedCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; - ARG 0 registry METHOD m_falsrzjj (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_ednuhnnn; - ARG 1 id METHOD m_fhvidlta of (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_ednuhnnn; - ARG 0 registry - ARG 1 id METHOD m_kdwcbfsq createCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; - ARG 0 registry METHOD m_nimfilyc id ()Lnet/minecraft/unmapped/C_ncpywfca; - COMMENT {@return the identifier of the tag} + METHOD m_ojeiekxj (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;)Lcom/mojang/serialization/DataResult; + ARG 1 tagId METHOD m_shpovedp isOfRegistry (Lnet/minecraft/unmapped/C_xhhleach;)Z - ARG 1 registry diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index e4f81d5e2f..d095dfaf83 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -11,6 +11,7 @@ "com/mojang/serialization/codecs/RecordCodecBuilder$Instance": "instance", "com/mojang/serialization/MapCodec": "codec", "net/minecraft/unmapped/C_qsrmwluu": "packetCodec", // PacketCodec + "com/mojang/datafixers/util/Pair": "pair", // Data "net/minecraft/unmapped/C_nykrdyol": "exporter", // RecipeExporter @@ -31,6 +32,13 @@ "net/minecraft/unmapped/C_tqxyjqsk": "registry", "net/minecraft/unmapped/C_wqxmvzdq": "registryManager", // DynamicRegistryManager "net/minecraft/unmapped/C_hqoyyfco": "context", // BootstrapContext + "net/minecraft/unmapped/C_ednuhnnn": "tag", // TagKey + "net/minecraft/unmapped/C_ncpywfca": { + local_name: "id", + "fallback": [ + "identifier" + ] + }, // Client "net/minecraft/unmapped/C_ayfeobid": "client", // MinecraftClient From a88c6ec282e76407d735201bf9cc9795f07bcddc Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sun, 22 Sep 2024 18:30:44 -0700 Subject: [PATCH 05/24] complete n.m.registry.tag, more registry work --- .../minecraft/registry/HolderLookup.mapping | 2 +- .../net/minecraft/registry/HolderSet.mapping | 4 +- .../registry/MutableRegistry.mapping | 2 + .../net/minecraft/registry/Registries.mapping | 1 + .../net/minecraft/registry/Registry.mapping | 18 ++++++-- .../minecraft/registry/SimpleRegistry.mapping | 41 ++++++++++++++++++- .../minecraft/registry/tag/TagEntry.mapping | 2 + .../registry/tag/TagGroupLoader.mapping | 33 +++++++++++++++ .../net/minecraft/registry/tag/TagKey.mapping | 4 ++ .../tag/TagNetworkSerialization.mapping | 5 +++ .../util/collection/IndexedIterable.mapping | 2 +- simple_type_field_names.json5 | 11 ++++- 12 files changed, 115 insertions(+), 10 deletions(-) diff --git a/mappings/net/minecraft/registry/HolderLookup.mapping b/mappings/net/minecraft/registry/HolderLookup.mapping index 508f2d92da..a3a8e9b6ad 100644 --- a/mappings/net/minecraft/registry/HolderLookup.mapping +++ b/mappings/net/minecraft/registry/HolderLookup.mapping @@ -25,7 +25,7 @@ CLASS net/minecraft/unmapped/C_vtbxyypo net/minecraft/registry/HolderLookup ARG 0 lookups METHOD m_hlpdjttt getLifecycle ()Lcom/mojang/serialization/Lifecycle; COMMENT @return the {@link com.mojang.serialization.Lifecycle lifecycle} for this provider, - COMMENT determined by the least-stable lifecycle amoungst its {@link #streamLookups lookups} + COMMENT determined by the least-stable lifecycle amongst its {@link #streamLookups lookups} METHOD m_pbceiquw streamLookups ()Ljava/util/stream/Stream; METHOD m_uwaazyzq createSerializationContext (Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/unmapped/C_piadqmzm; METHOD m_vwprjgpp streamRegistryKeys ()Ljava/util/stream/Stream; diff --git a/mappings/net/minecraft/registry/HolderSet.mapping b/mappings/net/minecraft/registry/HolderSet.mapping index 9083e16945..b54a52f6bc 100644 --- a/mappings/net/minecraft/registry/HolderSet.mapping +++ b/mappings/net/minecraft/registry/HolderSet.mapping @@ -4,6 +4,7 @@ CLASS net/minecraft/unmapped/C_odfnijdo net/minecraft/registry/HolderSet ARG 0 contents METHOD m_dneqvpzw ownedBy (Lnet/minecraft/unmapped/C_hkebgttw;)Z ARG 1 owner + METHOD m_ebrshnnp isBound ()Z METHOD m_fewclxfb getTag ()Ljava/util/Optional; METHOD m_fzxplshe direct (Ljava/util/function/Function;Ljava/util/Collection;)Lnet/minecraft/unmapped/C_odfnijdo$C_zmwjwbow; ARG 0 mapper @@ -35,11 +36,10 @@ CLASS net/minecraft/unmapped/C_odfnijdo net/minecraft/registry/HolderSet ARG 1 owner ARG 2 key METHOD m_lvlpmfrg getKey ()Lnet/minecraft/unmapped/C_ednuhnnn; - METHOD m_zaedbqzo setContents (Ljava/util/List;)V + METHOD m_zaedbqzo bindTo (Ljava/util/List;)V ARG 1 contents CLASS C_zmwjwbow DirectSet FIELD f_sggtnbos contents Ljava/util/List; FIELD f_wamwqcjf contentsSet Ljava/util/Set; FIELD f_zqgrcisv EMPTY Lnet/minecraft/unmapped/C_odfnijdo$C_zmwjwbow; METHOD (Ljava/util/List;)V - ARG 1 contents diff --git a/mappings/net/minecraft/registry/MutableRegistry.mapping b/mappings/net/minecraft/registry/MutableRegistry.mapping index 5a7b727aa5..60ed76fd83 100644 --- a/mappings/net/minecraft/registry/MutableRegistry.mapping +++ b/mappings/net/minecraft/registry/MutableRegistry.mapping @@ -1,4 +1,6 @@ CLASS net/minecraft/unmapped/C_eexxncvi net/minecraft/registry/MutableRegistry + METHOD m_eneptwjq bindTag (Lnet/minecraft/unmapped/C_ednuhnnn;Ljava/util/List;)V + ARG 2 contents METHOD m_uapzeinx empty ()Z METHOD m_ulbocxwk getHolderProvider ()Lnet/minecraft/unmapped/C_pzdchrcy; METHOD m_yomgwjob register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;Lnet/minecraft/unmapped/C_jhxfjegj;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; diff --git a/mappings/net/minecraft/registry/Registries.mapping b/mappings/net/minecraft/registry/Registries.mapping index 844d84d7cc..63ecbfa80a 100644 --- a/mappings/net/minecraft/registry/Registries.mapping +++ b/mappings/net/minecraft/registry/Registries.mapping @@ -64,6 +64,7 @@ CLASS net/minecraft/unmapped/C_nusqeapl net/minecraft/registry/Registries FIELD f_zjshyqas DENSITY_FUNCTION Lnet/minecraft/unmapped/C_tqxyjqsk; FIELD f_zrzntavz BLOCK_ENTITY_TYPE Lnet/minecraft/unmapped/C_tqxyjqsk; FIELD f_zydiinmc TRUNK_PLACER_TYPE Lnet/minecraft/unmapped/C_tqxyjqsk; + METHOD m_eabwmwqn bindTagsToEmpty (Lnet/minecraft/unmapped/C_tqxyjqsk;)V METHOD m_fgyhnhhd freeze ()V METHOD m_grgbvblx createDefaultMappedUnfrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_zogerkic; METHOD m_gwxfieow createSimpleUnfrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_tqxyjqsk; diff --git a/mappings/net/minecraft/registry/Registry.mapping b/mappings/net/minecraft/registry/Registry.mapping index 678e410d6f..acdf9ee831 100644 --- a/mappings/net/minecraft/registry/Registry.mapping +++ b/mappings/net/minecraft/registry/Registry.mapping @@ -7,10 +7,15 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry ARG 1 entry METHOD m_ckzkjowv getKeys ()Ljava/util/Set; METHOD m_dixnzblu createIntrusiveHolder (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; - ARG 1 holder + ARG 1 entry METHOD m_fiunuwfp freeze ()Lnet/minecraft/unmapped/C_tqxyjqsk; + METHOD m_hnixtpdg find (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/util/Optional; + METHOD m_ifyosden get (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/Object; + ARG 1 entryKey METHOD m_ikxlhrge getOrEmpty (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; ARG 1 key + METHOD m_iotvxcay find (I)Ljava/util/Optional; + ARG 1 rawId METHOD m_jktnfzok registerHolder (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 registry ARG 1 id @@ -18,8 +23,10 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry METHOD m_keyttxmd getTagOrEmpty (Lnet/minecraft/unmapped/C_ednuhnnn;)Ljava/lang/Iterable; ARG 1 tag METHOD m_ksueyykv getReferenceHolderWithLifecycle ()Lcom/mojang/serialization/Codec; + METHOD m_kxeijgiq get (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/lang/Object; METHOD m_leajtcub stream ()Ljava/util/stream/Stream; METHOD m_nlhggctm getRegistrationInfo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 key METHOD m_nqhcjajy register (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/lang/Object;)Ljava/lang/Object; ARG 0 registry ARG 1 id @@ -27,6 +34,8 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry METHOD m_nqoydeav getEntries ()Ljava/util/Set; METHOD m_nzuihlla getRandomElement (Lnet/minecraft/unmapped/C_ednuhnnn;Lnet/minecraft/unmapped/C_rlomrsco;)Ljava/util/Optional; METHOD m_pquqhkot holderByNameCodec ()Lcom/mojang/serialization/Codec; + METHOD m_prsibeni startTagReload (Lnet/minecraft/unmapped/C_loluvnda$C_shtfmyxy;)Lnet/minecraft/unmapped/C_tqxyjqsk$C_dbbudibo; + ARG 1 registryTags METHOD m_pvyfqcdo getCodec ()Lcom/mojang/serialization/Codec; METHOD m_qeyctvgm asHolderIdMap ()Lnet/minecraft/unmapped/C_feaetnaz; METHOD m_qkhirdbw validateReference (Lnet/minecraft/unmapped/C_cjzoxshv;)Lcom/mojang/serialization/DataResult; @@ -43,10 +52,10 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry ARG 2 entry METHOD m_vnyaisgo getOrEmpty (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/util/Optional; ARG 1 id - METHOD m_vongjcbr getAny ()Ljava/util/Optional; + METHOD m_vongjcbr findAny ()Ljava/util/Optional; METHOD m_vqpjfuha getId (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_ncpywfca; ARG 1 entry - METHOD m_wicxsqqn getTags ()Ljava/util/stream/Stream; + METHOD m_wicxsqqn streamBoundTags ()Ljava/util/stream/Stream; METHOD m_wvmzcded registryHolder (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 registry ARG 1 key @@ -55,6 +64,7 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry ARG 0 registry ARG 1 id ARG 2 entry - CLASS C_dbbudibo + CLASS C_dbbudibo PendingTags + METHOD m_lucdhycj bind ()V METHOD m_pipptaec getLookup ()Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; METHOD m_spczqdtt getKey ()Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/registry/SimpleRegistry.mapping b/mappings/net/minecraft/registry/SimpleRegistry.mapping index b671df027d..cfa1fddd02 100644 --- a/mappings/net/minecraft/registry/SimpleRegistry.mapping +++ b/mappings/net/minecraft/registry/SimpleRegistry.mapping @@ -4,6 +4,7 @@ CLASS net/minecraft/unmapped/C_secmvxxe net/minecraft/registry/SimpleRegistry FIELD f_kyghykib rawIdToEntry Lit/unimi/dsi/fastutil/objects/ObjectList; FIELD f_mxojfjuq keyToRegistrationInfo Ljava/util/Map; FIELD f_ntcgjudy lifecycle Lcom/mojang/serialization/Lifecycle; + FIELD f_onmwzliz key Lnet/minecraft/unmapped/C_xhhleach; FIELD f_oyicsmaj byId Ljava/util/Map; FIELD f_tbjdirup tags Ljava/util/Map; FIELD f_tmrvgtrj entryToRawId Lit/unimi/dsi/fastutil/objects/Reference2IntMap; @@ -13,16 +14,54 @@ CLASS net/minecraft/unmapped/C_secmvxxe net/minecraft/registry/SimpleRegistry METHOD (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;)V ARG 2 lifecycle METHOD (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;Z)V - ARG 1 key ARG 2 lifecycle ARG 3 useIntrusiveHolders + METHOD m_begeftaf (Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)V + ARG 0 tag + METHOD m_cdbgcbew (Ljava/util/Map$Entry;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 unbound + METHOD m_diftscqc (Ljava/util/Map$Entry;)Z + ARG 0 entry + METHOD m_fedltpia (Lcom/google/common/collect/ImmutableMap$Builder;Ljava/util/Map;Lnet/minecraft/unmapped/C_ednuhnnn;Ljava/util/List;)V + ARG 3 tagKey + ARG 4 contents + METHOD m_fgflmyyk (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 1 registryKey + METHOD m_fmjzgjfu (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 1 registryKey METHOD m_gqfaubze requireNotFrozen ()V + METHOD m_gyjyxear refreshByKey ()V + METHOD m_kdrvxewn (Ljava/util/Map;Lnet/minecraft/unmapped/C_ednuhnnn;Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)V + ARG 2 key + ARG 3 tag + METHOD m_kgnrhaoz (Ljava/util/Map$Entry;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 unbound + METHOD m_mvpkkzyf bindTagsToEmpty ()V METHOD m_myvytbrr createTag (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu; ARG 1 key + METHOD m_ndsbyjne getOrCreateTag (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu; + ARG 1 key METHOD m_nikmvqdb getOrCreateHolderOrThrow (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + METHOD m_pmewrdcl (Ljava/util/Map;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 1 reference + METHOD m_pqtwoern (Lit/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap;)V + ARG 0 map + METHOD m_sskehwlu requireOwnedReference (Lnet/minecraft/unmapped/C_ednuhnnn;Lnet/minecraft/unmapped/C_cjzoxshv;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 2 holder + METHOD m_utkjswei (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 1 tEntry + METHOD m_uxxmjbws (Ljava/util/Map$Entry;)Z + ARG 0 entry METHOD m_vnznjtqt requireNotFrozen (Lnet/minecraft/unmapped/C_xhhleach;)V METHOD m_xynptmgp getValueFromNullable (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Ljava/lang/Object; ARG 0 reference + METHOD m_zidmplwf (Ljava/lang/Object;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 0 value + ARG 1 reference + CLASS C_hicdurkx + METHOD m_erbhfglg (Ljava/util/Map;Lnet/minecraft/unmapped/C_ednuhnnn;Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)V + ARG 1 key + ARG 2 tag CLASS C_yoxjbwwh TagBinding METHOD m_gmncclhh forEach (Ljava/util/function/BiConsumer;)V ARG 1 tagConsumer diff --git a/mappings/net/minecraft/registry/tag/TagEntry.mapping b/mappings/net/minecraft/registry/tag/TagEntry.mapping index 90a03bb802..21276924f7 100644 --- a/mappings/net/minecraft/registry/tag/TagEntry.mapping +++ b/mappings/net/minecraft/registry/tag/TagEntry.mapping @@ -36,6 +36,8 @@ CLASS net/minecraft/unmapped/C_rfhbnify net/minecraft/registry/tag/TagEntry METHOD m_swtlbreu visitOptionalDependencies (Ljava/util/function/Consumer;)V ARG 1 dependencyConsumer METHOD m_uxeswulh build (Lnet/minecraft/unmapped/C_rfhbnify$C_vjdvrntl;Ljava/util/function/Consumer;)Z + COMMENT @return {@code false} if this entry is {@link #required} and missing elements, + COMMENT or {@code true} otherwise ARG 1 lookup ARG 2 entryConsumer METHOD m_vcjbnogv (Lnet/minecraft/unmapped/C_tyjpezxh$C_pdblrsjv;)Lnet/minecraft/unmapped/C_rfhbnify; diff --git a/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping b/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping index 861f6a4760..8368e4c15a 100644 --- a/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping +++ b/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping @@ -5,19 +5,52 @@ CLASS net/minecraft/unmapped/C_loluvnda net/minecraft/registry/tag/TagGroupLoade METHOD (Ljava/util/function/Function;Ljava/lang/String;)V ARG 1 registryGetter ARG 2 dataType + METHOD m_bkqhferu startReload (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_wqxmvzdq;)Ljava/util/List; + METHOD m_cnrhcfvg (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/Map$Entry;)Lnet/minecraft/unmapped/C_ednuhnnn; + ARG 1 entry + METHOD m_ikawpeov findTagsForRegistry (Ljava/util/List;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_tqxyjqsk$C_dbbudibo; + ARG 0 pendingTags + ARG 1 registry + METHOD m_kyffttrm (Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/util/List;)V + ARG 3 entries + METHOD m_lxlpnfxr build (Ljava/util/Map;)Ljava/util/Map; + ARG 1 tagEntriesById METHOD m_lyfwhzmo (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/util/List; ARG 0 id + METHOD m_mvakemgw (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)Ljava/util/Optional; + ARG 1 registry + METHOD m_ntzdmsxk bind (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_eexxncvi;)V + METHOD m_pdezujhk bindPayloadTags (Lnet/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl;Lnet/minecraft/unmapped/C_eexxncvi;)V + METHOD m_pohiyfij (Lnet/minecraft/unmapped/C_ncpywfca;Ljava/util/List;)V + ARG 1 entries + METHOD m_pqihicpm mapTagsByKey (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/Map;)Ljava/util/Map; + ARG 0 registry + ARG 1 tagValuesById METHOD m_pxvzrgnx (Lnet/minecraft/unmapped/C_vnjbukpx;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/util/List;)V ARG 1 tagId + ARG 2 entries + METHOD m_qzspoexh collectLookups (Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd;Ljava/util/List;)Ljava/util/List; + ARG 0 frozenManager + ARG 1 pendingTags + METHOD m_sdvttiaz (Ljava/util/Map;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/util/List;)V ARG 2 values METHOD m_ugheewlx (Lnet/minecraft/unmapped/C_rfhbnify$C_vjdvrntl;Ljava/util/Map;Lnet/minecraft/unmapped/C_ncpywfca;Lnet/minecraft/unmapped/C_loluvnda$C_kgkcribd;)V ARG 3 dependencyId ARG 4 entry + METHOD m_vmlqwtwd tryBuildTag (Lnet/minecraft/unmapped/C_rfhbnify$C_vjdvrntl;Ljava/util/List;)Lcom/mojang/datafixers/util/Either; + ARG 1 lookup + ARG 2 entries + METHOD m_wzqzziti startReload (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_tqxyjqsk;)Ljava/util/Optional; + METHOD m_xplypekk (Ljava/util/List;Ljava/lang/String;Lnet/minecraft/unmapped/C_rfhbnify;)V + ARG 2 entry METHOD m_zgfhlzfp loadTags (Lnet/minecraft/unmapped/C_tmnrpasf;)Ljava/util/Map; ARG 1 manager + METHOD m_ztwvksdw (Ljava/util/List;Ljava/util/List;Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)V + ARG 2 registry CLASS C_csxylpni EntryWithSource CLASS C_kgkcribd SortingEntry METHOD m_dxolbnxx (Ljava/util/function/Consumer;Lnet/minecraft/unmapped/C_loluvnda$C_csxylpni;)V ARG 1 entry METHOD m_qmabmdkt (Ljava/util/function/Consumer;Lnet/minecraft/unmapped/C_loluvnda$C_csxylpni;)V ARG 1 entry + CLASS C_shtfmyxy RegistryTags diff --git a/mappings/net/minecraft/registry/tag/TagKey.mapping b/mappings/net/minecraft/registry/tag/TagKey.mapping index 5301222f31..0c9030528a 100644 --- a/mappings/net/minecraft/registry/tag/TagKey.mapping +++ b/mappings/net/minecraft/registry/tag/TagKey.mapping @@ -7,13 +7,17 @@ CLASS net/minecraft/unmapped/C_ednuhnnn net/minecraft/registry/tag/TagKey ARG 1 o METHOD m_ahscublx registry ()Lnet/minecraft/unmapped/C_xhhleach; METHOD m_amzyqent createPacketCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qsrmwluu; + ARG 0 registry METHOD m_cnhddcoq (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_ednuhnnn; METHOD m_cpofnwfv cast (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; METHOD m_dfjqzijw createHashedCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; + ARG 0 registry METHOD m_falsrzjj (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_ednuhnnn; METHOD m_fhvidlta of (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_ednuhnnn; METHOD m_kdwcbfsq createCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; + ARG 0 registry METHOD m_nimfilyc id ()Lnet/minecraft/unmapped/C_ncpywfca; METHOD m_ojeiekxj (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;)Lcom/mojang/serialization/DataResult; ARG 1 tagId METHOD m_shpovedp isOfRegistry (Lnet/minecraft/unmapped/C_xhhleach;)Z + ARG 1 registry diff --git a/mappings/net/minecraft/registry/tag/TagNetworkSerialization.mapping b/mappings/net/minecraft/registry/tag/TagNetworkSerialization.mapping index d7836e6770..5994944311 100644 --- a/mappings/net/minecraft/registry/tag/TagNetworkSerialization.mapping +++ b/mappings/net/minecraft/registry/tag/TagNetworkSerialization.mapping @@ -7,12 +7,17 @@ CLASS net/minecraft/unmapped/C_mnjlaveb net/minecraft/registry/tag/TagNetworkSer METHOD m_rbaywqeb (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_tqxyjqsk;Ljava/util/Map;Lnet/minecraft/unmapped/C_ncpywfca;Lit/unimi/dsi/fastutil/ints/IntList;)V ARG 3 rawKey ARG 4 rawIds + METHOD m_wlbzetjq (Lnet/minecraft/unmapped/C_tqxyjqsk;Ljava/util/Map;Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)V + ARG 2 tag METHOD m_woeawqvz (Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)Lcom/mojang/datafixers/util/Pair; ARG 0 entry CLASS C_mlxyrlwl NetworkPayload + FIELD f_ugaeqeld EMPTY Lnet/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl; FIELD f_vveyuvdt tags Ljava/util/Map; METHOD (Ljava/util/Map;)V ARG 1 tags + METHOD m_dvimurkf deserialize (Lnet/minecraft/unmapped/C_tqxyjqsk;)Lnet/minecraft/unmapped/C_loluvnda$C_shtfmyxy; + METHOD m_eeesjtic isEmpty ()Z METHOD m_rkwmkzdp write (Lnet/minecraft/unmapped/C_idfydwco;)V METHOD m_rusalxco read (Lnet/minecraft/unmapped/C_idfydwco;)Lnet/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl; ARG 0 packet diff --git a/mappings/net/minecraft/util/collection/IndexedIterable.mapping b/mappings/net/minecraft/util/collection/IndexedIterable.mapping index 1de9568af0..63ad0fd030 100644 --- a/mappings/net/minecraft/util/collection/IndexedIterable.mapping +++ b/mappings/net/minecraft/util/collection/IndexedIterable.mapping @@ -2,7 +2,7 @@ CLASS net/minecraft/unmapped/C_feaetnaz net/minecraft/util/collection/IndexedIte FIELD f_iecnjcxw DEFAULT I METHOD m_hjasljfw getRawIdOrThrow (Ljava/lang/Object;)I METHOD m_jmjsmdoh get (I)Ljava/lang/Object; - ARG 1 index + ARG 1 rawId METHOD m_lwumvtoo getOrThrow (I)Ljava/lang/Object; COMMENT {@return the value at {@code index}} COMMENT diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index d095dfaf83..350795d697 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -29,7 +29,10 @@ "net/minecraft/unmapped/C_pennblrk": "source", // ServerCommandSource // Registries - "net/minecraft/unmapped/C_tqxyjqsk": "registry", + "net/minecraft/unmapped/C_tqxyjqsk": { + local_name: "registry", + inherit: true + }, "net/minecraft/unmapped/C_wqxmvzdq": "registryManager", // DynamicRegistryManager "net/minecraft/unmapped/C_hqoyyfco": "context", // BootstrapContext "net/minecraft/unmapped/C_ednuhnnn": "tag", // TagKey @@ -155,6 +158,12 @@ // Network "net/minecraft/unmapped/C_idfydwco": "buf", // PacketByteBuf + "net/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl": { + local_name: "payload", + fallback: [ + "networkPayload" + ] + }, // World "net/minecraft/unmapped/C_cdctfzbn": "world", From e5ce8c33b21738fdfe935ca86850a8d6c1735c6a Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Mon, 23 Sep 2024 21:29:22 -0700 Subject: [PATCH 06/24] explicitly map CommandTreeUpdateS2CPacket consturctor param to work around proposer conflicts, make simple_type_field_names_path an input of insertAutoGeneratedMappings task, make 'id' simple type name exclusive --- build.gradle | 10 +++++++++- .../packet/s2c/play/CommandTreeUpdateS2CPacket.mapping | 2 ++ simple_type_field_names.json5 | 3 ++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 9e519efa2c..d33f8e8b1e 100644 --- a/build.gradle +++ b/build.gradle @@ -93,6 +93,7 @@ dependencies { } +import groovy.json.JsonSlurper import org.objectweb.asm.ClassVisitor import org.objectweb.asm.Opcodes import org.quiltmc.draftsman.asm.visitor.DraftsmanAdapterClassVisitor @@ -116,9 +117,16 @@ clean.doFirst { tasks.build.dependsOn "compressTiny", "tinyJar", "v2UnmergedMappingsJar", "v2MergedMappingsJar" task insertAutoGeneratedMappings(dependsOn: [buildMappingsTiny, downloadPerVersionMappings], type: AddProposedMappingsTask) { + final enigmaProfile = file("enigma_profile.json") + + inputs.file( + new JsonSlurper().parse(enigmaProfile) + .services.jar_indexer.args.simple_type_field_names_path + ) + inputJar.set mappings.fileConstants.perVersionMappingsJar inputMappings.set buildMappingsTiny.outputMappings - profile.set file("enigma_profile.json") + profile.set enigmaProfile } combineUnpickDefinitions { diff --git a/mappings/net/minecraft/network/packet/s2c/play/CommandTreeUpdateS2CPacket.mapping b/mappings/net/minecraft/network/packet/s2c/play/CommandTreeUpdateS2CPacket.mapping index 38bde50391..902cdf3c19 100644 --- a/mappings/net/minecraft/network/packet/s2c/play/CommandTreeUpdateS2CPacket.mapping +++ b/mappings/net/minecraft/network/packet/s2c/play/CommandTreeUpdateS2CPacket.mapping @@ -71,6 +71,8 @@ CLASS net/minecraft/unmapped/C_vzeoulff net/minecraft/network/packet/s2c/play/Co FIELD f_mndqyfwo argumentType Lnet/minecraft/unmapped/C_yvmgapuw$C_jhdtbgye; METHOD (Lcom/mojang/brigadier/tree/ArgumentCommandNode;)V ARG 1 commandNode + METHOD (Ljava/lang/String;Lnet/minecraft/unmapped/C_yvmgapuw$C_jhdtbgye;Lnet/minecraft/unmapped/C_ncpywfca;)V + ARG 3 suggestionId METHOD m_bncjsviq getSuggestionId (Lcom/mojang/brigadier/suggestion/SuggestionProvider;)Lnet/minecraft/unmapped/C_ncpywfca; ARG 0 provider METHOD m_mkgsnfyv write (Lnet/minecraft/unmapped/C_idfydwco;Lnet/minecraft/unmapped/C_yvmgapuw$C_jhdtbgye;)V diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index 350795d697..5491b1712b 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -38,7 +38,8 @@ "net/minecraft/unmapped/C_ednuhnnn": "tag", // TagKey "net/minecraft/unmapped/C_ncpywfca": { local_name: "id", - "fallback": [ + exclusive: true, + fallback: [ "identifier" ] }, From 3e107f0709c53cf290cd8a7a46e374ee2bda8419 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Tue, 24 Sep 2024 03:49:27 -0700 Subject: [PATCH 07/24] complete n.m.registry --- .../resources/minecraft_specific_words.txt | 1 + .../minecraft/loot/LootTableReporter.mapping | 5 ++ .../registry/BootstrapContext.mapping | 1 + .../registry/DynamicRegistrySync.mapping | 10 ++++ .../net/minecraft/registry/Holder.mapping | 3 ++ .../minecraft/registry/HolderLookup.mapping | 2 +- .../net/minecraft/registry/Registries.mapping | 11 +++- .../net/minecraft/registry/Registry.mapping | 15 ++++++ .../minecraft/registry/RegistryCloner.mapping | 8 ++- .../minecraft/registry/RegistryKey.mapping | 5 +- .../minecraft/registry/RegistryKeys.mapping | 4 ++ .../minecraft/registry/RegistryLoader.mapping | 51 +++++++++++++++++-- .../minecraft/registry/RegistryOps.mapping | 24 +++++++-- .../registry/RegistrySetBuilder.mapping | 40 +++++++++++++++ .../registry/ReloadableRegistries.mapping | 30 ++++++++++- .../net/minecraft/util/ErrorReporter.mapping | 8 +-- .../net/minecraft/util/dynamic/Codecs.mapping | 2 +- 17 files changed, 203 insertions(+), 17 deletions(-) diff --git a/buildSrc/src/main/resources/minecraft_specific_words.txt b/buildSrc/src/main/resources/minecraft_specific_words.txt index d506734d62..b3ec7ac56e 100644 --- a/buildSrc/src/main/resources/minecraft_specific_words.txt +++ b/buildSrc/src/main/resources/minecraft_specific_words.txt @@ -516,6 +516,7 @@ unicode // registry memoize +memoized unregister // javadoc diff --git a/mappings/net/minecraft/loot/LootTableReporter.mapping b/mappings/net/minecraft/loot/LootTableReporter.mapping index 8d0ad28097..92351b5bfa 100644 --- a/mappings/net/minecraft/loot/LootTableReporter.mapping +++ b/mappings/net/minecraft/loot/LootTableReporter.mapping @@ -3,6 +3,9 @@ CLASS net/minecraft/unmapped/C_eumtgsbp net/minecraft/loot/LootTableReporter FIELD f_psnzcplo visitedElements Ljava/util/Set; FIELD f_spdbzdri dataLookup Ljava/util/Optional; FIELD f_tqavjmzz contextType Lnet/minecraft/unmapped/C_vczsvjil; + METHOD (Lnet/minecraft/unmapped/C_jtpvewkp;Lnet/minecraft/unmapped/C_vczsvjil;Lnet/minecraft/unmapped/C_pzdchrcy$C_pbvqpmst;)V + ARG 3 dataLookup + METHOD m_cftbvarw getErrorReporter ()Lnet/minecraft/unmapped/C_jtpvewkp; METHOD m_glhnmzie makeChild (Ljava/lang/String;)Lnet/minecraft/unmapped/C_eumtgsbp; ARG 1 name METHOD m_gqledvzt validateContext (Lnet/minecraft/unmapped/C_dogcxkxz;)V @@ -10,8 +13,10 @@ CLASS net/minecraft/unmapped/C_eumtgsbp net/minecraft/loot/LootTableReporter METHOD m_jwjmhnkf makeChild (Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_eumtgsbp; ARG 1 name METHOD m_qfxfbvfj hasVisited (Lnet/minecraft/unmapped/C_xhhleach;)Z + ARG 1 element METHOD m_qktyesto withContextType (Lnet/minecraft/unmapped/C_vczsvjil;)Lnet/minecraft/unmapped/C_eumtgsbp; ARG 1 contextType METHOD m_rxfxlyoi getDataLookup ()Lnet/minecraft/unmapped/C_pzdchrcy$C_pbvqpmst; METHOD m_tbxtkgvh report (Ljava/lang/String;)V ARG 1 message + METHOD m_tsoypkps hasDataLookup ()Z diff --git a/mappings/net/minecraft/registry/BootstrapContext.mapping b/mappings/net/minecraft/registry/BootstrapContext.mapping index 3a1b19e1a0..113cf2c73c 100644 --- a/mappings/net/minecraft/registry/BootstrapContext.mapping +++ b/mappings/net/minecraft/registry/BootstrapContext.mapping @@ -1,5 +1,6 @@ CLASS net/minecraft/unmapped/C_hqoyyfco net/minecraft/registry/BootstrapContext METHOD m_cajjlsxn getRegistryLookup (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_pzdchrcy; + ARG 1 registry METHOD m_pymxizhb register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 1 key ARG 2 object diff --git a/mappings/net/minecraft/registry/DynamicRegistrySync.mapping b/mappings/net/minecraft/registry/DynamicRegistrySync.mapping index 0a1d2bf50f..3540b2adfe 100644 --- a/mappings/net/minecraft/registry/DynamicRegistrySync.mapping +++ b/mappings/net/minecraft/registry/DynamicRegistrySync.mapping @@ -6,10 +6,20 @@ CLASS net/minecraft/unmapped/C_uhbbwvga net/minecraft/registry/DynamicRegistrySy ARG 4 registryConsumer METHOD m_cakupvxg streamReloadableSyncedRegistries (Lnet/minecraft/unmapped/C_bcpxdrik;)Ljava/util/stream/Stream; ARG 0 registryManager + METHOD m_cjpxffqt (Lnet/minecraft/unmapped/C_tqxyjqsk;Ljava/util/Set;Lnet/minecraft/unmapped/C_ratuauki$C_qpshoosu;Lcom/mojang/serialization/DynamicOps;Ljava/util/List;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 5 holder + METHOD m_cttmreul (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;Ljava/lang/String;)Ljava/lang/IllegalArgumentException; + ARG 1 errorMessage METHOD m_gnuhreao streamTaggableRegistries (Lnet/minecraft/unmapped/C_bcpxdrik;)Ljava/util/stream/Stream; ARG 0 layeredRegistryManager + METHOD m_kfoqspmu (Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)Z + ARG 0 registry METHOD m_mtiqpvjp forEachSyncedRegistry (Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/unmapped/C_wqxmvzdq;Ljava/util/Set;Ljava/util/function/BiConsumer;)V ARG 2 knownPacks ARG 3 registryConsumer + METHOD m_pacstrfb (Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/unmapped/C_wqxmvzdq;Ljava/util/Set;Ljava/util/function/BiConsumer;Lnet/minecraft/unmapped/C_ratuauki$C_qpshoosu;)V + ARG 4 data METHOD m_vcpumcmq streamSyncedRegistries (Lnet/minecraft/unmapped/C_wqxmvzdq;)Ljava/util/stream/Stream; + METHOD m_wzlxyjqc isSynced (Lnet/minecraft/unmapped/C_xhhleach;)Z + ARG 0 registry CLASS C_iikocaff SerializedRegistryEntry diff --git a/mappings/net/minecraft/registry/Holder.mapping b/mappings/net/minecraft/registry/Holder.mapping index 09f15770c0..75b5868e6e 100644 --- a/mappings/net/minecraft/registry/Holder.mapping +++ b/mappings/net/minecraft/registry/Holder.mapping @@ -19,6 +19,8 @@ CLASS net/minecraft/unmapped/C_cjzoxshv net/minecraft/registry/Holder ARG 1 owner METHOD m_uwpxznsu streamTags ()Ljava/util/stream/Stream; METHOD m_ydnvjjng value ()Ljava/lang/Object; + METHOD m_ynppqgwx (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/String; + ARG 0 key METHOD m_znglmuwb getKind ()Lnet/minecraft/unmapped/C_cjzoxshv$C_dflbytmp; CLASS C_dflbytmp Kind CLASS C_rjzpeyec Reference @@ -35,6 +37,7 @@ CLASS net/minecraft/unmapped/C_cjzoxshv net/minecraft/registry/Holder ARG 0 owner ARG 1 value METHOD m_fkurmhix setRegistryKey (Lnet/minecraft/unmapped/C_xhhleach;)V + METHOD m_loesexpf getTags ()Ljava/util/Set; METHOD m_spfiiuqs create (Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 owner ARG 1 registryKey diff --git a/mappings/net/minecraft/registry/HolderLookup.mapping b/mappings/net/minecraft/registry/HolderLookup.mapping index a3a8e9b6ad..8943be29b6 100644 --- a/mappings/net/minecraft/registry/HolderLookup.mapping +++ b/mappings/net/minecraft/registry/HolderLookup.mapping @@ -1,5 +1,5 @@ CLASS net/minecraft/unmapped/C_vtbxyypo net/minecraft/registry/HolderLookup - METHOD m_cjhuibvn holders ()Ljava/util/stream/Stream; + METHOD m_cjhuibvn streamHolders ()Ljava/util/stream/Stream; METHOD m_pgmbmohw streamTagKeys ()Ljava/util/stream/Stream; METHOD m_rpikeuoc streamTags ()Ljava/util/stream/Stream; METHOD m_vtchccnr streamElementKeys ()Ljava/util/stream/Stream; diff --git a/mappings/net/minecraft/registry/Registries.mapping b/mappings/net/minecraft/registry/Registries.mapping index 63ecbfa80a..250502f861 100644 --- a/mappings/net/minecraft/registry/Registries.mapping +++ b/mappings/net/minecraft/registry/Registries.mapping @@ -67,14 +67,23 @@ CLASS net/minecraft/unmapped/C_nusqeapl net/minecraft/registry/Registries METHOD m_eabwmwqn bindTagsToEmpty (Lnet/minecraft/unmapped/C_tqxyjqsk;)V METHOD m_fgyhnhhd freeze ()V METHOD m_grgbvblx createDefaultMappedUnfrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_zogerkic; + ARG 0 key METHOD m_gwxfieow createSimpleUnfrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_tqxyjqsk; + ARG 0 key METHOD m_hhgwdqyg internalRegister (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_eexxncvi; ARG 1 entry ARG 2 bootstrap METHOD m_lzhvsneq createDefaultMappedFrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_zogerkic; + ARG 0 key METHOD m_mwsegmux bootstrap ()V + METHOD m_ouwxdits (Lnet/minecraft/unmapped/C_ncpywfca;Ljava/util/function/Supplier;)V + ARG 1 bootstrapper METHOD m_sgrkhfqj validate (Lnet/minecraft/unmapped/C_tqxyjqsk;)V - ARG 0 registries + ARG 0 root + METHOD m_uavjgjwm getHolderProvider (Lnet/minecraft/unmapped/C_tqxyjqsk;)Lnet/minecraft/unmapped/C_pzdchrcy; + METHOD m_ujzdknrq (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_tqxyjqsk;)V + ARG 1 registry METHOD m_ybecmlwo createContents ()V METHOD m_ydemdayj createSimpleFrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_tqxyjqsk; + ARG 0 key CLASS C_qpkaxgeh RegistryBootstrap diff --git a/mappings/net/minecraft/registry/Registry.mapping b/mappings/net/minecraft/registry/Registry.mapping index acdf9ee831..fdf53d832c 100644 --- a/mappings/net/minecraft/registry/Registry.mapping +++ b/mappings/net/minecraft/registry/Registry.mapping @@ -1,6 +1,12 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry METHOD keys (Lcom/mojang/serialization/DynamicOps;)Ljava/util/stream/Stream; ARG 1 dynamicOps + METHOD m_aeqgxwbv (Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; + ARG 1 value + METHOD m_auupvvtk getOrThrow (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/Object; + ARG 1 key + METHOD m_blmrlzel (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Lnet/minecraft/unmapped/C_cjzoxshv; + ARG 0 reference METHOD m_bpoptgww wrapAsHolder (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv; ARG 1 entry METHOD m_cjwbheqc getKey (Ljava/lang/Object;)Ljava/util/Optional; @@ -25,6 +31,8 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry METHOD m_ksueyykv getReferenceHolderWithLifecycle ()Lcom/mojang/serialization/Codec; METHOD m_kxeijgiq get (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/lang/Object; METHOD m_leajtcub stream ()Ljava/util/stream/Stream; + METHOD m_ltdpyfam (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Lcom/mojang/serialization/Lifecycle; + ARG 1 reference METHOD m_nlhggctm getRegistrationInfo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; ARG 1 key METHOD m_nqhcjajy register (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/lang/Object;)Ljava/lang/Object; @@ -55,15 +63,22 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry METHOD m_vongjcbr findAny ()Ljava/util/Optional; METHOD m_vqpjfuha getId (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_ncpywfca; ARG 1 entry + METHOD m_vzcxipcd (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 reference METHOD m_wicxsqqn streamBoundTags ()Ljava/util/stream/Stream; METHOD m_wvmzcded registryHolder (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 registry ARG 1 key ARG 2 entry + METHOD m_wvztvxeq (Lnet/minecraft/unmapped/C_rlomrsco;Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)Ljava/util/Optional; + ARG 1 values METHOD m_xyrkdyzg register (Lnet/minecraft/unmapped/C_tqxyjqsk;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; ARG 0 registry ARG 1 id ARG 2 entry + CLASS C_civshlgy + METHOD m_timkjzrb (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Lnet/minecraft/unmapped/C_cjzoxshv; + ARG 0 holder CLASS C_dbbudibo PendingTags METHOD m_lucdhycj bind ()V METHOD m_pipptaec getLookup ()Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; diff --git a/mappings/net/minecraft/registry/RegistryCloner.mapping b/mappings/net/minecraft/registry/RegistryCloner.mapping index 81e8ea8604..13484f9a83 100644 --- a/mappings/net/minecraft/registry/RegistryCloner.mapping +++ b/mappings/net/minecraft/registry/RegistryCloner.mapping @@ -1,9 +1,15 @@ CLASS net/minecraft/unmapped/C_nlcdnclu net/minecraft/registry/RegistryCloner + METHOD m_qklykybk (Ljava/lang/String;)Ljava/lang/IllegalStateException; + ARG 0 errorMessage + METHOD m_qycjgtcz (Ljava/lang/String;)Ljava/lang/IllegalStateException; + ARG 0 errorMessage METHOD m_zduexkww clone (Ljava/lang/Object;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Ljava/lang/Object; ARG 1 value ARG 2 subsetLookupProvider ARG 3 fullLookupProvider CLASS C_bxhpbcyq CloneableRegistries - FIELD f_naqxvgob registries Ljava/util/Map; + FIELD f_naqxvgob cloners Ljava/util/Map; METHOD m_dtbyqapc with (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Codec;)Lnet/minecraft/unmapped/C_nlcdnclu$C_bxhpbcyq; + ARG 1 registry METHOD m_lmwgprcv get (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_nlcdnclu; + ARG 1 registry diff --git a/mappings/net/minecraft/registry/RegistryKey.mapping b/mappings/net/minecraft/registry/RegistryKey.mapping index 364a95b421..3924b6c202 100644 --- a/mappings/net/minecraft/registry/RegistryKey.mapping +++ b/mappings/net/minecraft/registry/RegistryKey.mapping @@ -15,7 +15,8 @@ CLASS net/minecraft/unmapped/C_xhhleach net/minecraft/registry/RegistryKey METHOD m_achtcauh (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_xhhleach; ARG 1 value METHOD m_acppaety registryKey ()Lnet/minecraft/unmapped/C_xhhleach; - METHOD m_bbzwrvpr packetCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qsrmwluu; + METHOD m_bbzwrvpr createPacketCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qsrmwluu; + ARG 0 key METHOD m_fvrtwzrl of (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_xhhleach; COMMENT Creates a registry key for a value in a registry with a registry key for COMMENT the value-holding registry in the root registry and an identifier of the @@ -37,7 +38,7 @@ CLASS net/minecraft/unmapped/C_xhhleach net/minecraft/registry/RegistryKey COMMENT Returns whether this registry key belongs to the given registry (according to its type, not whether the registry actually contains this key). ARG 1 registry COMMENT the key of the registry that this registry key should be inside - METHOD m_omukrpmi codec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; + METHOD m_omukrpmi createCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; ARG 0 key METHOD m_puwkoaeq ofRegistry (Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_xhhleach; COMMENT Creates a registry key for a registry in the root registry (registry of diff --git a/mappings/net/minecraft/registry/RegistryKeys.mapping b/mappings/net/minecraft/registry/RegistryKeys.mapping index 68200a9db5..bec3bd62ef 100644 --- a/mappings/net/minecraft/registry/RegistryKeys.mapping +++ b/mappings/net/minecraft/registry/RegistryKeys.mapping @@ -88,8 +88,12 @@ CLASS net/minecraft/unmapped/C_msgswxvc net/minecraft/registry/RegistryKeys FIELD f_yvlnvzna GAME_EVENT Lnet/minecraft/unmapped/C_xhhleach; FIELD f_zgbgqibe PLACEMENT_MODIFIER_TYPE Lnet/minecraft/unmapped/C_xhhleach; METHOD m_bdariitd getTagDirectory (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/String; + ARG 0 registry METHOD m_gtztdwoq asWorldKey (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 dimensionOptions METHOD m_hnrinasr createRegistryKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; ARG 0 id METHOD m_oinrvkni asDimensionKey (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 world METHOD m_zcwdptpx getDirectory (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/String; + ARG 0 registry diff --git a/mappings/net/minecraft/registry/RegistryLoader.mapping b/mappings/net/minecraft/registry/RegistryLoader.mapping index ba0a8a23e8..2b6bf637be 100644 --- a/mappings/net/minecraft/registry/RegistryLoader.mapping +++ b/mappings/net/minecraft/registry/RegistryLoader.mapping @@ -3,34 +3,78 @@ CLASS net/minecraft/unmapped/C_ratuauki net/minecraft/registry/RegistryLoader FIELD f_jezobqyr SYNCED_REGISTRIES Ljava/util/List; FIELD f_mbwjyulc WORLDGEN_REGISTRIES Ljava/util/List; FIELD f_mwvwmgqu REGISTRATION_INFO_CACHE Ljava/util/function/Function; + FIELD f_ojcgnnbc KEY_COMPARATOR Ljava/util/Comparator; FIELD f_ytrbmnwo DIMENSION_REGISTRIES Ljava/util/List; - METHOD m_bszcilsu printExceptions (Ljava/util/Map;)Lnet/minecraft/unmapped/C_zmbivxlv; + METHOD m_bszcilsu logAndCreateCrashException (Ljava/util/Map;)Lnet/minecraft/unmapped/C_zmbivxlv; ARG 0 collectedExceptions + METHOD m_colxglbr (Ljava/util/Map;Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;)V + ARG 1 loader + METHOD m_dpiyppgl (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V + ARG 1 contentLoader + ARG 2 infoLookup + METHOD m_dzsznngh (Ljava/util/Map$Entry;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 entry METHOD m_etwoconu loadFromManager (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;Lnet/minecraft/unmapped/C_eexxncvi;Lcom/mojang/serialization/Decoder;Ljava/util/Map;)V ARG 2 registry ARG 3 elementDecoder ARG 4 errors + METHOD m_gffqfamt (Ljava/util/Map;Lnet/minecraft/unmapped/C_ratuauki$C_qpshoosu;)Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv; + ARG 1 registryData + METHOD m_gperoudv (Ljava/util/Map;Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;)V + ARG 1 contentLoader + METHOD m_guprgboh (Ljava/util/Map$Entry;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 entry + METHOD m_hozhswck (Ljava/lang/Boolean;)Lcom/mojang/serialization/Lifecycle; + ARG 0 unused + METHOD m_icshdwsu (Ljava/io/PrintWriter;Ljava/util/Map$Entry;)V + ARG 1 registryElementExceptions METHOD m_iulkejcw createInfoForNewRegistry (Lnet/minecraft/unmapped/C_eexxncvi;)Lnet/minecraft/unmapped/C_piadqmzm$C_sznlrmbg; ARG 0 registry + METHOD m_jqrxkesh load (Lnet/minecraft/unmapped/C_ratuauki$C_kprmzsuj;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd; + ARG 0 loadingFunction + ARG 2 registryDatas + METHOD m_lcaitrsg (Ljava/util/Map;Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)V + ARG 1 lookup + METHOD m_lxzhrmte loadFromNetwork (Ljava/util/Map;Lnet/minecraft/unmapped/C_xadhkzfq;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd; + ARG 0 entries + ARG 1 factory METHOD m_mcjxwvrf createContext (Ljava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl; - ARG 0 registriesAndLoaders + ARG 0 lookups + ARG 1 contentLoaders + METHOD m_mhfvkskx (Lnet/minecraft/unmapped/C_ratuauki$C_kprmzsuj;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;)V + ARG 2 contentLoader METHOD m_mzzokuhr loadElementFromResource (Lnet/minecraft/unmapped/C_eexxncvi;Lcom/mojang/serialization/Decoder;Lnet/minecraft/unmapped/C_piadqmzm;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_tuynegco;Lnet/minecraft/unmapped/C_jhxfjegj;)V ARG 0 registry ARG 1 decoder ARG 2 ops ARG 4 resource + METHOD m_nfxbkpmx (Ljava/util/Map;Lnet/minecraft/unmapped/C_xadhkzfq;Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V + ARG 2 contentLoader + ARG 3 infoLookup + METHOD m_npgdgrqs createCrashException (Ljava/util/Map;)Lnet/minecraft/unmapped/C_zmbivxlv; + ARG 0 collectedExceptions + METHOD m_rbymmjgv (Ljava/io/PrintWriter;Ljava/util/Map$Entry;)V + ARG 1 elementException METHOD m_rlsjdntz createInfoForContextRegistry (Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)Lnet/minecraft/unmapped/C_piadqmzm$C_sznlrmbg; + ARG 0 lookup + METHOD m_rxpksoew (Ljava/util/Optional;)Lnet/minecraft/unmapped/C_jhxfjegj; + ARG 0 pack METHOD m_sqqlbqim loadFromNetwork (Ljava/util/Map;Lnet/minecraft/unmapped/C_xadhkzfq;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;Lnet/minecraft/unmapped/C_eexxncvi;Lcom/mojang/serialization/Decoder;Ljava/util/Map;)V ARG 0 entries ARG 1 factory ARG 3 registry ARG 4 elementDecoder ARG 5 errors + METHOD m_vdmamojt loadFromResource (Lnet/minecraft/unmapped/C_tmnrpasf;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_wqxmvzdq$C_ggmzysrd; + METHOD m_xnajouwy logExceptions (Ljava/util/Map;)V + ARG 0 collectedExceptions + METHOD m_zgjrdisl (Ljava/lang/StringBuilder;Ljava/util/Map$Entry;)V + ARG 1 entry CLASS C_kfdvqtiv ContentLoader METHOD m_cclfkymr loadFromNetwork (Ljava/util/Map;Lnet/minecraft/unmapped/C_xadhkzfq;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V METHOD m_lvoknnbl loadFromResource (Lnet/minecraft/unmapped/C_tmnrpasf;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V CLASS C_kprmzsuj LoadingFunction - METHOD apply (Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V + METHOD apply load (Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V ARG 1 loader ARG 2 infoLookup CLASS C_qpshoosu DecodingData @@ -39,3 +83,4 @@ CLASS net/minecraft/unmapped/C_ratuauki net/minecraft/registry/RegistryLoader METHOD m_qxfeaogn createRegistryAndLoader (Lcom/mojang/serialization/Lifecycle;Ljava/util/Map;)Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv; ARG 1 lifecycle ARG 2 collectedExceptions + CLASS C_zhgblbig NetworkEntries diff --git a/mappings/net/minecraft/registry/RegistryOps.mapping b/mappings/net/minecraft/registry/RegistryOps.mapping index 064820d9a7..6a2c0541b6 100644 --- a/mappings/net/minecraft/registry/RegistryOps.mapping +++ b/mappings/net/minecraft/registry/RegistryOps.mapping @@ -2,19 +2,37 @@ CLASS net/minecraft/unmapped/C_piadqmzm net/minecraft/registry/RegistryOps FIELD f_vdicfwsi infoLookup Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl; METHOD (Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)V ARG 2 infoLookup + METHOD m_bckocqhu (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_piadqmzm$C_sznlrmbg;)Ljava/util/Optional; + ARG 1 info METHOD m_cbajopsh withRegistry (Lcom/mojang/serialization/Dynamic;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Lcom/mojang/serialization/Dynamic; ARG 1 lookupProvider METHOD m_cbpcvxox create (Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Lnet/minecraft/unmapped/C_piadqmzm; ARG 1 provider - METHOD m_csmsiyjj retrieveElement (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; + METHOD m_csmsiyjj createElementVerifier (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; + ARG 0 element + METHOD m_hwvsonxs (Lnet/minecraft/unmapped/C_piadqmzm$C_sznlrmbg;)Lcom/mojang/serialization/DataResult; + ARG 0 info + METHOD m_kftazkdh (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 0 ignored METHOD m_pztmqyhp getHolderProvider (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry + METHOD m_skdgkhyw (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_pzdchrcy; + ARG 0 ignored METHOD m_ullsawcn getOwner (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry METHOD m_uvzmikbu withDelegate (Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/unmapped/C_piadqmzm; METHOD m_vbfmluid create (Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/unmapped/C_piadqmzm$C_raywzonl;)Lnet/minecraft/unmapped/C_piadqmzm; ARG 1 infoLookup - METHOD m_yxpznfcj retrieveGetter (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; + METHOD m_yxpznfcj createRegistryVerifier (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; + ARG 0 registry CLASS C_raywzonl RegistryInfoLookup - METHOD m_vxddufef lookup (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + METHOD m_vxddufef getInfo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry CLASS C_sznlrmbg RegistryInfo METHOD m_kblhssdn create (Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)Lnet/minecraft/unmapped/C_piadqmzm$C_sznlrmbg; ARG 0 lookup + CLASS C_tbnrbtat MemoizedInfoLookup + FIELD f_weufdavy registryInfos Ljava/util/Map; + FIELD f_znfdfzvf provider Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; + METHOD m_rakmcorl createRegistryInfo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry diff --git a/mappings/net/minecraft/registry/RegistrySetBuilder.mapping b/mappings/net/minecraft/registry/RegistrySetBuilder.mapping index 51daa5ee63..5914defa77 100644 --- a/mappings/net/minecraft/registry/RegistrySetBuilder.mapping +++ b/mappings/net/minecraft/registry/RegistrySetBuilder.mapping @@ -3,6 +3,16 @@ CLASS net/minecraft/unmapped/C_tncydixy net/minecraft/registry/RegistrySetBuilde METHOD m_caorxpdk createState (Lnet/minecraft/unmapped/C_wqxmvzdq;)Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn; METHOD m_copcctyu buildPatch (Lnet/minecraft/unmapped/C_wqxmvzdq;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_nlcdnclu$C_bxhpbcyq;)Lnet/minecraft/unmapped/C_tncydixy$C_ieiskvte; ARG 2 provider + METHOD m_dalaoixn (Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn;Lnet/minecraft/unmapped/C_tncydixy$C_svehzhem;)V + ARG 1 entry + METHOD m_domwtxfw (Ljava/util/Map;Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)V + ARG 1 registry + METHOD m_eahljcxs (Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn;Lnet/minecraft/unmapped/C_tncydixy$C_svehzhem;)Lnet/minecraft/unmapped/C_tncydixy$C_ibrokpip; + ARG 1 entry + METHOD m_ebzwugfl (Ljava/util/Map;Lnet/minecraft/unmapped/C_tncydixy$C_ibrokpip;)V + ARG 1 contents + METHOD m_fubmiija (Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_nlcdnclu;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lorg/apache/commons/lang3/mutable/MutableObject;Ljava/util/Map;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 5 holder METHOD m_fuvpcytb add (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;Lnet/minecraft/unmapped/C_tncydixy$C_nxwigvql;)Lnet/minecraft/unmapped/C_tncydixy; ARG 2 lifecycle ARG 3 bootstrap @@ -17,19 +27,39 @@ CLASS net/minecraft/unmapped/C_tncydixy net/minecraft/registry/RegistrySetBuilde ARG 2 lookups METHOD m_kkeolqvv applyPatches (Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_nlcdnclu$C_bxhpbcyq;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lorg/apache/commons/lang3/mutable/MutableObject;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; ARG 2 cloneableRegistries + ARG 3 registry ARG 4 patchLookupProvider ARG 5 baseLookupProvider ARG 6 lazyWrapper + METHOD m_lyxtrygr (Ljava/util/Map;Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_nlcdnclu;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lorg/apache/commons/lang3/mutable/MutableObject;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 5 holder METHOD m_neszlanl add (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_tncydixy$C_nxwigvql;)Lnet/minecraft/unmapped/C_tncydixy; ARG 2 bootstrap + METHOD m_qibtoybu (Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn;Lnet/minecraft/unmapped/C_tncydixy$C_svehzhem;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + ARG 1 entry + METHOD m_scgbjiwa (Ljava/util/Map;Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 newKey + METHOD m_sioqyyhc (Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nlcdnclu;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lorg/apache/commons/lang3/mutable/MutableObject;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 6 unused METHOD m_toqvdyew createLookup (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;Lnet/minecraft/unmapped/C_hkebgttw;Ljava/util/Map;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + ARG 0 registry ARG 1 lifecycle ARG 2 owner ARG 3 entries METHOD m_uhodzprv wrapLookup (Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)Lnet/minecraft/unmapped/C_pzdchrcy; ARG 0 lookup + METHOD m_xqipycnd (Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn;Lnet/minecraft/unmapped/C_tncydixy$C_ibrokpip;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + ARG 1 contents + METHOD m_xrtdcnhf (Ljava/util/Set;Lnet/minecraft/unmapped/C_xhhleach;)Z + ARG 1 key + METHOD m_zgqtqvil (Lnet/minecraft/unmapped/C_tncydixy$C_mydfhsyb;Lnet/minecraft/unmapped/C_nlcdnclu$C_bxhpbcyq;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lorg/apache/commons/lang3/mutable/MutableObject;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + ARG 6 key + METHOD m_ztcemixv (Ljava/util/Map;Lnet/minecraft/unmapped/C_tncydixy$C_mydfhsyb;Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)V + ARG 2 lookup CLASS C_dzakpbmy RegisteredValue CLASS C_ibrokpip RegistryContents + METHOD m_eadidwoq (Lnet/minecraft/unmapped/C_tncydixy$C_mydfhsyb;Ljava/util/Map$Entry;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 1 entry METHOD m_zsotplrt buildLookup (Lnet/minecraft/unmapped/C_tncydixy$C_mydfhsyb;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; ARG 1 owner CLASS C_ieiskvte PatchedRegistries @@ -59,15 +89,25 @@ CLASS net/minecraft/unmapped/C_tncydixy net/minecraft/registry/RegistrySetBuilde ARG 1 owner CLASS C_vcrasote METHOD m_bpnnoeac get (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry CLASS C_vmdfhvom LazyHolder FIELD f_rekjfnjh supplier Ljava/util/function/Supplier; CLASS C_xlkunjxh UniversalLookup FIELD f_nkjpmpim holders Ljava/util/Map; + METHOD m_awntyuiu (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 1 registryKey METHOD m_kwtahmdp getOrCreate (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; CLASS C_xxpyvqyn BuildState METHOD m_gaysgpxx reportOrphanedValues ()V METHOD m_hfvtdxvs create (Lnet/minecraft/unmapped/C_wqxmvzdq;Ljava/util/stream/Stream;)Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn; ARG 1 registryKeys + METHOD m_lropqxkl (Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/unmapped/C_wqxmvzdq$C_rsrqqoeq;)V + ARG 1 registry + METHOD m_oavbqqfj (Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/unmapped/C_tncydixy$C_xlkunjxh;Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 2 key + METHOD m_qjvbanwd (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_tncydixy$C_dzakpbmy;)V + ARG 1 key + ARG 2 value METHOD m_szmfjjcg createBootstrapContext ()Lnet/minecraft/unmapped/C_hqoyyfco; METHOD m_xtitxxee thrownOnError ()V METHOD m_zcbyprjs reportUnreferencedKeys ()V diff --git a/mappings/net/minecraft/registry/ReloadableRegistries.mapping b/mappings/net/minecraft/registry/ReloadableRegistries.mapping index 72c052e1a9..da3ba90aec 100644 --- a/mappings/net/minecraft/registry/ReloadableRegistries.mapping +++ b/mappings/net/minecraft/registry/ReloadableRegistries.mapping @@ -1,14 +1,42 @@ CLASS net/minecraft/unmapped/C_ihseotxf net/minecraft/registry/ReloadableRegistries FIELD f_tziodfyh DEFAULT_REGISTRATION_INFO Lnet/minecraft/unmapped/C_jhxfjegj; + METHOD m_acrcsyqu (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_gvzqwcwq;)V + ARG 2 type + METHOD m_aindcziu (Lnet/minecraft/unmapped/C_gvzqwcwq;Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 2 holder + METHOD m_cfqjucpo validateLootTables (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)V + METHOD m_crrtxhwv (Lnet/minecraft/unmapped/C_bcpxdrik;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Ljava/util/List;)Lnet/minecraft/unmapped/C_ihseotxf$C_ssgyvsmu; + ARG 2 registries + METHOD m_gmumfwja combine (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; + ARG 0 provider1 + ARG 1 provider2 + METHOD m_icvhregi (Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_gvzqwcwq;Lnet/minecraft/unmapped/C_ncpywfca;Ljava/lang/Object;)V + ARG 3 t METHOD m_nnifhcon reload (Lnet/minecraft/unmapped/C_bcpxdrik;Ljava/util/List;Lnet/minecraft/unmapped/C_tmnrpasf;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture; ARG 0 registryManager + METHOD m_obfpvgib (Ljava/lang/String;Ljava/lang/String;)V + ARG 0 path + ARG 1 error + METHOD m_rdbtrkuh loadRegistries (Lnet/minecraft/unmapped/C_bcpxdrik;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Ljava/util/List;)Lnet/minecraft/unmapped/C_ihseotxf$C_ssgyvsmu; + ARG 1 provider + METHOD m_shrzagne (Lnet/minecraft/unmapped/C_piadqmzm;Lnet/minecraft/unmapped/C_tmnrpasf;Ljava/util/concurrent/Executor;Lnet/minecraft/unmapped/C_gvzqwcwq;)Ljava/util/concurrent/CompletableFuture; + ARG 3 type METHOD m_spiepebv withUpdatedRegistries (Lnet/minecraft/unmapped/C_bcpxdrik;Ljava/util/List;)Lnet/minecraft/unmapped/C_bcpxdrik; ARG 0 registryManager - METHOD m_xrkbdssc validateRegistry (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_gvzqwcwq;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)V + METHOD m_tyznbqtt loadRegistry (Lnet/minecraft/unmapped/C_gvzqwcwq;Lnet/minecraft/unmapped/C_piadqmzm;Lnet/minecraft/unmapped/C_tmnrpasf;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture; + ARG 0 type + ARG 1 jsonOps + METHOD m_xrkbdssc validateLootTablesImpl (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_gvzqwcwq;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)V ARG 0 reporter ARG 1 lootDataType + ARG 2 dataLookup CLASS C_hnvzydbq Holder FIELD f_uxidcgck registryManager Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; + METHOD m_gruofcqz (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)Ljava/util/Optional; + ARG 1 lootLookup METHOD m_lrvgvrfo getIds (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Collection; + ARG 1 registry METHOD m_rgbjhfac getLootTable (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_inwsuliy; + ARG 1 key METHOD m_ssljecqh createLookupProvider ()Lnet/minecraft/unmapped/C_pzdchrcy$C_pbvqpmst; + CLASS C_ssgyvsmu LoadResult diff --git a/mappings/net/minecraft/util/ErrorReporter.mapping b/mappings/net/minecraft/util/ErrorReporter.mapping index f3429204d4..9dddbe3964 100644 --- a/mappings/net/minecraft/util/ErrorReporter.mapping +++ b/mappings/net/minecraft/util/ErrorReporter.mapping @@ -3,12 +3,12 @@ CLASS net/minecraft/unmapped/C_jtpvewkp net/minecraft/util/ErrorReporter ARG 1 name METHOD m_qtdgardw report (Ljava/lang/String;)V ARG 1 message - CLASS C_jbcmnrpq Impl - FIELD f_bbfpemek errors Lcom/google/common/collect/Multimap; + CLASS C_jbcmnrpq Collector + FIELD f_bbfpemek errorsByPath Lcom/google/common/collect/Multimap; FIELD f_vksywrdq pathSupplier Ljava/util/function/Supplier; FIELD f_vnjffosi pathCache Ljava/lang/String; METHOD m_efsyoiry (Ljava/util/Map$Entry;)Ljava/lang/String; ARG 0 error - METHOD m_fdjwfdmg copyErrors ()Lcom/google/common/collect/Multimap; + METHOD m_fdjwfdmg copyErrorsByPath ()Lcom/google/common/collect/Multimap; METHOD m_oscjmxcu getPath ()Ljava/lang/String; - METHOD m_pznzwrnj getErrors ()Ljava/util/Optional; + METHOD m_pznzwrnj getFormatedErrors ()Ljava/util/Optional; diff --git a/mappings/net/minecraft/util/dynamic/Codecs.mapping b/mappings/net/minecraft/util/dynamic/Codecs.mapping index 7edc742d41..6ecc6f1a5b 100644 --- a/mappings/net/minecraft/util/dynamic/Codecs.mapping +++ b/mappings/net/minecraft/util/dynamic/Codecs.mapping @@ -52,7 +52,7 @@ CLASS net/minecraft/unmapped/C_tyjpezxh net/minecraft/util/dynamic/Codecs ARG 1 elementCodec METHOD m_ifdvuwzy formattedTime (Ljava/time/format/DateTimeFormatter;)Lcom/mojang/serialization/Codec; ARG 0 formatter - METHOD m_ihvqsgya retrieveContext (Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec; + METHOD m_ihvqsgya createContextRetrievalCodec (Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec; ARG 0 retriever METHOD m_ilnvpqgy optionalEmptyMap (Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec; METHOD m_juozehmq withNonEmptyHolderSet (Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec; From 31f60c06dc5ae461e0f41f508955b24228e2aef2 Mon Sep 17 00:00:00 2001 From: Will Date: Tue, 24 Sep 2024 21:20:01 +0000 Subject: [PATCH 08/24] Add class comments to new simple type names Co-authored-by: Eli Orona --- simple_type_field_names.json5 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index 5491b1712b..772d6d2a08 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -29,14 +29,14 @@ "net/minecraft/unmapped/C_pennblrk": "source", // ServerCommandSource // Registries - "net/minecraft/unmapped/C_tqxyjqsk": { + "net/minecraft/unmapped/C_tqxyjqsk": { // Registry local_name: "registry", inherit: true }, "net/minecraft/unmapped/C_wqxmvzdq": "registryManager", // DynamicRegistryManager "net/minecraft/unmapped/C_hqoyyfco": "context", // BootstrapContext "net/minecraft/unmapped/C_ednuhnnn": "tag", // TagKey - "net/minecraft/unmapped/C_ncpywfca": { + "net/minecraft/unmapped/C_ncpywfca": { // Identifier local_name: "id", exclusive: true, fallback: [ @@ -111,7 +111,7 @@ }, // Village - "net/minecraft/unmapped/C_argwryfu": { + "net/minecraft/unmapped/C_argwryfu": { // TradeOffer local_name: "offer", inherit: true, fallback: [ @@ -159,7 +159,7 @@ // Network "net/minecraft/unmapped/C_idfydwco": "buf", // PacketByteBuf - "net/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl": { + "net/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl": { // TagNetworkSerialization$NetworkPayload local_name: "payload", fallback: [ "networkPayload" From cd0714c3c9d171f4fecaf12b20800f33626450d2 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 00:58:58 -0700 Subject: [PATCH 09/24] map ~97/270 RegsitryKeys affected by their removal from simple type names rename IdListUtil#sortArray -> createByIdGetter make enums that use createByIdGetter consistent restore SpawnReason add simple type names for Entity+LivinEntity add stub FindInvalidSimpleTypeFieldNamesTask class map a few other things along the way --- .../FindInvalidSimpleTypeFieldNamesTask.java | 11 +++++++ .../advancement/AdvancementRewards.mapping | 2 ++ ...ratesContainerLootCriterionTrigger.mapping | 2 ++ .../net/minecraft/block/AbstractBlock.mapping | 11 +++++++ mappings/net/minecraft/block/Blocks.mapping | 3 ++ .../net/minecraft/block/NyliumBlock.mapping | 1 + .../block/TrialSpawnerConfig.mapping | 32 +++++++++++++++++++ .../block/entity/BrushableBlockEntity.mapping | 3 +- .../entity/DecoratedPotBlockEntity.mapping | 2 +- .../LootableContainerBlockEntity.mapping | 2 +- .../block/entity/VaultBlockEntity.mapping | 3 ++ .../screen/world/CreateWorldScreen.mapping | 2 ++ .../network/ClientPlayNetworkHandler.mapping | 2 ++ .../client/option/AttackIndicator.mapping | 4 +-- .../client/option/ChatVisibility.mapping | 4 +-- .../option/ChunkUpdatesPrioritization.mapping | 6 ++-- .../client/option/GraphicsMode.mapping | 3 +- .../client/option/NarratorMode.mapping | 5 ++- .../client/option/ParticlesMode.mapping | 2 +- .../realms/RealmsWorldGeneratorType.mapping | 2 ++ .../render/TexturedRenderLayers.mapping | 1 + .../debug/StructureDebugRenderer.mapping | 5 +++ .../json/ModelTransformationMode.mapping | 9 +++--- .../command/CommandBuildContext.mapping | 4 +++ .../minecraft/command/CommandSource.mapping | 10 ++++-- .../RegistryEntryArgumentType.mapping | 1 + .../RegistryEntryOrTagArgument.mapping | 5 +++ .../RegistryKeyOrTagKeyResult.mapping | 5 +++ .../argument/ResourceKeyArgument.mapping | 9 ++---- .../type/FireworkExplosionComponent.mapping | 4 +-- .../type/ItemEnchantmentsComponent.mapping | 2 +- .../type/MapPostProcessingComponent.mapping | 2 +- .../net/minecraft/data/DataPackOutput.mapping | 2 ++ .../data/DataPackStructureProvider.mapping | 3 ++ .../net/minecraft/data/DataProvider.mapping | 6 +++- .../EquipmentModelDefinitionsProvider.mapping | 1 + .../report/BiomeParametersProvider.mapping | 10 ++++-- .../data/server/LootTablesProvider.mapping | 13 +++++++- .../EntityLootTableGenerator.mapping | 9 +++++- .../loot_table/LootTableGenerator.mapping | 2 ++ .../server/tag/AbstractTagProvider.mapping | 18 ++++------- .../data/server/tag/TagsProvider.mapping | 20 ++++-------- .../enchantment/EnchantmentHelper.mapping | 1 + mappings/net/minecraft/entity/Entity.mapping | 1 - .../net/minecraft/entity/EntityPose.mapping | 3 +- .../net/minecraft/entity/EntityType.mapping | 11 +++++++ .../minecraft/entity/EquipmentSlot.mapping | 12 ++++--- .../entity/EquipmentSlotGroup.mapping | 7 ++-- .../minecraft/entity/EquipmentUser.mapping | 7 ++-- .../net/minecraft/entity/LivingEntity.mapping | 2 ++ .../net/minecraft/entity/SpawnReason.mapping | 3 ++ .../attribute/EntityAttributeModifier.mapping | 4 +-- .../entity/damage/DamageSources.mapping | 6 ++++ .../entity/damage/DamageTypes.mapping | 2 ++ .../entity/decoration/DisplayEntity.mapping | 10 +++--- .../painting/PaintingVariant.mapping | 2 -- .../painting/PaintingVariants.mapping | 7 ++++ .../minecraft/entity/mob/MobEntity.mapping | 6 ++-- .../mob/SpellcastingIllagerEntity.mapping | 5 +-- .../entity/passive/AnimalEntity.mapping | 1 + .../entity/passive/ArmadilloEntity.mapping | 6 ++-- .../entity/passive/AxolotlEntity.mapping | 13 +++----- .../entity/passive/CatEntity.mapping | 3 ++ .../entity/passive/FoxEntity.mapping | 12 +++++++ .../entity/passive/FrogEntity.mapping | 1 + .../entity/passive/FrogVariant.mapping | 7 ++-- .../entity/passive/HorseColor.mapping | 12 +++---- .../entity/passive/HorseMarking.mapping | 11 +++---- .../entity/passive/LlamaEntity.mapping | 10 +++--- .../entity/passive/PandaEntity.mapping | 5 +-- .../entity/passive/ParrotEntity.mapping | 10 +++--- .../entity/passive/SnifferEntity.mapping | 3 +- .../entity/passive/WolfVariants.mapping | 6 ++-- .../vehicle/AbstractMinecartEntity.mapping | 1 + .../entity/vehicle/BoatEntity.mapping | 11 ++++--- .../vehicle/StorageMinecartEntity.mapping | 5 ++- .../entity/vehicle/StorageVehicle.mapping | 6 ++++ .../inventory/LootableInventory.mapping | 4 ++- .../net/minecraft/item/BannerPatterns.mapping | 4 +-- .../item/ConsumableComponent.mapping | 1 + .../net/minecraft/item/ConsumeEffect.mapping | 6 ++++ .../net/minecraft/item/Instruments.mapping | 5 +-- mappings/net/minecraft/item/Item.mapping | 11 +++++++ .../net/minecraft/item/UseAnimation.mapping | 5 +++ .../network/message/MessageStyle.mapping | 6 ++++ .../minecraft/recipe/CraftingCategory.mapping | 8 ++--- .../minecraft/registry/HolderProvider.mapping | 3 +- .../minecraft/registry/RegistryKey.mapping | 2 +- .../scoreboard/ScoreboardDisplaySlot.mapping | 4 +-- .../server/function/FunctionGetter.mapping | 6 ++++ mappings/net/minecraft/util/Arm.mapping | 2 +- mappings/net/minecraft/util/DyeColor.mapping | 7 +--- mappings/net/minecraft/util/Rarity.mapping | 8 +++++ .../net/minecraft/util/ServerLinks.mapping | 10 +++--- .../util/collection/IdListUtil.mapping | 14 +++++--- .../net/minecraft/util/math/Direction.mapping | 17 ++++------ .../net/minecraft/world/Difficulty.mapping | 6 ++-- mappings/net/minecraft/world/GameMode.mapping | 4 +-- .../gen/feature/MineshaftFeature.mapping | 13 ++++---- simple_type_field_names.json5 | 10 +++++- 100 files changed, 403 insertions(+), 208 deletions(-) create mode 100644 buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java create mode 100644 mappings/net/minecraft/data/DataPackStructureProvider.mapping create mode 100644 mappings/net/minecraft/data/EquipmentModelDefinitionsProvider.mapping create mode 100644 mappings/net/minecraft/entity/SpawnReason.mapping create mode 100644 mappings/net/minecraft/item/ConsumableComponent.mapping create mode 100644 mappings/net/minecraft/item/ConsumeEffect.mapping create mode 100644 mappings/net/minecraft/item/UseAnimation.mapping create mode 100644 mappings/net/minecraft/server/function/FunctionGetter.mapping diff --git a/buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java b/buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java new file mode 100644 index 0000000000..bfb4601eee --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java @@ -0,0 +1,11 @@ +package quilt.internal.tasks.lint; + +import org.gradle.api.DefaultTask; + +/* +TODO + - implement + - see if hashed classes can come from enigma + */ +public abstract class FindInvalidSimpleTypeFieldNamesTask extends DefaultTask { +} diff --git a/mappings/net/minecraft/advancement/AdvancementRewards.mapping b/mappings/net/minecraft/advancement/AdvancementRewards.mapping index 6762b64cc4..b85df15d55 100644 --- a/mappings/net/minecraft/advancement/AdvancementRewards.mapping +++ b/mappings/net/minecraft/advancement/AdvancementRewards.mapping @@ -23,6 +23,8 @@ CLASS net/minecraft/unmapped/C_wptigggq net/minecraft/advancement/AdvancementRew METHOD m_rkbrzuwh addRecipe (Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_wptigggq$C_wbctdknv; ARG 1 recipe METHOD m_sbnvjevi loot (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_wptigggq$C_wbctdknv; + ARG 0 loot METHOD m_xgembxfc function (Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_wptigggq$C_wbctdknv; ARG 0 function METHOD m_xltlznvb addLoot (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_wptigggq$C_wbctdknv; + ARG 1 loot diff --git a/mappings/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.mapping b/mappings/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.mapping index 29d04952cf..7a2cc21493 100644 --- a/mappings/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.mapping +++ b/mappings/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger.mapping @@ -1,9 +1,11 @@ CLASS net/minecraft/unmapped/C_ccuyenqy net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterionTrigger METHOD m_bwskqxvw trigger (Lnet/minecraft/unmapped/C_mxrobsgg;Lnet/minecraft/unmapped/C_xhhleach;)V ARG 1 player + ARG 2 lootTable METHOD m_wjdeumci (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ccuyenqy$C_jvilurms;)Z ARG 1 conditions CLASS C_jvilurms Conditions FIELD f_zdzuorlo lootTable Lnet/minecraft/unmapped/C_xhhleach; METHOD m_ocoesmqp matches (Lnet/minecraft/unmapped/C_xhhleach;)Z + ARG 1 lootTable METHOD m_sdawxryt create (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_rzypsigz; diff --git a/mappings/net/minecraft/block/AbstractBlock.mapping b/mappings/net/minecraft/block/AbstractBlock.mapping index be20326bd8..9e53fe6a48 100644 --- a/mappings/net/minecraft/block/AbstractBlock.mapping +++ b/mappings/net/minecraft/block/AbstractBlock.mapping @@ -227,8 +227,11 @@ CLASS net/minecraft/unmapped/C_triydqro net/minecraft/block/AbstractBlock ARG 3 pos ARG 4 context CLASS C_eibemhky AbstractBlockState + FIELD f_biaogsvo FULL_CULLING_FACES [Lnet/minecraft/unmapped/C_zscvhwbd; + FIELD f_bvttwnii EMPTY_CULLING_FACES [Lnet/minecraft/unmapped/C_zscvhwbd; FIELD f_ciiuhosx opaque Z FIELD f_cmbiwnda hasSidedTransparency Z + FIELD f_gbcdxrgd DIRECTIONS [Lnet/minecraft/unmapped/C_xpuuihxf; FIELD f_jnxtuzdb hardness F FIELD f_jvcpotqu isAir Z FIELD f_lpessbtt pistonBehavior Lnet/minecraft/unmapped/C_mojvzhua; @@ -247,6 +250,8 @@ CLASS net/minecraft/unmapped/C_triydqro net/minecraft/block/AbstractBlock FIELD f_wknecqnz luminance I FIELD f_wvbmkgls suffocationPredicate Lnet/minecraft/unmapped/C_triydqro$C_izsedryc; FIELD f_xwxdktuf hasRandomTicks Z + FIELD f_xxewnzdk opaqueFullCube Z + FIELD f_ycbjvypj cullingFaces [Lnet/minecraft/unmapped/C_zscvhwbd; FIELD f_yypdsdkn lavaIgnitable Z FIELD f_zpvdfobl mapColor Lnet/minecraft/unmapped/C_mlrprqox; FIELD f_zzuoeazs instrument Lnet/minecraft/unmapped/C_onjtjtsi; @@ -431,6 +436,7 @@ CLASS net/minecraft/unmapped/C_triydqro net/minecraft/block/AbstractBlock METHOD m_tjbimmww canBucketPlace (Lnet/minecraft/unmapped/C_rxhyurmy;)Z ARG 1 fluid METHOD m_trxxnxke isRegistryKey (Lnet/minecraft/unmapped/C_xhhleach;)Z + ARG 1 key METHOD m_uawreshq getCameraCollisionShape (Lnet/minecraft/unmapped/C_peaveboq;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_pbfjvesm;)Lnet/minecraft/unmapped/C_zscvhwbd; ARG 1 world ARG 2 pos @@ -547,6 +553,7 @@ CLASS net/minecraft/unmapped/C_triydqro net/minecraft/block/AbstractBlock FIELD f_czlbhsfs dynamicBounds Z FIELD f_ddynwztk velocityMultiplier F FIELD f_dfulysva toolRequired Z + FIELD f_eioycbda key Lnet/minecraft/unmapped/C_xhhleach; FIELD f_gepbjyhg nonSolid Z FIELD f_gljcimhm emissiveLightingPredicate Lnet/minecraft/unmapped/C_triydqro$C_izsedryc; FIELD f_hgzeyqby randomTicks Z @@ -593,6 +600,8 @@ CLASS net/minecraft/unmapped/C_triydqro net/minecraft/block/AbstractBlock ARG 1 predicate METHOD m_edlblpmg offsetType (Lnet/minecraft/unmapped/C_triydqro$C_hqjgaunn;)Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy; ARG 1 offsetType + METHOD m_egobildr (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 0 key METHOD m_etdgbdsz replaceable ()Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy; METHOD m_fqzrcagx jumpVelocityMultiplier (F)Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy; ARG 1 jumpVelocityMultiplier @@ -657,6 +666,8 @@ CLASS net/minecraft/unmapped/C_triydqro net/minecraft/block/AbstractBlock COMMENT @return this METHOD m_vuhrtmql (Lnet/minecraft/unmapped/C_txtbiemp;)Lnet/minecraft/unmapped/C_mlrprqox; ARG 0 state + METHOD m_vuvrdzlb key (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy; + ARG 1 key METHOD m_wlqavdtn mapColor (Lnet/minecraft/unmapped/C_arllgqae;)Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy; ARG 1 dyeColor METHOD m_wrutkowk blockVision (Lnet/minecraft/unmapped/C_triydqro$C_izsedryc;)Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy; diff --git a/mappings/net/minecraft/block/Blocks.mapping b/mappings/net/minecraft/block/Blocks.mapping index 641bb6926c..c2ddf4a556 100644 --- a/mappings/net/minecraft/block/Blocks.mapping +++ b/mappings/net/minecraft/block/Blocks.mapping @@ -1,5 +1,7 @@ CLASS net/minecraft/unmapped/C_jricjyva net/minecraft/block/Blocks FIELD f_lfmqbeqz SHULKER_BOX_SUFFOCATES_PREDICATE Lnet/minecraft/unmapped/C_triydqro$C_izsedryc; + METHOD m_cptpfson register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy;)Lnet/minecraft/unmapped/C_mmxmpdoq; + ARG 0 key METHOD m_knkwxiyx solid (Lnet/minecraft/unmapped/C_txtbiemp;Lnet/minecraft/unmapped/C_peaveboq;Lnet/minecraft/unmapped/C_hynzadkk;)Z METHOD m_nmstzpxh spawnable (Lnet/minecraft/unmapped/C_txtbiemp;Lnet/minecraft/unmapped/C_peaveboq;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_ogavsvbr;)Ljava/lang/Boolean; ARG 3 entityType @@ -11,4 +13,5 @@ CLASS net/minecraft/unmapped/C_jricjyva net/minecraft/block/Blocks ARG 3 entityType METHOD m_tobwsgju waterlogMapColor (Lnet/minecraft/unmapped/C_mlrprqox;)Ljava/util/function/Function; ARG 0 color + METHOD m_vfpzuwtj register (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_triydqro$C_xnkxsdfy;)Lnet/minecraft/unmapped/C_mmxmpdoq; METHOD m_wjfyifdb nonSolid (Lnet/minecraft/unmapped/C_txtbiemp;Lnet/minecraft/unmapped/C_peaveboq;Lnet/minecraft/unmapped/C_hynzadkk;)Z diff --git a/mappings/net/minecraft/block/NyliumBlock.mapping b/mappings/net/minecraft/block/NyliumBlock.mapping index 0d0efac0fe..c9589ea74c 100644 --- a/mappings/net/minecraft/block/NyliumBlock.mapping +++ b/mappings/net/minecraft/block/NyliumBlock.mapping @@ -5,6 +5,7 @@ CLASS net/minecraft/unmapped/C_gtlslwea net/minecraft/block/NyliumBlock ARG 1 world ARG 2 pos METHOD m_ttognngs generate (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_kgfalbim;Lnet/minecraft/unmapped/C_rlomrsco;Lnet/minecraft/unmapped/C_hynzadkk;)V + ARG 2 feature ARG 4 chunkGenerator METHOD m_vnwlqtjy (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_kgfalbim;Lnet/minecraft/unmapped/C_rlomrsco;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V ARG 4 registryKeyHolder diff --git a/mappings/net/minecraft/block/TrialSpawnerConfig.mapping b/mappings/net/minecraft/block/TrialSpawnerConfig.mapping index b84741ad8b..80d6a63a20 100644 --- a/mappings/net/minecraft/block/TrialSpawnerConfig.mapping +++ b/mappings/net/minecraft/block/TrialSpawnerConfig.mapping @@ -1,5 +1,8 @@ CLASS net/minecraft/unmapped/C_pocjjnjk net/minecraft/block/TrialSpawnerConfig + FIELD f_mqsazqov HOLDER_CODEC Lcom/mojang/serialization/Codec; + FIELD f_vbllmfpg CODEC Lcom/mojang/serialization/Codec; FIELD f_ykrjgiui DEFAULT_INSTANCE Lnet/minecraft/unmapped/C_pocjjnjk; + METHOD m_akovexzz builder ()Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; METHOD m_fsslncbi getSimultaneousMobs (I)I ARG 1 additionalPlayers METHOD m_rjwfxsix getCooldown ()J @@ -7,3 +10,32 @@ CLASS net/minecraft/unmapped/C_pocjjnjk net/minecraft/block/TrialSpawnerConfig ARG 1 additionalPlayers METHOD m_wydezwto (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App; ARG 0 instance + CLASS C_vnrwaphu Builder + FIELD f_grofsmmd simultaneousMobs F + FIELD f_gurbcovz lootTablesToEject Lnet/minecraft/unmapped/C_owfsqzhr; + FIELD f_jgjwrvli spawnPotentialsDefinition Lnet/minecraft/unmapped/C_owfsqzhr; + FIELD f_jgmutzza ticksBetweenSpawn I + FIELD f_jqtdptyp simultaneousMobsAddedPerPlayer F + FIELD f_nblcrtjb totalMobsAddedPerPlayer F + FIELD f_reubvwnb itemsToDropWhenOminous Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_tmgwtcsf spawnRange I + FIELD f_vfxijlzt totalMobs F + METHOD m_atarftzm spawnPotentialDefinition (Lnet/minecraft/unmapped/C_owfsqzhr;)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 definition + METHOD m_bdhifmhg spawnRange (I)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 range + METHOD m_cappnuim totalMobs (F)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 total + METHOD m_djzmjbrp itemsToDropWhenOminous (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 items + METHOD m_eqnyjcak simultaneousMobsAddedPerPlayer (F)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 simultaneous + METHOD m_kavdpwjp ticksBetweenSpawn (I)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 ticks + METHOD m_oindwyhl lootTablesToEject (Lnet/minecraft/unmapped/C_owfsqzhr;)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 lootTables + METHOD m_rmwakhzj totalMobsAddedPerPlayer (F)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 total + METHOD m_uitredfl build ()Lnet/minecraft/unmapped/C_pocjjnjk; + METHOD m_ukbjwlwe simultaneousMobs (F)Lnet/minecraft/unmapped/C_pocjjnjk$C_vnrwaphu; + ARG 1 simultaneus diff --git a/mappings/net/minecraft/block/entity/BrushableBlockEntity.mapping b/mappings/net/minecraft/block/entity/BrushableBlockEntity.mapping index 1936acb477..aedee9abef 100644 --- a/mappings/net/minecraft/block/entity/BrushableBlockEntity.mapping +++ b/mappings/net/minecraft/block/entity/BrushableBlockEntity.mapping @@ -13,7 +13,7 @@ CLASS net/minecraft/unmapped/C_tlzeicbt net/minecraft/block/entity/BrushableBloc FIELD f_ujqpfzjx cooldownEndTick J FIELD f_ukyicdib LOGGER Lorg/slf4j/Logger; FIELD f_wltskfrl hitDirection Lnet/minecraft/unmapped/C_xpuuihxf; - FIELD f_xskjyxrz lootTableId Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_xskjyxrz lootTable Lnet/minecraft/unmapped/C_xhhleach; METHOD (Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_txtbiemp;)V ARG 1 pos ARG 2 state @@ -27,6 +27,7 @@ CLASS net/minecraft/unmapped/C_tlzeicbt net/minecraft/block/entity/BrushableBloc METHOD m_kfybgynf checkLootInteraction (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_jzrpycqo;Lnet/minecraft/unmapped/C_sddaxwyk;)V ARG 2 player METHOD m_llghgzmo setLootTable (Lnet/minecraft/unmapped/C_xhhleach;J)V + ARG 1 lootTable ARG 2 lootTableSeed METHOD m_otxeysvo getHitDirection ()Lnet/minecraft/unmapped/C_xpuuihxf; METHOD m_ozsgysbr serializeLootTable (Lnet/minecraft/unmapped/C_hhlwcnih;)Z diff --git a/mappings/net/minecraft/block/entity/DecoratedPotBlockEntity.mapping b/mappings/net/minecraft/block/entity/DecoratedPotBlockEntity.mapping index 7841a34c03..e8d3f34351 100644 --- a/mappings/net/minecraft/block/entity/DecoratedPotBlockEntity.mapping +++ b/mappings/net/minecraft/block/entity/DecoratedPotBlockEntity.mapping @@ -1,6 +1,6 @@ CLASS net/minecraft/unmapped/C_snnddtnv net/minecraft/block/entity/DecoratedPotBlockEntity FIELD f_bsjlvxwm lastWobbleTime J - FIELD f_dwwkwusv lootTableId Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_dwwkwusv lootTable Lnet/minecraft/unmapped/C_xhhleach; FIELD f_hmmflmll ITEM_KEY Ljava/lang/String; FIELD f_lkaissqj SHERDS_KEY Ljava/lang/String; FIELD f_ntlmymra sherds Lnet/minecraft/unmapped/C_cpmlbyix; diff --git a/mappings/net/minecraft/block/entity/LootableContainerBlockEntity.mapping b/mappings/net/minecraft/block/entity/LootableContainerBlockEntity.mapping index 5001a0a6fe..85dc7c0e27 100644 --- a/mappings/net/minecraft/block/entity/LootableContainerBlockEntity.mapping +++ b/mappings/net/minecraft/block/entity/LootableContainerBlockEntity.mapping @@ -1,3 +1,3 @@ CLASS net/minecraft/unmapped/C_awquuxeb net/minecraft/block/entity/LootableContainerBlockEntity - FIELD f_jpgmzqwu lootTableId Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_jpgmzqwu lootTable Lnet/minecraft/unmapped/C_xhhleach; FIELD f_tbxnycjm lootTableSeed J diff --git a/mappings/net/minecraft/block/entity/VaultBlockEntity.mapping b/mappings/net/minecraft/block/entity/VaultBlockEntity.mapping index c92b5fef10..54e46a1f3a 100644 --- a/mappings/net/minecraft/block/entity/VaultBlockEntity.mapping +++ b/mappings/net/minecraft/block/entity/VaultBlockEntity.mapping @@ -1 +1,4 @@ CLASS net/minecraft/unmapped/C_xclnoluc net/minecraft/block/entity/VaultBlockEntity + CLASS C_vucktnfd + METHOD m_vsawgyip (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_sddaxwyk; + ARG 2 lootTable diff --git a/mappings/net/minecraft/client/gui/screen/world/CreateWorldScreen.mapping b/mappings/net/minecraft/client/gui/screen/world/CreateWorldScreen.mapping index 30a4b0b076..c1bf6abd39 100644 --- a/mappings/net/minecraft/client/gui/screen/world/CreateWorldScreen.mapping +++ b/mappings/net/minecraft/client/gui/screen/world/CreateWorldScreen.mapping @@ -41,6 +41,8 @@ CLASS net/minecraft/unmapped/C_ibkofvzc net/minecraft/client/gui/screen/world/Cr ARG 1 debugWorld METHOD m_fqtykenm clearDataPackTempDir ()V METHOD m_fsncvugn createStorageSession (Lnet/minecraft/unmapped/C_ayfeobid;Ljava/lang/String;Ljava/nio/file/Path;)Ljava/util/Optional; + METHOD m_hrmwcpge (Lnet/minecraft/unmapped/C_ayfeobid;Lnet/minecraft/unmapped/C_wrmtlwqx;Ljava/util/function/Function;Lnet/minecraft/unmapped/C_zugbgokk;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_vuympcpz;)V + ARG 4 generatorType METHOD m_kfiwihuq copyDataPack (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V ARG 0 srcFolder ARG 1 destFolder diff --git a/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping b/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping index d00145c709..41ab4c5b33 100644 --- a/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping +++ b/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping @@ -82,6 +82,8 @@ CLASS net/minecraft/unmapped/C_nuofrxvi net/minecraft/client/network/ClientPlayN METHOD m_rfxuxjoo isEnabled (Lnet/minecraft/unmapped/C_czxxrbcp;)Z ARG 1 flags METHOD m_rgltuuxs clearWorld ()V + METHOD m_rqcfgrmg (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl;)Lnet/minecraft/unmapped/C_tqxyjqsk$C_dbbudibo; + ARG 1 registry METHOD m_twqcihtd getPlayerList ()Ljava/util/Collection; METHOD m_uccwwurs getServerInfo ()Lnet/minecraft/unmapped/C_xotldzgg; METHOD m_ugyspzmn scheduleChunkRender (Lnet/minecraft/unmapped/C_hrdsvlkq;II)V diff --git a/mappings/net/minecraft/client/option/AttackIndicator.mapping b/mappings/net/minecraft/client/option/AttackIndicator.mapping index b9cdf597fb..9ef859c33e 100644 --- a/mappings/net/minecraft/client/option/AttackIndicator.mapping +++ b/mappings/net/minecraft/client/option/AttackIndicator.mapping @@ -1,9 +1,7 @@ CLASS net/minecraft/unmapped/C_qkksfeqi net/minecraft/client/option/AttackIndicator - FIELD f_biuwndyo VALUES Ljava/util/function/IntFunction; + FIELD f_biuwndyo GET_BY_ID Ljava/util/function/IntFunction; FIELD f_kksyusdx translationKey Ljava/lang/String; FIELD f_ybcrnvze id I METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 translationKey METHOD m_yqosuiuc byId (I)Lnet/minecraft/unmapped/C_qkksfeqi; ARG 0 id diff --git a/mappings/net/minecraft/client/option/ChatVisibility.mapping b/mappings/net/minecraft/client/option/ChatVisibility.mapping index 378b5f8472..85ffe6c2bd 100644 --- a/mappings/net/minecraft/client/option/ChatVisibility.mapping +++ b/mappings/net/minecraft/client/option/ChatVisibility.mapping @@ -1,9 +1,7 @@ CLASS net/minecraft/unmapped/C_wafwmsvb net/minecraft/client/option/ChatVisibility FIELD f_ynbcgkjh translationKey Ljava/lang/String; - FIELD f_zqqalhdk VALUES Ljava/util/function/IntFunction; + FIELD f_zqqalhdk GET_BY_ID Ljava/util/function/IntFunction; FIELD f_zzwzstvf id I METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 translationKey METHOD m_buntzssc byId (I)Lnet/minecraft/unmapped/C_wafwmsvb; ARG 0 id diff --git a/mappings/net/minecraft/client/option/ChunkUpdatesPrioritization.mapping b/mappings/net/minecraft/client/option/ChunkUpdatesPrioritization.mapping index 0b76d14c07..eb6c8bd695 100644 --- a/mappings/net/minecraft/client/option/ChunkUpdatesPrioritization.mapping +++ b/mappings/net/minecraft/client/option/ChunkUpdatesPrioritization.mapping @@ -1,9 +1,7 @@ CLASS net/minecraft/unmapped/C_acpywlie net/minecraft/client/option/ChunkUpdatesPrioritization - FIELD f_quwymauq VALUES Ljava/util/function/IntFunction; + FIELD f_quwymauq GET_BY_ID Ljava/util/function/IntFunction; FIELD f_urchaypp id I FIELD f_yuybyesd translationKey Ljava/lang/String; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 translationKey - METHOD m_azahvtif fromId (I)Lnet/minecraft/unmapped/C_acpywlie; + METHOD m_azahvtif byId (I)Lnet/minecraft/unmapped/C_acpywlie; ARG 0 id diff --git a/mappings/net/minecraft/client/option/GraphicsMode.mapping b/mappings/net/minecraft/client/option/GraphicsMode.mapping index 0ea62abe97..58110f6edd 100644 --- a/mappings/net/minecraft/client/option/GraphicsMode.mapping +++ b/mappings/net/minecraft/client/option/GraphicsMode.mapping @@ -1,9 +1,8 @@ CLASS net/minecraft/unmapped/C_inrattee net/minecraft/client/option/GraphicsMode FIELD f_hyeaecff id I - FIELD f_tpfeaisz VALUES Ljava/util/function/IntFunction; + FIELD f_tpfeaisz GET_BY_ID Ljava/util/function/IntFunction; FIELD f_uqbjoxlo translationKey Ljava/lang/String; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id ARG 4 translationKey METHOD m_xuzenwat byId (I)Lnet/minecraft/unmapped/C_inrattee; ARG 0 id diff --git a/mappings/net/minecraft/client/option/NarratorMode.mapping b/mappings/net/minecraft/client/option/NarratorMode.mapping index a80e4dbfa6..1539acda40 100644 --- a/mappings/net/minecraft/client/option/NarratorMode.mapping +++ b/mappings/net/minecraft/client/option/NarratorMode.mapping @@ -1,10 +1,9 @@ CLASS net/minecraft/unmapped/C_ekczyczh net/minecraft/client/option/NarratorMode FIELD f_gborsyql name Lnet/minecraft/unmapped/C_rdaqiwdt; FIELD f_nikdsyso id I - FIELD f_qtvfmgny VALUES Ljava/util/function/IntFunction; + FIELD f_qtvfmgny GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 name + ARG 4 translationkey METHOD m_cbrezehp getName ()Lnet/minecraft/unmapped/C_rdaqiwdt; METHOD m_gifirmom canNarrateChat ()Z METHOD m_sxeyqcgh canNarrateSystemMessages ()Z diff --git a/mappings/net/minecraft/client/option/ParticlesMode.mapping b/mappings/net/minecraft/client/option/ParticlesMode.mapping index cc3f123896..09e93d6c7a 100644 --- a/mappings/net/minecraft/client/option/ParticlesMode.mapping +++ b/mappings/net/minecraft/client/option/ParticlesMode.mapping @@ -1,7 +1,7 @@ CLASS net/minecraft/unmapped/C_ohzhuhsr net/minecraft/client/option/ParticlesMode FIELD f_qjewekah id I FIELD f_ropuplfq translationKey Ljava/lang/String; - FIELD f_zkrtmlae VALUES Ljava/util/function/IntFunction; + FIELD f_zkrtmlae GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;)V ARG 3 id ARG 4 translationKey diff --git a/mappings/net/minecraft/client/realms/RealmsWorldGeneratorType.mapping b/mappings/net/minecraft/client/realms/RealmsWorldGeneratorType.mapping index f87a74c4f6..b4d61c36c4 100644 --- a/mappings/net/minecraft/client/realms/RealmsWorldGeneratorType.mapping +++ b/mappings/net/minecraft/client/realms/RealmsWorldGeneratorType.mapping @@ -1,5 +1,7 @@ CLASS net/minecraft/unmapped/C_oynhlvsg net/minecraft/client/realms/RealmsWorldGeneratorType FIELD f_cbggqyed text Lnet/minecraft/unmapped/C_rdaqiwdt; FIELD f_xrjjnqsd id I + METHOD (Ljava/lang/String;IILnet/minecraft/unmapped/C_xhhleach;)V + ARG 4 type METHOD m_anzslqqw getText ()Lnet/minecraft/unmapped/C_rdaqiwdt; METHOD m_pylejpes getId ()I diff --git a/mappings/net/minecraft/client/render/TexturedRenderLayers.mapping b/mappings/net/minecraft/client/render/TexturedRenderLayers.mapping index 6fccfd1331..a30c4284ec 100644 --- a/mappings/net/minecraft/client/render/TexturedRenderLayers.mapping +++ b/mappings/net/minecraft/client/render/TexturedRenderLayers.mapping @@ -38,6 +38,7 @@ CLASS net/minecraft/unmapped/C_vkaoetfp net/minecraft/client/render/TexturedRend METHOD m_ealwunls createHangingSignTextureId (Lnet/minecraft/unmapped/C_xlaykyai;)Lnet/minecraft/unmapped/C_djlixbky; ARG 0 type METHOD m_eqczrmay getDecoratedPotPatternTextureId (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_djlixbky; + ARG 0 pattern METHOD m_ezczexcd getHangingSignTextureId (Lnet/minecraft/unmapped/C_xlaykyai;)Lnet/minecraft/unmapped/C_djlixbky; ARG 0 type METHOD m_fqmfsjlg (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Lnet/minecraft/unmapped/C_djlixbky; diff --git a/mappings/net/minecraft/client/render/debug/StructureDebugRenderer.mapping b/mappings/net/minecraft/client/render/debug/StructureDebugRenderer.mapping index 75e58775fb..7d70a52598 100644 --- a/mappings/net/minecraft/client/render/debug/StructureDebugRenderer.mapping +++ b/mappings/net/minecraft/client/render/debug/StructureDebugRenderer.mapping @@ -5,6 +5,11 @@ CLASS net/minecraft/unmapped/C_jneftvkt net/minecraft/client/render/debug/Struct FIELD f_wttkajig client Lnet/minecraft/unmapped/C_ayfeobid; METHOD (Lnet/minecraft/unmapped/C_ayfeobid;)V ARG 1 client + METHOD m_ssusrqxe (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Map; + ARG 0 unused METHOD m_tmeqhmbo addStructure (Lnet/minecraft/unmapped/C_hmqypqzz;Ljava/util/List;Lnet/minecraft/unmapped/C_xhhleach;)V ARG 1 boundingBox ARG 2 piecesBoundingBoxes + ARG 3 world + METHOD m_zccwebay (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Map; + ARG 0 unused diff --git a/mappings/net/minecraft/client/render/model/json/ModelTransformationMode.mapping b/mappings/net/minecraft/client/render/model/json/ModelTransformationMode.mapping index baa9af5938..4435c5d3a6 100644 --- a/mappings/net/minecraft/client/render/model/json/ModelTransformationMode.mapping +++ b/mappings/net/minecraft/client/render/model/json/ModelTransformationMode.mapping @@ -1,10 +1,9 @@ CLASS net/minecraft/unmapped/C_byhguelf net/minecraft/client/render/model/json/ModelTransformationMode - FIELD f_igynifqz value B + FIELD f_igynifqz id B FIELD f_kuzfhjos CODEC Lcom/mojang/serialization/Codec; - FIELD f_yltbiwcl id Ljava/lang/String; - FIELD f_zrsebbru FROM_VALUE Ljava/util/function/IntFunction; + FIELD f_yltbiwcl name Ljava/lang/String; + FIELD f_zrsebbru GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 value - ARG 4 id + ARG 3 id METHOD m_rvndgijr getValue ()B METHOD m_vdlyrqxg isFirstPerson ()Z diff --git a/mappings/net/minecraft/command/CommandBuildContext.mapping b/mappings/net/minecraft/command/CommandBuildContext.mapping index 356abf4e1b..95e27f8f8f 100644 --- a/mappings/net/minecraft/command/CommandBuildContext.mapping +++ b/mappings/net/minecraft/command/CommandBuildContext.mapping @@ -2,3 +2,7 @@ CLASS net/minecraft/unmapped/C_bprdujxm net/minecraft/command/CommandBuildContex METHOD m_mhsgrguo createSimple (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_czxxrbcp;)Lnet/minecraft/unmapped/C_bprdujxm; ARG 0 provider ARG 1 featureFlags + METHOD m_vlrtrrnf getFeatureFlags ()Lnet/minecraft/unmapped/C_czxxrbcp; + CLASS C_crxxacwy + METHOD m_hoqhezld (Lnet/minecraft/unmapped/C_czxxrbcp;Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl;)Lnet/minecraft/unmapped/C_vtbxyypo$C_drwjtlvl; + ARG 1 lookup diff --git a/mappings/net/minecraft/command/CommandSource.mapping b/mappings/net/minecraft/command/CommandSource.mapping index 2a263deba9..0594d1ebee 100644 --- a/mappings/net/minecraft/command/CommandSource.mapping +++ b/mappings/net/minecraft/command/CommandSource.mapping @@ -9,12 +9,16 @@ CLASS net/minecraft/unmapped/C_sasfholk net/minecraft/command/CommandSource ARG 2 identifier ARG 3 tooltip METHOD m_fjnhrcro getEnabledFlags ()Lnet/minecraft/unmapped/C_czxxrbcp; + METHOD m_gahgxanj (Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 tag METHOD m_gmcggpep suggestMatching (Ljava/util/stream/Stream;Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;)Ljava/util/concurrent/CompletableFuture; - ARG 0 stream + ARG 0 suggestions ARG 1 builder METHOD m_hfcwokxp matchesSubString (Ljava/lang/String;Ljava/lang/String;)Z ARG 0 string ARG 1 string2 + METHOD m_hyyvvigx (Ljava/lang/String;Ljava/lang/String;)Z + ARG 1 suggestion METHOD m_ifeviymy getEntitySuggestions ()Ljava/util/Collection; METHOD m_ifzcfard suggestRegistryElements (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_sasfholk$C_yjlyniph;Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;)V ARG 1 registry @@ -66,7 +70,7 @@ CLASS net/minecraft/unmapped/C_sasfholk net/minecraft/command/CommandSource METHOD m_upznzolz hasPermission (I)Z ARG 1 level METHOD m_uzuaopkd suggestRegistryElements (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_sasfholk$C_yjlyniph;Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;Lcom/mojang/brigadier/context/CommandContext;)Ljava/util/concurrent/CompletableFuture; - ARG 1 key + ARG 1 registry ARG 2 suggestionType ARG 3 builder ARG 4 context @@ -76,6 +80,8 @@ CLASS net/minecraft/unmapped/C_sasfholk net/minecraft/command/CommandSource ARG 2 string2 ARG 3 identifier ARG 4 action + METHOD m_wsgsplgw (Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/lang/Object;)V + ARG 3 message METHOD m_xphjtijn suggestResource (Ljava/util/stream/Stream;Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; ARG 0 identifierStream ARG 1 builder diff --git a/mappings/net/minecraft/command/argument/RegistryEntryArgumentType.mapping b/mappings/net/minecraft/command/argument/RegistryEntryArgumentType.mapping index 0957118746..a4496af35d 100644 --- a/mappings/net/minecraft/command/argument/RegistryEntryArgumentType.mapping +++ b/mappings/net/minecraft/command/argument/RegistryEntryArgumentType.mapping @@ -52,3 +52,4 @@ CLASS net/minecraft/unmapped/C_mymnmzsx net/minecraft/command/argument/RegistryE ARG 1 reader CLASS C_ipydwopz TypeInfo CLASS C_bgcoghfg Template + FIELD f_ruebpfes registry Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/command/argument/RegistryEntryOrTagArgument.mapping b/mappings/net/minecraft/command/argument/RegistryEntryOrTagArgument.mapping index a7e121e5b6..f00ca1e76b 100644 --- a/mappings/net/minecraft/command/argument/RegistryEntryOrTagArgument.mapping +++ b/mappings/net/minecraft/command/argument/RegistryEntryOrTagArgument.mapping @@ -1,6 +1,7 @@ CLASS net/minecraft/unmapped/C_bwiwqfgl net/minecraft/command/argument/RegistryEntryOrTagArgument FIELD f_askxyhwf NOT_FOUND_EXCEPTION Lcom/mojang/brigadier/exceptions/Dynamic2CommandExceptionType; FIELD f_mtetdrqd INVALID_TAG_EXCEPTION Lcom/mojang/brigadier/exceptions/Dynamic3CommandExceptionType; + FIELD f_nbxmxsnf registry Lnet/minecraft/unmapped/C_xhhleach; FIELD f_ptsdazkt EXAMPLES Ljava/util/Collection; FIELD f_zyyamqsa lookup Lnet/minecraft/unmapped/C_vtbxyypo; METHOD (Lnet/minecraft/unmapped/C_bprdujxm;Lnet/minecraft/unmapped/C_xhhleach;)V @@ -14,6 +15,7 @@ CLASS net/minecraft/unmapped/C_bwiwqfgl net/minecraft/command/argument/RegistryE ARG 2 o3 METHOD m_kfwauvon create (Lnet/minecraft/unmapped/C_bprdujxm;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_bwiwqfgl; ARG 0 context + ARG 1 registry METHOD m_pqzvsbvc (Ljava/lang/Object;Ljava/lang/Object;)Lcom/mojang/brigadier/Message; ARG 0 o ARG 1 o2 @@ -22,6 +24,7 @@ CLASS net/minecraft/unmapped/C_bwiwqfgl net/minecraft/command/argument/RegistryE METHOD m_vnamvtuc getResult (Lcom/mojang/brigadier/context/CommandContext;Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_bwiwqfgl$C_vxeoztnt; ARG 0 context ARG 1 name + ARG 2 registry METHOD m_wilgrbfx (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_odfnijdo$C_orinjhqu;)Lcom/mojang/brigadier/exceptions/CommandSyntaxException; ARG 1 namedSet CLASS C_qkdcccvt HolderResult @@ -32,7 +35,9 @@ CLASS net/minecraft/unmapped/C_bwiwqfgl net/minecraft/command/argument/RegistryE ARG 1 holder CLASS C_vxeoztnt Result METHOD m_lkvgzdgo castTo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry METHOD m_wnaoukry getStringRepresentation ()Ljava/lang/String; METHOD m_ylqwzoow getResultValue ()Lcom/mojang/datafixers/util/Either; CLASS C_yhjqhzlk Info CLASS C_itwjidak Template + FIELD f_qzhhszwx registry Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/command/argument/RegistryKeyOrTagKeyResult.mapping b/mappings/net/minecraft/command/argument/RegistryKeyOrTagKeyResult.mapping index d745495a7a..e4adb4f8a3 100644 --- a/mappings/net/minecraft/command/argument/RegistryKeyOrTagKeyResult.mapping +++ b/mappings/net/minecraft/command/argument/RegistryKeyOrTagKeyResult.mapping @@ -1,22 +1,27 @@ CLASS net/minecraft/unmapped/C_ybgoyqmh net/minecraft/command/argument/RegistryKeyOrTagKeyResult FIELD f_idfywblo EXAMPLES Ljava/util/Collection; + FIELD f_zqlvjvdr registry Lnet/minecraft/unmapped/C_xhhleach; METHOD listSuggestions (Lcom/mojang/brigadier/context/CommandContext;Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;)Ljava/util/concurrent/CompletableFuture; ARG 1 context ARG 2 builder METHOD m_smfremsu getResult (Lcom/mojang/brigadier/context/CommandContext;Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;)Lnet/minecraft/unmapped/C_ybgoyqmh$C_rckobmqr; ARG 0 context ARG 1 name + ARG 2 registry ARG 3 exception METHOD m_tvljewfq create (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_ybgoyqmh; + ARG 0 registry CLASS C_gecdolwz RegistryKeyResult METHOD test (Ljava/lang/Object;)Z ARG 1 holder CLASS C_mdlaqxgp Info CLASS C_lwhxrgaj Template + FIELD f_osltangg registry Lnet/minecraft/unmapped/C_xhhleach; CLASS C_rckobmqr Result METHOD m_plvjoeqs getResultValue ()Lcom/mojang/datafixers/util/Either; METHOD m_uysvgqki getStringRepresentation ()Ljava/lang/String; METHOD m_ynmuoeuc castTo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 registry CLASS C_yxbswysv TagResult METHOD test (Ljava/lang/Object;)Z ARG 1 holder diff --git a/mappings/net/minecraft/command/argument/ResourceKeyArgument.mapping b/mappings/net/minecraft/command/argument/ResourceKeyArgument.mapping index 1b1e12962d..2b448a9027 100644 --- a/mappings/net/minecraft/command/argument/ResourceKeyArgument.mapping +++ b/mappings/net/minecraft/command/argument/ResourceKeyArgument.mapping @@ -3,20 +3,16 @@ CLASS net/minecraft/unmapped/C_zgptntbw net/minecraft/command/argument/ResourceK FIELD f_fmnxgqhj INVALID_FEATURE_EXCEPTION Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType; FIELD f_hqteeflf INVALID_JIGSAW_EXCEPTION Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType; FIELD f_nufqqyoc EXAMPLES Ljava/util/Collection; - FIELD f_umcxcanc key Lnet/minecraft/unmapped/C_xhhleach; METHOD (Lnet/minecraft/unmapped/C_xhhleach;)V - ARG 1 key METHOD listSuggestions (Lcom/mojang/brigadier/context/CommandContext;Lcom/mojang/brigadier/suggestion/SuggestionsBuilder;)Ljava/util/concurrent/CompletableFuture; ARG 1 context ARG 2 suggestionsBuilder - METHOD m_cjqstqop key (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_zgptntbw; - ARG 0 key + METHOD m_cjqstqop of (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_zgptntbw; METHOD m_ezsbrgup getStructure (Lcom/mojang/brigadier/context/CommandContext;Ljava/lang/String;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 context ARG 1 name METHOD m_fuzyhifi getRegistry (Lcom/mojang/brigadier/context/CommandContext;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_tqxyjqsk; ARG 0 context - ARG 1 key METHOD m_lidnjsht (Ljava/lang/Object;)Lcom/mojang/brigadier/Message; ARG 0 attribute METHOD m_ourhajcj (Ljava/lang/Object;)Lcom/mojang/brigadier/Message; @@ -26,6 +22,7 @@ CLASS net/minecraft/unmapped/C_zgptntbw net/minecraft/command/argument/ResourceK METHOD m_tvftiixn get (Lcom/mojang/brigadier/context/CommandContext;Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 context ARG 1 id + ARG 2 registry ARG 3 exception METHOD m_uejwwoio getKey (Lcom/mojang/brigadier/context/CommandContext;Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;)Lnet/minecraft/unmapped/C_xhhleach; ARG 0 context @@ -41,6 +38,4 @@ CLASS net/minecraft/unmapped/C_zgptntbw net/minecraft/command/argument/ResourceK ARG 1 stringReader CLASS C_rxslkdgr Info CLASS C_ectbtsuu Template - FIELD f_dtzjoigc key Lnet/minecraft/unmapped/C_xhhleach; METHOD (Lnet/minecraft/unmapped/C_zgptntbw$C_rxslkdgr;Lnet/minecraft/unmapped/C_xhhleach;)V - ARG 2 key diff --git a/mappings/net/minecraft/component/type/FireworkExplosionComponent.mapping b/mappings/net/minecraft/component/type/FireworkExplosionComponent.mapping index 2d4e998fc7..ab2b4bb748 100644 --- a/mappings/net/minecraft/component/type/FireworkExplosionComponent.mapping +++ b/mappings/net/minecraft/component/type/FireworkExplosionComponent.mapping @@ -17,10 +17,10 @@ CLASS net/minecraft/unmapped/C_ibwugxba net/minecraft/component/type/FireworkExp ARG 1 fadeColors METHOD m_xsqzoide getColorName (I)Lnet/minecraft/unmapped/C_rdaqiwdt; CLASS C_zzjguyly Shape - FIELD f_cnerzkae BY_ID Ljava/util/function/IntFunction; + FIELD f_cnerzkae GET_BY_ID Ljava/util/function/IntFunction; FIELD f_oukclydd id I FIELD f_pkqbkpww name Ljava/lang/String; METHOD m_msqymlvt getName ()Lnet/minecraft/unmapped/C_npqneive; - METHOD m_pkleuvpj fromId (I)Lnet/minecraft/unmapped/C_ibwugxba$C_zzjguyly; + METHOD m_pkleuvpj byId (I)Lnet/minecraft/unmapped/C_ibwugxba$C_zzjguyly; ARG 0 id METHOD m_wewhqujo getId ()I diff --git a/mappings/net/minecraft/component/type/ItemEnchantmentsComponent.mapping b/mappings/net/minecraft/component/type/ItemEnchantmentsComponent.mapping index 280ef1c078..84571ea295 100644 --- a/mappings/net/minecraft/component/type/ItemEnchantmentsComponent.mapping +++ b/mappings/net/minecraft/component/type/ItemEnchantmentsComponent.mapping @@ -18,7 +18,7 @@ CLASS net/minecraft/unmapped/C_qlclfxvn net/minecraft/component/type/ItemEnchant ARG 0 component METHOD m_rwfsmcfy getTagOrEmpty (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_odfnijdo; ARG 0 lookup - ARG 2 tag + ARG 1 registry METHOD m_szyctegw getEnchantmentEntries ()Ljava/util/Set; COMMENT @return a map with enchantments as keys and their levels as values METHOD m_ucwxfcxd withShownInTooltip (Z)Lnet/minecraft/unmapped/C_qlclfxvn; diff --git a/mappings/net/minecraft/component/type/MapPostProcessingComponent.mapping b/mappings/net/minecraft/component/type/MapPostProcessingComponent.mapping index 34b0fe105f..e330e906bc 100644 --- a/mappings/net/minecraft/component/type/MapPostProcessingComponent.mapping +++ b/mappings/net/minecraft/component/type/MapPostProcessingComponent.mapping @@ -1,4 +1,4 @@ CLASS net/minecraft/unmapped/C_ehxakyjk net/minecraft/component/type/MapPostProcessingComponent FIELD f_sqkkhcro id I - FIELD f_vnpfuefw BY_ID Ljava/util/function/IntFunction; + FIELD f_vnpfuefw GET_BY_ID Ljava/util/function/IntFunction; METHOD m_rdamwlpj getId ()I diff --git a/mappings/net/minecraft/data/DataPackOutput.mapping b/mappings/net/minecraft/data/DataPackOutput.mapping index 8b4f37506d..ed5d034ba9 100644 --- a/mappings/net/minecraft/data/DataPackOutput.mapping +++ b/mappings/net/minecraft/data/DataPackOutput.mapping @@ -5,6 +5,8 @@ CLASS net/minecraft/unmapped/C_ugkmwocs net/minecraft/data/DataPackOutput METHOD m_cjbwdafm createPathResolver (Lnet/minecraft/unmapped/C_ugkmwocs$C_rvdkgcbb;Ljava/lang/String;)Lnet/minecraft/unmapped/C_ugkmwocs$C_ehniswvc; ARG 1 type ARG 2 directoryName + METHOD m_cxqnkpjt createTagPathResolver (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_ugkmwocs$C_ehniswvc; + METHOD m_jgqgnctt createPathResolver (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_ugkmwocs$C_ehniswvc; METHOD m_tciarwch resolvePath (Lnet/minecraft/unmapped/C_ugkmwocs$C_rvdkgcbb;)Ljava/nio/file/Path; ARG 1 outputType METHOD m_vozigwpe getPath ()Ljava/nio/file/Path; diff --git a/mappings/net/minecraft/data/DataPackStructureProvider.mapping b/mappings/net/minecraft/data/DataPackStructureProvider.mapping new file mode 100644 index 0000000000..36daa33c8f --- /dev/null +++ b/mappings/net/minecraft/data/DataPackStructureProvider.mapping @@ -0,0 +1,3 @@ +CLASS net/minecraft/unmapped/C_nnkntxbt net/minecraft/data/DataPackStructureProvider + METHOD (Lnet/minecraft/unmapped/C_ugkmwocs;)V + ARG 1 output diff --git a/mappings/net/minecraft/data/DataProvider.mapping b/mappings/net/minecraft/data/DataProvider.mapping index 9a2b684655..73f69b1c48 100644 --- a/mappings/net/minecraft/data/DataProvider.mapping +++ b/mappings/net/minecraft/data/DataProvider.mapping @@ -6,7 +6,11 @@ CLASS net/minecraft/unmapped/C_nyiqvxcn net/minecraft/data/DataProvider ARG 0 writer ARG 1 json ARG 2 path - METHOD m_fafjrzdp getName ()Ljava/lang/String; + METHOD m_fafjrzdp getDescription ()Ljava/lang/String; + COMMENT @return a unique description of this provider; + COMMENT adding multiple providers with the same description to a + COMMENT {@link net.minecraft.data.DataGenerator.PackGenerator generator} + COMMENT will cause an exception METHOD m_gpszpvej run (Lnet/minecraft/unmapped/C_temnquoh;)Ljava/util/concurrent/CompletableFuture; ARG 1 writer METHOD m_pgghgory (Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;)V diff --git a/mappings/net/minecraft/data/EquipmentModelDefinitionsProvider.mapping b/mappings/net/minecraft/data/EquipmentModelDefinitionsProvider.mapping new file mode 100644 index 0000000000..c4ceb0c75f --- /dev/null +++ b/mappings/net/minecraft/data/EquipmentModelDefinitionsProvider.mapping @@ -0,0 +1 @@ +CLASS net/minecraft/unmapped/C_vsteyhwp net/minecraft/data/EquipmentModelDefinitionsProvider diff --git a/mappings/net/minecraft/data/report/BiomeParametersProvider.mapping b/mappings/net/minecraft/data/report/BiomeParametersProvider.mapping index dd27893924..d23b089529 100644 --- a/mappings/net/minecraft/data/report/BiomeParametersProvider.mapping +++ b/mappings/net/minecraft/data/report/BiomeParametersProvider.mapping @@ -2,14 +2,20 @@ CLASS net/minecraft/unmapped/C_wwetinhi net/minecraft/data/report/BiomeParameter FIELD f_bemjvqoj path Ljava/nio/file/Path; FIELD f_iubheypa ENTRY_CODEC Lcom/mojang/serialization/MapCodec; FIELD f_tjqcsbiq CODEC Lcom/mojang/serialization/Codec; - FIELD f_zrxygubc lookupProvider Ljava/util/concurrent/CompletableFuture; + FIELD f_zrxygubc lookupProviderFuture Ljava/util/concurrent/CompletableFuture; METHOD (Lnet/minecraft/unmapped/C_ugkmwocs;Ljava/util/concurrent/CompletableFuture;)V ARG 1 output - ARG 2 lookupProvider + METHOD m_afadrwym (Ljava/nio/file/Path;Ljava/lang/String;)V + ARG 1 errorMessage METHOD m_dbdhbfat write (Ljava/nio/file/Path;Lnet/minecraft/unmapped/C_temnquoh;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Encoder;Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture; ARG 0 path ARG 1 writer ARG 3 encoder ARG 4 object + METHOD m_hcgtptww (Ljava/util/List;Lnet/minecraft/unmapped/C_temnquoh;Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/unmapped/C_xmtsvelx$C_jgklgqjr;Lnet/minecraft/unmapped/C_ohqwadgy$C_ftigwvun;)V + ARG 4 preset + ARG 5 biome METHOD m_lfeplmtj resolveFile (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/nio/file/Path; ARG 1 id + METHOD m_wrnliuob (Lnet/minecraft/unmapped/C_temnquoh;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Ljava/util/concurrent/CompletionStage; + ARG 2 provider diff --git a/mappings/net/minecraft/data/server/LootTablesProvider.mapping b/mappings/net/minecraft/data/server/LootTablesProvider.mapping index d4a0cc3ff9..c360a91d75 100644 --- a/mappings/net/minecraft/data/server/LootTablesProvider.mapping +++ b/mappings/net/minecraft/data/server/LootTablesProvider.mapping @@ -1,5 +1,5 @@ CLASS net/minecraft/unmapped/C_rriyyrek net/minecraft/data/server/LootTablesProvider - FIELD f_hwfthond lootTableProviderFuture Ljava/util/concurrent/CompletableFuture; + FIELD f_hwfthond lookupProviderFuture Ljava/util/concurrent/CompletableFuture; FIELD f_khsnzwsn lootTypeGenerators Ljava/util/List; FIELD f_umgzdmcg LOGGER Lorg/slf4j/Logger; FIELD f_xcjyrvon lootTableIds Ljava/util/Set; @@ -8,6 +8,17 @@ CLASS net/minecraft/unmapped/C_rriyyrek net/minecraft/data/server/LootTablesProv ARG 1 dataPackOutput METHOD m_cvuljxmh (Lnet/minecraft/unmapped/C_temnquoh;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Ljava/util/concurrent/CompletableFuture; ARG 1 writer + ARG 2 lookupProvider + METHOD m_iccnzkqh (Lnet/minecraft/unmapped/C_temnquoh;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Ljava/util/concurrent/CompletionStage; + ARG 2 provider + METHOD m_pkqhglxx (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Ljava/util/Map;Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_rriyyrek$C_ujsjtlmo;)V + ARG 3 generator + METHOD m_ttdjbgbz getId (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_ncpywfca; + ARG 0 lootTable METHOD m_wtovnwug (Ljava/util/Map;Lnet/minecraft/unmapped/C_rriyyrek$C_ujsjtlmo;Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_inwsuliy$C_daaljsfu;)V ARG 1 entry + ARG 3 lootTable + ARG 4 builder CLASS C_ujsjtlmo GeneratorEntry + FIELD f_lwflnqtz factory Ljava/util/function/Function; + METHOD m_zehwvskp factory ()Ljava/util/function/Function; diff --git a/mappings/net/minecraft/data/server/loot_table/EntityLootTableGenerator.mapping b/mappings/net/minecraft/data/server/loot_table/EntityLootTableGenerator.mapping index 3a8a6f0f3d..edc5b14746 100644 --- a/mappings/net/minecraft/data/server/loot_table/EntityLootTableGenerator.mapping +++ b/mappings/net/minecraft/data/server/loot_table/EntityLootTableGenerator.mapping @@ -5,6 +5,13 @@ CLASS net/minecraft/unmapped/C_egeqzyvk net/minecraft/data/server/loot_table/Ent METHOD m_dmtatuce frogDamageSource (Lnet/minecraft/unmapped/C_pzdchrcy;)Lnet/minecraft/unmapped/C_vqkczpuv$C_cjvmpogn; METHOD m_ltaoqnev generate ()V METHOD m_nxkzkqkr putLootTable (Lnet/minecraft/unmapped/C_ogavsvbr;Lnet/minecraft/unmapped/C_inwsuliy$C_daaljsfu;)V - ARG 1 type ARG 2 builder + METHOD m_rtklupeh (Lnet/minecraft/unmapped/C_ogavsvbr;)Ljava/util/Map; + ARG 0 unused METHOD m_vtkdidok variantSpecificFrogDamageSource (Lnet/minecraft/unmapped/C_pzdchrcy;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_vqkczpuv$C_cjvmpogn; + ARG 1 typeProvider + ARG 2 variant + METHOD m_znlvnkkb putLootTable (Lnet/minecraft/unmapped/C_ogavsvbr;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_inwsuliy$C_daaljsfu;)V + ARG 1 type + ARG 2 lootTable + ARG 3 builder diff --git a/mappings/net/minecraft/data/server/loot_table/LootTableGenerator.mapping b/mappings/net/minecraft/data/server/loot_table/LootTableGenerator.mapping index 9a181c544b..516760c328 100644 --- a/mappings/net/minecraft/data/server/loot_table/LootTableGenerator.mapping +++ b/mappings/net/minecraft/data/server/loot_table/LootTableGenerator.mapping @@ -1 +1,3 @@ CLASS net/minecraft/unmapped/C_ujnowvgu net/minecraft/data/server/loot_table/LootTableGenerator + METHOD generate (Ljava/util/function/BiConsumer;)V + ARG 1 lootModifier diff --git a/mappings/net/minecraft/data/server/tag/AbstractTagProvider.mapping b/mappings/net/minecraft/data/server/tag/AbstractTagProvider.mapping index d57db25c6b..127a5a628a 100644 --- a/mappings/net/minecraft/data/server/tag/AbstractTagProvider.mapping +++ b/mappings/net/minecraft/data/server/tag/AbstractTagProvider.mapping @@ -1,7 +1,7 @@ CLASS net/minecraft/unmapped/C_zqlavbep net/minecraft/data/server/tag/AbstractTagProvider FIELD f_bjnzkozm registryLoadFuture Ljava/util/concurrent/CompletableFuture; FIELD f_dkneixhd pathResolver Lnet/minecraft/unmapped/C_ugkmwocs$C_ehniswvc; - FIELD f_geosnnbu key Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_geosnnbu registry Lnet/minecraft/unmapped/C_xhhleach; FIELD f_lubzhdwr tagBuilders Ljava/util/Map; FIELD f_oiajybif tagLookupFuture Ljava/util/concurrent/CompletableFuture; FIELD f_ppduqpro registryLookupFuture Ljava/util/concurrent/CompletableFuture; @@ -14,7 +14,6 @@ CLASS net/minecraft/unmapped/C_zqlavbep net/minecraft/data/server/tag/AbstractTa METHOD m_bitbfodv configure (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)V ARG 1 lookup METHOD m_dvcyjzus getOrCreateTagBuilder (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 key METHOD m_hwoaobva getTagLookupFuture ()Ljava/util/concurrent/CompletableFuture; METHOD m_kjuqqirx getTagBuilder (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_dgpijqhe; ARG 1 key @@ -23,22 +22,19 @@ CLASS net/minecraft/unmapped/C_zqlavbep net/minecraft/data/server/tag/AbstractTa ARG 1 tagKey METHOD m_zoqfcozb (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; ARG 1 lookupProvider - CLASS C_gojihseq ObjectBuilder + CLASS C_gojihseq ElementAdder FIELD f_iepclmzl builder Lnet/minecraft/unmapped/C_dgpijqhe; METHOD (Lnet/minecraft/unmapped/C_dgpijqhe;)V ARG 1 builder METHOD m_ctewvair addOptional (Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 id METHOD m_cxnarzaz addTag (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 key - METHOD m_mpsppbyn add (Ljava/util/List;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 keys + METHOD m_mpsppbyn addAll (Ljava/util/List;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; + ARG 1 elements METHOD m_nrwqjpbz add (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 key + ARG 1 element METHOD m_nvcvrjhp addOptionalTag (Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 id - METHOD m_qserlndq add ([Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; - ARG 1 keys + METHOD m_qserlndq addAll ([Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_zqlavbep$C_gojihseq; + ARG 1 elements CLASS C_wyxvvqqq TagLookup METHOD contains (Lnet/minecraft/unmapped/C_ednuhnnn;)Z ARG 1 key diff --git a/mappings/net/minecraft/data/server/tag/TagsProvider.mapping b/mappings/net/minecraft/data/server/tag/TagsProvider.mapping index 410d00677d..740929eea5 100644 --- a/mappings/net/minecraft/data/server/tag/TagsProvider.mapping +++ b/mappings/net/minecraft/data/server/tag/TagsProvider.mapping @@ -1,20 +1,14 @@ CLASS net/minecraft/unmapped/C_hzdskvsx net/minecraft/data/server/tag/TagsProvider - FIELD f_qpdypszd valueToKey Ljava/util/function/Function; + FIELD f_qpdypszd keyGetter Ljava/util/function/Function; METHOD (Lnet/minecraft/unmapped/C_ugkmwocs;Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V - ARG 1 output - ARG 3 registryLookupFuture - ARG 4 tagLookupFuture METHOD (Lnet/minecraft/unmapped/C_ugkmwocs;Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V - ARG 1 output - ARG 2 key - ARG 3 lookupProvider - ARG 4 valueToKey - CLASS C_wosjfhof ObjectBuilder - FIELD f_dchldbph valueToKey Ljava/util/function/Function; + CLASS C_wosjfhof DirectElementAdder + FIELD f_dchldbph keyGetter Ljava/util/function/Function; METHOD (Lnet/minecraft/unmapped/C_dgpijqhe;Ljava/util/function/Function;)V ARG 1 builder - ARG 2 valueToKey METHOD m_agatuolp addAll ([Ljava/lang/Object;)Lnet/minecraft/unmapped/C_hzdskvsx$C_wosjfhof; - ARG 1 objects + ARG 1 elements METHOD m_bwfwpsfu add (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_hzdskvsx$C_wosjfhof; - ARG 1 object + ARG 1 element + METHOD m_oloqwzqh (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_hzdskvsx$C_wosjfhof; + ARG 1 tag diff --git a/mappings/net/minecraft/enchantment/EnchantmentHelper.mapping b/mappings/net/minecraft/enchantment/EnchantmentHelper.mapping index 955792a8ec..ef2b1e3e08 100644 --- a/mappings/net/minecraft/enchantment/EnchantmentHelper.mapping +++ b/mappings/net/minecraft/enchantment/EnchantmentHelper.mapping @@ -100,6 +100,7 @@ CLASS net/minecraft/unmapped/C_jakrppis net/minecraft/enchantment/EnchantmentHel METHOD m_ruiicrds hasTag (Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_ednuhnnn;)Z ARG 1 enchantment METHOD m_spmqbsrk enchantFromProvider (Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_wqxmvzdq;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_jiailwzt;Lnet/minecraft/unmapped/C_rlomrsco;)V + ARG 2 provider ARG 3 difficulty METHOD m_swhrpoib onEntityHitWithItem (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_sbxfkpyv;Lnet/minecraft/unmapped/C_sddaxwyk;)V ARG 1 entity diff --git a/mappings/net/minecraft/entity/Entity.mapping b/mappings/net/minecraft/entity/Entity.mapping index f4b26504de..2d1dfac300 100644 --- a/mappings/net/minecraft/entity/Entity.mapping +++ b/mappings/net/minecraft/entity/Entity.mapping @@ -396,7 +396,6 @@ CLASS net/minecraft/unmapped/C_astfners net/minecraft/entity/Entity METHOD m_huwcpczk canBeSpectated (Lnet/minecraft/unmapped/C_mxrobsgg;)Z ARG 1 spectator METHOD m_hvcwbybh startRiding (Lnet/minecraft/unmapped/C_astfners;Z)Z - ARG 1 entity ARG 2 force METHOD m_hvrxcdhf playSound (Lnet/minecraft/unmapped/C_avavozay;)V COMMENT Plays a given sound coming from this entity, if this entity is not silent diff --git a/mappings/net/minecraft/entity/EntityPose.mapping b/mappings/net/minecraft/entity/EntityPose.mapping index df70a1f460..adbb8a5cfe 100644 --- a/mappings/net/minecraft/entity/EntityPose.mapping +++ b/mappings/net/minecraft/entity/EntityPose.mapping @@ -1,7 +1,6 @@ CLASS net/minecraft/unmapped/C_ufdjspmk net/minecraft/entity/EntityPose FIELD f_drjcyate CODEC Lnet/minecraft/unmapped/C_qsrmwluu; - FIELD f_iutbzuhu BY_ID Ljava/util/function/IntFunction; + FIELD f_iutbzuhu GET_BY_ID Ljava/util/function/IntFunction; FIELD f_lpaujdpk id I METHOD (Ljava/lang/String;II)V - ARG 3 id METHOD m_hbfckuwh getId ()I diff --git a/mappings/net/minecraft/entity/EntityType.mapping b/mappings/net/minecraft/entity/EntityType.mapping index b42aa9b411..05e941ec13 100644 --- a/mappings/net/minecraft/entity/EntityType.mapping +++ b/mappings/net/minecraft/entity/EntityType.mapping @@ -27,6 +27,7 @@ CLASS net/minecraft/unmapped/C_ogavsvbr net/minecraft/entity/EntityType COMMENT {@return whether this entity type is in the specified tag} ARG 1 tag COMMENT the entity type tag key + METHOD m_bwhasvfe createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; METHOD m_cehfgyym (Lnet/minecraft/unmapped/C_hhlwcnih;Lnet/minecraft/unmapped/C_astfners;)V ARG 1 entity METHOD m_chqybydm isFireImmune ()Z @@ -60,6 +61,8 @@ CLASS net/minecraft/unmapped/C_ogavsvbr net/minecraft/entity/EntityType ARG 3 player METHOD m_jwcfsqgu isSummonable ()Z METHOD m_kkusvlru isSpawnableFarFromPlayer ()Z + METHOD m_krlwdzbt register (Ljava/lang/String;Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb;)Lnet/minecraft/unmapped/C_ogavsvbr; + ARG 1 builder METHOD m_lamxchjm isIn (Lnet/minecraft/unmapped/C_odfnijdo;)Z COMMENT {@return whether this item is in the specified holder set} ARG 1 set @@ -108,6 +111,9 @@ CLASS net/minecraft/unmapped/C_ogavsvbr net/minecraft/entity/EntityType COMMENT distance multiplier. METHOD m_wjaaowcn fromNbt (Lnet/minecraft/unmapped/C_hhlwcnih;)Ljava/util/Optional; ARG 0 nbt + METHOD m_wpubgsdl register (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb;)Lnet/minecraft/unmapped/C_ogavsvbr; + ARG 0 type + ARG 1 builder METHOD m_znjphnxr getTranslationKey ()Ljava/lang/String; CLASS C_ddulqwnm METHOD tryAdvance (Ljava/util/function/Consumer;)Z @@ -151,6 +157,8 @@ CLASS net/minecraft/unmapped/C_ogavsvbr net/minecraft/entity/EntityType ARG 2 x ARG 3 y ARG 4 z + METHOD m_homqvsmf (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 0 lootTable METHOD m_itrwpmjb makeFireImmune ()Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; METHOD m_jqfjjilu requiredFlags ([Lnet/minecraft/unmapped/C_kksdgidr;)Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; ARG 1 flags @@ -163,6 +171,8 @@ CLASS net/minecraft/unmapped/C_ogavsvbr net/minecraft/entity/EntityType METHOD m_lxcabpka disableSummon ()Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; METHOD m_msevjhbv setSpawnDimensionsScale (F)Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; ARG 1 scale + METHOD m_ncvdbohy (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/String; + ARG 0 type METHOD m_onnfrfmf spawnableFarFromPlayer ()Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; METHOD m_phyefhwa setEyeHeight (F)Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; ARG 1 eyeHeight @@ -171,6 +181,7 @@ CLASS net/minecraft/unmapped/C_ogavsvbr net/minecraft/entity/EntityType ARG 0 spawnGroup METHOD m_tyhsjfkq vehicleAttachment (Lnet/minecraft/unmapped/C_vgpupfxx;)Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; METHOD m_ukhgvcht build (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_ogavsvbr; + ARG 1 type METHOD m_vwlaksox setAttachmentType (Lnet/minecraft/unmapped/C_biqpbxns;Lnet/minecraft/unmapped/C_vgpupfxx;)Lnet/minecraft/unmapped/C_ogavsvbr$C_mopkbakb; ARG 1 attachmentType ARG 2 pos diff --git a/mappings/net/minecraft/entity/EquipmentSlot.mapping b/mappings/net/minecraft/entity/EquipmentSlot.mapping index 0a191ac20a..2c58579a0b 100644 --- a/mappings/net/minecraft/entity/EquipmentSlot.mapping +++ b/mappings/net/minecraft/entity/EquipmentSlot.mapping @@ -1,4 +1,7 @@ CLASS net/minecraft/unmapped/C_yuycoehb net/minecraft/entity/EquipmentSlot + FIELD f_exxszrbt VALUES Ljava/util/List; + FIELD f_fneaxvvq id I + FIELD f_ixynlylb GET_BY_ID Ljava/util/function/IntFunction; FIELD f_navctjmp NO_MAX_COUNT I FIELD f_rwczokzq entityId I FIELD f_sxrtmuub type Lnet/minecraft/unmapped/C_yuycoehb$C_vkdieima; @@ -6,17 +9,18 @@ CLASS net/minecraft/unmapped/C_yuycoehb net/minecraft/entity/EquipmentSlot FIELD f_wotdkhkf CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; FIELD f_xlhfthzn name Ljava/lang/String; METHOD (Ljava/lang/String;ILnet/minecraft/unmapped/C_yuycoehb$C_vkdieima;IILjava/lang/String;)V - ARG 3 type - ARG 4 entityId - ARG 5 armorStandId - ARG 6 name + METHOD m_bufirwcp getId ()I METHOD m_cypegoms split (Lnet/minecraft/unmapped/C_sddaxwyk;)Lnet/minecraft/unmapped/C_sddaxwyk; METHOD m_dmhyzohc getOffsetEntitySlotId (I)I ARG 1 offset METHOD m_egyjjxnq getType ()Lnet/minecraft/unmapped/C_yuycoehb$C_vkdieima; + METHOD m_fyvngtoz (Lnet/minecraft/unmapped/C_yuycoehb;)I + ARG 0 slot METHOD m_omjerill isArmorSlot ()Z METHOD m_ovklkqiy getName ()Ljava/lang/String; METHOD m_sybtfyce getEntitySlotId ()I + METHOD m_vgklquvo (Lnet/minecraft/unmapped/C_yuycoehb;)I + ARG 0 slot METHOD m_wjkdieuv byName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_yuycoehb; ARG 0 name CLASS C_vkdieima Type diff --git a/mappings/net/minecraft/entity/EquipmentSlotGroup.mapping b/mappings/net/minecraft/entity/EquipmentSlotGroup.mapping index f7c23d5b9d..c64bbb85f5 100644 --- a/mappings/net/minecraft/entity/EquipmentSlotGroup.mapping +++ b/mappings/net/minecraft/entity/EquipmentSlotGroup.mapping @@ -1,12 +1,9 @@ CLASS net/minecraft/unmapped/C_qfoqahef net/minecraft/entity/EquipmentSlotGroup FIELD f_fuzlsnem name Ljava/lang/String; - FIELD f_nhoyjwsw BY_ID Ljava/util/function/IntFunction; + FIELD f_nhoyjwsw GET_BY_ID Ljava/util/function/IntFunction; FIELD f_wvhciaue slotPredicate Ljava/util/function/Predicate; FIELD f_ybaxrurf id I METHOD (Ljava/lang/String;IILjava/lang/String;Ljava/util/function/Predicate;)V - ARG 3 id - ARG 4 name - ARG 5 slotPredicate METHOD (Ljava/lang/String;IILjava/lang/String;Lnet/minecraft/unmapped/C_yuycoehb;)V ARG 5 slot METHOD m_djnfswyg (Lnet/minecraft/unmapped/C_yuycoehb;)Z @@ -17,7 +14,7 @@ CLASS net/minecraft/unmapped/C_qfoqahef net/minecraft/entity/EquipmentSlotGroup ARG 0 slot METHOD m_toxnrdqq matches (Lnet/minecraft/unmapped/C_yuycoehb;)Z ARG 1 slot - METHOD m_tvkclilo get (Lnet/minecraft/unmapped/C_yuycoehb;)Lnet/minecraft/unmapped/C_qfoqahef; + METHOD m_tvkclilo bySlot (Lnet/minecraft/unmapped/C_yuycoehb;)Lnet/minecraft/unmapped/C_qfoqahef; ARG 0 slot METHOD m_uqnkvvet (Lnet/minecraft/unmapped/C_yuycoehb;Lnet/minecraft/unmapped/C_yuycoehb;)Z ARG 1 checkedSlot diff --git a/mappings/net/minecraft/entity/EquipmentUser.mapping b/mappings/net/minecraft/entity/EquipmentUser.mapping index 4593026a2f..514706e215 100644 --- a/mappings/net/minecraft/entity/EquipmentUser.mapping +++ b/mappings/net/minecraft/entity/EquipmentUser.mapping @@ -1,16 +1,17 @@ CLASS net/minecraft/unmapped/C_fxfvcivl net/minecraft/entity/EquipmentUser METHOD m_esnoggyp resolveSlot (Lnet/minecraft/unmapped/C_sddaxwyk;Ljava/util/List;)Lnet/minecraft/unmapped/C_yuycoehb; ARG 2 filledSlots - METHOD m_jcbansoq equip (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nzsnkdtl;JLjava/util/Map;)V + METHOD m_jcbansoq equipRandomly (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nzsnkdtl;JLjava/util/Map;)V + ARG 1 lootTable ARG 5 dropChances - METHOD m_mxaydhis equip (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nzsnkdtl;Ljava/util/Map;)V + METHOD m_mxaydhis equipRandomly (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nzsnkdtl;Ljava/util/Map;)V ARG 3 dropChances METHOD m_mywpdhns setDropChance (Lnet/minecraft/unmapped/C_yuycoehb;F)V ARG 1 slot ARG 2 chance METHOD m_udqbhpxg equipStack (Lnet/minecraft/unmapped/C_yuycoehb;Lnet/minecraft/unmapped/C_sddaxwyk;)V ARG 1 slot - METHOD m_ybivtegh equip (Lnet/minecraft/unmapped/C_fiwnwrrf;Lnet/minecraft/unmapped/C_nzsnkdtl;)V + METHOD m_ybivtegh equipRandomly (Lnet/minecraft/unmapped/C_fiwnwrrf;Lnet/minecraft/unmapped/C_nzsnkdtl;)V ARG 1 equipmentTable METHOD m_zwvabaox getEquippedStack (Lnet/minecraft/unmapped/C_yuycoehb;)Lnet/minecraft/unmapped/C_sddaxwyk; ARG 1 slot diff --git a/mappings/net/minecraft/entity/LivingEntity.mapping b/mappings/net/minecraft/entity/LivingEntity.mapping index cc2bd5571f..36e027799d 100644 --- a/mappings/net/minecraft/entity/LivingEntity.mapping +++ b/mappings/net/minecraft/entity/LivingEntity.mapping @@ -563,6 +563,8 @@ CLASS net/minecraft/unmapped/C_usxaxydn net/minecraft/entity/LivingEntity ARG 1 tickDelta METHOD m_whvujbsh dropInventory ()V METHOD m_widuipxk getAttributes ()Lnet/minecraft/unmapped/C_cohbwqne; + METHOD m_wjcfmdga (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;Ljava/util/function/Consumer;)Z + ARG 1 lootTable METHOD m_wjvypezh getRoll ()I METHOD m_wmvelibz isHoldingOntoLadder ()Z COMMENT @return {@code true} if this entity should not lose height while in a climbing state diff --git a/mappings/net/minecraft/entity/SpawnReason.mapping b/mappings/net/minecraft/entity/SpawnReason.mapping new file mode 100644 index 0000000000..1241e0b41c --- /dev/null +++ b/mappings/net/minecraft/entity/SpawnReason.mapping @@ -0,0 +1,3 @@ +CLASS net/minecraft/unmapped/C_bhyaesep net/minecraft/entity/SpawnReason + METHOD m_vdamtufj ignoresBrightness (Lnet/minecraft/unmapped/C_bhyaesep;)Z + METHOD m_wwmgnuwp isSpawner (Lnet/minecraft/unmapped/C_bhyaesep;)Z diff --git a/mappings/net/minecraft/entity/attribute/EntityAttributeModifier.mapping b/mappings/net/minecraft/entity/attribute/EntityAttributeModifier.mapping index f2b09eedb4..7b2a38a033 100644 --- a/mappings/net/minecraft/entity/attribute/EntityAttributeModifier.mapping +++ b/mappings/net/minecraft/entity/attribute/EntityAttributeModifier.mapping @@ -17,11 +17,9 @@ CLASS net/minecraft/unmapped/C_hdbqsqsm net/minecraft/entity/attribute/EntityAtt CLASS C_pljpmmzs Operation COMMENT Represents an operation which can be applied to an attribute modifier. FIELD f_dqfeqgfg id I - FIELD f_qrkmptcr BY_ID Ljava/util/function/IntFunction; + FIELD f_qrkmptcr GET_BY_ID Ljava/util/function/IntFunction; FIELD f_umhgvzca PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; FIELD f_wzjuqzpc CODEC Lcom/mojang/serialization/Codec; FIELD f_ztrdibur name Ljava/lang/String; METHOD (Ljava/lang/String;ILjava/lang/String;I)V - ARG 3 name - ARG 4 id METHOD m_tzqcenkk getId ()I diff --git a/mappings/net/minecraft/entity/damage/DamageSources.mapping b/mappings/net/minecraft/entity/damage/DamageSources.mapping index 14cf6a4d5a..aa55ba52b5 100644 --- a/mappings/net/minecraft/entity/damage/DamageSources.mapping +++ b/mappings/net/minecraft/entity/damage/DamageSources.mapping @@ -16,6 +16,7 @@ CLASS net/minecraft/unmapped/C_lddxcbik net/minecraft/entity/damage/DamageSource FIELD f_lkntcxaf campfire Lnet/minecraft/unmapped/C_sbxfkpyv; FIELD f_lymlaaij generic Lnet/minecraft/unmapped/C_sbxfkpyv; FIELD f_mtnhkntq cactus Lnet/minecraft/unmapped/C_sbxfkpyv; + FIELD f_nessohrp enderPearl Lnet/minecraft/unmapped/C_sbxfkpyv; FIELD f_oletfyhq magic Lnet/minecraft/unmapped/C_sbxfkpyv; FIELD f_phxwvsfj flyIntoWall Lnet/minecraft/unmapped/C_sbxfkpyv; FIELD f_pnzgdzux dryOut Lnet/minecraft/unmapped/C_sbxfkpyv; @@ -43,12 +44,14 @@ CLASS net/minecraft/unmapped/C_lddxcbik net/minecraft/entity/damage/DamageSource METHOD m_givukkjp mobAttack (Lnet/minecraft/unmapped/C_usxaxydn;)Lnet/minecraft/unmapped/C_sbxfkpyv; ARG 1 source METHOD m_gjkqlrqf create (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_astfners;)Lnet/minecraft/unmapped/C_sbxfkpyv; + ARG 1 type ARG 2 source ARG 3 attacker METHOD m_graccxlk inWall ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_gxlltvwx trident (Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_astfners;)Lnet/minecraft/unmapped/C_sbxfkpyv; ARG 1 source ARG 2 attacker + METHOD m_hbfwzkfx maceSmash (Lnet/minecraft/unmapped/C_astfners;)Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_hvorlpuh magic ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_hzzqlhie fall ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_ievhzbek drown ()Lnet/minecraft/unmapped/C_sbxfkpyv; @@ -58,6 +61,7 @@ CLASS net/minecraft/unmapped/C_lddxcbik net/minecraft/entity/damage/DamageSource METHOD m_jqlpuaon lava ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_jrmiimzd hotFloor ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_jycgycwk create (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_sbxfkpyv; + ARG 1 type METHOD m_kciyglzx dryOut ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_kssiuuqu witherSkull (Lnet/minecraft/unmapped/C_vzureqzt;Lnet/minecraft/unmapped/C_astfners;)Lnet/minecraft/unmapped/C_sbxfkpyv; ARG 1 source @@ -88,6 +92,7 @@ CLASS net/minecraft/unmapped/C_lddxcbik net/minecraft/entity/damage/DamageSource ARG 2 attacker METHOD m_suzzcsxz cactus ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_tgffywka create (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_astfners;)Lnet/minecraft/unmapped/C_sbxfkpyv; + ARG 1 type ARG 2 source METHOD m_vjirayfw badRespawnPoint (Lnet/minecraft/unmapped/C_vgpupfxx;)Lnet/minecraft/unmapped/C_sbxfkpyv; ARG 1 pos @@ -104,6 +109,7 @@ CLASS net/minecraft/unmapped/C_lddxcbik net/minecraft/entity/damage/DamageSource METHOD m_xmiwmjzt thrown (Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_astfners;)Lnet/minecraft/unmapped/C_sbxfkpyv; ARG 1 source ARG 2 attacker + METHOD m_yacirdqa enderPearl ()Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_yiditndb llamaSpit (Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_usxaxydn;)Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_yqxpxuxl windCharge (Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_usxaxydn;)Lnet/minecraft/unmapped/C_sbxfkpyv; METHOD m_zyuvjkhx flyIntoWall ()Lnet/minecraft/unmapped/C_sbxfkpyv; diff --git a/mappings/net/minecraft/entity/damage/DamageTypes.mapping b/mappings/net/minecraft/entity/damage/DamageTypes.mapping index aa787824e1..25cb62bccb 100644 --- a/mappings/net/minecraft/entity/damage/DamageTypes.mapping +++ b/mappings/net/minecraft/entity/damage/DamageTypes.mapping @@ -26,9 +26,11 @@ CLASS net/minecraft/unmapped/C_wshykkvq net/minecraft/entity/damage/DamageTypes FIELD f_nrpknljd LIGHTNING_BOLT Lnet/minecraft/unmapped/C_xhhleach; FIELD f_nucftlge FALL Lnet/minecraft/unmapped/C_xhhleach; FIELD f_nzxhitsm MOB_ATTACK_NO_AGGRO Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_obwbimdy MACE_SMASH Lnet/minecraft/unmapped/C_xhhleach; FIELD f_oguhsudb THROWN Lnet/minecraft/unmapped/C_xhhleach; FIELD f_otqfmynt CACTUS Lnet/minecraft/unmapped/C_xhhleach; FIELD f_padjadtl BAD_RESPAWN_POINT Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_pfdnywtp ENDER_PEARL Lnet/minecraft/unmapped/C_xhhleach; FIELD f_ppgtqcgn FLY_INTO_WALL Lnet/minecraft/unmapped/C_xhhleach; FIELD f_qcbxfpeo STING Lnet/minecraft/unmapped/C_xhhleach; FIELD f_sogkuuiy ON_FIRE Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/entity/decoration/DisplayEntity.mapping b/mappings/net/minecraft/entity/decoration/DisplayEntity.mapping index b57860e891..4869679afe 100644 --- a/mappings/net/minecraft/entity/decoration/DisplayEntity.mapping +++ b/mappings/net/minecraft/entity/decoration/DisplayEntity.mapping @@ -109,13 +109,11 @@ CLASS net/minecraft/unmapped/C_zdeutotk net/minecraft/entity/decoration/DisplayE ARG 1 f CLASS C_btdrhauy LinearFloatInterpolator CLASS C_cozbiatm BillboardRenderConstraints - FIELD f_afcfxjuf FROM_VALUE Ljava/util/function/IntFunction; - FIELD f_mexuxwrp value B - FIELD f_mfbouxff id Ljava/lang/String; + FIELD f_afcfxjuf GET_BY_ID Ljava/util/function/IntFunction; + FIELD f_mexuxwrp id B + FIELD f_mfbouxff name Ljava/lang/String; METHOD (Ljava/lang/String;IBLjava/lang/String;)V - ARG 3 value - ARG 4 id - METHOD m_vyfzsteo getValue ()B + METHOD m_vyfzsteo getId ()B CLASS C_cpnhprov BlockDisplayEntity FIELD f_hzopsxjm STATE Lnet/minecraft/unmapped/C_rinmcaxy; FIELD f_uixdfymz renderState Lnet/minecraft/unmapped/C_zdeutotk$C_cpnhprov$C_zhdrruye; diff --git a/mappings/net/minecraft/entity/decoration/painting/PaintingVariant.mapping b/mappings/net/minecraft/entity/decoration/painting/PaintingVariant.mapping index 6543da75de..deaf883207 100644 --- a/mappings/net/minecraft/entity/decoration/painting/PaintingVariant.mapping +++ b/mappings/net/minecraft/entity/decoration/painting/PaintingVariant.mapping @@ -1,10 +1,8 @@ CLASS net/minecraft/unmapped/C_gbaxbrwg net/minecraft/entity/decoration/painting/PaintingVariant FIELD f_azsnvele DIRECT_CODEC Lcom/mojang/serialization/Codec; - FIELD f_bqduxiyq height I FIELD f_dfoybqqo CODEC Lcom/mojang/serialization/Codec; FIELD f_dkvvcxps PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; FIELD f_dtfxxovq DIRECT_PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; - FIELD f_snhuitee width I METHOD m_chqqbhoj (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App; ARG 0 instance METHOD m_ghrmnkpe getArea ()I diff --git a/mappings/net/minecraft/entity/decoration/painting/PaintingVariants.mapping b/mappings/net/minecraft/entity/decoration/painting/PaintingVariants.mapping index 8d9e40d37f..acf64301c1 100644 --- a/mappings/net/minecraft/entity/decoration/painting/PaintingVariants.mapping +++ b/mappings/net/minecraft/entity/decoration/painting/PaintingVariants.mapping @@ -1,4 +1,11 @@ CLASS net/minecraft/unmapped/C_xzjscbit net/minecraft/entity/decoration/painting/PaintingVariants METHOD m_avgpdivu createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; ARG 0 path + METHOD m_edfnafaz register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;IIZ)V + ARG 1 variant + ARG 2 width + ARG 3 height + ARG 4 hasAuthor + METHOD m_intyxvkf register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;II)V + ARG 1 variant METHOD m_wmijsric bootstrap (Lnet/minecraft/unmapped/C_hqoyyfco;)V diff --git a/mappings/net/minecraft/entity/mob/MobEntity.mapping b/mappings/net/minecraft/entity/mob/MobEntity.mapping index 0c5878de50..fa19ce432a 100644 --- a/mappings/net/minecraft/entity/mob/MobEntity.mapping +++ b/mappings/net/minecraft/entity/mob/MobEntity.mapping @@ -154,7 +154,7 @@ CLASS net/minecraft/unmapped/C_dxkfswlz net/minecraft/entity/mob/MobEntity METHOD m_swfiqufm prefersNewEquipment (Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_yuycoehb;)Z ARG 1 newStack ARG 2 oldStack - METHOD m_szmqgzqm equip (Lnet/minecraft/unmapped/C_fiwnwrrf;)V + METHOD m_szmqgzqm equipRandomly (Lnet/minecraft/unmapped/C_fiwnwrrf;)V ARG 1 equipmentTable METHOD m_tjejbxzp canUseRangedWeapon (Lnet/minecraft/unmapped/C_axrfhndl;)Z ARG 1 weapon @@ -170,8 +170,8 @@ CLASS net/minecraft/unmapped/C_dxkfswlz net/minecraft/entity/mob/MobEntity ARG 2 penalty METHOD m_uazxcfcd updateEnchantments (Lnet/minecraft/unmapped/C_jmnzlycd;Lnet/minecraft/unmapped/C_rlomrsco;Lnet/minecraft/unmapped/C_jiailwzt;)V ARG 3 difficulty - METHOD m_uebjilbs equip (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/Map;)V - ARG 2 dropChances + METHOD m_uebjilbs equipRandomly (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/Map;)V + ARG 1 lootTable METHOD m_uqccedlq canSpawn (Lnet/minecraft/unmapped/C_vdvbsyle;Lnet/minecraft/unmapped/C_bhyaesep;)Z ARG 1 world METHOD m_utndsklm equipBodyArmor (Lnet/minecraft/unmapped/C_sddaxwyk;)V diff --git a/mappings/net/minecraft/entity/mob/SpellcastingIllagerEntity.mapping b/mappings/net/minecraft/entity/mob/SpellcastingIllagerEntity.mapping index 1260c3fa5d..ded7380a90 100644 --- a/mappings/net/minecraft/entity/mob/SpellcastingIllagerEntity.mapping +++ b/mappings/net/minecraft/entity/mob/SpellcastingIllagerEntity.mapping @@ -20,12 +20,13 @@ CLASS net/minecraft/unmapped/C_fiyglykq net/minecraft/entity/mob/SpellcastingIll METHOD m_zttbpiyu getSpell ()Lnet/minecraft/unmapped/C_fiyglykq$C_rjdfyixx; CLASS C_rjdfyixx Spell FIELD f_aosxruav id I - FIELD f_wpzgaove FROM_ID Ljava/util/function/IntFunction; + FIELD f_wpzgaove GET_BY_ID Ljava/util/function/IntFunction; FIELD f_yhkyqorl particleVelocity [D METHOD (Ljava/lang/String;IIDDD)V - ARG 3 id ARG 4 particleVelocityX ARG 6 particleVelocityY ARG 8 particleVelocityZ + METHOD m_aourikkx (Lnet/minecraft/unmapped/C_fiyglykq$C_rjdfyixx;)I + ARG 0 spell METHOD m_fligwgjx byId (I)Lnet/minecraft/unmapped/C_fiyglykq$C_rjdfyixx; ARG 0 id diff --git a/mappings/net/minecraft/entity/passive/AnimalEntity.mapping b/mappings/net/minecraft/entity/passive/AnimalEntity.mapping index a15940f07f..76254c0814 100644 --- a/mappings/net/minecraft/entity/passive/AnimalEntity.mapping +++ b/mappings/net/minecraft/entity/passive/AnimalEntity.mapping @@ -6,6 +6,7 @@ CLASS net/minecraft/unmapped/C_tprvtfff net/minecraft/entity/passive/AnimalEntit METHOD m_bthblwno breed (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_tprvtfff;Lnet/minecraft/unmapped/C_jvojbnla;)V ARG 2 other ARG 3 child + METHOD m_crfaarku playEatSound ()V METHOD m_dzhrnghb (Lnet/minecraft/unmapped/C_tprvtfff;Lnet/minecraft/unmapped/C_jvojbnla;Lnet/minecraft/unmapped/C_mxrobsgg;)V ARG 3 player METHOD m_fficjzem isInLove ()Z diff --git a/mappings/net/minecraft/entity/passive/ArmadilloEntity.mapping b/mappings/net/minecraft/entity/passive/ArmadilloEntity.mapping index 32bec04efc..fc6a1d6be3 100644 --- a/mappings/net/minecraft/entity/passive/ArmadilloEntity.mapping +++ b/mappings/net/minecraft/entity/passive/ArmadilloEntity.mapping @@ -31,8 +31,8 @@ CLASS net/minecraft/unmapped/C_isgylmfr net/minecraft/entity/passive/ArmadilloEn METHOD m_yzyomktj nextScuteSheddingCooldown ()I CLASS C_wqokwagt State FIELD f_anjxyhoc PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; - FIELD f_bqkewtss lengthTicks I - FIELD f_fxutpqqj BY_ID Ljava/util/function/IntFunction; + FIELD f_bqkewtss duration I + FIELD f_fxutpqqj GET_BY_ID Ljava/util/function/IntFunction; FIELD f_jrnhcgzn name Ljava/lang/String; FIELD f_sekwejqr CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; FIELD f_umjlzwwf threatened Z @@ -40,7 +40,7 @@ CLASS net/minecraft/unmapped/C_isgylmfr net/minecraft/entity/passive/ArmadilloEn METHOD m_iofbcnyp getId ()I METHOD m_kdhwawjl fromName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_isgylmfr$C_wqokwagt; ARG 0 name - METHOD m_lgowlnpl getLengthTicks ()I + METHOD m_lgowlnpl getDuration ()I METHOD m_vcmbmqck shouldRollUp (J)Z ARG 1 currentStateTicks METHOD m_zmxoergx isThreatened ()Z diff --git a/mappings/net/minecraft/entity/passive/AxolotlEntity.mapping b/mappings/net/minecraft/entity/passive/AxolotlEntity.mapping index f9af79372d..0012d92125 100644 --- a/mappings/net/minecraft/entity/passive/AxolotlEntity.mapping +++ b/mappings/net/minecraft/entity/passive/AxolotlEntity.mapping @@ -81,24 +81,21 @@ CLASS net/minecraft/unmapped/C_dkiorddu net/minecraft/entity/passive/AxolotlEnti ARG 3 maxYawDifference CLASS C_wibhmvyi Variant FIELD f_bsgarvwt id I - FIELD f_hxixfkzl key Ljava/lang/String; + FIELD f_hxixfkzl name Ljava/lang/String; FIELD f_nonrkxpt CODEC Lcom/mojang/serialization/Codec; - FIELD f_ujjymvcq VARIANTS Ljava/util/function/IntFunction; + FIELD f_ujjymvcq GET_BY_ID Ljava/util/function/IntFunction; FIELD f_ykasltgf natural Z METHOD (Ljava/lang/String;IILjava/lang/String;Z)V - ARG 3 id - ARG 4 key - ARG 5 natural METHOD m_biatcobk getRandomNatural (Lnet/minecraft/unmapped/C_rlomrsco;)Lnet/minecraft/unmapped/C_dkiorddu$C_wibhmvyi; ARG 0 random - METHOD m_dgvlsyym get (I)Lnet/minecraft/unmapped/C_dkiorddu$C_wibhmvyi; + METHOD m_dgvlsyym byId (I)Lnet/minecraft/unmapped/C_dkiorddu$C_wibhmvyi; ARG 0 id METHOD m_khmanwnl (ZLnet/minecraft/unmapped/C_dkiorddu$C_wibhmvyi;)Z ARG 1 variant - METHOD m_mfptbgae id ()I + METHOD m_mfptbgae getId ()I METHOD m_rccogdrt getRandom (Lnet/minecraft/unmapped/C_rlomrsco;Z)Lnet/minecraft/unmapped/C_dkiorddu$C_wibhmvyi; ARG 0 random ARG 1 natural - METHOD m_tvtpucta key ()Ljava/lang/String; + METHOD m_tvtpucta getName ()Ljava/lang/String; METHOD m_wnfsspzw getRandomUnnatural (Lnet/minecraft/unmapped/C_rlomrsco;)Lnet/minecraft/unmapped/C_dkiorddu$C_wibhmvyi; ARG 0 random diff --git a/mappings/net/minecraft/entity/passive/CatEntity.mapping b/mappings/net/minecraft/entity/passive/CatEntity.mapping index 959d92486e..8c5cb7d071 100644 --- a/mappings/net/minecraft/entity/passive/CatEntity.mapping +++ b/mappings/net/minecraft/entity/passive/CatEntity.mapping @@ -1,5 +1,6 @@ CLASS net/minecraft/unmapped/C_rxtmregr net/minecraft/entity/passive/CatEntity COMMENT Meow. + FIELD f_cmwfbyhe DEFAULT_VARIANT Lnet/minecraft/unmapped/C_xhhleach; FIELD f_crlwzfoc HEAD_DOWN Lnet/minecraft/unmapped/C_rinmcaxy; FIELD f_czqfqakz prevSleepAnimation F FIELD f_ebcwdxuh tailCurlAnimation F @@ -11,6 +12,7 @@ CLASS net/minecraft/unmapped/C_rxtmregr net/minecraft/entity/passive/CatEntity FIELD f_krqstxdp headDownAnimation F FIELD f_lfmjmddd COLLAR_COLOR Lnet/minecraft/unmapped/C_rinmcaxy; FIELD f_lsvomhnh SPRINTING_SPEED D + FIELD f_mhntxktq nearSleepingPlayer Z FIELD f_qmmhiplw prevHeadDownAnimation F FIELD f_rbvswzvj prevTailCurlAnimation F FIELD f_uqdbaiuw temptGoal Lnet/minecraft/unmapped/C_klcypqlq; @@ -22,6 +24,7 @@ CLASS net/minecraft/unmapped/C_rxtmregr net/minecraft/entity/passive/CatEntity METHOD m_hklpzhfy updateAnimations ()V METHOD m_hrmkvfwy createAttributes ()Lnet/minecraft/unmapped/C_sdjuuzrz$C_tehwrjus; METHOD m_jegafqgf tryTame (Lnet/minecraft/unmapped/C_jzrpycqo;)V + METHOD m_jmkrmfxa isNearSleepingPlayer ()Z METHOD m_lamyttdk isInSleepingPose ()Z COMMENT {@return whether this cat is in a sleeping pose} METHOD m_mkychxup setCollarColor (Lnet/minecraft/unmapped/C_arllgqae;)V diff --git a/mappings/net/minecraft/entity/passive/FoxEntity.mapping b/mappings/net/minecraft/entity/passive/FoxEntity.mapping index 97e883bf1f..9b5ff99848 100644 --- a/mappings/net/minecraft/entity/passive/FoxEntity.mapping +++ b/mappings/net/minecraft/entity/passive/FoxEntity.mapping @@ -106,6 +106,18 @@ CLASS net/minecraft/unmapped/C_axinhusn net/minecraft/entity/passive/FoxEntity METHOD m_hzdxsxyl isAtFavoredLocation ()Z CLASS C_clucitvs FoxLookControl CLASS C_cwkbtmvo FoxMoveControl + CLASS C_dqmtshhc Variant + FIELD f_kptztpsi GET_BY_ID Ljava/util/function/IntFunction; + FIELD f_kqzgmetw CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; + FIELD f_nassxknl name Ljava/lang/String; + FIELD f_vgcpbciz id I + METHOD m_ffwzpefo byName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_axinhusn$C_dqmtshhc; + ARG 0 name + METHOD m_pjzcozwh byId (I)Lnet/minecraft/unmapped/C_axinhusn$C_dqmtshhc; + ARG 0 id + METHOD m_qtzulqba getId ()I + METHOD m_vreukxrr byBiome (Lnet/minecraft/unmapped/C_cjzoxshv;)Lnet/minecraft/unmapped/C_axinhusn$C_dqmtshhc; + ARG 0 biome CLASS C_eclzhatf StopWanderingGoal FIELD f_hydiykel timer I CLASS C_ffhqzlak LookAtEntityGoal diff --git a/mappings/net/minecraft/entity/passive/FrogEntity.mapping b/mappings/net/minecraft/entity/passive/FrogEntity.mapping index 813d85253a..770f2b6d3e 100644 --- a/mappings/net/minecraft/entity/passive/FrogEntity.mapping +++ b/mappings/net/minecraft/entity/passive/FrogEntity.mapping @@ -6,6 +6,7 @@ CLASS net/minecraft/unmapped/C_gcfircge net/minecraft/entity/passive/FrogEntity FIELD f_ituaqaqf SENSORS Lcom/google/common/collect/ImmutableList; FIELD f_kbrwwixv longJumpAnimationState Lnet/minecraft/unmapped/C_kxntavoz; FIELD f_mupmmsbd TARGET_ENTITY_ID Lnet/minecraft/unmapped/C_rinmcaxy; + FIELD f_qqtdnpku DEFAULT_VARIANT Lnet/minecraft/unmapped/C_xhhleach; FIELD f_tvuakrkf croakAnimationState Lnet/minecraft/unmapped/C_kxntavoz; FIELD f_ulbksrem TYPE Lnet/minecraft/unmapped/C_rinmcaxy; FIELD f_wjjrdvsc VARIANT_NBT_KEY Ljava/lang/String; diff --git a/mappings/net/minecraft/entity/passive/FrogVariant.mapping b/mappings/net/minecraft/entity/passive/FrogVariant.mapping index 3a0c1e0211..76c239ebf0 100644 --- a/mappings/net/minecraft/entity/passive/FrogVariant.mapping +++ b/mappings/net/minecraft/entity/passive/FrogVariant.mapping @@ -1,11 +1,10 @@ CLASS net/minecraft/unmapped/C_idxitzip net/minecraft/entity/passive/FrogVariant - FIELD f_cqaiamli id Lnet/minecraft/unmapped/C_ncpywfca; + FIELD f_cqaiamli textureId Lnet/minecraft/unmapped/C_ncpywfca; METHOD (Lnet/minecraft/unmapped/C_ncpywfca;)V ARG 1 id METHOD equals (Ljava/lang/Object;)Z ARG 1 o METHOD m_acomowiu bootstrap (Lnet/minecraft/unmapped/C_tqxyjqsk;)Lnet/minecraft/unmapped/C_idxitzip; - METHOD m_rojrtzwd getKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; - METHOD m_saozpydd id ()Lnet/minecraft/unmapped/C_ncpywfca; + METHOD m_rojrtzwd createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_saozpydd textureId ()Lnet/minecraft/unmapped/C_ncpywfca; METHOD m_wvvrbffk create (Lnet/minecraft/unmapped/C_tqxyjqsk;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;)Lnet/minecraft/unmapped/C_idxitzip; - ARG 2 type diff --git a/mappings/net/minecraft/entity/passive/HorseColor.mapping b/mappings/net/minecraft/entity/passive/HorseColor.mapping index 567bdc698b..cb28b56994 100644 --- a/mappings/net/minecraft/entity/passive/HorseColor.mapping +++ b/mappings/net/minecraft/entity/passive/HorseColor.mapping @@ -1,10 +1,8 @@ CLASS net/minecraft/unmapped/C_pftaultf net/minecraft/entity/passive/HorseColor - FIELD f_pykxuxiu VALUES Ljava/util/function/IntFunction; + FIELD f_pykxuxiu GET_BY_ID Ljava/util/function/IntFunction; FIELD f_tfxckurc name Ljava/lang/String; - FIELD f_vjtbepqk index I + FIELD f_vjtbepqk id I METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 index - ARG 4 name - METHOD m_rpbzzkyt byIndex (I)Lnet/minecraft/unmapped/C_pftaultf; - ARG 0 index - METHOD m_xgbaxjfm getIndex ()I + METHOD m_rpbzzkyt byId (I)Lnet/minecraft/unmapped/C_pftaultf; + ARG 0 id + METHOD m_xgbaxjfm getId ()I diff --git a/mappings/net/minecraft/entity/passive/HorseMarking.mapping b/mappings/net/minecraft/entity/passive/HorseMarking.mapping index a9d054efb5..164c7d42ac 100644 --- a/mappings/net/minecraft/entity/passive/HorseMarking.mapping +++ b/mappings/net/minecraft/entity/passive/HorseMarking.mapping @@ -1,8 +1,7 @@ CLASS net/minecraft/unmapped/C_izltrckh net/minecraft/entity/passive/HorseMarking - FIELD f_jmrenxpl VALUES Ljava/util/function/IntFunction; - FIELD f_uwbtuoho index I + FIELD f_jmrenxpl GET_BY_ID Ljava/util/function/IntFunction; + FIELD f_uwbtuoho id I METHOD (Ljava/lang/String;II)V - ARG 3 index - METHOD m_hjnowxip byIndex (I)Lnet/minecraft/unmapped/C_izltrckh; - ARG 0 index - METHOD m_jfctvvag getIndex ()I + METHOD m_hjnowxip byId (I)Lnet/minecraft/unmapped/C_izltrckh; + ARG 0 id + METHOD m_jfctvvag getId ()I diff --git a/mappings/net/minecraft/entity/passive/LlamaEntity.mapping b/mappings/net/minecraft/entity/passive/LlamaEntity.mapping index a3ed2ed536..cca4592447 100644 --- a/mappings/net/minecraft/entity/passive/LlamaEntity.mapping +++ b/mappings/net/minecraft/entity/passive/LlamaEntity.mapping @@ -24,16 +24,14 @@ CLASS net/minecraft/unmapped/C_jzrmkmyj net/minecraft/entity/passive/LlamaEntity ARG 1 llama METHOD m_ziuntool hasFollower ()Z CLASS C_bamxtdwv Variant - FIELD f_awosmvfj key Ljava/lang/String; + FIELD f_awosmvfj name Ljava/lang/String; FIELD f_eydlbpra CODEC Lcom/mojang/serialization/Codec; FIELD f_hjcijjth id I - FIELD f_qfglbuhf VARIANTS Ljava/util/function/IntFunction; + FIELD f_qfglbuhf GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 key - METHOD m_rxkqawos get (I)Lnet/minecraft/unmapped/C_jzrmkmyj$C_bamxtdwv; + METHOD m_rxkqawos byId (I)Lnet/minecraft/unmapped/C_jzrmkmyj$C_bamxtdwv; ARG 0 id - METHOD m_tgezfyjh id ()I + METHOD m_tgezfyjh getId ()I CLASS C_bmfhutoq ChaseWolvesGoal METHOD (Lnet/minecraft/unmapped/C_jzrmkmyj;)V ARG 1 llama diff --git a/mappings/net/minecraft/entity/passive/PandaEntity.mapping b/mappings/net/minecraft/entity/passive/PandaEntity.mapping index 516acb259e..2337340484 100644 --- a/mappings/net/minecraft/entity/passive/PandaEntity.mapping +++ b/mappings/net/minecraft/entity/passive/PandaEntity.mapping @@ -94,11 +94,8 @@ CLASS net/minecraft/unmapped/C_ogdzfiek net/minecraft/entity/passive/PandaEntity FIELD f_lhtfrejp GENE_CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; FIELD f_mirrwljl id I FIELD f_mumtwisj name Ljava/lang/String; - FIELD f_tzyyzptr VALUES Ljava/util/function/IntFunction; + FIELD f_tzyyzptr GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;Z)V - ARG 3 id - ARG 4 name - ARG 5 recessive METHOD m_dywrtdnt isRecessive ()Z METHOD m_hijobhtj byId (I)Lnet/minecraft/unmapped/C_ogdzfiek$C_djzoyosk; ARG 0 id diff --git a/mappings/net/minecraft/entity/passive/ParrotEntity.mapping b/mappings/net/minecraft/entity/passive/ParrotEntity.mapping index 9b21f9155b..36ecb316e4 100644 --- a/mappings/net/minecraft/entity/passive/ParrotEntity.mapping +++ b/mappings/net/minecraft/entity/passive/ParrotEntity.mapping @@ -31,15 +31,13 @@ CLASS net/minecraft/unmapped/C_ombdzkxc net/minecraft/entity/passive/ParrotEntit METHOD test (Ljava/lang/Object;)Z ARG 1 entity CLASS C_vrrzomrk Variant - FIELD f_ionelagg VARIANTS Ljava/util/function/IntFunction; - FIELD f_lyjclikp key Ljava/lang/String; + FIELD f_ionelagg GET_BY_ID Ljava/util/function/IntFunction; + FIELD f_lyjclikp name Ljava/lang/String; FIELD f_plgymzwe id I FIELD f_vgfcuyii CODEC Lcom/mojang/serialization/Codec; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 key - METHOD m_jquwagcv get (I)Lnet/minecraft/unmapped/C_ombdzkxc$C_vrrzomrk; + METHOD m_jquwagcv byId (I)Lnet/minecraft/unmapped/C_ombdzkxc$C_vrrzomrk; ARG 0 id - METHOD m_mhaphmct id ()I + METHOD m_mhaphmct getId ()I CLASS C_zeiqwbga ParrotWanderGoal METHOD m_ablbecac getTreePos ()Lnet/minecraft/unmapped/C_vgpupfxx; diff --git a/mappings/net/minecraft/entity/passive/SnifferEntity.mapping b/mappings/net/minecraft/entity/passive/SnifferEntity.mapping index 20a31610dd..18ea3e65cd 100644 --- a/mappings/net/minecraft/entity/passive/SnifferEntity.mapping +++ b/mappings/net/minecraft/entity/passive/SnifferEntity.mapping @@ -51,11 +51,10 @@ CLASS net/minecraft/unmapped/C_frelvdpe net/minecraft/entity/passive/SnifferEnti FIELD f_jiyqkeyh PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; FIELD f_ljpztdnk SNIFFING Lnet/minecraft/unmapped/C_frelvdpe$C_ekatpfyn; FIELD f_nxeotgrf id I - FIELD f_pkjifclz BY_ID Ljava/util/function/IntFunction; + FIELD f_pkjifclz GET_BY_ID Ljava/util/function/IntFunction; FIELD f_qgkbyaxa SEARCHING Lnet/minecraft/unmapped/C_frelvdpe$C_ekatpfyn; FIELD f_tbzquwfe RISING Lnet/minecraft/unmapped/C_frelvdpe$C_ekatpfyn; FIELD f_toduazac DIGGING Lnet/minecraft/unmapped/C_frelvdpe$C_ekatpfyn; FIELD f_uanohqne SCENTING Lnet/minecraft/unmapped/C_frelvdpe$C_ekatpfyn; METHOD (Ljava/lang/String;II)V - ARG 3 id METHOD m_jwgewysc getId ()I diff --git a/mappings/net/minecraft/entity/passive/WolfVariants.mapping b/mappings/net/minecraft/entity/passive/WolfVariants.mapping index 7071e730ac..5c325106aa 100644 --- a/mappings/net/minecraft/entity/passive/WolfVariants.mapping +++ b/mappings/net/minecraft/entity/passive/WolfVariants.mapping @@ -4,10 +4,12 @@ CLASS net/minecraft/unmapped/C_udrqifai net/minecraft/entity/passive/WolfVariant ARG 1 biome METHOD m_lnueigda createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; METHOD m_ouhhqrrg register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_ednuhnnn;)V + ARG 3 biomes METHOD m_pzmgmdro register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;)V - ARG 1 variantKey - ARG 3 biomeKey + ARG 3 biome METHOD m_uoffyfmm register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_odfnijdo;)V ARG 2 name ARG 3 biomes + METHOD m_wcvtxavz (Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Z + ARG 1 holder METHOD m_zhaexgds bootstrap (Lnet/minecraft/unmapped/C_hqoyyfco;)V diff --git a/mappings/net/minecraft/entity/vehicle/AbstractMinecartEntity.mapping b/mappings/net/minecraft/entity/vehicle/AbstractMinecartEntity.mapping index 5f2f2ff547..7a3d9e19ea 100644 --- a/mappings/net/minecraft/entity/vehicle/AbstractMinecartEntity.mapping +++ b/mappings/net/minecraft/entity/vehicle/AbstractMinecartEntity.mapping @@ -43,6 +43,7 @@ CLASS net/minecraft/unmapped/C_tahhkgty net/minecraft/entity/vehicle/AbstractMin ARG 1 pos METHOD m_yrpbpsae moveOffRail ()V METHOD m_yvrwkcqb applySlowdown (Lnet/minecraft/unmapped/C_vgpupfxx;)Lnet/minecraft/unmapped/C_vgpupfxx; + ARG 1 velocity METHOD m_zqqbmhzn hasCustomBlock ()Z METHOD m_zrztaorn (Ljava/util/EnumMap;)V ARG 0 map diff --git a/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping b/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping index 8ba5d41dbe..ecb05c9875 100644 --- a/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping +++ b/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping @@ -79,12 +79,15 @@ CLASS net/minecraft/unmapped/C_mpfuowct net/minecraft/entity/vehicle/BoatEntity ARG 0 entity METHOD m_xwvweinm updateLocation ()Lnet/minecraft/unmapped/C_mpfuowct$C_tdpqooxn; CLASS C_jyahrrif Variant + FIELD f_asomkbcg displayName Lnet/minecraft/unmapped/C_rdaqiwdt; FIELD f_haecscok CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; - FIELD f_vbzpbykb key Ljava/lang/String; - FIELD f_whmsayxx VARIANTS Ljava/util/function/IntFunction; + FIELD f_ndvbhqqg itemGetter Ljava/util/function/Supplier; + FIELD f_vbzpbykb name Ljava/lang/String; + FIELD f_whmsayxx GET_BY_ORDINAL Ljava/util/function/IntFunction; METHOD m_icoyxmnb key ()Ljava/lang/String; - METHOD m_qbsqgvtg get (Ljava/lang/String;)Lnet/minecraft/unmapped/C_mpfuowct$C_jyahrrif; + METHOD m_pseozspr getItem ()Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_qbsqgvtg byName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_mpfuowct$C_jyahrrif; ARG 0 name - METHOD m_vpilhxjx get (I)Lnet/minecraft/unmapped/C_mpfuowct$C_jyahrrif; + METHOD m_vpilhxjx byId (I)Lnet/minecraft/unmapped/C_mpfuowct$C_jyahrrif; ARG 0 id CLASS C_tdpqooxn Location diff --git a/mappings/net/minecraft/entity/vehicle/StorageMinecartEntity.mapping b/mappings/net/minecraft/entity/vehicle/StorageMinecartEntity.mapping index 8a3b682f7b..628fb54efa 100644 --- a/mappings/net/minecraft/entity/vehicle/StorageMinecartEntity.mapping +++ b/mappings/net/minecraft/entity/vehicle/StorageMinecartEntity.mapping @@ -1,7 +1,10 @@ CLASS net/minecraft/unmapped/C_yyrquvgz net/minecraft/entity/vehicle/StorageMinecartEntity FIELD f_giroimfl inventory Lnet/minecraft/unmapped/C_rnrfftze; - FIELD f_mlivraya lootTableId Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_mlivraya lootTable Lnet/minecraft/unmapped/C_xhhleach; FIELD f_ylaiueuc lootSeed J + METHOD m_faucbiwk setLootProperties (Lnet/minecraft/unmapped/C_xhhleach;J)V + ARG 1 lootTable + ARG 2 seed METHOD m_vljvfgol getScreenHandler (ILnet/minecraft/unmapped/C_sxzqocrm;)Lnet/minecraft/unmapped/C_mkrkudpa; ARG 1 syncId ARG 2 playerInventory diff --git a/mappings/net/minecraft/entity/vehicle/StorageVehicle.mapping b/mappings/net/minecraft/entity/vehicle/StorageVehicle.mapping index b8da494db1..c9ce608ea9 100644 --- a/mappings/net/minecraft/entity/vehicle/StorageVehicle.mapping +++ b/mappings/net/minecraft/entity/vehicle/StorageVehicle.mapping @@ -8,19 +8,25 @@ CLASS net/minecraft/unmapped/C_srvkmyvp net/minecraft/entity/vehicle/StorageVehi METHOD m_iemddgjw writeStorage (Lnet/minecraft/unmapped/C_hhlwcnih;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)V ARG 1 nbt ARG 2 lookupProvider + METHOD m_ixbkjejb getLootSeed ()J METHOD m_keckkfsk getStorageStack (I)Lnet/minecraft/unmapped/C_sddaxwyk; ARG 1 slot METHOD m_kqxvnqqn getWorld ()Lnet/minecraft/unmapped/C_cdctfzbn; METHOD m_kutapocv getStorageStackReference (I)Lnet/minecraft/unmapped/C_xkkpnyvk; ARG 1 mappedIndex METHOD m_lgqlkcep getBounds ()Lnet/minecraft/unmapped/C_hbcjzgoe; + METHOD m_mvclgeqi setLootTable (Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 lootTable METHOD m_otoutzlq removeStorageStack (I)Lnet/minecraft/unmapped/C_sddaxwyk; ARG 1 slot METHOD m_oughjdjm getStacks ()Lnet/minecraft/unmapped/C_rnrfftze; + METHOD m_ozrwrjzp getLootTable ()Lnet/minecraft/unmapped/C_xhhleach; METHOD m_paxurfti readStorage (Lnet/minecraft/unmapped/C_hhlwcnih;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;)V ARG 1 nbt ARG 2 lookupProvider METHOD m_pihrdwyv resetStorage ()V + METHOD m_plgxqonm setLootSeed (J)V + ARG 1 seed METHOD m_pmcucocf drop (Lnet/minecraft/unmapped/C_sbxfkpyv;Lnet/minecraft/unmapped/C_cdctfzbn;Lnet/minecraft/unmapped/C_astfners;)V ARG 1 source ARG 2 world diff --git a/mappings/net/minecraft/inventory/LootableInventory.mapping b/mappings/net/minecraft/inventory/LootableInventory.mapping index 090b6410c6..ffd11a6d94 100644 --- a/mappings/net/minecraft/inventory/LootableInventory.mapping +++ b/mappings/net/minecraft/inventory/LootableInventory.mapping @@ -2,7 +2,8 @@ CLASS net/minecraft/unmapped/C_ehawoasn net/minecraft/inventory/LootableInventor FIELD f_yeibkfzd LOOT_TABLE_SEED_KEY Ljava/lang/String; FIELD f_ztchflsp LOOT_TABLE_KEY Ljava/lang/String; METHOD m_dmdivonx setLootTable (Lnet/minecraft/unmapped/C_xhhleach;)V - METHOD m_drfdhyfv getLootTableId ()Lnet/minecraft/unmapped/C_xhhleach; + ARG 1 lootTable + METHOD m_drfdhyfv getLootTable ()Lnet/minecraft/unmapped/C_xhhleach; METHOD m_mtzsyvbu setupLoot (Lnet/minecraft/unmapped/C_jzrpycqo;)V ARG 1 player METHOD m_njtcujiz readLootTableNbt (Lnet/minecraft/unmapped/C_hhlwcnih;)Z @@ -14,5 +15,6 @@ CLASS net/minecraft/unmapped/C_ehawoasn net/minecraft/inventory/LootableInventor METHOD m_uxrpqxab getLootTableSeed ()J METHOD m_vhsehsrn setupLootTable (Lnet/minecraft/unmapped/C_peaveboq;Lnet/minecraft/unmapped/C_rlomrsco;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_xhhleach;)V METHOD m_xukvibrq setLootTable (Lnet/minecraft/unmapped/C_xhhleach;J)V + ARG 1 lootTable METHOD m_ycwokqel writeLootTableNbt (Lnet/minecraft/unmapped/C_hhlwcnih;)Z ARG 1 nbt diff --git a/mappings/net/minecraft/item/BannerPatterns.mapping b/mappings/net/minecraft/item/BannerPatterns.mapping index 94539481cf..2fe1cd6523 100644 --- a/mappings/net/minecraft/item/BannerPatterns.mapping +++ b/mappings/net/minecraft/item/BannerPatterns.mapping @@ -1,7 +1,5 @@ CLASS net/minecraft/unmapped/C_lmlxpsml net/minecraft/item/BannerPatterns METHOD m_gogzazvm createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; - ARG 0 path METHOD m_iuxajiyk register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;)V - ARG 0 pattern + ARG 1 pattern METHOD m_shrfwjxe bootstrap (Lnet/minecraft/unmapped/C_hqoyyfco;)V - ARG 0 pattern diff --git a/mappings/net/minecraft/item/ConsumableComponent.mapping b/mappings/net/minecraft/item/ConsumableComponent.mapping new file mode 100644 index 0000000000..dc2f3cdc7d --- /dev/null +++ b/mappings/net/minecraft/item/ConsumableComponent.mapping @@ -0,0 +1 @@ +CLASS net/minecraft/unmapped/C_ybwnbwdi net/minecraft/item/ConsumableComponent diff --git a/mappings/net/minecraft/item/ConsumeEffect.mapping b/mappings/net/minecraft/item/ConsumeEffect.mapping new file mode 100644 index 0000000000..2f86b14be2 --- /dev/null +++ b/mappings/net/minecraft/item/ConsumeEffect.mapping @@ -0,0 +1,6 @@ +CLASS net/minecraft/unmapped/C_uocfnrao net/minecraft/item/ConsumeEffect + METHOD m_yvwnzfik (Lnet/minecraft/unmapped/C_cdctfzbn;Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_usxaxydn;)Z + CLASS C_lplzxssc Type + FIELD f_bfphspah packetCodec Lnet/minecraft/unmapped/C_qsrmwluu; + METHOD m_amcqqhjh packetCodec ()Lnet/minecraft/unmapped/C_qsrmwluu; + METHOD m_dmyekdjf register (Ljava/lang/String;Lcom/mojang/serialization/MapCodec;Lnet/minecraft/unmapped/C_qsrmwluu;)Lnet/minecraft/unmapped/C_uocfnrao$C_lplzxssc; diff --git a/mappings/net/minecraft/item/Instruments.mapping b/mappings/net/minecraft/item/Instruments.mapping index af9c90bbd9..19ef2a672f 100644 --- a/mappings/net/minecraft/item/Instruments.mapping +++ b/mappings/net/minecraft/item/Instruments.mapping @@ -1,6 +1,7 @@ CLASS net/minecraft/unmapped/C_cffsqeei net/minecraft/item/Instruments FIELD f_czvlxzoq DEFAULT_DURATION F FIELD f_rsuhkejp DEFAULT_RANGE I - METHOD m_uoauhstj create (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; - ARG 0 id + METHOD m_qiyrmnpc register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_cjzoxshv;FF)V + ARG 1 instrument + METHOD m_uoauhstj createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; METHOD m_vmyhpcqf initialize (Lnet/minecraft/unmapped/C_hqoyyfco;)V diff --git a/mappings/net/minecraft/item/Item.mapping b/mappings/net/minecraft/item/Item.mapping index 5781af1b4e..c757d3669f 100644 --- a/mappings/net/minecraft/item/Item.mapping +++ b/mappings/net/minecraft/item/Item.mapping @@ -182,7 +182,14 @@ CLASS net/minecraft/unmapped/C_vorddnax net/minecraft/item/Item CLASS C_bfrytpdl Settings FIELD f_emilnckp recipeRemainder Lnet/minecraft/unmapped/C_vorddnax; FIELD f_gjqaneav requiredFlags Lnet/minecraft/unmapped/C_czxxrbcp; + FIELD f_guuibeel key Lnet/minecraft/unmapped/C_xhhleach; FIELD f_znexcclr builder Lnet/minecraft/unmapped/C_kouhnfig$C_vfzyoahz; + METHOD m_dmwpwxbl food (Lnet/minecraft/unmapped/C_cgikuact;Lnet/minecraft/unmapped/C_ybwnbwdi;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + ARG 1 foodComponent + METHOD m_fazzsuba food (Lnet/minecraft/unmapped/C_cgikuact;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + ARG 1 foodComponent + METHOD m_fcpbtbaw (Lnet/minecraft/unmapped/C_vorddnax;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + ARG 1 repairMaterial METHOD m_gdfazvhf maxCount (I)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; COMMENT Sets the maximum stack count of any ItemStack with an Item using this Settings instance. COMMENT @@ -220,7 +227,11 @@ CLASS net/minecraft/unmapped/C_vorddnax net/minecraft/item/Item METHOD m_voqbvsse component (Lnet/minecraft/unmapped/C_pscqxfcs;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; ARG 1 type ARG 2 value + METHOD m_whyakhiv repairable (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + ARG 1 repairMaterials METHOD m_wosoxphz attributeModifiersComponent (Lnet/minecraft/unmapped/C_azfkqhlm;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_xgbhdxzx key (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + ARG 1 key METHOD m_zglwepxe rarity (Lnet/minecraft/unmapped/C_mqmixksm;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; COMMENT Sets the {@link Rarity} of any item configured with this Settings instance, which changes the color of its name. COMMENT diff --git a/mappings/net/minecraft/item/UseAnimation.mapping b/mappings/net/minecraft/item/UseAnimation.mapping new file mode 100644 index 0000000000..a350341e5c --- /dev/null +++ b/mappings/net/minecraft/item/UseAnimation.mapping @@ -0,0 +1,5 @@ +CLASS net/minecraft/unmapped/C_qeajvgxm net/minecraft/item/UseAnimation + FIELD f_gcmqdixi id I + FIELD f_pxhheyut GET_BY_ID Ljava/util/function/IntFunction; + FIELD f_vmwuyela name Ljava/lang/String; + METHOD m_jtlfencz getId ()I diff --git a/mappings/net/minecraft/network/message/MessageStyle.mapping b/mappings/net/minecraft/network/message/MessageStyle.mapping index cfa4101002..f08cd62d7d 100644 --- a/mappings/net/minecraft/network/message/MessageStyle.mapping +++ b/mappings/net/minecraft/network/message/MessageStyle.mapping @@ -25,12 +25,16 @@ CLASS net/minecraft/unmapped/C_vnfbczzp net/minecraft/network/message/MessageSty ARG 1 text ARG 2 parameters CLASS C_tcjcksgx Parameter + FIELD f_jaewdbkf id I FIELD f_ovhpbapm text Lnet/minecraft/unmapped/C_vnfbczzp$C_tcjcksgx$C_koukivxq; FIELD f_rfputqgt CODEC Lcom/mojang/serialization/Codec; FIELD f_skgevxyc name Ljava/lang/String; FIELD f_slcberqz CONTENT Lnet/minecraft/unmapped/C_vnfbczzp$C_tcjcksgx; FIELD f_vfvwypla SENDER Lnet/minecraft/unmapped/C_vnfbczzp$C_tcjcksgx; + FIELD f_wddfkckq GET_BY_ID Ljava/util/function/IntFunction; FIELD f_zzvzguen TARGET Lnet/minecraft/unmapped/C_vnfbczzp$C_tcjcksgx; + METHOD m_jqycbxit (Lnet/minecraft/unmapped/C_vnfbczzp$C_tcjcksgx;)I + ARG 0 param METHOD m_jyepfdgv (Lnet/minecraft/unmapped/C_rdaqiwdt;Lnet/minecraft/unmapped/C_hasnsypd$C_iocvgdxe;)Lnet/minecraft/unmapped/C_rdaqiwdt; ARG 0 text ARG 1 parameters @@ -43,6 +47,8 @@ CLASS net/minecraft/unmapped/C_vnfbczzp net/minecraft/network/message/MessageSty METHOD m_rmvcaicg (Lnet/minecraft/unmapped/C_rdaqiwdt;Lnet/minecraft/unmapped/C_hasnsypd$C_iocvgdxe;)Lnet/minecraft/unmapped/C_rdaqiwdt; ARG 0 text ARG 1 parameters + METHOD m_shroqvsb (Lnet/minecraft/unmapped/C_vnfbczzp$C_tcjcksgx;)I + ARG 0 param CLASS C_koukivxq SelectableText METHOD select (Lnet/minecraft/unmapped/C_rdaqiwdt;Lnet/minecraft/unmapped/C_hasnsypd$C_iocvgdxe;)Lnet/minecraft/unmapped/C_rdaqiwdt; ARG 1 text diff --git a/mappings/net/minecraft/recipe/CraftingCategory.mapping b/mappings/net/minecraft/recipe/CraftingCategory.mapping index c5c2edc1c0..97ea106a42 100644 --- a/mappings/net/minecraft/recipe/CraftingCategory.mapping +++ b/mappings/net/minecraft/recipe/CraftingCategory.mapping @@ -1,10 +1,8 @@ CLASS net/minecraft/unmapped/C_aodytokc net/minecraft/recipe/CraftingCategory - FIELD f_ametfgfy category I + FIELD f_ametfgfy id I FIELD f_dnkwjptl name Ljava/lang/String; FIELD f_mmtvuqqz CODEC Lcom/mojang/serialization/Codec; - FIELD f_qbuxqqis INDEX_TO_VALUE Ljava/util/function/IntFunction; + FIELD f_qbuxqqis GET_BY_ID Ljava/util/function/IntFunction; FIELD f_rxkoosdf PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; METHOD (Ljava/lang/String;ILjava/lang/String;I)V - ARG 3 name - ARG 4 category - METHOD m_snpqsydx getCategory ()I + METHOD m_snpqsydx getId ()I diff --git a/mappings/net/minecraft/registry/HolderProvider.mapping b/mappings/net/minecraft/registry/HolderProvider.mapping index 13d4729449..ee08694d16 100644 --- a/mappings/net/minecraft/registry/HolderProvider.mapping +++ b/mappings/net/minecraft/registry/HolderProvider.mapping @@ -31,8 +31,7 @@ CLASS net/minecraft/unmapped/C_pzdchrcy net/minecraft/registry/HolderProvider COMMENT the key of the registry METHOD m_hyoezddu getLookup (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; COMMENT {@return the holder provider of the given registry, may be empty if the registry does not exist in this provider} - ARG 1 registryKey - COMMENT the key of the registry + ARG 1 registry METHOD m_yuymjcux get (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; COMMENT {@return the entry's holder by its key, may be empty if the entry does not exist in the searched registry} ARG 1 registry diff --git a/mappings/net/minecraft/registry/RegistryKey.mapping b/mappings/net/minecraft/registry/RegistryKey.mapping index 3924b6c202..8d7bc0ffd4 100644 --- a/mappings/net/minecraft/registry/RegistryKey.mapping +++ b/mappings/net/minecraft/registry/RegistryKey.mapping @@ -55,6 +55,6 @@ CLASS net/minecraft/unmapped/C_xhhleach net/minecraft/registry/RegistryKey METHOD m_tbhhljwv getRegistry ()Lnet/minecraft/unmapped/C_ncpywfca; METHOD m_xhwzyssj (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_xhhleach; ARG 1 id - METHOD m_yomlikvd cast (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + METHOD m_yomlikvd castTo (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; ARG 1 registry CLASS C_gdrqkfgh InternKey diff --git a/mappings/net/minecraft/scoreboard/ScoreboardDisplaySlot.mapping b/mappings/net/minecraft/scoreboard/ScoreboardDisplaySlot.mapping index 6a929cda00..a0ac7777e1 100644 --- a/mappings/net/minecraft/scoreboard/ScoreboardDisplaySlot.mapping +++ b/mappings/net/minecraft/scoreboard/ScoreboardDisplaySlot.mapping @@ -1,8 +1,8 @@ CLASS net/minecraft/unmapped/C_oakvluoh net/minecraft/scoreboard/ScoreboardDisplaySlot - FIELD f_djtymimh BY_ID Ljava/util/function/IntFunction; + FIELD f_djtymimh GET_BY_ID Ljava/util/function/IntFunction; FIELD f_mqwhcpht id I FIELD f_noscsgdk name Ljava/lang/String; FIELD f_zzsgiezz CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; METHOD m_kbezgswv fromFormatting (Lnet/minecraft/unmapped/C_tnezalvh;)Lnet/minecraft/unmapped/C_oakvluoh; ARG 0 formatting - METHOD m_tfrlknfr id ()I + METHOD m_tfrlknfr getId ()I diff --git a/mappings/net/minecraft/server/function/FunctionGetter.mapping b/mappings/net/minecraft/server/function/FunctionGetter.mapping new file mode 100644 index 0000000000..12bc5c7c0c --- /dev/null +++ b/mappings/net/minecraft/server/function/FunctionGetter.mapping @@ -0,0 +1,6 @@ +CLASS net/minecraft/unmapped/C_uxzryfxv net/minecraft/server/function/FunctionGetter + FIELD f_cxzaybvc commandFunctionSet Z + FIELD f_kkregdwp commandFunction Ljava/util/Optional; + METHOD m_ashjquub getid ()Lnet/minecraft/unmapped/C_ncpywfca; + METHOD m_ecdplsxc get (Lnet/minecraft/unmapped/C_nbwcoknw;)Ljava/util/Optional; + ARG 1 manager diff --git a/mappings/net/minecraft/util/Arm.mapping b/mappings/net/minecraft/util/Arm.mapping index 8a8ee4a715..8c50f05f92 100644 --- a/mappings/net/minecraft/util/Arm.mapping +++ b/mappings/net/minecraft/util/Arm.mapping @@ -2,5 +2,5 @@ CLASS net/minecraft/unmapped/C_njjnizsa net/minecraft/util/Arm FIELD f_bokznoqo name Ljava/lang/String; FIELD f_epwipoen id I FIELD f_jbbobqfr translationKey Ljava/lang/String; - FIELD f_lhqlxhwo BY_ID Ljava/util/function/IntFunction; + FIELD f_lhqlxhwo GET_BY_ID Ljava/util/function/IntFunction; METHOD m_ujqepacq getOpposite ()Lnet/minecraft/unmapped/C_njjnizsa; diff --git a/mappings/net/minecraft/util/DyeColor.mapping b/mappings/net/minecraft/util/DyeColor.mapping index 30fa9f8498..7bcabbd476 100644 --- a/mappings/net/minecraft/util/DyeColor.mapping +++ b/mappings/net/minecraft/util/DyeColor.mapping @@ -7,14 +7,9 @@ CLASS net/minecraft/unmapped/C_arllgqae net/minecraft/util/DyeColor FIELD f_meofdgkv opaqueColor I FIELD f_nawrgolb name Ljava/lang/String; FIELD f_xhygajpx CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; - FIELD f_zvugkomq VALUES Ljava/util/function/IntFunction; + FIELD f_zvugkomq GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;ILnet/minecraft/unmapped/C_mlrprqox;II)V - ARG 3 id - ARG 4 name ARG 5 color - ARG 6 mapColor - ARG 7 fireworkColor - ARG 8 signColor METHOD m_bmfhojjc getFireworkColor ()I METHOD m_jycwbrof (Lnet/minecraft/unmapped/C_arllgqae;)Lnet/minecraft/unmapped/C_arllgqae; ARG 0 color diff --git a/mappings/net/minecraft/util/Rarity.mapping b/mappings/net/minecraft/util/Rarity.mapping index 700a3adb10..04e64585f0 100644 --- a/mappings/net/minecraft/util/Rarity.mapping +++ b/mappings/net/minecraft/util/Rarity.mapping @@ -1,2 +1,10 @@ CLASS net/minecraft/unmapped/C_mqmixksm net/minecraft/util/Rarity + FIELD f_dobvxewt GET_BY_ID Ljava/util/function/IntFunction; FIELD f_efjldeaw formatting Lnet/minecraft/unmapped/C_tnezalvh; + FIELD f_gahweovi name Ljava/lang/String; + FIELD f_vjzoaznr id I + METHOD m_afthohlj (Lnet/minecraft/unmapped/C_mqmixksm;)I + ARG 0 rarity + METHOD m_waqdxpfx getFormatting ()Lnet/minecraft/unmapped/C_tnezalvh; + METHOD m_ygjlgyki (Lnet/minecraft/unmapped/C_mqmixksm;)I + ARG 0 rarity diff --git a/mappings/net/minecraft/util/ServerLinks.mapping b/mappings/net/minecraft/util/ServerLinks.mapping index d9e792e52b..0e96fc00b9 100644 --- a/mappings/net/minecraft/util/ServerLinks.mapping +++ b/mappings/net/minecraft/util/ServerLinks.mapping @@ -22,7 +22,7 @@ CLASS net/minecraft/unmapped/C_ouodvkzu net/minecraft/util/ServerLinks FIELD f_bzzdfgiz ANNOUNCEMENTS Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb; FIELD f_jgahizwy NEWS Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb; FIELD f_joplxvpt name Ljava/lang/String; - FIELD f_mthepcno TYPE_BY_ID Ljava/util/function/IntFunction; + FIELD f_mthepcno GET_BY_ID Ljava/util/function/IntFunction; FIELD f_njpehptj WEBSITE Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb; FIELD f_odpaxfmq id I FIELD f_ogdsfwkm COMMUNITY Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb; @@ -32,8 +32,6 @@ CLASS net/minecraft/unmapped/C_ouodvkzu net/minecraft/util/ServerLinks FIELD f_wjtzsflv COMMUNITY_GUIDELINES Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb; FIELD f_ygigecmi STATUS Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 name METHOD m_exisudua (Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb;)I ARG 0 type METHOD m_fhdosdck toText ()Lnet/minecraft/unmapped/C_rdaqiwdt; @@ -44,17 +42,17 @@ CLASS net/minecraft/unmapped/C_ouodvkzu net/minecraft/util/ServerLinks CLASS C_moygobps UriEntry FIELD f_qktbynhi uri Ljava/net/URI; FIELD f_zocyfbhf type Lcom/mojang/datafixers/util/Either; - METHOD m_blmwnrwf create (Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/net/URI;)Lnet/minecraft/unmapped/C_ouodvkzu$C_moygobps; + METHOD m_blmwnrwf of (Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/net/URI;)Lnet/minecraft/unmapped/C_ouodvkzu$C_moygobps; ARG 0 text ARG 1 uri METHOD m_ffdftzwi (Lnet/minecraft/unmapped/C_rdaqiwdt;)Lnet/minecraft/unmapped/C_rdaqiwdt; ARG 0 text METHOD m_iloazxnb type ()Lcom/mojang/datafixers/util/Either; METHOD m_jnarqxxi asText ()Lnet/minecraft/unmapped/C_rdaqiwdt; - METHOD m_mwenanpk create (Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb;Ljava/net/URI;)Lnet/minecraft/unmapped/C_ouodvkzu$C_moygobps; + METHOD m_mwenanpk of (Lnet/minecraft/unmapped/C_ouodvkzu$C_ekdhaajb;Ljava/net/URI;)Lnet/minecraft/unmapped/C_ouodvkzu$C_moygobps; ARG 0 type ARG 1 link - METHOD m_pvnqioxl link ()Ljava/net/URI; + METHOD m_pvnqioxl uri ()Ljava/net/URI; CLASS C_tkgsynzm StringEntry FIELD f_bkyrcubk type Lcom/mojang/datafixers/util/Either; FIELD f_fsoqsjje link Ljava/lang/String; diff --git a/mappings/net/minecraft/util/collection/IdListUtil.mapping b/mappings/net/minecraft/util/collection/IdListUtil.mapping index e9a9a4c449..3bc0d226af 100644 --- a/mappings/net/minecraft/util/collection/IdListUtil.mapping +++ b/mappings/net/minecraft/util/collection/IdListUtil.mapping @@ -1,6 +1,8 @@ CLASS net/minecraft/unmapped/C_dhqzpyzp net/minecraft/util/collection/IdListUtil - METHOD m_meoxyrpm sortArray (Ljava/util/function/ToIntFunction;[Ljava/lang/Object;Lnet/minecraft/unmapped/C_dhqzpyzp$C_efznwcig;)Ljava/util/function/IntFunction; - ARG 0 toIdFunction + METHOD m_eprjpkup ([Ljava/lang/Object;II)Ljava/lang/Object; + ARG 2 id + METHOD m_meoxyrpm createByIdGetter (Ljava/util/function/ToIntFunction;[Ljava/lang/Object;Lnet/minecraft/unmapped/C_dhqzpyzp$C_efznwcig;)Ljava/util/function/IntFunction; + ARG 0 idGetter ARG 1 values ARG 2 outOfBoundsHandler METHOD m_oipnvilm idToValueFunction (Ljava/util/function/ToIntFunction;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/function/IntFunction; @@ -10,9 +12,13 @@ CLASS net/minecraft/unmapped/C_dhqzpyzp net/minecraft/util/collection/IdListUtil METHOD m_olzakdxv idToValueFunction (Ljava/util/function/ToIntFunction;[Ljava/lang/Object;)Ljava/util/function/IntFunction; ARG 0 toIdFunction ARG 1 values - METHOD m_sjrgdfrp sortArray (Ljava/util/function/ToIntFunction;[Ljava/lang/Object;)[Ljava/lang/Object; - ARG 0 toIdFunction + METHOD m_qynupghu ([Ljava/lang/Object;II)Ljava/lang/Object; + ARG 2 id + METHOD m_sjrgdfrp copySorted (Ljava/util/function/ToIntFunction;[Ljava/lang/Object;)[Ljava/lang/Object; + ARG 0 idGetter ARG 1 values METHOD m_ukanoarc (Ljava/util/function/IntFunction;Ljava/lang/Object;I)Ljava/lang/Object; ARG 2 object + METHOD m_ymrsokdu (I[Ljava/lang/Object;Ljava/lang/Object;I)Ljava/lang/Object; + ARG 3 id CLASS C_efznwcig OutOfBoundsHandler diff --git a/mappings/net/minecraft/util/math/Direction.mapping b/mappings/net/minecraft/util/math/Direction.mapping index 58d35ab229..c73995e19a 100644 --- a/mappings/net/minecraft/util/math/Direction.mapping +++ b/mappings/net/minecraft/util/math/Direction.mapping @@ -3,23 +3,18 @@ CLASS net/minecraft/unmapped/C_xpuuihxf net/minecraft/util/math/Direction FIELD f_aeejwnnb VERTICAL_CODEC Lcom/mojang/serialization/Codec; FIELD f_bqmoexgm HORIZONTAL [Lnet/minecraft/unmapped/C_xpuuihxf; FIELD f_cbbzbcev axis Lnet/minecraft/unmapped/C_xpuuihxf$C_rmpfouoz; - FIELD f_jqokexui idOpposite I - FIELD f_midvwggr VALUES [Lnet/minecraft/unmapped/C_xpuuihxf; + FIELD f_fudaavft GET_BY_ID Ljava/util/function/IntFunction; + FIELD f_jqokexui oppositeId I + FIELD f_midvwggr ALL_SORTED [Lnet/minecraft/unmapped/C_xpuuihxf; FIELD f_nxrqizwh PACKET_CODEC Lnet/minecraft/unmapped/C_qsrmwluu; FIELD f_qmkvdeuo direction Lnet/minecraft/unmapped/C_xpuuihxf$C_ozjqcgqq; - FIELD f_wytgjiez idHorizontal I + FIELD f_suuqwjwk vec3d Lnet/minecraft/unmapped/C_vgpupfxx; + FIELD f_wytgjiez horizontalId I FIELD f_xneestkm ALL [Lnet/minecraft/unmapped/C_xpuuihxf; FIELD f_xnopevsr id I - FIELD f_yxdvzmgt vector Lnet/minecraft/unmapped/C_ceivtqhh; + FIELD f_yxdvzmgt vec3i Lnet/minecraft/unmapped/C_ceivtqhh; FIELD f_zbhygcbw CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; METHOD (Ljava/lang/String;IIIILjava/lang/String;Lnet/minecraft/unmapped/C_xpuuihxf$C_ozjqcgqq;Lnet/minecraft/unmapped/C_xpuuihxf$C_rmpfouoz;Lnet/minecraft/unmapped/C_ceivtqhh;)V - ARG 3 id - ARG 4 idOpposite - ARG 5 idHorizontal - ARG 6 name - ARG 7 direction - ARG 8 axis - ARG 9 vector METHOD m_arokrhof validateVertical (Lnet/minecraft/unmapped/C_xpuuihxf;)Lcom/mojang/serialization/DataResult; ARG 0 direction METHOD m_atdyqmtg getId ()I diff --git a/mappings/net/minecraft/world/Difficulty.mapping b/mappings/net/minecraft/world/Difficulty.mapping index ac1676d332..f9c0d059ff 100644 --- a/mappings/net/minecraft/world/Difficulty.mapping +++ b/mappings/net/minecraft/world/Difficulty.mapping @@ -1,7 +1,7 @@ CLASS net/minecraft/unmapped/C_mpbjgxic net/minecraft/world/Difficulty FIELD f_byewhmzg CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; FIELD f_kewzwuek id I - FIELD f_knikxerl BY_NAME Ljava/util/function/IntFunction; + FIELD f_knikxerl GET_BY_ID Ljava/util/function/IntFunction; FIELD f_nbtqhzsu name Ljava/lang/String; METHOD (Ljava/lang/String;IILjava/lang/String;)V ARG 3 id @@ -10,7 +10,7 @@ CLASS net/minecraft/unmapped/C_mpbjgxic net/minecraft/world/Difficulty METHOD m_cfjonvbd getInfoText ()Lnet/minecraft/unmapped/C_rdaqiwdt; METHOD m_jfnrdhku byName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_mpbjgxic; ARG 0 name - METHOD m_lphvflky byOrdinal (I)Lnet/minecraft/unmapped/C_mpbjgxic; - ARG 0 ordinal + METHOD m_lphvflky byId (I)Lnet/minecraft/unmapped/C_mpbjgxic; + ARG 0 id METHOD m_obxmdevi getName ()Ljava/lang/String; METHOD m_vlsovuyi getId ()I diff --git a/mappings/net/minecraft/world/GameMode.mapping b/mappings/net/minecraft/world/GameMode.mapping index 953ec2fd4f..67e3632133 100644 --- a/mappings/net/minecraft/world/GameMode.mapping +++ b/mappings/net/minecraft/world/GameMode.mapping @@ -1,15 +1,13 @@ CLASS net/minecraft/unmapped/C_lghcpyvl net/minecraft/world/GameMode FIELD f_awdukclj DEFAULT Lnet/minecraft/unmapped/C_lghcpyvl; FIELD f_cifkkwzi id I - FIELD f_fofiipec TO_ID_FUNCTION Ljava/util/function/IntFunction; + FIELD f_fofiipec GET_BY_ID Ljava/util/function/IntFunction; FIELD f_fovaffel translatableName Lnet/minecraft/unmapped/C_rdaqiwdt; FIELD f_jcxdddpi name Ljava/lang/String; FIELD f_lewmbrwu NULL_GAME_MODE_ID I FIELD f_nzmwalvo CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; FIELD f_zotouesg simpleTranslatableName Lnet/minecraft/unmapped/C_rdaqiwdt; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 3 id - ARG 4 name METHOD m_hlwoepvs isSurvivalLike ()Z METHOD m_lkyfhjye getSimpleTranslatableName ()Lnet/minecraft/unmapped/C_rdaqiwdt; METHOD m_nxzcfhje byName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_lghcpyvl; diff --git a/mappings/net/minecraft/world/gen/feature/MineshaftFeature.mapping b/mappings/net/minecraft/world/gen/feature/MineshaftFeature.mapping index e9bfa10ff4..1cc2c43019 100644 --- a/mappings/net/minecraft/world/gen/feature/MineshaftFeature.mapping +++ b/mappings/net/minecraft/world/gen/feature/MineshaftFeature.mapping @@ -13,19 +13,18 @@ CLASS net/minecraft/unmapped/C_jdubdjcx net/minecraft/world/gen/feature/Mineshaf ARG 2 context CLASS C_apnarkxp Type FIELD f_acyrhkbn log Lnet/minecraft/unmapped/C_txtbiemp; - FIELD f_jpajgjwf FROM_ORDINAL Ljava/util/function/IntFunction; + FIELD f_jpajgjwf GET_BY_ID Ljava/util/function/IntFunction; FIELD f_npykgrgv planks Lnet/minecraft/unmapped/C_txtbiemp; FIELD f_qmjpricc name Ljava/lang/String; FIELD f_rgbybqfo fence Lnet/minecraft/unmapped/C_txtbiemp; FIELD f_spilvvqc CODEC Lcom/mojang/serialization/Codec; METHOD (Ljava/lang/String;ILjava/lang/String;Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_mmxmpdoq;)V - ARG 3 name - ARG 4 logBlock - ARG 5 planksBlock - ARG 6 fenceBlock + ARG 4 log + ARG 5 planks + ARG 6 fence METHOD m_batvfvup getFence ()Lnet/minecraft/unmapped/C_txtbiemp; - METHOD m_fndnndni byIndex (I)Lnet/minecraft/unmapped/C_jdubdjcx$C_apnarkxp; - ARG 0 index + METHOD m_fndnndni byId (I)Lnet/minecraft/unmapped/C_jdubdjcx$C_apnarkxp; + ARG 0 id METHOD m_ujadfkwf getName ()Ljava/lang/String; METHOD m_unjckhwl getLog ()Lnet/minecraft/unmapped/C_txtbiemp; METHOD m_ytsldifq getPlanks ()Lnet/minecraft/unmapped/C_txtbiemp; diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index 772d6d2a08..b933e8de59 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -102,8 +102,16 @@ "net/minecraft/unmapped/C_lnokcayd$C_tndlmady": "visibility", // ItemGroup.Visibility // Entity + "net/minecraft/unmapped/C_astfners": "entity", // Entity + "net/minecraft/unmapped/C_usxaxydn": { // LivingEntity + local_name: "entity", + exclusive: true, + fallback: [ + "livingEntity" + ] + }, "net/minecraft/unmapped/C_rjqjaxef": "brain", - "net/minecraft/unmapped/C_uzzvxofv": { + "net/minecraft/unmapped/C_bhyaesep": { // SpawnReason local_name: "reason", fallback: [ "spawnReason" From fe1096cbc1959d60154508dee747adaf1cfd5b31 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 01:35:23 -0700 Subject: [PATCH 10/24] complete Items with the help of simple type names --- mappings/net/minecraft/item/Items.mapping | 57 +++++++++++++++++++++++ simple_type_field_names.json5 | 15 +++++- 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/mappings/net/minecraft/item/Items.mapping b/mappings/net/minecraft/item/Items.mapping index b81e2ecdaa..e215a4d0f7 100644 --- a/mappings/net/minecraft/item/Items.mapping +++ b/mappings/net/minecraft/item/Items.mapping @@ -1,6 +1,63 @@ CLASS net/minecraft/unmapped/C_zxoagntf net/minecraft/item/Items + METHOD m_aowiexfr (Ljava/util/function/BiFunction;Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + ARG 2 settings + METHOD m_blrqzpwo (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_bvemuodw (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; METHOD m_cndbkmly register (Lnet/minecraft/unmapped/C_mmxmpdoq;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_dlkvvdke register (Ljava/lang/String;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_evrbsvrb (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_gaxsckpd (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_gcvgmwqy (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_gmvaayqc (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_grzvwwon register (Ljava/lang/String;Ljava/util/function/Function;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_gvdjnkxx register (Lnet/minecraft/unmapped/C_mmxmpdoq;Ljava/util/function/BiFunction;)Lnet/minecraft/unmapped/C_vorddnax; + ARG 1 factory + METHOD m_harbyzkq (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_iadtwtpc (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_imjbimti register (Ljava/lang/String;Ljava/util/function/Function;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_itpaondn (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_iyizcgvp (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_jiuovwxv (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_jltiwvea (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_klpsjbwp (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + ARG 0 settings + METHOD m_komfcsga (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_kzbsnwtw (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_lawenngf createBlockItemFactory (Lnet/minecraft/unmapped/C_mmxmpdoq;)Ljava/util/function/Function; + METHOD m_lvklxkoi (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_mdjamydt (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_ncovjyak (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_nlzjkhxb createKey (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 block + METHOD m_nuedcjxe (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_oaexmyks (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_otvibxcu (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_pbwfsobp (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_qspenhmy (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_rvvageet register (Lnet/minecraft/unmapped/C_mmxmpdoq;Ljava/util/function/BiFunction;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + ARG 1 factory + METHOD m_snlcoipz (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_swynbxjs register (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_tepcvvss (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_ukjxnycj (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_usbpices (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_uttffhtn (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; METHOD m_vhtdhemv register (Lnet/minecraft/unmapped/C_mmxmpdoq;Ljava/util/function/UnaryOperator;)Lnet/minecraft/unmapped/C_vorddnax; ARG 1 settingsTransformer + METHOD m_voovvgbm createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_vopvnfat (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_vwkfmdod (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_vynewubk (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_wdojocog (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; METHOD m_xlquwwvg register (Lnet/minecraft/unmapped/C_mmxmpdoq;[Lnet/minecraft/unmapped/C_mmxmpdoq;)Lnet/minecraft/unmapped/C_vorddnax; ARG 1 blocks + METHOD m_ycxsdaub (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_ynljympb register (Ljava/lang/String;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_ynttcfma register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_zdtnjhtl (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + METHOD m_zduspdhp register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + ARG 1 factory + METHOD m_zgmekyvm (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_zkjznada (Ljava/util/function/UnaryOperator;Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_zlkdzisw (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; + METHOD m_zpqoccdg (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index b933e8de59..7e2eac823d 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -88,10 +88,23 @@ "net/minecraft/unmapped/C_mmxmpdoq": "block", "net/minecraft/unmapped/C_jdakttms": "result", // BlockHitResult "net/minecraft/unmapped/C_hgpogkhy": "type", // BlockSetType - "net/minecraft/unmapped/C_triydqro$C_xnkxsdfy": "settings", // AbstractBlock.Settings + "net/minecraft/unmapped/C_triydqro$C_xnkxsdfy": { // AbstractBlock.Settings + local_name: "settings", + exclusive: true, + fallback : [ + "blockSettings" + ] + }, // Item "net/minecraft/unmapped/C_sddaxwyk": "stack", // ItemStack + "net/minecraft/unmapped/C_vorddnax$C_bfrytpdl": { // Item.Settings + local_name: "settings", + exclusive: true, + fallback: [ + "itemSettings" + ] + }, "net/minecraft/unmapped/C_lnokcayd": { // ItemGroup local_name: "group", fallback: [ From bfce206a0f7413747d79664065c8fce47c3754d9 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 03:07:13 -0700 Subject: [PATCH 11/24] half way there! (through RegistryKeys affected by their removal from simple type names) --- .../net/minecraft/item/JukeboxSongs.mapping | 1 + .../net/minecraft/loot/LootDataType.mapping | 17 +++++++++--- .../net/minecraft/loot/LootTables.mapping | 10 +++++++ .../condition/ReferenceLootCondition.mapping | 4 ++- .../minecraft/loot/entry/LeafEntry.mapping | 15 ++++++++--- .../loot/entry/LootPoolEntry.mapping | 1 - .../loot/entry/LootTableEntry.mapping | 26 +++++++++++++++++++ .../function/ConditionalLootFunction.mapping | 3 ++- .../loot/function/LootFunctionTable.mapping | 10 ++++++- .../function/SetLootTableLootFunction.mapping | 21 ++++++++++++--- .../network/codec/PacketCodecs.mapping | 6 +++++ .../minecraft/predicate/TagPredicate.mapping | 5 +--- .../entity/EntitySubPredicateTypes.mapping | 4 +++ .../registry/DefaultMappedRegistry.mapping | 1 - .../net/minecraft/registry/Holder.mapping | 8 +++--- .../minecraft/registry/HolderProvider.mapping | 3 +-- 16 files changed, 109 insertions(+), 26 deletions(-) diff --git a/mappings/net/minecraft/item/JukeboxSongs.mapping b/mappings/net/minecraft/item/JukeboxSongs.mapping index 58ebfe6133..dc61aa73ec 100644 --- a/mappings/net/minecraft/item/JukeboxSongs.mapping +++ b/mappings/net/minecraft/item/JukeboxSongs.mapping @@ -4,4 +4,5 @@ CLASS net/minecraft/unmapped/C_upcjrbni net/minecraft/item/JukeboxSongs FIELD f_tjmclwet THIRTEEN Lnet/minecraft/unmapped/C_xhhleach; METHOD m_gorfrttr createKey (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; METHOD m_jkffhrip register (Lnet/minecraft/unmapped/C_hqoyyfco;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;II)V + ARG 1 song METHOD m_yfbawkoa bootstrap (Lnet/minecraft/unmapped/C_hqoyyfco;)V diff --git a/mappings/net/minecraft/loot/LootDataType.mapping b/mappings/net/minecraft/loot/LootDataType.mapping index 47dbf0cbb8..ebbe666397 100644 --- a/mappings/net/minecraft/loot/LootDataType.mapping +++ b/mappings/net/minecraft/loot/LootDataType.mapping @@ -1,9 +1,20 @@ CLASS net/minecraft/unmapped/C_gvzqwcwq net/minecraft/loot/LootDataType - FIELD f_zybjkfjt validator Lnet/minecraft/unmapped/C_gvzqwcwq$C_ntpbpvku; + FIELD f_htjtlkmg registry Lnet/minecraft/unmapped/C_xhhleach; METHOD m_bgciklpf createLootTableValidator ()Lnet/minecraft/unmapped/C_gvzqwcwq$C_ntpbpvku; METHOD m_eenuqtkp stream ()Ljava/util/stream/Stream; + METHOD m_gcfrtkuq registry ()Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_mffbiakv (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_inwsuliy;)V + ARG 0 reporter + ARG 1 key + ARG 2 contextAware METHOD m_xqndkipm createSimpleValidator ()Lnet/minecraft/unmapped/C_gvzqwcwq$C_ntpbpvku; METHOD m_xyebpstg validate (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)V - ARG 1 reporter - ARG 3 element + METHOD m_yyxqxjkd (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_dogcxkxz;)V + ARG 0 reporter + ARG 1 key + ARG 2 contextAware CLASS C_ntpbpvku Validator + METHOD run (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)V + ARG 1 reporter + ARG 2 key + ARG 3 element diff --git a/mappings/net/minecraft/loot/LootTables.mapping b/mappings/net/minecraft/loot/LootTables.mapping index 324227703f..e40244b415 100644 --- a/mappings/net/minecraft/loot/LootTables.mapping +++ b/mappings/net/minecraft/loot/LootTables.mapping @@ -3,8 +3,10 @@ CLASS net/minecraft/unmapped/C_xnoqcfpj net/minecraft/loot/LootTables FIELD f_bhevpouw VILLAGE_TEMPLE_CHEST Lnet/minecraft/unmapped/C_xhhleach; FIELD f_joewkzrj VILLAGE_BUTCHER_CHEST Lnet/minecraft/unmapped/C_xhhleach; FIELD f_lkdqawko VILLAGE_FLETCHER_CHEST Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_lmifmzrj SHEEP_ENTITIES_BY_COLOR Ljava/util/Map; FIELD f_mgjxzucd LOOT_TABLES_READ_ONLY Ljava/util/Set; FIELD f_mryanozm VILLAGE_TOOLSMITH_CHEST Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_nceydkdw SHEEP_SHEERING_BY_COLOR Ljava/util/Map; FIELD f_nupqwuju VILLAGE_DESERT_HOUSE_CHEST Lnet/minecraft/unmapped/C_xhhleach; FIELD f_oimsfxgn VILLAGE_TANNERY_CHEST Lnet/minecraft/unmapped/C_xhhleach; FIELD f_onoawbtl VILLAGE_PLAINS_CHEST Lnet/minecraft/unmapped/C_xhhleach; @@ -18,6 +20,14 @@ CLASS net/minecraft/unmapped/C_xnoqcfpj net/minecraft/loot/LootTables FIELD f_ycaqywao VILLAGE_MASON_CHEST Lnet/minecraft/unmapped/C_xhhleach; FIELD f_ylsmysdw SPAWN_BONUS_CHEST Lnet/minecraft/unmapped/C_xhhleach; FIELD f_yuieffew VILLAGE_SNOWY_HOUSE_CHEST Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_hjhwhuem (Ljava/util/EnumMap;)V + ARG 0 colorMap METHOD m_jwrysiar register (Ljava/lang/String;)Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_rguwrojz registerByColors (Ljava/util/EnumMap;Ljava/lang/String;)V + ARG 0 lootTablesByColor + ARG 1 path + METHOD m_vqefbihp (Ljava/util/EnumMap;)V + ARG 0 colorMap METHOD m_xfbxwuct register (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 lootTable METHOD m_ytdzbpyb getAll ()Ljava/util/Set; diff --git a/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping b/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping index ecfeab5664..fb0d8e50b0 100644 --- a/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping +++ b/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping @@ -1,6 +1,8 @@ CLASS net/minecraft/unmapped/C_dtftepex net/minecraft/loot/condition/ReferenceLootCondition - FIELD f_uqweqzmx id Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_uqweqzmx condition Lnet/minecraft/unmapped/C_xhhleach; FIELD f_yjsawjni LOGGER Lorg/slf4j/Logger; METHOD m_ciazakem builder (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_vqkczpuv$C_cjvmpogn; + ARG 0 condition + METHOD m_jqawbmhv conditon ()Lnet/minecraft/unmapped/C_xhhleach; METHOD test (Ljava/lang/Object;)Z ARG 1 context diff --git a/mappings/net/minecraft/loot/entry/LeafEntry.mapping b/mappings/net/minecraft/loot/entry/LeafEntry.mapping index b028c07b5f..efd58130e8 100644 --- a/mappings/net/minecraft/loot/entry/LeafEntry.mapping +++ b/mappings/net/minecraft/loot/entry/LeafEntry.mapping @@ -1,18 +1,20 @@ CLASS net/minecraft/unmapped/C_sphmzmsf net/minecraft/loot/entry/LeafEntry - FIELD f_aytiidkr quality I FIELD f_nqxxtcze DEFAULT_QUALITY I FIELD f_orhqpvhl DEFAULT_WEIGHT I FIELD f_rfavzwgx choice Lnet/minecraft/unmapped/C_iozoltsq; - FIELD f_rxzrzurl functions Ljava/util/List; - FIELD f_wauvnusi weight I FIELD f_zccepqpd compiledFunctions Ljava/util/function/BiFunction; METHOD (IILjava/util/List;Ljava/util/List;)V - ARG 3 conditions METHOD m_dlwclfgf builder (Lnet/minecraft/unmapped/C_sphmzmsf$C_wkmtcodm;)Lnet/minecraft/unmapped/C_sphmzmsf$C_lbxiirfw; ARG 0 factory + METHOD m_gefjoluq (Lnet/minecraft/unmapped/C_sphmzmsf;)Ljava/lang/Integer; + ARG 0 entry METHOD m_jptxqkrt generateLoot (Ljava/util/function/Consumer;Lnet/minecraft/unmapped/C_iakykpgh;)V ARG 1 lootConsumer ARG 2 context + METHOD m_tzhapdtn (Lnet/minecraft/unmapped/C_sphmzmsf;)Ljava/util/List; + ARG 0 entry + METHOD m_uvcklnbk (Lnet/minecraft/unmapped/C_sphmzmsf;)Ljava/lang/Integer; + ARG 0 entry CLASS C_agvvrbll Choice CLASS C_lbxiirfw Builder FIELD f_pfukqpjm weight I @@ -28,3 +30,8 @@ CLASS net/minecraft/unmapped/C_sphmzmsf net/minecraft/loot/entry/LeafEntry METHOD (Lnet/minecraft/unmapped/C_sphmzmsf$C_wkmtcodm;)V ARG 1 factory CLASS C_wkmtcodm Factory + METHOD build (IILjava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_sphmzmsf; + ARG 1 weight + ARG 2 quality + ARG 3 conditions + ARG 4 functions diff --git a/mappings/net/minecraft/loot/entry/LootPoolEntry.mapping b/mappings/net/minecraft/loot/entry/LootPoolEntry.mapping index b29f213ae2..892a11c2db 100644 --- a/mappings/net/minecraft/loot/entry/LootPoolEntry.mapping +++ b/mappings/net/minecraft/loot/entry/LootPoolEntry.mapping @@ -1,6 +1,5 @@ CLASS net/minecraft/unmapped/C_rhqekity net/minecraft/loot/entry/LootPoolEntry FIELD f_fgvzyvok conditionPredicate Ljava/util/function/Predicate; - FIELD f_gokrsceb conditions Ljava/util/List; METHOD m_dvurehnl getType ()Lnet/minecraft/unmapped/C_auonnuzf; METHOD m_wekrdfxi validate (Lnet/minecraft/unmapped/C_eumtgsbp;)V ARG 1 reporter diff --git a/mappings/net/minecraft/loot/entry/LootTableEntry.mapping b/mappings/net/minecraft/loot/entry/LootTableEntry.mapping index 7cc15718b8..41f697f7a5 100644 --- a/mappings/net/minecraft/loot/entry/LootTableEntry.mapping +++ b/mappings/net/minecraft/loot/entry/LootTableEntry.mapping @@ -1 +1,27 @@ CLASS net/minecraft/unmapped/C_dtvnrhoh net/minecraft/loot/entry/LootTableEntry + METHOD m_hgxsjkfj (Lnet/minecraft/unmapped/C_iakykpgh;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_inwsuliy; + ARG 1 key + METHOD m_jbzcbngc (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 2 holder + METHOD m_jhwltfko (Lnet/minecraft/unmapped/C_dtvnrhoh;)Lcom/mojang/datafixers/util/Either; + ARG 0 entry + METHOD m_ogwgyzpl builder (Lnet/minecraft/unmapped/C_inwsuliy;)Lnet/minecraft/unmapped/C_sphmzmsf$C_lbxiirfw; + ARG 0 lootTable + METHOD m_pztzsado (Lnet/minecraft/unmapped/C_inwsuliy;IILjava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_sphmzmsf; + ARG 1 weight + ARG 2 quality + ARG 3 conditions + ARG 4 functions + METHOD m_tlrbqmtd (Lnet/minecraft/unmapped/C_inwsuliy;)Lnet/minecraft/unmapped/C_inwsuliy; + ARG 0 lootTable + METHOD m_ucredfoy (Lnet/minecraft/unmapped/C_xhhleach;IILjava/util/List;Ljava/util/List;)Lnet/minecraft/unmapped/C_sphmzmsf; + ARG 1 weight + ARG 2 quality + ARG 3 conditions + ARG 4 functions + METHOD m_wboqiqkf builder (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_sphmzmsf$C_lbxiirfw; + ARG 0 key + METHOD m_wkhkuvxo (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_inwsuliy;)V + ARG 1 lootTable + METHOD m_yluromqt (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 key diff --git a/mappings/net/minecraft/loot/function/ConditionalLootFunction.mapping b/mappings/net/minecraft/loot/function/ConditionalLootFunction.mapping index b2a05acc74..a45e790b95 100644 --- a/mappings/net/minecraft/loot/function/ConditionalLootFunction.mapping +++ b/mappings/net/minecraft/loot/function/ConditionalLootFunction.mapping @@ -1,12 +1,13 @@ CLASS net/minecraft/unmapped/C_krisseon net/minecraft/loot/function/ConditionalLootFunction FIELD f_eefssiwv predicate Ljava/util/function/Predicate; - FIELD f_ksptazzw conditions Ljava/util/List; METHOD apply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ARG 1 itemStack ARG 2 context METHOD m_axzztavb process (Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_iakykpgh;)Lnet/minecraft/unmapped/C_sddaxwyk; ARG 1 stack ARG 2 context + METHOD m_vkwiaxpm (Lnet/minecraft/unmapped/C_krisseon;)Ljava/util/List; + ARG 0 function METHOD m_wklwxxae builder (Ljava/util/function/Function;)Lnet/minecraft/unmapped/C_krisseon$C_nhpzaayj; ARG 0 joiner CLASS C_nhpzaayj Builder diff --git a/mappings/net/minecraft/loot/function/LootFunctionTable.mapping b/mappings/net/minecraft/loot/function/LootFunctionTable.mapping index 35a3541c11..7c5a07e376 100644 --- a/mappings/net/minecraft/loot/function/LootFunctionTable.mapping +++ b/mappings/net/minecraft/loot/function/LootFunctionTable.mapping @@ -1,2 +1,10 @@ CLASS net/minecraft/unmapped/C_xaygoojx net/minecraft/loot/function/LootFunctionTable - FIELD f_toqcjiql identifier Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_toqcjiql lootFunction Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_fmdlsoui (Lnet/minecraft/unmapped/C_eumtgsbp;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V + ARG 2 holder + METHOD m_kdxpkeux (Lnet/minecraft/unmapped/C_xaygoojx;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 table + METHOD m_scyoclta builder (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_krisseon$C_nhpzaayj; + ARG 0 lootFunction + METHOD m_xzmmbfbo (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/List;)Lnet/minecraft/unmapped/C_tmxhskql; + ARG 1 conditions diff --git a/mappings/net/minecraft/loot/function/SetLootTableLootFunction.mapping b/mappings/net/minecraft/loot/function/SetLootTableLootFunction.mapping index b4277a99c4..dc15203036 100644 --- a/mappings/net/minecraft/loot/function/SetLootTableLootFunction.mapping +++ b/mappings/net/minecraft/loot/function/SetLootTableLootFunction.mapping @@ -1,4 +1,19 @@ CLASS net/minecraft/unmapped/C_uaqvnphc net/minecraft/loot/function/SetLootTableLootFunction - FIELD f_asvawnnq seed J - FIELD f_krvywmzb type Lnet/minecraft/unmapped/C_cjzoxshv; - FIELD f_sqgmeqhc id Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_sqgmeqhc lootTable Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_afjocztx (Lnet/minecraft/unmapped/C_uaqvnphc;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 function + METHOD m_dzqrmuwu (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_wgqvodus;Ljava/util/List;)Lnet/minecraft/unmapped/C_tmxhskql; + ARG 2 conditions + METHOD m_gsrahwlg builder (Lnet/minecraft/unmapped/C_wgqvodus;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_krisseon$C_nhpzaayj; + ARG 0 blockEntity + ARG 1 lootTable + METHOD m_jkgbkadv builder (Lnet/minecraft/unmapped/C_wgqvodus;Lnet/minecraft/unmapped/C_xhhleach;J)Lnet/minecraft/unmapped/C_krisseon$C_nhpzaayj; + ARG 0 blockEntity + ARG 1 lootTable + ARG 2 seed + METHOD m_pechtmeo (Lnet/minecraft/unmapped/C_uaqvnphc;)Lnet/minecraft/unmapped/C_cjzoxshv; + ARG 0 function + METHOD m_wdagurqu (Lnet/minecraft/unmapped/C_uaqvnphc;)Ljava/lang/Long; + ARG 0 function + METHOD m_zgtokhpa (Lnet/minecraft/unmapped/C_xhhleach;JLnet/minecraft/unmapped/C_wgqvodus;Ljava/util/List;)Lnet/minecraft/unmapped/C_tmxhskql; + ARG 4 conditions diff --git a/mappings/net/minecraft/network/codec/PacketCodecs.mapping b/mappings/net/minecraft/network/codec/PacketCodecs.mapping index 79823c10d1..bf1de33eda 100644 --- a/mappings/net/minecraft/network/codec/PacketCodecs.mapping +++ b/mappings/net/minecraft/network/codec/PacketCodecs.mapping @@ -41,6 +41,7 @@ CLASS net/minecraft/unmapped/C_anfarvhg net/minecraft/network/codec/PacketCodecs METHOD m_hzgsqquo fromCodec (Lcom/mojang/serialization/Codec;Ljava/util/function/Supplier;)Lnet/minecraft/unmapped/C_qsrmwluu; METHOD m_jqcxtmyk entryOf (Lnet/minecraft/unmapped/C_feaetnaz;)Lnet/minecraft/unmapped/C_qsrmwluu; METHOD m_likrvuxr holderSet (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qsrmwluu; + ARG 0 registry METHOD m_limimtjq fromCodec (Lcom/mojang/serialization/Codec;)Lnet/minecraft/unmapped/C_qsrmwluu; METHOD m_lyaauawx readCollectionSize (Lio/netty/buffer/ByteBuf;I)I ARG 1 maxSize @@ -69,8 +70,10 @@ CLASS net/minecraft/unmapped/C_anfarvhg net/minecraft/network/codec/PacketCodecs METHOD m_qaqftswj fromRegistryCodec (Lcom/mojang/serialization/Codec;)Lnet/minecraft/unmapped/C_qsrmwluu; METHOD m_ttkrtamq fromRegistryCodecUnlimited (Lcom/mojang/serialization/Codec;)Lnet/minecraft/unmapped/C_qsrmwluu; METHOD m_ugyvwjlm registry (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;)Lnet/minecraft/unmapped/C_qsrmwluu; + ARG 0 registry ARG 1 registryTransformer METHOD m_vpmnqxks holder (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_qsrmwluu;)Lnet/minecraft/unmapped/C_qsrmwluu; + ARG 0 registry METHOD m_ydaogaft byteArray (I)Lnet/minecraft/unmapped/C_qsrmwluu; ARG 0 maxLength METHOD m_ygyhvfaa writeCollectionSize (Lio/netty/buffer/ByteBuf;II)V @@ -89,6 +92,9 @@ CLASS net/minecraft/unmapped/C_anfarvhg net/minecraft/network/codec/PacketCodecs METHOD m_vyhpugrn encode (Lio/netty/buffer/ByteBuf;[B)V ARG 1 buf ARG 2 stack + CLASS C_kafuxsar + METHOD m_sqbtyjcv (Lnet/minecraft/unmapped/C_bngyzsts;)Lnet/minecraft/unmapped/C_feaetnaz; + ARG 1 buf CLASS C_qovzsqii METHOD m_agijdhuy decode (Lio/netty/buffer/ByteBuf;)[B ARG 1 buf diff --git a/mappings/net/minecraft/predicate/TagPredicate.mapping b/mappings/net/minecraft/predicate/TagPredicate.mapping index 34a8d6ce72..7dcb3e2a64 100644 --- a/mappings/net/minecraft/predicate/TagPredicate.mapping +++ b/mappings/net/minecraft/predicate/TagPredicate.mapping @@ -1,13 +1,10 @@ CLASS net/minecraft/unmapped/C_jocdhano net/minecraft/predicate/TagPredicate - FIELD f_gvrdxsyc expected Z - FIELD f_pppxkehw tagKey Lnet/minecraft/unmapped/C_ednuhnnn; METHOD (Lnet/minecraft/unmapped/C_ednuhnnn;Z)V ARG 1 tagKey ARG 2 expected METHOD m_ivqgtbrm test (Lnet/minecraft/unmapped/C_cjzoxshv;)Z ARG 1 holder METHOD m_qzjfdokv unexpected (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_jocdhano; - ARG 0 tagKey METHOD m_viztzsoe createCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; + ARG 0 registry METHOD m_zwaaudhq expected (Lnet/minecraft/unmapped/C_ednuhnnn;)Lnet/minecraft/unmapped/C_jocdhano; - ARG 0 tagKey diff --git a/mappings/net/minecraft/predicate/entity/EntitySubPredicateTypes.mapping b/mappings/net/minecraft/predicate/entity/EntitySubPredicateTypes.mapping index 5253d87926..546fa1cd55 100644 --- a/mappings/net/minecraft/predicate/entity/EntitySubPredicateTypes.mapping +++ b/mappings/net/minecraft/predicate/entity/EntitySubPredicateTypes.mapping @@ -7,6 +7,10 @@ CLASS net/minecraft/unmapped/C_qgtgvbyj net/minecraft/predicate/entity/EntitySub METHOD m_yelzxjjx (Lnet/minecraft/unmapped/C_cjzoxshv;)Lnet/minecraft/unmapped/C_ljtxhtrw; ARG 0 catVariantHolder CLASS C_oszyjpav DynamicVariantType + METHOD (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;)V + ARG 1 registry + METHOD m_dqjrqslm (Lnet/minecraft/unmapped/C_xhhleach;Ljava/util/function/Function;)Lnet/minecraft/unmapped/C_qgtgvbyj$C_oszyjpav; + ARG 0 registry METHOD m_oeubjkrf (Lnet/minecraft/unmapped/C_odfnijdo;)Lnet/minecraft/unmapped/C_ljtxhtrw; ARG 1 holderSet CLASS C_tchkalpp diff --git a/mappings/net/minecraft/registry/DefaultMappedRegistry.mapping b/mappings/net/minecraft/registry/DefaultMappedRegistry.mapping index 4270c069e4..a9af834dd3 100644 --- a/mappings/net/minecraft/registry/DefaultMappedRegistry.mapping +++ b/mappings/net/minecraft/registry/DefaultMappedRegistry.mapping @@ -2,6 +2,5 @@ CLASS net/minecraft/unmapped/C_qnhgcvtq net/minecraft/registry/DefaultMappedRegi FIELD f_mxvnnuoz id Lnet/minecraft/unmapped/C_ncpywfca; FIELD f_zosutomx holderReference Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; METHOD (Ljava/lang/String;Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;Z)V - ARG 1 id ARG 3 lifecycle ARG 4 useIntrusiveHolders diff --git a/mappings/net/minecraft/registry/Holder.mapping b/mappings/net/minecraft/registry/Holder.mapping index 75b5868e6e..bd2b6da4ec 100644 --- a/mappings/net/minecraft/registry/Holder.mapping +++ b/mappings/net/minecraft/registry/Holder.mapping @@ -18,25 +18,23 @@ CLASS net/minecraft/unmapped/C_cjzoxshv net/minecraft/registry/Holder METHOD m_uexsrrou isOwnedBy (Lnet/minecraft/unmapped/C_hkebgttw;)Z ARG 1 owner METHOD m_uwpxznsu streamTags ()Ljava/util/stream/Stream; - METHOD m_ydnvjjng value ()Ljava/lang/Object; + METHOD m_ydnvjjng getValue ()Ljava/lang/Object; METHOD m_ynppqgwx (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/String; ARG 0 key METHOD m_znglmuwb getKind ()Lnet/minecraft/unmapped/C_cjzoxshv$C_dflbytmp; CLASS C_dflbytmp Kind CLASS C_rjzpeyec Reference FIELD f_gtphnzhp owner Lnet/minecraft/unmapped/C_hkebgttw; - FIELD f_hhiogamu registryKey Lnet/minecraft/unmapped/C_xhhleach; + FIELD f_hhiogamu key Lnet/minecraft/unmapped/C_xhhleach; FIELD f_lkepjgcv tags Ljava/util/Set; FIELD f_xpbnecjo value Ljava/lang/Object; FIELD f_ziqtcscn type Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec$C_lzllgdpk; METHOD (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec$C_lzllgdpk;Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)V - ARG 1 type - ARG 2 owner - ARG 4 value METHOD m_fksmldal createIntrusive (Lnet/minecraft/unmapped/C_hkebgttw;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 owner ARG 1 value METHOD m_fkurmhix setRegistryKey (Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 key METHOD m_loesexpf getTags ()Ljava/util/Set; METHOD m_spfiiuqs create (Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 0 owner diff --git a/mappings/net/minecraft/registry/HolderProvider.mapping b/mappings/net/minecraft/registry/HolderProvider.mapping index ee08694d16..02f17c90a0 100644 --- a/mappings/net/minecraft/registry/HolderProvider.mapping +++ b/mappings/net/minecraft/registry/HolderProvider.mapping @@ -27,8 +27,7 @@ CLASS net/minecraft/unmapped/C_pzdchrcy net/minecraft/registry/HolderProvider COMMENT {@return the holder provider of the given registry} COMMENT COMMENT @throws IllegalStateException if the registry does not exist in this provider - ARG 1 registryKey - COMMENT the key of the registry + ARG 1 registry METHOD m_hyoezddu getLookup (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; COMMENT {@return the holder provider of the given registry, may be empty if the registry does not exist in this provider} ARG 1 registry From afe70fb1905c7f1733916ad8fdaa5be53b01b21b Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 04:02:59 -0700 Subject: [PATCH 12/24] finished! fixing up RegistryKeys affected by their removal from simple type names --- mappings/net/minecraft/registry/BootstrapContext.mapping | 4 ++-- mappings/net/minecraft/registry/HolderProvider.mapping | 1 - mappings/net/minecraft/registry/Registries.mapping | 1 + mappings/net/minecraft/registry/Registry.mapping | 2 +- mappings/net/minecraft/registry/RegistryKey.mapping | 4 ++-- mappings/net/minecraft/registry/RegistryLoader.mapping | 2 ++ .../net/minecraft/registry/RegistrySetBuilder.mapping | 2 ++ mappings/net/minecraft/registry/SimpleRegistry.mapping | 1 + .../net/minecraft/registry/tag/TagGroupLoader.mapping | 2 ++ .../net/minecraft/server/command/LootCommand.mapping | 2 ++ .../net/minecraft/server/function/FunctionLoader.mapping | 1 + mappings/net/minecraft/server/world/ServerWorld.mapping | 1 + .../net/minecraft/structure/TrailRuinsGenerator.mapping | 1 + .../net/minecraft/structure/piece/StructurePiece.mapping | 4 ++++ .../pool/alias/StructurePoolAliasLookup.mapping | 7 +++++++ mappings/net/minecraft/test/TestContext.mapping | 1 + mappings/net/minecraft/village/TradeOffers.mapping | 3 +++ mappings/net/minecraft/world/TrialSpawnerLogic.mapping | 1 + mappings/net/minecraft/world/WorldAccess.mapping | 9 +-------- .../net/minecraft/world/biome/GenerationSettings.mapping | 2 ++ .../biome/source/util/OverworldBiomeParameters.mapping | 1 + .../minecraft/world/dimension/WorldDimensions.mapping | 3 +++ .../world/event/vibration/VibrationManager.mapping | 1 + .../minecraft/world/poi/PointOfInterestStorage.mapping | 1 + .../net/minecraft/world/updater/WorldUpdater.mapping | 2 +- 25 files changed, 44 insertions(+), 15 deletions(-) diff --git a/mappings/net/minecraft/registry/BootstrapContext.mapping b/mappings/net/minecraft/registry/BootstrapContext.mapping index 113cf2c73c..cc0a3caeb9 100644 --- a/mappings/net/minecraft/registry/BootstrapContext.mapping +++ b/mappings/net/minecraft/registry/BootstrapContext.mapping @@ -3,8 +3,8 @@ CLASS net/minecraft/unmapped/C_hqoyyfco net/minecraft/registry/BootstrapContext ARG 1 registry METHOD m_pymxizhb register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 1 key - ARG 2 object + ARG 2 entry METHOD m_vbitvrmt register (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 1 key - ARG 2 object + ARG 2 entry ARG 3 lifecycle diff --git a/mappings/net/minecraft/registry/HolderProvider.mapping b/mappings/net/minecraft/registry/HolderProvider.mapping index 02f17c90a0..e198435295 100644 --- a/mappings/net/minecraft/registry/HolderProvider.mapping +++ b/mappings/net/minecraft/registry/HolderProvider.mapping @@ -19,7 +19,6 @@ CLASS net/minecraft/unmapped/C_pzdchrcy net/minecraft/registry/HolderProvider METHOD m_yyleelhl getHolder (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; COMMENT {@return the holder by its key, may be empty if the entry does not exist in this provider} ARG 1 key - COMMENT they key of the holder CLASS C_pbvqpmst Provider METHOD m_dplmvldg (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_pzdchrcy;)Ljava/util/Optional; ARG 1 lookup diff --git a/mappings/net/minecraft/registry/Registries.mapping b/mappings/net/minecraft/registry/Registries.mapping index 250502f861..68c9749d30 100644 --- a/mappings/net/minecraft/registry/Registries.mapping +++ b/mappings/net/minecraft/registry/Registries.mapping @@ -71,6 +71,7 @@ CLASS net/minecraft/unmapped/C_nusqeapl net/minecraft/registry/Registries METHOD m_gwxfieow createSimpleUnfrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_tqxyjqsk; ARG 0 key METHOD m_hhgwdqyg internalRegister (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_eexxncvi; + ARG 0 registry ARG 1 entry ARG 2 bootstrap METHOD m_lzhvsneq createDefaultMappedFrozenRegistry (Lnet/minecraft/unmapped/C_xhhleach;Ljava/lang/String;Lnet/minecraft/unmapped/C_nusqeapl$C_qpkaxgeh;)Lnet/minecraft/unmapped/C_zogerkic; diff --git a/mappings/net/minecraft/registry/Registry.mapping b/mappings/net/minecraft/registry/Registry.mapping index fdf53d832c..c1c96f6eaf 100644 --- a/mappings/net/minecraft/registry/Registry.mapping +++ b/mappings/net/minecraft/registry/Registry.mapping @@ -17,7 +17,7 @@ CLASS net/minecraft/unmapped/C_tqxyjqsk net/minecraft/registry/Registry METHOD m_fiunuwfp freeze ()Lnet/minecraft/unmapped/C_tqxyjqsk; METHOD m_hnixtpdg find (Lnet/minecraft/unmapped/C_ncpywfca;)Ljava/util/Optional; METHOD m_ifyosden get (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/lang/Object; - ARG 1 entryKey + ARG 1 key METHOD m_ikxlhrge getOrEmpty (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; ARG 1 key METHOD m_iotvxcay find (I)Ljava/util/Optional; diff --git a/mappings/net/minecraft/registry/RegistryKey.mapping b/mappings/net/minecraft/registry/RegistryKey.mapping index 8d7bc0ffd4..8a387924e7 100644 --- a/mappings/net/minecraft/registry/RegistryKey.mapping +++ b/mappings/net/minecraft/registry/RegistryKey.mapping @@ -16,7 +16,7 @@ CLASS net/minecraft/unmapped/C_xhhleach net/minecraft/registry/RegistryKey ARG 1 value METHOD m_acppaety registryKey ()Lnet/minecraft/unmapped/C_xhhleach; METHOD m_bbzwrvpr createPacketCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qsrmwluu; - ARG 0 key + ARG 0 registry METHOD m_fvrtwzrl of (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_xhhleach; COMMENT Creates a registry key for a value in a registry with a registry key for COMMENT the value-holding registry in the root registry and an identifier of the @@ -39,7 +39,7 @@ CLASS net/minecraft/unmapped/C_xhhleach net/minecraft/registry/RegistryKey ARG 1 registry COMMENT the key of the registry that this registry key should be inside METHOD m_omukrpmi createCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; - ARG 0 key + ARG 0 registry METHOD m_puwkoaeq ofRegistry (Lnet/minecraft/unmapped/C_ncpywfca;)Lnet/minecraft/unmapped/C_xhhleach; COMMENT Creates a registry key for a registry in the root registry (registry of COMMENT all registries) with an identifier for the registry. diff --git a/mappings/net/minecraft/registry/RegistryLoader.mapping b/mappings/net/minecraft/registry/RegistryLoader.mapping index 2b6bf637be..4c0e9fe7ad 100644 --- a/mappings/net/minecraft/registry/RegistryLoader.mapping +++ b/mappings/net/minecraft/registry/RegistryLoader.mapping @@ -78,6 +78,8 @@ CLASS net/minecraft/unmapped/C_ratuauki net/minecraft/registry/RegistryLoader ARG 1 loader ARG 2 infoLookup CLASS C_qpshoosu DecodingData + FIELD f_wwrfheei registry Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_azjxntab registry ()Lnet/minecraft/unmapped/C_xhhleach; METHOD m_qoqcvblw runWithData (Ljava/util/function/BiConsumer;)V ARG 1 consumer METHOD m_qxfeaogn createRegistryAndLoader (Lcom/mojang/serialization/Lifecycle;Ljava/util/Map;)Lnet/minecraft/unmapped/C_ratuauki$C_kfdvqtiv; diff --git a/mappings/net/minecraft/registry/RegistrySetBuilder.mapping b/mappings/net/minecraft/registry/RegistrySetBuilder.mapping index 5914defa77..a2e05e5ba7 100644 --- a/mappings/net/minecraft/registry/RegistrySetBuilder.mapping +++ b/mappings/net/minecraft/registry/RegistrySetBuilder.mapping @@ -14,6 +14,7 @@ CLASS net/minecraft/unmapped/C_tncydixy net/minecraft/registry/RegistrySetBuilde METHOD m_fubmiija (Lnet/minecraft/unmapped/C_hkebgttw;Lnet/minecraft/unmapped/C_nlcdnclu;Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lorg/apache/commons/lang3/mutable/MutableObject;Ljava/util/Map;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V ARG 5 holder METHOD m_fuvpcytb add (Lnet/minecraft/unmapped/C_xhhleach;Lcom/mojang/serialization/Lifecycle;Lnet/minecraft/unmapped/C_tncydixy$C_nxwigvql;)Lnet/minecraft/unmapped/C_tncydixy; + ARG 1 registry ARG 2 lifecycle ARG 3 bootstrap METHOD m_iaaetqhl build (Lnet/minecraft/unmapped/C_wqxmvzdq;)Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; @@ -97,6 +98,7 @@ CLASS net/minecraft/unmapped/C_tncydixy net/minecraft/registry/RegistrySetBuilde METHOD m_awntyuiu (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 1 registryKey METHOD m_kwtahmdp getOrCreate (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; + ARG 1 entry CLASS C_xxpyvqyn BuildState METHOD m_gaysgpxx reportOrphanedValues ()V METHOD m_hfvtdxvs create (Lnet/minecraft/unmapped/C_wqxmvzdq;Ljava/util/stream/Stream;)Lnet/minecraft/unmapped/C_tncydixy$C_xxpyvqyn; diff --git a/mappings/net/minecraft/registry/SimpleRegistry.mapping b/mappings/net/minecraft/registry/SimpleRegistry.mapping index cfa1fddd02..893fe6cfe9 100644 --- a/mappings/net/minecraft/registry/SimpleRegistry.mapping +++ b/mappings/net/minecraft/registry/SimpleRegistry.mapping @@ -53,6 +53,7 @@ CLASS net/minecraft/unmapped/C_secmvxxe net/minecraft/registry/SimpleRegistry METHOD m_uxxmjbws (Ljava/util/Map$Entry;)Z ARG 0 entry METHOD m_vnznjtqt requireNotFrozen (Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 entryKey METHOD m_xynptmgp getValueFromNullable (Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)Ljava/lang/Object; ARG 0 reference METHOD m_zidmplwf (Ljava/lang/Object;Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec;)V diff --git a/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping b/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping index 8368e4c15a..82da2fc5f6 100644 --- a/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping +++ b/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping @@ -54,3 +54,5 @@ CLASS net/minecraft/unmapped/C_loluvnda net/minecraft/registry/tag/TagGroupLoade METHOD m_qmabmdkt (Ljava/util/function/Consumer;Lnet/minecraft/unmapped/C_loluvnda$C_csxylpni;)V ARG 1 entry CLASS C_shtfmyxy RegistryTags + FIELD f_nufuoyyj registry Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_njnnimus registry ()Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/server/command/LootCommand.mapping b/mappings/net/minecraft/server/command/LootCommand.mapping index fe158856d8..bc2a61d468 100644 --- a/mappings/net/minecraft/server/command/LootCommand.mapping +++ b/mappings/net/minecraft/server/command/LootCommand.mapping @@ -56,6 +56,8 @@ CLASS net/minecraft/unmapped/C_bqrskrfs net/minecraft/server/command/LootCommand ARG 0 context ARG 1 stacks ARG 2 messageSender + METHOD m_lqhmryxk (Lnet/minecraft/unmapped/C_pennblrk;Ljava/util/List;Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 2 lootTable METHOD m_lqzcrgsp executeFish (Lcom/mojang/brigadier/context/CommandContext;Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_bqrskrfs$C_jsqppuqn;)I ARG 0 context ARG 2 pos diff --git a/mappings/net/minecraft/server/function/FunctionLoader.mapping b/mappings/net/minecraft/server/function/FunctionLoader.mapping index 1c00a94335..2ab506704c 100644 --- a/mappings/net/minecraft/server/function/FunctionLoader.mapping +++ b/mappings/net/minecraft/server/function/FunctionLoader.mapping @@ -14,6 +14,7 @@ CLASS net/minecraft/unmapped/C_coevuhwv net/minecraft/server/function/FunctionLo COMMENT COMMENT @see CommandFunctionManager FIELD f_anihhgdl commandDispatcher Lcom/mojang/brigadier/CommandDispatcher; + FIELD f_bfnxpout FUNCTION_REGISTRY_KEY Lnet/minecraft/unmapped/C_xhhleach; FIELD f_dwlynspj tagLoader Lnet/minecraft/unmapped/C_loluvnda; FIELD f_gvdhfneh level I FIELD f_jqaopjny functions Ljava/util/Map; diff --git a/mappings/net/minecraft/server/world/ServerWorld.mapping b/mappings/net/minecraft/server/world/ServerWorld.mapping index c537e414ab..89926e8c41 100644 --- a/mappings/net/minecraft/server/world/ServerWorld.mapping +++ b/mappings/net/minecraft/server/world/ServerWorld.mapping @@ -33,6 +33,7 @@ CLASS net/minecraft/unmapped/C_bdwnwhiu net/minecraft/server/world/ServerWorld FIELD f_zwskxqrh inBlockTick Z METHOD (Lnet/minecraft/server/MinecraftServer;Ljava/util/concurrent/Executor;Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;Lnet/minecraft/unmapped/C_gjwbvqct;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_alziuayn;Lnet/minecraft/unmapped/C_jnfclwgd;ZJLjava/util/List;ZLnet/minecraft/unmapped/C_xmjhbbku;)V ARG 3 session + ARG 5 key ARG 6 dimensionOptions ARG 7 worldgenProgressListener ARG 13 randomSequences diff --git a/mappings/net/minecraft/structure/TrailRuinsGenerator.mapping b/mappings/net/minecraft/structure/TrailRuinsGenerator.mapping index ce04e96a2d..3d4bb5434c 100644 --- a/mappings/net/minecraft/structure/TrailRuinsGenerator.mapping +++ b/mappings/net/minecraft/structure/TrailRuinsGenerator.mapping @@ -1,3 +1,4 @@ CLASS net/minecraft/unmapped/C_trcxslji net/minecraft/structure/TrailRuinsGenerator + FIELD f_ublygabq REGISTRY_KEY Lnet/minecraft/unmapped/C_xhhleach; METHOD m_loejapwq bootstrap (Lnet/minecraft/unmapped/C_hqoyyfco;)V ARG 0 pool diff --git a/mappings/net/minecraft/structure/piece/StructurePiece.mapping b/mappings/net/minecraft/structure/piece/StructurePiece.mapping index b4f3435fe9..d4018161e7 100644 --- a/mappings/net/minecraft/structure/piece/StructurePiece.mapping +++ b/mappings/net/minecraft/structure/piece/StructurePiece.mapping @@ -62,6 +62,8 @@ CLASS net/minecraft/unmapped/C_coopoqiy net/minecraft/structure/piece/StructureP ARG 6 box METHOD m_iacbleeq (Lnet/minecraft/unmapped/C_hhlwcnih;Lnet/minecraft/unmapped/C_oivssbvb;)V ARG 1 nbt + METHOD m_imiulckt (Lnet/minecraft/unmapped/C_jmnzlycd;Lnet/minecraft/unmapped/C_hmqypqzz;Lnet/minecraft/unmapped/C_rlomrsco;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_txtbiemp;)Z + ARG 5 lootTable METHOD m_ipyahbus getEncompassingBoundingBox (Ljava/util/stream/Stream;)Lnet/minecraft/unmapped/C_hmqypqzz; ARG 0 pieceStream METHOD m_jyctiurm getCenter ()Lnet/minecraft/unmapped/C_hynzadkk; @@ -131,6 +133,8 @@ CLASS net/minecraft/unmapped/C_coopoqiy net/minecraft/structure/piece/StructureP ARG 7 z ARG 8 state METHOD m_orkybnyc getMirror ()Lnet/minecraft/unmapped/C_qomzaqud; + METHOD m_osxlnmji (Lnet/minecraft/unmapped/C_ldkphtbr;Lnet/minecraft/unmapped/C_hmqypqzz;Lnet/minecraft/unmapped/C_rlomrsco;IIILnet/minecraft/unmapped/C_xhhleach;)Z + ARG 7 lootTable METHOD m_ovlrimpa writeNbt (Lnet/minecraft/unmapped/C_ywyzxrzo;Lnet/minecraft/unmapped/C_hhlwcnih;)V ARG 1 context ARG 2 nbt diff --git a/mappings/net/minecraft/structure/pool/alias/StructurePoolAliasLookup.mapping b/mappings/net/minecraft/structure/pool/alias/StructurePoolAliasLookup.mapping index 64e26ecc98..e44c4085c6 100644 --- a/mappings/net/minecraft/structure/pool/alias/StructurePoolAliasLookup.mapping +++ b/mappings/net/minecraft/structure/pool/alias/StructurePoolAliasLookup.mapping @@ -1,6 +1,13 @@ CLASS net/minecraft/unmapped/C_klopvdsw net/minecraft/structure/pool/alias/StructurePoolAliasLookup + FIELD f_ycsrssgx IDENTITY Lnet/minecraft/unmapped/C_klopvdsw; METHOD create (Ljava/util/List;Lnet/minecraft/unmapped/C_hynzadkk;J)Lnet/minecraft/unmapped/C_klopvdsw; ARG 0 aliasBindings ARG 2 seed + METHOD lookup (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 1 pool + METHOD m_dthelvjs (Ljava/util/Map;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 1 pool + METHOD m_gfsjshyj (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_xhhleach; + ARG 0 pool METHOD m_mzvvxeov (Lnet/minecraft/unmapped/C_rlomrsco;Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/unmapped/C_xsycfxyj;)V ARG 2 binding diff --git a/mappings/net/minecraft/test/TestContext.mapping b/mappings/net/minecraft/test/TestContext.mapping index 449069906d..4cbcd8d41e 100644 --- a/mappings/net/minecraft/test/TestContext.mapping +++ b/mappings/net/minecraft/test/TestContext.mapping @@ -147,6 +147,7 @@ CLASS net/minecraft/unmapped/C_ncfucati net/minecraft/test/TestContext ARG 3 propertyName ARG 4 expectedValue METHOD m_mfctcsuu setBiome (Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 1 biome METHOD m_mfjsfrfk expectNoEntityAt (Lnet/minecraft/unmapped/C_ogavsvbr;Lnet/minecraft/unmapped/C_hynzadkk;)V ARG 1 testedType ARG 2 pos diff --git a/mappings/net/minecraft/village/TradeOffers.mapping b/mappings/net/minecraft/village/TradeOffers.mapping index ac0d123298..b193e6b38c 100644 --- a/mappings/net/minecraft/village/TradeOffers.mapping +++ b/mappings/net/minecraft/village/TradeOffers.mapping @@ -94,6 +94,7 @@ CLASS net/minecraft/unmapped/C_hqrlptsj net/minecraft/village/TradeOffers ARG 2 unprocessedCount ARG 4 processedItem ARG 5 processedCount + ARG 9 enchantmentProvider METHOD (Lnet/minecraft/unmapped/C_gmbqjnle;IILnet/minecraft/unmapped/C_sddaxwyk;IIIF)V ARG 1 unprocessedItem ARG 2 unprocessedCount @@ -198,6 +199,8 @@ CLASS net/minecraft/unmapped/C_hqrlptsj net/minecraft/village/TradeOffers ARG 4 maxUses ARG 5 experience ARG 6 priceMultiplier + METHOD (Lnet/minecraft/unmapped/C_vorddnax;IIIIFLnet/minecraft/unmapped/C_xhhleach;)V + ARG 7 enchantmentProvider CLASS C_vlyzlpkn SellMapFactory FIELD f_aapijarc mapName Ljava/lang/String; FIELD f_gatuwlra price I diff --git a/mappings/net/minecraft/world/TrialSpawnerLogic.mapping b/mappings/net/minecraft/world/TrialSpawnerLogic.mapping index 819b7cf389..444f2fb706 100644 --- a/mappings/net/minecraft/world/TrialSpawnerLogic.mapping +++ b/mappings/net/minecraft/world/TrialSpawnerLogic.mapping @@ -21,6 +21,7 @@ CLASS net/minecraft/unmapped/C_jelkcvqk net/minecraft/world/TrialSpawnerLogic METHOD m_eoussynw setState (Lnet/minecraft/unmapped/C_cdctfzbn;Lnet/minecraft/unmapped/C_mefvrcdp;)V ARG 2 state METHOD m_ggqvmzns ejectLoot (Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_xhhleach;)V + ARG 3 lootTable METHOD m_gtgamtxz getState ()Lnet/minecraft/unmapped/C_mefvrcdp; METHOD m_hvfivtpr getCodec ()Lcom/mojang/serialization/Codec; METHOD m_hxfvrqzw getOminousConfig ()Lnet/minecraft/unmapped/C_pocjjnjk; diff --git a/mappings/net/minecraft/world/WorldAccess.mapping b/mappings/net/minecraft/world/WorldAccess.mapping index 5356e36a28..0c8cce2820 100644 --- a/mappings/net/minecraft/world/WorldAccess.mapping +++ b/mappings/net/minecraft/world/WorldAccess.mapping @@ -15,8 +15,6 @@ CLASS net/minecraft/unmapped/C_vdvbsyle net/minecraft/world/WorldAccess METHOD m_eudwfuph getProperties ()Lnet/minecraft/unmapped/C_vsicwqkk; METHOD m_fnlxbhsq getServer ()Lnet/minecraft/server/MinecraftServer; METHOD m_fpfswynf emitGameEvent (Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_cgkchrmc$C_cjhidzon;)V - ARG 1 event - ARG 3 context METHOD m_fzlaofnh emitGameEvent (Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_vgpupfxx;Lnet/minecraft/unmapped/C_cgkchrmc$C_cjhidzon;)V ARG 1 event ARG 2 emitterPos @@ -44,17 +42,12 @@ CLASS net/minecraft/unmapped/C_vdvbsyle net/minecraft/world/WorldAccess ARG 2 pos ARG 3 data METHOD m_pqprudsr emitGameEvent (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_cgkchrmc$C_cjhidzon;)V - ARG 3 context + ARG 1 event METHOD m_tssnbger getLocalDifficulty (Lnet/minecraft/unmapped/C_hynzadkk;)Lnet/minecraft/unmapped/C_jiailwzt; ARG 1 pos METHOD m_ujsksuer emitGameEvent (Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_vgpupfxx;)V - ARG 1 entity - ARG 2 event - ARG 3 pos METHOD m_umfnetns getChunkManager ()Lnet/minecraft/unmapped/C_bubysyxg; METHOD m_wztckqdb emitGameEvent (Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_hynzadkk;)V - ARG 1 entity - ARG 2 event METHOD m_yjkyqlyg updateNeighbors (Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_mmxmpdoq;)V ARG 1 pos ARG 2 block diff --git a/mappings/net/minecraft/world/biome/GenerationSettings.mapping b/mappings/net/minecraft/world/biome/GenerationSettings.mapping index a695ea4ff5..9594e2f8af 100644 --- a/mappings/net/minecraft/world/biome/GenerationSettings.mapping +++ b/mappings/net/minecraft/world/biome/GenerationSettings.mapping @@ -28,8 +28,10 @@ CLASS net/minecraft/unmapped/C_qbjpvmph net/minecraft/world/biome/GenerationSett ARG 1 features ARG 2 carvers METHOD m_jtwrhufd carver (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qbjpvmph$C_bwxzcdhs; + ARG 1 carver METHOD m_qhxraujc feature (Lnet/minecraft/unmapped/C_rdrmebyw$C_eibovkzt;Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_qbjpvmph$C_bwxzcdhs; ARG 1 featureStep + ARG 2 feature CLASS C_thdznmut PlainBuilder FIELD f_butdfpqn features Ljava/util/List; FIELD f_efnbqovo carvers Ljava/util/List; diff --git a/mappings/net/minecraft/world/biome/source/util/OverworldBiomeParameters.mapping b/mappings/net/minecraft/world/biome/source/util/OverworldBiomeParameters.mapping index 78753efd2a..1b166f555e 100644 --- a/mappings/net/minecraft/world/biome/source/util/OverworldBiomeParameters.mapping +++ b/mappings/net/minecraft/world/biome/source/util/OverworldBiomeParameters.mapping @@ -47,6 +47,7 @@ CLASS net/minecraft/unmapped/C_onndvydg net/minecraft/world/biome/source/util/Ov ARG 5 erosion ARG 6 depth ARG 7 weirdness + ARG 8 biome METHOD m_cumhdlyb pickPeakBiome (IILnet/minecraft/unmapped/C_ohqwadgy$C_pmcopbbm;)Lnet/minecraft/unmapped/C_xhhleach; ARG 1 temperature ARG 2 humidity diff --git a/mappings/net/minecraft/world/dimension/WorldDimensions.mapping b/mappings/net/minecraft/world/dimension/WorldDimensions.mapping index 1fdfa11167..3bffc62909 100644 --- a/mappings/net/minecraft/world/dimension/WorldDimensions.mapping +++ b/mappings/net/minecraft/world/dimension/WorldDimensions.mapping @@ -19,13 +19,16 @@ CLASS net/minecraft/unmapped/C_oiwekzxo net/minecraft/world/dimension/WorldDimen METHOD m_mflvjtrh streamInOrder (Ljava/util/stream/Stream;)Ljava/util/stream/Stream; ARG 0 dimensionStream METHOD m_ngyfnwyr getLifecycle (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_alziuayn;)Lcom/mojang/serialization/Lifecycle; + ARG 0 options ARG 1 dimension METHOD m_pkwubvhk isDebug ()Z METHOD m_pqnovmjd (Lnet/minecraft/unmapped/C_alziuayn;)Lnet/minecraft/unmapped/C_jmmczzpb$C_ooteyfin; ARG 0 dimension METHOD m_qrljwitr getWorldKeys ()Lcom/google/common/collect/ImmutableSet; METHOD m_skajvlst get (Lnet/minecraft/unmapped/C_xhhleach;)Ljava/util/Optional; + ARG 1 key METHOD m_udnciizs isVanilla (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_alziuayn;)Z + ARG 0 options ARG 1 dimension METHOD m_xiunuxre bake (Lnet/minecraft/unmapped/C_tqxyjqsk;)Lnet/minecraft/unmapped/C_oiwekzxo$C_djwmjrji; METHOD m_zzejycps (Lnet/minecraft/unmapped/C_eexxncvi;Lnet/minecraft/unmapped/C_oiwekzxo$C_ddnnhray;)V diff --git a/mappings/net/minecraft/world/event/vibration/VibrationManager.mapping b/mappings/net/minecraft/world/event/vibration/VibrationManager.mapping index 491b1cda92..1b410ac8a2 100644 --- a/mappings/net/minecraft/world/event/vibration/VibrationManager.mapping +++ b/mappings/net/minecraft/world/event/vibration/VibrationManager.mapping @@ -3,6 +3,7 @@ CLASS net/minecraft/unmapped/C_ddxrijfx net/minecraft/world/event/vibration/Vibr FIELD f_chcearum RESONATION_EVENTS Ljava/util/List; FIELD f_gqgeadrg DEFAULT_VIBRATION_FREQUENCY I METHOD m_afqazgpz getFrequency (Lnet/minecraft/unmapped/C_xhhleach;)I + ARG 0 event METHOD m_bggysyds getResonationEvent (I)Lnet/minecraft/unmapped/C_xhhleach; ARG 0 frequency METHOD m_exbfavst getVibrationData ()Lnet/minecraft/unmapped/C_ddxrijfx$C_qhpiojal; diff --git a/mappings/net/minecraft/world/poi/PointOfInterestStorage.mapping b/mappings/net/minecraft/world/poi/PointOfInterestStorage.mapping index f020d16623..1e90117d5d 100644 --- a/mappings/net/minecraft/world/poi/PointOfInterestStorage.mapping +++ b/mappings/net/minecraft/world/poi/PointOfInterestStorage.mapping @@ -69,6 +69,7 @@ CLASS net/minecraft/unmapped/C_uegwgivt net/minecraft/world/poi/PointOfInterestS METHOD m_safkagzh shouldScan (Lnet/minecraft/unmapped/C_aurosfgf;)Z ARG 0 section METHOD m_ssqvzvty hasTypeAt (Lnet/minecraft/unmapped/C_xhhleach;Lnet/minecraft/unmapped/C_hynzadkk;)Z + ARG 1 type ARG 2 pos METHOD m_tjmtajvw getPosition (Ljava/util/function/Predicate;Ljava/util/function/BiPredicate;Lnet/minecraft/unmapped/C_hynzadkk;I)Ljava/util/Optional; ARG 1 typePredicate diff --git a/mappings/net/minecraft/world/updater/WorldUpdater.mapping b/mappings/net/minecraft/world/updater/WorldUpdater.mapping index 064d773f0b..df31eacc28 100644 --- a/mappings/net/minecraft/world/updater/WorldUpdater.mapping +++ b/mappings/net/minecraft/world/updater/WorldUpdater.mapping @@ -72,7 +72,7 @@ CLASS net/minecraft/unmapped/C_jzcarjio net/minecraft/world/updater/WorldUpdater METHOD m_rqoeibmv tryUpdate (Ljava/lang/AutoCloseable;Lnet/minecraft/unmapped/C_ynrszrtu;Lnet/minecraft/unmapped/C_xhhleach;)Z ARG 1 storage ARG 2 pos - ARG 3 worldKey + ARG 3 world METHOD m_tkgcolez getDimensionsToUpdate ()Ljava/util/List; CLASS C_kxqvuzjo Region CLASS C_nzimilha ChunkUpdater From f09e955316ac7fe8f0c0ce6ebdb41fc5ede6217f Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 04:15:40 -0700 Subject: [PATCH 13/24] fix typos --- mappings/net/minecraft/client/option/NarratorMode.mapping | 2 +- .../net/minecraft/loot/condition/ReferenceLootCondition.mapping | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mappings/net/minecraft/client/option/NarratorMode.mapping b/mappings/net/minecraft/client/option/NarratorMode.mapping index 1539acda40..3fad84a093 100644 --- a/mappings/net/minecraft/client/option/NarratorMode.mapping +++ b/mappings/net/minecraft/client/option/NarratorMode.mapping @@ -3,7 +3,7 @@ CLASS net/minecraft/unmapped/C_ekczyczh net/minecraft/client/option/NarratorMode FIELD f_nikdsyso id I FIELD f_qtvfmgny GET_BY_ID Ljava/util/function/IntFunction; METHOD (Ljava/lang/String;IILjava/lang/String;)V - ARG 4 translationkey + ARG 4 translationKey METHOD m_cbrezehp getName ()Lnet/minecraft/unmapped/C_rdaqiwdt; METHOD m_gifirmom canNarrateChat ()Z METHOD m_sxeyqcgh canNarrateSystemMessages ()Z diff --git a/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping b/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping index fb0d8e50b0..0f5ec62432 100644 --- a/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping +++ b/mappings/net/minecraft/loot/condition/ReferenceLootCondition.mapping @@ -3,6 +3,6 @@ CLASS net/minecraft/unmapped/C_dtftepex net/minecraft/loot/condition/ReferenceLo FIELD f_yjsawjni LOGGER Lorg/slf4j/Logger; METHOD m_ciazakem builder (Lnet/minecraft/unmapped/C_xhhleach;)Lnet/minecraft/unmapped/C_vqkczpuv$C_cjvmpogn; ARG 0 condition - METHOD m_jqawbmhv conditon ()Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_jqawbmhv condition ()Lnet/minecraft/unmapped/C_xhhleach; METHOD test (Ljava/lang/Object;)Z ARG 1 context From a1a050b635c7d0ca4c6f2112b5b853847f4bddd8 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 04:40:19 -0700 Subject: [PATCH 14/24] remove FindInvalidSimpleTypeFieldNamesTask stub for separate PR --- .../lint/FindInvalidSimpleTypeFieldNamesTask.java | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java diff --git a/buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java b/buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java deleted file mode 100644 index bfb4601eee..0000000000 --- a/buildSrc/src/main/java/quilt/internal/tasks/lint/FindInvalidSimpleTypeFieldNamesTask.java +++ /dev/null @@ -1,11 +0,0 @@ -package quilt.internal.tasks.lint; - -import org.gradle.api.DefaultTask; - -/* -TODO - - implement - - see if hashed classes can come from enigma - */ -public abstract class FindInvalidSimpleTypeFieldNamesTask extends DefaultTask { -} From 8d5f91f24d3b92352a1ad50e69ce77bbd437cbd0 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Wed, 25 Sep 2024 05:20:45 -0700 Subject: [PATCH 15/24] fixup a few things folling self-review --- mappings/net/minecraft/entity/vehicle/BoatEntity.mapping | 2 +- mappings/net/minecraft/item/Item.mapping | 4 ++-- mappings/net/minecraft/item/Items.mapping | 2 -- mappings/net/minecraft/registry/SimpleRegistry.mapping | 2 +- mappings/net/minecraft/server/function/FunctionGetter.mapping | 2 +- 5 files changed, 5 insertions(+), 7 deletions(-) diff --git a/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping b/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping index ecb05c9875..a8571e25c5 100644 --- a/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping +++ b/mappings/net/minecraft/entity/vehicle/BoatEntity.mapping @@ -83,7 +83,7 @@ CLASS net/minecraft/unmapped/C_mpfuowct net/minecraft/entity/vehicle/BoatEntity FIELD f_haecscok CODEC Lnet/minecraft/unmapped/C_lgkqzafw$C_nxwenkbc; FIELD f_ndvbhqqg itemGetter Ljava/util/function/Supplier; FIELD f_vbzpbykb name Ljava/lang/String; - FIELD f_whmsayxx GET_BY_ORDINAL Ljava/util/function/IntFunction; + FIELD f_whmsayxx GET_BY_ID Ljava/util/function/IntFunction; METHOD m_icoyxmnb key ()Ljava/lang/String; METHOD m_pseozspr getItem ()Lnet/minecraft/unmapped/C_vorddnax; METHOD m_qbsqgvtg byName (Ljava/lang/String;)Lnet/minecraft/unmapped/C_mpfuowct$C_jyahrrif; diff --git a/mappings/net/minecraft/item/Item.mapping b/mappings/net/minecraft/item/Item.mapping index c757d3669f..339fc36ea7 100644 --- a/mappings/net/minecraft/item/Item.mapping +++ b/mappings/net/minecraft/item/Item.mapping @@ -185,9 +185,9 @@ CLASS net/minecraft/unmapped/C_vorddnax net/minecraft/item/Item FIELD f_guuibeel key Lnet/minecraft/unmapped/C_xhhleach; FIELD f_znexcclr builder Lnet/minecraft/unmapped/C_kouhnfig$C_vfzyoahz; METHOD m_dmwpwxbl food (Lnet/minecraft/unmapped/C_cgikuact;Lnet/minecraft/unmapped/C_ybwnbwdi;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; - ARG 1 foodComponent + ARG 1 food + ARG 2 consumable METHOD m_fazzsuba food (Lnet/minecraft/unmapped/C_cgikuact;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; - ARG 1 foodComponent METHOD m_fcpbtbaw (Lnet/minecraft/unmapped/C_vorddnax;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; ARG 1 repairMaterial METHOD m_gdfazvhf maxCount (I)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; diff --git a/mappings/net/minecraft/item/Items.mapping b/mappings/net/minecraft/item/Items.mapping index e215a4d0f7..59b173549e 100644 --- a/mappings/net/minecraft/item/Items.mapping +++ b/mappings/net/minecraft/item/Items.mapping @@ -1,6 +1,5 @@ CLASS net/minecraft/unmapped/C_zxoagntf net/minecraft/item/Items METHOD m_aowiexfr (Ljava/util/function/BiFunction;Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; - ARG 2 settings METHOD m_blrqzpwo (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; METHOD m_bvemuodw (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; METHOD m_cndbkmly register (Lnet/minecraft/unmapped/C_mmxmpdoq;)Lnet/minecraft/unmapped/C_vorddnax; @@ -20,7 +19,6 @@ CLASS net/minecraft/unmapped/C_zxoagntf net/minecraft/item/Items METHOD m_jiuovwxv (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; METHOD m_jltiwvea (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; METHOD m_klpsjbwp (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; - ARG 0 settings METHOD m_komfcsga (Lnet/minecraft/unmapped/C_mmxmpdoq;Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax; METHOD m_kzbsnwtw (Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; METHOD m_lawenngf createBlockItemFactory (Lnet/minecraft/unmapped/C_mmxmpdoq;)Ljava/util/function/Function; diff --git a/mappings/net/minecraft/registry/SimpleRegistry.mapping b/mappings/net/minecraft/registry/SimpleRegistry.mapping index 893fe6cfe9..9f9ddcf10d 100644 --- a/mappings/net/minecraft/registry/SimpleRegistry.mapping +++ b/mappings/net/minecraft/registry/SimpleRegistry.mapping @@ -49,7 +49,7 @@ CLASS net/minecraft/unmapped/C_secmvxxe net/minecraft/registry/SimpleRegistry METHOD m_sskehwlu requireOwnedReference (Lnet/minecraft/unmapped/C_ednuhnnn;Lnet/minecraft/unmapped/C_cjzoxshv;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; ARG 2 holder METHOD m_utkjswei (Ljava/lang/Object;)Lnet/minecraft/unmapped/C_cjzoxshv$C_rjzpeyec; - ARG 1 tEntry + ARG 1 t METHOD m_uxxmjbws (Ljava/util/Map$Entry;)Z ARG 0 entry METHOD m_vnznjtqt requireNotFrozen (Lnet/minecraft/unmapped/C_xhhleach;)V diff --git a/mappings/net/minecraft/server/function/FunctionGetter.mapping b/mappings/net/minecraft/server/function/FunctionGetter.mapping index 12bc5c7c0c..90f7cc89a0 100644 --- a/mappings/net/minecraft/server/function/FunctionGetter.mapping +++ b/mappings/net/minecraft/server/function/FunctionGetter.mapping @@ -1,6 +1,6 @@ CLASS net/minecraft/unmapped/C_uxzryfxv net/minecraft/server/function/FunctionGetter FIELD f_cxzaybvc commandFunctionSet Z FIELD f_kkregdwp commandFunction Ljava/util/Optional; - METHOD m_ashjquub getid ()Lnet/minecraft/unmapped/C_ncpywfca; + METHOD m_ashjquub getId ()Lnet/minecraft/unmapped/C_ncpywfca; METHOD m_ecdplsxc get (Lnet/minecraft/unmapped/C_nbwcoknw;)Ljava/util/Optional; ARG 1 manager From 89139e68567d4372781d85036f23bb49ccf68957 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Thu, 26 Sep 2024 00:09:20 -0700 Subject: [PATCH 16/24] make simple_type_field_names an input of insertAutoGeneratedMappings betterly --- build.gradle | 7 -- .../tasks/build/AddProposedMappingsTask.java | 75 +++++++++++++------ 2 files changed, 51 insertions(+), 31 deletions(-) diff --git a/build.gradle b/build.gradle index d33f8e8b1e..32004a901b 100644 --- a/build.gradle +++ b/build.gradle @@ -92,8 +92,6 @@ dependencies { intermediary "net.fabricmc:intermediary:${minecraft_version}:v2" } - -import groovy.json.JsonSlurper import org.objectweb.asm.ClassVisitor import org.objectweb.asm.Opcodes import org.quiltmc.draftsman.asm.visitor.DraftsmanAdapterClassVisitor @@ -119,11 +117,6 @@ tasks.build.dependsOn "compressTiny", "tinyJar", "v2UnmergedMappingsJar", "v2Mer task insertAutoGeneratedMappings(dependsOn: [buildMappingsTiny, downloadPerVersionMappings], type: AddProposedMappingsTask) { final enigmaProfile = file("enigma_profile.json") - inputs.file( - new JsonSlurper().parse(enigmaProfile) - .services.jar_indexer.args.simple_type_field_names_path - ) - inputJar.set mappings.fileConstants.perVersionMappingsJar inputMappings.set buildMappingsTiny.outputMappings profile.set enigmaProfile diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java index adfcb8e712..20cb3e9521 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java @@ -2,19 +2,30 @@ import java.io.BufferedWriter; import java.io.File; +import java.io.IOException; import java.io.PrintWriter; import java.io.Reader; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.Objects; - +import java.util.stream.Stream; + +import org.gradle.api.GradleException; +import org.gradle.api.file.FileCollection; +import org.gradle.api.file.RegularFile; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.InputFiles; +import org.gradle.api.tasks.Optional; +import org.jetbrains.annotations.NotNull; import org.quiltmc.enigma.api.Enigma; import org.quiltmc.enigma.api.EnigmaProfile; import org.quiltmc.enigma.api.EnigmaProject; +import org.quiltmc.enigma.api.service.JarIndexerService; import org.quiltmc.enigma.command.Command; import org.quiltmc.enigma.command.FillClassMappingsCommand; import org.quiltmc.enigma.command.CommandsUtil; @@ -38,35 +49,63 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class AddProposedMappingsTask extends DefaultMappingsTask { +import static org.quiltmc.enigma_plugin.Arguments.SIMPLE_TYPE_FIELD_NAMES_PATH; + +public abstract class AddProposedMappingsTask extends DefaultMappingsTask { + private static Path getPath(RegularFileProperty fileProperty) { + return fileProperty.map(RegularFile::getAsFile).map(File::toPath).get(); + } + @OutputFile public File outputMappings; @InputFile - private final Property inputJar; + public abstract RegularFileProperty getInputJar(); @InputFile - private final Property inputMappings; + public abstract RegularFileProperty getInputMappings(); @InputFile - private final Property profile; + public abstract RegularFileProperty getProfile(); + + @Optional + @InputFiles + protected abstract Property getSimpleTypeFieldNames(); public AddProposedMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - outputMappings = new File(fileConstants.buildDir, getName() + ".tiny"); - inputJar = getProject().getObjects().property(File.class); - inputMappings = getProject().getObjects().property(File.class); - profile = getProject().getObjects().property(File.class); + this.outputMappings = new File(fileConstants.buildDir, getName() + ".tiny"); + + this.getSimpleTypeFieldNames().set( + this.getProfile() + .map(RegularFile::getAsFile) + .map(File::toPath) + .map(profilePath -> { + try { + return this.getProject().files( + EnigmaProfile.read(profilePath).getServiceProfiles(JarIndexerService.TYPE).stream() + .flatMap(service -> service.getArgument(SIMPLE_TYPE_FIELD_NAMES_PATH).stream()) + .map(stringOrStrings -> stringOrStrings.mapBoth(Stream::of, Collection::stream)) + .flatMap(bothStringStreams -> + bothStringStreams.left().orElseGet(bothStringStreams::rightOrThrow) + ) + .toList() + ); + } catch (IOException e) { + throw new GradleException("Failed to read enigma profile", e); + } + }) + ); } @TaskAction public void addProposedMappings() throws Exception { getLogger().lifecycle(":seeking auto-mappable entries"); - Path input = inputMappings.get().toPath(); + Path input = getPath(this.getInputMappings()); Path output = outputMappings.toPath(); - Path jar = inputJar.get().toPath(); - Path profilePath = profile.map(File::toPath).get(); + Path jar = getPath(this.getInputJar()); + Path profilePath = getPath(this.getProfile()); addProposedMappings(input, output, fileConstants.tempDir.toPath(), jar, profilePath); } @@ -204,16 +243,4 @@ public File getOutputMappings() { public void setOutputMappings(File outputMappings) { this.outputMappings = outputMappings; } - - public Property getInputJar() { - return inputJar; - } - - public Property getInputMappings() { - return inputMappings; - } - - public Property getProfile() { - return profile; - } } From 3158034edd1caef2cfd54396c24a13bbc0c38625 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Fri, 27 Sep 2024 18:05:03 -0700 Subject: [PATCH 17/24] make simple_type_field_names an input of insertAutoGeneratedMappings bettererly move EnigmaProfile to MappingsExtension --- build.gradle | 7 +- .../quilt/internal/MappingsExtension.java | 51 +++++++++++++-- .../java/quilt/internal/MappingsPlugin.java | 15 ++++- .../tasks/EnigmaProfileConsumingTask.java | 49 ++++++++++++++ .../tasks/build/AddProposedMappingsTask.java | 65 +++---------------- .../tasks/jarmapping/MapNamedJarTask.java | 5 +- .../quilt/internal/util/PropertyUtil.java | 15 +++++ .../test/java/quilt/internal/TasksTest.java | 3 +- 8 files changed, 142 insertions(+), 68 deletions(-) create mode 100644 buildSrc/src/main/java/quilt/internal/tasks/EnigmaProfileConsumingTask.java create mode 100644 buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java diff --git a/build.gradle b/build.gradle index 32004a901b..b8937fef09 100644 --- a/build.gradle +++ b/build.gradle @@ -32,6 +32,10 @@ plugins { id "mappings-logic" } +mappings { + enigmaProfile = file("enigma_profile.json") +} + def USE_SNAPSHOT_HASHES = false def minecraft_version = Constants.MINECRAFT_VERSION @@ -115,11 +119,8 @@ clean.doFirst { tasks.build.dependsOn "compressTiny", "tinyJar", "v2UnmergedMappingsJar", "v2MergedMappingsJar" task insertAutoGeneratedMappings(dependsOn: [buildMappingsTiny, downloadPerVersionMappings], type: AddProposedMappingsTask) { - final enigmaProfile = file("enigma_profile.json") - inputJar.set mappings.fileConstants.perVersionMappingsJar inputMappings.set buildMappingsTiny.outputMappings - profile.set enigmaProfile } combineUnpickDefinitions { diff --git a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java index 5c444ac096..5d3f64f5a1 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java @@ -1,15 +1,58 @@ package quilt.internal; +import org.gradle.api.GradleException; import org.gradle.api.Project; +import org.gradle.api.file.RegularFile; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Provider; +import org.quiltmc.enigma.api.EnigmaProfile; + +import java.io.File; +import java.io.IOException; + +public abstract class MappingsExtension { + public final Provider enigmaProfile; -public class MappingsExtension { private final FileConstants fileConstants; - public MappingsExtension(Project target) { - fileConstants = new FileConstants(target); + protected abstract RegularFileProperty getEnigmaProfileFile(); + + public MappingsExtension(Project project) { + this.fileConstants = new FileConstants(project); + + // provide an informative error message if no profile is specified + this.getEnigmaProfileFile().convention(() -> { + throw new GradleException( + "No enigma profile specified. " + + "A profile must be specified to use an EnigmaProfileConsumingTask." + ); + }); + + this.enigmaProfile = this.getEnigmaProfileFile() + .map(RegularFile::getAsFile) + .map(File::toPath) + .map(profilePath -> { + try { + return EnigmaProfile.read(profilePath); + } catch (IOException e) { + throw new GradleException("Failed to read enigma profile", e); + } + }); } public FileConstants getFileConstants() { - return fileConstants; + return this.fileConstants; + } + + public void setEnigmaProfile(File file) { + this.getEnigmaProfileFile().set(file); + } + + public void setEnigmaProfile(RegularFile file) { + this.getEnigmaProfileFile().set(file); + } + + public void setEnigmaProfile(Provider fileProvider) { + this.getEnigmaProfileFile().set(fileProvider); } } diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index 8c80426083..5f897ab135 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -3,6 +3,8 @@ import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.tasks.TaskContainer; +import quilt.internal.tasks.EnigmaProfileConsumingTask; +import quilt.internal.tasks.build.AddProposedMappingsTask; import quilt.internal.tasks.build.BuildMappingsTinyTask; import quilt.internal.tasks.build.CompressTinyTask; import quilt.internal.tasks.build.DropInvalidMappingsTask; @@ -36,11 +38,18 @@ import quilt.internal.tasks.unpick.gen.OpenGlConstantUnpickGenerator; public class MappingsPlugin implements Plugin { + public static final String INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME = "insertAutoGeneratedMappings"; + @Override - public void apply(Project target) { - target.getExtensions().add("mappings", new MappingsExtension(target)); + public void apply(Project project) { + final var ext = project.getExtensions().create("mappings", MappingsExtension.class, project); + + final TaskContainer tasks = project.getTasks(); + + tasks.withType(EnigmaProfileConsumingTask.class).configureEach(task -> + task.getEnigmaProfile().convention(ext.enigmaProfile) + ); - TaskContainer tasks = target.getTasks(); tasks.create(DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class); tasks.create(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class); tasks.create(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/EnigmaProfileConsumingTask.java b/buildSrc/src/main/java/quilt/internal/tasks/EnigmaProfileConsumingTask.java new file mode 100644 index 0000000000..3efee5dd8f --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/tasks/EnigmaProfileConsumingTask.java @@ -0,0 +1,49 @@ +package quilt.internal.tasks; + +import org.gradle.api.Project; +import org.gradle.api.file.FileCollection; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.InputFiles; +import org.gradle.api.tasks.Internal; +import org.quiltmc.enigma.api.EnigmaProfile; +import org.quiltmc.enigma.api.service.JarIndexerService; + +import java.util.Collection; +import java.util.stream.Stream; + +import static org.quiltmc.enigma_plugin.Arguments.SIMPLE_TYPE_FIELD_NAMES_PATH; + +public abstract class EnigmaProfileConsumingTask extends DefaultMappingsTask { + @Internal( + "An EnigmaProfile cannot be fingerprinted. " + + "Up-to-date-ness is ensured by getSimpleTypeFieldNamesFiles and its source, " + + "MappingsExtension::getEnigmaProfileFile." + ) + public abstract Property getEnigmaProfile(); + + /** + * Holds any {@code simple_type_field_names} configuration files obtained from the + * {@link #getEnigmaProfile() EnigmaProfile}. + *

+ * {@link EnigmaProfileConsumingTask}s may not access these files directly, but they affect enigma's behavior, + * so they must be considered for up-to-date checks. + */ + @InputFiles + protected abstract Property getSimpleTypeFieldNamesFiles(); + + public EnigmaProfileConsumingTask(String group) { + super(group); + + final Project project = this.getProject(); + + this.getSimpleTypeFieldNamesFiles().set( + project.provider(() -> project.files( + this.getEnigmaProfile().get().getServiceProfiles(JarIndexerService.TYPE).stream() + .flatMap(service -> service.getArgument(SIMPLE_TYPE_FIELD_NAMES_PATH).stream()) + .map(stringOrStrings -> stringOrStrings.mapBoth(Stream::of, Collection::stream)) + .flatMap(bothStringStreams -> bothStringStreams.left().orElseGet(bothStringStreams::rightOrThrow)) + .toList() + ) + )); + } +} diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java index 20cb3e9521..bb0954152e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java @@ -2,30 +2,20 @@ import java.io.BufferedWriter; import java.io.File; -import java.io.IOException; import java.io.PrintWriter; import java.io.Reader; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.Objects; -import java.util.stream.Stream; -import org.gradle.api.GradleException; -import org.gradle.api.file.FileCollection; -import org.gradle.api.file.RegularFile; import org.gradle.api.file.RegularFileProperty; -import org.gradle.api.tasks.InputFiles; -import org.gradle.api.tasks.Optional; -import org.jetbrains.annotations.NotNull; import org.quiltmc.enigma.api.Enigma; import org.quiltmc.enigma.api.EnigmaProfile; import org.quiltmc.enigma.api.EnigmaProject; -import org.quiltmc.enigma.api.service.JarIndexerService; import org.quiltmc.enigma.command.Command; import org.quiltmc.enigma.command.FillClassMappingsCommand; import org.quiltmc.enigma.command.CommandsUtil; @@ -41,21 +31,16 @@ import net.fabricmc.mappingio.format.MappingFormat; import net.fabricmc.mappingio.format.tiny.Tiny2FileReader; import net.fabricmc.mappingio.tree.MemoryMappingTree; -import org.gradle.api.provider.Property; + import org.gradle.api.tasks.InputFile; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import org.jetbrains.annotations.VisibleForTesting; import quilt.internal.Constants; -import quilt.internal.tasks.DefaultMappingsTask; - -import static org.quiltmc.enigma_plugin.Arguments.SIMPLE_TYPE_FIELD_NAMES_PATH; - -public abstract class AddProposedMappingsTask extends DefaultMappingsTask { - private static Path getPath(RegularFileProperty fileProperty) { - return fileProperty.map(RegularFile::getAsFile).map(File::toPath).get(); - } +import quilt.internal.tasks.EnigmaProfileConsumingTask; +import quilt.internal.util.PropertyUtil; +public abstract class AddProposedMappingsTask extends EnigmaProfileConsumingTask { @OutputFile public File outputMappings; @@ -65,53 +50,24 @@ private static Path getPath(RegularFileProperty fileProperty) { @InputFile public abstract RegularFileProperty getInputMappings(); - @InputFile - public abstract RegularFileProperty getProfile(); - - @Optional - @InputFiles - protected abstract Property getSimpleTypeFieldNames(); - public AddProposedMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); this.outputMappings = new File(fileConstants.buildDir, getName() + ".tiny"); - - this.getSimpleTypeFieldNames().set( - this.getProfile() - .map(RegularFile::getAsFile) - .map(File::toPath) - .map(profilePath -> { - try { - return this.getProject().files( - EnigmaProfile.read(profilePath).getServiceProfiles(JarIndexerService.TYPE).stream() - .flatMap(service -> service.getArgument(SIMPLE_TYPE_FIELD_NAMES_PATH).stream()) - .map(stringOrStrings -> stringOrStrings.mapBoth(Stream::of, Collection::stream)) - .flatMap(bothStringStreams -> - bothStringStreams.left().orElseGet(bothStringStreams::rightOrThrow) - ) - .toList() - ); - } catch (IOException e) { - throw new GradleException("Failed to read enigma profile", e); - } - }) - ); } @TaskAction public void addProposedMappings() throws Exception { getLogger().lifecycle(":seeking auto-mappable entries"); - Path input = getPath(this.getInputMappings()); + Path input = PropertyUtil.getPath(this.getInputMappings()); Path output = outputMappings.toPath(); - Path jar = getPath(this.getInputJar()); - Path profilePath = getPath(this.getProfile()); + Path jar = PropertyUtil.getPath(this.getInputJar()); - addProposedMappings(input, output, fileConstants.tempDir.toPath(), jar, profilePath); + addProposedMappings(input, output, fileConstants.tempDir.toPath(), jar, this.getEnigmaProfile().get()); } @VisibleForTesting - public static void addProposedMappings(Path input, Path output, Path tempDir, Path jar, Path profilePath) throws Exception { + public static void addProposedMappings(Path input, Path output, Path tempDir, Path jar, EnigmaProfile profile) throws Exception { String name = output.getFileName().toString(); Path preprocessedMappings = tempDir.resolve(name.replace(".tiny", "-preprocessed.tiny")); Path processedMappings = tempDir.resolve(name.replace(".tiny", "-processed.tiny")); @@ -136,7 +92,7 @@ public static void addProposedMappings(Path input, Path output, Path tempDir, Pa runCommands(jar, commandInput, commandOutput, - profilePath, + profile, namespaces.get(0), "named" ); @@ -149,8 +105,7 @@ public static void addProposedMappings(Path input, Path output, Path tempDir, Pa } } - private static void runCommands(Path jar, Path input, Path output, Path profilePath, String fromNamespace, String toNamespace) throws Exception { - EnigmaProfile profile = EnigmaProfile.read(profilePath); + private static void runCommands(Path jar, Path input, Path output, EnigmaProfile profile, String fromNamespace, String toNamespace) throws Exception { Enigma enigma = Command.createEnigma(profile, null); EnigmaProject project = Command.openProject(jar, input, enigma); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java index c425eb22d5..5cea5afe97 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java @@ -3,6 +3,7 @@ import java.util.Map; import quilt.internal.Constants; +import quilt.internal.MappingsPlugin; import quilt.internal.tasks.build.AddProposedMappingsTask; import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; @@ -15,10 +16,10 @@ public MapNamedJarTask() { getInputs().files(getTaskByName(DownloadMinecraftLibrariesTask.TASK_NAME).getOutputs().getFiles().getFiles()); inputJar.convention(() -> fileConstants.unpickedJar); - mappingsFile.convention(() -> this.getTaskByName("insertAutoGeneratedMappings").getOutputMappings()); + mappingsFile.convention(() -> this.getTaskByName(MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME).getOutputMappings()); outputJar.convention(() -> fileConstants.namedJar); - this.dependsOn("insertAutoGeneratedMappings", "unpickHashedJar"); + this.dependsOn(MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, "unpickHashedJar"); } public Map getAdditionalMappings() { diff --git a/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java b/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java new file mode 100644 index 0000000000..30fb6afc6e --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java @@ -0,0 +1,15 @@ +package quilt.internal.util; + +import org.gradle.api.file.RegularFile; +import org.gradle.api.file.RegularFileProperty; + +import java.io.File; +import java.nio.file.Path; + +public final class PropertyUtil { + private PropertyUtil() { } + + public static Path getPath(RegularFileProperty fileProperty) { + return fileProperty.map(RegularFile::getAsFile).map(File::toPath).get(); + } +} diff --git a/buildSrc/src/test/java/quilt/internal/TasksTest.java b/buildSrc/src/test/java/quilt/internal/TasksTest.java index b407cbafd5..71b3153be9 100644 --- a/buildSrc/src/test/java/quilt/internal/TasksTest.java +++ b/buildSrc/src/test/java/quilt/internal/TasksTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.condition.EnabledIf; import org.junit.jupiter.api.io.CleanupMode; import org.junit.jupiter.api.io.TempDir; +import org.quiltmc.enigma.api.EnigmaProfile; import quilt.internal.tasks.build.AddProposedMappingsTask; import quilt.internal.tasks.build.BuildMappingsTinyTask; import quilt.internal.tasks.build.InvertPerVersionMappingsTask; @@ -167,7 +168,7 @@ public void testMergeTiny() throws Exception { public void testInsertAutoGeneratedMappings() throws Exception { Path output = outputsDir.resolve("insertAutoGeneratedMappings.tiny"); insertAutoGeneratedMappingsOutput = output; - AddProposedMappingsTask.addProposedMappings(buildMappingsTinyOutput, output, outputsDir, perVersionMappingsJar, profilePath); + AddProposedMappingsTask.addProposedMappings(buildMappingsTinyOutput, output, outputsDir, perVersionMappingsJar, EnigmaProfile.read(profilePath)); MappingTree tree = TestUtil.readTinyV2(output); MappingTree inputTree = TestUtil.readTinyV2(buildMappingsTinyOutput); From 0b2b23f3d2d605e732a63f1690ebf618762a43c4 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 28 Sep 2024 03:05:58 -0700 Subject: [PATCH 18/24] replace MappingTask::getTaskByType with MappingsTask::getTaskNamed; tasks should not be retreived by type alone, adding a new task with the same type would break things (most calls to MappingsTask::getTaskNamed will probably be eliminated when configuration is moved to MappingsPlugin) the thisening the abstractening the finalening the line wrappening --- build.gradle | 8 +- .../java/quilt/internal/MappingsPlugin.java | 18 +- .../internal/tasks/DefaultMappingsTask.java | 2 +- .../quilt/internal/tasks/MappingsTask.java | 33 +- .../tasks/build/AbstractHashedMergeTask.java | 7 +- .../tasks/build/AbstractTinyMergeTask.java | 46 ++- .../tasks/build/AddProposedMappingsTask.java | 84 +++-- .../tasks/build/BuildMappingsTinyTask.java | 35 +-- .../tasks/build/CompressTinyTask.java | 36 +-- .../tasks/build/DropInvalidMappingsTask.java | 14 +- .../GeneratePackageInfoMappingsTask.java | 62 ++-- .../build/InvertPerVersionMappingsTask.java | 31 +- .../tasks/build/MappingsV2JarTask.java | 40 +-- .../tasks/build/MergeIntermediaryTask.java | 35 ++- .../internal/tasks/build/MergeTinyTask.java | 12 +- .../internal/tasks/build/MergeTinyV2Task.java | 15 +- .../tasks/build/RemoveIntermediaryTask.java | 42 ++- .../internal/tasks/build/TinyJarTask.java | 23 +- .../tasks/build/TransformJarClassesTask.java | 60 ++-- .../tasks/decompile/DecompileTask.java | 91 +++--- .../diff/CheckTargetVersionExistsTask.java | 28 +- .../diff/CheckUnpickVersionsMatchTask.java | 27 +- .../diff/DownloadTargetMappingJarTask.java | 107 ++++--- .../diff/RemapTargetMinecraftJarTask.java | 25 +- .../internal/tasks/jarmapping/MapJarTask.java | 35 +-- .../tasks/jarmapping/MapNamedJarTask.java | 20 +- .../MapPerVersionMappingsJarTask.java | 19 +- .../lint/DownloadDictionaryFileTask.java | 29 +- .../internal/tasks/lint/MappingLintTask.java | 92 +++--- .../tasks/mappings/EnigmaMappingsTask.java | 25 +- .../setup/AbstractDownloadMappingsTask.java | 40 +-- .../setup/CheckIntermediaryMappingsTask.java | 6 +- .../DownloadIntermediaryMappingsTask.java | 8 +- .../setup/DownloadMinecraftJarsTask.java | 75 +++-- .../setup/DownloadMinecraftLibrariesTask.java | 45 ++- .../setup/DownloadPerVersionMappingsTask.java | 2 +- .../setup/DownloadVersionsManifestTask.java | 20 +- .../DownloadWantedVersionManifestTask.java | 50 +-- .../tasks/setup/ExtractServerJarTask.java | 33 +- .../internal/tasks/setup/MergeJarsTask.java | 56 ++-- .../unpick/CombineUnpickDefinitionsTask.java | 40 +-- .../unpick/RemapUnpickDefinitionsTask.java | 74 ++--- .../internal/tasks/unpick/UnpickJarTask.java | 56 ++-- .../gen/OpenGlConstantUnpickGenerator.java | 290 +++++++++++------- .../quilt/internal/util/PropertyUtil.java | 4 +- 45 files changed, 1000 insertions(+), 900 deletions(-) diff --git a/build.gradle b/build.gradle index b8937fef09..81b5b549a4 100644 --- a/build.gradle +++ b/build.gradle @@ -118,10 +118,10 @@ clean.doFirst { tasks.build.dependsOn "compressTiny", "tinyJar", "v2UnmergedMappingsJar", "v2MergedMappingsJar" -task insertAutoGeneratedMappings(dependsOn: [buildMappingsTiny, downloadPerVersionMappings], type: AddProposedMappingsTask) { - inputJar.set mappings.fileConstants.perVersionMappingsJar - inputMappings.set buildMappingsTiny.outputMappings -} +// task insertAutoGeneratedMappings(dependsOn: [buildMappingsTiny, downloadPerVersionMappings], type: AddProposedMappingsTask) { +// inputJar.set mappings.fileConstants.perVersionMappingsJar +// inputMappings.set buildMappingsTiny.outputMappings +// } combineUnpickDefinitions { input = mappings.fileConstants.unpickDefinitions diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index 5f897ab135..c34ebb3fac 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -57,9 +57,17 @@ public void apply(Project project) { tasks.create(MergeJarsTask.TASK_NAME, MergeJarsTask.class); tasks.create(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class); - tasks.create(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); + final var downloadPerVersionMappings = + tasks.create(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); tasks.create(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); - tasks.create(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); + final var buildMappingsTiny = tasks.create(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); + tasks.create(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, task -> { + task.dependsOn(downloadPerVersionMappings); + + task.getInputJar().set(ext.getFileConstants().perVersionMappingsJar); + task.getInputMappings().set(buildMappingsTiny.getOutputMappings()); + }); + tasks.create(MergeTinyTask.TASK_NAME, MergeTinyTask.class); tasks.create(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class); tasks.create(TinyJarTask.TASK_NAME, TinyJarTask.class); @@ -75,10 +83,10 @@ public void apply(Project project) { tasks.create(GeneratePackageInfoMappingsTask.TASK_NAME, GeneratePackageInfoMappingsTask.class); tasks.create(DownloadDictionaryFileTask.TASK_NAME, DownloadDictionaryFileTask.class); - final var mappingLintTask = tasks.create(MappingLintTask.TASK_NAME, MappingLintTask.class); + final var mappingLint = tasks.create(MappingLintTask.TASK_NAME, MappingLintTask.class); tasks.create(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, task -> { - task.getMappingDirectory().set(mappingLintTask.getMappingDirectory()); - mappingLintTask.dependsOn(task); + task.getMappingDirectory().set(mappingLint.getMappingDirectory()); + mappingLint.dependsOn(task); }); tasks.create(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java index 41580ead60..4d78093d10 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java @@ -7,7 +7,7 @@ public abstract class DefaultMappingsTask extends DefaultTask implements Mapping protected final FileConstants fileConstants; public DefaultMappingsTask(String group) { - this.fileConstants = mappingsExt().getFileConstants(); + this.fileConstants = this.mappingsExt().getFileConstants(); this.setGroup(group); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java index c56cd94a97..359457b8c7 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java @@ -3,37 +3,54 @@ import org.gradle.api.Task; import org.gradle.api.artifacts.VersionCatalog; import org.gradle.api.artifacts.VersionCatalogsExtension; +import org.gradle.api.file.Directory; +import org.gradle.api.file.RegularFile; +import org.gradle.api.provider.Provider; import quilt.internal.MappingsExtension; import quilt.internal.MappingsPlugin; import quilt.internal.util.DownloadImmediate; +// TODO check if tasks that depend on other other tasks' outputs have task dependencies that can be eliminated public interface MappingsTask extends Task { default DownloadImmediate.Builder startDownload() { return new DownloadImmediate.Builder(this); } - @SuppressWarnings("unchecked") - default T getTaskByName(String taskName) { - return (T) getProject().getTasks().getByName(taskName); + default Task getTaskNamed(String taskName) { + return this.getProject().getTasks().getByName(taskName); } - default T getTaskByType(Class taskClass) { - return getProject().getTasks().stream().filter(task -> taskClass.isAssignableFrom(task.getClass())).map(taskClass::cast).findAny().orElseThrow(); + default T getTaskNamed(String name, Class taskClass) { + return this.getProject().getTasks().named(name, taskClass).get(); } + default RegularFile createRegularProjectFile(String path) { + return this.getProjectDirectory().file(path); + } + + default Provider createRegularProjectFile(Provider path) { + return this.getProjectDirectory().file(path); + } + + private Directory getProjectDirectory() { + return this.getProject().getLayout().getProjectDirectory(); + } + + // TODO: replace usage of this with @DisableCachingByDefault or @UntrackedTask on task classes that use it, + // with explanations default void outputsNeverUpToDate() { this.getOutputs().upToDateWhen(task -> false); } default MappingsExtension mappingsExt() { - return MappingsPlugin.getExtension(getProject()); + return MappingsPlugin.getExtension(this.getProject()); } default VersionCatalogsExtension versionCatalogs() { - return getProject().getExtensions().getByType(VersionCatalogsExtension.class); + return this.getProject().getExtensions().getByType(VersionCatalogsExtension.class); } default VersionCatalog libs() { - return versionCatalogs().named("libs"); + return this.versionCatalogs().named("libs"); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java index d51520fbd5..897b59f87f 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java @@ -11,7 +11,10 @@ public AbstractHashedMergeTask(String outputMappings) { @Override public void mergeMappings() throws Exception { - File hashedTinyInput = this.getTaskByType(InvertPerVersionMappingsTask.class).getInvertedTinyFile(); - mergeMappings(hashedTinyInput); + final File hashedTinyInput = + this.getTaskNamed(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class) + .getInvertedTinyFile().get().getAsFile(); + + this.mergeMappings(hashedTinyInput); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java index 9f28b474ea..29a9032a43 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java @@ -4,16 +4,12 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Collections; -import java.util.Map; import java.util.function.Function; import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.InputFile; -import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.VisibleForTesting; import quilt.internal.Constants; import quilt.internal.mappingio.CompleteInitializersVisitor; @@ -21,7 +17,6 @@ import net.fabricmc.mappingio.MappingReader; import net.fabricmc.mappingio.MappingVisitor; -import net.fabricmc.mappingio.adapter.MappingNsCompleter; import net.fabricmc.mappingio.adapter.MappingSourceNsSwitch; import net.fabricmc.mappingio.format.MappingFormat; import net.fabricmc.mappingio.format.tiny.Tiny2FileWriter; @@ -29,10 +24,10 @@ public abstract class AbstractTinyMergeTask extends DefaultMappingsTask { @InputFile - protected final RegularFileProperty input; + protected abstract RegularFileProperty getInput(); @OutputFile - public File outputMappings; + public abstract RegularFileProperty getOutputMappings(); protected final String mergeName; protected final String fillName; @@ -43,10 +38,10 @@ public AbstractTinyMergeTask(String outputMappings, String mergeName) { public AbstractTinyMergeTask(String outputMappings, String mergeName, String fillName) { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - this.outputMappings = new File(fileConstants.buildDir, outputMappings); - getOutputs().file(this.outputMappings); + this.getOutputMappings().convention(() -> new File(this.fileConstants.buildDir, outputMappings)); + this.getOutputs().file(this.getOutputMappings()); - input = getProject().getObjects().fileProperty(); + this.getInput().convention(this.getProject().getObjects().fileProperty()); this.mergeName = mergeName; this.fillName = fillName; @@ -56,24 +51,32 @@ public AbstractTinyMergeTask(String outputMappings, String mergeName, String fil public abstract void mergeMappings() throws Exception; protected void mergeMappings(File mergeTinyInput) throws Exception { - File mappingsTinyInput = input.get().getAsFile(); - - getLogger().lifecycle(":merging {} and {}", Constants.MAPPINGS_NAME, this.mergeName); - mergeMappings(mappingsTinyInput.toPath(), mergeTinyInput.toPath(), outputMappings.toPath(), - this::getFirstVisitor, this::getPreWriteVisitor); + final File mappingsTinyInput = this.getInput().get().getAsFile(); + + this.getLogger().lifecycle(":merging {} and {}", Constants.MAPPINGS_NAME, this.mergeName); + mergeMappings( + mappingsTinyInput.toPath(), mergeTinyInput.toPath(), + this.getOutputMappings().get().getAsFile().toPath(), + this::getFirstVisitor, this::getPreWriteVisitor + ); } @VisibleForTesting public static void mergeMappings(Path mappingsTinyInput, Path mergeTinyInput, Path outputMappings, Function firstVisitor, Function preWriteVisitor) throws IOException { - MemoryMappingTree tree = new MemoryMappingTree(false); // hashed is the src namespace + final MemoryMappingTree tree = new MemoryMappingTree(false); // hashed is the src namespace MappingReader.read(mergeTinyInput, MappingFormat.TINY_2_FILE, tree); MappingReader.read(mappingsTinyInput, MappingFormat.TINY_2_FILE, tree); try (Tiny2FileWriter w = new Tiny2FileWriter(Files.newBufferedWriter(outputMappings), false)) { tree.accept(firstVisitor.apply( new CompleteInitializersVisitor( - new MappingSourceNsSwitch(preWriteVisitor.apply(w), "official", /*Drop methods not in hashed*/ true) + new MappingSourceNsSwitch( + preWriteVisitor.apply(w), + "official", + // Drop methods not in hashed + true + ) ) )); } @@ -86,13 +89,4 @@ protected MappingVisitor getFirstVisitor(MappingVisitor next) { protected MappingVisitor getPreWriteVisitor(MappingVisitor writer) { return writer; } - - public RegularFileProperty getInput() { - return input; - } - - @NotNull - public File getOutputMappings() { - return outputMappings; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java index bb0954152e..6d0903fd3e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java @@ -42,7 +42,7 @@ public abstract class AddProposedMappingsTask extends EnigmaProfileConsumingTask { @OutputFile - public File outputMappings; + public abstract RegularFileProperty getOutputMappings(); @InputFile public abstract RegularFileProperty getInputJar(); @@ -52,27 +52,29 @@ public abstract class AddProposedMappingsTask extends EnigmaProfileConsumingTask public AddProposedMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - this.outputMappings = new File(fileConstants.buildDir, getName() + ".tiny"); + this.getOutputMappings().convention(() -> new File(this.fileConstants.buildDir, this.getName() + ".tiny")); } @TaskAction public void addProposedMappings() throws Exception { - getLogger().lifecycle(":seeking auto-mappable entries"); + this.getLogger().lifecycle(":seeking auto-mappable entries"); - Path input = PropertyUtil.getPath(this.getInputMappings()); - Path output = outputMappings.toPath(); - Path jar = PropertyUtil.getPath(this.getInputJar()); + final Path input = PropertyUtil.getPath(this.getInputMappings()); + final Path output = PropertyUtil.getPath(this.getOutputMappings()); + final Path jar = PropertyUtil.getPath(this.getInputJar()); - addProposedMappings(input, output, fileConstants.tempDir.toPath(), jar, this.getEnigmaProfile().get()); + addProposedMappings(input, output, this.fileConstants.tempDir.toPath(), jar, this.getEnigmaProfile().get()); } @VisibleForTesting - public static void addProposedMappings(Path input, Path output, Path tempDir, Path jar, EnigmaProfile profile) throws Exception { - String name = output.getFileName().toString(); - Path preprocessedMappings = tempDir.resolve(name.replace(".tiny", "-preprocessed.tiny")); - Path processedMappings = tempDir.resolve(name.replace(".tiny", "-processed.tiny")); - - List namespaces; + public static void addProposedMappings( + Path input, Path output, Path tempDir, Path jar, EnigmaProfile profile + ) throws Exception { + final String name = output.getFileName().toString(); + final Path preprocessedMappings = tempDir.resolve(name.replace(".tiny", "-preprocessed.tiny")); + final Path processedMappings = tempDir.resolve(name.replace(".tiny", "-processed.tiny")); + + final List namespaces; try (Reader reader = Files.newBufferedReader(input, StandardCharsets.UTF_8)) { namespaces = Tiny2FileReader.getNamespaces(reader); } @@ -85,9 +87,9 @@ public static void addProposedMappings(Path input, Path output, Path tempDir, Pa Files.createDirectories(tempDir); } - boolean extraProcessing = preprocessFile(input, preprocessedMappings); - Path commandInput = extraProcessing ? preprocessedMappings : input; - Path commandOutput = extraProcessing ? processedMappings : output; + final boolean extraProcessing = preprocessFile(input, preprocessedMappings); + final Path commandInput = extraProcessing ? preprocessedMappings : input; + final Path commandOutput = extraProcessing ? processedMappings : output; runCommands(jar, commandInput, @@ -98,7 +100,7 @@ public static void addProposedMappings(Path input, Path output, Path tempDir, Pa ); if (extraProcessing) { - MemoryMappingTree outputTree = postProcessTree(input, processedMappings); + final MemoryMappingTree outputTree = postProcessTree(input, processedMappings); try (MappingWriter writer = MappingWriter.create(output, MappingFormat.TINY_2_FILE)) { outputTree.accept(writer); } @@ -106,37 +108,37 @@ public static void addProposedMappings(Path input, Path output, Path tempDir, Pa } private static void runCommands(Path jar, Path input, Path output, EnigmaProfile profile, String fromNamespace, String toNamespace) throws Exception { - Enigma enigma = Command.createEnigma(profile, null); + final Enigma enigma = Command.createEnigma(profile, null); - EnigmaProject project = Command.openProject(jar, input, enigma); + final EnigmaProject project = Command.openProject(jar, input, enigma); - boolean debug = System.getProperty("qm.addProposedMappings.debug", "false").toLowerCase(Locale.ROOT).equals("true"); - EntryTree withProposals = project.getRemapper().getMappings(); // Proposed names are automatically added when opening a project + final boolean debug = System.getProperty("qm.addProposedMappings.debug", "false").toLowerCase(Locale.ROOT).equals("true"); + final EntryTree withProposals = project.getRemapper().getMappings(); // Proposed names are automatically added when opening a project // TODO: Disable fillAll after fixing the tiny v2 writer to avoid adding unnecessary class names - EntryTree result = FillClassMappingsCommand.exec(project.getJarIndex(), withProposals, true, debug); + final EntryTree result = FillClassMappingsCommand.exec(project.getJarIndex(), withProposals, true, debug); Utils.delete(output); - MappingSaveParameters profileParameters = enigma.getProfile().getMappingSaveParameters(); - MappingSaveParameters saveParameters = new MappingSaveParameters(profileParameters.fileNameFormat(), /*writeProposedNames*/ true, fromNamespace, toNamespace); + final MappingSaveParameters profileParameters = enigma.getProfile().getMappingSaveParameters(); + final MappingSaveParameters saveParameters = new MappingSaveParameters(profileParameters.fileNameFormat(), /*writeProposedNames*/ true, fromNamespace, toNamespace); CommandsUtil.getReadWriteService(enigma, output).write(result, output, saveParameters); if (debug) { - Path deltaFile = output.getParent().resolve(output.getFileName().toString() + "-fill-delta.txt"); - MappingDelta fillDelta = ((DeltaTrackingTree) result).takeDelta(); + final Path deltaFile = output.getParent().resolve(output.getFileName().toString() + "-fill-delta.txt"); + final MappingDelta fillDelta = ((DeltaTrackingTree) result).takeDelta(); try (BufferedWriter writer = Files.newBufferedWriter(deltaFile)) { - List content = fillDelta.getChanges().getAllEntries() + final List content = fillDelta.getChanges().getAllEntries() .map(Objects::toString) .toList(); - for (String s : content) { + for (final String s : content) { writer.write(s); writer.newLine(); } } - Path debugFile = output.getParent().resolve(output.getFileName().toString() + "-tree.txt"); + final Path debugFile = output.getParent().resolve(output.getFileName().toString() + "-tree.txt"); try (BufferedWriter writer = Files.newBufferedWriter(debugFile)) { EntryTreePrinter.print(new PrintWriter(writer), project.getRemapper().getProposedMappings()); } @@ -146,16 +148,16 @@ private static void runCommands(Path jar, Path input, Path output, EnigmaProfile // Reorder dst namespaces to ` named [others...]` // Enigma doesn't support multiple dst namespaces, and just uses the first one private static boolean preprocessFile(Path inputMappings, Path output) throws Exception { - MemoryMappingTree inputTree = new MemoryMappingTree(); + final MemoryMappingTree inputTree = new MemoryMappingTree(); try (Reader reader = Files.newBufferedReader(inputMappings, StandardCharsets.UTF_8)) { Tiny2FileReader.read(reader, inputTree); } // Reorder destination namespaces to put the named namespace first - List dstNamespaces = new ArrayList<>(inputTree.getDstNamespaces()); - if (!dstNamespaces.get(0).equals("named")) { - MemoryMappingTree outputTree = new MemoryMappingTree(); - int i = dstNamespaces.indexOf("named"); + final List dstNamespaces = new ArrayList<>(inputTree.getDstNamespaces()); + if (!dstNamespaces.getFirst().equals("named")) { + final MemoryMappingTree outputTree = new MemoryMappingTree(); + final int i = dstNamespaces.indexOf("named"); dstNamespaces.set(i, dstNamespaces.get(0)); dstNamespaces.set(0, "named"); inputTree.accept(new MappingDstNsReorder(outputTree, dstNamespaces)); @@ -172,30 +174,22 @@ private static boolean preprocessFile(Path inputMappings, Path output) throws Ex // Merge input mappings with the proposed mappings to restore the lost namespaces private static MemoryMappingTree postProcessTree(Path inputMappings, Path processedMappings) throws Exception { - MemoryMappingTree inputTree = new MemoryMappingTree(); + final MemoryMappingTree inputTree = new MemoryMappingTree(); try (Reader reader = Files.newBufferedReader(inputMappings, StandardCharsets.UTF_8)) { Tiny2FileReader.read(reader, inputTree); } - MemoryMappingTree processedTree = new MemoryMappingTree(); + final MemoryMappingTree processedTree = new MemoryMappingTree(); try (Reader reader = Files.newBufferedReader(processedMappings, StandardCharsets.UTF_8)) { Tiny2FileReader.read(reader, processedTree); } // Merge trees - MemoryMappingTree output = new MemoryMappingTree(); + final MemoryMappingTree output = new MemoryMappingTree(); inputTree.accept(output); // Merge processed tree after original to keep the original namespaces order processedTree.accept(output); return output; } - - public File getOutputMappings() { - return outputMappings; - } - - public void setOutputMappings(File outputMappings) { - this.outputMappings = outputMappings; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java index 477c85ffd5..806ec38728 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java @@ -14,35 +14,40 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; +import quilt.internal.util.PropertyUtil; -public class BuildMappingsTinyTask extends DefaultMappingsTask { +public abstract class BuildMappingsTinyTask extends DefaultMappingsTask { public static final String TASK_NAME = "buildMappingsTiny"; @InputDirectory - private final RegularFileProperty mappings; + public abstract RegularFileProperty getMappings(); @OutputFile - public File outputMappings = new File(fileConstants.buildDir, String.format("%s.tiny", Constants.MAPPINGS_NAME)); + public abstract RegularFileProperty getOutputMappings(); public BuildMappingsTinyTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - dependsOn(MapPerVersionMappingsJarTask.TASK_NAME); - mappings = getProject().getObjects().fileProperty(); - mappings.set(getProject().file("mappings")); + this.dependsOn(MapPerVersionMappingsJarTask.TASK_NAME); + this.getOutputMappings().convention(() -> + new File(this.fileConstants.buildDir, String.format("%s.tiny", Constants.MAPPINGS_NAME)) + ); + this.getMappings().set(this.getProject().file("mappings")); } @TaskAction public void execute() throws IOException, MappingParseException { - getLogger().lifecycle(":generating tiny mappings"); + this.getLogger().lifecycle(":generating tiny mappings"); buildMappingsTiny( - fileConstants.perVersionMappingsJar.toPath(), - mappings.get().getAsFile().toPath(), - outputMappings.toPath() + this.fileConstants.perVersionMappingsJar.toPath(), + this.getMappings().get().getAsFile().toPath(), + PropertyUtil.getPath(this.getOutputMappings()) ); } @VisibleForTesting - public static void buildMappingsTiny(Path perVersionMappingsJar, Path mappings, Path outputMappings) throws IOException, MappingParseException { + public static void buildMappingsTiny( + Path perVersionMappingsJar, Path mappings, Path outputMappings + ) throws IOException, MappingParseException { MapSpecializedMethodsCommand.run( perVersionMappingsJar, mappings, @@ -51,12 +56,4 @@ public static void buildMappingsTiny(Path perVersionMappingsJar, Path mappings, "named" ); } - - public File getOutputMappings() { - return outputMappings; - } - - public RegularFileProperty getMappings() { - return mappings; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/CompressTinyTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/CompressTinyTask.java index 0b4b1b831c..01b3c05e50 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/CompressTinyTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/CompressTinyTask.java @@ -13,32 +13,36 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class CompressTinyTask extends DefaultMappingsTask { +public abstract class CompressTinyTask extends DefaultMappingsTask { public static final String TASK_NAME = "compressTiny"; @OutputFile - public File compressedTiny = new File(getProject().file("build/libs/"), String.format("%s-%s-tiny.gz", Constants.MAPPINGS_NAME, Constants.MAPPINGS_VERSION)); + public abstract RegularFileProperty getCompressedTiny(); @InputFile - private final RegularFileProperty mappings; + protected abstract RegularFileProperty getMappings(); public CompressTinyTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - dependsOn(TinyJarTask.TASK_NAME, MergeTinyTask.TASK_NAME); - getOutputs().file(compressedTiny); + this.dependsOn(TinyJarTask.TASK_NAME, MergeTinyTask.TASK_NAME); - mappings = getProject().getObjects().fileProperty(); - mappings.convention(this.getTaskByType(MergeTinyTask.class)::getOutputMappings); + this.getCompressedTiny().convention(() -> new File( + this.getProject().file("build/libs/"), + "%s-%s-tiny.gz".formatted(Constants.MAPPINGS_NAME, Constants.MAPPINGS_VERSION) + )); + + this.getMappings() + .convention(this.getTaskNamed(MergeTinyTask.TASK_NAME, MergeTinyTask.class).getOutputMappings()); } @TaskAction public void compressTiny() throws IOException { - getLogger().lifecycle(":compressing tiny mappings"); + this.getLogger().lifecycle(":compressing tiny mappings"); - byte[] buffer = new byte[1024]; - FileOutputStream fileOutputStream = new FileOutputStream(compressedTiny); - GZIPOutputStream outputStream = new GZIPOutputStream(fileOutputStream); - FileInputStream fileInputStream = new FileInputStream(mappings.get().getAsFile()); + final byte[] buffer = new byte[1024]; + final FileOutputStream fileOutputStream = new FileOutputStream(this.getCompressedTiny().get().getAsFile()); + final GZIPOutputStream outputStream = new GZIPOutputStream(fileOutputStream); + final FileInputStream fileInputStream = new FileInputStream(this.getMappings().get().getAsFile()); int length; while ((length = fileInputStream.read(buffer)) > 0) { @@ -49,12 +53,4 @@ public void compressTiny() throws IOException { outputStream.finish(); outputStream.close(); } - - public File getCompressedTiny() { - return compressedTiny; - } - - public RegularFileProperty getMappings() { - return mappings; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/DropInvalidMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/DropInvalidMappingsTask.java index 5d6882bb22..2760035df2 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/DropInvalidMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/DropInvalidMappingsTask.java @@ -8,23 +8,23 @@ import java.io.File; -public class DropInvalidMappingsTask extends DefaultMappingsTask { +public abstract class DropInvalidMappingsTask extends DefaultMappingsTask { public static final String TASK_NAME = "dropInvalidMappings"; - private final File mappings = getProject().file("mappings"); + private final File mappings = this.getProject().file("mappings"); public DropInvalidMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - getInputs().dir(mappings); + this.getInputs().dir(this.mappings); this.dependsOn(MapPerVersionMappingsJarTask.TASK_NAME); } @TaskAction public void dropInvalidMappings() { - getLogger().info(":dropping invalid mappings"); + this.getLogger().info(":dropping invalid mappings"); - String[] args = new String[]{ - fileConstants.perVersionMappingsJar.getAbsolutePath(), - mappings.getAbsolutePath() + final String[] args = new String[]{ + this.fileConstants.perVersionMappingsJar.getAbsolutePath(), + this.mappings.getAbsolutePath() }; try { diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/GeneratePackageInfoMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/GeneratePackageInfoMappingsTask.java index fbd30b6e76..94f52310e2 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/GeneratePackageInfoMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/GeneratePackageInfoMappingsTask.java @@ -2,7 +2,6 @@ import org.gradle.api.provider.Property; import org.gradle.api.tasks.Input; -import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.TaskAction; import org.objectweb.asm.ClassReader; import org.objectweb.asm.Opcodes; @@ -10,7 +9,6 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; -import quilt.internal.tasks.setup.DownloadPerVersionMappingsTask; import java.io.File; import java.io.IOException; @@ -21,15 +19,17 @@ import java.util.Collections; import java.util.List; import java.util.Locale; -import java.util.stream.Collectors; +import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -public class GeneratePackageInfoMappingsTask extends DefaultMappingsTask { +public abstract class GeneratePackageInfoMappingsTask extends DefaultMappingsTask { public static final String TASK_NAME = "generatePackageInfoMappings"; - private final Property packageName = getProject().getObjects().property(String.class); - private final File mappings = getProject().file("mappings"); - private final File inputJar = fileConstants.perVersionMappingsJar; + + // TODO this should not be separate from outputDir + private final File mappings = this.getProject().file("mappings"); + // TODO this should be an input + private final File inputJar = this.fileConstants.perVersionMappingsJar; public GeneratePackageInfoMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); @@ -37,33 +37,36 @@ public GeneratePackageInfoMappingsTask() { } @Input - public Property getPackageName() { - return packageName; - } + public abstract Property getPackageName(); + // TODO this should be an output mapped from mappings private Path getOutputDir() { - return mappings.toPath().resolve(packageName.get()); + return this.mappings.toPath().resolve(this.getPackageName().get()); } @TaskAction public void generate() throws IOException { - getProject().getLogger().lifecycle("Scanning {} for package-info classes", inputJar); + // TODO eliminate project access in task action + this.getProject().getLogger().lifecycle("Scanning {} for package-info classes", this.inputJar); + + if (Files.exists(this.getOutputDir())) { + try (Stream filePaths = Files.walk(this.getOutputDir()).filter(Files::isRegularFile)) { + final List contents = filePaths.toList(); + for (int i = contents.size() - 1; i >= 0; i--) { + Files.delete(contents.get(i)); + } - if (Files.exists(getOutputDir())) { - List contents = Files.walk(getOutputDir()).filter(Files::isRegularFile).collect(Collectors.toList()); - for (int i = contents.size() - 1; i >= 0; i--) { - Files.delete(contents.get(i)); + Files.delete(this.getOutputDir()); } - Files.delete(getOutputDir()); } - try (ZipFile zipFile = new ZipFile(inputJar)) { - List entries = Collections.list(zipFile.entries()); + try (ZipFile zipFile = new ZipFile(this.inputJar)) { + final List entries = Collections.list(zipFile.entries()); - for (ZipEntry entry : entries) { + for (final ZipEntry entry : entries) { if (entry.getName().endsWith(".class")) { try (InputStream stream = zipFile.getInputStream(entry)) { - processEntry(entry.getName(), stream); + this.processEntry(entry.getName(), stream); } } } @@ -78,8 +81,8 @@ private void processEntry(String name, InputStream inputStream) throws IOExcepti return; } - ClassReader classReader = new ClassReader(inputStream); - ClassNode classNode = new ClassNode(); + final ClassReader classReader = new ClassReader(inputStream); + final ClassNode classNode = new ClassNode(); classReader.accept(classNode, 0); if (classNode.access != (Opcodes.ACC_ABSTRACT | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_INTERFACE)) { @@ -87,12 +90,12 @@ private void processEntry(String name, InputStream inputStream) throws IOExcepti return; } - if (classNode.methods.size() > 0 || classNode.fields.size() > 0 || classNode.interfaces.size() > 0) { + if (!classNode.methods.isEmpty() || !classNode.fields.isEmpty() || !classNode.interfaces.isEmpty()) { // Nope cannot be a package-info return; } - generateMapping(name); + this.generateMapping(name); } private void generateMapping(String name) throws IOException { @@ -102,9 +105,9 @@ private void generateMapping(String name) throws IOException { packageInfoId = packageInfoId.substring(0, 1).toUpperCase(Locale.ROOT) + packageInfoId.substring(1); } - String className = "PackageInfo" + packageInfoId; - String fullName = packageName.get() + className; - Path mappingsFile = getOutputDir().resolve(className + ".mapping"); + final String className = "PackageInfo" + packageInfoId; + final String fullName = this.getPackageName().get() + className; + final Path mappingsFile = this.getOutputDir().resolve(className + ".mapping"); if (!Files.exists(mappingsFile.getParent())) { Files.createDirectories(mappingsFile.getParent()); @@ -112,7 +115,8 @@ private void generateMapping(String name) throws IOException { try (PrintWriter writer = new PrintWriter(Files.newBufferedWriter(mappingsFile))) { writer.printf("CLASS %s %s", name, fullName); - writer.print('\n'); // println is platform-dependent and may produce CRLF. + // println is platform-dependent and may produce CRLF. + writer.print('\n'); } } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java index a4abc7687c..326fbc6efd 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java @@ -13,33 +13,40 @@ import net.fabricmc.stitch.commands.tinyv2.CommandReorderTinyV2; -public class InvertPerVersionMappingsTask extends DefaultMappingsTask { +public abstract class InvertPerVersionMappingsTask extends DefaultMappingsTask { public static final String TASK_NAME = "invertPerVersionMappings"; @InputFile - private final RegularFileProperty input; + protected abstract RegularFileProperty getInput(); @OutputFile - public File invertedTinyFile = new File(fileConstants.cacheFilesMinecraft, String.format("%s-%s-inverted.tiny", Constants.MINECRAFT_VERSION, Constants.PER_VERSION_MAPPINGS_NAME)); + public abstract RegularFileProperty getInvertedTinyFile(); public InvertPerVersionMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); this.dependsOn(DownloadPerVersionMappingsTask.TASK_NAME); - input = getProject().getObjects().fileProperty(); - input.convention(getTaskByType(DownloadPerVersionMappingsTask.class)::getTinyFile); + this.getInvertedTinyFile().convention(() -> new File( + this.fileConstants.cacheFilesMinecraft, + "%s-%s-inverted.tiny".formatted(Constants.MINECRAFT_VERSION, Constants.PER_VERSION_MAPPINGS_NAME) + )); + + this.getInput().convention( + this.getTaskNamed(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class) + .getTinyFile() + ); } @TaskAction public void invertPerVersionMappings() throws Exception { - getLogger().lifecycle(":building inverted {}", Constants.PER_VERSION_MAPPINGS_NAME); + this.getLogger().lifecycle(":building inverted {}", Constants.PER_VERSION_MAPPINGS_NAME); - invertMappings(input.get().getAsFile(), invertedTinyFile); + invertMappings(this.getInput().get().getAsFile(), this.getInvertedTinyFile().get().getAsFile()); } @VisibleForTesting public static void invertMappings(File input, File output) throws Exception { - String[] args = { + final String[] args = { input.getAbsolutePath(), output.getAbsolutePath(), Constants.PER_VERSION_MAPPINGS_NAME, "official" @@ -47,12 +54,4 @@ public static void invertMappings(File input, File output) throws Exception { new CommandReorderTinyV2().run(args); } - - public File getInvertedTinyFile() { - return invertedTinyFile; - } - - public RegularFileProperty getInput() { - return input; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MappingsV2JarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MappingsV2JarTask.java index 872e3a29bd..95f57acb30 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MappingsV2JarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MappingsV2JarTask.java @@ -11,35 +11,35 @@ import quilt.internal.tasks.MappingsTask; import quilt.internal.tasks.unpick.CombineUnpickDefinitionsTask; -public class MappingsV2JarTask extends Jar implements MappingsTask { +public abstract class MappingsV2JarTask extends Jar implements MappingsTask { @InputFile - private final RegularFileProperty mappings; + public abstract RegularFileProperty getMappings(); public MappingsV2JarTask() { this.setGroup(Constants.Groups.BUILD_MAPPINGS_GROUP); this.outputsNeverUpToDate(); - getDestinationDirectory().set(getProject().file("build/libs")); + this.getDestinationDirectory().set(this.getProject().file("build/libs")); - File unpickMetaFile = mappingsExt().getFileConstants().unpickMeta; - String version = libs().findVersion("unpick").map(VersionConstraint::getRequiredVersion).orElseThrow(() -> new RuntimeException("Could not find unpick version")); - from(unpickMetaFile, copySpec -> { + final File unpickMetaFile = this.mappingsExt().getFileConstants().unpickMeta; + final String version = this.libs().findVersion("unpick").map(VersionConstraint::getRequiredVersion) + .orElseThrow(() -> new RuntimeException("Could not find unpick version")); + + this.from(unpickMetaFile, copySpec -> { copySpec.expand(Map.of("version", version)); copySpec.rename(unpickMetaFile.getName(), "extras/unpick.json"); }); - RegularFileProperty combineUnpickDefinitions = getTaskByType(CombineUnpickDefinitionsTask.class).getOutput(); - from(combineUnpickDefinitions, copySpec -> { - copySpec.rename(combineUnpickDefinitions.get().getAsFile().getName(), "extras/definitions.unpick"); - }); - - mappings = getObjectFactory().fileProperty(); - - from(mappings, copySpec -> { - copySpec.rename((originalName) -> "mappings/mappings.tiny"); - }); - } - - public RegularFileProperty getMappings() { - return mappings; + final RegularFileProperty combineUnpickDefinitions = + this.getTaskNamed(CombineUnpickDefinitionsTask.TASK_NAME, CombineUnpickDefinitionsTask.class).getOutput(); + this.from(combineUnpickDefinitions, copySpec -> + copySpec.rename( + combineUnpickDefinitions.get().getAsFile().getName(), + "extras/definitions.unpick" + ) + ); + + this.from(this.getMappings(), copySpec -> + copySpec.rename((originalName) -> "mappings/mappings.tiny") + ); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java index 097b49084f..854233e5d3 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java @@ -14,21 +14,35 @@ import java.nio.file.Path; import java.util.List; -public class MergeIntermediaryTask extends AbstractTinyMergeTask { +public abstract class MergeIntermediaryTask extends AbstractTinyMergeTask { public static final String TASK_NAME = "mergeIntermediary"; public MergeIntermediaryTask() { - super("mappings-intermediaryMerged.tiny", "intermediary", Constants.PER_VERSION_MAPPINGS_NAME); - dependsOn(CheckIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.TASK_NAME, MergeTinyV2Task.TASK_NAME); - onlyIf(task -> getTaskByType(CheckIntermediaryMappingsTask.class).isPresent()); + super( + "mappings-intermediaryMerged.tiny", + "intermediary", + Constants.PER_VERSION_MAPPINGS_NAME + ); + this.dependsOn( + CheckIntermediaryMappingsTask.TASK_NAME, + DownloadIntermediaryMappingsTask.TASK_NAME, + MergeTinyV2Task.TASK_NAME + ); + this.onlyIf(task -> + this.getTaskNamed(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class).isPresent() + ); - input.convention(getTaskByType(DownloadIntermediaryMappingsTask.class)::getTinyFile); + this.getInput().convention( + this.getTaskNamed(DownloadIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.class) + .getTinyFile() + ); } @Override public void mergeMappings() throws Exception { - File tinyInput = this.getTaskByType(MergeTinyV2Task.class).getOutputMappings(); - mergeMappings(tinyInput); + final File tinyInput = this.getTaskNamed(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class) + .getOutputMappings().get().getAsFile(); + this.mergeMappings(tinyInput); } @Override @@ -39,7 +53,8 @@ protected MappingVisitor getFirstVisitor(MappingVisitor next) { private static MappingVisitor firstVisitor(MappingVisitor next) { // Copy unobfuscated names to the named namespace, since intermediary would override them return new DoubleNsCompleterVisitor( - // Fix bug when intermediary doesn't have a mapping but hashed does (i.e. `net/minecraft/client/main/Main$2`) + // Fix bug when intermediary doesn't have a mapping but hashed does + // (i.e. `net/minecraft/client/main/Main$2`) new DoubleNsCompleterVisitor( new UnmappedNameRemoverVisitor(next, "named", Constants.PER_VERSION_MAPPINGS_NAME), // Copy names from `official` to `named` if `intermediary` is empty @@ -64,7 +79,9 @@ private static MappingVisitor preWriteVisitor(MappingVisitor writer) { } @VisibleForTesting - public static void mergeMappings(Path intermediaryMappings, Path mergeTinyV2Output, Path outputMappings) throws IOException { + public static void mergeMappings( + Path intermediaryMappings, Path mergeTinyV2Output, Path outputMappings + ) throws IOException { AbstractTinyMergeTask.mergeMappings(intermediaryMappings, mergeTinyV2Output, outputMappings, MergeIntermediaryTask::firstVisitor, MergeIntermediaryTask::preWriteVisitor diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java index 932ea3893c..e271e6deef 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java @@ -6,18 +6,22 @@ import java.nio.file.Path; import java.util.function.Function; -public class MergeTinyTask extends AbstractHashedMergeTask { +public abstract class MergeTinyTask extends AbstractHashedMergeTask { public static final String TASK_NAME = "mergeTiny"; public MergeTinyTask() { super("mappings.tiny"); - dependsOn(InvertPerVersionMappingsTask.TASK_NAME, BuildMappingsTinyTask.TASK_NAME); + this.dependsOn(InvertPerVersionMappingsTask.TASK_NAME, BuildMappingsTinyTask.TASK_NAME); - input.convention(getTaskByType(BuildMappingsTinyTask.class)::getOutputMappings); + this.getInput().convention( + this.getTaskNamed(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class).getOutputMappings() + ); } @VisibleForTesting - public static void mergeMappings(Path buildMappingsTiny, Path invertedPerVersionsMappings, Path outputMappings) throws IOException { + public static void mergeMappings( + Path buildMappingsTiny, Path invertedPerVersionsMappings, Path outputMappings + ) throws IOException { AbstractTinyMergeTask.mergeMappings(buildMappingsTiny, invertedPerVersionsMappings, outputMappings, Function.identity(), Function.identity()); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java index 7702b6387a..8437b534b0 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java @@ -6,18 +6,25 @@ import java.nio.file.Path; import java.util.function.Function; -public class MergeTinyV2Task extends AbstractHashedMergeTask { +import static quilt.internal.MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME; + +public abstract class MergeTinyV2Task extends AbstractHashedMergeTask { public static final String TASK_NAME = "mergeTinyV2"; public MergeTinyV2Task() { super("merged2.tiny"); - dependsOn(InvertPerVersionMappingsTask.TASK_NAME, "v2UnmergedMappingsJar"); + this.dependsOn(InvertPerVersionMappingsTask.TASK_NAME, "v2UnmergedMappingsJar"); - input.convention(() -> this.getTaskByName("insertAutoGeneratedMappings").getOutputMappings()); + this.getInput().convention( + this.getTaskNamed(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class) + .getOutputMappings() + ); } @VisibleForTesting - public static void mergeMappings(Path insertAutoGeneratedMappingsOutput, Path invertedPerVersionsMappings, Path outputMappings) throws IOException { + public static void mergeMappings( + Path insertAutoGeneratedMappingsOutput, Path invertedPerVersionsMappings, Path outputMappings + ) throws IOException { AbstractTinyMergeTask.mergeMappings(insertAutoGeneratedMappingsOutput, invertedPerVersionsMappings, outputMappings, Function.identity(), Function.identity()); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java index 458e77eeba..95eb4489d1 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java @@ -14,6 +14,7 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; +import quilt.internal.util.PropertyUtil; import java.io.File; import java.io.IOException; @@ -21,55 +22,52 @@ import java.nio.file.Path; import java.util.Collections; -public class RemoveIntermediaryTask extends DefaultMappingsTask { +public abstract class RemoveIntermediaryTask extends DefaultMappingsTask { public static final String TASK_NAME = "removeIntermediary"; @InputFile - private final RegularFileProperty input; + public abstract RegularFileProperty getInput(); @OutputFile - public File outputMappings; + public abstract RegularFileProperty getOutputMappings(); public RemoveIntermediaryTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - dependsOn(CheckIntermediaryMappingsTask.TASK_NAME, MergeIntermediaryTask.TASK_NAME); - onlyIf(task -> getTaskByType(CheckIntermediaryMappingsTask.class).isPresent()); + this.dependsOn(CheckIntermediaryMappingsTask.TASK_NAME, MergeIntermediaryTask.TASK_NAME); + this.onlyIf(task -> + this.getTaskNamed(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class).isPresent() + ); - this.outputMappings = new File(fileConstants.buildDir, "mappings-intermediary.tiny"); - getOutputs().file(this.outputMappings); + this.getOutputMappings().convention(() -> + new File(this.fileConstants.buildDir, "mappings-intermediary.tiny") + ); - input = getProject().getObjects().fileProperty(); - input.convention(getTaskByType(MergeIntermediaryTask.class)::getOutputMappings); + this.getInput().convention( + this.getTaskNamed(MergeIntermediaryTask.TASK_NAME, MergeIntermediaryTask.class).getOutputMappings() + ); } @TaskAction public void removeIntermediary() throws Exception { - Path mappingsTinyInput = input.get().getAsFile().toPath(); - Path output = outputMappings.toPath(); + final Path mappingsTinyInput = PropertyUtil.getPath(this.getInput()); + final Path output = PropertyUtil.getPath(this.getOutputMappings()); - getLogger().lifecycle(":removing intermediary"); + this.getLogger().lifecycle(":removing intermediary"); removeIntermediary(mappingsTinyInput, output); } @VisibleForTesting public static void removeIntermediary(Path mappingsTinyInput, Path output) throws IOException { - MemoryMappingTree tree = new MemoryMappingTree(false); + final MemoryMappingTree tree = new MemoryMappingTree(false); MappingReader.read(mappingsTinyInput, MappingFormat.TINY_2_FILE, tree); try (Tiny2FileWriter w = new Tiny2FileWriter(Files.newBufferedWriter(output), false)) { tree.accept( new MappingSourceNsSwitch( - new MappingDstNsReorder(w, Collections.singletonList("named")), // Remove official namespace + // Remove official namespace + new MappingDstNsReorder(w, Collections.singletonList("named")), "intermediary" ) ); } } - - public RegularFileProperty getInput() { - return input; - } - - public File getOutputMappings() { - return outputMappings; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/TinyJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/TinyJarTask.java index 651cc0bb21..68065b859e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/TinyJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/TinyJarTask.java @@ -6,26 +6,23 @@ import quilt.internal.Constants; import quilt.internal.tasks.MappingsTask; -public class TinyJarTask extends Jar implements MappingsTask { +public abstract class TinyJarTask extends Jar implements MappingsTask { public static final String TASK_NAME = "tinyJar"; @InputFile - private final RegularFileProperty mappings; + public abstract RegularFileProperty getMappings(); public TinyJarTask() { - setGroup(Constants.Groups.BUILD_MAPPINGS_GROUP); - dependsOn(MergeTinyTask.TASK_NAME); + this.setGroup(Constants.Groups.BUILD_MAPPINGS_GROUP); + this.dependsOn(MergeTinyTask.TASK_NAME); - mappings = getProject().getObjects().fileProperty(); - mappings.convention(this.getTaskByType(MergeTinyTask.class)::getOutputMappings); + this.getMappings().convention( + this.getTaskNamed(MergeTinyTask.TASK_NAME, MergeTinyTask.class).getOutputMappings() + ); - getArchiveFileName().set(String.format("%s-%s.jar", Constants.MAPPINGS_NAME, Constants.MAPPINGS_VERSION)); - getDestinationDirectory().set(getProject().file("build/libs")); + this.getArchiveFileName().set(String.format("%s-%s.jar", Constants.MAPPINGS_NAME, Constants.MAPPINGS_VERSION)); + this.getDestinationDirectory().set(this.getProject().file("build/libs")); this.getArchiveClassifier().convention(""); - from(mappings).rename(original -> "mappings/mappings.tiny"); - } - - public RegularFileProperty getMappings() { - return mappings; + this.from(this.getMappings()).rename(original -> "mappings/mappings.tiny"); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/TransformJarClassesTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/TransformJarClassesTask.java index dee3fbf4a0..401c633b8d 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/TransformJarClassesTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/TransformJarClassesTask.java @@ -28,43 +28,35 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -public class TransformJarClassesTask extends DefaultMappingsTask { - private final RegularFileProperty jarFile; - private final DirectoryProperty output; +public abstract class TransformJarClassesTask extends DefaultMappingsTask { private final List visitorFactories = new ArrayList<>(); private final List> filters = new ArrayList<>(); - public TransformJarClassesTask() { - super(Constants.Groups.BUILD_MAPPINGS_GROUP); - jarFile = getProject().getObjects().fileProperty(); - output = getProject().getObjects().directoryProperty(); - } - @InputFile - public RegularFileProperty getJarFile() { - return jarFile; - } + public abstract RegularFileProperty getJarFile(); @OutputDirectory - public DirectoryProperty getOutput() { - return output; + public abstract DirectoryProperty getOutput(); + + public TransformJarClassesTask() { + super(Constants.Groups.BUILD_MAPPINGS_GROUP); } public void visitor(VisitorFactory visitorFactory) { - visitorFactories.add(visitorFactory); + this.visitorFactories.add(visitorFactory); } public void filter(Predicate filter) { - filters.add(filter); + this.filters.add(filter); } @TaskAction public void transform() throws IOException { - Map classFiles = new HashMap<>(); - try (ZipFile zipFile = new ZipFile(jarFile.getAsFile().get())) { - List entries = Collections.list(zipFile.entries()); - for (ZipEntry entry : entries) { - String name = entry.getName(); + final Map classFiles = new HashMap<>(); + try (ZipFile zipFile = new ZipFile(this.getJarFile().getAsFile().get())) { + final List entries = Collections.list(zipFile.entries()); + for (final ZipEntry entry : entries) { + final String name = entry.getName(); if (name.endsWith(".class")) { try (InputStream stream = zipFile.getInputStream(entry)) { classFiles.put(name, stream.readAllBytes()); @@ -73,21 +65,21 @@ public void transform() throws IOException { } } - Predicate filter = filters.stream().reduce(Predicate::and).orElse(node -> true); + final Predicate filter = this.filters.stream().reduce(Predicate::and).orElse(node -> true); - Map transformedClassFiles = new HashMap<>(); - for (String name : classFiles.keySet()) { - ClassReader reader = new ClassReader(classFiles.get(name)); - ClassWriter writer = new ClassWriter(reader, ClassWriter.COMPUTE_MAXS); + final Map transformedClassFiles = new HashMap<>(); + for (final String name : classFiles.keySet()) { + final ClassReader reader = new ClassReader(classFiles.get(name)); + final ClassWriter writer = new ClassWriter(reader, ClassWriter.COMPUTE_MAXS); ClassVisitor visitor = writer; - for (VisitorFactory visitorFactory : visitorFactories) { + for (final VisitorFactory visitorFactory : this.visitorFactories) { visitor = visitorFactory.create(visitor); } if (!(visitor instanceof ClassNode)) { visitor = new ForwardingClassNode(visitor); } - ClassNode node = (ClassNode) visitor; + final ClassNode node = (ClassNode) visitor; reader.accept(visitor, 0); if (filter.test(node)) { @@ -96,12 +88,12 @@ public void transform() throws IOException { } // Ensure the output directory is empty - File outputFile = output.getAsFile().get(); + final File outputFile = this.getOutput().getAsFile().get(); FileUtils.deleteDirectory(outputFile); - Path outputPath = outputFile.toPath(); + final Path outputPath = outputFile.toPath(); - for (String name : transformedClassFiles.keySet()) { - Path path = outputPath.resolve(name); + for (final String name : transformedClassFiles.keySet()) { + final Path path = outputPath.resolve(name); if (!Files.exists(path.getParent())) { Files.createDirectories(path.getParent()); } @@ -110,7 +102,7 @@ public void transform() throws IOException { } } - interface VisitorFactory { + public interface VisitorFactory { ClassVisitor create(ClassVisitor visitor); } @@ -125,7 +117,7 @@ public ForwardingClassNode(ClassVisitor visitor) { @Override public void visitEnd() { super.visitEnd(); - this.accept(visitor); + this.accept(this.visitor); } } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/decompile/DecompileTask.java b/buildSrc/src/main/java/quilt/internal/tasks/decompile/DecompileTask.java index 90a2175c94..424cd97bd9 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/decompile/DecompileTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/decompile/DecompileTask.java @@ -2,6 +2,7 @@ import org.gradle.api.file.FileCollection; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.MapProperty; import org.gradle.api.provider.Property; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.InputFiles; @@ -23,89 +24,69 @@ import java.util.HashMap; import java.util.Map; -public class DecompileTask extends DefaultMappingsTask { - private final Property decompiler; - private Map decompilerOptions; - private final RegularFileProperty input; - private final RegularFileProperty output; - private final Property libraries; +public abstract class DecompileTask extends DefaultMappingsTask { + @Input + public abstract Property getDecompiler(); + + @Optional + @Input + public abstract MapProperty getDecompilerOptions(); + + @Optional + @Input + public abstract Property getLibraries(); + + @InputFiles + public abstract RegularFileProperty getInput(); + + @OutputDirectory + public abstract RegularFileProperty getOutput(); + + // TODO see if all three of these can be optional inputs private ClassJavadocProvider classJavadocProvider; private FieldJavadocProvider fieldJavadocProvider; private MethodJavadocProvider methodJavadocProvider; public DecompileTask() { super(Constants.Groups.DECOMPILE_GROUP); - input = getProject().getObjects().fileProperty(); - output = getProject().getObjects().fileProperty(); - decompiler = getProject().getObjects().property(Decompilers.class); - libraries = getProject().getObjects().property(FileCollection.class); } @TaskAction public void decompile() { - Map options = decompilerOptions == null ? new HashMap<>() : decompilerOptions; - Collection libraries = this.libraries.getOrNull() == null ? Collections.emptyList() : this.libraries.get().getFiles(); + final Map options = this.getDecompilerOptions().getOrElse(new HashMap<>()); - AbstractDecompiler decompiler = getAbstractDecompiler(); + final Collection libraries = this.getLibraries().>map(FileCollection::getFiles) + .getOrElse(Collections.emptyList()); - if (classJavadocProvider != null) { - decompiler.withClassJavadocProvider(classJavadocProvider); + final AbstractDecompiler decompiler = this.getAbstractDecompiler(); + + if (this.classJavadocProvider != null) { + decompiler.withClassJavadocProvider(this.classJavadocProvider); } - if (fieldJavadocProvider != null) { - decompiler.withFieldJavadocProvider(fieldJavadocProvider); + if (this.fieldJavadocProvider != null) { + decompiler.withFieldJavadocProvider(this.fieldJavadocProvider); } - if (methodJavadocProvider != null) { - decompiler.withMethodJavadocProvider(methodJavadocProvider); + if (this.methodJavadocProvider != null) { + decompiler.withMethodJavadocProvider(this.methodJavadocProvider); } - decompiler.decompile(getInput().getAsFile().get(), getOutput().getAsFile().get(), options, libraries); + decompiler.decompile(this.getInput().getAsFile().get(), this.getOutput().getAsFile().get(), options, libraries); } @Internal public AbstractDecompiler getAbstractDecompiler() { - return decompiler.get().getProvider().provide(getProject()); - } - - @Input - public Property getDecompiler() { - return decompiler; - } - - @Optional - @Input - public Map getDecompilerOptions() { - return decompilerOptions; - } - - @Optional - @Input - public Property getLibraries() { - return libraries; - } - - public void setDecompilerOptions(Map decompilerOptions) { - this.decompilerOptions = decompilerOptions; - } - - @InputFiles - public RegularFileProperty getInput() { - return input; - } - - @OutputDirectory - public RegularFileProperty getOutput() { - return output; + return this.getDecompiler().get().getProvider().provide(this.getProject()); } public void classJavadocProvider(ClassJavadocProvider provider) { - classJavadocProvider = provider; + this.classJavadocProvider = provider; } public void fieldJavadocProvider(FieldJavadocProvider provider) { - fieldJavadocProvider = provider; + this.fieldJavadocProvider = provider; } public void methodJavadocProvider(MethodJavadocProvider provider) { - methodJavadocProvider = provider; + this.methodJavadocProvider = provider; } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckTargetVersionExistsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckTargetVersionExistsTask.java index 395241a541..3c310c04b7 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckTargetVersionExistsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckTargetVersionExistsTask.java @@ -9,50 +9,54 @@ import com.google.gson.JsonElement; import com.google.gson.JsonParser; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class CheckTargetVersionExistsTask extends DefaultMappingsTask { +public abstract class CheckTargetVersionExistsTask extends DefaultMappingsTask { public static final String TASK_NAME = "checkTargetVersionExists"; @Internal private Optional targetVersion = Optional.empty(); @OutputFile - private final File metaFile; + public abstract RegularFileProperty getMetaFile(); public CheckTargetVersionExistsTask() { super("diff"); this.outputsNeverUpToDate(); - metaFile = new File(fileConstants.cacheFilesMinecraft, "quilt-mappings-" + Constants.MINECRAFT_VERSION + ".json"); + this.getMetaFile().convention(() -> new File( + this.fileConstants.cacheFilesMinecraft, "quilt-mappings-" + Constants.MINECRAFT_VERSION + ".json" + )); } @TaskAction public void checkExists() { try { + final File metaFile = this.getMetaFile().get().getAsFile(); + this.startDownload() .src("https://meta.quiltmc.org/v3/versions/quilt-mappings/" + Constants.MINECRAFT_VERSION) .dest(metaFile) .overwrite(true) .download(); - JsonElement parsed = JsonParser.parseReader(new FileReader(metaFile)); - targetVersion = StreamSupport.stream(parsed.getAsJsonArray().spliterator(), false) - .max(Comparator.comparing(element -> element.getAsJsonObject().get("build").getAsInt(), Integer::compare)) + final JsonElement parsed = JsonParser.parseReader(new FileReader(metaFile)); + this.targetVersion = StreamSupport.stream(parsed.getAsJsonArray().spliterator(), false) + .max(Comparator.comparing( + element -> element.getAsJsonObject().get("build").getAsInt(), + Integer::compare + )) .map(element -> element.getAsJsonObject().get("version").getAsString()); } catch (IOException e) { - targetVersion = Optional.empty(); + this.targetVersion = Optional.empty(); } } public Optional getTargetVersion() { - return targetVersion; - } - - public File getMetaFile() { - return metaFile; + return this.targetVersion; } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckUnpickVersionsMatchTask.java b/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckUnpickVersionsMatchTask.java index c19fea6dc1..5e7b606841 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckUnpickVersionsMatchTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/diff/CheckUnpickVersionsMatchTask.java @@ -12,11 +12,11 @@ import org.gradle.api.tasks.TaskAction; import quilt.internal.tasks.DefaultMappingsTask; -public class CheckUnpickVersionsMatchTask extends DefaultMappingsTask { +public abstract class CheckUnpickVersionsMatchTask extends DefaultMappingsTask { public static final String TASK_NAME = "checkUnpickVersionsMatch"; @InputFile - private final RegularFileProperty unpickJson; + public abstract RegularFileProperty getUnpickJson(); @Internal private boolean match = false; @@ -26,23 +26,26 @@ public CheckUnpickVersionsMatchTask() { this.dependsOn(DownloadTargetMappingJarTask.TASK_NAME); - this.onlyIf(task -> this.getTaskByType(CheckTargetVersionExistsTask.class).getTargetVersion().isPresent()); + this.onlyIf(task -> + this.getTaskNamed(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class) + .getTargetVersion().isPresent() + ); - unpickJson = getProject().getObjects().fileProperty(); - unpickJson.convention(getTaskByType(DownloadTargetMappingJarTask.class).getTargetUnpickFile()); + this.getUnpickJson().convention( + this.getTaskNamed(DownloadTargetMappingJarTask.TASK_NAME, DownloadTargetMappingJarTask.class) + .getTargetUnpickFile() + ); } @TaskAction public void checkMatch() throws IOException { - JsonElement parsed = JsonParser.parseReader(new FileReader(unpickJson.getAsFile().get())); - match = parsed.getAsJsonObject().get("unpickVersion").getAsString().equals(libs().findVersion("unpick").map(VersionConstraint::getRequiredVersion).orElse("")); + final JsonElement parsed = JsonParser.parseReader(new FileReader(this.getUnpickJson().getAsFile().get())); + this.match = parsed.getAsJsonObject().get("unpickVersion").getAsString().equals( + this.libs().findVersion("unpick").map(VersionConstraint::getRequiredVersion).orElse("") + ); } public boolean isMatch() { - return match; - } - - public RegularFileProperty getUnpickJson() { - return unpickJson; + return this.match; } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java index 056e8fa961..229ce4b315 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java @@ -4,90 +4,107 @@ import java.io.IOException; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Provider; import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadTargetMappingJarTask extends DefaultMappingsTask { +public abstract class DownloadTargetMappingJarTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadTargetMappingsJar"; @OutputFile - private final RegularFileProperty targetMappingsFile; + public abstract RegularFileProperty getTargetMappingsFile(); @OutputFile - private final RegularFileProperty targetUnpickFile; + public abstract RegularFileProperty getTargetUnpickFile(); @OutputFile - private final RegularFileProperty targetUnpickDefinitionsFile; + public abstract RegularFileProperty getTargetUnpickDefinitionsFile(); @Internal - private final RegularFileProperty targetUnpickRemappedDefinitionsFile; + public abstract RegularFileProperty getTargetUnpickRemappedDefinitionsFile(); @OutputFile - private final RegularFileProperty targetUnpickConstantsFile; + public abstract RegularFileProperty getTargetUnpickConstantsFile(); public static final String TARGET_MAPPINGS = ".gradle/targets"; public DownloadTargetMappingJarTask() { super("diff"); - CheckTargetVersionExistsTask checkExists = this.getTaskByType(CheckTargetVersionExistsTask.class); + final CheckTargetVersionExistsTask checkExists = + this.getTaskNamed(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class); this.onlyIf(task -> checkExists.getTargetVersion().isPresent()); this.dependsOn(CheckTargetVersionExistsTask.TASK_NAME); - targetMappingsFile = getProject().getObjects().fileProperty(); - targetUnpickFile = getProject().getObjects().fileProperty(); - targetUnpickDefinitionsFile = getProject().getObjects().fileProperty(); - targetUnpickRemappedDefinitionsFile = getProject().getObjects().fileProperty(); - targetUnpickConstantsFile = getProject().getObjects().fileProperty(); - targetMappingsFile.convention(() -> getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "/mappings/mappings.tiny")); - targetUnpickFile.convention(() -> getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "/extras/unpick.json")); - targetUnpickDefinitionsFile.convention(() -> getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "/extras/definitions.unpick")); - targetUnpickRemappedDefinitionsFile.convention(() -> getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "remapped-unpick.unpick")); - targetUnpickConstantsFile.convention(() -> getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "-constants.jar")); + final Provider targetOrMappingsVersion = this.getProject().provider(() -> + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + ); + + this.getTargetMappingsFile().convention(targetOrMappingsVersion.map(version -> + this.createRegularProjectFile( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "/mappings/mappings.tiny" + )) + ); + this.getTargetUnpickFile().convention(targetOrMappingsVersion.map(version -> + this.createRegularProjectFile( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "/extras/unpick.json" + ) + )); + this.getTargetUnpickDefinitionsFile().convention(targetOrMappingsVersion.map(version -> + this.createRegularProjectFile( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "/extras/definitions.unpick" + ) + )); + this.getTargetUnpickRemappedDefinitionsFile().convention(targetOrMappingsVersion.map(version -> + this.createRegularProjectFile( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "remapped-unpick.unpick" + ) + )); + this.getTargetUnpickConstantsFile().convention(targetOrMappingsVersion.map(version -> + this.createRegularProjectFile( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "-constants.jar" + ) + )); } @TaskAction public void downloadTargetMappings() throws IOException { - String targetVersion = this.getTaskByType(CheckTargetVersionExistsTask.class).getTargetVersion().get(); - - File targetMappingsJar = getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + targetVersion + "-v2.jar"); + // TODO eliminate project access in task action + final String targetVersion = + this.getTaskNamed(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class) + .getTargetVersion().orElseThrow(); + + // TODO eliminate project access in task action + final File targetMappingsJar = + this.getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + targetVersion + "-v2.jar"); this.startDownload() - .src("https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-mappings/" + targetVersion + "/quilt-mappings-" + targetVersion + "-v2.jar") + .src( + "https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-mappings/" + targetVersion + + "/quilt-mappings-" + targetVersion + "-v2.jar" + ) .dest(targetMappingsJar) .download(); this.startDownload() - .src("https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-mappings/" + targetVersion + "/quilt-mappings-" + targetVersion + "-constants.jar") - .dest(targetUnpickConstantsFile.getAsFile().get()) + .src( + "https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-mappings/" + targetVersion + + "/quilt-mappings-" + targetVersion + "-constants.jar" + ) + .dest(this.getTargetUnpickConstantsFile().getAsFile().get()) .download(); - getProject() + this.getProject() .zipTree(targetMappingsJar) .getAsFileTree() - .visit(fileVisitDetails -> fileVisitDetails.copyTo(getProject().file(TARGET_MAPPINGS + "/quilt-mappings-" + targetVersion + "/" + fileVisitDetails.getRelativePath()))); - } - - public RegularFileProperty getTargetMappingsFile() { - return targetMappingsFile; - } - - public RegularFileProperty getTargetUnpickFile() { - return targetUnpickFile; - } - - public RegularFileProperty getTargetUnpickConstantsFile() { - return targetUnpickConstantsFile; - } - - public RegularFileProperty getTargetUnpickDefinitionsFile() { - return targetUnpickDefinitionsFile; - } - - public RegularFileProperty getTargetUnpickRemappedDefinitionsFile() { - return targetUnpickRemappedDefinitionsFile; + .visit(fileVisitDetails -> + fileVisitDetails.copyTo(this.getProject().file( + TARGET_MAPPINGS + "/quilt-mappings-" + targetVersion + "/" + + fileVisitDetails.getRelativePath() + )) + ); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/diff/RemapTargetMinecraftJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/diff/RemapTargetMinecraftJarTask.java index a41430a0be..43de6abb29 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/diff/RemapTargetMinecraftJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/diff/RemapTargetMinecraftJarTask.java @@ -5,22 +5,31 @@ import quilt.internal.Constants; import quilt.internal.tasks.jarmapping.MapJarTask; -public class RemapTargetMinecraftJarTask extends MapJarTask { +public abstract class RemapTargetMinecraftJarTask extends MapJarTask { public static final String TASK_NAME = "remapTargetMinecraftJar"; public RemapTargetMinecraftJarTask() { super("diff", Constants.PER_VERSION_MAPPINGS_NAME, "named"); - CheckTargetVersionExistsTask checkExists = getTaskByType(CheckTargetVersionExistsTask.class); - CheckUnpickVersionsMatchTask checkUnpickExists = getTaskByType(CheckUnpickVersionsMatchTask.class); + final CheckTargetVersionExistsTask checkExists = + this.getTaskNamed(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class); + final CheckUnpickVersionsMatchTask checkUnpickExists = + this.getTaskNamed(CheckUnpickVersionsMatchTask.TASK_NAME, CheckUnpickVersionsMatchTask.class); this.onlyIf(task -> checkExists.getTargetVersion().isPresent() && checkUnpickExists.isMatch()); this.dependsOn(DownloadTargetMappingJarTask.TASK_NAME, "unpickTargetJar"); - DownloadTargetMappingJarTask downloadTarget = getTaskByType(DownloadTargetMappingJarTask.class); - - inputJar.convention(() -> getProject().file(DownloadTargetMappingJarTask.TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "-unpicked.jar")); - mappingsFile.set(downloadTarget.getTargetMappingsFile()); - outputJar.convention(() -> getProject().file(DownloadTargetMappingJarTask.TARGET_MAPPINGS + "/quilt-mappings-" + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "-named.jar")); + final DownloadTargetMappingJarTask downloadTarget = + this.getTaskNamed(DownloadTargetMappingJarTask.TASK_NAME, DownloadTargetMappingJarTask.class); + + this.getInputJar().convention(() -> this.getProject().file( + DownloadTargetMappingJarTask.TARGET_MAPPINGS + "/quilt-mappings-" + + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "-unpicked.jar" + )); + this.getMappingsFile().set(downloadTarget.getTargetMappingsFile()); + this.getOutputJar().convention(() -> this.getProject().file( + DownloadTargetMappingJarTask.TARGET_MAPPINGS + "/quilt-mappings-" + + checkExists.getTargetVersion().orElse(Constants.MAPPINGS_VERSION) + "-named.jar" + )); } public Map getAdditionalMappings() { diff --git a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapJarTask.java index 63eee1c9dd..8db55b620e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapJarTask.java @@ -17,13 +17,13 @@ public abstract class MapJarTask extends DefaultMappingsTask { "javax/annotation/concurrent/Immutable", "org/jetbrains/annotations/Unmodifiable" ); @InputFile - protected final RegularFileProperty inputJar; + protected abstract RegularFileProperty getInputJar(); @InputFile - protected final RegularFileProperty mappingsFile; + protected abstract RegularFileProperty getMappingsFile(); @OutputFile - protected final RegularFileProperty outputJar; + protected abstract RegularFileProperty getOutputJar(); private final String from, to; @@ -31,33 +31,24 @@ public MapJarTask(String group, String from, String to) { super(group); this.from = from; this.to = to; - - inputJar = getProject().getObjects().fileProperty(); - mappingsFile = getProject().getObjects().fileProperty(); - outputJar = getProject().getObjects().fileProperty(); } @TaskAction public void remapJar() { - getLogger().lifecycle(":mapping minecraft from " + from + " to " + to); - Map additionalMappings = getAdditionalMappings(); - JarRemapper.mapJar(outputJar.getAsFile().get(), inputJar.getAsFile().get(), mappingsFile.get().getAsFile(), fileConstants.libraries, from, to, builder -> builder.withMappings(out -> additionalMappings.forEach(out::acceptClass))); + this.getLogger().lifecycle(":mapping minecraft from " + this.from + " to " + this.to); + final Map additionalMappings = this.getAdditionalMappings(); + JarRemapper.mapJar( + this.getOutputJar().getAsFile().get(), + this.getInputJar().getAsFile().get(), + this.getMappingsFile().get().getAsFile(), + this.fileConstants.libraries, + this.from, this.to, + builder -> builder.withMappings(out -> additionalMappings.forEach(out::acceptClass)) + ); } @Internal public Map getAdditionalMappings() { return Map.of(); } - - public RegularFileProperty getInputJar() { - return inputJar; - } - - public RegularFileProperty getMappingsFile() { - return mappingsFile; - } - - public RegularFileProperty getOutputJar() { - return outputJar; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java index 5cea5afe97..50ab759277 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java @@ -3,27 +3,31 @@ import java.util.Map; import quilt.internal.Constants; -import quilt.internal.MappingsPlugin; import quilt.internal.tasks.build.AddProposedMappingsTask; import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; -public class MapNamedJarTask extends MapJarTask { +import static quilt.internal.MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME; + +public abstract class MapNamedJarTask extends MapJarTask { public static final String TASK_NAME = "mapNamedJar"; public MapNamedJarTask() { super(Constants.Groups.MAP_JAR_GROUP, Constants.PER_VERSION_MAPPINGS_NAME, "named"); - getInputs().files(getTaskByName(DownloadMinecraftLibrariesTask.TASK_NAME).getOutputs().getFiles().getFiles()); + this.getInputs() + .files(this.getTaskNamed(DownloadMinecraftLibrariesTask.TASK_NAME).getOutputs().getFiles().getFiles()); - inputJar.convention(() -> fileConstants.unpickedJar); - mappingsFile.convention(() -> this.getTaskByName(MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME).getOutputMappings()); - outputJar.convention(() -> fileConstants.namedJar); + this.getInputJar().convention(() -> this.fileConstants.unpickedJar); + this.getMappingsFile().convention( + this.getTaskNamed(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class) + .getOutputMappings() + ); + this.getOutputJar().convention(() -> this.fileConstants.namedJar); - this.dependsOn(MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, "unpickHashedJar"); + this.dependsOn(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, "unpickHashedJar"); } public Map getAdditionalMappings() { return JAVAX_TO_JETBRAINS; } } - diff --git a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java index ada8756792..be6a66f3f8 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java @@ -5,17 +5,24 @@ import quilt.internal.tasks.setup.DownloadPerVersionMappingsTask; import quilt.internal.tasks.setup.MergeJarsTask; -public class MapPerVersionMappingsJarTask extends MapJarTask { +public abstract class MapPerVersionMappingsJarTask extends MapJarTask { public static final String TASK_NAME = "mapPerVersionMappingsJar"; public MapPerVersionMappingsJarTask() { super(Constants.Groups.MAP_JAR_GROUP, "official", Constants.PER_VERSION_MAPPINGS_NAME); - this.dependsOn(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadPerVersionMappingsTask.TASK_NAME, MergeJarsTask.TASK_NAME); + this.dependsOn( + DownloadMinecraftLibrariesTask.TASK_NAME, + DownloadPerVersionMappingsTask.TASK_NAME, + MergeJarsTask.TASK_NAME + ); - inputJar.convention(getTaskByType(MergeJarsTask.class)::getMergedFile); - mappingsFile.convention(getTaskByType(DownloadPerVersionMappingsTask.class)::getTinyFile); - outputJar.convention(() -> this.fileConstants.perVersionMappingsJar); + this.getInputJar().convention(this.getTaskNamed(MergeJarsTask.TASK_NAME, MergeJarsTask.class).getMergedFile()); + this.getMappingsFile().convention( + this.getTaskNamed(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class) + .getTinyFile() + ); + this.getOutputJar().convention(() -> this.fileConstants.perVersionMappingsJar); - getInputs().files(fileConstants.libraries); + this.getInputs().files(this.fileConstants.libraries); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/lint/DownloadDictionaryFileTask.java b/buildSrc/src/main/java/quilt/internal/tasks/lint/DownloadDictionaryFileTask.java index 09881fa377..7a4525e4e1 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/lint/DownloadDictionaryFileTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/lint/DownloadDictionaryFileTask.java @@ -1,8 +1,8 @@ package quilt.internal.tasks.lint; -import java.io.File; import java.io.IOException; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.provider.Property; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.OutputFile; @@ -10,40 +10,33 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadDictionaryFileTask extends DefaultMappingsTask { +public abstract class DownloadDictionaryFileTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadDictionaryFile"; public static final String REVISION = "f9c2abb8ad2df8bf64df06ae2f6ede86704b82c7"; - public static final String DEFAULT_DICTIONARY_FILE = "https://raw.githubusercontent.com/ix0rai/qm-base-allowed-wordlist/" + REVISION + "/allowed_english_words.txt"; + public static final String DEFAULT_DICTIONARY_FILE = + "https://raw.githubusercontent.com/ix0rai/qm-base-allowed-wordlist/" + REVISION + "/allowed_english_words.txt"; + @OutputFile - private final File output; + public abstract RegularFileProperty getOutput(); @Input - public final Property url; + public abstract Property getUrl(); public DownloadDictionaryFileTask() { super(Constants.Groups.LINT_GROUP); - output = this.mappingsExt().getFileConstants().dictionaryFile; + this.getOutput().convention(() -> this.mappingsExt().getFileConstants().dictionaryFile); - url = getProject().getObjects().property(String.class); - url.convention(DEFAULT_DICTIONARY_FILE); + this.getUrl().convention(DEFAULT_DICTIONARY_FILE); } @TaskAction public void downloadDictionaryFile() throws IOException { this.startDownload() - .src(url.get()) + .src(this.getUrl().get()) .overwrite(false) - .dest(output) + .dest(this.getOutput().get().getAsFile()) .download(); } - - public Property getUrl() { - return url; - } - - public File getOutput() { - return output; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/lint/MappingLintTask.java b/buildSrc/src/main/java/quilt/internal/tasks/lint/MappingLintTask.java index 0236147b92..6daa897446 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/lint/MappingLintTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/lint/MappingLintTask.java @@ -8,6 +8,7 @@ import java.util.EnumMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.function.Function; @@ -52,28 +53,13 @@ public abstract class MappingLintTask extends DefaultMappingsTask { public static final String TASK_NAME = "mappingLint"; - private final DirectoryProperty mappingDirectory = getProject().getObjects().directoryProperty(); - private final RegularFileProperty jarFile; - - public MappingLintTask() { - super(Constants.Groups.LINT_GROUP); - this.dependsOn(DownloadDictionaryFileTask.TASK_NAME); - // Ignore outputs for up-to-date checks as there aren't any (so only inputs are checked) - getOutputs().upToDateWhen(task -> true); - jarFile = getProject().getObjects().fileProperty(); - getCheckers().set(Checker.DEFAULT_CHECKERS); - } @Incremental @InputDirectory - public DirectoryProperty getMappingDirectory() { - return mappingDirectory; - } + public abstract DirectoryProperty getMappingDirectory(); @InputFile - public RegularFileProperty getJarFile() { - return jarFile; - } + public abstract RegularFileProperty getJarFile(); @Input public abstract SetProperty>> getCheckers(); @@ -81,16 +67,24 @@ public RegularFileProperty getJarFile() { @Inject public abstract WorkerExecutor getWorkerExecutor(); + public MappingLintTask() { + super(Constants.Groups.LINT_GROUP); + this.dependsOn(DownloadDictionaryFileTask.TASK_NAME); + // Ignore outputs for up-to-date checks as there aren't any (so only inputs are checked) + this.getOutputs().upToDateWhen(task -> true); + this.getCheckers().set(Checker.DEFAULT_CHECKERS); + } + @TaskAction public void run(InputChanges changes) { - WorkQueue workQueue = getWorkerExecutor().noIsolation(); + final WorkQueue workQueue = this.getWorkerExecutor().noIsolation(); workQueue.submit(LintAction.class, parameters -> { - parameters.getJarFile().set(getJarFile()); - parameters.getCheckers().set(getCheckers()); + parameters.getJarFile().set(this.getJarFile()); + parameters.getCheckers().set(this.getCheckers()); parameters.getSpellingFile().set(this.mappingsExt().getFileConstants().dictionaryFile); - for (FileChange change : changes.getFileChanges(getMappingDirectory())) { + for (final FileChange change : changes.getFileChanges(this.getMappingDirectory())) { if (change.getChangeType() != ChangeType.REMOVED && change.getFileType() == FileType.FILE) { parameters.getMappingFiles().from(change.getFile()); } @@ -100,13 +94,15 @@ public void run(InputChanges changes) { workQueue.await(); } - private static EntryTree readMappings(FileCollection files) throws IOException, MappingParseException { - Path[] paths = files.getFiles().stream().map(File::toPath).toArray(Path[]::new); + private static EntryTree readMappings( + FileCollection files + ) throws IOException, MappingParseException { + final Path[] paths = files.getFiles().stream().map(File::toPath).toArray(Path[]::new); return EnigmaMappingsReader.readFiles(ProgressListener.createEmpty(), paths); } private static String getFullName(EntryTree mappings, Entry entry) { - String name = mappings.get(entry).targetName(); + String name = Objects.requireNonNull(mappings.get(entry)).targetName(); if (name == null) { name = ""; @@ -143,20 +139,24 @@ public LintAction() { @Override public void execute() { try { - LintParameters params = getParameters(); - Set>> checkers = getParameters().getCheckers().get(); + final LintParameters params = this.getParameters(); + final Set>> checkers = this.getParameters().getCheckers().get(); - checkers.forEach(checker -> checker.update(getParameters())); + checkers.forEach(checker -> checker.update(this.getParameters())); - Map> messagesBySeverity = new EnumMap<>(Severity.class); + final Map> messagesBySeverity = new EnumMap<>(Severity.class); // Set up Enigma - Enigma enigma = Enigma.create(); - EnigmaProject project = enigma.openJar(params.getJarFile().get().getAsFile().toPath(), new ClasspathClassProvider(), ProgressListener.createEmpty()); - EntryTree mappings = readMappings(getParameters().getMappingFiles()); + final Enigma enigma = Enigma.create(); + final EnigmaProject project = enigma.openJar( + params.getJarFile().get().getAsFile().toPath(), + new ClasspathClassProvider(), + ProgressListener.createEmpty() + ); + final EntryTree mappings = readMappings(this.getParameters().getMappingFiles()); project.setMappings(mappings, ProgressListener.createEmpty()); - Function, AccessFlags> accessProvider = entry -> { - EntryIndex index = project.getJarIndex().getIndex(EntryIndex.class); + final Function, AccessFlags> accessProvider = entry -> { + final EntryIndex index = project.getJarIndex().getIndex(EntryIndex.class); if (entry instanceof ClassEntry c) { return index.getClassAccess(c); @@ -166,19 +166,23 @@ public void execute() { }; mappings.getAllEntries().parallel().forEach(entry -> { - EntryMapping mapping = mappings.get(entry); + final EntryMapping mapping = mappings.get(entry); assert mapping != null; - List localErrors = new ArrayList<>(); + final List localErrors = new ArrayList<>(); - for (Checker> checker : checkers) { - checker.check(entry, mapping, accessProvider, (severity, message) -> localErrors.add(new CheckerError(severity, message))); + for (final Checker> checker : checkers) { + checker.check( + entry, mapping, accessProvider, + (severity, message) -> localErrors.add(new CheckerError(severity, message)) + ); } if (!localErrors.isEmpty()) { - String name = getFullName(mappings, entry); + final String name = getFullName(mappings, entry); - for (CheckerError error : localErrors) { - messagesBySeverity.computeIfAbsent(error.severity(), s -> new ArrayList<>()).add(name + ": " + error.message()); + for (final CheckerError error : localErrors) { + messagesBySeverity.computeIfAbsent(error.severity(), s -> new ArrayList<>()) + .add(name + ": " + error.message()); } } }); @@ -187,21 +191,21 @@ public void execute() { int errors = 0; int warnings = 0; - for (var entry : messagesBySeverity.entrySet()) { + for (final var entry : messagesBySeverity.entrySet()) { if (entry.getKey() == Severity.ERROR) { - for (String message : entry.getValue()) { + for (final String message : entry.getValue()) { errors++; LOGGER.error("error: {}", message); } } else { - for (String message : entry.getValue()) { + for (final String message : entry.getValue()) { warnings++; LOGGER.warn("warning: {}", message); } } } - String message = String.format("Found %d errors and %d warnings!", errors, warnings); + final String message = String.format("Found %d errors and %d warnings!", errors, warnings); LOGGER.warn(message); if (errors > 0) { diff --git a/buildSrc/src/main/java/quilt/internal/tasks/mappings/EnigmaMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/mappings/EnigmaMappingsTask.java index 2941854641..0d239a02df 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/mappings/EnigmaMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/mappings/EnigmaMappingsTask.java @@ -8,27 +8,26 @@ import quilt.internal.Constants; import quilt.internal.tasks.MappingsTask; -public class EnigmaMappingsTask extends JavaExec implements MappingsTask { +public abstract class EnigmaMappingsTask extends JavaExec implements MappingsTask { + @InputFile + public abstract RegularFileProperty getJarToMap(); + public EnigmaMappingsTask() { this.setGroup(Constants.Groups.MAPPINGS_GROUP); this.getMainClass().set("org.quiltmc.enigma.gui.Main"); - this.classpath(getProject().getConfigurations().getByName("enigmaRuntime")); - jarToMap = getObjectFactory().fileProperty(); - jvmArgs("-Xmx2048m"); + this.classpath(this.getProject().getConfigurations().getByName("enigmaRuntime")); + this.jvmArgs("-Xmx2048m"); } @Override public void exec() { - args(List.of( - "-jar", this.jarToMap.get().getAsFile().getAbsolutePath(), "-mappings", getProject().file("mappings").getAbsolutePath(), "-profile", "enigma_profile.json" + this.args(List.of( + "-jar", this.getJarToMap().get().getAsFile().getAbsolutePath(), + // TODO eliminate project access in task action + "-mappings", this.getProject().file("mappings").getAbsolutePath(), + "-profile", "enigma_profile.json" )); - super.exec(); - } - @InputFile - private final RegularFileProperty jarToMap; - - public RegularFileProperty getJarToMap() { - return jarToMap; + super.exec(); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java index 8d9a70183e..12875e80b8 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java @@ -1,6 +1,7 @@ package quilt.internal.tasks.setup; import org.apache.commons.io.FileUtils; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import quilt.internal.Constants; @@ -11,43 +12,46 @@ public abstract class AbstractDownloadMappingsTask extends DefaultMappingsTask { @OutputFile - public File jarFile; + public abstract RegularFileProperty getJarFile(); @OutputFile - public File tinyFile; + public abstract RegularFileProperty getTinyFile(); private final String mappingsName; public AbstractDownloadMappingsTask(String mappingsName) { super(Constants.Groups.SETUP_GROUP); - jarFile = new File(fileConstants.cacheFilesMinecraft, String.format("%s-%s.jar", Constants.MINECRAFT_VERSION, mappingsName)); - tinyFile = new File(fileConstants.cacheFilesMinecraft, String.format("%s-%s.tiny", Constants.MINECRAFT_VERSION, mappingsName)); + this.getJarFile().convention(() -> new File( + this.fileConstants.cacheFilesMinecraft, + "%s-%s.jar".formatted(Constants.MINECRAFT_VERSION, mappingsName) + )); + this.getTinyFile().convention(() -> new File( + this.fileConstants.cacheFilesMinecraft, + "%s-%s.tiny".formatted(Constants.MINECRAFT_VERSION, mappingsName) + )); this.mappingsName = mappingsName; } @TaskAction public void downloadMappings() throws IOException { - startDownload() - .src(getProject().getConfigurations().getByName(mappingsName).resolve().iterator().next().toURI().toString()) - .dest(jarFile) + this.startDownload() + // TODO eliminate project access in task action + .src(this.getProject().getConfigurations().getByName(this.mappingsName).resolve().iterator().next().toURI().toString()) + .dest(this.getJarFile().get().getAsFile()) .overwrite(false) .download(); - FileUtils.copyFile(getProject() - .zipTree(jarFile) + FileUtils.copyFile( + // TODO eliminate project access in task action + this.getProject() + .zipTree(this.getJarFile().get().getAsFile()) .getFiles() .stream() .filter(file -> file.getName().endsWith("mappings.tiny")) .findFirst() - .get(), tinyFile); - } - - public File getJarFile() { - return jarFile; - } - - public File getTinyFile() { - return tinyFile; + .orElseThrow(), + this.getTinyFile().get().getAsFile() + ); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java index ba09ca91e0..b5b48472de 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java @@ -9,7 +9,7 @@ import java.io.File; import java.util.Set; -public class CheckIntermediaryMappingsTask extends DefaultMappingsTask { +public abstract class CheckIntermediaryMappingsTask extends DefaultMappingsTask { public static final String TASK_NAME = "checkIntermediaryMappings"; @Internal @@ -25,8 +25,8 @@ public boolean isPresent() { @TaskAction public void checkIntermediaryMappings() { - Configuration configuration = getProject().getConfigurations().getByName("intermediary"); - Set files; + final Configuration configuration = this.getProject().getConfigurations().getByName("intermediary"); + final Set files; try { files = configuration.resolve(); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java index 2eef23217b..bbbfbecae3 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java @@ -1,11 +1,13 @@ package quilt.internal.tasks.setup; -public class DownloadIntermediaryMappingsTask extends AbstractDownloadMappingsTask { +public abstract class DownloadIntermediaryMappingsTask extends AbstractDownloadMappingsTask { public static final String TASK_NAME = "downloadIntermediaryMappings"; public DownloadIntermediaryMappingsTask() { super("intermediary"); - dependsOn(CheckIntermediaryMappingsTask.TASK_NAME); - onlyIf(task -> getTaskByType(CheckIntermediaryMappingsTask.class).isPresent()); + this.dependsOn(CheckIntermediaryMappingsTask.TASK_NAME); + this.onlyIf(task -> + this.getTaskNamed(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class).isPresent() + ); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java index b6fc155a66..8219a3d80a 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java @@ -7,19 +7,21 @@ import com.google.common.hash.HashCode; import com.google.common.hash.Hashing; import com.google.common.io.Files; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import org.quiltmc.launchermeta.version.v1.Version; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadMinecraftJarsTask extends DefaultMappingsTask { +public abstract class DownloadMinecraftJarsTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadMinecraftJars"; + @OutputFile - private final File clientJar; + public abstract RegularFileProperty getClientJar(); @OutputFile - private final File serverBootstrapJar; + public abstract RegularFileProperty getServerBootstrapJar(); private Version file; @@ -27,15 +29,27 @@ public DownloadMinecraftJarsTask() { super(Constants.Groups.SETUP_GROUP); this.dependsOn(DownloadWantedVersionManifestTask.TASK_NAME); - clientJar = new File(fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-client.jar"); - serverBootstrapJar = new File(fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-server-bootstrap.jar"); - getOutputs().files(clientJar, serverBootstrapJar); + this.getClientJar().convention(() -> new File( + this.fileConstants.cacheFilesMinecraft, + Constants.MINECRAFT_VERSION + "-client.jar" + )); + this.getServerBootstrapJar().convention(() -> new File( + this.fileConstants.cacheFilesMinecraft, + Constants.MINECRAFT_VERSION + "-server-bootstrap.jar" + )); - getOutputs().upToDateWhen(_input -> { + this.getOutputs().upToDateWhen(_input -> { try { - return clientJar.exists() && serverBootstrapJar.exists() - && validateChecksum(clientJar, getVersionFile().getDownloads().getClient().getSha1()) - && validateChecksum(serverBootstrapJar, getVersionFile().getDownloads().getServer().get().getSha1()); + return this.getClientJar().get().getAsFile().exists() + && this.getServerBootstrapJar().get().getAsFile().exists() + && validateChecksum( + this.getClientJar().get().getAsFile(), + this.getVersionFile().getDownloads().getClient().getSha1() + ) + && validateChecksum( + this.getServerBootstrapJar().get().getAsFile(), + this.getVersionFile().getDownloads().getServer().orElseThrow().getSha1() + ); } catch (Exception e) { return false; } @@ -45,17 +59,17 @@ && validateChecksum(clientJar, getVersionFile().getDownloads().getClient().getSh @TaskAction public void downloadMinecraftJars() throws IOException { - getLogger().lifecycle(":downloading minecraft jars"); + this.getLogger().lifecycle(":downloading minecraft jars"); - startDownload() - .src(getVersionFile().getDownloads().getClient().getUrl()) - .dest(clientJar) + this.startDownload() + .src(this.getVersionFile().getDownloads().getClient().getUrl()) + .dest(this.getClientJar().get().getAsFile()) .overwrite(false) .download(); - startDownload() - .src(getVersionFile().getDownloads().getServer().get().getUrl()) - .dest(serverBootstrapJar) + this.startDownload() + .src(this.getVersionFile().getDownloads().getServer().orElseThrow().getUrl()) + .dest(this.getServerBootstrapJar().get().getAsFile()) .overwrite(false) .download(); } @@ -63,29 +77,28 @@ public void downloadMinecraftJars() throws IOException { @SuppressWarnings("deprecation") private static boolean validateChecksum(File file, String checksum) throws IOException { if (file != null) { - HashCode hash = Files.asByteSource(file).hash(Hashing.sha1()); - StringBuilder builder = new StringBuilder(); - for (byte b : hash.asBytes()) { + final HashCode hash = Files.asByteSource(file).hash(Hashing.sha1()); + final StringBuilder builder = new StringBuilder(); + for (final byte b : hash.asBytes()) { builder.append(Integer.toString((b & 0xFF) + 0x100, 16).substring(1)); } + return builder.toString().equals(checksum); } + return false; } private Version getVersionFile() throws IOException { - if (file == null) { - file = Version.fromReader(java.nio.file.Files.newBufferedReader(getTaskByType(DownloadWantedVersionManifestTask.class).getVersionFile().toPath(), StandardCharsets.UTF_8)); + if (this.file == null) { + this.file = Version.fromReader(java.nio.file.Files.newBufferedReader( + // TODO eliminate project access in task action + this.getTaskNamed(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class) + .getVersionFile().get().getAsFile().toPath(), + StandardCharsets.UTF_8 + )); } - return file; - } - - public File getClientJar() { - return clientJar; - } - - public File getServerBootstrapJar() { - return serverBootstrapJar; + return this.file; } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java index 77e0b11918..697370bb1e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java @@ -17,50 +17,53 @@ import quilt.internal.FileConstants; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadMinecraftLibrariesTask extends DefaultMappingsTask { +public abstract class DownloadMinecraftLibrariesTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadMinecraftLibraries"; @InputFile - private final RegularFileProperty versionFile; + public abstract RegularFileProperty getVersionFile(); public DownloadMinecraftLibrariesTask() { super(Constants.Groups.SETUP_GROUP); - dependsOn(DownloadWantedVersionManifestTask.TASK_NAME); - versionFile = getProject().getObjects().fileProperty(); - versionFile.convention(getTaskByType(DownloadWantedVersionManifestTask.class)::getVersionFile); + this.dependsOn(DownloadWantedVersionManifestTask.TASK_NAME); - getInputs().file(versionFile); + this.getVersionFile().convention( + this.getTaskNamed(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class) + .getVersionFile() + ); - getOutputs().dir(fileConstants.libraries); - outputsNeverUpToDate(); + this.getOutputs().dir(this.fileConstants.libraries); + this.outputsNeverUpToDate(); } @TaskAction public void downloadMinecraftLibrariesTask() throws IOException { - Version file = Version.fromString(FileUtils.readFileToString(versionFile.get().getAsFile(), StandardCharsets.UTF_8)); + final Version file = Version.fromString(FileUtils.readFileToString( + this.getVersionFile().get().getAsFile(), StandardCharsets.UTF_8 + )); - getLogger().lifecycle(":downloading minecraft libraries"); + this.getLogger().lifecycle(":downloading minecraft libraries"); - if (!fileConstants.libraries.exists()) { - fileConstants.libraries.mkdirs(); + if (!this.fileConstants.libraries.exists()) { + this.fileConstants.libraries.mkdirs(); } - AtomicBoolean failed = new AtomicBoolean(false); + final AtomicBoolean failed = new AtomicBoolean(false); - Object lock = new Object(); + final Object lock = new Object(); file.getLibraries().parallelStream().forEach(library -> { - Optional artifact = library.getDownloads().getArtifact(); + final Optional artifact = library.getDownloads().getArtifact(); if (artifact.isEmpty()) { return; } try { - String url = artifact.get().getUrl(); - startDownload() + final String url = artifact.get().getUrl(); + this.startDownload() .src(url) - .dest(getArtifactFile(fileConstants, url)) + .dest(getArtifactFile(this.fileConstants, url)) .overwrite(false) .download(); } catch (IOException e) { @@ -71,7 +74,7 @@ public void downloadMinecraftLibrariesTask() throws IOException { } synchronized (lock) { - getProject().getDependencies().add("decompileClasspath", library.getName()); + this.getProject().getDependencies().add("decompileClasspath", library.getName()); } }); @@ -83,8 +86,4 @@ public void downloadMinecraftLibrariesTask() throws IOException { public static File getArtifactFile(FileConstants fileConstants, String url) { return new File(fileConstants.libraries, url.substring(url.lastIndexOf("/") + 1)); } - - public RegularFileProperty getVersionFile() { - return versionFile; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java index bfe9a1cf36..bdc9e113fe 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java @@ -2,7 +2,7 @@ import quilt.internal.Constants; -public class DownloadPerVersionMappingsTask extends AbstractDownloadMappingsTask { +public abstract class DownloadPerVersionMappingsTask extends AbstractDownloadMappingsTask { public static final String TASK_NAME = "downloadPerVersionMappings"; public DownloadPerVersionMappingsTask() { diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java index ecf64cddaa..9702947348 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java @@ -3,33 +3,33 @@ import java.io.File; import java.io.IOException; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadVersionsManifestTask extends DefaultMappingsTask { +public abstract class DownloadVersionsManifestTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadVersionsManifest"; + @OutputFile - private final File manifestFile; + public abstract RegularFileProperty getManifestFile(); public DownloadVersionsManifestTask() { super(Constants.Groups.SETUP_GROUP); - manifestFile = new File(fileConstants.cacheFilesMinecraft, "version_manifest_v2.json"); + this.getManifestFile().convention(() -> + new File(this.fileConstants.cacheFilesMinecraft, "version_manifest_v2.json") + ); } @TaskAction public void downloadVersionsManifestTask() throws IOException { - getLogger().lifecycle(":downloading minecraft versions manifest"); - startDownload() + this.getLogger().lifecycle(":downloading minecraft versions manifest"); + this.startDownload() .src("https://piston-meta.mojang.com/mc/game/version_manifest_v2.json") - .dest(manifestFile) + .dest(this.getManifestFile().get().getAsFile()) .overwrite(true) .download(); } - - public File getManifestFile() { - return manifestFile; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java index 80630cac0c..5362051c3e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java @@ -2,12 +2,14 @@ import java.io.File; import java.io.IOException; -import java.net.URL; +import java.net.URI; +import java.net.URISyntaxException; import java.nio.charset.Charset; import java.nio.file.Files; import java.util.Optional; import org.apache.commons.io.FileUtils; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import org.quiltmc.launchermeta.version_manifest.VersionEntry; @@ -15,34 +17,46 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadWantedVersionManifestTask extends DefaultMappingsTask { +public abstract class DownloadWantedVersionManifestTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadWantedVersionManifest"; + // TODO manifestVersion should probably be an input mapped from manifestFile private final File manifestFile; private final Optional manifestVersion; @OutputFile - private final File versionFile; + public abstract RegularFileProperty getVersionFile(); public DownloadWantedVersionManifestTask() throws IOException { super(Constants.Groups.SETUP_GROUP); this.dependsOn(DownloadVersionsManifestTask.TASK_NAME); - manifestFile = this.getTaskByName(DownloadVersionsManifestTask.TASK_NAME).getManifestFile(); - manifestVersion = getManifestVersion(manifestFile); + this.manifestFile = this.getTaskNamed(DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class) + .getManifestFile().get().getAsFile(); + this.manifestVersion = getManifestVersion(this.manifestFile); - getInputs().property("versionsManifest", manifestFile); - //have to grab the release time as there's a current timestamp on each element?! - getInputs().property("releaseTime", manifestVersion.isPresent() ? manifestVersion.get().getReleaseTime() : -1); - versionFile = new File(fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json"); + this.getInputs().property("versionsManifest", this.manifestFile); + // have to grab the release time as there's a current timestamp on each element?! + this.getInputs().property( + "releaseTime", + this.manifestVersion.isPresent() + ? this.manifestVersion.get().getReleaseTime() + : -1 + ); + this.getVersionFile().convention(() -> + new File(this.fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json") + ); } @TaskAction - public void downloadWantedVersionManifestTask() throws IOException { - Optional _manifestVersion = manifestVersion.isEmpty() ? getManifestVersion(manifestFile) : manifestVersion; + public void downloadWantedVersionManifestTask() throws IOException, URISyntaxException { + final Optional _manifestVersion = this.manifestVersion.isEmpty() + ? getManifestVersion(this.manifestFile) + : this.manifestVersion; //nb need to re-read here in case it didn't exist before + final File versionFile = this.getVersionFile().get().getAsFile(); if (_manifestVersion.isPresent() || versionFile.exists()) { if (_manifestVersion.isPresent()) { - FileUtils.copyURLToFile(new URL((_manifestVersion.get().getUrl())), versionFile); + FileUtils.copyURLToFile(new URI(_manifestVersion.get().getUrl()).toURL(), versionFile); } } else { throw new RuntimeException("No version data for Minecraft version " + Constants.MINECRAFT_VERSION); @@ -50,11 +64,11 @@ public void downloadWantedVersionManifestTask() throws IOException { } private static Optional getManifestVersion(File manifestFile) throws IOException { - VersionManifest manifest = manifestFile.exists() ? VersionManifest.fromReader(Files.newBufferedReader(manifestFile.toPath(), Charset.defaultCharset())) : null; - return manifest != null ? manifest.getVersions().stream().filter(it -> it.getId().equals(Constants.MINECRAFT_VERSION)).findFirst() : Optional.empty(); - } - - public File getVersionFile() { - return versionFile; + final VersionManifest manifest = manifestFile.exists() + ? VersionManifest.fromReader(Files.newBufferedReader(manifestFile.toPath(), Charset.defaultCharset())) + : null; + return manifest == null + ? Optional.empty() + : manifest.getVersions().stream().filter(it -> it.getId().equals(Constants.MINECRAFT_VERSION)).findFirst(); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java index e615436dca..db2b20b17a 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java @@ -4,32 +4,45 @@ import java.io.IOException; import org.apache.commons.io.FileUtils; +import org.gradle.api.file.RegularFileProperty; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -public class ExtractServerJarTask extends DefaultMappingsTask { +public abstract class ExtractServerJarTask extends DefaultMappingsTask { public static final String TASK_NAME = "extractServerJar"; @OutputFile - private final File serverJar; + public abstract RegularFileProperty getServerBootstrapJar(); + + @OutputFile + public abstract RegularFileProperty getServerJar(); public ExtractServerJarTask() { super(Constants.Groups.SETUP_GROUP); - dependsOn(DownloadMinecraftJarsTask.TASK_NAME); + // TODO test if this dependency can be removed because of output file is an input + this.dependsOn(DownloadMinecraftJarsTask.TASK_NAME); - getInputs().file(this.getTaskByType(DownloadMinecraftJarsTask.class).getServerBootstrapJar()); + this.getServerBootstrapJar().convention( + this.getTaskNamed(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class) + .getServerBootstrapJar() + ); - serverJar = new File(fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-server.jar"); + this.getServerJar().convention(() -> + new File(this.fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-server.jar") + ); } @TaskAction public void extractServerJar() throws IOException { - FileUtils.copyFile(getProject().zipTree(this.getTaskByType(DownloadMinecraftJarsTask.class).getServerBootstrapJar()).matching(patternFilterable -> patternFilterable.include("META-INF/versions/*/server-*.jar")).getSingleFile(), serverJar); - } - - public File getServerJar() { - return serverJar; + FileUtils.copyFile( + // TODO eliminate project access in task action + this.getProject() + .zipTree(this.getServerBootstrapJar()) + .matching(patternFilterable -> patternFilterable.include("META-INF/versions/*/server-*.jar")) + .getSingleFile(), + this.getServerJar().get().getAsFile() + ); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java index f4deb0397b..d56579d954 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java @@ -1,6 +1,5 @@ package quilt.internal.tasks.setup; -import java.io.File; import java.io.IOException; import org.gradle.api.file.RegularFileProperty; @@ -12,55 +11,48 @@ import net.fabricmc.stitch.merge.JarMerger; -public class MergeJarsTask extends DefaultMappingsTask { +public abstract class MergeJarsTask extends DefaultMappingsTask { public static final String TASK_NAME = "mergeJars"; @InputFile - private final RegularFileProperty clientJar; + public abstract RegularFileProperty getClientJar(); + @InputFile - private final RegularFileProperty serverJar; + public abstract RegularFileProperty getServerJar(); @OutputFile - private final File mergedFile; + public abstract RegularFileProperty getMergedFile(); public MergeJarsTask() { super(Constants.Groups.SETUP_GROUP); - dependsOn(ExtractServerJarTask.TASK_NAME); - - clientJar = getProject().getObjects().fileProperty(); - serverJar = getProject().getObjects().fileProperty(); - - clientJar.convention(getTaskByType(DownloadMinecraftJarsTask.class)::getClientJar); - serverJar.convention(getTaskByType(ExtractServerJarTask.class)::getServerJar); - - getInputs().files(clientJar, serverJar); - - mergedFile = getProject().file(Constants.MINECRAFT_VERSION + "-merged.jar"); - getOutputs().file(mergedFile); + this.dependsOn(ExtractServerJarTask.TASK_NAME); + + this.getClientJar().convention( + this.getTaskNamed(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class).getClientJar() + ); + this.getServerJar().convention( + this.getTaskNamed(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class).getServerJar() + ); + + this.getMergedFile().convention( + this.createRegularProjectFile(Constants.MINECRAFT_VERSION + "-merged.jar") + ); } @TaskAction public void mergeJars() throws IOException { - getLogger().lifecycle(":merging jars"); + this.getLogger().lifecycle(":merging jars"); - if (mergedFile.exists()) { + if (this.getMergedFile().get().getAsFile().exists()) { return; } - try (JarMerger jarMerger = new JarMerger(clientJar.getAsFile().get(), serverJar.getAsFile().get(), mergedFile)) { + try (JarMerger jarMerger = new JarMerger( + this.getClientJar().get().getAsFile(), + this.getServerJar().get().getAsFile(), + this.getMergedFile().get().getAsFile() + )) { jarMerger.merge(); } } - - public RegularFileProperty getClientJar() { - return clientJar; - } - - public RegularFileProperty getServerJar() { - return serverJar; - } - - public File getMergedFile() { - return mergedFile; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/unpick/CombineUnpickDefinitionsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/unpick/CombineUnpickDefinitionsTask.java index fa85e42565..3f8865ae67 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/unpick/CombineUnpickDefinitionsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/unpick/CombineUnpickDefinitionsTask.java @@ -32,36 +32,28 @@ public abstract class CombineUnpickDefinitionsTask extends DefaultMappingsTask { public static final String TASK_NAME = "combineUnpickDefinitions"; - private final DirectoryProperty input; - private final RegularFileProperty output; - - public CombineUnpickDefinitionsTask() { - super(Constants.Groups.UNPICK); - input = getProject().getObjects().directoryProperty(); - output = getProject().getObjects().fileProperty(); - - this.dependsOn(getProject().getTasks().withType(UnpickGen.class)); - } @InputDirectory - public DirectoryProperty getInput() { - return input; - } + public abstract DirectoryProperty getInput(); @OutputFile - public RegularFileProperty getOutput() { - return output; - } + public abstract RegularFileProperty getOutput(); @Inject protected abstract WorkerExecutor getWorkerExecutor(); + public CombineUnpickDefinitionsTask() { + super(Constants.Groups.UNPICK); + + this.dependsOn(this.getProject().getTasks().withType(UnpickGen.class)); + } + @TaskAction public void run() { - WorkQueue workQueue = getWorkerExecutor().noIsolation(); + final WorkQueue workQueue = this.getWorkerExecutor().noIsolation(); workQueue.submit(CombineAction.class, parameters -> { - parameters.getInput().set(getInput()); - parameters.getOutput().set(getOutput()); + parameters.getInput().set(this.getInput()); + parameters.getOutput().set(this.getOutput()); }); } @@ -70,13 +62,13 @@ public static void combineUnpickDefinitions(Collection input, Path output) try { Files.deleteIfExists(output); - UnpickV2Writer writer = new UnpickV2Writer(); + final UnpickV2Writer writer = new UnpickV2Writer(); // Sort inputs to get reproducible outputs (also for testing) - List files = new ArrayList<>(input); + final List files = new ArrayList<>(input); files.sort(Comparator.comparing(File::getName)); - for (File file : files) { + for (final File file : files) { if (!file.getName().endsWith(".unpick")) { continue; } @@ -107,8 +99,8 @@ public CombineAction() { @Override public void execute() { - Set input = getParameters().getInput().getAsFileTree().getFiles(); - Path output = getParameters().getOutput().getAsFile().get().toPath(); + final Set input = this.getParameters().getInput().getAsFileTree().getFiles(); + final Path output = this.getParameters().getOutput().getAsFile().get().toPath(); combineUnpickDefinitions(input, output); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/unpick/RemapUnpickDefinitionsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/unpick/RemapUnpickDefinitionsTask.java index b863dd158f..fedf532dfa 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/unpick/RemapUnpickDefinitionsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/unpick/RemapUnpickDefinitionsTask.java @@ -39,32 +39,21 @@ public abstract class RemapUnpickDefinitionsTask extends DefaultMappingsTask { public static final String TASK_NAME = "remapUnpickDefinitions"; - private final RegularFileProperty input; - private final RegularFileProperty mappings; - private final RegularFileProperty output; - - public RemapUnpickDefinitionsTask() { - super(Constants.Groups.UNPICK); - input = getProject().getObjects().fileProperty(); - CombineUnpickDefinitionsTask combineUnpickDefinitionsTask = getTaskByType(CombineUnpickDefinitionsTask.class); - input.set(combineUnpickDefinitionsTask.getOutput()); - mappings = getProject().getObjects().fileProperty(); - output = getProject().getObjects().fileProperty(); - } - @InputFile - public RegularFileProperty getInput() { - return input; - } + public abstract RegularFileProperty getInput(); @InputFile - public RegularFileProperty getMappings() { - return mappings; - } + public abstract RegularFileProperty getMappings(); @OutputFile - public RegularFileProperty getOutput() { - return output; + public abstract RegularFileProperty getOutput(); + + public RemapUnpickDefinitionsTask() { + super(Constants.Groups.UNPICK); + + this.getInput().convention( + this.getTaskNamed(CombineUnpickDefinitionsTask.TASK_NAME, CombineUnpickDefinitionsTask.class).getOutput() + ); } @Inject @@ -72,11 +61,11 @@ public RegularFileProperty getOutput() { @TaskAction public void run() { - WorkQueue workQueue = getWorkerExecutor().noIsolation(); + final WorkQueue workQueue = this.getWorkerExecutor().noIsolation(); workQueue.submit(RemapAction.class, parameters -> { - parameters.getInput().set(getInput().get().getAsFile()); - parameters.getMappings().set(getMappings().get().getAsFile()); - parameters.getOutput().set(getOutput().get().getAsFile()); + parameters.getInput().set(this.getInput().get().getAsFile()); + parameters.getMappings().set(this.getMappings().get().getAsFile()); + parameters.getOutput().set(this.getOutput().get().getAsFile()); }); } @@ -85,30 +74,35 @@ public static void remapUnpickDefinitions(Path input, Path mappings, Path output try { Files.deleteIfExists(output); - Map classMappings = new HashMap<>(); - Map methodMappings = new HashMap<>(); - Map fieldMappings = new HashMap<>(); - String fromM = "named"; - String toM = Constants.PER_VERSION_MAPPINGS_NAME; + final Map classMappings = new HashMap<>(); + final Map methodMappings = new HashMap<>(); + final Map fieldMappings = new HashMap<>(); + final String fromM = "named"; + final String toM = Constants.PER_VERSION_MAPPINGS_NAME; try (BufferedReader reader = Files.newBufferedReader(mappings)) { - MemoryMappingTree mappingTree = new MemoryMappingTree(); + final MemoryMappingTree mappingTree = new MemoryMappingTree(); // Use target namespace as fallback to source namespace // Removes the need to add all the mappings to the file - MappingVisitor visitor = new MappingNsCompleter(mappingTree, Collections.singletonMap(fromM, toM)); + final MappingVisitor visitor = + new MappingNsCompleter(mappingTree, Collections.singletonMap(fromM, toM)); Tiny2FileReader.read(reader, visitor); - for (MappingTree.ClassMapping classMapping : mappingTree.getClasses()) { + for (final MappingTree.ClassMapping classMapping : mappingTree.getClasses()) { classMappings.put(classMapping.getName(fromM), classMapping.getName(toM)); - for (MappingTree.MethodMapping methodMapping : classMapping.getMethods()) { + for (final MappingTree.MethodMapping methodMapping : classMapping.getMethods()) { methodMappings.put( - new MethodKey(classMapping.getName(fromM), methodMapping.getName(fromM), methodMapping.getDesc(fromM)), + new MethodKey( + classMapping.getName(fromM), + methodMapping.getName(fromM), + methodMapping.getDesc(fromM) + ), methodMapping.getName(toM) ); } - for (MappingTree.FieldMapping fieldMapping : classMapping.getFields()) { + for (final MappingTree.FieldMapping fieldMapping : classMapping.getFields()) { fieldMappings.put( new FieldKey(classMapping.getName(fromM), fieldMapping.getName(fromM)), fieldMapping.getName(toM) @@ -118,7 +112,7 @@ public static void remapUnpickDefinitions(Path input, Path mappings, Path output } try (UnpickV2Reader reader = new UnpickV2Reader(Files.newInputStream(input))) { - UnpickV2Writer writer = new UnpickV2Writer(); + final UnpickV2Writer writer = new UnpickV2Writer(); reader.accept(new UnpickV2Remapper(classMappings, methodMappings, fieldMappings, writer)); Files.writeString(output, UnpickUtil.getLfOutput(writer)); } @@ -145,9 +139,9 @@ public RemapAction() { @Override public void execute() { - Path input = getParameters().getInput().get().toPath(); - Path mappings = getParameters().getMappings().get().toPath(); - Path output = getParameters().getOutput().get().toPath(); + final Path input = this.getParameters().getInput().get().toPath(); + final Path mappings = this.getParameters().getMappings().get().toPath(); + final Path output = this.getParameters().getOutput().get().toPath(); remapUnpickDefinitions(input, mappings, output); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/unpick/UnpickJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/unpick/UnpickJarTask.java index 35f225dc9b..09c3ddfaf5 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/unpick/UnpickJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/unpick/UnpickJarTask.java @@ -3,58 +3,42 @@ import java.util.List; import org.gradle.api.file.RegularFileProperty; -import org.gradle.api.model.ObjectFactory; import org.gradle.api.tasks.InputFile; import org.gradle.api.tasks.JavaExec; import org.gradle.api.tasks.OutputFile; import quilt.internal.Constants; import quilt.internal.tasks.MappingsTask; -public class UnpickJarTask extends JavaExec implements MappingsTask { - private final RegularFileProperty inputFile; - private final RegularFileProperty outputFile; - private final RegularFileProperty unpickDefinition; - private final RegularFileProperty unpickConstantsJar; +public abstract class UnpickJarTask extends JavaExec implements MappingsTask { + @InputFile + public abstract RegularFileProperty getInputFile(); + + @OutputFile + public abstract RegularFileProperty getOutputFile(); + + @InputFile + public abstract RegularFileProperty getUnpickDefinition(); + + @InputFile + public abstract RegularFileProperty getUnpickConstantsJar(); public UnpickJarTask() { this.setGroup(Constants.Groups.UNPICK); this.getMainClass().set("daomephsta.unpick.cli.Main"); - classpath(getProject().getConfigurations().getByName("unpick")); - - ObjectFactory objectFactory = getProject().getObjects(); - inputFile = objectFactory.fileProperty(); - outputFile = objectFactory.fileProperty(); - unpickDefinition = objectFactory.fileProperty(); - unpickConstantsJar = objectFactory.fileProperty(); + this.classpath(this.getProject().getConfigurations().getByName("unpick")); } @Override public void exec() { - args(List.of( - inputFile.get().getAsFile().getAbsolutePath(), outputFile.get().getAsFile().getAbsolutePath(), unpickDefinition.get().getAsFile().getAbsolutePath(), unpickConstantsJar.get().getAsFile().getAbsolutePath() + this.args(List.of( + this.getInputFile().get().getAsFile().getAbsolutePath(), + this.getOutputFile().get().getAsFile().getAbsolutePath(), + this.getUnpickDefinition().get().getAsFile().getAbsolutePath(), + this.getUnpickConstantsJar().get().getAsFile().getAbsolutePath() )); - args(getProject().getConfigurations().getByName("decompileClasspath").getFiles()); - super.exec(); - } - @InputFile - public RegularFileProperty getInputFile() { - return inputFile; - } - - @OutputFile - public RegularFileProperty getOutputFile() { - return outputFile; - } - - @InputFile - public RegularFileProperty getUnpickDefinition() { - return unpickDefinition; - } - - @InputFile - public RegularFileProperty getUnpickConstantsJar() { - return unpickConstantsJar; + this.args(this.getProject().getConfigurations().getByName("decompileClasspath").getFiles()); + super.exec(); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java b/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java index 176f460246..0597b25a4c 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java @@ -3,7 +3,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; -import java.net.URL; +import java.net.URI; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; @@ -13,6 +13,7 @@ import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -36,17 +37,20 @@ import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; -public class OpenGlConstantUnpickGenerator extends DefaultMappingsTask implements UnpickGen { +public abstract class OpenGlConstantUnpickGenerator extends DefaultMappingsTask implements UnpickGen { public static final String TASK_NAME = "openGlUnpickGen"; - public static final String OPEN_GL_REGISTRY = "https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/gl.xml"; + public static final String OPEN_GL_REGISTRY = + "https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/gl.xml"; public static final String GL_STATE_MANAGER_CLASS = "com/mojang/blaze3d/platform/GlStateManager"; - public static final List OPEN_GL_VERSIONS = List.of("11", "12", "13", "14", "15", "20", "21", "30", "31", "32"); + public static final List OPEN_GL_VERSIONS = + List.of("11", "12", "13", "14", "15", "20", "21", "30", "31", "32"); - private static final Predicate LWJGL_LIBRARY_PREDICATE = Pattern.compile("^org\\.lwjgl:lwjgl-opengl:([^:]*)$").asMatchPredicate(); + private static final Predicate LWJGL_LIBRARY_PREDICATE = + Pattern.compile("^org\\.lwjgl:lwjgl-opengl:([^:]*)$").asMatchPredicate(); @InputFile - private final RegularFileProperty versionFile; + public abstract RegularFileProperty getVersionFile(); public OpenGlConstantUnpickGenerator() { super(Constants.Groups.UNPICK_GEN); @@ -55,48 +59,44 @@ public OpenGlConstantUnpickGenerator() { this.onlyIf(_task -> !this.fileConstants.unpickGlDefinitions.exists() || !this.fileConstants.unpickGlStateManagerDefinitions.exists()); - versionFile = getProject().getObjects().fileProperty(); - versionFile.convention(() -> getTaskByType(DownloadMinecraftLibrariesTask.class).getVersionFile().getAsFile().get()); - - getInputs().file(versionFile); - } - - public RegularFileProperty getVersionFile() { - return versionFile; + this.getVersionFile().convention(() -> + this.getTaskNamed(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class + ).getVersionFile().getAsFile().get() + ); } @TaskAction public void exec() throws Exception { - JsonNode tree = new XmlMapper().readTree(new URL(OPEN_GL_REGISTRY)); - List methods = new ArrayList<>(); + final JsonNode tree = new XmlMapper().readTree(new URI(OPEN_GL_REGISTRY).toURL()); + final List methods = new ArrayList<>(); tree.get("commands").get("command").forEach(command -> { - String name = command.get("proto").get("name").textValue(); - List params = new ArrayList<>(); + final String name = command.get("proto").get("name").textValue(); + final List params = new ArrayList<>(); if (command.has("param")) { if (command.get("param").isArray()) { command.get("param").forEach(param -> addParam(param, params)); } else { - JsonNode param = command.get("param"); + final JsonNode param = command.get("param"); addParam(param, params); } } methods.add(new GlFunc(name, params)); }); - Map> groupToConstants = new HashMap<>(); - Map isBitmask = new HashMap<>(); + final Map> groupToConstants = new HashMap<>(); + final Map isBitmask = new HashMap<>(); tree.get("enums").forEach(enumGroup -> { - boolean bitmask = enumGroup.has("type") && enumGroup.get("type").asText().equals("bitmask"); + final boolean bitmask = enumGroup.has("type") && enumGroup.get("type").asText().equals("bitmask"); if (enumGroup.has("enum") && enumGroup.get("enum").isArray()) { enumGroup.get("enum").forEach(enumEntry -> { if (!enumEntry.has("name") || !enumEntry.has("group")) { return; } - String name = enumEntry.get("name").asText(); - String groups = enumEntry.get("group").asText(); + final String name = enumEntry.get("name").asText(); + final String groups = enumEntry.get("group").asText(); - for (String group : groups.split(",")) { + for (final String group : groups.split(",")) { groupToConstants.computeIfAbsent(group, _group -> new ArrayList<>()).add(name); isBitmask.putIfAbsent(group, bitmask); } @@ -105,85 +105,116 @@ public void exec() throws Exception { }); // Resolve lwjgl jar file - Version metaVersion = Version.fromString(FileUtils.readFileToString(versionFile.get().getAsFile(), StandardCharsets.UTF_8)); - String lwjglUrl = metaVersion.getLibraries().stream().filter(l -> LWJGL_LIBRARY_PREDICATE.test(l.getName())) + final Version metaVersion = Version.fromString( + FileUtils.readFileToString(this.getVersionFile().get().getAsFile(), StandardCharsets.UTF_8) + ); + final String lwjglUrl = + metaVersion.getLibraries().stream().filter(l -> LWJGL_LIBRARY_PREDICATE.test(l.getName())) .findFirst() .map(Library::getDownloads) .flatMap(Library.LibraryDownloads::getArtifact) .map(DownloadableFile.PathDownload::getUrl) .orElseThrow(() -> new IllegalStateException("Could not find lwjgl in version meta")); - File lwjglFile = DownloadMinecraftLibrariesTask.getArtifactFile(fileConstants, lwjglUrl); - - Map> constantToDefiningVersions = new HashMap<>(); - Map>> functionToSignatureToDefiningVersions = new HashMap<>(); - ZipFile zip = new ZipFile(lwjglFile); - OPEN_GL_VERSIONS.forEach(version -> { - try { - ZipEntry e = zip.getEntry("org/lwjgl/opengl/GL" + version + ".class"); - ClassReader reader = new ClassReader(zip.getInputStream(e).readAllBytes()); - - ZipEntry e2 = zip.getEntry("org/lwjgl/opengl/GL" + version + "C.class"); - ClassReader reader2 = new ClassReader(zip.getInputStream(e2).readAllBytes()); - - - reader.accept(new ClassVisitor(Opcodes.ASM9) { - @Override - public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) { - constantToDefiningVersions.computeIfAbsent(name, n -> new ArrayList<>()).add(version); - return super.visitField(access, name, descriptor, signature, value); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) { - functionToSignatureToDefiningVersions.computeIfAbsent(name, n -> new HashMap<>()).computeIfAbsent(Signature.from(descriptor), d -> new ArrayList<>()).add(version); - return super.visitMethod(access, name, descriptor, signature, exceptions); - } - }, 1); - - reader2.accept(new ClassVisitor(Opcodes.ASM9) { - @Override - public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) { - List versions = constantToDefiningVersions.computeIfAbsent(name, n -> new ArrayList<>()); - // We only want to use one version of the constants - if (!versions.contains(version)) { - versions.add(version + "C"); - } - return super.visitField(access, name, descriptor, signature, value); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) { - // We want to unpick all the methods - functionToSignatureToDefiningVersions.computeIfAbsent(name, n -> new HashMap<>()).computeIfAbsent(Signature.from(descriptor), d -> new ArrayList<>()).add(version + "C"); - return super.visitMethod(access, name, descriptor, signature, exceptions); - } - }, 1); - } catch (Exception e) { - throw new RuntimeException(e); - } - }); + final File lwjglFile = DownloadMinecraftLibrariesTask.getArtifactFile(this.fileConstants, lwjglUrl); + + final Map> constantToDefiningVersions = new HashMap<>(); + final Map>> functionToSignatureToDefiningVersions = new HashMap<>(); + try (ZipFile zip = new ZipFile(lwjglFile)) { + OPEN_GL_VERSIONS.forEach(version -> { + try { + final ZipEntry e = zip.getEntry("org/lwjgl/opengl/GL" + version + ".class"); + final ClassReader reader = new ClassReader(zip.getInputStream(e).readAllBytes()); + + final ZipEntry e2 = zip.getEntry("org/lwjgl/opengl/GL" + version + "C.class"); + final ClassReader reader2 = new ClassReader(zip.getInputStream(e2).readAllBytes()); + + + reader.accept( + new ClassVisitor(Opcodes.ASM9) { + @Override + public FieldVisitor visitField( + int access, String name, String descriptor, String signature, Object value + ) { + constantToDefiningVersions.computeIfAbsent(name, n -> new ArrayList<>()).add(version); + return super.visitField(access, name, descriptor, signature, value); + } + + @Override + public MethodVisitor visitMethod( + int access, String name, String descriptor, String signature, String[] exceptions + ) { + functionToSignatureToDefiningVersions + .computeIfAbsent(name, n -> new HashMap<>()) + .computeIfAbsent(Signature.from(descriptor), d -> new ArrayList<>()) + .add(version); + + return super.visitMethod(access, name, descriptor, signature, exceptions); + } + }, + 1 + ); + + reader2.accept( + new ClassVisitor(Opcodes.ASM9) { + @Override + public FieldVisitor visitField( + int access, String name, String descriptor, String signature, Object value + ) { + final List versions = + constantToDefiningVersions.computeIfAbsent(name, n -> new ArrayList<>()); + // We only want to use one version of the constants + if (!versions.contains(version)) { + versions.add(version + "C"); + } + + return super.visitField(access, name, descriptor, signature, value); + } + + @Override + public MethodVisitor visitMethod( + int access, String name, String descriptor, String signature, String[] exceptions + ) { + // We want to unpick all the methods + functionToSignatureToDefiningVersions.computeIfAbsent( + name, + n -> new HashMap<>()).computeIfAbsent(Signature.from(descriptor), + d -> new ArrayList<>()).add(version + "C" + ); + + return super.visitMethod(access, name, descriptor, signature, exceptions); + } + }, + 1 + ); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); + } { - File unpickGl = this.fileConstants.unpickGlDefinitions; + final File unpickGl = this.fileConstants.unpickGlDefinitions; unpickGl.delete(); unpickGl.createNewFile(); - PrintStream out = new PrintStream(new FileOutputStream(unpickGl)); + final PrintStream out = new PrintStream(new FileOutputStream(unpickGl)); out.println("v2\n# This file was automatically generated, do not modify it\n"); - for (String group : groupToConstants.keySet()) { + for (final String group : groupToConstants.keySet()) { boolean generated = false; - String type = isBitmask.get(group) ? "flag" : "constant"; + final String type = isBitmask.get(group) ? "flag" : "constant"; - for (String constant : groupToConstants.get(group)) { + for (final String constant : groupToConstants.get(group)) { if (!generated && constantToDefiningVersions.containsKey(constant)) { generated = true; } constantToDefiningVersions .getOrDefault(constant, Collections.emptyList()) - .forEach(version -> out.println(type + " " + group + " org/lwjgl/opengl/GL" + version + " " + constant)); + .forEach(version -> + out.println(type + " " + group + " org/lwjgl/opengl/GL" + version + " " + constant) + ); } if (generated) { @@ -191,21 +222,28 @@ public MethodVisitor visitMethod(int access, String name, String descriptor, Str } } - for (GlFunc func : methods) { - boolean shouldGenerate = func.parameters.stream().anyMatch(param -> isBitmask.containsKey(param.group)); + for (final GlFunc func : methods) { + final boolean shouldGenerate = + func.parameters.stream().anyMatch(param -> isBitmask.containsKey(param.group)); if (shouldGenerate) { functionToSignatureToDefiningVersions.getOrDefault(func.name, new HashMap<>()) .forEach((signature, versions) -> { versions.forEach(version -> { - out.println("target_method org/lwjgl/opengl/GL" + version + " " + func.name + " " + signature.signature); - printParams(isBitmask, out, func, false, signature); + out.println( + "target_method org/lwjgl/opengl/GL" + version + " " + func.name + " " + + signature.signature + ); + this.printParams(isBitmask, out, func, false, signature); }); }); functionToSignatureToDefiningVersions.getOrDefault("n" + func.name, new HashMap<>()) .forEach((signature, versions) -> { versions.forEach(version -> { - out.println("target_method org/lwjgl/opengl/GL" + version + " n" + func.name + " " + signature.signature); - printParams(isBitmask, out, func, true, signature); + out.println( + "target_method org/lwjgl/opengl/GL" + version + " n" + func.name + " " + + signature.signature + ); + this.printParams(isBitmask, out, func, true, signature); }); }); if (functionToSignatureToDefiningVersions.containsKey(func.name)) { @@ -216,57 +254,72 @@ public MethodVisitor visitMethod(int access, String name, String descriptor, Str } { - File unpickGlStateManager = this.fileConstants.unpickGlStateManagerDefinitions; + final File unpickGlStateManager = this.fileConstants.unpickGlStateManagerDefinitions; unpickGlStateManager.delete(); unpickGlStateManager.createNewFile(); - PrintStream out = new PrintStream(new FileOutputStream(unpickGlStateManager)); + final PrintStream out = new PrintStream(new FileOutputStream(unpickGlStateManager)); out.println("v2\n# This file was automatically generated, do not modify it\n"); - Map> methodToSignature = new HashMap<>(); - ZipFile minecraftJar = new ZipFile(this.fileConstants.perVersionMappingsJar); - ClassReader reader = new ClassReader(minecraftJar.getInputStream(minecraftJar.getEntry(GL_STATE_MANAGER_CLASS + ".class")).readAllBytes()); + final Map> methodToSignature = new HashMap<>(); + try (ZipFile minecraftJar = new ZipFile(this.fileConstants.perVersionMappingsJar)) { + final ClassReader reader = new ClassReader( + minecraftJar.getInputStream(minecraftJar.getEntry(GL_STATE_MANAGER_CLASS + ".class")) + .readAllBytes() + ); - reader.accept(new ClassVisitor(Opcodes.ASM9) { - @Override - public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) { - methodToSignature.computeIfAbsent(name, n -> new ArrayList<>()).add(Signature.from(descriptor)); - return super.visitMethod(access, name, descriptor, signature, exceptions); - } - }, 1); + reader.accept(new ClassVisitor(Opcodes.ASM9) { + @Override + public MethodVisitor visitMethod( + int access, String name, String descriptor, String signature, String[] exceptions + ) { + methodToSignature.computeIfAbsent(name, n -> new ArrayList<>()).add(Signature.from(descriptor)); + + return super.visitMethod(access, name, descriptor, signature, exceptions); + } + }, 1); + } methodToSignature.forEach((method, signatures) -> { - String strippedName = method.startsWith("_") ? method.substring(1) : method; - String glName = strippedName.startsWith("gl") ? strippedName : "gl" + Character.toUpperCase(strippedName.charAt(0)) + strippedName.substring(1); + final String strippedName = method.startsWith("_") ? method.substring(1) : method; + final String glName = strippedName.startsWith("gl") + ? strippedName + : "gl" + Character.toUpperCase(strippedName.charAt(0)) + strippedName.substring(1); List funcs = methods.stream().filter(f -> f.name.equals(glName)).toList(); if (funcs.size() > 1) { throw new RuntimeException("Multiple methods found for " + method + ": " + funcs); } - if (funcs.size() == 0) { + if (funcs.isEmpty()) { funcs = methods.stream().filter(f -> f.name.equals(glName + "i")).toList(); - if (funcs.size() == 0) { + if (funcs.isEmpty()) { return; } } - GlFunc func = funcs.get(0); - boolean shouldGenerate = func.parameters.stream().anyMatch(param -> isBitmask.containsKey(param.group)); + final GlFunc func = funcs.getFirst(); + final boolean shouldGenerate = + func.parameters.stream().anyMatch(param -> isBitmask.containsKey(param.group)); if (shouldGenerate) { signatures.forEach(signature -> { - out.println("target_method " + GL_STATE_MANAGER_CLASS + " " + method + " " + signature.signature); - printParams(isBitmask, out, func, false, signature); + out.println( + "target_method " + GL_STATE_MANAGER_CLASS + " " + method + " " + signature.signature + ); + this.printParams(isBitmask, out, func, false, signature); }); + out.println(); } }); } } - private void printParams(Map isBitmask, PrintStream out, GlFunc func, boolean isUnsafe, Signature signature) { + private void printParams( + Map isBitmask, PrintStream out, GlFunc func, boolean isUnsafe, Signature signature + ) { for (int i = 0; i < func.parameters.size(); i++) { - GlParam param = func.parameters.get(i); + final GlParam param = func.parameters.get(i); if (isBitmask.containsKey(param.group)) { if (!isUnsafe) { if (func.name.equals("glBufferData") && i == 3) { @@ -274,6 +327,7 @@ private void printParams(Map isBitmask, PrintStream out, GlFunc continue; } } + if (signature.isInt(i)) { out.println("\tparam " + i + " " + param.group); } @@ -294,30 +348,32 @@ private static void addParam(JsonNode param, List params) { private record GlFunc(String name, List parameters) { @Override public String toString() { - return name + ":\n" + String.join("\n", parameters.stream().map(Object::toString).toList()).indent(4); + return this.name + ":\n" + + this.parameters.stream().map(Object::toString).collect(Collectors.joining("\n")).indent(4); } } private record GlParam(String name, String ptype, String group) { @Override public String toString() { - return String.format("%s %s", ptype, name) + (group.isEmpty() ? "" : "(" + group + ")"); + return "%s %s%s".formatted(this.ptype, this.name, this.group.isEmpty() ? "" : "(" + this.group + ")"); } } private record Signature(String signature, List types) { private static Signature from(String signature) { - String trimmed = signature.substring(1, signature.length() - 2); - Matcher matcher = Pattern.compile("(L.+?;|.)").matcher(trimmed); + final String trimmed = signature.substring(1, signature.length() - 2); + final Matcher matcher = Pattern.compile("(L.+?;|.)").matcher(trimmed); matcher.find(); return new Signature(signature, matcher.results().map(matchResult -> matchResult.group(1)).toList()); } private boolean isInt(int index) { - if (index >= types.size()) { + if (index >= this.types.size()) { return false; } - return types.get(index).equals("I"); + + return this.types.get(index).equals("I"); } } } diff --git a/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java b/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java index 30fb6afc6e..61d83fe7ea 100644 --- a/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java +++ b/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java @@ -1,15 +1,13 @@ package quilt.internal.util; -import org.gradle.api.file.RegularFile; import org.gradle.api.file.RegularFileProperty; -import java.io.File; import java.nio.file.Path; public final class PropertyUtil { private PropertyUtil() { } public static Path getPath(RegularFileProperty fileProperty) { - return fileProperty.map(RegularFile::getAsFile).map(File::toPath).get(); + return fileProperty.get().getAsFile().toPath(); } } From 617179f598509ac83622b29bf4bae70f7defdb2d Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 28 Sep 2024 13:09:05 -0700 Subject: [PATCH 19/24] the registerening add missing get() to extractServerJar --- .../java/quilt/internal/MappingsPlugin.java | 60 +++++++++---------- .../tasks/setup/ExtractServerJarTask.java | 2 +- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index c34ebb3fac..b962ba7628 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -50,54 +50,54 @@ public void apply(Project project) { task.getEnigmaProfile().convention(ext.enigmaProfile) ); - tasks.create(DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class); - tasks.create(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class); - tasks.create(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class); - tasks.create(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class); - tasks.create(MergeJarsTask.TASK_NAME, MergeJarsTask.class); - tasks.create(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class); + tasks.register(DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class); + tasks.register(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class); + tasks.register(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class); + tasks.register(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class); + tasks.register(MergeJarsTask.TASK_NAME, MergeJarsTask.class); + tasks.register(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class); final var downloadPerVersionMappings = - tasks.create(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); - tasks.create(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); + tasks.register(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); + tasks.register(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); final var buildMappingsTiny = tasks.create(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); - tasks.create(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, task -> { + tasks.register(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, task -> { task.dependsOn(downloadPerVersionMappings); task.getInputJar().set(ext.getFileConstants().perVersionMappingsJar); task.getInputMappings().set(buildMappingsTiny.getOutputMappings()); }); - tasks.create(MergeTinyTask.TASK_NAME, MergeTinyTask.class); - tasks.create(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class); - tasks.create(TinyJarTask.TASK_NAME, TinyJarTask.class); - tasks.create(CompressTinyTask.TASK_NAME, CompressTinyTask.class); - tasks.create(DropInvalidMappingsTask.TASK_NAME, DropInvalidMappingsTask.class); + tasks.register(MergeTinyTask.TASK_NAME, MergeTinyTask.class); + tasks.register(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class); + tasks.register(TinyJarTask.TASK_NAME, TinyJarTask.class); + tasks.register(CompressTinyTask.TASK_NAME, CompressTinyTask.class); + tasks.register(DropInvalidMappingsTask.TASK_NAME, DropInvalidMappingsTask.class); - tasks.create(MapPerVersionMappingsJarTask.TASK_NAME, MapPerVersionMappingsJarTask.class); - tasks.create(MapNamedJarTask.TASK_NAME, MapNamedJarTask.class); + tasks.register(MapPerVersionMappingsJarTask.TASK_NAME, MapPerVersionMappingsJarTask.class); + tasks.register(MapNamedJarTask.TASK_NAME, MapNamedJarTask.class); - tasks.create(CombineUnpickDefinitionsTask.TASK_NAME, CombineUnpickDefinitionsTask.class); - tasks.create(RemapUnpickDefinitionsTask.TASK_NAME, RemapUnpickDefinitionsTask.class); - tasks.create(OpenGlConstantUnpickGenerator.TASK_NAME, OpenGlConstantUnpickGenerator.class); + tasks.register(CombineUnpickDefinitionsTask.TASK_NAME, CombineUnpickDefinitionsTask.class); + tasks.register(RemapUnpickDefinitionsTask.TASK_NAME, RemapUnpickDefinitionsTask.class); + tasks.register(OpenGlConstantUnpickGenerator.TASK_NAME, OpenGlConstantUnpickGenerator.class); - tasks.create(GeneratePackageInfoMappingsTask.TASK_NAME, GeneratePackageInfoMappingsTask.class); - tasks.create(DownloadDictionaryFileTask.TASK_NAME, DownloadDictionaryFileTask.class); + tasks.register(GeneratePackageInfoMappingsTask.TASK_NAME, GeneratePackageInfoMappingsTask.class); + tasks.register(DownloadDictionaryFileTask.TASK_NAME, DownloadDictionaryFileTask.class); final var mappingLint = tasks.create(MappingLintTask.TASK_NAME, MappingLintTask.class); - tasks.create(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, task -> { + tasks.register(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, task -> { task.getMappingDirectory().set(mappingLint.getMappingDirectory()); mappingLint.dependsOn(task); }); - tasks.create(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class); - tasks.create(DownloadIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.class); - tasks.create(MergeIntermediaryTask.TASK_NAME, MergeIntermediaryTask.class); - tasks.create(RemoveIntermediaryTask.TASK_NAME, RemoveIntermediaryTask.class); + tasks.register(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class); + tasks.register(DownloadIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.class); + tasks.register(MergeIntermediaryTask.TASK_NAME, MergeIntermediaryTask.class); + tasks.register(RemoveIntermediaryTask.TASK_NAME, RemoveIntermediaryTask.class); - tasks.create(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class); - tasks.create(DownloadTargetMappingJarTask.TASK_NAME, DownloadTargetMappingJarTask.class); - tasks.create(CheckUnpickVersionsMatchTask.TASK_NAME, CheckUnpickVersionsMatchTask.class); - tasks.create(RemapTargetMinecraftJarTask.TASK_NAME, RemapTargetMinecraftJarTask.class); + tasks.register(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class); + tasks.register(DownloadTargetMappingJarTask.TASK_NAME, DownloadTargetMappingJarTask.class); + tasks.register(CheckUnpickVersionsMatchTask.TASK_NAME, CheckUnpickVersionsMatchTask.class); + tasks.register(RemapTargetMinecraftJarTask.TASK_NAME, RemapTargetMinecraftJarTask.class); } public static MappingsExtension getExtension(Project project) { diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java index db2b20b17a..05dbab57e6 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java @@ -39,7 +39,7 @@ public void extractServerJar() throws IOException { FileUtils.copyFile( // TODO eliminate project access in task action this.getProject() - .zipTree(this.getServerBootstrapJar()) + .zipTree(this.getServerBootstrapJar().get()) .matching(patternFilterable -> patternFilterable.include("META-INF/versions/*/server-*.jar")) .getSingleFile(), this.getServerJar().get().getAsFile() From ce5a5eddd4c5dbf6fa71fff1ec9e527a79f274c9 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 28 Sep 2024 14:52:35 -0700 Subject: [PATCH 20/24] move downloadVersionsManifest and downloadWantedVersionManifest configuration to MappingsPlugin refine downloadWantedVersionManifest inputs/outputs --- .../quilt/internal/MappingsExtension.java | 4 + .../java/quilt/internal/MappingsPlugin.java | 25 +++++-- .../internal/tasks/DefaultMappingsTask.java | 1 + .../quilt/internal/tasks/MappingsTask.java | 3 +- .../setup/DownloadVersionsManifestTask.java | 5 -- .../DownloadWantedVersionManifestTask.java | 75 +++++++++++-------- 6 files changed, 68 insertions(+), 45 deletions(-) diff --git a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java index 5d3f64f5a1..b367b37026 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java @@ -15,6 +15,10 @@ public abstract class MappingsExtension { private final FileConstants fileConstants; + public static MappingsExtension get(Project project) { + return project.getExtensions().getByType(MappingsExtension.class); + } + protected abstract RegularFileProperty getEnigmaProfileFile(); public MappingsExtension(Project project) { diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index b962ba7628..c8a5606124 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -37,6 +37,8 @@ import quilt.internal.tasks.unpick.RemapUnpickDefinitionsTask; import quilt.internal.tasks.unpick.gen.OpenGlConstantUnpickGenerator; +import java.io.File; + public class MappingsPlugin implements Plugin { public static final String INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME = "insertAutoGeneratedMappings"; @@ -50,8 +52,23 @@ public void apply(Project project) { task.getEnigmaProfile().convention(ext.enigmaProfile) ); - tasks.register(DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class); - tasks.register(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class); + final var downloadVersionsManifest = tasks.register( + DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class, + task -> { + task.getManifestFile().convention(() -> new File( + ext.getFileConstants().cacheFilesMinecraft, + "version_manifest_v2.json" + )); + } + ); + + tasks.register(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class, task -> { + task.getManifest().convention(downloadVersionsManifest.get().getManifestFile()); + + task.getVersionFile().convention(() -> + new File(ext.getFileConstants().cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json") + ); + }); tasks.register(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class); tasks.register(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class); tasks.register(MergeJarsTask.TASK_NAME, MergeJarsTask.class); @@ -99,8 +116,4 @@ public void apply(Project project) { tasks.register(CheckUnpickVersionsMatchTask.TASK_NAME, CheckUnpickVersionsMatchTask.class); tasks.register(RemapTargetMinecraftJarTask.TASK_NAME, RemapTargetMinecraftJarTask.class); } - - public static MappingsExtension getExtension(Project project) { - return project.getExtensions().getByType(MappingsExtension.class); - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java index 4d78093d10..31c96201b3 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java @@ -8,6 +8,7 @@ public abstract class DefaultMappingsTask extends DefaultTask implements Mapping public DefaultMappingsTask(String group) { this.fileConstants = this.mappingsExt().getFileConstants(); + // TODO set groups in registerDefault methods instead of here this.setGroup(group); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java index 359457b8c7..09226e573c 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java @@ -7,7 +7,6 @@ import org.gradle.api.file.RegularFile; import org.gradle.api.provider.Provider; import quilt.internal.MappingsExtension; -import quilt.internal.MappingsPlugin; import quilt.internal.util.DownloadImmediate; // TODO check if tasks that depend on other other tasks' outputs have task dependencies that can be eliminated @@ -43,7 +42,7 @@ default void outputsNeverUpToDate() { } default MappingsExtension mappingsExt() { - return MappingsPlugin.getExtension(this.getProject()); + return MappingsExtension.get(this.getProject()); } default VersionCatalogsExtension versionCatalogs() { diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java index 9702947348..c4fa546d04 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java @@ -1,6 +1,5 @@ package quilt.internal.tasks.setup; -import java.io.File; import java.io.IOException; import org.gradle.api.file.RegularFileProperty; @@ -17,10 +16,6 @@ public abstract class DownloadVersionsManifestTask extends DefaultMappingsTask { public DownloadVersionsManifestTask() { super(Constants.Groups.SETUP_GROUP); - - this.getManifestFile().convention(() -> - new File(this.fileConstants.cacheFilesMinecraft, "version_manifest_v2.json") - ); } @TaskAction diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java index 5362051c3e..9205fdc7fe 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadWantedVersionManifestTask.java @@ -9,7 +9,13 @@ import java.util.Optional; import org.apache.commons.io.FileUtils; +import org.gradle.api.GradleException; +import org.gradle.api.file.RegularFile; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import org.quiltmc.launchermeta.version_manifest.VersionEntry; @@ -20,53 +26,58 @@ public abstract class DownloadWantedVersionManifestTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadWantedVersionManifest"; - // TODO manifestVersion should probably be an input mapped from manifestFile - private final File manifestFile; - private final Optional manifestVersion; + @InputFile + public abstract RegularFileProperty getManifest(); + + @Internal("Fingerprinting is handled by getManifest and getReleaseTime") + protected abstract Property getManifestVersion(); + + @Input + @org.gradle.api.tasks.Optional + protected abstract Property getReleaseTime(); @OutputFile public abstract RegularFileProperty getVersionFile(); - public DownloadWantedVersionManifestTask() throws IOException { + public DownloadWantedVersionManifestTask() { super(Constants.Groups.SETUP_GROUP); - this.dependsOn(DownloadVersionsManifestTask.TASK_NAME); - this.manifestFile = this.getTaskNamed(DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class) - .getManifestFile().get().getAsFile(); - this.manifestVersion = getManifestVersion(this.manifestFile); - this.getInputs().property("versionsManifest", this.manifestFile); - // have to grab the release time as there's a current timestamp on each element?! - this.getInputs().property( - "releaseTime", - this.manifestVersion.isPresent() - ? this.manifestVersion.get().getReleaseTime() - : -1 - ); - this.getVersionFile().convention(() -> - new File(this.fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json") + // provide an informative error message if version data can't be obtained + this.getManifestVersion().convention(this.getProject().provider(() -> { + throw new GradleException("No version data for Minecraft version " + Constants.MINECRAFT_VERSION); + })); + + this.getManifestVersion().set( + this.getManifest() + .map(RegularFile::getAsFile) + .map(DownloadWantedVersionManifestTask::getManifestVersion) + .map(version -> version.orElse(null)) ); + + // have to grab the release time as there's a current timestamp on each element?! + // TODO I don't think this is necessary, the fact that getManifest is an input should take care of it. + this.getReleaseTime().convention(this.getManifestVersion().map(VersionEntry::getReleaseTime)); } @TaskAction public void downloadWantedVersionManifestTask() throws IOException, URISyntaxException { - final Optional _manifestVersion = this.manifestVersion.isEmpty() - ? getManifestVersion(this.manifestFile) - : this.manifestVersion; //nb need to re-read here in case it didn't exist before final File versionFile = this.getVersionFile().get().getAsFile(); - if (_manifestVersion.isPresent() || versionFile.exists()) { - if (_manifestVersion.isPresent()) { - FileUtils.copyURLToFile(new URI(_manifestVersion.get().getUrl()).toURL(), versionFile); - } - } else { - throw new RuntimeException("No version data for Minecraft version " + Constants.MINECRAFT_VERSION); - } + + FileUtils.copyURLToFile(new URI(this.getManifestVersion().get().getUrl()).toURL(), versionFile); } - private static Optional getManifestVersion(File manifestFile) throws IOException { - final VersionManifest manifest = manifestFile.exists() - ? VersionManifest.fromReader(Files.newBufferedReader(manifestFile.toPath(), Charset.defaultCharset())) - : null; + private static Optional getManifestVersion(File manifestFile) { + final VersionManifest manifest; + + try { + manifest = manifestFile.exists() + ? VersionManifest.fromReader(Files.newBufferedReader(manifestFile.toPath(), Charset.defaultCharset())) + : null; + } catch (IOException e) { + throw new GradleException("Failed to read manifest", e); + } + return manifest == null ? Optional.empty() : manifest.getVersions().stream().filter(it -> it.getId().equals(Constants.MINECRAFT_VERSION)).findFirst(); From 32b7c0ec471886cb91ee2d51a6ab0003fc742c2d Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 28 Sep 2024 16:44:49 -0700 Subject: [PATCH 21/24] move downloadMinecraftJars, extractServerJar, and mergeJars configuration to MappingsExtension refine their properties and dependencies make ExtractServerJarTask's getServerBootstrapJar() an input instead of an output make downloadMinecraftJars not finalizedBy extractServerJar as input/output handling is preferable --- .../java/quilt/internal/MappingsPlugin.java | 54 ++++++++++--- .../quilt/internal/tasks/MappingsTask.java | 4 +- .../diff/DownloadTargetMappingJarTask.java | 10 +-- .../setup/DownloadMinecraftJarsTask.java | 75 +++++++++---------- .../tasks/setup/ExtractServerJarTask.java | 15 +--- .../internal/tasks/setup/MergeJarsTask.java | 12 --- 6 files changed, 89 insertions(+), 81 deletions(-) diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index c8a5606124..08a641edba 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -3,6 +3,7 @@ import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.tasks.TaskContainer; +import org.jetbrains.annotations.NotNull; import quilt.internal.tasks.EnigmaProfileConsumingTask; import quilt.internal.tasks.build.AddProposedMappingsTask; import quilt.internal.tasks.build.BuildMappingsTinyTask; @@ -43,7 +44,7 @@ public class MappingsPlugin implements Plugin { public static final String INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME = "insertAutoGeneratedMappings"; @Override - public void apply(Project project) { + public void apply(@NotNull Project project) { final var ext = project.getExtensions().create("mappings", MappingsExtension.class, project); final TaskContainer tasks = project.getTasks(); @@ -62,16 +63,51 @@ public void apply(Project project) { } ); - tasks.register(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class, task -> { - task.getManifest().convention(downloadVersionsManifest.get().getManifestFile()); + final var downloadWantedVersionManifest = tasks.register( + DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class, + task -> { + task.getManifest().convention(downloadVersionsManifest.get().getManifestFile()); + + task.getVersionFile().convention(() -> + new File(ext.getFileConstants().cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json") + ); + } + ); + + final var downloadMinecraftJars = tasks.register( + DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class, + task -> { + task.getVersionFile().convention(downloadWantedVersionManifest.get().getVersionFile()); + + task.getClientJar().convention(() -> new File( + ext.getFileConstants().cacheFilesMinecraft, + Constants.MINECRAFT_VERSION + "-client.jar" + )); + task.getServerBootstrapJar().convention(() -> new File( + ext.getFileConstants().cacheFilesMinecraft, + Constants.MINECRAFT_VERSION + "-server-bootstrap.jar" + )); + } + ); + + final var extractServerJarTask = tasks.register( + ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class, + task -> { + task.getServerBootstrapJar().convention(downloadMinecraftJars.get().getServerBootstrapJar()); + + task.getServerJar().convention(() -> + new File(ext.getFileConstants().cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-server.jar") + ); + } + ); + + tasks.register(MergeJarsTask.TASK_NAME, MergeJarsTask.class, task -> { + task.getClientJar().convention(downloadMinecraftJars.get().getClientJar()); + task.getServerJar().convention(extractServerJarTask.get().getServerJar()); - task.getVersionFile().convention(() -> - new File(ext.getFileConstants().cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json") - ); + // TODO see if output jars like this can all go in a directory (build/minecraftJars/?) + task.getMergedFile().convention(() -> project.file(Constants.MINECRAFT_VERSION + "-merged.jar")); }); - tasks.register(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class); - tasks.register(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class); - tasks.register(MergeJarsTask.TASK_NAME, MergeJarsTask.class); tasks.register(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class); final var downloadPerVersionMappings = diff --git a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java index 09226e573c..66eb32858d 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java @@ -23,11 +23,11 @@ default T getTaskNamed(String name, Class taskClass) { return this.getProject().getTasks().named(name, taskClass).get(); } - default RegularFile createRegularProjectFile(String path) { + default RegularFile regularProjectFileOf(String path) { return this.getProjectDirectory().file(path); } - default Provider createRegularProjectFile(Provider path) { + default Provider regularProjectFileOf(Provider path) { return this.getProjectDirectory().file(path); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java index 229ce4b315..d851d397c9 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/diff/DownloadTargetMappingJarTask.java @@ -45,27 +45,27 @@ public DownloadTargetMappingJarTask() { ); this.getTargetMappingsFile().convention(targetOrMappingsVersion.map(version -> - this.createRegularProjectFile( + this.regularProjectFileOf( TARGET_MAPPINGS + "/quilt-mappings-" + version + "/mappings/mappings.tiny" )) ); this.getTargetUnpickFile().convention(targetOrMappingsVersion.map(version -> - this.createRegularProjectFile( + this.regularProjectFileOf( TARGET_MAPPINGS + "/quilt-mappings-" + version + "/extras/unpick.json" ) )); this.getTargetUnpickDefinitionsFile().convention(targetOrMappingsVersion.map(version -> - this.createRegularProjectFile( + this.regularProjectFileOf( TARGET_MAPPINGS + "/quilt-mappings-" + version + "/extras/definitions.unpick" ) )); this.getTargetUnpickRemappedDefinitionsFile().convention(targetOrMappingsVersion.map(version -> - this.createRegularProjectFile( + this.regularProjectFileOf( TARGET_MAPPINGS + "/quilt-mappings-" + version + "remapped-unpick.unpick" ) )); this.getTargetUnpickConstantsFile().convention(targetOrMappingsVersion.map(version -> - this.createRegularProjectFile( + this.regularProjectFileOf( TARGET_MAPPINGS + "/quilt-mappings-" + version + "-constants.jar" ) )); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java index 8219a3d80a..6fba659f55 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java @@ -7,9 +7,14 @@ import com.google.common.hash.HashCode; import com.google.common.hash.Hashing; import com.google.common.io.Files; +import org.gradle.api.GradleException; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; +import org.quiltmc.launchermeta.version.v1.Downloads; import org.quiltmc.launchermeta.version.v1.Version; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; @@ -17,58 +22,61 @@ public abstract class DownloadMinecraftJarsTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadMinecraftJars"; + @InputFile + public abstract RegularFileProperty getVersionFile(); + + @Internal("Fingerprinting is handled by getVersionFile") + protected abstract Property getVersion(); + @OutputFile public abstract RegularFileProperty getClientJar(); @OutputFile public abstract RegularFileProperty getServerBootstrapJar(); - private Version file; - public DownloadMinecraftJarsTask() { super(Constants.Groups.SETUP_GROUP); - this.dependsOn(DownloadWantedVersionManifestTask.TASK_NAME); - - this.getClientJar().convention(() -> new File( - this.fileConstants.cacheFilesMinecraft, - Constants.MINECRAFT_VERSION + "-client.jar" - )); - this.getServerBootstrapJar().convention(() -> new File( - this.fileConstants.cacheFilesMinecraft, - Constants.MINECRAFT_VERSION + "-server-bootstrap.jar" - )); - - this.getOutputs().upToDateWhen(_input -> { + + this.getVersion().convention(this.getVersionFile().map(file -> { + try { + return Version.fromReader(java.nio.file.Files.newBufferedReader( + file.getAsFile().toPath(), + StandardCharsets.UTF_8 + )); + } catch (IOException e) { + throw new GradleException("Failed to read version file", e); + } + })); + + this.getOutputs().upToDateWhen(unused -> { try { - return this.getClientJar().get().getAsFile().exists() - && this.getServerBootstrapJar().get().getAsFile().exists() - && validateChecksum( - this.getClientJar().get().getAsFile(), - this.getVersionFile().getDownloads().getClient().getSha1() - ) - && validateChecksum( - this.getServerBootstrapJar().get().getAsFile(), - this.getVersionFile().getDownloads().getServer().orElseThrow().getSha1() - ); + final File clientJar = this.getClientJar().get().getAsFile(); + final File serverBootstrapJar = this.getServerBootstrapJar().get().getAsFile(); + final Downloads versionDownloads = this.getVersion().get().getDownloads(); + + return clientJar.exists() && serverBootstrapJar.exists() + && validateChecksum(clientJar, versionDownloads.getClient().getSha1()) + && validateChecksum(serverBootstrapJar, versionDownloads.getServer().orElseThrow().getSha1()); } catch (Exception e) { return false; } }); - this.finalizedBy(ExtractServerJarTask.TASK_NAME); } @TaskAction public void downloadMinecraftJars() throws IOException { this.getLogger().lifecycle(":downloading minecraft jars"); + final Downloads versionDownloads = this.getVersion().get().getDownloads(); + this.startDownload() - .src(this.getVersionFile().getDownloads().getClient().getUrl()) + .src(versionDownloads.getClient().getUrl()) .dest(this.getClientJar().get().getAsFile()) .overwrite(false) .download(); this.startDownload() - .src(this.getVersionFile().getDownloads().getServer().orElseThrow().getUrl()) + .src(versionDownloads.getServer().orElseThrow().getUrl()) .dest(this.getServerBootstrapJar().get().getAsFile()) .overwrite(false) .download(); @@ -88,17 +96,4 @@ private static boolean validateChecksum(File file, String checksum) throws IOExc return false; } - - private Version getVersionFile() throws IOException { - if (this.file == null) { - this.file = Version.fromReader(java.nio.file.Files.newBufferedReader( - // TODO eliminate project access in task action - this.getTaskNamed(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class) - .getVersionFile().get().getAsFile().toPath(), - StandardCharsets.UTF_8 - )); - } - - return this.file; - } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java index 05dbab57e6..d8d41b5503 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractServerJarTask.java @@ -1,10 +1,10 @@ package quilt.internal.tasks.setup; -import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.InputFile; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; import quilt.internal.Constants; @@ -13,7 +13,7 @@ public abstract class ExtractServerJarTask extends DefaultMappingsTask { public static final String TASK_NAME = "extractServerJar"; - @OutputFile + @InputFile public abstract RegularFileProperty getServerBootstrapJar(); @OutputFile @@ -21,17 +21,6 @@ public abstract class ExtractServerJarTask extends DefaultMappingsTask { public ExtractServerJarTask() { super(Constants.Groups.SETUP_GROUP); - // TODO test if this dependency can be removed because of output file is an input - this.dependsOn(DownloadMinecraftJarsTask.TASK_NAME); - - this.getServerBootstrapJar().convention( - this.getTaskNamed(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class) - .getServerBootstrapJar() - ); - - this.getServerJar().convention(() -> - new File(this.fileConstants.cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-server.jar") - ); } @TaskAction diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java index d56579d954..9392d94b84 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java @@ -25,18 +25,6 @@ public abstract class MergeJarsTask extends DefaultMappingsTask { public MergeJarsTask() { super(Constants.Groups.SETUP_GROUP); - this.dependsOn(ExtractServerJarTask.TASK_NAME); - - this.getClientJar().convention( - this.getTaskNamed(DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class).getClientJar() - ); - this.getServerJar().convention( - this.getTaskNamed(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class).getServerJar() - ); - - this.getMergedFile().convention( - this.createRegularProjectFile(Constants.MINECRAFT_VERSION + "-merged.jar") - ); } @TaskAction From 5616c3a840cf2a9b0652d494a1205bbb24c92a65 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Sat, 28 Sep 2024 22:14:42 -0700 Subject: [PATCH 22/24] move downloadMinecraftLibraries and openGlConstantUnpickGenerator configuration to MappingsPlugin rework both tasks' inputs and outputs significantly downloadMinecraftLibraries is still screwy though: it accesses and modifies project in its task action add Task suffix to OpenGlConstantUnpickGenerator class rename PropertyUtil -> ProviderUtil and add projectDirProviderOf --- .../java/quilt/internal/MappingsPlugin.java | 46 +++++-- .../tasks/build/AddProposedMappingsTask.java | 8 +- .../tasks/build/BuildMappingsTinyTask.java | 4 +- .../tasks/build/RemoveIntermediaryTask.java | 6 +- .../setup/DownloadMinecraftLibrariesTask.java | 112 +++++++++++++----- ...=> OpenGlConstantUnpickGeneratorTask.java} | 40 ++++--- .../quilt/internal/util/PropertyUtil.java | 13 -- .../quilt/internal/util/ProviderUtil.java | 21 ++++ 8 files changed, 173 insertions(+), 77 deletions(-) rename buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/{OpenGlConstantUnpickGenerator.java => OpenGlConstantUnpickGeneratorTask.java} (92%) delete mode 100644 buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java create mode 100644 buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index 08a641edba..98aee6e96f 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -36,11 +36,13 @@ import quilt.internal.tasks.setup.MergeJarsTask; import quilt.internal.tasks.unpick.CombineUnpickDefinitionsTask; import quilt.internal.tasks.unpick.RemapUnpickDefinitionsTask; -import quilt.internal.tasks.unpick.gen.OpenGlConstantUnpickGenerator; +import quilt.internal.tasks.unpick.gen.OpenGlConstantUnpickGeneratorTask; import java.io.File; -public class MappingsPlugin implements Plugin { +import static quilt.internal.util.ProviderUtil.projectDirProviderOf; + +public abstract class MappingsPlugin implements Plugin { public static final String INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME = "insertAutoGeneratedMappings"; @Override @@ -95,9 +97,10 @@ public void apply(@NotNull Project project) { task -> { task.getServerBootstrapJar().convention(downloadMinecraftJars.get().getServerBootstrapJar()); - task.getServerJar().convention(() -> - new File(ext.getFileConstants().cacheFilesMinecraft, Constants.MINECRAFT_VERSION + "-server.jar") - ); + task.getServerJar().convention(() -> new File( + ext.getFileConstants().cacheFilesMinecraft, + Constants.MINECRAFT_VERSION + "-server.jar" + )); } ); @@ -108,7 +111,10 @@ public void apply(@NotNull Project project) { // TODO see if output jars like this can all go in a directory (build/minecraftJars/?) task.getMergedFile().convention(() -> project.file(Constants.MINECRAFT_VERSION + "-merged.jar")); }); - tasks.register(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class); + final var downloadMinecraftLibraries = tasks.register(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class, task -> { + task.getVersionFile().convention(downloadWantedVersionManifest.get().getVersionFile()); + task.getLibrariesDir().convention(projectDirProviderOf(project, ext.getFileConstants().libraries)); + }); final var downloadPerVersionMappings = tasks.register(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); @@ -117,8 +123,8 @@ public void apply(@NotNull Project project) { tasks.register(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, task -> { task.dependsOn(downloadPerVersionMappings); - task.getInputJar().set(ext.getFileConstants().perVersionMappingsJar); - task.getInputMappings().set(buildMappingsTiny.getOutputMappings()); + task.getInputJar().convention(() -> ext.getFileConstants().perVersionMappingsJar); + task.getInputMappings().convention(buildMappingsTiny.getOutputMappings()); }); tasks.register(MergeTinyTask.TASK_NAME, MergeTinyTask.class); @@ -132,14 +138,30 @@ public void apply(@NotNull Project project) { tasks.register(CombineUnpickDefinitionsTask.TASK_NAME, CombineUnpickDefinitionsTask.class); tasks.register(RemapUnpickDefinitionsTask.TASK_NAME, RemapUnpickDefinitionsTask.class); - tasks.register(OpenGlConstantUnpickGenerator.TASK_NAME, OpenGlConstantUnpickGenerator.class); + tasks.register(OpenGlConstantUnpickGeneratorTask.TASK_NAME, OpenGlConstantUnpickGeneratorTask.class, task -> { + // TODO eliminate this + task.dependsOn(MapPerVersionMappingsJarTask.TASK_NAME); + + task.getVersionFile().convention(downloadMinecraftLibraries.get().getVersionFile()); + + task.getPerVersionMappingsJar().convention(() -> ext.getFileConstants().perVersionMappingsJar); + + // TODO make sure this works even after MapPerVersionMappingsJarTask is updated + task.getArtifactsByUrl().convention(downloadMinecraftLibraries.get().artifactsByUrl); + + task.getUnpickGlStateManagerDefinitions().convention(() -> + ext.getFileConstants().unpickGlStateManagerDefinitions + ); + + task.getUnpickGlDefinitions().convention(() -> ext.getFileConstants().unpickGlDefinitions); + }); tasks.register(GeneratePackageInfoMappingsTask.TASK_NAME, GeneratePackageInfoMappingsTask.class); tasks.register(DownloadDictionaryFileTask.TASK_NAME, DownloadDictionaryFileTask.class); - final var mappingLint = tasks.create(MappingLintTask.TASK_NAME, MappingLintTask.class); + final var mappingLint = tasks.register(MappingLintTask.TASK_NAME, MappingLintTask.class); tasks.register(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, task -> { - task.getMappingDirectory().set(mappingLint.getMappingDirectory()); - mappingLint.dependsOn(task); + task.getMappingDirectory().set(mappingLint.get().getMappingDirectory()); + mappingLint.get().dependsOn(task); }); tasks.register(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java index 6d0903fd3e..dd6ce01542 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java @@ -38,7 +38,7 @@ import org.jetbrains.annotations.VisibleForTesting; import quilt.internal.Constants; import quilt.internal.tasks.EnigmaProfileConsumingTask; -import quilt.internal.util.PropertyUtil; +import quilt.internal.util.ProviderUtil; public abstract class AddProposedMappingsTask extends EnigmaProfileConsumingTask { @OutputFile @@ -59,9 +59,9 @@ public AddProposedMappingsTask() { public void addProposedMappings() throws Exception { this.getLogger().lifecycle(":seeking auto-mappable entries"); - final Path input = PropertyUtil.getPath(this.getInputMappings()); - final Path output = PropertyUtil.getPath(this.getOutputMappings()); - final Path jar = PropertyUtil.getPath(this.getInputJar()); + final Path input = ProviderUtil.getPath(this.getInputMappings()); + final Path output = ProviderUtil.getPath(this.getOutputMappings()); + final Path jar = ProviderUtil.getPath(this.getInputJar()); addProposedMappings(input, output, this.fileConstants.tempDir.toPath(), jar, this.getEnigmaProfile().get()); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java index 806ec38728..1113357aa6 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/BuildMappingsTinyTask.java @@ -14,7 +14,7 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; -import quilt.internal.util.PropertyUtil; +import quilt.internal.util.ProviderUtil; public abstract class BuildMappingsTinyTask extends DefaultMappingsTask { public static final String TASK_NAME = "buildMappingsTiny"; @@ -40,7 +40,7 @@ public void execute() throws IOException, MappingParseException { buildMappingsTiny( this.fileConstants.perVersionMappingsJar.toPath(), this.getMappings().get().getAsFile().toPath(), - PropertyUtil.getPath(this.getOutputMappings()) + ProviderUtil.getPath(this.getOutputMappings()) ); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java index 95eb4489d1..fd8c27a160 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/RemoveIntermediaryTask.java @@ -14,7 +14,7 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; -import quilt.internal.util.PropertyUtil; +import quilt.internal.util.ProviderUtil; import java.io.File; import java.io.IOException; @@ -49,8 +49,8 @@ public RemoveIntermediaryTask() { @TaskAction public void removeIntermediary() throws Exception { - final Path mappingsTinyInput = PropertyUtil.getPath(this.getInput()); - final Path output = PropertyUtil.getPath(this.getOutputMappings()); + final Path mappingsTinyInput = ProviderUtil.getPath(this.getInput()); + final Path output = ProviderUtil.getPath(this.getOutputMappings()); this.getLogger().lifecycle(":removing intermediary"); removeIntermediary(mappingsTinyInput, output); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java index 697370bb1e..28f536f21f 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java @@ -3,15 +3,27 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Map; import java.util.NoSuchElementException; import java.util.Optional; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; +import java.util.stream.Stream; import org.apache.commons.io.FileUtils; +import org.gradle.api.GradleException; +import org.gradle.api.file.DirectoryProperty; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.MapProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.provider.Provider; import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.Internal; +import org.gradle.api.tasks.OutputDirectory; import org.gradle.api.tasks.TaskAction; import org.quiltmc.launchermeta.version.v1.DownloadableFile; +import org.quiltmc.launchermeta.version.v1.Library; import org.quiltmc.launchermeta.version.v1.Version; import quilt.internal.Constants; import quilt.internal.FileConstants; @@ -20,70 +32,114 @@ public abstract class DownloadMinecraftLibrariesTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadMinecraftLibraries"; + /** + * This is only populated after the task has run. + *

+ * It should only be accessed from other {@linkplain TaskAction tasks' actions} and via + * {@linkplain MapProperty lazy} {@linkplain org.gradle.api.tasks.Input input}. + */ + public final Provider> artifactsByUrl; + @InputFile public abstract RegularFileProperty getVersionFile(); + @Internal("Fingerprinting is handled by getVersionFile") + protected abstract Property getVersion(); + + @OutputDirectory + public abstract DirectoryProperty getLibrariesDir(); + + @Internal("Fingerprinting is handled by getLibrariesDir") + protected abstract MapProperty getArtifactsByUrl(); + public DownloadMinecraftLibrariesTask() { super(Constants.Groups.SETUP_GROUP); + // TODO is this because library sources may change even on the same version? + this.outputsNeverUpToDate(); - this.dependsOn(DownloadWantedVersionManifestTask.TASK_NAME); + this.getVersion().convention(this.getVersionFile().map(file -> { + try { + return Version.fromString(FileUtils.readFileToString(file.getAsFile(), StandardCharsets.UTF_8)); + } catch (IOException e) { + throw new GradleException("Failed to read version file", e); + } + })); - this.getVersionFile().convention( - this.getTaskNamed(DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class) - .getVersionFile() - ); + // provide an informative error message if this property is accessed incorrectly + this.getArtifactsByUrl().convention(this.getProject().provider(() -> { + throw new GradleException( + "artifactsByUrl has not been populated. " + + "It should only be accessed from other tasks' actions and via lazy input." + ); + })); - this.getOutputs().dir(this.fileConstants.libraries); - this.outputsNeverUpToDate(); + this.artifactsByUrl = this.getArtifactsByUrl(); } @TaskAction - public void downloadMinecraftLibrariesTask() throws IOException { - final Version file = Version.fromString(FileUtils.readFileToString( - this.getVersionFile().get().getAsFile(), StandardCharsets.UTF_8 - )); - + public void downloadMinecraftLibrariesTask() { this.getLogger().lifecycle(":downloading minecraft libraries"); - if (!this.fileConstants.libraries.exists()) { - this.fileConstants.libraries.mkdirs(); - } + this.getLibrariesDir().get().getAsFile().mkdirs(); final AtomicBoolean failed = new AtomicBoolean(false); final Object lock = new Object(); - file.getLibraries().parallelStream().forEach(library -> { - final Optional artifact = library.getDownloads().getArtifact(); - if (artifact.isEmpty()) { - return; + final List librariesSrc = this.getVersion().get().getLibraries(); + + final Map artifactsByUrl = librariesSrc.parallelStream().flatMap(library -> { + final Optional artifactPath = library.getDownloads().getArtifact(); + if (artifactPath.isEmpty()) { + return Stream.empty(); } + final String url = artifactPath.get().getUrl(); + final File artifact = this.artifactOf(url); + + boolean thisFailed = false; try { - final String url = artifact.get().getUrl(); this.startDownload() - .src(url) - .dest(getArtifactFile(this.fileConstants, url)) - .overwrite(false) - .download(); + .src(url) + .dest(artifact) + .overwrite(false) + .download(); } catch (IOException e) { - failed.set(true); + thisFailed = true; e.printStackTrace(); } catch (NoSuchElementException e) { new RuntimeException("Unable to find artifact for " + library.getName(), e).printStackTrace(); } synchronized (lock) { + // TODO this is screwy. + // Could we put these in a configuration in MappingsPlugin + // and pass the configuration to an input of this task? this.getProject().getDependencies().add("decompileClasspath", library.getName()); } - }); + if (thisFailed) { + failed.set(true); + + return Stream.empty(); + } else { + return Stream.of(Map.entry(url, artifact)); + } + }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + + // TODO is it intended that downloading continues after the first failure, + // but we still throw an exception after we've tried downloading each library? if (failed.get()) { throw new RuntimeException("Unable to download libraries for specified minecraft version."); } + + this.getArtifactsByUrl().set(artifactsByUrl); } - public static File getArtifactFile(FileConstants fileConstants, String url) { - return new File(fileConstants.libraries, url.substring(url.lastIndexOf("/") + 1)); + private File artifactOf(String url) { + return new File( + this.getLibrariesDir().get().getAsFile(), + url.substring(url.lastIndexOf("/") + 1) + ); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java b/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java similarity index 92% rename from buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java rename to buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java index 0597b25a4c..b5755448b7 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java @@ -22,7 +22,10 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper; import org.apache.commons.io.FileUtils; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.MapProperty; +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.objectweb.asm.ClassReader; import org.objectweb.asm.ClassVisitor; @@ -34,10 +37,8 @@ import org.quiltmc.launchermeta.version.v1.Version; import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; -import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; -import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; -public abstract class OpenGlConstantUnpickGenerator extends DefaultMappingsTask implements UnpickGen { +public abstract class OpenGlConstantUnpickGeneratorTask extends DefaultMappingsTask implements UnpickGen { public static final String TASK_NAME = "openGlUnpickGen"; public static final String OPEN_GL_REGISTRY = "https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/gl.xml"; @@ -52,16 +53,24 @@ public abstract class OpenGlConstantUnpickGenerator extends DefaultMappingsTask @InputFile public abstract RegularFileProperty getVersionFile(); - public OpenGlConstantUnpickGenerator() { - super(Constants.Groups.UNPICK_GEN); - this.dependsOn(DownloadMinecraftLibrariesTask.TASK_NAME, MapPerVersionMappingsJarTask.TASK_NAME); + @InputFile + public abstract RegularFileProperty getPerVersionMappingsJar(); + + @Input + public abstract MapProperty getArtifactsByUrl(); - this.onlyIf(_task -> !this.fileConstants.unpickGlDefinitions.exists() || - !this.fileConstants.unpickGlStateManagerDefinitions.exists()); + @OutputFile + public abstract RegularFileProperty getUnpickGlStateManagerDefinitions(); + + @OutputFile + public abstract RegularFileProperty getUnpickGlDefinitions(); + + public OpenGlConstantUnpickGeneratorTask() { + super(Constants.Groups.UNPICK_GEN); - this.getVersionFile().convention(() -> - this.getTaskNamed(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class - ).getVersionFile().getAsFile().get() + this.onlyIf(unused -> + !this.getUnpickGlDefinitions().get().getAsFile().exists() + || !this.getUnpickGlStateManagerDefinitions().get().getAsFile().exists() ); } @@ -115,7 +124,8 @@ public void exec() throws Exception { .flatMap(Library.LibraryDownloads::getArtifact) .map(DownloadableFile.PathDownload::getUrl) .orElseThrow(() -> new IllegalStateException("Could not find lwjgl in version meta")); - final File lwjglFile = DownloadMinecraftLibrariesTask.getArtifactFile(this.fileConstants, lwjglUrl); + // final File lwjglFile = DownloadMinecraftLibrariesTask.getArtifactFile(this.fileConstants, lwjglUrl); + final File lwjglFile = this.getArtifactsByUrl().get().get(lwjglUrl); final Map> constantToDefiningVersions = new HashMap<>(); final Map>> functionToSignatureToDefiningVersions = new HashMap<>(); @@ -193,7 +203,7 @@ public MethodVisitor visitMethod( } { - final File unpickGl = this.fileConstants.unpickGlDefinitions; + final File unpickGl = this.getUnpickGlDefinitions().get().getAsFile(); unpickGl.delete(); unpickGl.createNewFile(); @@ -254,7 +264,7 @@ public MethodVisitor visitMethod( } { - final File unpickGlStateManager = this.fileConstants.unpickGlStateManagerDefinitions; + final File unpickGlStateManager = this.getUnpickGlStateManagerDefinitions().get().getAsFile(); unpickGlStateManager.delete(); unpickGlStateManager.createNewFile(); @@ -262,7 +272,7 @@ public MethodVisitor visitMethod( out.println("v2\n# This file was automatically generated, do not modify it\n"); final Map> methodToSignature = new HashMap<>(); - try (ZipFile minecraftJar = new ZipFile(this.fileConstants.perVersionMappingsJar)) { + try (ZipFile minecraftJar = new ZipFile(this.getPerVersionMappingsJar().get().getAsFile())) { final ClassReader reader = new ClassReader( minecraftJar.getInputStream(minecraftJar.getEntry(GL_STATE_MANAGER_CLASS + ".class")) .readAllBytes() diff --git a/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java b/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java deleted file mode 100644 index 61d83fe7ea..0000000000 --- a/buildSrc/src/main/java/quilt/internal/util/PropertyUtil.java +++ /dev/null @@ -1,13 +0,0 @@ -package quilt.internal.util; - -import org.gradle.api.file.RegularFileProperty; - -import java.nio.file.Path; - -public final class PropertyUtil { - private PropertyUtil() { } - - public static Path getPath(RegularFileProperty fileProperty) { - return fileProperty.get().getAsFile().toPath(); - } -} diff --git a/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java b/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java new file mode 100644 index 0000000000..01b679899e --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java @@ -0,0 +1,21 @@ +package quilt.internal.util; + +import org.gradle.api.Project; +import org.gradle.api.file.Directory; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Provider; + +import java.io.File; +import java.nio.file.Path; + +public final class ProviderUtil { + private ProviderUtil() { } + + public static Path getPath(RegularFileProperty file) { + return file.get().getAsFile().toPath(); + } + + public static Provider projectDirProviderOf(Project project, File directory) { + return project.getLayout().dir(project.provider(() -> directory)); + } +} From 3d15b0e3d32d9ef98bd097d4229f80a9ffcac6dd Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Mon, 30 Sep 2024 00:42:54 -0700 Subject: [PATCH 23/24] AbstractDownloadMappingsTask -> DownloadMappingsTask, reworked its properties, and separated ExtractTinyMappingsTask added ExtractTinyMappingsTasks for hashed and intermediary removed DownloadIntermediaryMappingsTask class, it's just a DownloadMappingsTask now added Constants.INTERMEDIARY_MAPPINGS_NAME, but haven't replaced duplicates yet made some convensions in MappingsPlugin to use flatMap instead of lambdas move MappingsExtension's getEnigmaProfileFile convension to MappingsPlugin --- .../main/java/quilt/internal/Constants.java | 4 + .../quilt/internal/MappingsExtension.java | 8 -- .../java/quilt/internal/MappingsPlugin.java | 132 +++++++++++++++--- .../build/InvertPerVersionMappingsTask.java | 8 +- .../tasks/build/MergeIntermediaryTask.java | 7 +- .../MapPerVersionMappingsJarTask.java | 7 +- .../setup/AbstractDownloadMappingsTask.java | 57 -------- .../setup/CheckIntermediaryMappingsTask.java | 3 + .../DownloadIntermediaryMappingsTask.java | 3 +- .../tasks/setup/DownloadMappingsTask.java | 33 +++++ .../setup/DownloadPerVersionMappingsTask.java | 11 -- .../tasks/setup/ExtractTinyMappingsTask.java | 44 ++++++ .../quilt/internal/util/ProviderUtil.java | 2 +- 13 files changed, 210 insertions(+), 109 deletions(-) delete mode 100644 buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java create mode 100644 buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMappingsTask.java delete mode 100644 buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java create mode 100644 buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractTinyMappingsTask.java diff --git a/buildSrc/src/main/java/quilt/internal/Constants.java b/buildSrc/src/main/java/quilt/internal/Constants.java index 0ac11f6296..92d67763b9 100644 --- a/buildSrc/src/main/java/quilt/internal/Constants.java +++ b/buildSrc/src/main/java/quilt/internal/Constants.java @@ -1,5 +1,6 @@ package quilt.internal; +// TODO consider moving these to MappingsExtension public class Constants { public static final String MINECRAFT_VERSION = "24w38a"; @@ -7,6 +8,9 @@ public class Constants { public static final String PER_VERSION_MAPPINGS_NAME = "hashed"; + // TODO replace duplicates with this + public static final String INTERMEDIARY_MAPPINGS_NAME = "intermediary"; + public static final String MAPPINGS_VERSION = MINECRAFT_VERSION + "+build." + System.getenv().getOrDefault("BUILD_NUMBER", "local"); public static final class Groups { diff --git a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java index b367b37026..ef4f5a06c1 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java @@ -24,14 +24,6 @@ public static MappingsExtension get(Project project) { public MappingsExtension(Project project) { this.fileConstants = new FileConstants(project); - // provide an informative error message if no profile is specified - this.getEnigmaProfileFile().convention(() -> { - throw new GradleException( - "No enigma profile specified. " + - "A profile must be specified to use an EnigmaProfileConsumingTask." - ); - }); - this.enigmaProfile = this.getEnigmaProfileFile() .map(RegularFile::getAsFile) .map(File::toPath) diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index 98aee6e96f..5a2b76350b 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -1,7 +1,11 @@ package quilt.internal; +import org.gradle.api.GradleException; import org.gradle.api.Plugin; import org.gradle.api.Project; +import org.gradle.api.file.Directory; +import org.gradle.api.file.RegularFile; +import org.gradle.api.provider.Provider; import org.gradle.api.tasks.TaskContainer; import org.jetbrains.annotations.NotNull; import quilt.internal.tasks.EnigmaProfileConsumingTask; @@ -27,12 +31,13 @@ import quilt.internal.tasks.lint.MappingLintTask; import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; import quilt.internal.tasks.setup.DownloadIntermediaryMappingsTask; +import quilt.internal.tasks.setup.DownloadMappingsTask; import quilt.internal.tasks.setup.DownloadMinecraftJarsTask; import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; -import quilt.internal.tasks.setup.DownloadPerVersionMappingsTask; import quilt.internal.tasks.setup.DownloadVersionsManifestTask; import quilt.internal.tasks.setup.DownloadWantedVersionManifestTask; import quilt.internal.tasks.setup.ExtractServerJarTask; +import quilt.internal.tasks.setup.ExtractTinyMappingsTask; import quilt.internal.tasks.setup.MergeJarsTask; import quilt.internal.tasks.unpick.CombineUnpickDefinitionsTask; import quilt.internal.tasks.unpick.RemapUnpickDefinitionsTask; @@ -40,10 +45,24 @@ import java.io.File; -import static quilt.internal.util.ProviderUtil.projectDirProviderOf; +import static quilt.internal.util.ProviderUtil.provideProjectDir; +// TODO extract common providers, possibly convert FileConstants to providers instead of files public abstract class MappingsPlugin implements Plugin { public static final String INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME = "insertAutoGeneratedMappings"; + public static final String DOWNLOAD_PER_VERSION_MAPPINGS_TASK_NAME = "downloadPerVersionMappings"; + public static final String EXTRACT_TINY_PER_VERSION_MAPPINGS_TASK_NAME = "extractTinyPerVersionMappings"; + public static final String EXTRACT_TINY_INTERMEDIARY_MAPPINGS_TASK_NAME = "extractTinyIntermediaryMappings"; + + public static Provider provideMappingsDestFile( + Provider destDir, String mappingsName, String fileExt + ) { + return destDir.map(dir -> dir.file(destFileNameOf(mappingsName, fileExt))); + } + + public static String destFileNameOf(String mappingsName, String fileExt) { + return Constants.MINECRAFT_VERSION + "-" + mappingsName + "." + fileExt; + } @Override public void apply(@NotNull Project project) { @@ -51,10 +70,21 @@ public void apply(@NotNull Project project) { final TaskContainer tasks = project.getTasks(); + final Provider mappingsDestDir = + provideProjectDir(project, ext.getFileConstants().cacheFilesMinecraft); + tasks.withType(EnigmaProfileConsumingTask.class).configureEach(task -> task.getEnigmaProfile().convention(ext.enigmaProfile) ); + // provide an informative error message if no profile is specified + ext.getEnigmaProfileFile().convention(() -> { + throw new GradleException( + "No enigma profile specified. " + + "A profile must be specified to use an EnigmaProfileConsumingTask." + ); + }); + final var downloadVersionsManifest = tasks.register( DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class, task -> { @@ -68,7 +98,9 @@ public void apply(@NotNull Project project) { final var downloadWantedVersionManifest = tasks.register( DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class, task -> { - task.getManifest().convention(downloadVersionsManifest.get().getManifestFile()); + task.getManifest().convention( + downloadVersionsManifest.flatMap(DownloadVersionsManifestTask::getManifestFile) + ); task.getVersionFile().convention(() -> new File(ext.getFileConstants().cacheFilesMinecraft, Constants.MINECRAFT_VERSION + ".json") @@ -79,7 +111,9 @@ public void apply(@NotNull Project project) { final var downloadMinecraftJars = tasks.register( DownloadMinecraftJarsTask.TASK_NAME, DownloadMinecraftJarsTask.class, task -> { - task.getVersionFile().convention(downloadWantedVersionManifest.get().getVersionFile()); + task.getVersionFile().convention( + downloadWantedVersionManifest.flatMap(DownloadWantedVersionManifestTask::getVersionFile) + ); task.getClientJar().convention(() -> new File( ext.getFileConstants().cacheFilesMinecraft, @@ -95,7 +129,9 @@ public void apply(@NotNull Project project) { final var extractServerJarTask = tasks.register( ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class, task -> { - task.getServerBootstrapJar().convention(downloadMinecraftJars.get().getServerBootstrapJar()); + task.getServerBootstrapJar().convention( + downloadMinecraftJars.flatMap(DownloadMinecraftJarsTask::getServerBootstrapJar) + ); task.getServerJar().convention(() -> new File( ext.getFileConstants().cacheFilesMinecraft, @@ -106,25 +142,48 @@ public void apply(@NotNull Project project) { tasks.register(MergeJarsTask.TASK_NAME, MergeJarsTask.class, task -> { task.getClientJar().convention(downloadMinecraftJars.get().getClientJar()); - task.getServerJar().convention(extractServerJarTask.get().getServerJar()); + task.getServerJar().convention(extractServerJarTask.flatMap(ExtractServerJarTask::getServerJar)); // TODO see if output jars like this can all go in a directory (build/minecraftJars/?) task.getMergedFile().convention(() -> project.file(Constants.MINECRAFT_VERSION + "-merged.jar")); }); - final var downloadMinecraftLibraries = tasks.register(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class, task -> { - task.getVersionFile().convention(downloadWantedVersionManifest.get().getVersionFile()); - task.getLibrariesDir().convention(projectDirProviderOf(project, ext.getFileConstants().libraries)); - }); + final var downloadMinecraftLibraries = tasks.register( + DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class, + task -> { + task.getVersionFile().convention( + downloadWantedVersionManifest.flatMap(DownloadWantedVersionManifestTask::getVersionFile) + ); + task.getLibrariesDir().convention(provideProjectDir(project, ext.getFileConstants().libraries)); + } + ); - final var downloadPerVersionMappings = - tasks.register(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); + final var downloadPerVersionMappings = tasks.register( + DOWNLOAD_PER_VERSION_MAPPINGS_TASK_NAME, DownloadMappingsTask.class, + task -> { + task.getMappingsConfiguration().convention( + project.getConfigurations().named(Constants.PER_VERSION_MAPPINGS_NAME) + ); + task.getJarFile().convention( + provideMappingsDestFile(mappingsDestDir, Constants.PER_VERSION_MAPPINGS_NAME, "jar") + ); + } + ); + tasks.register( + EXTRACT_TINY_PER_VERSION_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class, + task -> { + task.getJarFile().convention(downloadPerVersionMappings.flatMap(DownloadMappingsTask::getJarFile)); + task.getTinyFile().convention( + provideMappingsDestFile(mappingsDestDir, Constants.PER_VERSION_MAPPINGS_NAME, "tiny") + ); + } + ); tasks.register(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); - final var buildMappingsTiny = tasks.create(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); + final var buildMappingsTiny = tasks.register(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); tasks.register(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, task -> { task.dependsOn(downloadPerVersionMappings); task.getInputJar().convention(() -> ext.getFileConstants().perVersionMappingsJar); - task.getInputMappings().convention(buildMappingsTiny.getOutputMappings()); + task.getInputMappings().convention(buildMappingsTiny.flatMap(BuildMappingsTinyTask::getOutputMappings)); }); tasks.register(MergeTinyTask.TASK_NAME, MergeTinyTask.class); @@ -142,12 +201,14 @@ public void apply(@NotNull Project project) { // TODO eliminate this task.dependsOn(MapPerVersionMappingsJarTask.TASK_NAME); - task.getVersionFile().convention(downloadMinecraftLibraries.get().getVersionFile()); + task.getVersionFile() + .convention(downloadMinecraftLibraries.flatMap(DownloadMinecraftLibrariesTask::getVersionFile)); task.getPerVersionMappingsJar().convention(() -> ext.getFileConstants().perVersionMappingsJar); // TODO make sure this works even after MapPerVersionMappingsJarTask is updated - task.getArtifactsByUrl().convention(downloadMinecraftLibraries.get().artifactsByUrl); + task.getArtifactsByUrl() + .convention(downloadMinecraftLibraries.flatMap(downloadTask -> downloadTask.artifactsByUrl)); task.getUnpickGlStateManagerDefinitions().convention(() -> ext.getFileConstants().unpickGlStateManagerDefinitions @@ -159,13 +220,40 @@ public void apply(@NotNull Project project) { tasks.register(GeneratePackageInfoMappingsTask.TASK_NAME, GeneratePackageInfoMappingsTask.class); tasks.register(DownloadDictionaryFileTask.TASK_NAME, DownloadDictionaryFileTask.class); final var mappingLint = tasks.register(MappingLintTask.TASK_NAME, MappingLintTask.class); - tasks.register(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, task -> { - task.getMappingDirectory().set(mappingLint.get().getMappingDirectory()); - mappingLint.get().dependsOn(task); - }); + tasks.register(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, + task -> { + task.getMappingDirectory().convention(mappingLint.get().getMappingDirectory()); + mappingLint.get().dependsOn(task); + } + ); + + final var checkIntermediaryMappings = + tasks.register(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class); + final var downloadIntermediaryMappings = tasks.register( + DownloadIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.class, + task -> { + task.getMappingsConfiguration().convention( + project.getConfigurations().named(Constants.INTERMEDIARY_MAPPINGS_NAME) + ); + task.getJarFile().convention( + provideMappingsDestFile(mappingsDestDir, Constants.INTERMEDIARY_MAPPINGS_NAME, "jar") + ); - tasks.register(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class); - tasks.register(DownloadIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.class); + task.dependsOn(checkIntermediaryMappings); + task.onlyIf(unused -> + checkIntermediaryMappings.get().isPresent() + ); + } + ); + tasks.register( + EXTRACT_TINY_INTERMEDIARY_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class, + task -> { + task.getJarFile().convention(downloadIntermediaryMappings.flatMap(DownloadMappingsTask::getJarFile)); + task.getTinyFile().convention( + provideMappingsDestFile(mappingsDestDir, Constants.INTERMEDIARY_MAPPINGS_NAME, "tiny") + ); + } + ); tasks.register(MergeIntermediaryTask.TASK_NAME, MergeIntermediaryTask.class); tasks.register(RemoveIntermediaryTask.TASK_NAME, RemoveIntermediaryTask.class); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java index 326fbc6efd..4c14f3fead 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/InvertPerVersionMappingsTask.java @@ -8,8 +8,10 @@ import org.gradle.api.tasks.TaskAction; import org.jetbrains.annotations.VisibleForTesting; import quilt.internal.Constants; +import quilt.internal.MappingsPlugin; import quilt.internal.tasks.DefaultMappingsTask; -import quilt.internal.tasks.setup.DownloadPerVersionMappingsTask; +import quilt.internal.tasks.setup.DownloadMappingsTask; +import quilt.internal.tasks.setup.ExtractTinyMappingsTask; import net.fabricmc.stitch.commands.tinyv2.CommandReorderTinyV2; @@ -24,7 +26,7 @@ public abstract class InvertPerVersionMappingsTask extends DefaultMappingsTask { public InvertPerVersionMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - this.dependsOn(DownloadPerVersionMappingsTask.TASK_NAME); + this.dependsOn(MappingsPlugin.DOWNLOAD_PER_VERSION_MAPPINGS_TASK_NAME); this.getInvertedTinyFile().convention(() -> new File( this.fileConstants.cacheFilesMinecraft, @@ -32,7 +34,7 @@ public InvertPerVersionMappingsTask() { )); this.getInput().convention( - this.getTaskNamed(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class) + this.getTaskNamed(MappingsPlugin.EXTRACT_TINY_PER_VERSION_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class) .getTinyFile() ); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java index 854233e5d3..389a4c606e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java @@ -4,10 +4,12 @@ import net.fabricmc.mappingio.adapter.MappingDstNsReorder; import org.jetbrains.annotations.VisibleForTesting; import quilt.internal.Constants; +import quilt.internal.MappingsPlugin; import quilt.internal.mappingio.DoubleNsCompleterVisitor; import quilt.internal.mappingio.UnmappedNameRemoverVisitor; import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; import quilt.internal.tasks.setup.DownloadIntermediaryMappingsTask; +import quilt.internal.tasks.setup.ExtractTinyMappingsTask; import java.io.File; import java.io.IOException; @@ -33,8 +35,9 @@ public MergeIntermediaryTask() { ); this.getInput().convention( - this.getTaskNamed(DownloadIntermediaryMappingsTask.TASK_NAME, DownloadIntermediaryMappingsTask.class) - .getTinyFile() + this.getTaskNamed( + MappingsPlugin.EXTRACT_TINY_INTERMEDIARY_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class + ).getTinyFile() ); } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java index be6a66f3f8..2c217ed74a 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapPerVersionMappingsJarTask.java @@ -1,8 +1,9 @@ package quilt.internal.tasks.jarmapping; import quilt.internal.Constants; +import quilt.internal.MappingsPlugin; import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; -import quilt.internal.tasks.setup.DownloadPerVersionMappingsTask; +import quilt.internal.tasks.setup.ExtractTinyMappingsTask; import quilt.internal.tasks.setup.MergeJarsTask; public abstract class MapPerVersionMappingsJarTask extends MapJarTask { @@ -12,13 +13,13 @@ public MapPerVersionMappingsJarTask() { super(Constants.Groups.MAP_JAR_GROUP, "official", Constants.PER_VERSION_MAPPINGS_NAME); this.dependsOn( DownloadMinecraftLibrariesTask.TASK_NAME, - DownloadPerVersionMappingsTask.TASK_NAME, + MappingsPlugin.DOWNLOAD_PER_VERSION_MAPPINGS_TASK_NAME, MergeJarsTask.TASK_NAME ); this.getInputJar().convention(this.getTaskNamed(MergeJarsTask.TASK_NAME, MergeJarsTask.class).getMergedFile()); this.getMappingsFile().convention( - this.getTaskNamed(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class) + this.getTaskNamed(MappingsPlugin.EXTRACT_TINY_PER_VERSION_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class) .getTinyFile() ); this.getOutputJar().convention(() -> this.fileConstants.perVersionMappingsJar); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java deleted file mode 100644 index 12875e80b8..0000000000 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java +++ /dev/null @@ -1,57 +0,0 @@ -package quilt.internal.tasks.setup; - -import org.apache.commons.io.FileUtils; -import org.gradle.api.file.RegularFileProperty; -import org.gradle.api.tasks.OutputFile; -import org.gradle.api.tasks.TaskAction; -import quilt.internal.Constants; -import quilt.internal.tasks.DefaultMappingsTask; - -import java.io.File; -import java.io.IOException; - -public abstract class AbstractDownloadMappingsTask extends DefaultMappingsTask { - @OutputFile - public abstract RegularFileProperty getJarFile(); - - @OutputFile - public abstract RegularFileProperty getTinyFile(); - - private final String mappingsName; - - public AbstractDownloadMappingsTask(String mappingsName) { - super(Constants.Groups.SETUP_GROUP); - this.getJarFile().convention(() -> new File( - this.fileConstants.cacheFilesMinecraft, - "%s-%s.jar".formatted(Constants.MINECRAFT_VERSION, mappingsName) - )); - this.getTinyFile().convention(() -> new File( - this.fileConstants.cacheFilesMinecraft, - "%s-%s.tiny".formatted(Constants.MINECRAFT_VERSION, mappingsName) - )); - - this.mappingsName = mappingsName; - } - - @TaskAction - public void downloadMappings() throws IOException { - this.startDownload() - // TODO eliminate project access in task action - .src(this.getProject().getConfigurations().getByName(this.mappingsName).resolve().iterator().next().toURI().toString()) - .dest(this.getJarFile().get().getAsFile()) - .overwrite(false) - .download(); - - FileUtils.copyFile( - // TODO eliminate project access in task action - this.getProject() - .zipTree(this.getJarFile().get().getAsFile()) - .getFiles() - .stream() - .filter(file -> file.getName().endsWith("mappings.tiny")) - .findFirst() - .orElseThrow(), - this.getTinyFile().get().getAsFile() - ); - } -} diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java index b5b48472de..57689143e9 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java @@ -9,6 +9,9 @@ import java.io.File; import java.util.Set; +// TODO eliminate this task (or make it a super class of tasks that currently depend on it) +// Tasks that depend on it should instead take the intermediary configuration as input and check if it exists and +// can be resolved public abstract class CheckIntermediaryMappingsTask extends DefaultMappingsTask { public static final String TASK_NAME = "checkIntermediaryMappings"; diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java index bbbfbecae3..add6638b59 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadIntermediaryMappingsTask.java @@ -1,10 +1,9 @@ package quilt.internal.tasks.setup; -public abstract class DownloadIntermediaryMappingsTask extends AbstractDownloadMappingsTask { +public abstract class DownloadIntermediaryMappingsTask extends DownloadMappingsTask { public static final String TASK_NAME = "downloadIntermediaryMappings"; public DownloadIntermediaryMappingsTask() { - super("intermediary"); this.dependsOn(CheckIntermediaryMappingsTask.TASK_NAME); this.onlyIf(task -> this.getTaskNamed(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class).isPresent() diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMappingsTask.java new file mode 100644 index 0000000000..6b3b4c4984 --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMappingsTask.java @@ -0,0 +1,33 @@ +package quilt.internal.tasks.setup; + +import org.gradle.api.artifacts.Configuration; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.InputFiles; +import org.gradle.api.tasks.OutputFile; +import org.gradle.api.tasks.TaskAction; +import quilt.internal.Constants; +import quilt.internal.tasks.DefaultMappingsTask; + +import java.io.IOException; + +public abstract class DownloadMappingsTask extends DefaultMappingsTask { + @InputFiles + public abstract Property getMappingsConfiguration(); + + @OutputFile + public abstract RegularFileProperty getJarFile(); + + public DownloadMappingsTask() { + super(Constants.Groups.SETUP_GROUP); + } + + @TaskAction + public void downloadMappings() throws IOException { + this.startDownload() + .src(this.getMappingsConfiguration().get().resolve().iterator().next().toURI().toString()) + .dest(this.getJarFile().get().getAsFile()) + .overwrite(false) + .download(); + } +} diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java deleted file mode 100644 index bdc9e113fe..0000000000 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java +++ /dev/null @@ -1,11 +0,0 @@ -package quilt.internal.tasks.setup; - -import quilt.internal.Constants; - -public abstract class DownloadPerVersionMappingsTask extends AbstractDownloadMappingsTask { - public static final String TASK_NAME = "downloadPerVersionMappings"; - - public DownloadPerVersionMappingsTask() { - super(Constants.PER_VERSION_MAPPINGS_NAME); - } -} diff --git a/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractTinyMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractTinyMappingsTask.java new file mode 100644 index 0000000000..6afab2cdaf --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/tasks/setup/ExtractTinyMappingsTask.java @@ -0,0 +1,44 @@ +package quilt.internal.tasks.setup; + +import org.apache.commons.io.FileUtils; +import org.gradle.api.file.FileTree; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.InputFile; +import org.gradle.api.tasks.OutputFile; +import org.gradle.api.tasks.TaskAction; +import quilt.internal.Constants; +import quilt.internal.tasks.DefaultMappingsTask; + +import java.io.IOException; + +public abstract class ExtractTinyMappingsTask extends DefaultMappingsTask { + public static final String TINY_MAPPINGS_FILE_NAME_SUFFIX = "mappings.tiny"; + + @InputFile + public abstract RegularFileProperty getJarFile(); + + @OutputFile + public abstract RegularFileProperty getTinyFile(); + + private final FileTree jarZipTree; + + public ExtractTinyMappingsTask() { + super(Constants.Groups.SETUP_GROUP); + + // zipTree accesses the passed path lazily so passing jarFile here is ok + this.jarZipTree = this.getProject().zipTree(this.getJarFile()); + } + + @TaskAction + public void extractTinyMappings() throws IOException { + FileUtils.copyFile( + this.jarZipTree + .getFiles() + .stream() + .filter(file -> file.getName().endsWith(TINY_MAPPINGS_FILE_NAME_SUFFIX)) + .findFirst() + .orElseThrow(), + this.getTinyFile().get().getAsFile() + ); + } +} diff --git a/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java b/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java index 01b679899e..53adba5236 100644 --- a/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java +++ b/buildSrc/src/main/java/quilt/internal/util/ProviderUtil.java @@ -15,7 +15,7 @@ public static Path getPath(RegularFileProperty file) { return file.get().getAsFile().toPath(); } - public static Provider projectDirProviderOf(Project project, File directory) { + public static Provider provideProjectDir(Project project, File directory) { return project.getLayout().dir(project.provider(() -> directory)); } } From 6391a203c75ac142afaeeddc47e4babda62dd356 Mon Sep 17 00:00:00 2001 From: supersaiyansubtlety Date: Mon, 30 Sep 2024 22:20:11 -0700 Subject: [PATCH 24/24] move conventions for MergeTinyTask, MergeTinyV2Task, and MergeIntermediaryTask to MappingsPlugin refine their and their superclass' properties --- build.gradle | 1 + .../java/quilt/internal/MappingsPlugin.java | 76 ++++++++++++++----- .../tasks/build/AbstractHashedMergeTask.java | 17 ++--- .../tasks/build/AbstractTinyMergeTask.java | 12 +-- .../tasks/build/AddProposedMappingsTask.java | 8 +- .../tasks/build/MergeIntermediaryTask.java | 32 ++------ .../internal/tasks/build/MergeTinyTask.java | 9 --- .../internal/tasks/build/MergeTinyV2Task.java | 12 --- 8 files changed, 83 insertions(+), 84 deletions(-) diff --git a/build.gradle b/build.gradle index 81b5b549a4..68aafd4b88 100644 --- a/build.gradle +++ b/build.gradle @@ -190,6 +190,7 @@ task mappings(type: EnigmaMappingsTask, dependsOn: "mapPerVersionMappingsJar") { build.dependsOn constantsJar, generatePackageInfoMappings +// TODO despaghetify this task v2UnmergedMappingsJar(type: MappingsV2JarTask, dependsOn: [insertAutoGeneratedMappings, combineUnpickDefinitions]) { archiveFileName = "${Constants.MAPPINGS_NAME}-${Constants.MAPPINGS_VERSION}-v2.jar" mappings = insertAutoGeneratedMappings.outputMappings diff --git a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java index 5a2b76350b..d945fadb1a 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -57,11 +57,7 @@ public abstract class MappingsPlugin implements Plugin { public static Provider provideMappingsDestFile( Provider destDir, String mappingsName, String fileExt ) { - return destDir.map(dir -> dir.file(destFileNameOf(mappingsName, fileExt))); - } - - public static String destFileNameOf(String mappingsName, String fileExt) { - return Constants.MINECRAFT_VERSION + "-" + mappingsName + "." + fileExt; + return destDir.map(dir -> dir.file(Constants.MINECRAFT_VERSION + "-" + mappingsName + "." + fileExt)); } @Override @@ -177,17 +173,50 @@ public void apply(@NotNull Project project) { ); } ); - tasks.register(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); + final var invertPerVersionMappings = + tasks.register(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); final var buildMappingsTiny = tasks.register(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); - tasks.register(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, task -> { - task.dependsOn(downloadPerVersionMappings); + final var insertAutoGeneratedMappings = tasks.register( + INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class, + task -> { + // TODO eliminate this + task.dependsOn(downloadPerVersionMappings); + + task.getInputJar().convention(() -> ext.getFileConstants().perVersionMappingsJar); - task.getInputJar().convention(() -> ext.getFileConstants().perVersionMappingsJar); - task.getInputMappings().convention(buildMappingsTiny.flatMap(BuildMappingsTinyTask::getOutputMappings)); + task.getInputMappings().convention(buildMappingsTiny.flatMap(BuildMappingsTinyTask::getOutputMappings)); + + task.getOutputMappings().convention(() -> + new File(ext.getFileConstants().buildDir, INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME + ".tiny") + ); }); - tasks.register(MergeTinyTask.TASK_NAME, MergeTinyTask.class); - tasks.register(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class); + tasks.register( + MergeTinyTask.TASK_NAME, MergeTinyTask.class, + task -> { + task.getInput().convention(buildMappingsTiny.flatMap(BuildMappingsTinyTask::getOutputMappings)); + + task.getHashedTinyMappings().convention( + invertPerVersionMappings.flatMap(InvertPerVersionMappingsTask::getInvertedTinyFile) + ); + + task.getOutputMappings().convention(() -> new File(ext.getFileConstants().buildDir, "mappings.tiny")); + } + ); + final var mergeTinyV2 = tasks.register(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class, task -> { + // TODO eliminate this + task.dependsOn("v2UnmergedMappingsJar"); + + task.getInput().convention( + insertAutoGeneratedMappings.flatMap(AddProposedMappingsTask::getOutputMappings) + ); + + task.getHashedTinyMappings().convention( + invertPerVersionMappings.flatMap(InvertPerVersionMappingsTask::getInvertedTinyFile) + ); + + task.getOutputMappings().convention(() -> new File(ext.getFileConstants().buildDir, "merged2.tiny")); + }); tasks.register(TinyJarTask.TASK_NAME, TinyJarTask.class); tasks.register(CompressTinyTask.TASK_NAME, CompressTinyTask.class); tasks.register(DropInvalidMappingsTask.TASK_NAME, DropInvalidMappingsTask.class); @@ -240,12 +269,10 @@ public void apply(@NotNull Project project) { ); task.dependsOn(checkIntermediaryMappings); - task.onlyIf(unused -> - checkIntermediaryMappings.get().isPresent() - ); + task.onlyIf(unused -> checkIntermediaryMappings.get().isPresent()); } ); - tasks.register( + final var extractTinyIntermediaryMappings = tasks.register( EXTRACT_TINY_INTERMEDIARY_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class, task -> { task.getJarFile().convention(downloadIntermediaryMappings.flatMap(DownloadMappingsTask::getJarFile)); @@ -254,7 +281,22 @@ public void apply(@NotNull Project project) { ); } ); - tasks.register(MergeIntermediaryTask.TASK_NAME, MergeIntermediaryTask.class); + tasks.register( + MergeIntermediaryTask.TASK_NAME, MergeIntermediaryTask.class, + task -> { + task.onlyIf(unused -> checkIntermediaryMappings.get().isPresent()); + + task.getInput().convention( + extractTinyIntermediaryMappings.flatMap(ExtractTinyMappingsTask::getTinyFile) + ); + + task.getMergedTinyMappings().convention(mergeTinyV2.flatMap(MergeTinyV2Task::getOutputMappings)); + + task.getOutputMappings().convention(() -> + new File(ext.getFileConstants().buildDir, "mappings-intermediaryMerged.tiny") + ); + } + ); tasks.register(RemoveIntermediaryTask.TASK_NAME, RemoveIntermediaryTask.class); tasks.register(CheckTargetVersionExistsTask.TASK_NAME, CheckTargetVersionExistsTask.class); diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java index 897b59f87f..bb132a2678 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractHashedMergeTask.java @@ -1,20 +1,19 @@ package quilt.internal.tasks.build; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.InputFile; import quilt.internal.Constants; -import java.io.File; - public abstract class AbstractHashedMergeTask extends AbstractTinyMergeTask { - public AbstractHashedMergeTask(String outputMappings) { - super(outputMappings, Constants.PER_VERSION_MAPPINGS_NAME); + @InputFile + public abstract RegularFileProperty getHashedTinyMappings(); + + public AbstractHashedMergeTask() { + super(Constants.PER_VERSION_MAPPINGS_NAME); } @Override public void mergeMappings() throws Exception { - final File hashedTinyInput = - this.getTaskNamed(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class) - .getInvertedTinyFile().get().getAsFile(); - - this.mergeMappings(hashedTinyInput); + this.mergeMappings(this.getHashedTinyMappings().get().getAsFile()); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java index 29a9032a43..ac2d46e6be 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AbstractTinyMergeTask.java @@ -24,7 +24,7 @@ public abstract class AbstractTinyMergeTask extends DefaultMappingsTask { @InputFile - protected abstract RegularFileProperty getInput(); + public abstract RegularFileProperty getInput(); @OutputFile public abstract RegularFileProperty getOutputMappings(); @@ -32,16 +32,12 @@ public abstract class AbstractTinyMergeTask extends DefaultMappingsTask { protected final String mergeName; protected final String fillName; - public AbstractTinyMergeTask(String outputMappings, String mergeName) { - this(outputMappings, mergeName, mergeName); + public AbstractTinyMergeTask(String mergeName) { + this(mergeName, mergeName); } - public AbstractTinyMergeTask(String outputMappings, String mergeName, String fillName) { + public AbstractTinyMergeTask(String mergeName, String fillName) { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - this.getOutputMappings().convention(() -> new File(this.fileConstants.buildDir, outputMappings)); - this.getOutputs().file(this.getOutputMappings()); - - this.getInput().convention(this.getProject().getObjects().fileProperty()); this.mergeName = mergeName; this.fillName = fillName; diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java index dd6ce01542..48b52c6d91 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/AddProposedMappingsTask.java @@ -1,7 +1,6 @@ package quilt.internal.tasks.build; import java.io.BufferedWriter; -import java.io.File; import java.io.PrintWriter; import java.io.Reader; import java.nio.charset.StandardCharsets; @@ -41,18 +40,17 @@ import quilt.internal.util.ProviderUtil; public abstract class AddProposedMappingsTask extends EnigmaProfileConsumingTask { - @OutputFile - public abstract RegularFileProperty getOutputMappings(); - @InputFile public abstract RegularFileProperty getInputJar(); @InputFile public abstract RegularFileProperty getInputMappings(); + @OutputFile + public abstract RegularFileProperty getOutputMappings(); + public AddProposedMappingsTask() { super(Constants.Groups.BUILD_MAPPINGS_GROUP); - this.getOutputMappings().convention(() -> new File(this.fileConstants.buildDir, this.getName() + ".tiny")); } @TaskAction diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java index 389a4c606e..8bfd1de972 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeIntermediaryTask.java @@ -2,16 +2,14 @@ import net.fabricmc.mappingio.MappingVisitor; import net.fabricmc.mappingio.adapter.MappingDstNsReorder; + +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.tasks.InputFile; import org.jetbrains.annotations.VisibleForTesting; import quilt.internal.Constants; -import quilt.internal.MappingsPlugin; import quilt.internal.mappingio.DoubleNsCompleterVisitor; import quilt.internal.mappingio.UnmappedNameRemoverVisitor; -import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; -import quilt.internal.tasks.setup.DownloadIntermediaryMappingsTask; -import quilt.internal.tasks.setup.ExtractTinyMappingsTask; -import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.util.List; @@ -19,33 +17,19 @@ public abstract class MergeIntermediaryTask extends AbstractTinyMergeTask { public static final String TASK_NAME = "mergeIntermediary"; + @InputFile + public abstract RegularFileProperty getMergedTinyMappings(); + public MergeIntermediaryTask() { super( - "mappings-intermediaryMerged.tiny", - "intermediary", + Constants.INTERMEDIARY_MAPPINGS_NAME, Constants.PER_VERSION_MAPPINGS_NAME ); - this.dependsOn( - CheckIntermediaryMappingsTask.TASK_NAME, - DownloadIntermediaryMappingsTask.TASK_NAME, - MergeTinyV2Task.TASK_NAME - ); - this.onlyIf(task -> - this.getTaskNamed(CheckIntermediaryMappingsTask.TASK_NAME, CheckIntermediaryMappingsTask.class).isPresent() - ); - - this.getInput().convention( - this.getTaskNamed( - MappingsPlugin.EXTRACT_TINY_INTERMEDIARY_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.class - ).getTinyFile() - ); } @Override public void mergeMappings() throws Exception { - final File tinyInput = this.getTaskNamed(MergeTinyV2Task.TASK_NAME, MergeTinyV2Task.class) - .getOutputMappings().get().getAsFile(); - this.mergeMappings(tinyInput); + this.mergeMappings(this.getMergedTinyMappings().get().getAsFile()); } @Override diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java index e271e6deef..365ea3b46c 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyTask.java @@ -9,15 +9,6 @@ public abstract class MergeTinyTask extends AbstractHashedMergeTask { public static final String TASK_NAME = "mergeTiny"; - public MergeTinyTask() { - super("mappings.tiny"); - this.dependsOn(InvertPerVersionMappingsTask.TASK_NAME, BuildMappingsTinyTask.TASK_NAME); - - this.getInput().convention( - this.getTaskNamed(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class).getOutputMappings() - ); - } - @VisibleForTesting public static void mergeMappings( Path buildMappingsTiny, Path invertedPerVersionsMappings, Path outputMappings diff --git a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java index 8437b534b0..3b8b84d94e 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/build/MergeTinyV2Task.java @@ -6,21 +6,9 @@ import java.nio.file.Path; import java.util.function.Function; -import static quilt.internal.MappingsPlugin.INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME; - public abstract class MergeTinyV2Task extends AbstractHashedMergeTask { public static final String TASK_NAME = "mergeTinyV2"; - public MergeTinyV2Task() { - super("merged2.tiny"); - this.dependsOn(InvertPerVersionMappingsTask.TASK_NAME, "v2UnmergedMappingsJar"); - - this.getInput().convention( - this.getTaskNamed(INSERT_AUTO_GENERATED_MAPPINGS_TASK_NAME, AddProposedMappingsTask.class) - .getOutputMappings() - ); - } - @VisibleForTesting public static void mergeMappings( Path insertAutoGeneratedMappingsOutput, Path invertedPerVersionsMappings, Path outputMappings