1.20.1 - 47.1 RB

Forge Version 47.1 Minecraft Version 1.20.1



This is the first recommend build of the 1.20.1 series which marks the closing of the API breakage window there are few minor bugs, but none that are currently considered “critical” to running the game. Following our N-1 policy 1.18 is now unsupported and 1.19 and 1.20 are now supported.

Thank you

Thank you to everyone who helped in discord and Thanks to the following git contributors agnor99, Brennan Ward, cech12, ChampionAsh5357, ChiefArug, cpw, Dennis C, dhyces, Gegy, LexManos, Matei M, Mgazul, Paint_Ninja, Sara Freimer, SizableShrimp, Marc Hermans and, Thomas Kain

Generated via git log d8c84e2.. --format="%aN" --reverse | perl -e 'my %dedupe; while (<STDIN>) { print unless $dedupe{$_}++}'



  • Add unordered creative tabs after vanilla and perform a second level sorting of tabs by registry name to ensure tabs are ordered the same between game restarts
  • Add null check to NetworkHooks.openScreen.
  • Add IP address to client disconnect message.
  • Add example usage for configs to the MDK
  • Add item handler capability to chiseled bookshelf
  • Add missing damage type tag provider modid, existing file helper constructor overload
  • Add events for checking spawn conditions (SpawnPlacementCheck and PositionCheck)
  • Add proper duplicate mod error message that includes the mod id(s) and mod files.
  • Add missing stack tooltip rendering hooks
  • Add piston push reaction overrides to Block class


  • Fix FMLOnly loading. Closes
  • Improve logging for server connections
  • Fix placing fluids into waterlogged blocks with FluidUtil::tryPlaceFluid. To behave more like vanilla MC-127110
  • Expose loaded RegistryAccess through AddReloadListenerEvent
  • Fix GLM applying to entities when killed.
  • Fix Early Loading window FPS snafu where it could spam
  • Fix unlimited screen updates. Probably a good way to gently toast an ancient laptop.
  • Make overloads consistent for defineListAllowEmpty in ForgeConfigSpec.Builder
  • Moved GameShuttingDownEvent hook to DedicatedServer class.
  • Fix PitcherCropBlock not calling canSustainPlant, not allowing it to be placed on custom farmland.
  • Fix ShieldBlockEvent not correctly performing damaged functions when not all damage is blocked.
  • Fix hotbar items not dimming when sleeping in bed.
  • Bump Eventbus to address NullPointerException when classloading things on some threads.
  • Try and be a bit nicer about handling bad [feature] definitions
  • [HotFix]: Somehow not caught by CI, but there was an issue in the SpawnUtils to handle.
  • Remove amount from FluidStack hashCode to fix the equal/hashCode java contract
  • Demonstrates proper usage of different config value types, validation, transformation/parsing, load/reload handling and direct field access.
  • Demonstrate configureEach in run configs
  • Reduce verbosity of prepareRuns doc in MDK
  • Lazily configure MDK tasks, improve IDE support
  • Fix not dropping xp for player sourced explosions and various other cases when xp should drop
  • Fix ignoring maxUpStep method overrides on entities
  • Expose holder lookup registry provider as a helper in RegistriesDatapackGenerator
  • Fix gametest collection causing secondary crash in loading error state
  • Fix SpriteCoordinateExpander not working with chained methods (MC-263524)
  • Expose EntityRendererProvider.Context to AddLayers event
  • Another tweak to the early display. We start a timer process while we create the window, in case it hangs. Also add a skip version config, to try and help in cases where the driver is stupid.
  • Auto generate names for modded loot pools.
  • More tweaks to the mod loading callbacks to make loading bars work better
  • Reimplement LootPool name patches and hooks
  • Fix experimental lighting pipeline breaking vanilla’s emissive rendering.
  • Update early loading default configs to match standard expectations.
  • Fix missing calls to level-sensitive block SoundType getter
  • Fix forge registries that have wrappers/support tags not being in the HolderLookup Provider that is provided to the GatherDataEvent (#9566)
  • Make IItemDecorator a functional interface again.
  • Make 1.20.x the main TC branch.
  • Fix custom geometry in parent models not being resolved
  • Make the scheduled thread factory setDaemon on it’s threads. Should allow things to close properly if something deadly happens early on. (#9575)
  • This is an early display window system for forge.
  • fix the JIJ break by bumping SJH. apologies.
  • update libs
  • Update Armor Layer Implementation to Match Vanilla