VNGuiFactory / 配置 GUI
基本信息
| 属性 | 值 |
|---|---|
| 工厂类 | astrotibs.villagenames.config.gui.VNGuiFactory |
| 主配置界面 | astrotibs.villagenames.config.gui.VNGuiConfig(继承 GuiConfig) |
| 声明位置 | @Mod(..., guiFactory = Reference.GUI_FACTORY)(VillageNames.java:88) |
| 常量 | Reference.GUI_FACTORY = "astrotibs.villagenames.config.gui.VNGuiFactory" |
| 入口 | 主菜单 → Mods → Config |
功能
本 mod 通过 Forge 标准 IModGuiFactory 机制提供游戏内配置界面。源码注释说明其改编自 Jabelar 的 Magic Beans 与 FunWayGuy 的 EnviroMine(config/gui/VNGuiConfig.java:44-48)。
工厂类
VNGuiFactory 实现 4 个方法(config/gui/VNGuiFactory.java:9-32):
| 方法 | 返回 | 说明 |
|---|---|---|
initialize(Minecraft) |
void |
空实现(源码注释说明其被调用以用 Minecraft 实例初始化工厂) |
mainConfigGuiClass() |
VNGuiConfig.class |
主菜单 Config 按钮打开的界面 |
runtimeGuiCategories() |
null |
源码注释:// Not sure if this is implemented yet |
getHandlerFor(...) |
null |
源码注释:// Allows for custom buttons or widgets |
后两项未实现,因此本 mod 没有 Forge 的"运行时选项"(runtime options)注册。
配置界面的分组
VNGuiConfig 的 import 列表(config/gui/VNGuiConfig.java:10-32)显示其把配置面板拆成多个独立配置文件,每个一组:
主配置(GeneralConfig)
涵盖 general settings 中的 8 个分类(general / villager professions / world of color / villager skin tones / miscellaneous / naming / mod integration / zombie conversion)。
音节池配置(config/pieces/,18 个处理器)
每个音节池一个独立配置文件,这是本 mod 配置系统的核心设计:
| 处理器 | 对应音节池 |
|---|---|
VillagerConfigHandler |
villager 音节池 |
VillageConfigHandler |
village 音节池 |
TempleConfigHandler |
temple 音节池 |
MineshaftConfigHandler |
mineshaft 音节池 |
FortressConfigHandler |
fortress 音节池 |
StrongholdConfigHandler |
stronghold 音节池 |
MonumentConfigHandler |
monument 音节池 |
EndCityConfigHandler |
end city 音节池 |
MansionConfigHandler |
mansion 音节池 |
GolemConfigHandler |
golem 音节池 |
PetConfigHandler |
pet 音节池 |
DragonConfigHandler |
dragon 音节池 |
AngelConfigHandler |
angel 音节池 |
DemonConfigHandler |
demon 音节池 |
GoblinConfigHandler |
goblin 音节池 |
AlienConfigHandler |
alien 音节池 |
AlienVillageConfigHandler |
alien village 音节池 |
CustomConfigHandler |
custom 音节池 |
音节池分类名定义于 Reference.java 的 CATEGORY_*_SYLLABLE_POOL 常量族,构造方式为 基础名 + " syllable pool"(Reference.SYL_SUF = " syllable pool")。
村庄生成配置
VillageGeneratorConfigHandler —— 独立文件,控制 Village Generator。
音节池可配置项
每个音节池文件包含 9 类命名参数(常量定义于 Reference.java):
| 键 | 常量 | 含义 |
|---|---|---|
Prefixes |
NAME_PREFIXES |
核心名前可出现的前缀 |
Root: Initial |
NAME_ROOT_INITIAL |
核心名以这些半音节开头(_ 代表空格) |
Root: Syllables |
NAME_ROOT_SYLLABLES |
插入 0 个或多个以达到目标长度(^ 代表空条目) |
Root: Terminal |
NAME_ROOT_TERMINAL |
核心名以这些半音节结尾 |
Suffixes |
NAME_SUFFIXES |
核心名后的后缀 |
Syllable Count Weighting |
NAME_SYLLABLE_COUNT_WEIGHTING |
各种长度名字的生成权重(第 N 行 = N 音节权重) |
Terminal Blank Counts |
NAME_TERMINAL_BLANK_COUNTS |
以空 Root: Terminal 结尾的名字数量 |
Prefix Chance |
NAME_PREFIX_CHANCE |
含前缀的名字比例 |
Suffix Chance |
NAME_SUFFIX_CHANCE |
含后缀的名字比例 |
其中 Terminal Blank Counts 的说明(Reference.DESCRIPTION_TERMINAL_BLANK_COUNTS)指出:若某行数值大于对应的 Syllable Count Weighting 或小于 0,该配置被整体忽略,Root: Terminal 字符改为直接抽取。
相关条目
- general settings - 主配置页
- naming settings - 名称生成器相关设置
- village generator - 村庄生成配置页