Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to change multiple ores within a same cloud. #63

Open
Arch-Nihil opened this issue Mar 8, 2015 · 7 comments
Open

Ability to change multiple ores within a same cloud. #63

Arch-Nihil opened this issue Mar 8, 2015 · 7 comments

Comments

@Arch-Nihil
Copy link

Title says it all. The ability to change multiple ores within a same cloud would be a amazing. The current way to do this is to make multiple clouds one over the other which is much, much slower.

I hope you can do something about this. Too much of a noob to do it myself. ._.

@lawremi
Copy link
Owner

lawremi commented Mar 9, 2015

Should be doable. Another use case is a single substitute distribution that specifies many mappings at once. One solution is to allow OreBlock children of the Replaces* elements. If Replaces has one or more OreBlock child, it overrides the OreBlock at the distribution level, as well as any matching Replaces that come before it.

@Arch-Nihil
Copy link
Author

I know it's been a while, but I'm back to modding. Any chance this makes an appearance in the next COG version ? ;P I'd gladly use this.

@ghost
Copy link

ghost commented Aug 5, 2015

Here's a trick I used when making the Geode distribution:

Suppose you want to do three ores in your clouds. Set all three distributions to the same seed number. Then, set the density for the first ore to the full desired value, and set it to replace minecraft:stone (the normal). Next, set the density for the second ore cloud to 2/3 the first, and set it to replace the first ore's blocks. Finally, set the density for the third to 1/3 the first, and set it to replace the second ore's blocks. You now have a distribution of three ores in a single cloud.

I usually recommend setting them in order of rarity, from most common to most rare.

@lawremi
Copy link
Owner

lawremi commented Aug 5, 2015

You can do that just using weights on OreBlocks, I think. The original poster wants to define mappings between blocks, like replace A with X, and B with Y, without defining multiple clouds. Is the performance really that much of an issue?

@The-Arcanian
Copy link

If that is what the OP was asking I would like to second that. If for no other reason than clarity. For example: If I have Quark, which changes stone variant distribution into large masses. And Ore Stone Variants, which adds exactly what it says on the tin. It would be nice to be able to just tweak the distributions to replace stone with the vanilla ores and replace the stone variants with their equivalent ores. Instead of having to have multiple distributions covering the same space.
And in terms of performance, instead of having to run the same distribution multiple times for each stone variant it can just do an if-then check.

@Shazuli
Copy link

Shazuli commented Jan 1, 2019

It was quite some time ago this issue was opened and last active, but I could really need some help with this question myself. I don't really understand the wiki and following the old one keeps leading to dead ends. I basically want to have more ore types in veins e.g. diamond ore in coal veins or lead in silver veins and vice versa (with different percentage of how common the secondary type is).
It could also possibly lower down the amount of calculations needed per chunk and speed up the generation of new terrain in a new world. Right now I solve that issue with a pre-generator but it is quite hard to predict how players are going to move around on the map. I would like to avoid setting up a world boarder close to the spawn or have a slowly growing one.

@lawremi
Copy link
Owner

lawremi commented Jan 3, 2019

It sounds like you just need to specify a weight (0-1) on the OreBlock element to achieve this. There's no need for a replacement mapping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants