Minecraft Maven Plugin

A simple method of applying core patches to the Minecraft codebase.
Alternatives To Minecraft Maven Plugin
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Yarn741
4 days ago125cc0-1.0Java
Libre Minecraft mappings, free to use for everyone. No exceptions.
Decompilermc465
5 months ago4otherPython
This repository allows you to decompile any minecraft version that was published after 19w36a without any 3rd party mappings, you just need to execute the script or the executable (see releases)! Thanks mojang to have published proguard mappings
Minutor254
a month ago9bsd-2-clauseC
Mapping for Minecraft
Parchment163
18 days agocc0-1.0
Repository for the Parchment mappings data.
Mcpmappingviewer153
6 months ago6mitJava
A small GUI for viewing the mappings from Minecraft obfuscated code names to MCP code names.
Minecraftdecompiler148
a day ago4gpl-3.0Java
Minecraft Decompiler. A useful tool/library to deobfuscate and decompile Minecraft(or any jar file) through popular mappings and various decompilers. Or use it as a lib to process obfuscation mappings such as converting a mapping to another format
Mcdeob116
12 days ago4apache-2.0Java
Re-mapping and deobfuscation tool for Minecraft
Intermediary71
12 hours ago3cc0-1.0
Match and mapping information between different versions of Minecraft
Minimappingviewer66
4 months ago22mitVue
Mini's Mapping Viewer
Papyrusjs50
3 years agon,ullapache-2.0JavaScript
papyrus.js renders maps of Minecraft: Bedrock Edition worlds using node.js, LevelDB and leaflet.
Alternatives To Minecraft Maven Plugin
Select To Compare


Alternative Project Comparisons
Readme

Minecraft Maven Plugin State Latest Tag

The Minecraft maven plugin allows its users to easily apply patches to the Minecraft server or client using maven's well established build management.

Requirements

  • Maven 2+
  • Git in the executing shell's PATH

Usage

<pluginRepositories>
        <pluginRepository>
                <id>basin</id>
                <name>Basin</name>
                <url>https://www.basinmc.org/nexus/repository/maven-releases/</url>
        </pluginRepository>
</pluginRepositories>

For an example configuration, refer to the Example Project.

Property Type User Property Default Purpose
gameVersion String N/A N/A Specifies the vanilla game version to retrieve and patch.
mappingVersion String N/A N/A Specifies the MCP version to download and apply.
module String N/A N/A Indicates which module (server or client) is going to be built against.
patchDirectory File N/A ${project.basedir}/src/minecraft/patch Specifies where the patches will be pulled from/written to.
sourceDirectory File N/A ${project.basedir}/src/minecraft/java Specifies where the decompiled and patched Minecraft sources will be stored.
resourceDirectory File N/A ${project.build.directory}/generated-sources/minecraft Specifies where the non-code resources will be stored.
accessTransformation File N/A N/A Indicates whether there is and where to locate an Access Transformation configuration.
force Boolean minecraft.force false Indicates whether the git safeguard shall be skipped.
Goal Phase Purpose
safeguard Validate Ensures all changes to the source were commited and turned into a respective patch file to avoid accidental loss of changes.
fetch-module Initialize Fetches a vanilla Minecraft artifact and caches it.
fetch-mappings Initialize Fetches MCP and SRG mappings and caches them.
apply-mappings Initialize Generates a mapped Minecraft artifact and caches it.
decompile-module Initialize Generated a source Minecraft artifact and caches it.
initialize-repository Generated Sources Extracts a Minecraft source artifact and adds them to a local git repository.
extract-resources Generated Resources Extracts all non-code Minecraft sources.
apply-patches Generate Sources Applies all patches within the patches directory to the local git repository.
generated-patches Generate Sources Re-generates patches based on the commit history within the local git repository.

Generally it is recommended to set resourceDirectory to a value which is cleaned automatically in order to indicate to other developers that modifications to these files will be overridden.

In addition all users should configure their IDEs to be able to execute the org.basinmc.maven.plugins:minecraft-maven-plugin:generate-patches goal from within their project directory in order to re-generate their patches from changes made and commited in the source directory.

Acknowledgements

This plugin wouldn't be possible without the great people bind MCP Bot who provide access to the most recent version of MCP as well as the CSRG mappings for the game. We've been searching for mappings that fit our needs for quite a bit and this solution is by far the most outstanding.

Need Help?

The official documentation has help articles and specifications on the implementation. If, however, you still require assistance with the application, you are welcome to join our IRC Channel and ask veteran users and developers. Make sure to include a detailed description of your problem when asking questions though:

  1. Include a complete error message along with its stack trace when applicable.
  2. Describe the expected result.
  3. Describe the actual result when different from the expected result.

Contributing

See CONTRIBUTING.md for information on working on minecraft-maven-plugin and submitting patches. You can also join the project's chat room to discuss future improvements or to get your custom implementation listed.

Contact

IRC: irc.basinmc.org (port 6667 or port +6697) in #Basin
Website: https://www.basinmc.org

Popular Minecraft Projects
Popular Mapping Projects
Popular Games Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Minecraft
Mapping
Build Tool
Maven Plugin