全局倍率配置 global.*

TGregRegistry.getGlobalMultiplier(key) / getGlobalMultiplier(key, def):

TGregworks.config.get(Config.Category.Global, key, def, null, 0, 10000).getDouble(def)

Config.Category.Global = "global",所以键就是 global.<key>,没有第二段、没有逐材料后缀。 范围硬编码 0 – 10000,类型 double。读取结果缓存在 TGregRegistry.globalMultipliers 这个 HashMap<String, Float> 里,每个游戏会话只读一次。

8 个全局倍率

键 代码里的默认 影响 完整公式
global.durability 1.0 耐久 (int)(m.mDurability × 本值 × materials.durability.<材料>)
global.miningspeed 1.0 挖掘速度 (int)(m.mToolSpeed × 100F × 本值 × materials.miningspeed.<材料>)
global.attack 1.0 攻击 (int)(m.mToolQuality × 本值 × materials.attack.<材料>)
global.handlemodifier 1.0 手柄系数 (sanitize(m.mToolQuality) - 0.5F) × 本值 × materials.handlemodifier.<材料>
global.bowdrawspeed 1.0 弓蓄力速度 (int)(sanitize(m.mToolQuality) × 10F × 本值 × materials.bowdrawspeed.<材料>)
global.bowflightspeed 1.0 弓飞行速度 (sanitize(m.mToolQuality) - 0.5F) × 本值 × materials.bowflightspeed.<材料>
global.arrowmass 1.0 箭质量 (float)(m.getMass() / 10F × 本值 × materials.arrowmass.<材料>)
global.arrowfragility 0.9 箭折断概率 本值 × materials.arrowfragility.<材料>

唯一默认不是 1.0 的一项

arrowfragility 的调用是 getGlobalMultiplier(Config.ArrowBreakChance, 0.9) —— 源码显式传了 0.9 作为默认值,其余 7 项走 getGlobalMultiplier(key) 即默认 1.0。 配置注释对这一段写的是 “Determines the break chance of arrows”。

其余 7 项的默认 1.0 让整个式子退化成"GT 原始值 × 逐材料倍率", 即 global.* 是服务器级整体缩放、materials.*.<材料> 是单材料微调—— 两层相乘,源码注释也是这么描述的(“Will be directly multiplied with the internally calculated value”)。

与逐材料倍率的区别

维度 global.* materials.<key>.<材料>
段数 2 段 3 段
粒度 全局一次调 每种材料一个
读取次数 每会话 1 次(缓存) 每次 getMultiplier 都读 Property
键是否预存在配置里 需要手写 代码按需自动创建

8 个 setCategoryComment(Config.onMaterial(key), "Values between 0.0 and 10000.0 are allowed…") 只给逐材料那 8 项写了注释段;global 段只有一条总注释 (“Values between 0.0 and 10000.0 are allowed. Will be directly multiplied with the internally calculated value. Applies to all materials.”)。

相关条目

  • 材料倍率配置 — 与本页相乘的另一半(8 个逐材料键 + stonebound / reinforced / material-id)
  • 材料逐项开关 — 材料能不能进入这张表
  • 材料注册 — addToolMaterial / addBowMaterial / addArrowMaterial 的实参