VillageNames
[!INFO] Git Commit:
71822cb| Updated: 2026-10-02
VillageNames(Village Names)是 Minecraft 1.7.10 / Forge 10.13.4.1614 的名称生成与村庄改造 mod,由 AstroTibs 维护。README.md 对它的定位是:"This is a mod for Minecraft Forge that allows the user to generate random names for Villagers and villages."
| 属性 | 值 |
|---|---|
| modid | VillageNames(混合大小写,utility/Reference.java:7) |
| 模组名 | Village Names(Reference.MOD_NAME) |
| 包名 | astrotibs.villagenames |
| Minecraft | 1.7.10(gradle.properties:24) |
| Forge | 10.13.4.1614(gradle.properties:27) |
| 网络频道 | vnChannel(与 modid 不同,Reference.MOD_CHANNEL) |
| 代码规模 | 171 个 .java、144 822 行 |
| 配置文件目录 | config/VillageNames4/(VillageNames.currentConfigFolder) |
⚠️ modid 为
VillageNames(驼峰),但成就 ID 全部为小写villagenames.*——因为 1.7.10 的成就 ID 不允许大写,代码用Reference.MOD_ID.toLowerCase()拼接(proxy/CommonProxy.java:60-73)。
内容概览
| 维度 | 条目数 | 说明 |
|---|---|---|
| 方块 | 11 次注册 | 3 个 1.12 彩色方块族(32 meta)、海晶石组、Lunarin 原创砖 |
| 物品 | 20 次注册 | 18 本书 + 2 个海晶物品 + 1 个自定义刷怪蛋 |
| 实体 | 1 | Guardian / Elder Guardian(后者为同一类的标志位变体) |
| 结构 | 3 | 海底神殿、雪屋、替代性村庄生成器 |
| 成就 | 5 | 集齐后统一发一把附魔金剑 |
| 网络消息 | 4 | 全部为服务端 → 客户端 |
| 配置项 | 99 + 289 | 主配置 99 项 + 村庄生成器 289 项 + 18 个音节池文件 |
三大功能线
1. 命名系统(核心)
村民与村庄通过右键获得名称;结构通过 Codex 命名。命名由 18 个独立"音节池"配置文件驱动,每个含 9 类参数(前缀 / 根音节 / 长度权重等),用户可完全自定义。
2. 后版本内容移植
本 mod 把多个高版本的方块与结构回移植到 1.7.10:
| 移植内容 | 来源版本 | 配置开关 |
|---|---|---|
| Concrete / Concrete Powder / Glazed Terracotta | 1.12 | 1.12 Blocks |
| Prismarine / Sea Lantern | 1.8 | Add Prismarine |
| Sponge(吸水版) | 1.8 | Add Sponges |
| Ocean Monument + Guardian | 1.8 | Add Monuments |
| Igloo | 1.9 | Add Igloos |
README.md 记载:"Mod versions 1.7.10 through 1.11.2 have backported Concrete, Concrete Powder, and Glazed Terracotta." 以及 "Version 1.7.10 has backported Prismarine, absorbent Sponges, Ocean Monuments, and Guardians."
3. 村民现代化
引入 JE 1.14 / BE 1.12 的模块化村民皮肤、职业层级与交易(交易处理器 VillagerTradeHandler 共 2418 行),并新增原版没有的 Mason(石匠) 职业与 NitWit 职业。
物品列表
- Codex - 结构命名工具,需同时持有空白书,在结构内右键生效
- Village Book - 右键村民生成的村庄记录本,记录名称与附近结构方位
- Structure Books - 17 种结构专用书,行为一致、仅显示名不同
- Prismarine Shard - 海晶碎片(注册在
minecraft命名空间),守卫者主要掉落 - Prismarine Crystals - 海晶晶体,海晶灯的掉落物
- Guardian Spawn Egg - 自定义刷怪蛋实现,支持投掷器发射与老年变体
方块列表
- Lunarin Style Iron Brick - 原创砖块,硬度 3.3 / 抗性 6.0,可 6 铁锭无损还原
- Lunarin Style Gold Brick - 原创砖块,硬度 2.0 / 抗性 6.0,比原版金块更易挖掘
- Prismarine - 单注册名 3 变体(粗糙/砖/暗色),9 碎片合成
- Sea Lantern - 满亮度发光方块,掉落 2~3 晶体(时运上限 5)
- Sponge - 单注册名 2 变体,湿海绵吸水、与原版海绵可无损互转
- Concrete - 16 色,无合成配方,由混凝土粉末遇水硬化而成
- Concrete Powder - 16 色,8 沙 + 4 砂砾 + 1 染料 → 8 个
- Glazed Terracotta - 16 色,采用 4 分片注册绕开 metadata 上限
实体列表
- Guardian - 30 血 / 6 伤;老年变体 80 血 / 8 伤但移速更慢;掉落 0~2 碎片
结构列表
- Ocean Monument - 1.8 海底神殿移植,生成守卫者,与第三方地形生成器协同
- Igloo - 1.9 雪屋移植,仅冰原与冷针叶林生成
- Village Generator - 替代原版的村庄生成系统,234 座群系建筑 + 26 个中心组件
成就列表
- Emerald Standard - 村庄声望 ≥ 10
- You’re A Monster - 村庄声望 ≤ -30
- Archaeologist - 用 Codex 命名 7 种不同结构
- Ghost Town - 为空村庄记录 Village Book
- Fidelity - befriends 一只落单雪傀儡(名取自《天空之城》)
- allFiveAchievements 奖励 - 集齐 5 个后发放附魔金剑
网络消息列表
- Village Names Network - 频道
vnChannel,4 个 S→C 消息(discriminator 0~3)
配置列表
- general settings - 主配置 13 项 + 50 项附属 mod 集成
- miscellaneous settings - 各移植内容的总开关(关闭即完全不注册)
- villager professions - 职业层级、模块化皮肤、交易、Mason 与 NitWit
- villager skin tones - 高斯分布肤色,退火与缩放
- naming settings - 实体/铁傀儡命名与 mod 实体映射表
- village generator - 289 项,替代性村庄生成系统的全部参数
- world of color settings - 1.12 彩色方块组开关
- well kill switch - 单项核开关,覆盖禁用全部水井装饰
- VNGuiFactory / 配置 GUI - 配置界面入口与 18 个音节池文件
已发现的问题
- 奖励可重复领取:
AchievementReward.allFiveAchievements无"已领取"标记,重复触发最后一个成就可反复刷取金剑(handler/AchievementReward.java:22-73) - 实体命名空间冲突无逃生阀:
Alternate Guardian Namespace配置及其注册调用被整条注释,与他 mod 的minecraft:Guardian冲突时无法改名(config/GeneralConfig.java:352、VillageNames.java:584) - Igloo 注册名与实际结构不符:被注册为
"Temple",与原版丛林神庙共用结构注册表条目(VillageNames.java:196、igloo/VNMapGenIgloo.java:53-56) - 海晶物品冒充原版:
prismarine_shard/prismarine_crystals注册在minecraft命名空间下(item/ModItems.java:71-72) - 结构生成异常被静默吞掉:Monument 与 Igloo 的
generateStructuresInChunk均包在空catch中(prismarine/monument/MonumentGeneratorIWG.java:42-44) - 网络死代码:未被引用的
NetworkHandler类会建立名为VillageNames的第二个频道(network/NetworkHandler.java:12) - 混凝土粉末不检查底面:
case 0被注释,放置在正下方的水不触发硬化(block/color/BlockConcretePowder.java:152) - 不兼容 Villager Mantle Fix:
README.md明确声明,原因是本 mod 村民有头饰层