Railcraft

Railcraft

34M Downloads

Ore worldgen incompatible with Thermal Foundation ore

xs2007 opened this issue ยท 2 comments

commented

Description of the Bug
Been fiddling around with the ore gen, as I really like the vein style it uses to generate ore.
So far I understood most of its properties, I even mapped out the 2D simplex noise function as greyvalue image to understand its parameters. However, it seems, that the ore generator does not work with Thermal Foundation blocks (ores). I have no problem generating minecraft ore or blocks of other mods (forestry's alveary block or bronze storage block e.g. as "ore" worked fine.) I verified the ID and meta (e.g. thermalfoundation:ore#2 for silver) using JEI ingame and pmdumper offline. I also tried non-ore TF blocks like Hardened Lumium Glass (thermalfoundation:glass_alloy#5), that did not work as well.

I am familiar with how the ore gen works and I have the sky ores option enabled to fly around and test config. They are nowhere to be found, or I'm just ultra extremely unlucky, but I doubt it, as I've seen a ton of mixed iron, gold and zinc mines around.

(I try to set it up like that - railcraft ore gen with TF ores - because I simply like the colors used by TF more and want to only have a single version of each ore in the world, while still using the vein style generation.)

I'm not sure, whether its a problem on Railcrafts side or TF's side (or any kind of misconfiguration).
I'm running Minecraft 1.12.2, Forge 2808, Railcraft 12.0.0-beta-4, ThermalFoundation 1.12.2-2.6.1.22-universal, and also a ton of other mods.

Looking at:

coreOre = BlockItemParser.parseBlock(config.getString("core", CAT + ".ore", defaultCoreOre, "The ore block generated in the core of the mine.")).stream().findFirst().orElse(Blocks.STONE.getDefaultState());

I'd assume there would at least generate stone, if the block could not be found. I however also cannot find any error message in the logs:
throw new IllegalArgumentException("Invalid Block while parsing config line: " + line);

I even cannot find this error message, when I knowingly throw a non-existing block ID into the config.
So there must be something different, thats off. Logs are attached below.

To Reproduce

  • Have Railcraft 12.0.0-beta-4 and Thermal Foundation 2.6.1.22 installed.
  • Open config/railcraft/ores/mine_silver.cfg and replace "S:core=railcraft:ore_metal#3" with "S:core=thermalfoundation:ore#2" on line 135 as well as "S:coreGen=0.2" in line 165, "S:coreOre=0.5" in 168 and "S:fringeGen=0.0" in 171.
  • Open config/railcraft/railcraft.cfg and set "B:skyGen=true" on line 510
  • Fire up creative game and fly around looking for veins in the sky. There will be silver veins, but only with Railcrafts poor silver ore, while the other half, thats supposed to be TF's silver ore, is missing.

Expected behavior
I'd expect to find TF's ores as well generated in the mines.

Logs & Environment
https://gist.github.com/xs2007/02733122ec6d5e8659bb827af30417d8

commented

The log messages may have been added to the code base since beta-4.

If I had to guess, looking at the code, I'd say we might be loading the ore configs too early, ie before the other mod gets a chance to define its blocks.

commented

Thanks!
For the the time until the next release I found a workaround using the reason for the bug you gave.
I renamed the "railcraft.jar" to "zrailcraft.jar", so apperently I tricked FML to load it last and all the ores are there now. :)