Skip to content

Instantly share code, notes, and snippets.

@ChampionAsh5357
Last active December 20, 2023 20:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChampionAsh5357/ef542d1ae4e1a5d096f7f8b51f5e0637 to your computer and use it in GitHub Desktop.
Save ChampionAsh5357/ef542d1ae4e1a5d096f7f8b51f5e0637 to your computer and use it in GitHub Desktop.
Minecraft 1.18.x -> 1.19.x Mod Migration Primer

Minecraft 1.18.x -> 1.19.x Mod Migration Primer

This is a high level, non-exhaustive overview on how to migrate your mod from 1.18.x to 1.19.x using Forge.

This primer is licensed under the Creative Commons Attribution 4.0 International, so feel free to use it as a reference and leave a link so that other readers can consume the primer.

If there's any incorrect or missing information, please leave a comment below. Thanks!

1.19.3 and Onwards

Mojang changed their minor version strategy from 1.19.3 onwards, so to properly update past 1.19.2, please refer to the below primers:

TODO

  • Registry changes
    • Removal of IForgeRegistryEntry and no more unique registry types
    • NewRegistryEvent and RegisterEvent
    • @ObjectHolder now requires registry to be passed in
  • Component is now simply mutable with the ComponentContents changing for literal, translatable, etc.
  • IExtensionPoint changes
    • displayTest can now be set through the mods.toml
  • DataProvider#run now takes in a CachedOutput rather than a HashCache
  • IGlobalLootModifier now takes in and returns an ObjectArrayList rather than a List
  • BannerPatterns now have their own registry (also CatVariant, PaintingVariant, and Instrument)
    • BannerPattern should be registered to the registry and put in the minecraft:no_item_required tag if they don't have an accompanying BannerPatternItem
  • Biome Modifiers replacing the BiomeLoadingEvent
  • Client refactor: https://gist.github.com/amadornes/cead90457e766f6d4294cb6b812f91dc
  • GLMs now use codecs instead of a serializer interface
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment