diff --git a/build.gradle b/build.gradle index 9e519efa2c..68aafd4b88 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 @@ -92,7 +96,6 @@ dependencies { intermediary "net.fabricmc:intermediary:${minecraft_version}:v2" } - import org.objectweb.asm.ClassVisitor import org.objectweb.asm.Opcodes import org.quiltmc.draftsman.asm.visitor.DraftsmanAdapterClassVisitor @@ -115,11 +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 - profile.set file("enigma_profile.json") -} +// task insertAutoGeneratedMappings(dependsOn: [buildMappingsTiny, downloadPerVersionMappings], type: AddProposedMappingsTask) { +// inputJar.set mappings.fileConstants.perVersionMappingsJar +// inputMappings.set buildMappingsTiny.outputMappings +// } combineUnpickDefinitions { input = mappings.fileConstants.unpickDefinitions @@ -188,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/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 5c444ac096..ef4f5a06c1 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsExtension.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsExtension.java @@ -1,15 +1,54 @@ 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); + public static MappingsExtension get(Project project) { + return project.getExtensions().getByType(MappingsExtension.class); + } + + protected abstract RegularFileProperty getEnigmaProfileFile(); + + public MappingsExtension(Project project) { + this.fileConstants = new FileConstants(project); + + 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..d945fadb1a 100644 --- a/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java +++ b/buildSrc/src/main/java/quilt/internal/MappingsPlugin.java @@ -1,8 +1,15 @@ 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; +import quilt.internal.tasks.build.AddProposedMappingsTask; import quilt.internal.tasks.build.BuildMappingsTinyTask; import quilt.internal.tasks.build.CompressTinyTask; import quilt.internal.tasks.build.DropInvalidMappingsTask; @@ -24,66 +31,277 @@ 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; -import quilt.internal.tasks.unpick.gen.OpenGlConstantUnpickGenerator; +import quilt.internal.tasks.unpick.gen.OpenGlConstantUnpickGeneratorTask; + +import java.io.File; + +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(Constants.MINECRAFT_VERSION + "-" + mappingsName + "." + fileExt)); + } -public class MappingsPlugin implements Plugin { @Override - public void apply(Project target) { - target.getExtensions().add("mappings", new MappingsExtension(target)); - - 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); - tasks.create(ExtractServerJarTask.TASK_NAME, ExtractServerJarTask.class); - tasks.create(MergeJarsTask.TASK_NAME, MergeJarsTask.class); - tasks.create(DownloadMinecraftLibrariesTask.TASK_NAME, DownloadMinecraftLibrariesTask.class); - - tasks.create(DownloadPerVersionMappingsTask.TASK_NAME, DownloadPerVersionMappingsTask.class); - tasks.create(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); - tasks.create(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); - 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.create(MapPerVersionMappingsJarTask.TASK_NAME, MapPerVersionMappingsJarTask.class); - tasks.create(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.create(GeneratePackageInfoMappingsTask.TASK_NAME, GeneratePackageInfoMappingsTask.class); - tasks.create(DownloadDictionaryFileTask.TASK_NAME, DownloadDictionaryFileTask.class); - final var mappingLintTask = tasks.create(MappingLintTask.TASK_NAME, MappingLintTask.class); - tasks.create(FindDuplicateMappingFilesTask.TASK_NAME, FindDuplicateMappingFilesTask.class, task -> { - task.getMappingDirectory().set(mappingLintTask.getMappingDirectory()); - mappingLintTask.dependsOn(task); + public void apply(@NotNull Project project) { + final var ext = project.getExtensions().create("mappings", MappingsExtension.class, 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." + ); }); - 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); + final var downloadVersionsManifest = tasks.register( + DownloadVersionsManifestTask.TASK_NAME, DownloadVersionsManifestTask.class, + task -> { + task.getManifestFile().convention(() -> new File( + ext.getFileConstants().cacheFilesMinecraft, + "version_manifest_v2.json" + )); + } + ); - 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); - } + final var downloadWantedVersionManifest = tasks.register( + DownloadWantedVersionManifestTask.TASK_NAME, DownloadWantedVersionManifestTask.class, + task -> { + task.getManifest().convention( + downloadVersionsManifest.flatMap(DownloadVersionsManifestTask::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.flatMap(DownloadWantedVersionManifestTask::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.flatMap(DownloadMinecraftJarsTask::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.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.flatMap(DownloadWantedVersionManifestTask::getVersionFile) + ); + task.getLibrariesDir().convention(provideProjectDir(project, ext.getFileConstants().libraries)); + } + ); + + 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") + ); + } + ); + final var invertPerVersionMappings = + tasks.register(InvertPerVersionMappingsTask.TASK_NAME, InvertPerVersionMappingsTask.class); + final var buildMappingsTiny = tasks.register(BuildMappingsTinyTask.TASK_NAME, BuildMappingsTinyTask.class); + 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.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, + 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); + + tasks.register(MapPerVersionMappingsJarTask.TASK_NAME, MapPerVersionMappingsJarTask.class); + tasks.register(MapNamedJarTask.TASK_NAME, MapNamedJarTask.class); + + tasks.register(CombineUnpickDefinitionsTask.TASK_NAME, CombineUnpickDefinitionsTask.class); + tasks.register(RemapUnpickDefinitionsTask.TASK_NAME, RemapUnpickDefinitionsTask.class); + tasks.register(OpenGlConstantUnpickGeneratorTask.TASK_NAME, OpenGlConstantUnpickGeneratorTask.class, task -> { + // TODO eliminate this + task.dependsOn(MapPerVersionMappingsJarTask.TASK_NAME); + + 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.flatMap(downloadTask -> downloadTask.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.register(MappingLintTask.TASK_NAME, MappingLintTask.class); + 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") + ); + + task.dependsOn(checkIntermediaryMappings); + task.onlyIf(unused -> checkIntermediaryMappings.get().isPresent()); + } + ); + final var extractTinyIntermediaryMappings = 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, + 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); - public static MappingsExtension getExtension(Project project) { - return project.getExtensions().getByType(MappingsExtension.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); } } diff --git a/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java index 41580ead60..31c96201b3 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/DefaultMappingsTask.java @@ -7,7 +7,8 @@ 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(); + // TODO set groups in registerDefault methods instead of here this.setGroup(group); } } 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/MappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java index c56cd94a97..66eb32858d 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/MappingsTask.java @@ -3,37 +3,53 @@ 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 regularProjectFileOf(String path) { + return this.getProjectDirectory().file(path); + } + + default Provider regularProjectFileOf(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 MappingsExtension.get(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..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,17 +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 { - File hashedTinyInput = this.getTaskByType(InvertPerVersionMappingsTask.class).getInvertedTinyFile(); - 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 9f28b474ea..ac2d46e6be 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,24 +24,20 @@ public abstract class AbstractTinyMergeTask extends DefaultMappingsTask { @InputFile - protected final RegularFileProperty input; + public abstract RegularFileProperty getInput(); @OutputFile - public File outputMappings; + public abstract RegularFileProperty getOutputMappings(); 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.outputMappings = new File(fileConstants.buildDir, outputMappings); - getOutputs().file(this.outputMappings); - - input = getProject().getObjects().fileProperty(); this.mergeName = mergeName; this.fillName = fillName; @@ -56,24 +47,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 +85,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 adfcb8e712..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; @@ -12,6 +11,7 @@ import java.util.Locale; import java.util.Objects; +import org.gradle.api.file.RegularFileProperty; import org.quiltmc.enigma.api.Enigma; import org.quiltmc.enigma.api.EnigmaProfile; import org.quiltmc.enigma.api.EnigmaProject; @@ -30,54 +30,49 @@ 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; - -public class AddProposedMappingsTask extends DefaultMappingsTask { - @OutputFile - public File outputMappings; +import quilt.internal.tasks.EnigmaProfileConsumingTask; +import quilt.internal.util.ProviderUtil; +public abstract class AddProposedMappingsTask extends EnigmaProfileConsumingTask { @InputFile - private final Property inputJar; + public abstract RegularFileProperty getInputJar(); @InputFile - private final Property inputMappings; + public abstract RegularFileProperty getInputMappings(); - @InputFile - private final Property profile; + @OutputFile + public abstract RegularFileProperty getOutputMappings(); 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); } @TaskAction public void addProposedMappings() throws Exception { - getLogger().lifecycle(":seeking auto-mappable entries"); + this.getLogger().lifecycle(":seeking auto-mappable entries"); - Path input = inputMappings.get().toPath(); - Path output = outputMappings.toPath(); - Path jar = inputJar.get().toPath(); - Path profilePath = profile.map(File::toPath).get(); + final Path input = ProviderUtil.getPath(this.getInputMappings()); + final Path output = ProviderUtil.getPath(this.getOutputMappings()); + final Path jar = ProviderUtil.getPath(this.getInputJar()); - addProposedMappings(input, output, fileConstants.tempDir.toPath(), jar, profilePath); + addProposedMappings(input, output, this.fileConstants.tempDir.toPath(), jar, this.getEnigmaProfile().get()); } @VisibleForTesting - public static void addProposedMappings(Path input, Path output, Path tempDir, Path jar, Path profilePath) 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); } @@ -90,59 +85,58 @@ 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, commandOutput, - profilePath, + profile, namespaces.get(0), "named" ); 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); } } } - private static void runCommands(Path jar, Path input, Path output, Path profilePath, String fromNamespace, String toNamespace) throws Exception { - EnigmaProfile profile = EnigmaProfile.read(profilePath); - Enigma enigma = Command.createEnigma(profile, null); + private static void runCommands(Path jar, Path input, Path output, EnigmaProfile profile, String fromNamespace, String toNamespace) throws Exception { + 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()); } @@ -152,16 +146,16 @@ private static void runCommands(Path jar, Path input, Path output, Path profileP // 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)); @@ -178,42 +172,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; - } - - public Property getInputJar() { - return inputJar; - } - - public Property getInputMappings() { - return inputMappings; - } - - public Property getProfile() { - return profile; - } } 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..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,35 +14,40 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; +import quilt.internal.util.ProviderUtil; -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(), + ProviderUtil.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..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,38 +8,47 @@ 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; -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); + this.dependsOn(MappingsPlugin.DOWNLOAD_PER_VERSION_MAPPINGS_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(MappingsPlugin.EXTRACT_TINY_PER_VERSION_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.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 +56,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..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,33 +2,34 @@ 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.mappingio.DoubleNsCompleterVisitor; import quilt.internal.mappingio.UnmappedNameRemoverVisitor; -import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; -import quilt.internal.tasks.setup.DownloadIntermediaryMappingsTask; -import java.io.File; import java.io.IOException; 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()); + @InputFile + public abstract RegularFileProperty getMergedTinyMappings(); - input.convention(getTaskByType(DownloadIntermediaryMappingsTask.class)::getTinyFile); + public MergeIntermediaryTask() { + super( + Constants.INTERMEDIARY_MAPPINGS_NAME, + Constants.PER_VERSION_MAPPINGS_NAME + ); } @Override public void mergeMappings() throws Exception { - File tinyInput = this.getTaskByType(MergeTinyV2Task.class).getOutputMappings(); - mergeMappings(tinyInput); + this.mergeMappings(this.getMergedTinyMappings().get().getAsFile()); } @Override @@ -39,7 +40,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 +66,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..365ea3b46c 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,13 @@ 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); - - input.convention(getTaskByType(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..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,18 +6,13 @@ import java.nio.file.Path; import java.util.function.Function; -public class MergeTinyV2Task extends AbstractHashedMergeTask { +public abstract class MergeTinyV2Task extends AbstractHashedMergeTask { public static final String TASK_NAME = "mergeTinyV2"; - public MergeTinyV2Task() { - super("merged2.tiny"); - dependsOn(InvertPerVersionMappingsTask.TASK_NAME, "v2UnmergedMappingsJar"); - - input.convention(() -> this.getTaskByName("insertAutoGeneratedMappings").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..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,6 +14,7 @@ import quilt.internal.Constants; import quilt.internal.tasks.DefaultMappingsTask; import quilt.internal.tasks.setup.CheckIntermediaryMappingsTask; +import quilt.internal.util.ProviderUtil; 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 = ProviderUtil.getPath(this.getInput()); + final Path output = ProviderUtil.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..d851d397c9 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.regularProjectFileOf( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "/mappings/mappings.tiny" + )) + ); + this.getTargetUnpickFile().convention(targetOrMappingsVersion.map(version -> + this.regularProjectFileOf( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "/extras/unpick.json" + ) + )); + this.getTargetUnpickDefinitionsFile().convention(targetOrMappingsVersion.map(version -> + this.regularProjectFileOf( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "/extras/definitions.unpick" + ) + )); + this.getTargetUnpickRemappedDefinitionsFile().convention(targetOrMappingsVersion.map(version -> + this.regularProjectFileOf( + TARGET_MAPPINGS + "/quilt-mappings-" + version + "remapped-unpick.unpick" + ) + )); + this.getTargetUnpickConstantsFile().convention(targetOrMappingsVersion.map(version -> + this.regularProjectFileOf( + 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 c425eb22d5..50ab759277 100644 --- a/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java +++ b/buildSrc/src/main/java/quilt/internal/tasks/jarmapping/MapNamedJarTask.java @@ -6,23 +6,28 @@ 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("insertAutoGeneratedMappings").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("insertAutoGeneratedMappings", "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..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,21 +1,29 @@ 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 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, + MappingsPlugin.DOWNLOAD_PER_VERSION_MAPPINGS_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(MappingsPlugin.EXTRACT_TINY_PER_VERSION_MAPPINGS_TASK_NAME, ExtractTinyMappingsTask.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 deleted file mode 100644 index 8d9a70183e..0000000000 --- a/buildSrc/src/main/java/quilt/internal/tasks/setup/AbstractDownloadMappingsTask.java +++ /dev/null @@ -1,53 +0,0 @@ -package quilt.internal.tasks.setup; - -import org.apache.commons.io.FileUtils; -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 File jarFile; - - @OutputFile - public File tinyFile; - - 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.mappingsName = mappingsName; - } - - @TaskAction - public void downloadMappings() throws IOException { - startDownload() - .src(getProject().getConfigurations().getByName(mappingsName).resolve().iterator().next().toURI().toString()) - .dest(jarFile) - .overwrite(false) - .download(); - - FileUtils.copyFile(getProject() - .zipTree(jarFile) - .getFiles() - .stream() - .filter(file -> file.getName().endsWith("mappings.tiny")) - .findFirst() - .get(), tinyFile); - } - - public File getJarFile() { - return jarFile; - } - - public File getTinyFile() { - return tinyFile; - } -} 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..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,7 +9,10 @@ import java.io.File; import java.util.Set; -public class CheckIntermediaryMappingsTask extends DefaultMappingsTask { +// 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"; @Internal @@ -25,8 +28,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..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,11 +1,12 @@ package quilt.internal.tasks.setup; -public class DownloadIntermediaryMappingsTask extends AbstractDownloadMappingsTask { +public abstract class DownloadIntermediaryMappingsTask extends DownloadMappingsTask { 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/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/DownloadMinecraftJarsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftJarsTask.java index b6fc155a66..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,55 +7,77 @@ 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; -public class DownloadMinecraftJarsTask extends DefaultMappingsTask { +public abstract class DownloadMinecraftJarsTask extends DefaultMappingsTask { public static final String TASK_NAME = "downloadMinecraftJars"; - @OutputFile - private final File clientJar; + + @InputFile + public abstract RegularFileProperty getVersionFile(); + + @Internal("Fingerprinting is handled by getVersionFile") + protected abstract Property getVersion(); @OutputFile - private final File serverBootstrapJar; + public abstract RegularFileProperty getClientJar(); - private Version file; + @OutputFile + public abstract RegularFileProperty getServerBootstrapJar(); 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.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); + } + })); - getOutputs().upToDateWhen(_input -> { + this.getOutputs().upToDateWhen(unused -> { try { + 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, getVersionFile().getDownloads().getClient().getSha1()) - && validateChecksum(serverBootstrapJar, getVersionFile().getDownloads().getServer().get().getSha1()); + && 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 { - getLogger().lifecycle(":downloading minecraft jars"); + this.getLogger().lifecycle(":downloading minecraft jars"); - startDownload() - .src(getVersionFile().getDownloads().getClient().getUrl()) - .dest(clientJar) + final Downloads versionDownloads = this.getVersion().get().getDownloads(); + + this.startDownload() + .src(versionDownloads.getClient().getUrl()) + .dest(this.getClientJar().get().getAsFile()) .overwrite(false) .download(); - startDownload() - .src(getVersionFile().getDownloads().getServer().get().getUrl()) - .dest(serverBootstrapJar) + this.startDownload() + .src(versionDownloads.getServer().orElseThrow().getUrl()) + .dest(this.getServerBootstrapJar().get().getAsFile()) .overwrite(false) .download(); } @@ -63,29 +85,15 @@ 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)); + return builder.toString().equals(checksum); } - return file; - } - - public File getClientJar() { - return clientJar; - } - - public File getServerBootstrapJar() { - return serverBootstrapJar; + return false; } } 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..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,88 +3,143 @@ 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; import quilt.internal.tasks.DefaultMappingsTask; -public class DownloadMinecraftLibrariesTask extends DefaultMappingsTask { +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 - private final RegularFileProperty versionFile; + 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); - dependsOn(DownloadWantedVersionManifestTask.TASK_NAME); + // TODO is this because library sources may change even on the same version? + this.outputsNeverUpToDate(); - versionFile = getProject().getObjects().fileProperty(); - versionFile.convention(getTaskByType(DownloadWantedVersionManifestTask.class)::getVersionFile); + 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); + } + })); - getInputs().file(versionFile); + // 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." + ); + })); - getOutputs().dir(fileConstants.libraries); - outputsNeverUpToDate(); + this.artifactsByUrl = this.getArtifactsByUrl(); } @TaskAction - public void downloadMinecraftLibrariesTask() throws IOException { - Version file = Version.fromString(FileUtils.readFileToString(versionFile.get().getAsFile(), StandardCharsets.UTF_8)); + public void downloadMinecraftLibrariesTask() { + this.getLogger().lifecycle(":downloading minecraft libraries"); - getLogger().lifecycle(":downloading minecraft libraries"); + this.getLibrariesDir().get().getAsFile().mkdirs(); - if (!fileConstants.libraries.exists()) { - fileConstants.libraries.mkdirs(); - } + final AtomicBoolean failed = new AtomicBoolean(false); - AtomicBoolean failed = new AtomicBoolean(false); + final Object lock = new Object(); - Object lock = new Object(); + final List librariesSrc = this.getVersion().get().getLibraries(); - file.getLibraries().parallelStream().forEach(library -> { - Optional artifact = library.getDownloads().getArtifact(); - if (artifact.isEmpty()) { - return; + 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 { - String url = artifact.get().getUrl(); - startDownload() - .src(url) - .dest(getArtifactFile(fileConstants, url)) - .overwrite(false) - .download(); + this.startDownload() + .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) { - getProject().getDependencies().add("decompileClasspath", library.getName()); + // 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."); } - } - public static File getArtifactFile(FileConstants fileConstants, String url) { - return new File(fileConstants.libraries, url.substring(url.lastIndexOf("/") + 1)); + this.getArtifactsByUrl().set(artifactsByUrl); } - public RegularFileProperty getVersionFile() { - return versionFile; + 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/setup/DownloadPerVersionMappingsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadPerVersionMappingsTask.java deleted file mode 100644 index bfe9a1cf36..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 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/DownloadVersionsManifestTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadVersionsManifestTask.java index ecf64cddaa..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,35 +1,30 @@ package quilt.internal.tasks.setup; -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"); } @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..9205fdc7fe 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,20 @@ 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.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; @@ -15,46 +23,63 @@ 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"; - 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 - private final File versionFile; + public abstract RegularFileProperty getVersionFile(); - public DownloadWantedVersionManifestTask() throws IOException { + public DownloadWantedVersionManifestTask() { super(Constants.Groups.SETUP_GROUP); - this.dependsOn(DownloadVersionsManifestTask.TASK_NAME); - manifestFile = this.getTaskByName(DownloadVersionsManifestTask.TASK_NAME).getManifestFile(); - manifestVersion = getManifestVersion(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"); + + // 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 { - Optional _manifestVersion = manifestVersion.isEmpty() ? getManifestVersion(manifestFile) : manifestVersion; + public void downloadWantedVersionManifestTask() throws IOException, URISyntaxException { //nb need to re-read here in case it didn't exist before - if (_manifestVersion.isPresent() || versionFile.exists()) { - if (_manifestVersion.isPresent()) { - FileUtils.copyURLToFile(new URL((_manifestVersion.get().getUrl())), versionFile); - } - } else { - throw new RuntimeException("No version data for Minecraft version " + Constants.MINECRAFT_VERSION); - } - } + final File versionFile = this.getVersionFile().get().getAsFile(); - 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(); + FileUtils.copyURLToFile(new URI(this.getManifestVersion().get().getUrl()).toURL(), versionFile); } - public File getVersionFile() { - return versionFile; + 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(); } } 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..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,35 +1,37 @@ 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; import quilt.internal.tasks.DefaultMappingsTask; -public class ExtractServerJarTask extends DefaultMappingsTask { +public abstract class ExtractServerJarTask extends DefaultMappingsTask { public static final String TASK_NAME = "extractServerJar"; + @InputFile + public abstract RegularFileProperty getServerBootstrapJar(); + @OutputFile - private final File serverJar; + public abstract RegularFileProperty getServerJar(); public ExtractServerJarTask() { super(Constants.Groups.SETUP_GROUP); - dependsOn(DownloadMinecraftJarsTask.TASK_NAME); - - getInputs().file(this.getTaskByType(DownloadMinecraftJarsTask.class).getServerBootstrapJar()); - - serverJar = new File(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().get()) + .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/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/tasks/setup/MergeJarsTask.java b/buildSrc/src/main/java/quilt/internal/tasks/setup/MergeJarsTask.java index f4deb0397b..9392d94b84 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,36 @@ 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); } @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 deleted file mode 100644 index 176f460246..0000000000 --- a/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGenerator.java +++ /dev/null @@ -1,323 +0,0 @@ -package quilt.internal.tasks.unpick.gen; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.PrintStream; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Predicate; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.TextNode; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; -import org.apache.commons.io.FileUtils; -import org.gradle.api.file.RegularFileProperty; -import org.gradle.api.tasks.InputFile; -import org.gradle.api.tasks.TaskAction; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -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.tasks.DefaultMappingsTask; -import quilt.internal.tasks.jarmapping.MapPerVersionMappingsJarTask; -import quilt.internal.tasks.setup.DownloadMinecraftLibrariesTask; - -public 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 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"); - - private static final Predicate LWJGL_LIBRARY_PREDICATE = Pattern.compile("^org\\.lwjgl:lwjgl-opengl:([^:]*)$").asMatchPredicate(); - - @InputFile - private final RegularFileProperty versionFile; - - public OpenGlConstantUnpickGenerator() { - super(Constants.Groups.UNPICK_GEN); - this.dependsOn(DownloadMinecraftLibrariesTask.TASK_NAME, MapPerVersionMappingsJarTask.TASK_NAME); - - 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; - } - - @TaskAction - public void exec() throws Exception { - JsonNode tree = new XmlMapper().readTree(new URL(OPEN_GL_REGISTRY)); - List methods = new ArrayList<>(); - tree.get("commands").get("command").forEach(command -> { - String name = command.get("proto").get("name").textValue(); - 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"); - addParam(param, params); - } - } - methods.add(new GlFunc(name, params)); - }); - - Map> groupToConstants = new HashMap<>(); - Map isBitmask = new HashMap<>(); - tree.get("enums").forEach(enumGroup -> { - 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(); - - for (String group : groups.split(",")) { - groupToConstants.computeIfAbsent(group, _group -> new ArrayList<>()).add(name); - isBitmask.putIfAbsent(group, bitmask); - } - }); - } - }); - - // 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())) - .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); - } - }); - - { - File unpickGl = this.fileConstants.unpickGlDefinitions; - unpickGl.delete(); - unpickGl.createNewFile(); - - 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()) { - boolean generated = false; - - String type = isBitmask.get(group) ? "flag" : "constant"; - - for (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)); - } - - if (generated) { - out.println(); - } - } - - for (GlFunc func : methods) { - 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); - }); - }); - 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); - }); - }); - if (functionToSignatureToDefiningVersions.containsKey(func.name)) { - out.println(); - } - } - } - } - - { - File unpickGlStateManager = this.fileConstants.unpickGlStateManagerDefinitions; - unpickGlStateManager.delete(); - unpickGlStateManager.createNewFile(); - - 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()); - - 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); - - 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) { - funcs = methods.stream().filter(f -> f.name.equals(glName + "i")).toList(); - if (funcs.size() == 0) { - return; - } - } - - GlFunc func = funcs.get(0); - 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(); - } - }); - } - } - - 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); - if (isBitmask.containsKey(param.group)) { - if (!isUnsafe) { - if (func.name.equals("glBufferData") && i == 3) { - out.println("\tparam " + 2 + " " + param.group); - continue; - } - } - if (signature.isInt(i)) { - out.println("\tparam " + i + " " + param.group); - } - } - } - } - - private static void addParam(JsonNode param, List params) { - if (!(param instanceof TextNode)) { - params.add(new GlParam(param.get("name").asText(), - param.get("ptype") != null ? param.get("ptype").asText() : "", - param.get("group") != null ? param.get("group").asText() : "")); - } else { - params.add(new GlParam(param.asText(), "", "")); - } - } - - 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); - } - } - - private record GlParam(String name, String ptype, String group) { - @Override - public String toString() { - return String.format("%s %s", ptype, name) + (group.isEmpty() ? "" : "(" + 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); - matcher.find(); - return new Signature(signature, matcher.results().map(matchResult -> matchResult.group(1)).toList()); - } - - private boolean isInt(int index) { - if (index >= types.size()) { - return false; - } - return types.get(index).equals("I"); - } - } -} diff --git a/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java b/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java new file mode 100644 index 0000000000..b5755448b7 --- /dev/null +++ b/buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java @@ -0,0 +1,389 @@ +package quilt.internal.tasks.unpick.gen; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.net.URI; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +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; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.TextNode; +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; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +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.tasks.DefaultMappingsTask; + +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"; + 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"); + + private static final Predicate LWJGL_LIBRARY_PREDICATE = + Pattern.compile("^org\\.lwjgl:lwjgl-opengl:([^:]*)$").asMatchPredicate(); + + @InputFile + public abstract RegularFileProperty getVersionFile(); + + @InputFile + public abstract RegularFileProperty getPerVersionMappingsJar(); + + @Input + public abstract MapProperty getArtifactsByUrl(); + + @OutputFile + public abstract RegularFileProperty getUnpickGlStateManagerDefinitions(); + + @OutputFile + public abstract RegularFileProperty getUnpickGlDefinitions(); + + public OpenGlConstantUnpickGeneratorTask() { + super(Constants.Groups.UNPICK_GEN); + + this.onlyIf(unused -> + !this.getUnpickGlDefinitions().get().getAsFile().exists() + || !this.getUnpickGlStateManagerDefinitions().get().getAsFile().exists() + ); + } + + @TaskAction + public void exec() throws Exception { + final JsonNode tree = new XmlMapper().readTree(new URI(OPEN_GL_REGISTRY).toURL()); + final List methods = new ArrayList<>(); + tree.get("commands").get("command").forEach(command -> { + 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 { + final JsonNode param = command.get("param"); + addParam(param, params); + } + } + methods.add(new GlFunc(name, params)); + }); + + final Map> groupToConstants = new HashMap<>(); + final Map isBitmask = new HashMap<>(); + tree.get("enums").forEach(enumGroup -> { + 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; + } + + final String name = enumEntry.get("name").asText(); + final String groups = enumEntry.get("group").asText(); + + for (final String group : groups.split(",")) { + groupToConstants.computeIfAbsent(group, _group -> new ArrayList<>()).add(name); + isBitmask.putIfAbsent(group, bitmask); + } + }); + } + }); + + // Resolve lwjgl jar file + 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")); + // 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<>(); + 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); + } + }); + } + + { + final File unpickGl = this.getUnpickGlDefinitions().get().getAsFile(); + unpickGl.delete(); + unpickGl.createNewFile(); + + final PrintStream out = new PrintStream(new FileOutputStream(unpickGl)); + out.println("v2\n# This file was automatically generated, do not modify it\n"); + + for (final String group : groupToConstants.keySet()) { + boolean generated = false; + + final String type = isBitmask.get(group) ? "flag" : "constant"; + + 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) + ); + } + + if (generated) { + out.println(); + } + } + + 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 + ); + 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 + ); + this.printParams(isBitmask, out, func, true, signature); + }); + }); + if (functionToSignatureToDefiningVersions.containsKey(func.name)) { + out.println(); + } + } + } + } + + { + final File unpickGlStateManager = this.getUnpickGlStateManagerDefinitions().get().getAsFile(); + unpickGlStateManager.delete(); + unpickGlStateManager.createNewFile(); + + final PrintStream out = new PrintStream(new FileOutputStream(unpickGlStateManager)); + 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.getPerVersionMappingsJar().get().getAsFile())) { + 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); + } + + methodToSignature.forEach((method, signatures) -> { + 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.isEmpty()) { + funcs = methods.stream().filter(f -> f.name.equals(glName + "i")).toList(); + if (funcs.isEmpty()) { + return; + } + } + + 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 + ); + this.printParams(isBitmask, out, func, false, signature); + }); + + out.println(); + } + }); + } + } + + private void printParams( + Map isBitmask, PrintStream out, GlFunc func, boolean isUnsafe, Signature signature + ) { + for (int i = 0; i < func.parameters.size(); i++) { + final GlParam param = func.parameters.get(i); + if (isBitmask.containsKey(param.group)) { + if (!isUnsafe) { + if (func.name.equals("glBufferData") && i == 3) { + out.println("\tparam " + 2 + " " + param.group); + continue; + } + } + + if (signature.isInt(i)) { + out.println("\tparam " + i + " " + param.group); + } + } + } + } + + private static void addParam(JsonNode param, List params) { + if (!(param instanceof TextNode)) { + params.add(new GlParam(param.get("name").asText(), + param.get("ptype") != null ? param.get("ptype").asText() : "", + param.get("group") != null ? param.get("group").asText() : "")); + } else { + params.add(new GlParam(param.asText(), "", "")); + } + } + + private record GlFunc(String name, List parameters) { + @Override + public String toString() { + 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 "%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) { + 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 >= this.types.size()) { + return false; + } + + return this.types.get(index).equals("I"); + } + } +} 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..53adba5236 --- /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 provideProjectDir(Project project, File directory) { + return project.getLayout().dir(project.provider(() -> directory)); + } +} 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/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); 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 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..3fad84a093 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..a8571e25c5 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_ID 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..339fc36ea7 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 food + ARG 2 consumable + METHOD m_fazzsuba food (Lnet/minecraft/unmapped/C_cgikuact;)Lnet/minecraft/unmapped/C_vorddnax$C_bfrytpdl; + 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/Items.mapping b/mappings/net/minecraft/item/Items.mapping index b81e2ecdaa..59b173549e 100644 --- a/mappings/net/minecraft/item/Items.mapping +++ b/mappings/net/minecraft/item/Items.mapping @@ -1,6 +1,61 @@ 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; + 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; + 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/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/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/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/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/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..0f5ec62432 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 condition ()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/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/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/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/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/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/BootstrapContext.mapping b/mappings/net/minecraft/registry/BootstrapContext.mapping index 3a1b19e1a0..cc0a3caeb9 100644 --- a/mappings/net/minecraft/registry/BootstrapContext.mapping +++ b/mappings/net/minecraft/registry/BootstrapContext.mapping @@ -1,9 +1,10 @@ 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 + 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/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/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/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..bd2b6da4ec 100644 --- a/mappings/net/minecraft/registry/Holder.mapping +++ b/mappings/net/minecraft/registry/Holder.mapping @@ -18,23 +18,24 @@ 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 ARG 1 registryKey diff --git a/mappings/net/minecraft/registry/HolderLookup.mapping b/mappings/net/minecraft/registry/HolderLookup.mapping index 0fcf3b7f0a..8943be29b6 100644 --- a/mappings/net/minecraft/registry/HolderLookup.mapping +++ b/mappings/net/minecraft/registry/HolderLookup.mapping @@ -1,10 +1,11 @@ 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; 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 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; + 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/HolderProvider.mapping b/mappings/net/minecraft/registry/HolderProvider.mapping index 13d4729449..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 @@ -27,12 +26,10 @@ 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 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/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..68c9749d30 100644 --- a/mappings/net/minecraft/registry/Registries.mapping +++ b/mappings/net/minecraft/registry/Registries.mapping @@ -64,16 +64,27 @@ 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; + 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 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; + 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 f12a6fdca5..c1c96f6eaf 100644 --- a/mappings/net/minecraft/registry/Registry.mapping +++ b/mappings/net/minecraft/registry/Registry.mapping @@ -1,16 +1,27 @@ 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; 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 key 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 +29,12 @@ 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_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; ARG 0 registry ARG 1 id @@ -27,6 +42,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,15 +60,26 @@ 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_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; + METHOD m_spczqdtt getKey ()Lnet/minecraft/unmapped/C_xhhleach; 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..8a387924e7 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 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 @@ -37,8 +38,8 @@ 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; - ARG 0 key + METHOD m_omukrpmi createCodec (Lnet/minecraft/unmapped/C_xhhleach;)Lcom/mojang/serialization/Codec; + 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. @@ -54,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/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..4c0e9fe7ad 100644 --- a/mappings/net/minecraft/registry/RegistryLoader.mapping +++ b/mappings/net/minecraft/registry/RegistryLoader.mapping @@ -3,39 +3,86 @@ 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 + 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; 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..a2e05e5ba7 100644 --- a/mappings/net/minecraft/registry/RegistrySetBuilder.mapping +++ b/mappings/net/minecraft/registry/RegistrySetBuilder.mapping @@ -3,7 +3,18 @@ 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 1 registry ARG 2 lifecycle ARG 3 bootstrap METHOD m_iaaetqhl build (Lnet/minecraft/unmapped/C_wqxmvzdq;)Lnet/minecraft/unmapped/C_vtbxyypo$C_etmlgbig; @@ -17,19 +28,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 +90,26 @@ 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; + 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; 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/registry/SimpleRegistry.mapping b/mappings/net/minecraft/registry/SimpleRegistry.mapping index 870344c14b..9f9ddcf10d 100644 --- a/mappings/net/minecraft/registry/SimpleRegistry.mapping +++ b/mappings/net/minecraft/registry/SimpleRegistry.mapping @@ -4,20 +4,71 @@ 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; 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 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 t + 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 + 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 + 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/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..82da2fc5f6 100644 --- a/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping +++ b/mappings/net/minecraft/registry/tag/TagGroupLoader.mapping @@ -5,19 +5,54 @@ 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 + FIELD f_nufuoyyj registry Lnet/minecraft/unmapped/C_xhhleach; + METHOD m_njnnimus registry ()Lnet/minecraft/unmapped/C_xhhleach; diff --git a/mappings/net/minecraft/registry/tag/TagKey.mapping b/mappings/net/minecraft/registry/tag/TagKey.mapping index 8694470f9a..0c9030528a 100644 --- a/mappings/net/minecraft/registry/tag/TagKey.mapping +++ b/mappings/net/minecraft/registry/tag/TagKey.mapping @@ -1,29 +1,23 @@ 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; + ARG 0 registry 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/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/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/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/FunctionGetter.mapping b/mappings/net/minecraft/server/function/FunctionGetter.mapping new file mode 100644 index 0000000000..90f7cc89a0 --- /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/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/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/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/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/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/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; 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/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..b193e6b38c 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,42 @@ 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 + ARG 9 enchantmentProvider 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 +158,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 @@ -192,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 @@ -200,9 +209,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/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/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/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/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 diff --git a/simple_type_field_names.json5 b/simple_type_field_names.json5 index 5e9fd427ec..7e2eac823d 100644 --- a/simple_type_field_names.json5 +++ b/simple_type_field_names.json5 @@ -8,8 +8,10 @@ "dynOps" ] }, + "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 @@ -27,10 +29,20 @@ "net/minecraft/unmapped/C_pennblrk": "source", // ServerCommandSource // Registries - "net/minecraft/unmapped/C_tqxyjqsk": "registry", - "net/minecraft/unmapped/C_xhhleach": "registryKey", + "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": { // Identifier + local_name: "id", + exclusive: true, + fallback: [ + "identifier" + ] + }, // Client "net/minecraft/unmapped/C_ayfeobid": "client", // MinecraftClient @@ -76,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: [ @@ -90,14 +115,31 @@ "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" ] }, + // Village + "net/minecraft/unmapped/C_argwryfu": { // TradeOffer + local_name: "offer", + inherit: true, + fallback: [ + "tradeOffer" + ] + }, + // Player "net/minecraft/unmapped/C_jzrpycqo": { // PlayerEntity local_name: "player", @@ -138,6 +180,12 @@ // Network "net/minecraft/unmapped/C_idfydwco": "buf", // PacketByteBuf + "net/minecraft/unmapped/C_mnjlaveb$C_mlxyrlwl": { // TagNetworkSerialization$NetworkPayload + local_name: "payload", + fallback: [ + "networkPayload" + ] + }, // World "net/minecraft/unmapped/C_cdctfzbn": "world",