地牢战利品注入

基本信息

属性 值
源文件 openmodularturrets/handler/DungeonLootHandler.java(38 行)
机制 原版 net.minecraftforge.common.ChestGenHooks
入口 DungeonLootHandler.init(),由 ModularTurrets.init() 调用(ModularTurrets.java:68)
配置开关 ConfigHandler.isShouldSpawnDungeonLoot()
配置键 miscellaneous / Should we generate dungeon loot?,默认 true(ConfigHandler.java:268)
注入条数 9 条(3 个物品 × 3 种结构)
权重 全部为 15

功能

模组把 3 个方块注入到原版下界要塞的三种箱子池里,让玩家在地牢中偶尔捡到炮塔底座等起步方块。整个方法体被一个 if 包裹:

public static void init() {
    if (ConfigHandler.isShouldSpawnDungeonLoot()) {
        // ... 9 条 addItem
    }
}

开关为 false 时,一条都不注入。

注入表

ChestGenHooks 共 3 个池被写入,每个池都拿到全部 3 个物品(DungeonLootHandler.java:13-36):

物品 数量 权重 MINESHAFT_CORRIDOR DUNGEON_CHEST STRONGHOLD_CORRIDOR
Blocks.disposableItemTurret 1–2 15 ✓ ✓ ✓
Blocks.turretBaseTierOne 1 15 ✓ ✓ ✓
Blocks.leverBlock 1 15 ✓ ✓ ✓

三个 ChestGenHooks 常量在 DungeonLootHandler.java:14-34 中各被写入 3 次,名字如下:

常量 写入次数
ChestGenHooks.MINESHAFT_CORRIDOR 3
ChestGenHooks.DUNGEON_CHEST 3
ChestGenHooks.STRONGHOLD_CORRIDOR 3

[!NOTE] 这三个常量属于原版 Minecraft 的 net.minecraftforge.common.ChestGenHooks,其对应的具体结构不在本条目的 mirror/OpenModularTurrets 源仓库内(已确认 /Users/evlos/a/mc117src 下也没有 ChestGenHooks.java)。从常量名可以读出「下界要塞走廊 / 地牢箱 / 要塞走廊」之意,但具体对应哪一个原版结构此处无法核实,本页只如实记录写入的常量名与次数。

[!NOTE] 三种池的权重都写成 15,与原版物品池常见的 1–20 区间一致。这里的 15 是相对权重,不是百分比。

相关条目