Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

1.21.1 to 26.1 NeoForge Porting Guide

This site indexes the upstream NeoForge porting primers so you can jump straight to the section that matters.

The upstream chain covered here is:

1.21.1 -> 1.21.2/3 -> 1.21.4 -> 1.21.5 -> 1.21.6 -> 1.21.7 -> 1.21.8 -> 1.21.9 -> 1.21.10 -> 1.21.11 -> 26.1

There is no separate 1.21.3 primer upstream. The 1.21.2 primer covers the 1.21.1 -> 1.21.2/3 step.

How to use this site

If you know what subsystem changed, use the Topic Map below. Every link goes directly to the relevant section.

If the same subsystem changed across multiple versions, see Repeatedly Changing Systems for the reading order.

If you want the raw primers, see Detailed Primers for a full table of contents with anchor links to every section.

If you have a compile error, use the Class and Method Index to find where it changed.


Topic Map

Build, mappings, names, imports, and package moves

Datagen, packs, registries, tags, codecs, loot, validation, and recipe serialization

Items, components, equipment, armor, tools, combat, dyes, and consumables

Rendering, models, shaders, particles, block models, item models, materials, atlases, and visual pipelines

Entities, mobs, mob AI, conversions, spawning, and entity data

GUI, input, keybinds, debug screens, debug tooling, RPC tooling, and test infrastructure

World state, saved data, game rules, timelines, clocks, players, permissions, waypoints, and other server-side systems

Remaining minor migrations

Every primer also contains New Tags, Tag Changes, List of Additions, List of Changes, and List of Removals subsections within their Minor Migrations. For those, go to the full primer pages in Detailed Primers.


Class and Method Index

If you have a compile error or need to find where a specific class/method changed, search this table.

Class / MethodVersionSection
AbstractFurnaceBlockEntity fuel1.21.2Fuel Values
AbstractMinecart1.21.2Minecart Behavior
Activities / Brain26.1Activities and Brains
AnimationDefinition#bake1.21.6Animation Baking
ArmorItem / ArmorMaterial1.21.2Armor Materials, Equipment, and Model (Textures)
BakedModel / BakedQuad1.21.5Model Rework
BlockBehaviour#neighborChanged1.21.2Orientations
BlockEntityType constructors1.21.2BlockEntityTypes Privatized!
CauldronInteraction26.1Cauldron Interaction Dispatchers
ChunkPos (now record)26.1ChunkPos, now a record
ChunkSectionLayer1.21.6ChunkSectionLayers
Client item JSONs1.21.4Client Items
Consumable / ConsumableListener1.21.2Consumables
DataComponents getters1.21.5Data Component Getters
DataComponents new types1.21.11New Data Components
DataComponents initializers26.1Data Component Initializers
DiggerItem / SwordItem removal1.21.5Weapons, Tools, and Armor: Removing the Redundancies
DyeRecipe / DyeItem26.1Dye Component
Entity#interactAt removal26.1The Removal of interactAt
EntityReference (replaces UUID)1.21.5Entity References
EntityRenderState1.21.2Entity Render States
Explosion (now interface)1.21.2EXPLOOOOSSSION!
GameRules1.21.11The Game Rule Shuffle
GameTest framework1.21.5The Game Test Overhaul
GenerationStep$Carving removal1.21.2The Removal of the Carving Generation Step
GpuTexture / RenderPipeline1.21.5Render Pipeline Rework
GuiGraphics / GUI rendering1.21.6GUI Changes
Holder / HolderSet / HolderGetter1.21.2The Holder Set Transition
Identifier (was ResourceLocation)1.21.11ResourceLocation to Identifier
Ingredient1.21.2The Ingredient Shift
InteractionResult1.21.2Interaction Results
ItemInstance / StackTemplate26.1Item Instances and Stack Templates
KeyMapping / input events1.21.9Input Handling Consolidation
Leashable1.21.6Leashes
Level#isClientSide1.21.9Level#isClientSide now private
Level#random26.1Level#random field now protected
LootContextParam / LootContextParamSet1.21.2Context Keys
LootPoolEntry / loot codecs26.1Loot Type Unrolling
Mob#convertTo1.21.2Mob Conversions
OptionEnum removal1.21.11OptionEnum Removal
Permission / PermissionSet1.21.11Permission Overhaul
Profiler#get (replaces getProfiler)1.21.2Profilers and the Tracy Client
Recipe registry format1.21.2Recipes, now in Registry format
RecipeDisplay / SlotDisplay1.21.2Recipes, now in Registry format
RenderType shuffle1.21.11Oh Hey, Another Rendering Rewrite
SavedData / SavedDataType1.21.5Saved Data, now with Types
ServerExplosion1.21.2EXPLOOOOSSSION!
Shader JSON / .vsh / .fsh1.21.2Shader Rewrites
SimpleJsonResourceReloadListener1.21.4SimpleJsonResourceReloadListener
TagProvider appender1.21.6Tag Providers: Appender Rewrite
Validatable / ValidationContext26.1Validation Overhaul
Villager trades (datapack)26.1Datapack Villager Trades
VoxelShape helpers1.21.5Voxel Shape Helpers
Waypoint system1.21.6Waypoints
World clocks / time markers26.1World Clocks and Time Markers
World data split26.1Splitting the Primary Level Data into Saved Data

Source and attribution

The split primer pages are copied from ChampionAsh5357/neoforged-github, branch update/26.1. See Source And Attribution.