GT 配方加载器
基本信息
| 属性 |
值 |
| 包 |
com.dreammaster.gthandler(根 12 文件)+ com.dreammaster.gthandler.recipes(45 文件) |
| 调度入口 |
com.dreammaster.gthandler.GT_CustomLoader.run()(GT_CustomLoader.java:141-158) |
| 配方表 |
全部走 GregTech 5 的 RecipeMaps,不走 GameRegistry.addRecipe |
| GT 配方文件数 |
45 |
| GT 配方文件总行数 |
26924 |
| 单文件最大 |
AssemblerRecipes.java,9835 行 |
| 与脚本体系的区别 |
脚本走 IScriptLoader → GameRegistry.addRecipe;本体系走 GT5 配方表 |
功能
GT_CustomLoader 是本 mod 面向 GregTech 5 的配方与数据总装载器。它与 配方脚本 是两套并行体系:
| 体系 |
入口 |
登记目标 |
文件数 |
| 脚本体系 |
ScriptLoader.run() |
GameRegistry.addRecipe(原版合成) |
111 |
| GT 体系 |
GT_CustomLoader.run() |
GT5 RecipeMaps.* |
45 + 12 |
run() 的 10 步装载顺序
顺序是有意义的 —— 后面的步骤依赖前面已注册的内容(GT_CustomLoader.java:141-158):
| 步骤 |
调用 |
说明 |
| 1 |
FrankenskullFix.fixEnderIO() |
仅 EnderIO 加载时(:142-144) |
| 2 |
BlockHarvestToolFix.fixBOPHarvestTools() |
仅 BiomesOPlenty 加载时(:145-147) |
| 3 |
MaterialLoader.run() |
GT_Loader_Materials |
| 4 |
WireLoader.run() |
GT_Loader_Wires |
| 5 |
ItemLoader.run() |
GT_Loader_Items |
| 6 |
MachineLoader.run() |
GT_Loader_Machines(2946 行,本包最大) |
| 7 |
Remover.run() |
GT_Recipe_Remover,先删后加 |
| 8 |
OreDictionary.run() |
GT_Loader_OreDictionary |
| 9 |
MachineRecipeLoader.run() |
GT_MachineRecipeLoader |
| 10 |
CraftingRecipeLoader.run() |
GT_CraftingRecipeLoader(2468 行) |
| 11 |
MoldLoader.run() |
GT_Loader_Molds |
| 12 |
MechanicalArmorRecipes.run() |
MechanicalArmorRecipes(462 行) |
上表 12 行对应 run() 内的 12 次调用(GT_CustomLoader.java:142-157)。
第 7 步是关键:先删后加
Remover.run() 排在所有加载器之前(:152)。GT_Recipe_Remover implements Runnable(GT_Recipe_Remover.java:27),450 行,负责从 GT5 配方表中移除整合包不想要的配方,让后续步骤可以干净地重定义它们。若顺序颠倒,删除会连带抹掉刚注册的配方。
根级加载器(12 个文件)
| 类 |
行数 |
职责 |
GT_CustomLoader |
159 |
调度器,串起全部 12 步 |
GT_Loader_Machines |
2946 |
机器注册,本包最大 |
GT_CraftingRecipeLoader |
2468 |
合成配方登记 |
GT_Loader_Items |
— |
物品 |
GT_Loader_Materials |
— |
材料 |
GT_Loader_OreDictionary |
281 |
矿物词典 |
GT_Loader_Wires |
224 |
线缆 |
GT_Loader_Molds |
— |
模具 |
GT_Recipe_Remover |
450 |
配方删除 |
GT_MachineRecipeLoader |
— |
机器配方 |
MechanicalArmorRecipes |
462 |
动力装甲配方 |
DTPFCalculator |
288 |
DTPF 计算 |
recipes 子包(45 个文件)
每个文件对应 一台 GregTech 机器的配方表,文件名即机器名;RecipeRemoval 是例外,专门做配方移除。
| 文件 |
文件 |
文件 |
AlloySmelterRecipes |
ArcFurnaceRecipes |
AssemblerRecipes |
AssemblingLineRecipes |
AutoclaveRecipes |
BECRecipes |
BeamcraftingRecipes |
BendingMachineRecipes |
BlastFurnaceRecipes |
BrewingMachineRecipes |
CannerRecipes |
CentrifugeRecipes |
ChemicalBathRecipes |
ChemicalReactorRecipes |
CircuitAssemblerRecipes |
CircuitAssemblyLineRecipes |
CompressorRecipes |
CrackingRecipes |
CuttingMachineRecipes |
DTPFRecipes |
DistillationRecipes |
ElectrolyzerRecipes |
ExtractorRecipes |
ExtruderRecipes |
FermenterRecipes |
FluidExtractorRecipes |
FluidHeaterRecipes |
FluidSolidifierRecipes |
ForgeHammerRecipes |
FormingPressRecipes |
ImplosionCompressorRecipes |
LaserEngraverRecipes |
LatheRecipes |
MaceratorRecipes |
MixerRecipes |
NeutroniumCompressorRecipes |
PolarizerRecipes |
PreciseAssemblerRecipes |
RecipeRemoval |
SifterRecipes |
SolarFactoryRecipes |
SpaceAssemblerRecipes |
VacuumFreezerRecipes |
VacuumFurnaceRecipes |
WiremillRecipes |
完整清单由 ls src/main/java/com/dreammaster/gthandler/recipes 逐项核对,共 45 项,表中无遗漏。
数值
| 数值名 |
值 |
| GT 配方文件数 |
45 |
| GT 配方文件总行数 |
26924 |
| 根级加载器数 |
12 |
run() 装载步骤 |
12 |
| 最大单文件 |
AssemblerRecipes.java 9835 行 |
| 删除步骤位置 |
第 7 步,先于所有加载器 |
交互
| 特性 |
说明 |
| 玩家可见性 |
全部是配方数据,无方块/物品/GUI/指令 |
| 模组依赖 |
整体系硬依赖 GregTech 5(dependencies = "required-before:gregtech",MainRegistry.java:111) |
| 条件执行 |
步骤 1、2 带 isModLoaded 守卫;其余 10 步无条件执行 |
相关条目
- 配方脚本 - 并行的原版合成配方体系
- Mod 修复框架 - 步骤 1、2 调用的两个修复类(注意它们不是
IModFix)