PersonTheCat / OreStoneVariants

A powerful utility for generating new blocks when given a foreground and background.
GNU General Public License v3.0
7 stars 8 forks source link

Variant Ore Generation is inconsistent #121

Closed ildiem closed 3 years ago

ildiem commented 3 years ago

Ores that seem like they should match the variant stone around them don't consistently do so. The picture shows Quark's Slate, but this occurs with Vanilla variant stones as well. As far as I can tell, there is no pattern to which ores generate with or without the proper variant stone.

2021-03-28_22 43 11

Probably important info:

I'm running several other mods too, but those are the only ones which can affect cave generation afaik. If you need more info, just let me know!

PersonTheCat commented 3 years ago

This is not strictly speaking a bug, but rather a config error. You can adjust the generation stages to be a bit later for mods like Quark that do everything at usual times. This is handled in the individual ores' preset files.

That being said, I am planning to add better support for Quark by removing their stone types from the game and spawning them through OSV instead. I just need to find a clean way to do that since it requires me to add the mod as an optional dependency (which I really don't wanna do). That will come along with custom vein shapes, distributions, and large cluster mode in one of the next two versions or so. As a result, I'm marking this as a feature request in the meantime.

For clarity, the problem is not that the mod is spawning the wrong variants, it's that the stone those ores are supposed to spawn inside of is not done generating yet. It finishes generating halfway through each chunk, which is why half of the variants appear to be wrong. You can fix this by bumping the gen.stage in your ore presets until I can override Quark's stone generators.

PersonTheCat commented 3 years ago

I also wanna throw in an easier temporary fix, which is to disable Quark's stone generation manually and then enable the quark presets in config/osv/stone/quark_x.hjson. You can do this by opening those files and setting enabled: true at the top. OSV will spawn those blocks as close as possible to the originals, but the veins will be roughly half as large because that's all it can handle until 6.2 or so.

ildiem commented 3 years ago

Thanks for the quick response and explanation!

You can fix this by bumping the gen.stage in your ore presets until I can override Quark's stone generators.

To clarify the above, I would for example set an ore's generation stage from UNDERGROUND_ORES to a later stage like UNDERGROUND_DECORATION, correct?

PersonTheCat commented 3 years ago

Yeah, that should work. I don't actually know which stage Quark uses, though. The ore just needs to spawn after the stone.

ildiem commented 3 years ago

For anyone who sees this in the future, changing the generation stage (from UNDERGROUND_ORES to UNDERGROUND_GENERATION) worked for me!

ghost commented 3 years ago

For anyone who sees this in the future, changing the generation stage (from UNDERGROUND_ORES to UNDERGROUND_GENERATION) worked for me!

I think you meant 'UNDERGROUND_DECORATION'. At least that's what fixed it for me.

ildiem commented 3 years ago

You're right, my bad

PersonTheCat commented 3 years ago

I've deferred all variants to generate at a later time by default in 6.2. Give it a try. Make sure to clear out all your old presets so they get regenerated, because a few of them do still have hard coded values that were reset. That should make this substantially less likely (but still not impossible--depends on the mod) to occur.