Jump to content

Recommended Posts

Posted

Forge version: 54.1.0
Minecraft version: 1.21.4

Downloads:

Changelog: (Direct)
Installer: (AdFocus) (Direct)
MDK: (AdFocus) (Direct)
Downloads page

Intro:

Ladies and gentlemen, the time has arrived. Today, after over half a year, we are finally ready to begin stabilizing Forge for the 1.21 family of Minecraft versions. Today, please welcome our very first recommended build for 1.21.4: Forge 54.1!

It's been a rather eventful past handful of months. Forge got a lot of new cleanups and project restructurings, the Forge core team has a new member (me!), and we sent 2024 off with a lengthy new forum post: Fresh from the Forge 2024. As I've stated there, we've had a lot of new changes brought into Forge, especially for 1.21, and we have some new things we're still in the process of cooking that will benefit all Forge projects and the overall build process as a whole.

Along with the stabilization of Minecraft 1.21, I'd like to make clear that we will not be dropping active support for the 1.20 family of versions. As stated in our forum post covering version support, active support will always cover the last two major versions of Minecraft. Therefore, until Minecraft 1.22 is released, 1.20.6, 1.20.4, and even 1.20.1 will continue to be covered under active support. However, when they inevitably do drop from active support to legacy support, they won't stop existing for us! While not the active priority, we will still to be able to address issues, bring backports, and accept PRs to older versions of Forge just like how we have done so for older versions of Forge, including 1.19.4 and 1.19.2. Even 1.18.2, which recently had its first recommended build in two years!

Thank you for reading and sticking around! We hope you will enjoy what we have for you fresh from the Forge in Minecraft 1.21.4.

New:

  • Change tick event to have pre/post classes (#9890)
  • Make ForgeSpawnEgg assume color is opaque if alpha is set to 0
  • Fixes "invisible" spawn eggs by default, but still allows modders to specify partial transparency.
  • Add support for named sub-capabilities
  • Make HangingSignBlockEntity useable with custom BlockEntityTypes (#10038)
  • Use the new fire() and Result#isAllowed/isDenied/isDefault methods from EventBus (#10028)
  • Bump Mixin to 0.8.7
  • Patch CropBlock to use instanceOf FarmBlock check instead of hard coding to Blocks.FARMLAND (#10044)
  • Add a way to render tooltips from Formatted text and TooltipComponents elements (#10056)
  • Add level access to Item.TooltipContext if available
  • Mod loading cleanup and optimizations (#10052)
  • Add a few Method Helpers onto ResourceKey to make getting Data Driven Entries Simpler (#10071)
  • Fire `OnDatapackSyncEvent` when a player joins a server (#10076, #10171)
  • Optionally supply FMLJavaModLoadingContext as a param to mod constructors (#10074)
    • Before:
      public MyMod() {
          // getting the mod bus - uses FMLJavaModLoadingContext
          var modBus = FMLJavaModLoadingContext.get().getModEventBus();
       
          // registering configs - uses ModLoadingContext
          ModLoadingContext.get().registerConfig(/* ... */);
          // ...
      }
    • After:
      public MyMod(FMLJavaModLoadingContext context) {
          // getting the mod bus
          var modBus = context.getModEventBus();
      
          // registering configs
          context.registerConfig(/* ... */);
          // ...
      }
  • Add and fire SystemMessageReceivedEvent
    • Replaces ClientChatReceivedEvent.System which was not fired due to Mojang changing ChatType to a registry.
  • Sync component registry ids
  • Stacktraces now have the transformers displayed after itself, and not included with each element
  • Implement the de-facto common tags, add many new Forge tags while retaining backwards compatibility (forum post, #9955, #10126, #10135, #10137, #10335)
  • Bump CoreMods to 5.2.4, which adds new features such as ES6, better documentation, and long-awaited bug fixes (changelog#10145, #10156, #10262)
  • Simplify memory usage display on loading screen (#10193)
  • Deprecate `@ObjectHolder` and skip processing internal classes which do not use it (#10195)
  • Skip processing Forge classes in `RuntimeEnumExtender` (#10197)
  • Skip processing Forge classes in `RuntimeDistCleaner` (#10199)
  • Skip processing Vanilla classes in the `CapabilityTokenSubclass` transformer (#10196)
  • Simplify Title Screen Brandings (#10287)
  • Bump various dependencies, which include further cleanup and optmizations (#10274, #10370, #10384)
    • One notable dependency bump is EventBus, which includes:
      • Reduced memory usage
      • Further performance improvements
      • Unregistered listeners are now immediately reclaimable by the garbage collector, fixes EventBus#39
  • Bump Bootstrap, giving a slight performance boost during dev time
  • Add hooks for using Vanilla's new Client data generator (#10206)
  • Add new hook for custom block models that do not have real blocks backing them
  • Speed up mod annotation scanning by ~30%
    • This was done by using the ClassReader flags SKIP_CODE, SKIP_DEBUG, and SKIP_FRAMES
  • Add VillagerType#registerBiomeType (#10298)
  • Add various extensions to GameTestHelper to make writing game tests easier (#10338)
  • Update Gradle to 8.12.1, reflected in MDK (#10352)
  • Re-introduce IForgeItem.damageItem when an item takes damage (#10371)
  • Re-introduce ItemStack Capabilities (#10324, #10404)
    • ICapabilitySerializable is unusable with itemstack capabilities. It is up to the modder to save persistent data using data components.
  • Add fast graphics render type to block model jsons, fixes #10389 (#10394)

Fixed:

  • Fix boat travel distance being incorrect, fixes #9997
  • Fix NPE when calling ForgeHooks.getDefaultCreatorModId(ItemStack) on Spawn Eggs, fixes #10002
  • Cleanup FML Bindings which fixes some minor bugs (#10004)
  • Fix Bogged and Wolf armor not being shearable by custom shears, fixes #10005
  • Fix ClientTickEvent not firing properly
  • Bump NightConfig to 3.7.3, fixes #9122 and #10015
  • Fix falling block entities not rendering as moving blocks (#10006)
  • Choose the default JarJar mod file type based on the parent Jar, fixes #8878
  • Fix missed PartEntity patch in Player.attack (#10011)
  • Fix perspective rendering in SeparateTransformsModel (#10014)
  • Some code cleanup in ModInfo/ModFileInfo to use less streams and make things easier to debug
  • Fix conditional checking swallowing decoding errors when loading registry entries from datapacks, fixes #9995
  • Fix converting dirt to mud consumes whole bottle (not just emptying), fixes #10027
  • Fix compile errors in MDK (#10029)
  • Send last PoseStack pos to RenderLevelStageEvent AFTER_PARTICLES stage, fixes #10031
  • Fix Global Loot Modifier deserialization not having registry access, fixes #10042
  • Fix matrix stack translations for `RenderHighlightEvent` (#10050)
  • Fix `onPlaceItemIntoWorld` always resetting item stack when in creative mode (#10047)
  • Add missed @user_jvm_args.txt to run.bat
  • Fix ItemStack sensitive getDefaultAttributeModifiers not being called
  • Fix custom creative tabs with search listing all items instead of just their own
  • Fix network sync of custom datapack registries
  • Forge also uses a gametest to verify that it functions when updating
  • Remove unneeded boat patch (#10061)
  • Properly ignore unknown mod files (#10063)
  • Fix network channels not initializing during server transfers, fixes #10067
  • Fix issues with `QuadBakingVertexConsumer` and Forge's OBJ loader (#10065)
  • Fix inverted logic in TagEmptyCondition (#10069)
  • Fix Network hooks not being initialized on GameTestServer and include custom networking tests (#10081)
  • Fix highlighted item tooltip rendering twice, fixes #10112
  • Update vulnerable `eclipse` dependency (#10109)
  • Cleanup length and size checks (#10108)
  • Fix layering of translucent sprites being broken by re-adding blur call Mojang removed (#10115)
  • Fix and cleanup RuntimeDistCleaner
  • Patch BlockEntity.java to use getType Method (#10124)
  • Fix NightConfig FileWatcher causing dedicated server to hang when exiting (#10213)
  • Add client config to allow mipmap lowering to be disabled, fixes #10155 (#10242)
  • Update jline for better darwin/arm64 support, fixes #10107 (#10279)
  • Clean and fix Forge's internal coremods, fixes #10157 (#10271)
  • Fix custom particles causing crash
  • Fix render_type in block models not being used, fixes #10294
  • Fix issues in VillagerTrades.EmeraldsForVillagerTypeItem related to custom Villager Types (#10298)
  • Fix incorrect method reference in TntBlock.explode() (#10326)
  • Fix JOpt Simple needing a strict version requirement declaration (#10311)
    • Your build.gradle file no longer needs to declare jopt-simple strictly 5.0.4!
  • Fix shield disabling being completely ignored (#10316)
    • This also fixes a long-standing bug since 1.19 where the Warden would be unable to disable shields.
  • Fix potential item deletion on shield break due to an oversight fixing a vanilla bug, fixes #10344 (#10371)
  • Fix game test structure rotations being inconsistent (#10391)
  • Fix redstone update order not matching vanilla, partially fixes #9973 (#10392)
  • Fix forced chunks never being ticked by the server (#10325)
  • Fix redstone updates for comparators going up/down incorrectly, partially fixes #9973
  • Fix corrupted and invalidly symlinked worlds crashing on level select (#10406)
  • Update tag context to AddReloadListenerEvent, fixes using custom tags in GlobalLootModifiers (#10412).

Removed:

  • Remove Non-HolderLookup methods from INBTSerializable and mark it as deprecated in favor of using Vanilla's new Component system, fixes #9998

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • This forum is for Forge, not NeoForge. Please go to them for support.
    • Forge version: 55.0.0 Minecraft version: 1.21.5 Downloads: As this is the start of a new version, it is recommended that you check the downloads page and use the latest version to receive any bug fixes. Downloads page Intro: Good evening! Today, we have released our initial build of Forge 55.0 for Minecraft 1.21.5. 1.21.5 is the newest member of the 1.21 family of versions, which was released yesterday on March 25, 2025. As a reminder, the first minor (X.0) of a Forge version is a beta. Forge betas are marked as such on the bottom left of the title screen and are candidates for any breaking changes. Additionally, there are a couple of important things to note about this update, which I've made sure to mention in this post as well. Feel free to chat with us about bugs or these implementation changes on GitHub and in our Discord server. As always, we will continue to keep all versions of 1.21 and 1.20 in active support as covered by our tiered support policy. Cheers, happy modding, and good luck porting! Rendering Refactor For those who tuned in to Minecraft Live on March 22, 2025, you may already know that Mojang have announced their intention to bring their new Vibrant Visuals overhaul to Java in the future. They've taken the first steps toward this by refactoring how rendering pipelines and render types are handled internally. This has, in turn, made many of Forge's rendering APIs that have existed for years obsolete, as they (for the most part) can be done directly in vanilla. If there was a rendering API that was provided by Forge which you believe should be re-implemented, we're happy to discuss on GitHub through an issue or a pull request. Deprecation of weapon-like ToolActions In 1.21.5, Minecraft added new data components for defining the characteristics of weapons in data. This includes attack speed, block tags which define efficient blocks, and more. As such, we will begin marking our ToolActions solution for this as deprecated. ToolActions were originally added to address the problem of creating modded tools that needed to perform the same actions as vanilla tools. There are still a few tool actions that will continue to be used, such as the shears tool action for example. There are some existing Forge tool actions that are currently obsolete and have no effect given the way the new data components are implemented. We will continue to work on these deprecations and invite you to chat with us on GitHub or Discord if you have any questions.
    • In summary, a full mod to adjust mining progress in such a specific way does not yet exist in its exact form, but it is possible to find mods that change certain aspects of progression (e.g. "Harder Ores").
    • Hello! Please help me out, I made a modpack and it's crashing while loading. https://pastebin.com/xgvnQQdw
    • Sorry to be a patato but if the biome tintet textures are out there please help find then or send the :D
  • Topics

×
×
  • Create New...

Important Information

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