<!-- https://minecraftdocs.dev/reference/lanes — this page as markdown. The book's index: https://minecraftdocs.dev/llms.txt; the whole book in one file: https://minecraftdocs.dev/llms-full.txt -->

# Diagram lanes

> Generated from `TEMPLATE.md`'s lane key by `python tools/check_lanes.py --index`. Do not edit by hand.

Almost every lane in a sequence diagram is a class, and a lane means the same thing on
every page: the key in `TEMPLATE.md` is the authority, and `check_lanes.py` fails a deploy on
a page that disagrees with it. The last rows are the exceptions — lanes that stand for a
thread, the process, the wire, the disk, a service or the game's own code rather than for
one class.

273 lanes are classes and 10 are not. A lane is normally the initials of
the class's CamelCase words, a trailing *Impl* dropped (`ServerGamePacketListenerImpl` is `SGPL`),
but more than a third are not: a short one-word class is its own lane (`Player`,
`Sheep`), a longer one-word class
takes a fixed prefix (`Connection` is `Conn`, `Enchantment` is `Ench`), and a collision is
resolved by lengthening the **later** claimant, never by reassigning a row — which is why
`ChestMenu` is `ChestM` and not `CM` (`ChunkMap` had it first); and a class a page draws twice, as two
copies, has a second lane; and a few follow none of these (`MC` is `Minecraft`, `PDM` is `PatchedDataComponentMap`). Derive nothing from a lane;
read it off this table.

| lane | class |
|---|---|
| `AA` | `AbstractArrow` |
| `AB` | `AbstractBoat` |
| `ACM` | `AbstractContainerMenu` |
| `AFBE` | `AbstractFurnaceBlockEntity` |
| `AP` | `AcquirePoi` |
| `ATS` | `AttributeTrackSampler` |
| `AttrI` | `AttributeInstance` |
| `AttrM` | `AttributeMap` |
| `BC` | `BuildContexts` |
| `BD` | `BlendingData` |
| `BDFS` | `BlendDensityFunction.Sampler` |
| `BDR` | `BrainDebugRenderer` |
| `BERD` | `BlockEntityRenderDispatcher` |
| `BI` | `BucketItem` |
| `BIR` | `BuiltInRegistries` |
| `BLE` | `BlockLightEngine` |
| `Blender` | `Blender` |
| `Block` | `Block` |
| `Boot` | `Bootstrap` |
| `Brain` | `Brain` |
| `BSPH` | `BlockStatePredictionHandler` |
| `CA` | `ChunkAccess` |
| `CAdv` | `ClientAdvancements` |
| `Camera` | `Camera` |
| `CBE` | `ChestBlockEntity` |
| `CCC` | `ClientChunkCache` |
| `CComPL` | `ClientCommonPacketListenerImpl` |
| `CCPL` | `ClientConfigurationPacketListenerImpl` |
| `CDS` | `ClientDebugSubscriber` |
| `CE` | `CommandEncoder` |
| `CEM` | `EnchantmentMenu` |
| `CGT` | `ChunkGenerationTask` |
| `CH` | `ChunkHolder` |
| `ChanA` | `ChannelAccess` |
| `ChatC` | `ChatComponent` |
| `CHelp` | `ContainerHelper` |
| `ChestM` | `ChestMenu` |
| `ChestR` | `ChestRenderer` |
| `CHPL` | `ClientHandshakePacketListenerImpl` |
| `ChunkG` | `ChunkGenerator` |
| `CL` | `ClientLevel` |
| `ClimS` | `Climate.Sampler` |
| `CLis` | `ChatListener` |
| `CM` | `ChunkMap` |
| `CMap` | `ContextMap` |
| `Cmds` | `Commands` |
| `CMTE` | `ChunkMap.TrackedEntity` |
| `CNU` | `CollectingNeighborUpdater` |
| `Conn` | `Connection` |
| `Cons` | `Consumable` |
| `CPL` | `ClientPacketListener` |
| `CPList` | `Climate.ParameterList` |
| `CraftM` | `CraftingMenu` |
| `CRU` | `ComponentRenderUtils` |
| `CScr` | `ChatScreen` |
| `CSED` | `SynchedEntityData` |
| `CSP` | `ClientSuggestionProvider` |
| `CST` | `ChunkStatusTasks` |
| `CSug` | `CommandSuggestions` |
| `CT` | `CombatTracker` |
| `CTD` | `ChunkTaskDispatcher` |
| `CWS` | `CreateWorldScreen` |
| `DataC` | `DataCommands` |
| `DB` | `DoorBlock` |
| `DCP` | `DataComponentPatch` |
| `DCS` | `DialogControlSet` |
| `DlgC` | `DialogCommand` |
| `DlgS` | `DialogScreen` |
| `DM` | `DistanceManager` |
| `DMR` | `DefaultedMappedRegistry` |
| `DRWE` | `DefaultRedstoneWireEvaluator` |
| `DS` | `DedicatedServer` |
| `DScr` | `DeathScreen` |
| `EAP` | `EnvironmentAttributeProbe` |
| `EAS` | `EnvironmentAttributeSystem` |
| `EffC` | `EffectCommands` |
| `EH` | `EnchantmentHelper` |
| `EM` | `EnchantmentMenu` |
| `Ench` | `Enchantment` |
| `Entity` | `Entity` |
| `ERD` | `EntityRenderDispatcher` |
| `EScr` | `EnchantmentScreen` |
| `ET` | `EntityType` |
| `ETL` | `EntityTickList` |
| `EVS` | `EnvironmentAttributeSystem.ValueSampler` |
| `ExecC` | `ExecuteCommand` |
| `FBR` | `FormattedBidiReorder` |
| `FD` | `FoodData` |
| `FeatP` | `FeaturePlacer` |
| `Feature` | `Feature` |
| `FF` | `FlowingFluid` |
| `FGB` | `FrameGraphBuilder` |
| `FM` | `FurnaceMenu` |
| `FolP` | `FoliagePlacer` |
| `Font` | `Font` |
| `FP` | `FoodProperties` |
| `FPHAI` | `FirstPersonHandsAndItems` |
| `FPHAIR` | `FirstPersonHandsAndItemsRenderer` |
| `FR` | `FogRenderer` |
| `FRD` | `FeatureRenderDispatcher` |
| `FSet` | `FontSet` |
| `GC` | `GiveCommand` |
| `GD` | `GpuDevice` |
| `GGE` | `GuiGraphicsExtractor` |
| `GI` | `GameTestInfo` |
| `GlCE` | `GlCommandEncoder` |
| `GlRP` | `GlRenderPass` |
| `GpuS` | `GpuSurface` |
| `GR` | `GameRenderer` |
| `GS` | `GaussianSampler` |
| `GStit` | `GlyphStitcher` |
| `GTR` | `GameTestRunner` |
| `GTT` | `GameTestTicker` |
| `Gui` | `Gui` |
| `GuiR` | `GuiRenderer` |
| `Hud` | `Hud` |
| `ICT` | `InventoryChangeTrigger` |
| `Ignite` | `Ignite` |
| `InvS` | `InventoryScreen` |
| `IOW` | `IOWorker` |
| `IP` | `ItemParser` |
| `IS` | `IntegratedServer` |
| `IStack` | `ItemStack` |
| `Item` | `Item` |
| `Items` | `Items` |
| `JP` | `JigsawPlacement` |
| `JPP` | `JigsawPlacement.Placer` |
| `JS` | `JigsawStructure` |
| `KH` | `KeyboardHandler` |
| `KI` | `KeyboardInput` |
| `KM` | `KeyMapping` |
| `KTS` | `KeyframeTrackSampler` |
| `Language` | `Language` |
| `LB` | `LiquidBlock` |
| `LC` | `LevelChunk` |
| `LCS` | `LevelChunkSection` |
| `LCTs` | `LevelChunkTicks` |
| `LDS` | `LevelDebugSynchronizers` |
| `LE` | `LivingEntity` |
| `LevB` | `LeverBlock` |
| `Library` | `Library` |
| `LIC` | `LootItemCondition` |
| `LIF` | `LootItemFunctions` |
| `LLE` | `LevelLightEngine` |
| `LLSS` | `LayerLightSectionStorage` |
| `LM` | `Lightmap` |
| `LO` | `LoadingOverlay` |
| `LootC` | `LootContext` |
| `LootP` | `LootParams` |
| `LP` | `LocalPlayer` |
| `LR` | `LevelRenderer` |
| `LRSE` | `LightmapRenderStateExtractor` |
| `LSA` | `LevelStorageSource.LevelStorageAccess` |
| `LT` | `LootTable` |
| `LTs` | `LevelTicks` |
| `LX` | `LevelExtractor` |
| `MC` | `Minecraft` |
| `ME` | `MobEffect` |
| `MEI` | `MobEffectInstance` |
| `MFR` | `ModelFeatureRenderer` |
| `MNBS` | `MultiNoiseBiomeSource` |
| `Mob` | `Mob` |
| `MoveC` | `MoveControl` |
| `MPGM` | `MultiPlayerGameMode` |
| `MR` | `MappedRegistry` |
| `MS` | `MinecraftServer` |
| `MTS` | `MoveToTargetSink` |
| `NBC` | `NoiseBasedChunkGenerator` |
| `NbtIo` | `NbtIo` |
| `NC` | `NoiseChunk` |
| `NE` | `NodeEvaluator` |
| `PA` | `PlayerAdvancements` |
| `Parrot` | `Parrot` |
| `PBB` | `PistonBaseBlock` |
| `PChain` | `PostChain` |
| `PCS` | `PlayerChunkSender` |
| `PDec` | `PacketDecoder` |
| `PDM` | `PatchedDataComponentMap` |
| `PDS` | `PlayerDataStorage` |
| `PEnc` | `PacketEncoder` |
| `PESM` | `PersistentEntitySectionManager` |
| `PESP` | `PoolElementStructurePiece` |
| `PF` | `PathFinder` |
| `PL` | `PlayerList` |
| `Player` | `Player` |
| `PM` | `PoiManager` |
| `PMBE` | `PistonMovingBlockEntity` |
| `PMod` | `PlacementModifier` |
| `PN` | `PathNavigation` |
| `PNR` | `PathNavigationRegion` |
| `PP` | `PacketProcessor` |
| `PPass` | `PostPass` |
| `PSR` | `PistonStructureResolver` |
| `PST` | `PrepareSpawnTask` |
| `RB` | `RepeaterBlock` |
| `RCPL` | `ClientPacketListener` |
| `RDC` | `RegistryDataCollector` |
| `RemS` | `RemoteSlot` |
| `ResultC` | `ResultContainer` |
| `ResultS` | `ResultSlot` |
| `RGL` | `ReportGameListener` |
| `RM` | `RecipeManager` |
| `RootP` | `RootPlacer` |
| `RP` | `RenderPass` |
| `RRM` | `ReloadableResourceManager` |
| `RSR` | `ReloadableServerResources` |
| `RSReg` | `ReloadableServerRegistries` |
| `RWB` | `RedstoneWireBlock` |
| `SA` | `ScoreAccess` |
| `SAB` | `AbstractBoat` |
| `SAI` | `SpatialAttributeInterpolator` |
| `SBL` | `SoundBufferLibrary` |
| `SCC` | `ServerChunkCache` |
| `SCD` | `SerializableChunkData` |
| `SCL` | `ServerConnectionListener` |
| `SCPL` | `ServerConfigurationPacketListenerImpl` |
| `Screen` | `Screen` |
| `SDS` | `ServerDebugSubscribers` |
| `SE` | `ServerEntity` |
| `SectC` | `SectionCompiler` |
| `SED` | `SynchedEntityData` |
| `SEE` | `SoundEngineExecutor` |
| `SGPL` | `ServerGamePacketListenerImpl` |
| `ShadM` | `ShaderManager` |
| `Sheep` | `Sheep` |
| `SIB` | `SleepInBed` |
| `SICF` | `SetItemCountFunction` |
| `SL` | `ServerLevel` |
| `SLPL` | `ServerLoginPacketListenerImpl` |
| `SndE` | `SoundEngine` |
| `SNS` | `SubmitNodeStorage` |
| `SP` | `ServerPlayer` |
| `SPB` | `StructurePiecesBuilder` |
| `SPGM` | `ServerPlayerGameMode` |
| `SPie` | `StrongholdPieces` |
| `SR` | `SkyRenderer` |
| `SRB` | `ServerRecipeBook` |
| `SRD` | `SectionRenderDispatcher` |
| `SRI` | `SimpleReloadInstance` |
| `SRT` | `SynchronizeRegistriesTask` |
| `SS` | `ServerScoreboard` |
| `SSB` | `SculkSensorBlock` |
| `SSpl` | `StringSplitter` |
| `SStr` | `StrongholdStructure` |
| `SSVU` | `SculkSensorBlockEntity.VibrationUser` |
| `STemp` | `StructureTemplate` |
| `SumC` | `SummonCommand` |
| `SUT` | `SectionUpdateTracker` |
| `SW` | `ServerWatchdog` |
| `TagP` | `TagParser` |
| `TC` | `TestCommand` |
| `TCC` | `TransientCraftingContainer` |
| `TDec` | `TreeDecorator` |
| `TDSS` | `TrackingDebugSynchronizer.SourceSynchronizer` |
| `TF` | `TreeFeature` |
| `TIB` | `TestInstanceBlockEntity` |
| `TL` | `TagLoader` |
| `TLE` | `ThreadedLevelLightEngine` |
| `TP` | `TrunkPlacer` |
| `TrC` | `TranslatableContents` |
| `TS` | `TicketStorage` |
| `TVO` | `TagValueOutput` |
| `UAFS` | `UpdateActivityFromSchedule` |
| `VSel` | `VibrationSelector` |
| `VSL` | `VibrationSystem.Listener` |
| `VST` | `VibrationSystem.Ticker` |
| `WCUS` | `WorldCreationUiState` |
| `WGL` | `WorldGenLevel` |
| `WL` | `WorldLoader` |
| `WOF` | `WorldOpenFlows` |
| `WR` | `WorldgenRandom` |
| `ZM` | `ZombieModel` |
| `ZR` | `ZombieRenderer` |
| `Auth` | *the User Authenticator thread, not a class* |
| `Disk` | *the save on disk, not a class* |
| `Game` | *the game's own code above Blaze3D, not a class* |
| `Hook` | *the Server Shutdown Thread JVM hook, not a class* |
| `JVM` | *the process itself, not a class* |
| `Main` | *the thread running whichever program's Main the diagram is about — the client's on the JVM main thread, the server's on the thread the jar's bundler starts — so not one class* |
| `Netty` | *the Netty event loop, not a class* |
| `Sess` | *the Mojang session service both machines call over HTTPS, not a class* |
| `Wire` | *the network between the two programs, not a class* |
| `Worker` | *the `Util.backgroundExecutor` pool, not a class* |
