AmidstGTNH
[!INFO] Git Commit:
2331f00| Updated: 2026-10-28
游戏内世界地图查看器。AMIDST(Advanced Minecraft Interfacing and Data/Structure Tracking)的 1.7.10 反编译移植版,用于在不生成真实区块的前提下 预览生物群系、史莱姆区块、神殿、村庄、末地传送门、海底神殿等结构位置。
README 自述:This is a decompiled version of ForgeAMIDST for minecraft version 1.7.10,
并注明 Clean up decompiled artifacts (WIP) —— 全仓是反编译产物,非原始源码。
身份
| 属性 | 实测值 |
|---|---|
| modid | forgeamidst(⚠️ ≠ 分类名 amidstgtnh) |
@Mod name |
ForgeAmidst(⚠️ ≠ gradle.properties 的 ForgeAmidst-GTNH) |
@Mod version |
1.7.10-1.4-beta(字面量,非占位符) |
| 资源域 | forgeamidst(assets/forgeamidst/biome,30 png) |
| Minecraft | 1.7.10 |
| Java 文件 | 89(sedridor.forgeamidst 12 + sedridor.amidst 77) |
@Mod 位置 |
Java(ForgeAmidst.java:44),非 Scala / Kotlin |
| 事件处理器 | 4 个 @Mod.EventHandler |
| 命令 | 1(/amidst,权限等级 0) |
| 快捷键 | 1(F6) |
| 菜单按钮 | 2(暂停菜单 id 12、主菜单 id 15) |
| ASM transformer | 1(Transformer) |
| 配置项 | 32(Options 单成员枚举,24 布尔 + 2 下拉 + 1 文件 + 1 字符串 + 4 裸字段) |
| 注册内容 | 0 方块 / 物品 / 实体 / TileEntity |
| 硬依赖 | 无(dependencies 只有两条 after: 软依赖) |
| 软依赖 | climatecontrol、RTG |
⚠️ mcmod.info 是未修改的 Forge MDK 模板
src/main/resources/mcmod.info 的内容与本 mod 毫无关系:
| 字段 | 实际值 | 应该是 |
|---|---|---|
url |
https://github.com/SinTh0r4s/MyMod |
AMIDST 仓库 |
authorList |
["SinTho0r4s"] |
原作者 Skidoodle / Zeno410 / Sedridor |
description |
An example mod for Minecraft 1.7.10 with Forge focused on a stable setup. |
AMIDST 说明 |
modid / name / version / mcversion |
${modId} 等占位符 |
会被 Gradle 替换 |
⚠️ 这是模板脚手架残留,不能作为 modid / 作者 / 描述的依据。
modid 的权威来源是 @Mod 注解与 gradle.properties:9。
依赖范围
| 依赖 | 声明 | 收录状态 |
|---|---|---|
climatecontrol |
after:(软) |
已登记为 Climate Control,尚未成文 |
RTG |
after:(软) |
已登记为 Realistic Terrain Generation,尚未成文 |
两条都是软顺序依赖 —— 缺失不导致启动失败。 ⚠️ 但 BiomeProviderRTG 直接 import 并强转 RTG 的类,属编译期硬依赖, 声明与实现不一致(详见该条目)。
核心机制:伪世界(dummy world)
| 条目 | 说明 |
|---|---|
| ForgeAmidst - mod 入口 | 4 个生命周期阶段 |
| MapWorld - 伪世界 | extends WorldServer,无条件占用全局 world |
| MapWorldRTG - RTG 变体 | 条件式占用(仅非 RTG 或 world 为空) |
| 伪世界空实现 | 区块与存档的空实现(含 2 个返回 null 的方法) |
| BiomeProviderRTG - RTG 群系桥 | sampleSize=8、21×21=441 采样、缓存 60000 |
coremod
| 条目 | 说明 |
|---|---|
| CorePlugin - 加载插件 | SortingIndex(2000),TransformerExclusions 只排 sedridor.forgeamidst |
| Transformer - ASM 注入 | patch DimensionManager.onCreateSpawn,⚠️ 硬编码指令偏移 index == 49 |
src/main/resources/META-INF/MANIFEST.MF 已入库,
含 FMLCorePlugin 与 FMLCorePluginContainsFMLMod: true
(同一 jar 内 FML mod 与加载插件共存)。无 TweakClass(无 mixin)。
入口
| 条目 | 说明 |
|---|---|
| TickHandler - F6 快捷键 | 1 秒冷却、currentScreen == null 硬条件 |
CommandAmidst - /amidst |
权限等级 0,无冷却 |
| 菜单 GUI - 两个菜单覆写 | 暂停菜单 set(3,…) 覆盖原版按钮;主菜单 add 追加 |
AMIDST 库(sedridor.amidst,77 文件)
| 条目 | 说明 |
|---|---|
| project 包 - 5 类 | FinderWindow(JFrame)、Project(JPanel)等 |
| FinderWindow - 主窗口 | 1000×800、构造即 setVisible(true) |
| Project - 会话 | FRAGMENT_SIZE = 256(非 final) |
| map 包 - 45 类 | 16 根 + 11 图层 + 15 控件 + 10 MapObject |
| preferences 包 - 8 类 | PrefModel 家族 |
| Options - 配置 | 单成员枚举,24 个 BooleanPrefModel |
| gui 包 - 4 类 | CrashDialog 是第二个 JFrame |
| 辅助包 - 14 类 | ⚠️ 目录名拼写为 utilties |
⚠️ 架构核心事实:独立 Swing 窗口
FinderWindow extends JFrame、Project extends JPanel、
CrashDialog extends JFrame、AmidstMenu 是 JMenuBar
—— 全 mod 共 3 个 Swing 顶层/容器类、12 个文件 import javax.swing.*。
地图不是 Minecraft 内覆盖层,而是游戏之外的一个独立操作系统窗口。
全仓 IGuiHandler 命中 0,无 GuiScreen 子类。
Amidst 另有 public static void main(String[]) 与
Util.setLookAndFeel() —— AMIDST 原本是可独立运行的桌面程序,
Forge 版只复用其库。
名称不一致(本仓高频陷阱)
同一概念有 4 种写法:
| 写法 | 出现处 |
|---|---|
forgeamidst |
modid、资源域 |
ForgeAmidst |
@Mod name |
ForgeAmidst-GTNH |
gradle.properties 的 modName |
ForgeAMIDST |
F6 键名、暂停菜单按钮、窗口标题、命令用途串 |
AMIDST |
主菜单按钮文案 |
1.4 |
AMIDST 库版本 |
1.7.10-1.4-beta |
@Mod version |
关联
- Climate Control - 软依赖,被 coremod patch(已登记未成文)
- Realistic Terrain Generation - 软依赖(已登记未成文)