MinecraftGamePhase

English 中文

Game phase for Minecraft 1.12.2

Applicable versions: 1.12.x

Phase Tree (Simplified)

Game Loop
├── Player Action
├── For each world
│   ├── Natural Spawning
│   ├── Chunk Unload
│   ├── World Time Update
│   ├── Tile Tick
│   ├── Chunk Tick
│   ├── Block Change Sync
│   ├── Block Event
│   ├── Entity
│   └── Tile Entity
├── Player Entity
└── Auto save

Phase Tree (Full)

Game Loop
├── Async task
│   └── Player Action
├── For each world
│   ├── World Time Sync
│   ├── Weather
│   ├── Sleeping
│   ├── Natural Spawning
│   ├── Chunk Unload
│   ├── World Time Update
│   ├── Tile Tick
│   ├── Player Check Light
│   ├── Chunk Tick
│   │   ├── Light Logic
│   │   ├── Thunder
│   │   ├── Ice and Snow
│   │   └── Random Tick
│   ├── Player Chunk Map
│   │   └── Block Change Sync
│   ├── Village
│   ├── Zombie Siege Spawning
│   ├── Portal Cache
│   ├── Block Event
│   ├── Dragon Fight
│   ├── Entity
│   ├── Tile Entity
│   └── Entity Tracker
├── Network
│   └── Player Entity
├── Command Function
├── Console
└── Auto save

Phase Details

Game Loop

The main and the infinite loop

Code References

Minecraft 1.19, mojmap mapping

Async task

Executing async tasks

Code References

Minecraft 1.19, mojmap mapping

Player Action

Handling player actions from packets from clients

Code References

Minecraft 1.19, mojmap mapping

For each world

For each world, do following logics

Code References

Minecraft 1.19, mojmap mapping

World Time Sync

Sync world time to client

Code References

Minecraft 1.19, mojmap mapping

Weather

Update weather

Code References

Minecraft 1.19, mojmap mapping

Sleeping

Player sleeping logic

Code References

Minecraft 1.19, mojmap mapping

Natural Spawning

Natural mob spawning

Code References

Minecraft 1.19, mojmap mapping

Chunk Unload

Unloading chunks

Code References

Minecraft 1.19, mojmap mapping

World Time Update

Update gametime and daytime of the world

Code References

Minecraft 1.19, mojmap mapping

Tile Tick

Executing tile tick events, including block tile ticks and fluid tile ticks

Code References

Minecraft 1.19, mojmap mapping

Player Check Light

Random light level check nearby players

Code References

Minecraft 1.13.2, mcp mapping

Chunk Tick

Chunk Tick

Code References

Minecraft 1.19, mojmap mapping

Light Logic

Light check and skylight recalculation

Code References

Minecraft 1.13.2, mcp mapping

Thunder

Lighting and skeleton trap spawning

Code References

Minecraft 1.19, mojmap mapping

Ice and Snow

Forming ice and snow

Code References

Minecraft 1.19, mojmap mapping

Random Tick

Block and fluid random ticks

Code References

Minecraft 1.19, mojmap mapping

Player Chunk Map

Player chunk map update

Code References

Minecraft 1.13.2, mcp mapping

Block Change Sync

Sync changed blocks in the chunk to the client

Code References

Minecraft 1.19, mojmap mapping

Village

Village logics

Code References

Minecraft 1.13.2, mcp mapping

Zombie Siege Spawning

Spawning zombie sieges

Code References

Minecraft 1.13.2, mcp mapping

Portal Cache

Timeout portal cache cleanup

Code References

Minecraft 1.13.2, mcp mapping

Block Event

Block events

Code References

Minecraft 1.19, mojmap mapping

Dragon Fight

Dragon fight logic

Code References

Minecraft 1.19, mojmap mapping

Entity

Ticking entities

Code References

Minecraft 1.19, mojmap mapping

Tile Entity

Ticking tile entities

Code References

Minecraft 1.19, mojmap mapping

Entity Tracker

Sync entity updates to the client

Code References

Minecraft 1.19, mojmap mapping

Network

Network system ticking

Code References

Minecraft 1.19, mojmap mapping

Player Entity

Ticking entity logic of players

Code References

Minecraft 1.19, mojmap mapping

Command Function

Executes functions and datapacks

Code References

Minecraft 1.19, mojmap mapping

Console

Handling console inputs

Code References

Minecraft 1.19, mojmap mapping

Auto save

Auto save

Code References

Minecraft 1.19, mojmap mapping