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

Mictali

New Member
Jul 29, 2019
4
0
0
Any plans to get this to work via ore dictionaries instead of having to list blocks from each mod that might introduce common ores?
 

lenscas

Over-Achiever
Jul 31, 2013
2,015
1,801
248
Any plans to get this to work via ore dictionaries instead of having to list blocks from each mod that might introduce common ores?
The problem with that is how would it know which ore blocks to gen, it can be random but in that case you could probably also just split the oregen yourself.
 

Tethlah

New Member
Jul 29, 2019
112
0
0
So I have two questions. Let's say that I want to make it so no one has a reason to mine in overworld, and they will only find ores in the mining world. I can change each item from this:
Code:
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]

to say this (let's say DIM6 is the mining world):

Code:
        "dimensionRestriction": "whitelist",
        "dimensions": [
            6
        ]

Would that work?

Second question, I'm getting several different ores generated from different mods, if I want to restrict it to one ore, do I need to make an entry for each ore I don't want? something like this?

Code:
    "Overworld Copper Ore": {
        "template": "uniform",
        "block": "GalacticraftCore:tile.gcBlockCore:5",
        "retrogen": "true",
        "dimensionRestriction": "whitelist",
        "dimensions": [
        ]
    }

Or am I doing this wrong? That would kind of suck, because I'd have to make about 2 dozen entries to cover all the misc ores out there that other mods are spawning.
 

buggirlexpres

Relatable Gamer
Trusted User
Retired Staff
Nov 24, 2012
3,937
7,362
663
she/her
twitter.com
So I have two questions. Let's say that I want to make it so no one has a reason to mine in overworld, and they will only find ores in the mining world. I can change each item from this:
Code:
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]

to say this (let's say DIM6 is the mining world):

Code:
        "dimensionRestriction": "whitelist",
        "dimensions": [
            6
        ]

Would that work?
Yeah, that would cause it to only generate in dimension ID 6.
Second question, I'm getting several different ores generated from different mods, if I want to restrict it to one ore, do I need to make an entry for each ore I don't want? something like this?

Code:
    "Overworld Copper Ore": {
        "template": "uniform",
        "block": "GalacticraftCore:tile.gcBlockCore:5",
        "retrogen": "true",
        "dimensionRestriction": "whitelist",
        "dimensions": [
        ]
    }

Or am I doing this wrong? That would kind of suck, because I'd have to make about 2 dozen entries to cover all the misc ores out there that other mods are spawning.
Only Thermal Foundation ores and vanilla ones are generated with CoFH Core. For the others, you need to go into the individual mods' config file and disable the ores there. In the example you provided, you'd want to go into Galacticraft's config file and disable it there.
 

micecd

New Member
Jul 29, 2019
4
0
0
Nevermind. This doesn't seem to work now, and it worked before:

Code:
{
    "test28":
    {
    "template": "fractal",
    "block": "minecraft:iron_ore",
    "material": [{"name":"minecraft:stone"},{"name":"minecraft:dirt"},{"name":"minecraft:gravel"}],
    "enabled": "true",
    "clusterSize": 4,
    "numClusters": 10,
    "minHeight": 10,
    "veinHeight": 30,
    "veinDiameter": 44,
    "verticalDensity": 1,
    "horizontalDensity": 1,
    "retrogen": true,
    "chunkChance": 1,
    "biomeRestriction": "none",
    "biomes":[],
    "dimensionRestriction": "blacklist",
    "dimensions":[-1,1]
    }
}

It just crashes now and I don't know what I did wrong lol.

edit: The crash report will say "error updating neighbors", which I presume to be when the generator is queuing up for the chunks to load, but the chunks don't load or something fast enough. This occurs when over 40 of an ore are trying to generate within 50 layers. (50x16) the ratio just doesn't work with any ore. But if it's higher than that it's fine.
For instance, a range of 80 vertical blocks high and a chunk's area is fine for 40 ores, but not less than 50 blocks range.
 
Last edited:

King Lemming

New Member
Jul 29, 2019
664
0
0
Any plans to get this to work via ore dictionaries instead of having to list blocks from each mod that might introduce common ores?

Not super likely. The OreDictionary deals with ItemStacks, not blocks. The nonsense associated with a convoluted reverse lookup would be incredibly, amazingly slow.
 

micecd

New Member
Jul 29, 2019
4
0
0
Also a few questions:

I am thinking of a way to spawn ores. It's very specific though...

Say you want to spawn a vein of a specific block type. We'll call this block type : block_A.
Now, block_A is spawned as a fractal, and has a high concentration of ores throughout.
So, within the json file, is it possible, or would it ever be possible to do this:

block_A can spawn through stone/dirt/gravel/air. Right?

What I want to do though, is have a block type called block_B be able to be generated on occurrences of block_A, and override stone/dirt/gravel/air, however, I don't want block_B to be generated on those blocks, only be spawned off of block_A.

So I guess the generator type could be called node? Where you pick block_A as the start point of a node, and block_B is the node.
With that being said, I think there should be a keyword/set of blocks as material to replace, and a keyword/set of blocks to not replace. Then maybe have a boolean for "replaceAir" and "replaceFluids"
or have the user specify which fluid/blocks only.

Without using the weight identifier. (like a separate generation sequence).

Also, within the json file, is there a format to be able to have 2 blocks within a block type array to have separate qualities?

For instance, I want a generation of gold and iron in the same generation sequence, but 40% gold and 60% iron, however, iron is allowed above 30 y and gold is only allowed below 40 y. They would mix between 30 and 40 y. (I'm not saying I would do this, just asking if this would work).

Make sense?

Also, underground generator type would be cool. Where you could specify ceiling/wall/floor sides at a certain height, or side stalagtites/veins that stick out of walls, and can also penetrate walls/caves. I would enjoy that :)
 
Last edited:

Demosthenex

New Member
Jul 29, 2019
772
0
0
@Demosthenex Sorry I didn't see this earlier.

I spent months on these tweaking them and getting it playing just right. Note that it's designed for Vanilla biome generation, and it mixes ores from vanilla, Thermal Expansion, Metallurgy, Galacticraft, AE2, Thaumcraft, and Tinker's Construct. All oregen in these mods is turned off in the mod and handled by my configs. I wanted to go vanilla for my 1.7.10 pack because it seemed appropriate. Ore generates based on the geological setting per biome, and in veins. I used my minor in geology and hours of research to try to get this as accurate I could within limitations of the Minecraft biomes. My modpack that this is part of is all about immersion. It's challenging until you figure out where to find what ore - I've enjoyed it enormously so far.

You seem to be going for realism as well, so I hope you can extrapolate some of what I did here into your pack. I'm basically giving you my baby, so you better check it out.

I'm planning our next server, and considering using your configs. Our last one was a "poor resource" world, with 25% or less of vanilla ore generation. The idea of biome specific veins sounds awesome! Do you have any notes or updates?
 

Tethlah

New Member
Jul 29, 2019
112
0
0
I'm planning our next server, and considering using your configs. Our last one was a "poor resource" world, with 25% or less of vanilla ore generation. The idea of biome specific veins sounds awesome! Do you have any notes or updates?

I'd be interested in this as well.
 

keybounce

New Member
Jul 29, 2019
1,925
0
0
@Demosthenex Sorry I didn't see this earlier.

I spent months on these tweaking them and getting it playing just right. Note that it's designed for Vanilla biome generation, and it mixes ores from vanilla, Thermal Expansion, Metallurgy, Galacticraft, AE2, Thaumcraft, and Tinker's Construct. All oregen in these mods is turned off in the mod and handled by my configs. I wanted to go vanilla for my 1.7.10 pack because it seemed appropriate. Ore generates based on the geological setting per biome, and in veins. I used my minor in geology and hours of research to try to get this as accurate I could within limitations of the Minecraft biomes. My modpack that this is part of is all about immersion. It's challenging until you figure out where to find what ore - I've enjoyed it enormously so far.

You seem to be going for realism as well, so I hope you can extrapolate some of what I did here into your pack. I'm basically giving you my baby, so you better check it out.

How does this differ from what either Sweden U's mod, or Geologica, are doing? It looks like there are now three different groups trying to do "realistic" ore placement, and I'm interested in knowing how they differ / what assumptions are made in each case.

Not super likely. The OreDictionary deals with ItemStacks, not blocks. The nonsense associated with a convoluted reverse lookup would be incredibly, amazingly slow.
So, the ore dictionary is all about equating one type of ingot with another, rather than equating the blocks that drop the ingots?

... Silly question from someone who doesn't know: Why not have a "blockCopper" or "oreCopper" in the same way you have an "ingotCopper", and use that for driving world placement of blocks?
 

Ikon106

New Member
Jul 29, 2019
14
0
1
This might be a stupid question, but if I write a new object with a certain oretype, it will replace the mod's original ore-gen right?
So f.e. if I made one for "Artifice:tile.artifice.marble" and just set numClusters to 0 there would be no generation of it, right? I know Artifice can make caves etc. of the stuff, but they would just be gone as well? (Unless I made a specific generator for caves using the new system?)
I know I chose a bad example because you can turn Artifice's generation off in it's configs, but if you left that on, in theory it would still work?
 

buggirlexpres

Relatable Gamer
Trusted User
Retired Staff
Nov 24, 2012
3,937
7,362
663
she/her
twitter.com
This might be a stupid question, but if I write a new object with a certain oretype, it will replace the mod's original ore-gen right?
So f.e. if I made one for "Artifice:tile.artifice.marble" and just set numClusters to 0 there would be no generation of it, right? I know Artifice can make caves etc. of the stuff, but they would just be gone as well? (Unless I made a specific generator for caves using the new system?)
I know I chose a bad example because you can turn Artifice's generation off in it's configs, but if you left that on, in theory it would still work?
It will not replace the original mod's oregen. You'll need to disable it in the main Artifice config, else it'll keep spawning.
 
  • Like
Reactions: Ikon106

Ikon106

New Member
Jul 29, 2019
14
0
1
It will not replace the original mod's oregen. You'll need to disable it in the main Artifice config, else it'll keep spawning.
Oh OK, good to know, thank you!
What about if you want to change a mod's oregen? Do you have to disable it in the mod's config, and add what you want in the Cofh-world files? Or will adding them be enough? (I'm guessing no.)
Changing the values for TE's and vanilla ores is enough for it to be changed right?
 

yorkeMC

New Member
Jul 29, 2019
1
0
0
If you want to add it to the spreadsheet, my mod (Tainted Magic) contains an ore. TaintedMagic:OreShadow
 

Mrdeadlocked

New Member
Jul 29, 2019
26
0
0
I'm trying to create some 'huge deposits' I have fractal large-vein working but cant g et the boulder type to work. What Am I Doing Wrong?

Code:
{

"redstone": {
        "template": {"type": "fractal", "generator": "large-vein", "sparse": false},
        "block": "redstone_ore",
        "material": "minecraft:stone",
        "clusterSize": 180,
        "numClusters": 1,
        "chunkChance": 60,
        "minHeight": 0,
        "maxHeight": 16,
        "veinHeight": 8,
        "veinDiameter": 90,
        "verticalDensity": 99,
        "horizontalDensity": 90,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]

},

"coal": {
        "template": {"type": "fractal", "generator": "boulder"},
        "block": "coal_ore",
        "material": "minecraft:stone",
        "clusterSize": 180,
        "numClusters": 1,
        "chunkChance": 1,
        "minHeight": 0,
        "maxHeight": 16,
        "veinHeight": 8,
        "veinDiameter": 90,
        "verticalDensity": 99,
        "horizontalDensity": 90,
    "sizeVariance": 2,
    "count": 3,
    "hollow": "false",
    "hollowSize": 0.1666,
    "hollowVar": 0.0,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]

}

}
 

tedyhere

New Member
Jul 29, 2019
1,286
0
0
@Gideonseymour Think you can lend a hand... trying to get Coal ore only spawning in Biomes o Plenty Volcano biomes.... sadly having no coal spawn at all...

Code:
 "coal": {
        "template": "uniform",
        "block": "coal_ore",
        "material": "stone",
        "clusterSize": 16,
        "numClusters": 20,
        "minHeight": 0,
        "maxHeight": 128,
        "retrogen": "true",
        "biomeRestriction": "whitelist",
        "biomes": [
            "Volcano"
        ],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },

What the deuce am I doing wrong? lol
 

buggirlexpres

Relatable Gamer
Trusted User
Retired Staff
Nov 24, 2012
3,937
7,362
663
she/her
twitter.com
@Gideonseymour Think you can lend a hand... trying to get Coal ore only spawning in Biomes o Plenty Volcano biomes.... sadly having no coal spawn at all...

Code:
 "coal": {
        "template": "uniform",
        "block": "coal_ore",
        "material": "stone",
        "clusterSize": 16,
        "numClusters": 20,
        "minHeight": 0,
        "maxHeight": 128,
        "retrogen": "true",
        "biomeRestriction": "whitelist",
        "biomes": [
            "Volcano"
        ],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
    },

What the deuce am I doing wrong? lol
Sometimes biomes might have a special name to prevent conflicts between mutiple biome-adding mods, such as highlands_mountains or something similar. Try popping into a world, finding a volcano, and hitting F3 to see what the biome's actual name is. Otherwise, the json looks stellar.