There a lot of performance improvements related to events. No more InheritableEvent for abstract events that you shouldn't add listeners to anyway, like EntityEvent. Use their sub-events. Made a lot more events records and interfaces. Mostly just a binary break, but has better performance. Mod bus posting methods are now static, no more ModLoader.get() for those. ObjectHolder was removed, use RegistryObject. Changed RuntimeEnumExtender to only target Minecraft classes. If you want other modders to interact with your API, use an Interface instead of Enum. Moved some abstract event methods to only the relevant sub-events now, e.g. can no longer check the side of a ClientTickEvent, because it'll always be client Rendering has changed a lot, they now batch most things together so that the game will render faster. RenderHighlightEvent changed a lot See https://github.com/MinecraftForge/MinecraftForge-Experimental/tree/1.21.9-dev for unsquashed commits. Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| .teamcity | ||
| buildSrc | ||
| docs | ||
| fmlcore | ||
| fmlearlydisplay | ||
| fmlloader | ||
| forge-transformers | ||
| gradle/wrapper | ||
| ide/eclipse/template/.settings | ||
| javafmllanguage | ||
| lowcodelanguage | ||
| mclanguage | ||
| mdk | ||
| patches/minecraft | ||
| server_files | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| build.gradle | ||
| build_clean.gradle | ||
| build_forge.gradle | ||
| build_shared.gradle | ||
| CREDITS.txt | ||
| forge_installer_logo.png | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| icon.ico | ||
| LICENSE-header.txt | ||
| LICENSE.txt | ||
| settings.gradle | ||
MinecraftForge
Forge is a free, open-source modding API all of your favourite mods use!
| Version | Support |
|---|---|
| All versions | Supported |
Installing Forge
Go to the Forge website and select the Minecraft version you wish to get Forge for from the list.
You can download the installer for the Recommended Build or the Latest build there. Latest builds may have newer features but may be more unstable as a result. The installer will attempt to install Forge into your vanilla launcher environment, where you can then create a new profile using that version and play the game!
For support and questions, visit the Support Forum or the Forge Discord server.
Required Java Versions
We require the version of Java that Minecraft requires, which is currently:
| Minecraft | Java |
|---|---|
| 1.20.6+ | 21 |
| 1.18 - 1.20.4 | 17 |
| 1.17.1 | 16 |
| 1.16.5- | 8 |
If you are on Windows and have difficulty using Java to launch JAR files, consider using Jarfix by Johann Löfflmann.
Creating Mods
See the "Getting Started" section in the Forge Documentation.
Contribute to Forge
If you wish to actually inspect Forge, submit PRs or otherwise work with Forge itself, you're in the right place!
See the guide to setting up a Forge workspace.
Pull requests
See the "Making Changes and Pull Requests" section in the Forge documentation.
Please read the contributing guidelines found here before making a pull request.
Contributor License Agreement
We require all contributors to acknowledge the Forge Contributor License Agreement. Please ensure you have a valid email address associated with your GitHub account to do this. If you have previously signed it, you should be OK.
Donate
Forge is a large project with many collaborators working on it around the clock. Forge is and will always remain free to use and modify. However, it costs money to run such a large project as this, so please consider becoming a patron.
Thanks
YourKit for providing us accesss to their YourKit Java Profiler which helps identify bottlenecks and places for improvment.
