MC游戏制作人 · 状态机引擎构建向导
CORE

MC 游戏引擎心脏构建器

第 18 课:模块化开发 —— 用状态机(State Machine)驱动游戏世界

技术栈:Spigot API 1.21.1 + AI 助手
模式:有限状态机 (FSM) + 单例解耦
铁律:离开状态必须清理任务,严防幽灵计时器!

任务一:构建 GameManager 核心骨架

定义游戏四个黄金阶段:LOBBY(等待)、STARTING(倒计时)、ACTIVE(进行中)、ENDED(结束)。

任务二:游戏行为“安检门”(事件拦截)

根据当前所处的游戏阶段,有条件地允许或禁止玩家的行为。例如:在大厅不能拆家,游戏开始后才可以。

任务三:胜负判定与大局终结

当游戏正处于 ACTIVE 时,我们需要时刻紧盯玩家生死状态,当满足终结条件时,自动切入 ENDED 阶段。

任务四:工程师的严谨自查——歼灭幽灵计时器

这是新手最容易碰到的致命漏洞:倒计时走到一半被管理员强行打断,但后台计时器没被关掉,继续疯狂执行。

必须向 AI 索要的防御性代码:

  1. 在每次开启新的倒计时任务之前,必须强制校验上一个 `BukkitTask` 是否为空,若不为空,必须先执行 `cancel()`。
  2. 当服务器热重载 (Reload) 或者是强行关机时,`onDisable()` 方法中必须清理当前的临时状态和方块,防止数据损毁。
© 2026 Minecraft PBL 课程组
Heartbeat Engine: State Driven World.