Thermal Expansion の Arboreal Extractor で期待した量の抽出ができない

Create: Arcane Engineering を触ってるが、Thermal Expansion の Arboreal Extractor で JEI に記載されているような量の抽出ができない。

原因を調べたところ Arboreal Extractor の実装上の問題で、追加レシピ次第では JEI に記載されている情報とズレが出ることがわかった。

現象

Arboreal Extractor の JEI で表示されるレシピをみると次のようになっている:

Spruce の Arboreal Extractor のレシピ

Spruce Log, Spruce Leaves でオペレーションごとに 50mB の Resin が抽出されると記載されているが、実際には 25mB しか抽出されない。

原因

Arboreal Extractor の実装の影響で Create: Arcane Engineering が追加している別の Spruce レシピを引いてしまっている。 Arboreal Extractor の実装が悪いのか Create: Arcane Engineering の設定が悪いのかは判断が難しいところ。

幹で抽出物・量が決まるというのは割と違和感は無いので Arboreal Extractor の実装はこれでいいかもしれない。

Arboreal Extractor の実装

ここを見れば分かる通り、幹(trunk)だけを見て Fluid の導出をしている。葉(leaves)は少し上で稼働条件を満たしているかという確認にしか使っていない。

この実装により、幹に対する抽出物・量はあとから追加されるレシピによって上書きされてしまう。

Arboreal Extractor のレシピ

Arboreal Extractor でバンドルされている Spruce Tree に対するレシピは次のようになっている:

https://github.com/CoFH/ThermalCore/blob/b55443b053c0991a36fd36d3e192d8e825703f10/src/main/resources/data/thermal/recipes/devices/tree_extractor/tree_extractor_spruce.json#L7

{
  "type": "thermal:tree_extractor",
  "trunk": "minecraft:spruce_log",
  "leaves": "minecraft:spruce_leaves",
  "result": {
    "fluid": "thermal:resin",
    "amount": 50
  }
}

一方 Create: Arcane Engineering では BYG で追加される葉の色違い Spruce Tree に対するレシピを追加している。

https://github.com/CoolerGangster/Create-Arcane-Engineering/blob/27b9ac6feba82aa584e6cc8821089aebf09c978c/overrides/kubejs/server_scripts/treeExtractor.js#L314-L319

{
  trunk: 'minecraft:spruce_log',
  leaf: 'byg:yellow_spruce_leaves',
  sap: 'thermal:resin',
  rate: { living: 25, dead: 4 }
},

JEI のレシピはこれ:

BYG の色違い Spruce に対する Arboreal Extractor のレシピ

kubejs で追加されるのでこちらがあとに読み込まれ Spruce Log に対する抽出量 25mB が上書きされてしまう。

これはあくまで Thermal Expansion が内部で持っている対応付の上書きなので、JEI には反映されない。

回避策

オペレーションあたり 50 mB ほしいなら Fir 使う。ただしこちらにも罠があって、Fir にも Biomes O' Plenty で追加される Fir と Biome You Go で追加される Fir がある。

愚痴

BOP や BYG といった大量にブロックが追加される MOD を採用して一貫性のあるクラフト体験というのはもう無理なのではないかと思う。 自分で Modpack 作るときは Modpack としての一定の完成度を求めるなら手を付けないのが良さそう。

追記: 既存のレシピの倣う形で PR を送った。https://github.com/CoolerGangster/Create-Arcane-Engineering/pull/80 バランスのためにひょっとしたら既存レシピの 50mB を 25mB に変更したいって言われる可能性はあるが。