Forge version: 50.1.0
Minecraft version: 1.20.6
Downloads:
Changelog: (Direct)
Installer: (AdFocus) (Direct)
MDK: (AdFocus) (Direct)
Downloads page
Intro:
Continuing the strong cadence of solid improvements on 1.20.x versions, we focused especially on the developer experience for 1.20.6. We've delivered a new decompiler, unified official MojMap mappings everywhere, cleaned up more patches and worked with devs to make our networking APIs better support multiplatform mods and Vanilla's latest features.
The new decompiler has improved formatting and much better support for newer Java features. This took weeks worth of effort from multiple team members to redo all the patches to support this (albeit, we still did this much faster than the competition), but we believe it was worth it in the end. Additionally, by having the same official MojMap mappings everywhere, mod devs have less required steps to build their mods and troubleshooting crash reports in production is easier.
Setting 1.20.6 aside for a moment, we haven't forgotten about older versions! We continue to actively backport new features and make fixes for older versions where possible - meaning you can adopt some breaking changes incrementally instead of being forced to deal with all of them lumped in with an MC port, and you don't need to chase the latest MC or go out of your way to manually backport things yourself to take advantage of some of the things we're doing on newer versions. More than ever, Forge remains an excellent choice for devs who want to focus on their mods.
New:
New decompiler
Supports newer Java features and has improved formatting
Runtime official mappings
Better troubleshooting experience as logs and crash reports now have human-readable names in production
No need to reobf your mod as a developer. Mixin refmaps are also unnecessary.
New AccessTransformers
Much simpler implementation, no longer relies on ANTLR
Significant performance improvements
Add ModelLayers patch back (#9962)
Update SimpleChannel to make StreamCodecs easier (#9959)
Rework networking so that RegistryFriendlyByteBuf is useable for modders
Simple support for StreamCodec in SimpleChannel
Codecify all Forge packets
Make simpler builder pattern for SimpleChannel. Will eventually deprecate the old MessageBuilder as it's verbose and poorly written.
Implement entity-aware armor model and texture hooks. Closes #9960
Remove ICustomPacket and add PayloadChannel. (#9972)
New PayloadChannel that uses the vanilla payload Type for packet distinction
Implement the minecraft:register/unregister channels using the new PayloadChannel
New generic channel builder function allowing people to implement channels however they want.
Add GatherComponentsEvent (#9944)
Fixed:
Fix custom payloads not being handled on the server in the game state. Closes #9948
Fix villagers not opening trade GUIs. Closes #9946
Fix MDK by bumping FG and disabling reobf tasks
Fix LAN server IPs being duplicated
Fix connecting to vanilla servers due to misapplied patch.
Fix canApplyAtEnchantingTable null pointer. Closes #9956
Bump SecureModules for package info and multi-release jar fixes.
Fix RenderTarget stencil patch location. Fixes #9965
Fix shields not working correctly. Fixes #9966
Filter paths discovered by ServiceProvider in ClasspathLocator. Closes #9899
Fix Melons/Pumpkins not growing correctly.
Fix potion brewing having arguments reversed. Closes #9970
Fix canceling MobSpawnEvent.FinalizeSpawn causing a NPE. Closes #9971
Ignore jar files in the mods folder that are not Forge mods. Closes #9968
Make RegistryObject.getHolder lazy, should help cases where vanilla registries use holders from other vanilla registries. Closes #9961
Fix finalizeSpawn's return value not being used correctly. Closes #9964
Fix powered rails not propagating correctly.
Fix screen layering and re-add the test. (#9978)
Fix RenderHandEvent firing with incorrect hand and item for offhand items. (#9977)
Fix NPE in HurtByTargetGoal when mods set targets to null. Closes #7853
Fix crash when reloading a world that uses custom placed features. Closes #9979
Add File.exists check to ConfigFileTypeHandler. Closes #9976
Make OpenContainer and SpawnEntity packets process on main game thread.
Move Creative Inventory page count to fix issue with partially transparent tooltips. Closes #9983
Fix CustomizeGuiOverlayEvent.DebugText and CustomizeGuiOverlayEvent.Chat not being fired. (#9982)
Removed:
Remove deprecated compressLanIPv6Addresses config option (#9949)
LAN IPv6 addresses are always compressed these days, so this config option is redundant
Remove zombie chance config options (#9950)