跳到正文

Villager Recruits: Village Expansion

Recruits 的附属模组,加入拥有专属中心、阵营、职业和内部机制的自治村庄。聚落会自行组织、管理招募兵,并在没有玩家干预的情况下作为自给自足的社区运作。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Recruits:村庄扩展——Recruits 的附属模组

报告漏洞或建议新功能点击这里

测试版本点击这里

玩家自制附属模组

Caravans & Convoys 与 Village Expansion 兼容,适用于 1.0.7.17 或 TC-127

Recruits: Village Expansion 是 Recruits 的附属模组(还需要 Workers!),可引入一套完全自主运行的村庄系统。
每个定居点都有自己的中心、派系和内部逻辑,让村庄成为鲜活的
社群,无需玩家参与也能自主管理、发展壮大并守卫自己的领地。

此附属模组生成的村庄并非静态建筑:它们是活跃的实体,能够管理新兵、
分配职责、维持自身特性,并对世界事件做出反应。每个村庄都可以扩张、建造实用
建筑、建立领地,并在平民、士兵和资源之间维持内部平衡。

我们的目标是让村庄成为自主派系,以连贯可信的方式动态地与
世界和玩家互动。由此带来更加鲜活、自然涌现且富有策略性的体验,并与 Recruits
无缝结合。

全新更新:创建你自己的派系!(目前暂不添加派系专属建筑,之后会加入)

输入 /vrfaction 开始创建派系(输入命令后,游戏中会说明所有内容)。如果你没有所需物品,想退出菜单,只需按 Esc,拿好所需物品后再输入 /vrfaction。虽然游戏中会有说明,但最好提前知道:退出派系创建菜单后,你的进度会保留。

要测试你的特殊派系,请输入 /vrspecial next。之后提示会告诉你该输入什么;完成后,下一个生成的村庄就会拥有你的特殊派系!

📦 添加新建筑说明

如何为 Village Recruits 附属模组制作自定义建筑

本指南将介绍如何建造并保存自己的建筑,让它们出现在村庄中。你可以制作两种建筑:

  • 替换塔楼——村庄中央的大型建筑(即“市政厅”)。
  • 普通建筑——周围分布的普通房屋和工作场所。

每种建筑都有自己的规则。请阅读对应类型的规则框。如果规则设置有误,村庄生成时就会出问题(没有士兵、没有村民,或出现重复的市政厅),所以请务必仔细遵守。

你不需要懂编程。所有操作都可以在游戏中通过原版的结构方块完成。只有两个“特殊”方块和一条命令,下面会逐一说明。


你需要了解的两个特殊方块

方块 来源 功能 物品/ID
新兵方块 原版Recruits模组 将村民变为新兵,并成为村庄的中心 recruits:recruit_block
村民生成方块 此附属模组 生成16 个村民来填充村庄,之后自动消失 village_recruits:basic_villager_spawner

像普通方块一样将这些方块放置在建筑内部。村庄在实际游戏中生成时,它们会自动变为新兵/村民。

⚠️村民生成方块会自我销毁!

村民生成方块一在世界中触发,就会生成村民并移除自身。如果你在它还在的时候尝试保存结构,它早就消失了——保存下来的结构里就不会有村民。解决方法只需运行一条命令,详见下方的步骤 0。每次都要先运行这条命令。


步骤 0 — 冻结村民生成方块(务必先做)

在建筑中放置村民生成方块之前,先运行一次此命令:

/vr disable_spawner

这会阻止所有村民生成方块触发,让它们在世界中保持不动,以便你将其保存到结构中。你会看到一条消息:"Spawner disabilitato."(= 生成器已禁用)。

保存完所有结构后,你可以运行以下命令重新启用:

/vr enable_spawner

(只有实际游玩时才需要启用它——建造和保存时请保持禁用状态。)


建造替代高塔

✅ 高塔规则(必须遵守)

  1. 在结构的正中央(X/Z 中心)放置恰好一个 Recruit 方块(recruits:recruit_block)。高塔会以该位置为中心生成,因此村庄的第一名士兵会出现在正中央。
  2. 在结构内的任意位置放置至少一个村民生成方块(village_recruits:basic_villager_spawner)(藏在角落或地下室里也可以)。
  3. 建议尺寸:最大 11 × 11 格(长 × 宽)。高度不限,但占地请保持在 11×11 或以内,以适配村庄布局。

步骤

  1. 运行 /vr disable_spawner(见步骤 0)。
  2. 建造高塔。尽量将地面占地控制在11×11 格或以内。
  3. 在地面正中央放置一个 Recruit 方块。(如果地面是 11×11 格,就从每条边向内数 5 格。)
  4. 在结构内任意位置放置一个村民生成方块,可以藏起来。
  5. 放置一个原版结构方块,并将其切换到保存模式。
  6. 为结构命名(这就是结构 ID,例如 mypack:cool_tower)。
  7. 调整尺寸和位置,确保整座高塔(包括两个特殊方块)都在高亮框内,然后点击保存。
  8. 现在 .nbt 文件已保存。完成!

保存高塔前的快速检查清单

  • ☐ 已运行 /vr disable_spawner
  • ☐ 一个Recruit 方块位于正中央
  • ☐ 结构内某处放置了一个村民生成方块
  • ☐ 占地为11×11 格或以内
  • ☐ 结构方块的选框覆盖了所有内容

建造普通建筑(房屋/工作场所)

✅ 普通建筑规则(必须遵守)

  1. 不要放置 Recruit 方块。普通建筑中绝不能包含 recruits:recruit_block。(Recruit 方块只能放在替代高塔中。)
  2. 这里不要求放置村民生成方块;但如果要放置,仍需先运行 /vr disable_spawner(见步骤 0)。
  3. 建筑尺寸应符合村庄整体布局。没有像高塔那样的硬性尺寸限制,但小型或中型房屋看起来更协调,也更适合道路布局。

步骤

  1. (仅当建筑中放置了村民生成方块时)运行 /vr disable_spawner。
  2. 建造房屋或工作场所。不要放置任何 Recruit 方块。
  3. 放置一个原版结构方块,并将其设为保存模式。
  4. 为结构命名(结构 ID,例如 mypack:cozy_house)。
  5. 用选框框住整个建筑,然后点击保存。

保存普通建筑前的快速检查清单

  • ☐ 建筑中任何地方都没有Recruit 方块
  • ☐ 结构方块的选区框覆盖了全部内容

常见错误(以及会导致的问题)

错误 游戏中的表现
保存前忘记了 /vr disable_spawner 村民生成方块消失了——村庄生成时没有村民
在普通建筑里放置 Recruit 方块 同一个村庄里出现多个村庄中心;村庄逻辑会出错
塔楼里没有Recruit 方块 村庄不会生成初始士兵和村庄中心
塔楼里没有村民生成方块 村庄生成后空无一人(没有村民)
Recruit 方块没有放在塔楼的中央 士兵会生成在建筑旁边或外面
塔楼尺寸超过 11×11 与道路或其他建筑重叠,看起来会出错

注册你的结构(将 .nbt 文件制作成附加包)

保存.nbt只是完成了一半——在附加包使用你的结构之前,你还需要注册它。好消息是:你不需要编写模组或任何 Java 代码。你只需制作一个普通的数据包(一个文件夹或.zip),里面放两样东西:

  1. 你保存的.nbt文件,以及
  2. 每个结构对应一个小小的.json文件,用来告诉附加包如何使用它。

世界加载时,以及每次你运行 /reload 时,附加包都会自动读取这些文件。此指南旁边的 example_datapack/ 文件夹里有现成示例——复制它并修改名称即可。

文件夹结构

数据包的结构如下:

my_structures_pack/

├── pack.mcmeta
└── data/
└── mypack/ ← 你的命名空间(可使用任意小写名称)
├── structures/ ← 将保存的 .nbt 文件放在这里
│ ├── desert_tower.nbt
│ ├── cozy_house.nbt
│ └── blacksmith.nbt
└── vr_structures/ ← 每个结构对应一个 .json 文件,放在这里
├── desert_tower.json
├── cozy_house.json
└── blacksmith.json

  • pack.mcmeta用于标记该文件夹为数据包(可从示例中复制)。
  • structures/是原版结构方块保存结构的文件夹。位于 data/mypack/structures/desert_tower.nbt 的文件,其ID为 mypack:desert_tower。
  • vr_structures/用于存放简短的 .json 描述文件,以便将每个结构注册到附加组件中。

.json 描述文件

每个 .json 文件都有一个 type,并指向一个结构 ID。字段如下:

字段 适用对象 含义
type 全部 "tower"、"house"或"work"(必填)
structure 全部 结构 ID,例如 "mypack:desert_tower"(可选——默认使用 json 文件本身的名称)
weight 仅适用于 tower 被选中的频率;数值越高,出现越频繁(默认值为 1)
biomes 仅适用于 tower 实际生物群系 ID列表,例如 ["minecraft:desert"]。省略此项则表示允许出现在所有生物群系中
categories 仅适用于 house / work 村庄类别列表:plains、taiga、desert、savanna、snowy。省略此项则表示适用于所有类别

塔楼使用实际生物群系 ID,房屋/工作场所使用 5 种类别——两者不同!

塔楼的 biomes 使用具体的生物群系,例如 minecraft:desert。房屋/工作场所的 categories 仅限以下五种:plains / taiga / desert / savanna / snowy。附加组件会将每种实际生物群系映射到其中一种类别(例如,森林/草甸/丛林 → plains,云杉林/松林 → taiga,任何积雪/冰冻生物群系 → snowy)。在 categories 中使用 forest 这样的实际生物群系名称会被忽略。

示例(直接复制)

出现在两种特定生物群系中的塔楼:

{

"type": "tower",
"structure": "mypack:desert_tower",
"weight": 10,
"biomes": ["minecraft:desert", "minecraft:plains"]
}

可在任意位置出现的塔楼(不设置 biomes):

{

"type": "tower",
"structure": "mypack:global_tower",
"weight": 3
}

出现在几种类别中的房屋:

{

"type": "house",
"structure": "mypack:cozy_house",
"categories": ["plains", "savanna"]
}

适用于所有类别的工作场所(不设置 categories):

{

"type": "work",
"structure": "mypack:blacksmith"
}

安装整合包

  • 单个世界:将文件夹/压缩包放入 <world>/datapacks/,然后运行 /reload(或重新进入世界)。
  • 整个服务器 / 所有世界:将其放入全局数据包目录,或者将其压缩后像分享其他数据包一样分享给其他玩家。

加载后,检查服务器日志——你会看到类似 [VillageRecruits] Strutture da datapack caricate: 2 torri, 1 case, 1 lavoro 的一行。如果 .json 有误,同一日志会显示文件名和错误原因,并且只会跳过那一条目。

提醒:建造规则仍然适用。tower结构必须在中央放置 Recruit 方块,并放置村民生成方块;house/work结构则必须不放置 Recruit 方块。使用错误的 type 会导致生成的结构损坏。


简要回顾(精简版)

  • 替换塔楼: /vr disable_spawner → 在中央放置 Recruit 方块 + 在任意位置放置村民生成方块 → 保持结构尺寸≤ 11×11 → 保存。
  • 普通建造: 不要放置 Recruit 方块 → 保存(只有在结构中包含村民生成方块时,才先使用 /vr disable_spawner)。

下次更新即将推出

外交与战争、自动扩张、袭击、战斗,以及可雇佣的晋升实体。

兼容模组

ewewukek’s Musket Mod 会为弩手配备火枪,提高他们的生成率。

即将推出的功能

  • 外交与战争
  • 派系自动扩张
  • 更先进的结构建造
  • 平衡性改进

推荐的优化模组

  • Let Me Despawn
  • Radium Reforged
  • Almanac Lib
  • Embeddium
  • ServerCore
  • ModernFix
  • 实体剔除
  • FerriteCore

常见问题

Villager Recruits: Village Expansion 支持哪些 Minecraft 版本?

Villager Recruits: Village Expansion 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Villager Recruits: Village Expansion 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

pippopippo233333 的其他作品

查看全部 →