Jump to content

Recommended Posts

Posted

Forge version: 48.1.0
Minecraft version: 1.20.2

Downloads:

Intro:

Forge on 1.20.2 has seen significant improvements to various subsystems, including - but not limited to - a drastically simpler networking system with proxy support, faster mod loading and registries, a new test suite, self-analysing crash reports, mapped patches and more.

New:

  • New, rewritten networking
    • Better support for proxies such as Velocity and BungeeCord
    • Drastically simpler architecture and implementation
    • Packets are now records
  • Make SimpleChannel use a varInt for the discriminator allowing essentially unlimited packets.
  • Use official mappings for in-repo patches, will be converted to SRG during build.
  • Send known channels to the server when they send us theirs.
  • Optimise `ForgeRegistry#validateContent`. (#9715)
  • Optimise and clean-up BackgroundScanHandler code. Closes #9713
  • Optimise path filter in mod loading (#9710)
  • Make default Entity.getAddPacket automatically use Forge's enhanced spawn packet if necessary.
    • This spawn packet needs to be re-designed, it is effectively only there to hook into creating the new entity instance. This will be re-evaluated during the clean-up in 1.21+
  • Clean-up FMLLoader and Launch Handlers
  • New test suite
    • Test mods are now treated as their own jars, as well as having their mods.toml auto-generated. No more mods.toml conflicts!
  • Add pattern matching support to Data run mod list.
  • Rewrite our GameTest hooks to be more sane.
    • Add game test to GlobalLootModifierTest which validates the smelting modifiers.
  • Revive ConditionalRecipe and ConditionalAdvancement.
    • Also directly add conditional support to all vanilla recipe data generators.
  • Revive custom ingredient types.
  • 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)
  • Significantly faster builds with large clean-up and reorganization. Skip redundant decomp/recomp step on CI
    • Gradle 8.4
  • Datagen addOptionalTag/s methods that allow passing the TagKey itself instead of passing the location (#9807)
  • Add ClientPauseEvent (#9782)

Fixed:

  • Fix Hunger bar rendering incorrectly. Fixes #9725
  • Make CriteriaTriggers#register public again. Closes #9723
  • Fix double message encoding in `Channel#toVanillaPacket`. Fixes #9721 (#9722)
  • Fix OpenContainer message not resetting reader index of additional data.
  • Fix migration error causing nether and end portals to not function properly.
  • Fixed PlayerDestroyItemEvent not triggering for Fishing Rods (#9729)
  • Fix missed patch causing new onInventoryTick method to not be called.
  • Fix ignitedByLava making blocks permanently flammable (#9735) Fixes #9730
  • Fix Slot Index for Inventory Ticking Items (#9736)
  • Fix ignoreList for client and server
  • Fix ConditionalCodec having an inverted test. Closes #9742
  • Fix advancement screen being too dark. Fixes #9727
  • Make horses and llama's fire LivingFallEvent. Fixes #9743
  • Fix loot tables not having their ids set.
  • Fix Melon/Pumpkin stems having wrong plat type causing them to remain after trampling farmland. Fixes #9495
  • Fix potential threading issue when registering CriteriaTriggers. Closes #9745
  • Fix @GameTestGenerator not functioning correctly. Closes #9748
  • Fix lowcode implementation version, now that it's actually labeling the correct package.
  • Improve mod description formatting in mods screen (#9768)
    • No longer fussy about indentation in mods.toml files
    • Fixes the [CR] text being shown for some mods
  • Updated to use newer libraries that reduce the amount of command line arguments needed to run the game.
    • Fix issues in the SecureModule's classloader that caused resources to not be seen when they are on parent module layers.
  • Make Ingredient check for invalidation on getItems(), invalidate ingredients on tags update (#9688)
  • Fix texture UV values for obj models. Closes #9737 (#9767)
  • Fix tag loading being unordered. Closes #9774
  • Add more sanitization to the ChannelListManager to further improve support for third-party modded servers and proxies. Closes #9789 #9772
  • Move Chunk Watch/Unwatch events to fire after sync packets have been sent to the client (#9790)
    • This makes sure that modders who send extra chunk data will have clients who know about the chunk.
  • 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 whel 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

Removed/deprecated:

  • Removed FakePlayer system, it's broken and needs a major rewrite.
    • This was removed as it frequently had edge-cases that gave a false sense of security and was a bit of a "wack-a-mole" game to find and fix issues with each MC version
  • Deprecate EntityRenderersEvent.AddLayers functions that hard case to LivingEntityRenderers as the backing maps do not guarantee that type. Closes #9683

 

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.