配置项全表(92 项,28 个分类)
基本信息
| 属性 | 值 |
|---|---|
| 实现类 | openblocks.Config(1482 行) |
| 声明机制 | OpenModsLib 的 @ConfigProperty(category=..., name=..., comment=...) 反射注册 |
| 总数 | 92 |
| 分类数 | 28 |
| 额外注解 | 部分项带 @OnLineModifiable,允许运行中热改(例:Config.java:541、:548、:558、:466、:470) |
| 第二套配置 | ItemHangGlider.loadConfig 自建 Configuration,键 general.BlacklistedDimensions(不在本表内) |
92 这个数字经两种独立方式核对:逐条解析
@ConfigProperty注解块计数 = 92;剥离注释后统计@ConfigProperty原始出现次数 = 92。一致。
分类计数
| 分类 | 数量 | 分类 | 数量 | 分类 | 数量 | 分类 | 数量 |
|---|---|---|---|---|---|---|---|
graves |
10 | dropblock |
8 | features |
7 | crane |
6 |
tomfoolery |
6 | sprinkler |
6 | tanks |
5 | projector |
5 |
loot |
5 | fan |
3 | sponge |
3 | guide |
3 |
luggage |
2 | trophy |
2 | glasses |
2 | imaginary |
2 |
debug |
2 | additional |
2 | cartographer |
2 | radio |
2 |
magnet |
2 | hacks |
1 | cursor |
1 | scaffolding |
1 |
egg |
1 | ladder |
1 | devnull |
1 | hangglider |
1 |
合计:10+8+7+6+6+6+5+5+5+3+3+3+2+2+2+2+2+2+2+2+1+1+1+1+1+1+1+1 = 92 ✓
已确认的缺陷:重复配置键
sponge.spongeRange 被声明了两次,字段名不同但配置键完全相同:
// Config.java:466-468
@OnLineModifiable
@ConfigProperty(category = "sponge", name = "spongeRange", comment = "Sponge block range (distance from center)")
public static int spongeRange = 3;
// Config.java:470-472
@OnLineModifiable
@ConfigProperty(category = "sponge", name = "spongeRange", comment = "Sponge block range (distance from center)")
public static int spongeStickRange = 3;
连 comment 都一字不差。后果(对全仓库 grep 两个字段名的结果):
| 字段 | 配置键 | 外部读取点 | 状态 |
|---|---|---|---|
spongeRange |
sponge.spongeRange |
BlockSponge.java:53、:54、:55 |
可配置,但与下一项抢同一个键 |
spongeStickRange |
sponge.spongeRange(重复) |
ItemSpongeOnAStick.java:41、:42、:43 |
可配置,但键名明显应为 spongeStickRange |
两个字段都有活跃的外部读取点,所以都不是死字段;问题在于配置写入时后加载的 spongeStickRange 会覆盖同一个配置键的值,用户无法为海绵方块和海绵棒分别设置半径。仓库内没有注释或提交信息说明这是有意共用一个键(例如「两者共用同一半径」),且两者的语义本应独立(一个是方块半径,一个是手持物半径)——因此报告为缺陷。
关键项速查
| 键 | Java 字段 | 默认值 | 字段行 | 用途 |
|---|---|---|---|---|
dropblock.searchDistance |
elevatorTravelDistance |
20 | Config.java:65 |
电梯搜索距离 |
dropblock.ignoreAllBlocks |
elevatorIgnoreBlocks |
false | Config.java:72 |
电梯忽略所有阻挡(注释自陈等价于 maxPassThrough = infinity) |
dropblock.ignoreHalfBlocks |
elevatorIgnoreHalfBlocks |
false | Config.java:79 |
电梯计数穿透方块时忽略半砖 |
dropblock.maxPassThrough |
elevatorMaxBlockPassCount |
4 | Config.java:86 |
电梯穿透方块上限 |
dropblock.centerOnBlock |
elevatorCenter |
false | Config.java:93 |
电梯居中传送 |
dropblock.specialBlockRules |
elevatorRules |
new String[0] |
Config.java:100 |
特殊方块规则表,格式 <modId>:<blockName>:<action> 或 id:<blockId>:<action> |
dropblock.elevatorXpDrainRatio |
elevatorXpDrainRatio |
0 | Config.java:107 |
电梯经验消耗,注释给出公式 ratio * distance |
dropblock.irregularBlocksArePassable |
irregularBlocksArePassable |
true | Config.java:152 |
允许穿透自定义碰撞箱方块 |
tanks.bucketsPerTank |
bucketsPerTank |
16 | Config.java:110 |
每个储罐的桶数 |
fan.fanForce |
fanForce |
0.05 | Config.java:450 |
每刻最大力,线性衰减 |
fan.fanRange |
fanRange |
10 | Config.java:454 |
风扇范围(格) |
fan.isRedstoneActivated |
redstoneActivatedFan |
true | Config.java:461 |
风扇力是否受红石控制 |
guide.redstoneSensitivity |
guideRedstone |
1 | Config.java:546 |
0=不敏感 / 1=通电即开 / −1=反相 |
guide.renderDistanceSq |
guideRenderRangeSq |
256 * 256 |
Config.java:550 |
渲染距离平方 |
guide.useAdvancedRenderer |
useAdvancedRenderer |
true | Config.java:556 |
尝试高级 OpenGL 渲染 |
scaffolding.despawnRate |
scaffoldingDespawnRate |
4 | Config.java:563 |
脚手架消失速率,0 = 最快 |
egg.pickBlocks |
eggCanPickBlocks |
true | Config.java:570 |
金蛋孵化时能否放置方块(注释自陈 may lead to glitches) |
magnet.pickEntities |
canMagnetPickEntities |
true | Config.java:574 |
起重机磁铁吸实体 |
magnet.pickBlocks |
canMagnetPickBlocks |
true | Config.java:578 |
起重机磁铁吸方块 |
ladder.infiniteMode |
infiniteLadder |
false | Config.java:585 |
梯子旧行为:一次放满整列且破坏不掉落 |
devnull.sneakClickToGui |
devNullSneakGui |
true | Config.java:592 |
/dev/null 需潜行才能开 GUI |
hangglider.enableThermal |
hanggliderEnableThermal |
true | Config.java:599 |
热气流上升 |
sponge.spongeStickUseCount |
spongeMaxDamage |
256 | Config.java:464 |
海绵棒耐久 |
sponge.spongeRange |
spongeRange |
3 | Config.java:468 |
重复键,见上 |
sponge.spongeRange |
spongeStickRange |
3 | Config.java:472 |
重复键,见上 |
projector.lightUpWhenWorking |
litWhenDisplayingMap |
true | Config.java:478 |
投影仪显示地图时发光 |
以上 26 项是各条目页直接引用过的,逐行核对过字段名与行号。其余 66 项按分类分组在 Config.java 中,本次未逐项抄录到本页,以免产生未经逐行核对的转录错误;需要精确键名时以 Config.java 为准。
未纳入本表的配置
ItemHangGlider.loadConfig 走的是自己 new Configuration(event.getSuggestedConfigurationFile()) 的路径,不使用 @ConfigProperty,因此不在 92 之内:
| 键 | 类型 | 默认值 | 位置 |
|---|---|---|---|
general.BlacklistedDimensions |
int[] |
39 个维度 ID | ItemHangGlider.java:84-89 |
对全 openblocks 源码 grep new Configuration 只有这一处。
相关条目
- 游戏规则与指令 - 游戏规则与 3 个指令
- 物品 / 工具与随身物品 - 滑翔翼的独立配置