Repository navigation
Conversation
Collaborator
|
找写这些矿脉和材料的的人讨论一下。格式也注意一下(链式调用不要挤在一行),不要写无意义的注释 |
- 13 个只注册 .ore() 的材质补上 .dust():GTCEu 的分解处理在没有 DUST 时会去掉用 物料流体(DecompositionRecipeHandler:116),而这些材质没有 FLUID 属性, Material#getFluid 会直接抛异常,等于矿石既不能离心也不能电解 - Holystone 去掉恒不生效的 DECOMPOSITION_BY_CENTRIFUGING:没有 element/components 时 DecompositionRecipeHandler:37 直接 return,该 flag 只会留下一条永不生成的死配置 - Calcium 去掉 INGOT 属性:本包里钙只有粉尘与气相(气相供锎+钙聚变出气奥), 补上 INGOT 会让 GTCEu 按主流体生成 solidify_calcium_to_ingot,变成气态钙凝固成锭 - 暮色森林 8 个矿脉把被注释掉的特色层真正接进 layer pattern:原写法把 .layer 放在 buildLayerPattern 之外,注释掉就等于材质没有任何矿脉引用 - 月球谢尔顿矿脉主力层由 Bornite 改为 Cooperite(GTCEu 中 Cooperite 的显示名正是 Sheldonite),同时去掉改动后重复的次级 Cooperite 层
mmyddd
force-pushed
the
fix/139-material-ore-cleanup
branch
from
October 17, 2026 10:12
eb2ec69 to
a18518e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #139
问题
CTNHMaterials.java里 13 个矿石材质(MeteoricTroilite、Cerite、GadoliniteSm、Sperrylite、Wolframite、Germanite、Bismuthinite、Yttrofluorite、Tarkianite、Crocoite、Smithsonite、Roquesite、Rheniite)只写了.ore(),没有.dust(),而配方/处理链是按 dust 前缀消费它们的。TwilightForestOres.java里 8 个暮色材质(SteelLeaf、SpiritAsh、ToxicSwampAmber、IllusionIron、PolarIceCore、Dragonflame、EclipseShadow、LightningPattern)注册了.ore(),却没有任何矿脉引用。AdAstraOres.java的SHELDONITE_VEIN_MOON权重 3 主力层写成GTMaterials.Bornite,而全仓不存在 Sheldonite 材质。CTNHMaterials.java的 Holystone 挂了DECOMPOSITION_BY_CENTRIFUGING,但没有 element/components。CTNHMaterials.java:999与GTMaterialAddon.java:54把 Calcium 同时做成「金属锭」和「只有气相流体」。原因
DecompositionRecipeHandler.java:116-120的判断是if (hasDust) builder.inputItems(dust, material, totalInputAmount); else builder.inputFluids(material.getFluid(1000));。13 个材质里除 Wolframite/Tarkianite/Rheniite 带DISABLE_DECOMPOSITION外都会走到 else 分支,而它们没有 FLUID 属性,Material#getFluid()会抛IllegalArgumentException。补上.dust()后它们才能正常进入分解/离心链(GTRecipes.java:51-66会遍历所有已注册材质调用DecompositionRecipeHandler.run)。.layer(...)写在buildLayerPattern(pattern -> pattern …)的闭合括号之后,本来就不在 pattern 链上,注释掉等于完全不生效。GTMaterials.Cooperite的显示名(langValue)就是 Sheldonite(GregTech-Modern/.../FirstDegreeMaterials.java:191-197),DefaultRecipes.java里「谢尔顿矿粉电解」用的也正是 Cooperite 粉尘,所以主力层应该是 Cooperite 而不是 Bornite。DecompositionRecipeHandler.java:37会直接return,flag 只是死配置。MaterialRecipeHandler.java:338-340用主流体生成solidify_calcium_to_ingot,而钙在本包里只有气相,补 INGOT 等于让气态钙凝固成锭。修改
registry/material/CTNHMaterials.java:13 个材质补.dust();Holystone 去掉DECOMPOSITION_BY_CENTRIFUGING。registry/material/GTMaterialAddon.java:删掉 Calcium 的PropertyKey.INGOT,保留粉尘 + 气相(气相供DefaultRecipes里锎 + 钙聚变出气奥)。registry/ores/TwilightForestOres.java:8 个特色层从注释里恢复并接进对应的 layer pattern(雷纹矿脉只挂 LightningPattern,幽影层已属于幽影矿脉,避免重复)。registry/ores/AdAstraOres.java:SHELDONITE_VEIN_MOON主力层 Bornite → Cooperite,并去掉重复的次级 Cooperite 层。验证
./gradlew :modules:CTNH-Core:compileJava :modules:CTNH-Core:spotlessCheck --offlineBUILD SUCCESSFUL。git diff --stat为 4 个文件、+29/-33;13 处.dust().ore();8 个暮色材质现在各自恰好有 1 条生效的.layer(...)。