
戈特施的怪物图鉴
一个模组基底库,包含怪物类、AI目标、模型和纹理,供其他模组在此基础上构建。GMM本身不添加任何内容——Dungeon Denizens v2+就是基于它运行的示例之一。
Gottsch 的生物图鉴 (GMM)
Gottsch 地牢模组背后的共享生物库。
GMM 本身不会向你的世界添加任何内容。它是一个基类库——一个共享的怪物类、AI 目标、模型、渲染器和纹理的集合,其他模组以此为基础构建它们的怪物。如果你安装了像 Dungeon Denizens v2+ 这样的模组,GMM 就是其底层运行的引擎。
工作原理
原版怪物代码并非为跨模组共享而设计。每个模组通常都会重新发明自己的飞行 AI、自己的施法目标、自己的召唤逻辑——即使这些怪物行为几乎完全相同。GMM 通过将可复用的部分提取到一个地方来解决这个问题。
GMM 自身注册的实体、物品或方块数量为 零。它仅提供:
- 基础怪物类 (
GMMMonster,GMMFlyingMonster,WingedHumanoid,以及类似BowSkeleton和Beholderkin的种族专属基类) - 可复用的 AI 目标 (远程/投掷物攻击、施法、怪物召唤、友军警报、飞行与着陆、盾牌格挡、仆从/所有权指令)
- 共享的模型、渲染器和纹理
- 一个数据包驱动的配置系统,用于在不修改代码的情况下调整生成门槛和怪物行为
使用方模组(如 Dungeon Denizens,以及未来 Gottsch 的地牢模组)注册它们自己的 EntityType,这些类型指向 GMM 的类,并复用 GMM 的资源。当两个模组需要相同的怪物行为时,它们共享一个实现,而不是维护两个。
包含内容
GMM 目前为不断增长的 D&D 风格怪物阵容提供基类和资源——包括软泥怪、僵尸、亡灵、眼魔类、兽人、构造体等等。
📖 完整怪物名单、背景设定和截图: 请参阅 GitHub Wiki,了解 GMM 提供的每个怪物家族的详细分类。
每个怪物家族都通过相同的基类共享其行为,因此 GMM 中的错误修复或改进会立即惠及所有基于其构建的模组。
对于整合包作者
怪物生成门槛和许多行为数值(计时、概率、消失规则等)都是数据驱动的,并非硬编码。使用方模组在 data/<namespace>/gmm/mob_config/<name>.json 下提供 JSON 文件,你可以使用自己的数据包覆盖其中的任何内容:
{
"spawn": { "enabled": true, "minHeight": 0, "maxHeight": 255 },
"properties": { "rangedProbability": 0.5 },
"flags": { "someToggle": true }
}
编辑 JSON 并运行 /reload——更改将在下一次怪物生成时生效。无需重新编译,无需 mixins。请参阅 怪物配置参考,了解每个怪物读取的所有键、其默认值及其控制内容。
你还可以通过其标签系统自定义 GMM 怪物所装备、食用和响应的内容——请参阅 标签参考 获取完整列表(武器/护甲池、食尸鬼食物、友军警报)以及可复制粘贴的数据包示例。
对于开发者
GMM 的存在是为了让模组不必重复编写 AI 和渲染代码。如果你正在构建一个想要 Gottsch 风格怪物的模组:
- 依赖 GMM,并注册你自己的指向其基类的
EntityType - 通过 GMM 的标签系统(
gmm:命名空间的实体类型和物品标签)贡献装备、盟友和召唤目标,而不是硬编码跨模组引用——请参阅 标签参考 - 复用 GMM 的模型/渲染器/纹理,或扩展其基类以创建你自己的变体
GMM 从不引用使用方模组的类——所有跨模组耦合都通过标签、数据包配置或一小套由使用方接线的静态钩子点(例如,怪物的投射物发射器或环境音效)进行。
兼容性
- ✅ 自身不添加任何新内容——单独安装 GMM 不会改变你的世界中的任何东西
- ✅ 任何依赖它的模组都需要它(请查看该模组的页面以了解具体的依赖关系)
- ✅ 行为/生成调整由数据包驱动,因此整合包可以在不修改代码的情况下重新调整怪物
配套模组
以下模组需要 GMM:
- Dungeon Denizens — 完整的地牢怪物阵容,在你的世界中生成
许可证
在 GNU 宽通用公共许可证 (LGPL) 下授权。源代码可在 GitHub 上获取。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。