LootGames
[!INFO] Git Commit:
960cfc7| Updated: 2026-10-02
LootGames 是 Minecraft 1.7.10 / Forge 10.13.4.1614 的地牢益智游戏模组——在程序化生成的地牢里玩「记忆」「扫雷」「数独」三款小游戏,赢了拿战利品,输了挨炸。
| 属性 | 值 |
|---|---|
| modid | lootgames(全小写,与分类名一致) |
| 名称 | LootGames |
| 硬依赖 | required-after:Forge@[10.13.4.1614,)(ru/timeconqueror/lootgames/LootGames.java:37) |
| 证书指纹 | 1cca375192a26693475fb48268f350a462208dce |
| 作者 | Namikon、TimeConqueror |
| 语言 | 源码 163 个 .java(无 Scala / Kotlin) |
| 源码目录 | /Users/evlos/a/mirror/LootGames/ |
⚠️
mcmod.info整份都是构建期占位符(${modId}/${modName}/${modVersion}/${minecraftVersion}),不能据此判断 modid。实测 modid 来自@Mod(modid = LootGames.MODID)恒为"lootgames"(LootGames.java:45)。
实际注册规模(源码实测)
| 维度 | 实际数量 | 本 wiki 覆盖 |
|---|---|---|
| 方块 | 12(11 个在 LGBlocks + 1 个在 LootGamesLegacy) |
12 |
| 物品 | 0(全仓库 registerItem 调用数 = 0) |
— |
| TileEntity | 5 | 见方块条目 |
| 实体 | 0(无 EntityRegistry 调用) |
— |
| 小游戏 | 3(扫雷 / 光之游戏 / 数独) | 3 |
| 成就 | 8(LGAchievements 枚举,3 个 special) |
见下 |
| 多方块结构 | 0(本 mod 无多方块结构) | — |
| 世界生成器 | 1(Integer.MAX_VALUE 优先级) |
— |
本 mod 无多方块结构。地牢由
StructureGenerator逐块程序化拼接,不使用Multiblock定义。
⚠️ 注册名三套命名混用
同一个注册表里并存两种风格,这是本 mod 最容易写错的地方:
| 风格 | 方块 | 示例 |
|---|---|---|
| PascalCase(legacy) | DUNGEON_WALL、DUNGEON_LAMP、PUZZLE_MASTER |
LootGamesDungeonWall、LootGamesDungeonLight、LootGamesMasterBlock、GOLMasterBlock |
| snake_case(现代) | 其余 8 个 | smart_subordinate、board_border、gol_activator、ms_activator、sdk_activator、gol_master、ms_master、sdk_master |
TileEntity 名又用第三种风格:LOOTGAMES_MASTER_TE / LOOTGAMES_GOL_TE(大写下划线)与 gol_master / ms_master / sdk_master(snake_case)。
⚠️ 「双主控」重叠:光之游戏有两个主控方块
光之游戏(Game of Light)同时存在新旧两套主控,注册名与 TileEntity 全不同但功能重叠:
| 版本 | 方块注册名 | TileEntity | 注册位置 |
|---|---|---|---|
| 旧版 | lootgames:GOLMasterBlock |
LOOTGAMES_GOL_TE(LegacyGameOfLightTile) |
LootGamesLegacy.PreLoad()(preInit) |
| 新版 | lootgames:gol_master |
gol_master(GOLMasterTile) |
LGBlocks.register()(preInit) |
两者都在 preInit 注册,同时存在。LegacyMigrator(ru/timeconqueror/lootgames/LegacyMigrator.java)负责旧存档迁移。
⚠️ 三个 Master 共用同一个类
GOL_MASTER / MS_MASTER / SDK_MASTER 都是 GameMasterBlock 的实例(LGBlocks.java:53-55),靠 BiFunction 工厂注入不同 TileEntity 工厂。按类统计只得 1,按实例统计才是 3——典型的「数调用点严重少算」陷阱。
方块列表
地牢结构方块
- Loot Games Dungeon Wall -
LootGamesDungeonWall,硬度 10.0,7 个变种(含不可破坏的 meta 6) - Loot Games Dungeon Light -
LootGamesDungeonLight,2 个变种,meta 0 亮度 15 / meta 1 亮度 0
主控与启动方块
- Loot Games Master Block -
LootGamesMasterBlock(PuzzleMasterTile),创造栏图标方块 - GOL Master -
gol_master(GOLMasterTile) - MS Master -
ms_master(MSMasterTile) - SDK Master -
sdk_master(SudokuTile) - GOL Master Block(Legacy) -
GOLMasterBlock(LegacyGameOfLightTile),与新版 GOL Master 重叠 - GOL Activator -
gol_activator - MS Activator -
ms_activator - Sudoku Activator -
sdk_activator
棋盘构件
- Smart Subordinate -
smart_subordinate,棋盘格子,无显式构造函数 - Board Border -
board_border,棋盘边框
小游戏列表
三款游戏抽取权重默认全为 1(等概率),设 weight = 0 即关闭该游戏(LGGames.java:15-20)。
- Minesweeper - 扫雷,4 关,半径 6→9、炸弹 20→68,引爆倒计时 60 tick
- Game of Light - 光之游戏,4 关,失败三重惩罚(爆炸 + 僵尸 + 岩浆,默认全开)
- Sudoku - 数独,3 档答错清除策略 + 3 个默认关闭的提示开关
成就列表(8 个)
LGAchievements 枚举(ru/timeconqueror/lootgames/registry/LGAchievements.java:16-25):
| 键名后缀 | 名称 | 图标 | special |
|---|---|---|---|
find_dungeon |
发现地牢 | PUZZLE_MASTER |
— |
win_game |
赢得游戏 | 下界之星 | — |
lose_game |
输掉游戏 | 骷髅头 | — |
ms.start |
开始扫雷 | MS_ACTIVATOR |
— |
ms.beat_level_4 |
通关扫雷第 4 关 | TNT | ✅ |
gol.start |
开始光之游戏 | GOL_ACTIVATOR |
— |
gol.beat_level_3 |
光之游戏第 3 关 | 钻石 | ✅ |
gol.beat_level_4 |
光之游戏第 4 关 | 绿宝石 | ✅ |
成就名统一经 resolve() 加 lootgames. 前缀(:52-54)。
物品与实体
本 mod 不注册任何独立物品,不注册任何实体。 物品形式全部由方块自带的 ItemBlock / ItemBlockWithMetadata(DungeonBlockItem)提供。战利品通过 RewardUtils / LootTables(战利品表)发放,不占注册名。
依赖范围
| 依赖 | relation.md 状态 | 处理 |
|---|---|---|
| Forge | 不在收录范围 | 仅写明版本下限 |
TimeCore(ru.timeconqueror.timecore) |
内嵌源码(本仓库自带 30+ 个类) | 随本 mod 一并覆盖,未单独建分类 |
| GTNH Gradle / Lombok | 构建期依赖 | 未收录 |
本 mod 不依赖任何其它内容模组,是自包含的。
源码缺陷汇总
| # | 缺陷 | 位置 |
|---|---|---|
| 1 | GameBlock.getIcon() 判断取反:有 textureName 时返回默认图标,无纹理名时返回护盾地板贴图 |
ru/timeconqueror/lootgames/api/block/GameBlock.java:28-31 |
| 2 | 同一判断在 registerBlockIcons() 里方向正确,两处不一致 |
GameBlock.java:33-37 |
| 3 | 光之游戏双主控并存(新旧两套),功能重叠 | LGBlocks.java:53,55 vs LootGamesLegacy.java:26 |
| 4 | 注册名三套命名风格混用(PascalCase / snake_case / 大写下划线) | LGBlocks.java:43-59 |
| 5 | DungeonLightSource 亮度靠覆写 getLightValue 而非 setLightLevel,易被误读 |
DungeonLightSource.java:50-52 |
| 6 | LegacyLightGameBlock.registerBlockIcons 是空实现,方块无贴图 |
eu/usrv/legacylootgames/gol/blocks/LegacyLightGameBlock.java:33 |