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 个中心组件

成就列表

网络消息列表

配置列表

已发现的问题

  • 奖励可重复领取: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 村民有头饰层