Posted December 5, 20231 yr Forge version: 47.3.0 Minecraft version: 1.20.1 Downloads: Changelog: (Direct) Installer: (AdFocus) (Direct) MDK: (AdFocus) (Direct) Downloads page Intro: This third recommended build for MC 1.20.1 offers improved performance, bugfixes, new features and various backports from newer versions such as 1.20.2, 1.20.4 and 1.20.6. As a reminder, the release policy for recommended builds has changed - we now aim to release new recommended builds for fully supported MC versions more frequently - as long as there's a reasonable amount of changes since last recommended build. New: Add a CrashReportAnalyser that tries to identify the mod that crashed the game This feature scans your crash report as it is being generated and lists suspected mods that could be the cause of the crash, accounting for coremodding as well. This makes it easier to find the culprit as it is often listed clearly in the crash report itself (e.g. "Suspected mods: buggymod") Improve mod loading error message for errors inside mod constructors (#9751) No longer shows a vague error if the error happens inside a constructor - Forge now tells you the actual error Optimise registries by using fastutils collections to minimize boxing. (#9749) Datagen addOptionalTag/s methods that allow passing the TagKey itself instead of passing the location (#9807) Optimise Forge's config system, backport of #9810 (#9824) Make common DisplayTest registration tasks easier, backport of #9822 (#9823) Before: ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> "ANY", (remote, isServer) -> true)); After: ModLoadingContext.get().registerDisplayTest(IExtensionPoint.DisplayTest.IGNORE_ALL_VERSION); The old method still works for backwards-compatibility. The new method has also been backported to 1.19.4, 1.19.2 and 1.18.2. Add support for running with Java 22 and 23 Add ASMAPI.MethodType.DYNAMIC in JS CoreMods (CoreMods#44) Add Leaves method to ModelProvider.java (#9889) Make common config screen registration tasks easier, backport of #9884 (#9912) Before: ModLoadingContext.get().registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> new ConfigScreenHandler.ConfigScreenFactory((mc, modsScreen) -> new MyConfigScreen(modsScreen)); After: MinecraftForge.registerConfigScreen(modsScreen -> new MyConfigScreen(modsScreen)); The old method still works for backwards-compatibility. The new method has also been backported to 1.19.4, 1.19.2 and 1.18.2. Add CPU usage config option to early window, hide by default, backport of #9866 (#9915) New cleaner look, slightly improved client mod loading performance Add helper method to `OnDatapackSyncEvent`, backport of #9901 (#9919) Optimise capabilities, backport of #9886 (#9911) Fixed: Fix misaligned patch in RegistryDataLoader Fix tag loading being unordered. Closes #9774 Fix rare crash with early display window, fixes #9673 (#9798) Don't turn off VSync when rendering from Minecraft context (#9800) Fix KeyModifiers not being properly taken into account. Closes #9806 Rework KeyModifiers system to properly allow keybinds to be triggered when multiple modifiers are pressed. Fix setting keybinds while using keyboard inputs to select the menu. Closes #9793 Fix LoadingErrorScreen inner headers are not centered. Closes #9687 Fix TagLoader error not printing tag name correctly. Closes #9693 Fix fire related mobs not taking enough freezing damage. Closes #9686 Fix missing patch for Item.onInventoryTick. Closes #9812 Fix ASMAPI.getSystemPropertyFlag() not working as expected (CoreMods#45) Fix slightly offset mods screen link positioning, backport of #9860 (#9861) Fix NPE when acceptableValues in defineInList() does not allow nulls, backport of #9903 (#9907) Prevent mixins from crashing the game when there are missing mods, backport of the same fix for 1.20.4 (#9916) Fix early window crash when parsing options.txt, backport of #9933 (#9934) Fix erroneous patch in FireBlock. Closes #9996 Fix LevelSettings ignoring data configuration. Closes #9938 Official Forge Discord server | Support FAQ for players