COFH World Generation User's Manual

Demosthenex

New Member
Jul 29, 2019
772
0
0
So I thought I would share two items from my recent worldgen!

First up, if you are using Underground Biomes to provide many different kinds of stone, you must change the materials setting on all ores. If you don't, ore will only spawn where vanilla stone is! Our world had an 80% reduction in resources as a result, and had to be recreated.

Code:
        "material": [
            {"name": "stone", "metadata": 0},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 0},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 1},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 2},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 3},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 4},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 5},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 6},
            {"name": "UndergroundBiomes:igneousStone", "metadata": 7},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 0},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 1},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 2},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 3},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 4},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 5},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 6},
            {"name": "UndergroundBiomes:metamorphicStone", "metadata": 7},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 0},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 1},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 2},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 3},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 4},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 5},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 6},
            {"name": "UndergroundBiomes:sedimentaryStone", "metadata": 7}
        ],

Second, it really helps to use WorldEdit to survey the result of ore generation. The '//distr' command is good at displaying a list, but you can also use WE to remove all the other blocks. With Forge Essentials installed you can run this server side as a batch job. I use Minecraft Server Manager on Linux, so here is the script:

Code:
SERVER=$(basename $(pwd))
msm $SERVER cmd doas TheServerOperatorLoggedIn //chunk
msm $SERVER cmd doas TheServerOperatorLoggedIn //outset 128
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  water           air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  lava            air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  796             air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  856             air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  857             air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  dirt            air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  grass           air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  stone           air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  sand            air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  sandstone       air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  gravel          air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  UndergroundBiomes:igneousStone     air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  UndergroundBiomes:metamorphicStone air
msm $SERVER cmd doas TheServerOperatorLoggedIn //replace  UndergroundBiomes:sedimentaryStone air
msm $SERVER cmd say oredit done

When done you have 17x17 chunks of empty air and ores floating!
 

SirChamomile

New Member
Jul 29, 2019
12
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.
 

Attachments

  • Tinker's Dilemma Oregen Configs.zip
    6.7 KB · Views: 129
  • Like
Reactions: Demosthenex

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.

That sounds fantastic! I've already rendered our 10k x 10k overworld for this iteration, but I'm totally going to give that a whirl on the next!
 
  • Like
Reactions: SirChamomile

TK_Neg

New Member
Jul 29, 2019
14
0
0
A question: I am currently trying to get railcraft ores working thru the world gen, and am having no luck with any of the Railcraft ores.
The error message is the same for all ores, just the 'entry: "Firestone"' changes with each one:
Code:
[08:27:42] [Client thread/ERROR] [CoFHWorld]: Invalid block entry!
[08:27:42] [Client thread/WARN] [CoFHWorld]: Template 'uniform' failed to parse its entry!
[08:27:42] [Client thread/ERROR] [CoFHWorld]: Error parsing generation entry: "Firestone" > Please check the parameters. It *may* be a duplicate.
the ore gen code:
Code:
  "Firestone": {
  "template": "uniform",
  "block": {"name": "railcraft:tile.railcraft.ore", "metadata": 5},
  "material": "minecraft:stone",
  "clusterSize": 18,
  "numClusters": 20,
  "minHeight": 0,
  "maxHeight": 255,
  "retrogen": "true",
  "biomeRestriction": "none",
  "biomes": [],
  "dimensionRestriction": "blacklist",
  "dimensions": [
  -1,
  1
  ],
     "enabled": true
  }
I've looked thru the NEI dump file for block data and tried those, I've looked thru the source codes of railcraft on github and tried those, and i've tried using the names pulled from the dense ores mod template(altered accordingly), all to no avail. AE2 Big Reactors, Tinkers Construct+Gravel ore, and Thermal Expansion work, but those aren't why I'm here. =.=
Any insight that can be offered as to what I'm doing wrong is greatly appreciated.

(edit: took off AE2 because i figured it out, but still havent got Railcraft working.)
 
Last edited:

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
What version of railcraft are you using. Recent update changed many of the block IDs (grrr!) by removing "tile.railcraft." from the ID (it was a bit pointless...). So you'd want just "railcraft:eek:re"
 

ooey_GUI_good

New Member
Jul 29, 2019
18
0
0
A question: I am currently trying to get railcraft ores working thru the world gen, and am having no luck with any of the Railcraft ores.
The error message is the same for all ores, just the 'entry: "Firestone"' changes with each one:
Code:
[08:27:42] [Client thread/ERROR] [CoFHWorld]: Invalid block entry!
[08:27:42] [Client thread/WARN] [CoFHWorld]: Template 'uniform' failed to parse its entry!
[08:27:42] [Client thread/ERROR] [CoFHWorld]: Error parsing generation entry: "Firestone" > Please check the parameters. It *may* be a duplicate.
the ore gen code:
Code:
  "Firestone": {
  "template": "uniform",
  "block": {"name": "railcraft:tile.railcraft.ore", "metadata": 5},
  "material": "minecraft:stone",
  "clusterSize": 18,
  "numClusters": 20,
  "minHeight": 0,
  "maxHeight": 255,
  "retrogen": "true",
  "biomeRestriction": "none",
  "biomes": [],
  "dimensionRestriction": "blacklist",
  "dimensions": [
  -1,
  1
  ],
     "enabled": true
  }
I've looked thru the NEI dump file for block data and tried those, I've looked thru the source codes of railcraft on github and tried those, and i've tried using the names pulled from the dense ores mod template(altered accordingly), all to no avail. AE2 Big Reactors, Tinkers Construct+Gravel ore, and Thermal Expansion work, but those aren't why I'm here. =.=
Any insight that can be offered as to what I'm doing wrong is greatly appreciated.

(edit: took off AE2 because i figured it out, but still havent got Railcraft working.)
Railcraft should be:
Code:
"block": {"name": "Railcraft:tile.railcraft.ore", "metadata": 5},
Yup, one capital letter... ;)
EDIT: and what Golrith said! :)
 

TK_Neg

New Member
Jul 29, 2019
14
0
0
What version of railcraft are you using. Recent update changed many of the block IDs (grrr!) by removing "tile.railcraft." from the ID (it was a bit pointless...). So you'd want just "railcraft:eek:re"
using Railcraft_1.7.10-9.5.0.0

Railcraft should be:
Code:
"block": {"name": "Railcraft:tile.railcraft.ore", "metadata": 5},
Yup, one capital letter... ;)
EDIT: and what Golrith said! :)

Code:
 "block": {"name": "Railcraft:ore", "metadata": 5},
I changed the line to the above, and that did the trick.
Thank you both for your help!
 

TK_Neg

New Member
Jul 29, 2019
14
0
0
Adding some relevant information in regards to the Metallurgy mod.
(Metallurgy-1.7.10-4.0.6.80, MetallurgyCore-1.7.10-4.0.4.18)

In the Metallurgy.cfg file near the very bottom, if you change the Sets values to false, it will throw errors during loading:
Code:
[08:27:42] [Client thread/ERROR] [CoFHWorld]: Invalid block entry!
[08:27:42] [Client thread/WARN] [CoFHWorld]: Template 'uniform' failed to parse its entry!
[08:27:42] [Client thread/ERROR] [CoFHWorld]: Error parsing generation entry: "Firestone" > Please check the parameters. It *may* be a duplicate.
Yes, I copypasted my first one because it's the same.

However, you can disable the Generators near the top and suffer no consequences. At least none that I've found yet.
Also, have some formatted "block" lines from the Metallurgy mod. I don't recall seeing it on the GDocs list.
Code:
Copper {"name": "Metallurgy:base.ore", "metadata": 0},
Tin {"name": "Metallurgy:base.ore", "metadata": 1},
Manganese {"name": "Metallurgy:base.ore", "metadata": 2},:
Eximite {"name": "Metallurgy:ender.ore", "metadata": 0},
Meutoite {"name": "Metallurgy:ender.ore", "metadata": 1},:
Promeyheum {"name": "Metallurgy:fantasy.ore", "metadata": 0},
Deep Iron {"name": "Metallurgy:fantasy.ore", "metadata": 1},
Infuscolium {"name": "Metallurgy:fantasy.ore", "metadata": 2},
Oureclase {"name": "Metallurgy:fantasy.ore", "metadata": 4},
Astral Silver {"name": "Metallurgy:fantasy.ore", "metadata": 5},
Carmot {"name": "Metallurgy:fantasy.ore", "metadata": 6},
Mithril {"name": "Metallurgy:fantasy.ore", "metadata": 7},
Rubracium {"name": "Metallurgy:fantasy.ore", "metadata": 8},
Orichalcum {"name": "Metallurgy:fantasy.ore", "metadata": 11},
Adamantine {"name": "Metallurgy:fantasy.ore", "metadata": 13},
Atlarus {"name": "Metallurgy:fantasy.ore", "metadata": 15},
Ignatius {"name": "Metallurgy:nether.ore", "metadata": 0},
Shadow Iron {"name": "Metallurgy:nether.ore", "metadata": 1},
Lemurite {"name": "Metallurgy:nether.ore", "metadata": 2},
Midasium {"name": "Metallurgy:nether.ore", "metadata": 3},
Vyroxeres {"name": "Metallurgy:nether.ore", "metadata": 4},
Ceruclase {"name": "Metallurgy:nether.ore", "metadata": 5},
Alduorite {"name": "Metallurgy:nether.ore", "metadata": 6},
Kalendrite {"name": "Metallurgy:nether.ore", "metadata": 7},
Vulcanite {"name": "Metallurgy:nether.ore", "metadata": 8},
Sanguinite {"name": "Metallurgy:nether.ore", "metadata": 9},
Zinc {"name": "Metallurgy:precious.ore", "metadata": 0},
Silver {"name": "Metallurgy:precious.ore", "metadata": 1},
Platinum {"name": "Metallurgy:precious.ore", "metadata": 2},
Sulfur {"name": "Metallurgy:utility.ore", "metadata": 0},
Phosphorite {"name": "Metallurgy:utility.ore", "metadata": 1},
Saltpeter {"name": "Metallurgy:utility.ore", "metadata": 2},
Magnesium {"name": "Metallurgy:utility.ore", "metadata": 3},
Bitumen {"name": "Metallurgy:utility.ore", "metadata": 4},
Hope this helps!
 

Xaethon

New Member
Jul 29, 2019
24
0
0
Seems like it's either ignoring the veinHeight, verticalDensity and horizontalDensity in large veins or I'm doing something wrong.
For some reason the code below looks the same as when I had veinHeight at 12, verticalDenisty at 4 and horizontalDensity at 20. Essentially just going for a larger "cluster" type thing.
Code:
},
    "tin": {
        "template": {"type": "fractal", "generator": "large-vein", "sparse": false},
        "block": {"name": "ThermalFoundation:Ore", "metadata": 1},
        "clusterSize": 120,
        "numClusters": 1,
        "chunkChance": 60,
        "minHeight": 16,
        "veinHeight": 6,
        "veinDiameter": 90,
        "verticalDensity": 99,
        "horizontalDensity": 90,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [
            "all"
        ],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            7,
            66,
            1
        ]

Always ends up looking something like this:
073e7ce663.png


Another example:
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
        ]

4f5245671a.png

Are my cluster sizes too large or something?
 
Last edited:

Xaethon

New Member
Jul 29, 2019
24
0
0
Tried, got pretty much the same result.
Code:
"redstone": {
        "template": {"type": "fractal", "generator": "large-vein", "sparse": false},
        "block": "redstone_ore",
        "material": "minecraft:stone",
        "clusterSize": 90,
        "numClusters": 1,
        "chunkChance": 60,
        "minHeight": 0,
        "maxHeight": 16,
        "veinHeight": 8,
        "veinDiameter": 12,
        "verticalDensity": 99,
        "horizontalDensity": 90,
        "retrogen": "true",
        "biomeRestriction": "none",
        "biomes": [],
        "dimensionRestriction": "blacklist",
        "dimensions": [
            -1,
            1
        ]
d146c293d9.png


Essentially going for something like this from the cluster generator, but much larger. (Like gregtech type ore veins).
44ae49af6f.png


Anyone been able to achieve this and what numbers would you suggest to recreate it?
 

SirChamomile

New Member
Jul 29, 2019
12
0
0
@Xaethon If I understand correctly, your intent is to generate very large solid clumps of a mineral underground? If this is true, I think that perhaps you will not be successful if generating a structure like that with the fractal algorithm. If you look at how fractal generation is coded, there are certain hard limits on the code that won't allow for certain things such as smooth edges on a very large vein of ore.

The idea of generating a clump with the fractal generator sort of undermines the purpose of fractal generation. The fractal generator was created to better represent real world ore veins where a mineral crystalizes along intrusive tendrils etc. Getting it to generate without these tendrils is impossible.

Perhaps try using something like the geode generator and simply fill in the core with more of your ore? I don't really think CoFH World Gen was coded with your particular idea in mind.
 

Piron1991

New Member
Jul 29, 2019
5
0
0
heya all, i have something small that i want to share with those interested in making template generating a bit easier/faster. its a parser/generator for COFHCore/DenseOres/PoorOres config files from 1 file that generate "defaults".
i've made it because i got a bit daunted with amount of work i had to do with "copy/paste" and probable errors i could do in my private pack so yea, that script/app born
In spoiler below is straight copy/paste of readme included in zip file below, for those that want to know what or how i do it in a bit more detail.

This code allow to create a mostly functional config file for each block included in list.txt for COFHCore by COFHTeam, DenseOresMod by RWTema and PoorOresMod by Vexrath.


relevant links as of 7/3/2015
Poor Ores:http://www.curse.com/mc-mods/minecraft/224492-poorores
Dense Ores:http://www.curse.com/mc-mods/minecraft/224942-dense-ores
CofhCore:http://www.curse.com/mc-mods/minecraft/cofhcore
require COFHLib:http://www.curse.com/mc-mods/minecraft/cofhlib


----USE aka HOWTO----

To use this code create or open file "list.txt" in folder "lists" and edit basic info needed to generate config files. Each line should contain type of generation, generator, name in brackets(aka"[]"), ore block in "<>" and define if it should generate poor ore and dense ore. finished line should look like that(without quotes):
"type generator [name] <modid:name:metaID> isPoor isDense burnTime"
Each element is separated with space.
isPoor can be set to 3 values:
true if it should generate dust for ore
false if it shouldnt generate dust for ore
none if poor ore should be ommited completly
isDense can be set to 2 values:
true if dense ore should be created
false if dense ore shouldnt be created

Eg. string for coal ore will look like that:
uniform cluster [Coal Ore] <minecraft:coal_ore> coal_ore none true

while MetallurgyMod Prometheum looks like that:
fractal large-vein [Prometheum Ore] <Metallurgy:fantasy.ore> fantasy/prometheum_ore true true

(more eg. are added in default list.txt)

After supplying all info just run start.cmd on Windows or get lua binaries on linux and call from terminal "lua oreGenerator.lua" to create normalOre.json, denseores.cfg and poorOres.cfg all listed in folder "lists". After that whats left is editing some values in .json as would normally be done when creating ore generation for COFHCore.
(for concerned, start.cmd just run lua script with lua interpreter in bin folder)

----NOTES----

1. Text in files is generated with as much defaults as posible while keeping valid json/cfg structures for mods, that means outside adding some numbers or blocks here and there all should work (almost) out of the box. I've choosen that type of generation to make as small strings as posible and limit number of errors that could show up when working with so many variables. It would be just calling for problems. That said tho it is possible to do if someone wants to expand on it.
2.For now it doesn't support multiple block entries etc.
3.Some entries for generator/type might be in wrong place or in difrent line than expected. I didnt checked where exacly each entry should be, and with way i generate file dont be suprised with finding "clusterSize" under dimension list.
4.Poor ores mod is a bit fiddly with its generation code, it might happen that even when supplying proper sources for textures it cant find them or for some reason stop reading entries in config file completly. it is not my fault as i could use default values and achieve same "no ores in ores{}" effect
5.ATM code check for 2 things: if file "list.txt"exists and if it holds any entries, both throwing (hopefully) understandable errors and stacktraces
6.In case someone ask "Why lua?" 2 reasons: im more familiar with it than with java(which i know it could probably do better, as any language with more advanced string methods) and ease of editing

----TODO(maybe)---
All generator and type entries are hardcoded and should get into relevant tables to allow easy expansion when COFHCore adds new modifiers
Allow multiple blocks registering in 1 block and add ability to include poor/dense ores into them(reference for how both mods register their blocks:"<PoorOres:poor_..name.._ore> <denseores:block..i..:meta>" dense ores is tricky to predict proper block references)
Overall cleaning of that mess i made
----LICENCE----

Copyright (c) 2015 Piron1991


Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Link: https://www.dropbox.com/s/6geyhkz9dw4ja42/oreCreator0.1.zip?dl=0

Hope any1 will find it as usefull as i had:)
 
  • Like
Reactions: Golrith

greenking13

New Member
Jul 29, 2019
20
0
0
Does anybody know if this overrides galacticraft
# If this is enabled, other mods' standard ores and all other features (eg. plants) can generate on the Moon and planets.
setting? I am trying to make sure that certain ores generate on various planets, but not the whole enchilada.
 

Dahjin

New Member
Jul 29, 2019
3
0
0
Code:
{
   
    {"name": "ironvein", "weight": 50},
    {"name": "coppervein", "weight": 50},
   
   
   
   
    "ironvein": {
        "template": {"type": "fractal", "generator": "large-vein", "sparse": false},
        "block": [
            {"name": "minecraft:iron_ore", "metadata": 0, "weight": 77},
            {"name": "PoorOres:poor_iron_ore", "metadata": 0, "weight": 9},
            {"name": "ThermalFoundation:Ore", "metadata": 4, "weight": 14}
        ],
        "clusterSize": 25,
        "numClusters": 2,
        "chunkChance": 36,
        "minHeight": 20,
        "maxHeight": 54,
        "veinHeight": 18,
        "veinDiameter": 12,
        "verticalDensity": 40,
        "horizontalDensity": 120,
        "retrogen": "true",
        "biomeRestriction": "blacklist",
        "biomes": [   
             -1,
            1
           
        ],
        "dimensionRestriction": "whitelist",
        "dimensions": [
            0
        ]
},
    "coppervein": {
        "template": {"type": "fractal", "generator": "large-vein", "sparse": false},
        "block": [
            {"name": "ThermalFoundation:Ore", "metadata": 0, "weight": 77},
            {"name": "PoorOres:poor_iron_ore", "metadata": 0, "weight": 9},
            {"name": "ThermalFoundation:Ore", "metadata": 4, "weight": 14}
        ],
        "clusterSize": 25,
        "numClusters": 2,
        "chunkChance": 36,
        "minHeight": 20,
        "maxHeight": 54,
        "veinHeight": 18,
        "veinDiameter": 12,
        "verticalDensity": 40,
        "horizontalDensity": 120,
        "retrogen": "true",
        "biomeRestriction": "blacklist",
        "biomes": [   
             -1,
            1
           
        ],
        "dimensionRestriction": "whitelist",
        "dimensions": [
            0
        ]
    }
}

How would i get something like this to work where it does one vein or the other?