COFH World Generation User's Manual

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Eyamaz

New Member
Jul 29, 2019
2,373
0
0
So, I've been playing with all the new worldgen features coming out in the next cofh iteration. Lets just say your doc barely touches the current features. Once I get a bit more of the things tested, I'll post some things here for you all.
 

NunoAgapito

New Member
Jul 29, 2019
1,159
0
0
I will admit, I'm writing this before reading all the post on the thread or searching for more info on google, so bring the flamethrower if this was already explained...

Is it possible to force ores not so spawn every chunk? Like, instead of small multiple clusters every chunk I want a big cluster, like 100 blocks. Call it a 'deposit'. But I dont want this every chunk, would be silly. I want it like every 10 chunks or like 5% chance of spawning in the chunk, so this deposits would be scatered in the world. I know other mods can do this, just want to know if its possible with COFH.

Also, is there an easier way to check the ore generation results instead of MCediting the world to remove all stone/gravel/sand/etc?[DOUBLEPOST=1413204117,1413123044][/DOUBLEPOST]After reading the whole thread I got confused about one aspect.

The numCluster option is the number of clusters in the chunk or the number of times it will try to spawn the cluster in the chunk? If its the number of times, does he stop after succeeding or he keeps trying?
That is, if I have numCluster=32, it will try to had 32 clusters or it will try 32 times stopping after the first successful attempt?
Even if I configure it with a huge cluster size and it succeeds at generating it, there is nothing to prevent it from generating again on the next chunk right?

Seems to me that COFH ore gen is not the correct tool to generate ores in a similar way to TFC, with large nodes scattered around the world... :(

Huge chunks of scattered ores, with a prospecting tool (more refined then the one in Metallurgy) would be awesome for ore progression packs instead of dig down and branch mine all the ores!

Also,@666Lumberjack, did you found a way of disabling the nether? looking for one but seems my only chance is making a small mod that replaces obsidian with a similar obsidian block that doesnt generate a portal.... That or something more hardcore, as hooking to the nether portal generation event and prevent it...
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
NumClusters is the number of attempted clusters within the specified range. If it fails to find a spot for a cluster, it'll skip to the next cluster attempt. That's why I always generate the rarer stuff first, to maximise it's chance of being generated. All the crud/decorative stuff I generate last.

In theory, you can generate ores at a 5% chance per chunk. You'd have to calculate a Y range that ensures that 95% of the potential spawn area is in "air", and set it to 1 numClusters of a large cluster size.
Issues you'd have is that while the game world max Y is 256, CoFH world gen may or may not allow you to have larger Y values, plus ores that are normally deep would have a chance of being on the surface (not really a major issue).
Mountains then have a greater chance of containing ores compared to flatlands, seas have a much lower chance of having anything.
 

NunoAgapito

New Member
Jul 29, 2019
1,159
0
0
NumClusters is the number of attempted clusters within the specified range. If it fails to find a spot for a cluster, it'll skip to the next cluster attempt. That's why I always generate the rarer stuff first, to maximise it's chance of being generated. All the crud/decorative stuff I generate last.

In theory, you can generate ores at a 5% chance per chunk. You'd have to calculate a Y range that ensures that 95% of the potential spawn area is in "air", and set it to 1 numClusters of a large cluster size.
Issues you'd have is that while the game world max Y is 256, CoFH world gen may or may not allow you to have larger Y values, plus ores that are normally deep would have a chance of being on the surface (not really a major issue).
Mountains then have a greater chance of containing ores compared to flatlands, seas have a much lower chance of having anything.
But it will always try to generate on each chunk right?

If I wanted, for example, a large cluster every 500 blocks, it would not be possible, correct?

Sent from my CUBOT ONE using Tapatalk
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
But it will always try to generate on each chunk right?

If I wanted, for example, a large cluster every 500 blocks, it would not be possible, correct?

Sent from my CUBOT ONE using Tapatalk
Correct, to get 1 in 500 chunks, you'd need to try and work out a system that equates to 0.2% chance. Doubt that would be possible.

Although there is apparently a lot of extra stuff that CoFH World Gen can do, but there's no documentation unless you can read the source code or talk to one of the Devs.
 

NunoAgapito

New Member
Jul 29, 2019
1,159
0
0
Correct, to get 1 in 500 chunks, you'd need to try and work out a system that equates to 0.2% chance. Doubt that would be possible.

Although there is apparently a lot of extra stuff that CoFH World Gen can do, but there's no documentation unless you can read the source code or talk to one of the Devs.

oohhh... I forgot then went open source.... humm... :p
But, I dont think it will be possible to do what I want. The only one I found that could do something similar is the Custom Ore Generation - First Revival.

I might even end up writing a less generic ore generation mod that does generate ores with the TFC style and alloying some tweaks instead of the huge amount of options that COG or CoFH has.
And also add the prospector tool to it. :)
I really think that a hard modpack must have ores veins scattered in the map and require some effort to find them (wink @Eyamaz )
 

Eyamaz

New Member
Jul 29, 2019
2,373
0
0
Rarity chance is one of the upcoming features.

Edit: so are veins.
 
Last edited:

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Rarity chance is one of the upcoming features.

Edit: so are veins.
ooo, veins defined in the same way as the current clusters? That would be sweet with my custom ore gen setup. I'd love to have bigger veins but more spaced out, so it's not just a case of pick a chunk, dig down to diamond level, win.
 
  • Like
Reactions: Eyamaz

Eyamaz

New Member
Jul 29, 2019
2,373
0
0
ooo, veins defined in the same way as the current clusters? That would be sweet with my custom ore gen setup. I'd love to have bigger veins but more spaced out, so it's not just a case of pick a chunk, dig down to diamond level, win.

Basically this, plus a lot of other. Once I get tests out of inFlux and BnB, I'll hopefully have time to put everything into a solid document. So far though, everything I've had time to specifically test works as intended.
Cofhcore, though, is much more than just oreGen now...
 
  • Like
Reactions: Golrith

NunoAgapito

New Member
Jul 29, 2019
1,159
0
0
Basically this, plus a lot of other. Once I get tests out of inFlux and BnB, I'll hopefully have time to put everything into a solid document. So far though, everything I've had time to specifically test works as intended.
Cofhcore, though, is much more than just oreGen now...
You mean if I push the latest version of CoFH Core from github I would get this features?
Is chunkChance what you are talking about?

Please be yes to all the questions. It would save me so much work!!!
 

Eyamaz

New Member
Jul 29, 2019
2,373
0
0
You mean if I push the latest version of CoFH Core from github I would get this features?
Is chunkChance what you are talking about?

Please be yes to all the questions. It would save me so much work!!!

chunkChance is correct
 

buddy1913

New Member
Jul 29, 2019
9
0
0
Heya all,

loving the new way that these config files are written, So much Power at my fingertips over world generation in a format I'm more used to too! plus color coding in notepad++... always helps! :)
can't wait for more features to be turned on but i think i found a little bug in the "current" beta version of the Core.
looks like changing; B:ReplaceVanillaGeneration=false to =true generates nothing, it seems to be looking at the Vanilla.JSON file but its either not doing anything with it (unlikely) or the pointers for minecraft's ores are wrong. (eg, iron_ore) this is the unedited version too!

i've had a play about with it and i still can't get it working I've tried adding an entry for iron in the ThermalExpansion-ores.JSON too and that also does not spawn. checking the minecraft wiki it says the block name is iron_ore so that checks out so im unsure on what it's meant to be. none of the vanilla ores are spawning under this, I've tried swapping the documented ones out to their "minecraft:<orename> and remove the Material: "string" section like in the TE config too and its still dead as a dodo... on the plus side all the TE ones are working brill! XD

(current Vanilla.JSON in tags)

Code:
{
    "dirt": {
        "template": "uniform",
        "block": "minecraft:dirt",
        "clusterSize": 32,
        "numClusters": 20,
        "minHeight": 0,
        "maxHeight": 128,
        "retrogen": "false",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "gravel": {
        "template": "uniform",
        "block": "minecraft:gravel",
        "clusterSize": 32,
        "numClusters": 10,
        "minHeight": 0,
        "maxHeight": 128,
        "retrogen": "false",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "coal": {
        "template": "uniform",
        "block": "minecraft:coal_ore",
        "clusterSize": 16,
        "numClusters": 20,
        "minHeight": 0,
        "maxHeight": 128,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "iron": {
        "template": "uniform",
        "block": "minecraft:iron_ore",
        "clusterSize": 8,
        "numClusters": 20,
        "minHeight": 0,
        "maxHeight": 64,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "gold": {
        "template": "uniform",
        "block": "minecraft:gold_ore",
        "clusterSize": 8,
        "numClusters": 2,
        "minHeight": 0,
        "maxHeight": 32,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "redstone": {
        "template": "uniform",
        "block": "minecraft:redstone_ore",
        "clusterSize": 7,
        "numClusters": 8,
        "minHeight": 0,
        "maxHeight": 16,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "diamond": {
        "template": "uniform",
        "block": "minecraft:diamond_ore",
        "clusterSize": 7,
        "numClusters": 1,
        "minHeight": 0,
        "maxHeight": 16,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "lapis": {
        "template": "normal",
        "block": "minecraft:lapis_ore",
        "clusterSize": 6,
        "numClusters": 1,
        "meanHeight": 16,
        "maxVariance": 16,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },
    "quartz": {
        "template": "uniform",
        "block": "minecraft:quartz_ore",
        "clusterSize": 13,
        "numClusters": 16,
        "minHeight": 10,
        "maxHeight": 118,
        "retrogen": "true",
        "biomeRestriction": "whitelist",
        "biomes": [
            "hell"
        ],
        "dimensionRestriction": "whitelist",
        "dimensions": [
            -1
        ]
    }
}
 

Whist34

New Member
Jul 29, 2019
2
0
0
Is there a way to replace ALL instances of a block with another block for the whole world?

I want to remove a mod's ores from a large existing world 4000+ x 6000+. I already looked at WorldEdit and MCEdit, but neither seem to be able to perform this for the whole world at one time. Seems like their methods would take a month to do for a world this size. Removing the mod and restarting leaves pockets of air wherever the mod's ores were - this is not something we want - would be nice if restarting replaced those blocks with stone, at least =)

Thanks
 

TomeWyrm

New Member
Jul 29, 2019
898
1
1
Is there a way to replace ALL instances of a block with another block for the whole world?

I want to remove a mod's ores from a large existing world 4000+ x 6000+. I already looked at WorldEdit and MCEdit, but neither seem to be able to perform this for the whole world at one time. Seems like their methods would take a month to do for a world this size. Removing the mod and restarting leaves pockets of air wherever the mod's ores were - this is not something we want - would be nice if restarting replaced those blocks with stone, at least =)

Thanks
Try http://www.minecraftforum.net/forum...1339-tool-midas-id-changer-v0-3-1-open-source

I also thin CustomOreGen might be able to help... maybe. If it can do retro-gen it will... but honestly with a world that size... you're going to have issues with the replacement taking forever.
 

SirChamomile

New Member
Jul 29, 2019
12
0
0
So I basically signed up just to make this comment. I'm going through the oregens for my new 1.7.10 pack with Cofh Core and I was reading this site - someone suggested looking through the source code for the new gen features...

Holy Cow. I don't know Java, and I'm not a programmer, but if what I'm seeing is what I think I'm seeing?

Generation Features:

Lakes
Boulders
Decoration (Not sure yet what this is yet)
Dungeons
Geodes (Think Railcraft Abyssal Stones)
Regular Clusters
Large Veins
Sparse Clusters
Spike (Not sure what this is yet either)

These different feature specifications I pulled from the different following feature parsers (read: different distribution templates):

DecorationParser
FractalParser
NormalParser
SurfaceParser
UnderfluidParser
UniformParser

If this is anything like I think it is, the future of pack making is going to EXPLODE with all these new features. It's curious to me because some of the templates are at least a month old like the Fractal and Surface parsers. Seems like all these new features have been under wraps for quite a while. Is there anyone out there that knows Java that could help decode this a bit more? I'd love to know if any of this syntax is available yet for use in the .json files. I have no idea what I'm looking at, but I'm having a bunch of fun finding out all these awesome things about the future of the Cofh Core. If nobody knows I might try to crash-course Java over the next couple of days to see what I can figure out lol.

This is where the goods are at if anyone is interested in peeking too: https://github.com/CoFH/CoFHCore/tree/master/src/main/java/cofh/core/world/feature

EDIT: Lalala, I guess I was looking at the wrong place? Try here too: https://github.com/CoFH/CoFHLib/tree/master/src/main/java/cofh/lib/world
 
Last edited: