Skip to content

Commit

Permalink
Add formatMappings task (#3811)
Browse files Browse the repository at this point in the history
* Add formatMappings task

* Fix build

* Cleanup
  • Loading branch information
modmuss50 authored Mar 6, 2024
1 parent c085684 commit f0372ee
Show file tree
Hide file tree
Showing 25 changed files with 195 additions and 143 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ jobs:
steps:
- uses: actions/checkout@v4
- run: ./gradlew build javadocJar checkMappings --stacktrace --warning-mode fail
- run: ./gradlew formatMappings --stacktrace --warning-mode fail
- name: Check mapping format
run: if [ -n "$(git status --porcelain)" ]; then exit 1; fi
- name: Build artifacts
if: ${{ matrix.java == '21-jdk' }}
continue-on-error: true
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,6 @@ Downloads the client and server Minecraft jars for the current Minecraft version

### `mergeJars`
Merges the client and server jars into one merged jar, located at `VERSION-merged.jar` in the mappings directory where `VERSION` is the current Minecraft version.

### `formatMappings`
Formats and sorts the mappings, ensuring that they are in a consistent order.
5 changes: 5 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ import net.fabricmc.filament.task.base.WithFileOutput
import net.fabricmc.filament.task.enigma.MapSpecializedMethodsTask
import net.fabricmc.filament.task.mappingio.CompleteMappingsTask
import net.fabricmc.filament.task.mappingio.ConvertMappingsTask
import net.fabricmc.filament.task.mappingio.FormatMappingsTask
import net.fabricmc.filament.task.mappingio.MergeMappingsTask
import net.fabricmc.mappingio.format.MappingFormat
import net.fabricmc.nameproposal.MappingNameCompleter
Expand Down Expand Up @@ -458,6 +459,10 @@ tasks.register('decompileCFR', JavaExec) {
}
}

tasks.register("formatMappings", FormatMappingsTask) {
input = file("mappings")
}

javadoc {
dependsOn genFakeSource
group = "javadoc generation"
Expand Down
2 changes: 1 addition & 1 deletion filament/gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
filament_version=0.7.1
filament_version=0.8.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package net.fabricmc.filament.task.mappingio;

import java.io.IOException;
import java.nio.file.Path;
import java.util.Objects;

import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.tasks.InputDirectory;
import org.gradle.api.tasks.OutputDirectory;
import org.gradle.api.tasks.TaskAction;

import net.fabricmc.filament.task.base.FilamentTask;
import net.fabricmc.mappingio.MappingReader;
import net.fabricmc.mappingio.MappingWriter;
import net.fabricmc.mappingio.format.MappingFormat;
import net.fabricmc.mappingio.tree.MemoryMappingTree;
import net.fabricmc.mappingio.tree.VisitOrder;

public abstract class FormatMappingsTask extends FilamentTask {
@InputDirectory
public abstract DirectoryProperty getInput();

@OutputDirectory
protected abstract DirectoryProperty getOutput();

public FormatMappingsTask() {
getOutput().set(getInput());
}

@TaskAction
void run() throws IOException {
Path path = getInput().get().getAsFile().toPath();

MappingWriter writer = MappingWriter.create(path, MappingFormat.ENIGMA_DIR);
Objects.requireNonNull(writer, "writer");

MemoryMappingTree tree = new MemoryMappingTree();
MappingReader.read(path, MappingFormat.ENIGMA_DIR, tree);
tree.accept(writer, VisitOrder.createByName());
}
}
34 changes: 17 additions & 17 deletions mappings/net/minecraft/block/dispenser/DispenserBehavior.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,6 @@ CLASS net/minecraft/class_2357 net/minecraft/block/dispenser/DispenserBehavior
ARG 0 pointer
ARG 1 entityType
ARG 2 direction
CLASS 2
METHOD method_48306 (Lnet/minecraft/class_2350;Lnet/minecraft/class_1531;)V
ARG 1 entity
CLASS 3
METHOD method_27159 (Lnet/minecraft/class_1309;)Z
ARG 0 entity
CLASS 4
METHOD method_27160 (Lnet/minecraft/class_1496;)Z
ARG 0 entity
CLASS 5
METHOD method_27161 (Lnet/minecraft/class_1492;)Z
ARG 0 entity
CLASS 7
METHOD method_17204 (Lnet/minecraft/class_1799;Lnet/minecraft/class_1677;)V
ARG 1 entity
CLASS 9
FIELD field_13368 fallbackBehavior Lnet/minecraft/class_2347;
CLASS 10
FIELD field_49137 fallbackBehavior Lnet/minecraft/class_2347;
CLASS 17
Expand All @@ -40,6 +23,9 @@ CLASS net/minecraft/class_2357 net/minecraft/block/dispenser/DispenserBehavior
ARG 1 pointer
ARG 2 emptyBottleStack
ARG 3 filledBottleStack
CLASS 2
METHOD method_48306 (Lnet/minecraft/class_2350;Lnet/minecraft/class_1531;)V
ARG 1 entity
CLASS 22
FIELD field_38001 fallback Lnet/minecraft/class_2347;
CLASS 24
Expand All @@ -59,3 +45,17 @@ CLASS net/minecraft/class_2357 net/minecraft/block/dispenser/DispenserBehavior
CLASS 1
METHOD method_17202 (Lnet/minecraft/class_1799;Lnet/minecraft/class_1686;)V
ARG 1 entity
CLASS 3
METHOD method_27159 (Lnet/minecraft/class_1309;)Z
ARG 0 entity
CLASS 4
METHOD method_27160 (Lnet/minecraft/class_1496;)Z
ARG 0 entity
CLASS 5
METHOD method_27161 (Lnet/minecraft/class_1492;)Z
ARG 0 entity
CLASS 7
METHOD method_17204 (Lnet/minecraft/class_1799;Lnet/minecraft/class_1677;)V
ARG 1 entity
CLASS 9
FIELD field_13368 fallbackBehavior Lnet/minecraft/class_2347;
2 changes: 1 addition & 1 deletion mappings/net/minecraft/client/MinecraftClient.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ CLASS net/minecraft/class_310 net/minecraft/client/MinecraftClient
FIELD field_1735 fpsCounter I
FIELD field_1738 currentFps I
FIELD field_1739 networkProxy Ljava/net/Proxy;
FIELD field_1740 DEFAULT_FONT_ID Lnet/minecraft/class_2960;
FIELD field_17404 renderTaskQueue Ljava/util/Queue;
FIELD field_17405 worldGenProgressTracker Ljava/util/concurrent/atomic/AtomicReference;
FIELD field_1740 DEFAULT_FONT_ID Lnet/minecraft/class_2960;
FIELD field_1741 pausedTickDelta F
FIELD field_1742 itemRenderer Lnet/minecraft/class_918;
FIELD field_1743 skipGameRender Z
Expand Down
8 changes: 4 additions & 4 deletions mappings/net/minecraft/client/gui/screen/StatsScreen.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,6 @@ CLASS net/minecraft/class_447 net/minecraft/client/gui/screen/StatsScreen
ARG 1 statType
METHOD method_19410 getStatType (I)Lnet/minecraft/class_3448;
ARG 1 headerColumn
CLASS class_450 ItemComparator
METHOD compare (Ljava/lang/Object;Ljava/lang/Object;)I
ARG 1 a
ARG 2 b
CLASS class_4199 Entry
FIELD field_33830 item Lnet/minecraft/class_1792;
METHOD <init> (Lnet/minecraft/class_447$class_4200;Lnet/minecraft/class_1792;)V
Expand All @@ -79,6 +75,10 @@ CLASS net/minecraft/class_447 net/minecraft/client/gui/screen/StatsScreen
ARG 4 y
ARG 5 white
METHOD method_37307 getItem ()Lnet/minecraft/class_1792;
CLASS class_450 ItemComparator
METHOD compare (Ljava/lang/Object;Ljava/lang/Object;)I
ARG 1 a
ARG 2 b
CLASS class_4202 EntityStatsListWidget
FIELD field_18763 screen Lnet/minecraft/class_447;
METHOD <init> (Lnet/minecraft/class_447;Lnet/minecraft/class_310;)V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ CLASS net/minecraft/class_466 net/minecraft/client/gui/screen/ingame/BeaconScree
METHOD method_37076 addButton (Lnet/minecraft/class_339;)V
ARG 1 button
METHOD method_37078 tickButtons ()V
CLASS class_4072 IconButtonWidget
FIELD field_45445 texture Lnet/minecraft/class_2960;
METHOD <init> (IILnet/minecraft/class_2960;Lnet/minecraft/class_2561;)V
ARG 1 x
ARG 2 y
ARG 3 texture
ARG 4 message
CLASS class_467 CancelButtonWidget
METHOD <init> (Lnet/minecraft/class_466;II)V
ARG 2 x
Expand Down Expand Up @@ -57,13 +64,6 @@ CLASS net/minecraft/class_466 net/minecraft/client/gui/screen/ingame/BeaconScree
METHOD method_2401 setDisabled (Z)V
ARG 1 disabled
METHOD method_2402 isDisabled ()Z
CLASS class_4072 IconButtonWidget
FIELD field_45445 texture Lnet/minecraft/class_2960;
METHOD <init> (IILnet/minecraft/class_2960;Lnet/minecraft/class_2561;)V
ARG 1 x
ARG 2 y
ARG 3 texture
ARG 4 message
CLASS class_6392 BeaconButtonWidget
METHOD method_37080 tick (I)V
ARG 1 level
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ CLASS net/minecraft/class_4267 net/minecraft/client/gui/screen/multiplayer/Multi
METHOD method_36889 (Lnet/minecraft/class_4267;Lnet/minecraft/class_350$class_351;)V
ARG 1 server
METHOD method_52204 onRemoved ()V
CLASS class_504 Entry
CLASS class_4268 ScanningEntry
FIELD field_19112 client Lnet/minecraft/class_310;
CLASS class_4269 LanServerEntry
Expand Down Expand Up @@ -89,3 +88,4 @@ CLASS net/minecraft/class_4267 net/minecraft/client/gui/screen/multiplayer/Multi
METHOD method_49300 uploadFavicon ([B)Z
ARG 1 bytes
METHOD method_55815 update ()V
CLASS class_504 Entry
26 changes: 13 additions & 13 deletions mappings/net/minecraft/client/model/ModelPart.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,19 @@ CLASS net/minecraft/class_630 net/minecraft/client/model/ModelPart
METHOD method_2837 remap (FF)Lnet/minecraft/class_630$class_618;
ARG 1 u
ARG 2 v
CLASS class_6229 CuboidConsumer
METHOD method_35748 accept (Lnet/minecraft/class_4587$class_4665;Ljava/lang/String;ILnet/minecraft/class_630$class_628;)V
COMMENT Accepts a cuboid from a model part.
COMMENT
COMMENT @see ModelPart#forEachCuboid(MatrixStack, CuboidConsumer)
ARG 1 matrix
COMMENT the current matrix transformation from the model parts
ARG 2 path
COMMENT the path of the current model part, separated by {@code /}
ARG 3 index
COMMENT the index of the current cuboid in the current model part
ARG 4 cuboid
COMMENT the current cuboid
CLASS class_628 Cuboid
FIELD field_3643 minZ F
FIELD field_3644 minY F
Expand Down Expand Up @@ -144,16 +157,3 @@ CLASS net/minecraft/class_630 net/minecraft/client/model/ModelPart
ARG 6 green
ARG 7 blue
ARG 8 alpha
CLASS class_6229 CuboidConsumer
METHOD method_35748 accept (Lnet/minecraft/class_4587$class_4665;Ljava/lang/String;ILnet/minecraft/class_630$class_628;)V
COMMENT Accepts a cuboid from a model part.
COMMENT
COMMENT @see ModelPart#forEachCuboid(MatrixStack, CuboidConsumer)
ARG 1 matrix
COMMENT the current matrix transformation from the model parts
ARG 2 path
COMMENT the path of the current model part, separated by {@code /}
ARG 3 index
COMMENT the index of the current cuboid in the current model part
ARG 4 cuboid
COMMENT the current cuboid
2 changes: 1 addition & 1 deletion mappings/net/minecraft/client/option/GameOptions.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ CLASS net/minecraft/class_315 net/minecraft/client/option/GameOptions
COMMENT or {@linkplain net.minecraft.block.Block#getPickStack(net.minecraft.world.WorldView,
COMMENT net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState) block} the player is looking at.
COMMENT Bound to {@linkplain org.lwjgl.glfw.GLFW#GLFW_MOUSE_BUTTON_MIDDLE the middle mouse button} by default.
FIELD field_1872 overrideWidth I
FIELD field_18725 backgroundForChatOnly Lnet/minecraft/class_7172;
FIELD field_18726 textBackgroundOpacity Lnet/minecraft/class_7172;
FIELD field_1872 overrideWidth I
FIELD field_1873 autoSuggestions Lnet/minecraft/class_7172;
FIELD field_1874 loadToolbarActivatorKey Lnet/minecraft/class_304;
COMMENT A key binding for loading the hotbar items in {@linkplain net.minecraft.world.GameMode#CREATIVE creative mode}.
Expand Down
8 changes: 4 additions & 4 deletions mappings/net/minecraft/client/particle/DamageParticle.mapping
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
CLASS net/minecraft/class_657 net/minecraft/client/particle/DamageParticle
CLASS class_3939 Factory
FIELD field_18291 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_658 DefaultFactory
FIELD field_17790 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
Expand All @@ -7,7 +11,3 @@ CLASS net/minecraft/class_657 net/minecraft/client/particle/DamageParticle
FIELD field_17791 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_3939 Factory
FIELD field_18291 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
CLASS net/minecraft/class_677 net/minecraft/client/particle/FireworksSparkParticle
CLASS class_3997 FlashFactory
FIELD field_17810 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_678 Flash
CLASS class_679 ExplosionFactory
FIELD field_17811 spriteProvider Lnet/minecraft/class_4002;
Expand Down Expand Up @@ -60,7 +64,3 @@ CLASS net/minecraft/class_677 net/minecraft/client/particle/FireworksSparkPartic
METHOD method_3032 explodeBurst (Lit/unimi/dsi/fastutil/ints/IntList;Lit/unimi/dsi/fastutil/ints/IntList;ZZ)V
ARG 3 trail
ARG 4 flicker
CLASS class_3997 FlashFactory
FIELD field_17810 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
8 changes: 4 additions & 4 deletions mappings/net/minecraft/client/particle/FlameParticle.mapping
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
CLASS net/minecraft/class_687 net/minecraft/client/particle/FlameParticle
CLASS class_688 Factory
FIELD field_17812 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_5613 SmallFactory
FIELD field_27736 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_688 Factory
FIELD field_17812 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ CLASS net/minecraft/class_725 net/minecraft/client/particle/SquidInkParticle
ARG 12 velocityZ
ARG 14 color
ARG 15 spriteProvider
CLASS class_726 Factory
FIELD field_17878 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_5788 GlowSquidInkFactory
FIELD field_28460 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_726 Factory
FIELD field_17878 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
CLASS net/minecraft/class_729 net/minecraft/client/particle/SuspendParticle
CLASS class_3991 Factory
FIELD field_17880 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_730 DolphinFactory
FIELD field_17881 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
Expand All @@ -11,10 +15,6 @@ CLASS net/minecraft/class_729 net/minecraft/client/particle/SuspendParticle
FIELD field_17883 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_3991 Factory
FIELD field_17880 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
ARG 1 spriteProvider
CLASS class_8254 EggCrackFactory
FIELD field_43374 spriteProvider Lnet/minecraft/class_4002;
METHOD <init> (Lnet/minecraft/class_4002;)V
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
CLASS net/minecraft/class_8679 net/minecraft/client/render/ChunkRenderingDataPreparer
CLASS class_5972 ChunkInfoList
FIELD field_29620 current [Lnet/minecraft/class_8679$class_762;
METHOD <init> (I)V
ARG 1 size
METHOD method_34820 getInfo (Lnet/minecraft/class_846$class_851;)Lnet/minecraft/class_8679$class_762;
ARG 1 chunk
METHOD method_34821 setInfo (Lnet/minecraft/class_846$class_851;Lnet/minecraft/class_8679$class_762;)V
ARG 1 chunk
ARG 2 info
CLASS class_6600 RenderableChunks
FIELD field_34819 chunks Ljava/util/LinkedHashSet;
METHOD <init> (I)V
ARG 1 chunkCount
CLASS class_762 ChunkInfo
FIELD field_4122 propagationLevel I
FIELD field_4124 chunk Lnet/minecraft/class_846$class_851;
Expand All @@ -20,16 +33,3 @@ CLASS net/minecraft/class_8679 net/minecraft/client/render/ChunkRenderingDataPre
ARG 1 ordinal
METHOD method_34816 addDirection (Lnet/minecraft/class_2350;)V
ARG 1 direction
CLASS class_5972 ChunkInfoList
FIELD field_29620 current [Lnet/minecraft/class_8679$class_762;
METHOD <init> (I)V
ARG 1 size
METHOD method_34820 getInfo (Lnet/minecraft/class_846$class_851;)Lnet/minecraft/class_8679$class_762;
ARG 1 chunk
METHOD method_34821 setInfo (Lnet/minecraft/class_846$class_851;Lnet/minecraft/class_8679$class_762;)V
ARG 1 chunk
ARG 2 info
CLASS class_6600 RenderableChunks
FIELD field_34819 chunks Ljava/util/LinkedHashSet;
METHOD <init> (I)V
ARG 1 chunkCount
Loading

0 comments on commit f0372ee

Please sign in to comment.