Minecraft datapack 开发最麻烦的地方,不是语法,而是“怎么把游戏逻辑压进 tick、scoreboard、NBT 和 function 文件树”。RedScript 的价值,恰好在于它已经把一些经典游戏模式变成了可直接落地的代码结构。翻 ../redscript/examples/,能看到几种非常稳定的写法。
1. 状态机:最适合先学的模式
examples/enum-demo.mcrs 是最标准的教材。它定义 enum Phase { Idle, Moving, Attacking },再用一个 NpcState 结构保存 phase、ticks、active,最后在 @tick fn npc_tick() 里 match npc.phase 分发到 phase_idle()、phase_moving()、phase_attacking()。这种写法的好处有三个:状态是显式值;转移条件集中;每个状态处理函数都很短。
大约 4 分钟
