第 1 章 · 基础#

本章节介绍 Minecraft 的基础架构概念,涵盖游戏刻、方块系统、主循环等核心概念。

文章列表#

游戏刻与微时序#

从 ServerWorld.tick() 出发,完整剖析一个游戏刻内部 13 个阶段的执行顺序,解读 TickPriority、subTickOrder、方块事件通道等微时序核心概念。

内容亮点:

  • 一个游戏刻的完整执行流程图
  • 7 级 TickPriority 优先级与常见组件的对应关系
  • OrderedTick 排序键四维度详解
  • subTickOrder 为什么是"位置依赖"的根源
  • 方块事件与方块 tick 的时序差异

方块系统与方块状态#

从 Block 类、BlockState 记录到属性系统、调色板压缩存储,深入理解世界中"一个方块"的完整表达。

内容亮点:

  • Block vs BlockState vs 调色板 ID:三层抽象的区别
  • Property<T> 属性系统:方向、布尔、整数、枚举
  • StateManager 自动生成属性笛卡尔积
  • BlockState 不可变设计与 with() 的正确用法
  • setBlockState() flags 位掩码全解:NOTIFY / MOVED / FORCE 等
  • 方块回调方法一览表(neighborUpdate / randomTick / scheduledTick)
  • 活塞伸出的完整时序调用链示例

Minecraft 源码目录结构全解#

基于 yarn 映射源码,完整解析 src/main/java/net/minecraft/ 下所有顶层包、核心子包与关键文件,帮助快速建立源码整体心智模型。

内容亮点:

  • 60+ 子包完整分层解读(block/world/server/entity/item/registry/nbt 等)
  • 五大最复杂核心包的深度剖析与关键类索引
  • 八张"全局地图"式文件(Blocks/Items/Enchantments/Registries 等)
  • 六个必须先掌握的基础概念类(Identifier/BlockPos/Direction/NbtCompound 等)
  • 从 Main.java 到 blockScheduler 的启动→tick 完整调用链
  • 初学者阅读源码的建议顺序(从基础概念到专项)
  • Mojang 命名约定速查表(Abstract*/*Block/*BlockEntity/*Payload 等)

本站内容基于 Minecraft 源码的逆向分析与社区研究,仅供学习交流。 Minecraft 是 Mojang Studios 的商标,本站与 Mojang/Microsoft 无关。