TerraFirmaCraft

TerraFirmaCraft

2M Downloads

Crucible does not work with molten metals from other mods

Altarya opened this issue ยท 5 comments

commented

Describe the bug
Quite simply if another mod's version of a molten metal overrides TFC, the crucible will make all items that it melts simply vanish and wont use the the other mod's fluids, this is expecially noticeable when another metalworking mod is present(such as Embers or SteamAgeRevolution), while a lot of mods offer the ability to disable their fluids it is sadly not universal and due to TFC's modid starting with t its quite common for its fluids to get overwritten.

To Reproduce

  1. Install another mod that has molten metals with a modid alphabetically higher than TFC's, such as: Embers, SteamAgeRevolution, Thermal Foundation(with Unidict), Nuclearcraft, etc...
  2. Attempt to melt any common metals in the crucible, eg: Copper, Gold, Tin, Brass, etc... the item will disappear but no fluids will appear in the crucible.

Meta Info

  • TFC Version: 1.0.12.141
  • Were any other mods included? Can you reproduce it without these other mods?
    -> Yes, no but other mods did not seem to mind other's fluids.
  • If necessary, what other mods (including versions) MUST be present to experience the bug?
    -> Any mod with molten metals with a modid alphabetically higher.

Ideas:
-Config option to enforce TFC fluids/items as the ore dict/fluid registry priority.

PS: It should also be noted that molds filled with molten metals from tfc will crash if they are loaded while said fluids get overwritten, i could attach a crash log but i feel like thats easily testable and part of the same issue

commented

A number of things:

  • TFC registers it's fluids quite insanely late, and we do this very intentionally as we need metals to be registered before fluids. So I'm highly convinced it's not strictly fluid replacement ordering, nor can we just say "our fluids take priority". That option doesn't exist.
  • Unless there's further info, I'm going to assume this is (essentially) the same issue as #840. As for that, we've identified the problem (it's not just other mods, it's the specific removal + addition of other mods.
commented

i am aware of how the forge fluid system works, my suggestion was to register them later but i wasn't aware TFC already did that ^^, i may have jumped the boat on opening the issue as well, as i managed to isolate the problem to SteamAgeRevolution itself, it seems its material handler(BASE) did not like it when certain fluids were swapped around(aka when we decided to disable all of Ember's duplicate materials to reduce the amount of items/blocks/fluids loaded ingame) and it caused nothing to be registered in place of the metal fluids, which is why the Crucible couldn't produce a fluid, the game thought none existed.

I fixed the problem on my side by disabling all of BASE's materials and i'll open up a issue on their end, in any case thanks for the reply and sorry for taking up time.

commented

Outside of the issue, but i'm guessing you're registering them at Post Init? I wasn't even aware Forge would let you do that, i was under the impression all registration needed to happen at Pre Init.

commented

We register fluids at highest priority during Register<Block>. We do this in order to fire after the Metal registry events (which we've hacked to fire also at highest priority during Register<Block>, but they must happen before actual block registration, because we need the fluids to register the fluid blocks.

commented

Ah i see, that's quite smart, makes the system quite robust