Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add downloadMojangMappings task #668

Open
wants to merge 9 commits into
base: 25w05a
Choose a base branch
from
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ dependencies {
javadocClasspath(libs.jetbrains.annotations)
// for some other jsr annotations
javadocClasspath(libs.jsr305)
// for an annotation
javadocClasspath(libs.checkerframework)

hashed "org.quiltmc:hashed:${MINECRAFT_VERSION}${USE_SNAPSHOT_HASHES ? "-SNAPSHOT" : ""}"
intermediary "net.fabricmc:intermediary:${MINECRAFT_VERSION}:v2"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ public interface Extensions {
String UNPICK = Constants.UNPICK_NAME;
String GZ = "gz";
String JSON = "json";
String TXT = "txt";
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import quilt.internal.task.VersionParserConsumingTask;
import quilt.internal.task.setup.DownloadMinecraftJarsTask;
import quilt.internal.task.setup.DownloadMinecraftLibrariesTask;
import quilt.internal.task.setup.DownloadMojangMappingsTask;
import quilt.internal.task.setup.DownloadWantedVersionManifestTask;
import quilt.internal.task.setup.ExtractServerJarTask;
import quilt.internal.task.setup.MergeJarsTask;
Expand Down Expand Up @@ -98,9 +99,9 @@ protected MinecraftJarsExtension applyImpl(@NotNull Project project) {
downloadMinecraftJars.flatMap(DownloadMinecraftJarsTask::getServerBootstrapJar)
);

task.getExtractionDest().convention(
this.provideMinecraftBuildFile(quiltExt.provideSuffixedMinecraftVersion("-server." + Extensions.JAR))
);
task.getExtractionDest().convention(this.provideMinecraftBuildFile(
quiltExt.provideSuffixedMinecraftVersion("-server." + Extensions.JAR)
));
}
);

Expand All @@ -112,9 +113,9 @@ protected MinecraftJarsExtension applyImpl(@NotNull Project project) {

task.getServerJar().convention(extractServerJar.flatMap(ExtractServerJarTask::getExtractionDest));

task.getMergedFile().convention(
this.provideMinecraftBuildFile(quiltExt.provideSuffixedMinecraftVersion("-merged." + Extensions.JAR))
);
task.getMergedFile().convention(this.provideMinecraftBuildFile(
quiltExt.provideSuffixedMinecraftVersion("-merged." + Extensions.JAR)
));
}
);

Expand All @@ -126,6 +127,20 @@ protected MinecraftJarsExtension applyImpl(@NotNull Project project) {
}
);

tasks.register(
DownloadMojangMappingsTask.DOWNLOAD_MOJANG_MAPPINGS_TASK_NAME,
DownloadMojangMappingsTask.class,
task -> {
task.getClientMappings().convention(
this.getMinecraftBuildDir().map(dir -> dir.file("client." + Extensions.TXT))
);

task.getServerMappings().convention(
this.getMinecraftBuildDir().map(dir -> dir.file("server." + Extensions.TXT))
);
}
);

return project.getExtensions().create(
MinecraftJarsExtension.NAME, MinecraftJarsExtension.class,
new Tasks(mergeJars, downloadMinecraftLibraries)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package quilt.internal.task.setup;

import org.gradle.api.DefaultTask;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.tasks.OutputFile;
import org.gradle.api.tasks.TaskAction;
import org.quiltmc.launchermeta.version.v1.Downloads;
import quilt.internal.constants.Groups;
import quilt.internal.plugin.MinecraftJarsPlugin;
import quilt.internal.task.VersionParserConsumingTask;
import quilt.internal.util.DownloadUtil;

/**
* Downloads Mojang's client and server mappings for the passed {@linkplain #getVersionParser version}.
*
* @see <a href=https://minecraft.wiki/w/Obfuscation_map>Obfuscation map</a>
* @see MinecraftJarsPlugin MinecraftJarsPlugin's configureEach
*/
public abstract class DownloadMojangMappingsTask extends DefaultTask implements VersionParserConsumingTask {
/**
* {@linkplain org.gradle.api.tasks.TaskContainer#register Registered} by
* {@link MinecraftJarsPlugin MinecraftJarsPlugin}.
*/
public static final String DOWNLOAD_MOJANG_MAPPINGS_TASK_NAME = "downloadMojangMappings";

@OutputFile
public abstract RegularFileProperty getClientMappings();

@OutputFile
public abstract RegularFileProperty getServerMappings();

public DownloadMojangMappingsTask() {
this.setGroup(Groups.SETUP);
}

@TaskAction
public void download() {
final Downloads downloads = this.getVersionParser().get().get().getDownloads();

downloads.getClientMappings().ifPresentOrElse(
clientMappings -> DownloadUtil.download(
clientMappings.getUrl(),
this.getClientMappings().get().getAsFile(),
false, this.getLogger()
),
() -> this.getLogger().warn("No client mappings available")
);

downloads.getServerMappings().ifPresentOrElse(
serverMappings -> DownloadUtil.download(
serverMappings.getUrl(),
this.getServerMappings().get().getAsFile(),
false, this.getLogger()
),
() -> this.getLogger().warn("No server mappings available")
);
}
}
4 changes: 3 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
minecraft = "25w05a"
minecraft = "25w06a"

commons_io = "2.11.0"
guava = "33.2.1-jre"
Expand All @@ -16,6 +16,7 @@ javadoc_draftsman = "1.2.3"
quilt_loader = "0.26.1"
jetbrains_annotations = "23.0.0"
jsr305 = "3.0.2"
checkerframework = "3.42.0"

dictionary = "f9c2abb8ad2df8bf64df06ae2f6ede86704b82c7"

Expand Down Expand Up @@ -50,6 +51,7 @@ javadoc_draftsman = { module = "org.quiltmc:javadoc-draftsman", version.ref = "j
quilt_loader = { module = "org.quiltmc:quilt-loader", version.ref = "quilt_loader" }
jetbrains_annotations = { module = "org.jetbrains:annotations", version.ref = "jetbrains_annotations" }
jsr305 = { module = "com.google.code.findbugs:jsr305", version.ref = "jsr305" }
checkerframework = { module = "org.checkerframework:checker-qual", version.ref = "checkerframework"}

# TODO this should probably be published to quilt maven, see #442
dictionary = { module = "ix0rai:qm-base-allowed-wordlist", version.ref = "dictionary"}
Expand Down
12 changes: 0 additions & 12 deletions mappings/com/mojang/blaze3d/vertex/BufferRenderer.mapping

This file was deleted.

3 changes: 0 additions & 3 deletions mappings/net/minecraft/block/DeadBushBlock.mapping

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
CLASS net/minecraft/unmapped/C_iehlgqpr net/minecraft/client/render/entity/ChickenEntityRenderer
FIELD f_ygcntluv TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ CLASS net/minecraft/unmapped/C_ibwugxba net/minecraft/component/type/FireworkExp
ARG 1 colors
METHOD m_irfwdohu (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;
ARG 0 instance
METHOD m_jraintos appendShapeTooltip (Ljava/util/function/Consumer;)V
ARG 1 textConsumer
METHOD m_mbqaaylx appendOptionalTooltip (Ljava/util/function/Consumer;)V
ARG 1 textConsumer
METHOD m_qikhdysc withFadeColors (Lit/unimi/dsi/fastutil/ints/IntList;)Lnet/minecraft/unmapped/C_ibwugxba;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
CLASS net/minecraft/unmapped/C_gzacfpmb net/minecraft/component/type/FireworksComponent
FIELD f_nasmadkv MAX_EXPLOSIONS I
METHOD m_bxxorfms (Ljava/util/function/Consumer;Lnet/minecraft/unmapped/C_rdaqiwdt;)V
ARG 1 text
METHOD m_magkkecd (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;
ARG 0 instance
2 changes: 0 additions & 2 deletions mappings/net/minecraft/entity/LivingEntity.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,6 @@ CLASS net/minecraft/unmapped/C_usxaxydn net/minecraft/entity/LivingEntity
ARG 1 item
ARG 2 slot
METHOD m_dickaawl getPrimeAdversary ()Lnet/minecraft/unmapped/C_usxaxydn;
METHOD m_dmapfayh processEquippedStack (Lnet/minecraft/unmapped/C_sddaxwyk;)V
ARG 1 stack
METHOD m_dutssgsv getItemUseTime ()I
METHOD m_dwgcrvhr getBoundingBox (Lnet/minecraft/unmapped/C_ufdjspmk;)Lnet/minecraft/unmapped/C_hbcjzgoe;
ARG 1 pose
Expand Down
1 change: 0 additions & 1 deletion mappings/net/minecraft/entity/ai/goal/EatGrassGoal.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ CLASS net/minecraft/unmapped/C_krmsprar net/minecraft/entity/ai/goal/EatGrassGoa
FIELD f_tclzhvfv MAX_TIMER I
FIELD f_xixjffhf world Lnet/minecraft/unmapped/C_cdctfzbn;
FIELD f_xjozqnyd timer I
FIELD f_xufbzbun GRASS_PREDICATE Ljava/util/function/Predicate;
FIELD f_zenfykhi mob Lnet/minecraft/unmapped/C_dxkfswlz;
METHOD <init> (Lnet/minecraft/unmapped/C_dxkfswlz;)V
ARG 1 mob
Expand Down
8 changes: 0 additions & 8 deletions mappings/net/minecraft/entity/player/PlayerEntity.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -227,11 +227,6 @@ CLASS net/minecraft/unmapped/C_jzrpycqo net/minecraft/entity/player/PlayerEntity
METHOD m_rnkwwgyg shouldIgnoreFallDamageFromCurrentExplosion ()Z
METHOD m_rxawqnif isPartVisible (Lnet/minecraft/unmapped/C_vqnqadci;)Z
ARG 1 modelPart
METHOD m_rxnkeyjm dropItem (Lnet/minecraft/unmapped/C_sddaxwyk;ZZ)Lnet/minecraft/unmapped/C_uqpzijng;
ARG 1 stack
ARG 2 throwRandomly
COMMENT if true, the item will be thrown in a random direction from the entity regardless of which direction the entity is facing
ARG 3 retainOwnership
METHOD m_scqmokvm hasScreenOpen ()Z
METHOD m_sfqjvugq canConsume (Z)Z
ARG 1 ignoreHunger
Expand Down Expand Up @@ -261,9 +256,6 @@ CLASS net/minecraft/unmapped/C_jzrpycqo net/minecraft/entity/player/PlayerEntity
ARG 3 gameMode
METHOD m_veqhacwa updateWaterSubmersionState ()Z
METHOD m_vgsdyrnl clearExplosionData ()V
METHOD m_vsziptnx dropItem (Lnet/minecraft/unmapped/C_sddaxwyk;Z)Lnet/minecraft/unmapped/C_uqpzijng;
ARG 1 stack
ARG 2 retainOwnership
METHOD m_vtwmzrot canPlaceOn (Lnet/minecraft/unmapped/C_hynzadkk;Lnet/minecraft/unmapped/C_xpuuihxf;Lnet/minecraft/unmapped/C_sddaxwyk;)Z
ARG 1 pos
ARG 2 facing
Expand Down
12 changes: 0 additions & 12 deletions mappings/net/minecraft/entity/player/PlayerInventory.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,15 @@ CLASS net/minecraft/unmapped/C_sxzqocrm net/minecraft/entity/player/PlayerInvent
FIELD f_muifvbni player Lnet/minecraft/unmapped/C_jzrpycqo;
FIELD f_qmvikygt ITEM_USAGE_COOLDOWN I
COMMENT The maximum cooldown ({@value} ticks) applied to timed use items such as the Eye of Ender.
FIELD f_qvtlcdqt offHand Lnet/minecraft/unmapped/C_rnrfftze;
FIELD f_rvivffsn combinedInventory Ljava/util/List;
FIELD f_rxqjiapy OFF_HAND_SLOT I
COMMENT Zero-based index of the offhand slot.
COMMENT
COMMENT <p>This value is the result of the sum {@code MAIN_SIZE (36) + ARMOR_SIZE (4)}.</p>
FIELD f_stpscvms armor Lnet/minecraft/unmapped/C_rnrfftze;
FIELD f_tpmsgudi HOTBAR_SIZE I
COMMENT The number of columns ({@value}) in the inventory.
COMMENT
COMMENT <p>The same value dictates the size of the player's hotbar, excluding the offhand slot.</p>
FIELD f_zhaszfsy changeCount I
METHOD <init> (Lnet/minecraft/unmapped/C_jzrpycqo;)V
ARG 1 player
METHOD m_agfxrwtb contains (Lnet/minecraft/unmapped/C_ednuhnnn;)Z
ARG 1 key
METHOD m_attrqiui insertStack (Lnet/minecraft/unmapped/C_sddaxwyk;)Z
Expand All @@ -44,13 +39,10 @@ CLASS net/minecraft/unmapped/C_sxzqocrm net/minecraft/entity/player/PlayerInvent
ARG 1 entireStack
METHOD m_gkniurqx contains (Lnet/minecraft/unmapped/C_sddaxwyk;)Z
ARG 1 stack
METHOD m_grrjbqkb setSelectedSlot (I)V
ARG 1 index
METHOD m_hjszshmr offerOrDrop (Lnet/minecraft/unmapped/C_sddaxwyk;)V
ARG 1 stack
METHOD m_hmwxnoza hasMatchingStack (Ljava/util/function/Predicate;)Z
ARG 1 predicate
METHOD m_iaxrzmrh getMainHandStack ()Lnet/minecraft/unmapped/C_sddaxwyk;
METHOD m_idztfwtx updateItems ()V
METHOD m_iwhnbmkt remove (Ljava/util/function/Predicate;ILnet/minecraft/unmapped/C_pjtstjoq;)I
ARG 1 shouldRemove
Expand All @@ -65,8 +57,6 @@ CLASS net/minecraft/unmapped/C_sxzqocrm net/minecraft/entity/player/PlayerInvent
ARG 1 slot
METHOD m_mqaefcrf getOccupiedSlotWithRoomForStack (Lnet/minecraft/unmapped/C_sddaxwyk;)I
ARG 1 stack
METHOD m_ooomafpi getBlockBreakingSpeed (Lnet/minecraft/unmapped/C_txtbiemp;)F
ARG 1 block
METHOD m_owslrmqz swapSlotWithHotbar (I)V
ARG 1 slot
METHOD m_qstschyr getMatchingSlot (Lnet/minecraft/unmapped/C_cjzoxshv;Lnet/minecraft/unmapped/C_sddaxwyk;)I
Expand All @@ -88,5 +78,3 @@ CLASS net/minecraft/unmapped/C_sxzqocrm net/minecraft/entity/player/PlayerInvent
ARG 0 slot
METHOD m_xukgmrex addStack (Lnet/minecraft/unmapped/C_sddaxwyk;)I
ARG 1 stack
METHOD m_yglnlrvd getArmorStack (I)Lnet/minecraft/unmapped/C_sddaxwyk;
ARG 1 slot
5 changes: 1 addition & 4 deletions mappings/net/minecraft/item/Item.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,9 @@ CLASS net/minecraft/unmapped/C_vorddnax net/minecraft/item/Item
COMMENT <p>By default, returns true if the item has enchantments.
ARG 1 stack
METHOD m_proceewu getMaxStackSize ()I
METHOD m_qqswvlkq inventoryTick (Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_cdctfzbn;Lnet/minecraft/unmapped/C_astfners;IZ)V
METHOD m_qqswvlkq inventoryTick (Lnet/minecraft/unmapped/C_sddaxwyk;Lnet/minecraft/unmapped/C_bdwnwhiu;Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_yuycoehb;)V
ARG 1 stack
ARG 2 world
ARG 3 entity
ARG 4 slot
ARG 5 selected
METHOD m_rwziztnd validateComponents (Lnet/minecraft/unmapped/C_sddaxwyk;)V
METHOD m_ucwrwzur byRawId (I)Lnet/minecraft/unmapped/C_vorddnax;
ARG 0 id
Expand Down
4 changes: 1 addition & 3 deletions mappings/net/minecraft/item/ItemStack.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,9 @@ CLASS net/minecraft/unmapped/C_sddaxwyk net/minecraft/item/ItemStack
ARG 1 item
COMMENT the resulting item stack's item
METHOD m_cpmzxurz canBreakInAdventureMode (Lnet/minecraft/unmapped/C_gogfiawf;)Z
METHOD m_cwjcossc inventoryTick (Lnet/minecraft/unmapped/C_cdctfzbn;Lnet/minecraft/unmapped/C_astfners;IZ)V
METHOD m_cwjcossc inventoryTick (Lnet/minecraft/unmapped/C_cdctfzbn;Lnet/minecraft/unmapped/C_astfners;Lnet/minecraft/unmapped/C_yuycoehb;)V
ARG 1 world
ARG 2 entity
ARG 3 slot
ARG 4 selected
METHOD m_dfvhukte getUseAction ()Lnet/minecraft/unmapped/C_qeajvgxm;
METHOD m_dyvmnknh fromNbt (Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig;Lnet/minecraft/unmapped/C_hhlwcnih;)Lnet/minecraft/unmapped/C_sddaxwyk;
ARG 0 lookupProvider
Expand Down
1 change: 0 additions & 1 deletion mappings/net/minecraft/registry/tag/BlockTags.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ CLASS net/minecraft/unmapped/C_izarxncx net/minecraft/registry/tag/BlockTags
FIELD f_ncowlyqn REDSTONE_ORES Lnet/minecraft/unmapped/C_ednuhnnn;
FIELD f_ncuwscpq DEEPSLATE_ORE_REPLACEABLES Lnet/minecraft/unmapped/C_ednuhnnn;
FIELD f_nmwqsvrl PICKAXE_MINEABLE Lnet/minecraft/unmapped/C_ednuhnnn;
FIELD f_nnrjmpjr DEAD_BUSH_PLACEABLE_ON Lnet/minecraft/unmapped/C_ednuhnnn;
FIELD f_nnwqhchz PLANKS Lnet/minecraft/unmapped/C_ednuhnnn;
FIELD f_nsvxteae PORTALS Lnet/minecraft/unmapped/C_ednuhnnn;
FIELD f_nvjqrnhy NEEDS_DIAMOND_TOOL Lnet/minecraft/unmapped/C_ednuhnnn;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ CLASS net/minecraft/unmapped/C_mrjqexcd net/minecraft/server/world/ChunkTicketMa
METHOD m_uwetgvxd isUnloaded (J)Z
METHOD m_vasauzvg shouldTickBlocks (J)Z
ARG 1 chunkPos
METHOD m_xggfvfua shouldTick (J)Z
METHOD m_xggfvfua shouldTick (J)Lnet/minecraft/unmapped/C_jkoyijul;
ARG 1 pos
METHOD m_ytrysmmj toDumpString ()Ljava/lang/String;
CLASS C_fqqccsvo DistanceFromNearestPlayerTracker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ CLASS net/minecraft/unmapped/C_ebcmvjwj net/minecraft/server/world/ServerChunkMa
ARG 1 pos
ARG 3 chunk
ARG 4 status
METHOD m_ywyiiuyu spawnAndTickChunks (Lnet/minecraft/unmapped/C_eslcbfsq;JLjava/util/List;)V
METHOD m_yxbwpive unloadEntity (Lnet/minecraft/unmapped/C_astfners;)V
ARG 1 entity
CLASS C_poschgqw MainThreadExecutor
Expand Down
3 changes: 0 additions & 3 deletions mappings/net/minecraft/server/world/ServerWorld.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ CLASS net/minecraft/unmapped/C_bdwnwhiu net/minecraft/server/world/ServerWorld
ARG 1 entity
METHOD m_etqgghww dump (Ljava/nio/file/Path;)V
ARG 1 path
METHOD m_fejtkupl shouldTick (Lnet/minecraft/unmapped/C_hynzadkk;)Z
METHOD m_ftckrjes getRandomSequences ()Lnet/minecraft/unmapped/C_xmjhbbku;
METHOD m_ghlhwjgw sendToPlayerIfNearby (Lnet/minecraft/unmapped/C_mxrobsgg;ZDDDLnet/minecraft/unmapped/C_zyjtrjrl;)Z
ARG 1 player
Expand Down Expand Up @@ -102,8 +101,6 @@ CLASS net/minecraft/unmapped/C_bdwnwhiu net/minecraft/server/world/ServerWorld
ARG 1 box
METHOD m_ilvpytac getMatchingPlayers (Ljava/util/function/Predicate;)Ljava/util/List;
ARG 1 predicate
METHOD m_immceocf shouldTick (Lnet/minecraft/unmapped/C_ynrszrtu;)Z
ARG 1 pos
METHOD m_inadgslt tickWeather ()V
METHOD m_inzidthk shouldCreateNewEntityWithPassenger (Lnet/minecraft/unmapped/C_astfners;)Z
ARG 1 entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,8 @@ CLASS net/minecraft/unmapped/C_gxrpzacc net/minecraft/server/world/ThreadedChunk
ARG 1 writer
METHOD m_mlsrnydb getRandomState ()Lnet/minecraft/unmapped/C_edfiqifk;
METHOD m_mtihtfpz entryIterator ()Ljava/lang/Iterable;
METHOD m_mvnaomen getSquaredDistance (Lnet/minecraft/unmapped/C_ynrszrtu;Lnet/minecraft/unmapped/C_astfners;)D
METHOD m_mvnaomen getSquaredDistance (Lnet/minecraft/unmapped/C_ynrszrtu;Lnet/minecraft/unmapped/C_vgpupfxx;)D
ARG 0 pos
ARG 1 entity
METHOD m_nhddmlfy getRegion (Lnet/minecraft/unmapped/C_gkderdjo;ILjava/util/function/IntFunction;)Ljava/util/concurrent/CompletableFuture;
ARG 2 margin
ARG 3 distanceToStatus
Expand Down