--- layout: article title: "Config" date: 2016-10-23 10:17:42 -0400 mod: large-veins mod-name: Large Veins --- Large Veins uses a JSON configuration file allowing users or modpack developers to modify the minimum/maximum Y coordinate the large vein can spawn at, the size of the large vein, and the chance the large vein has to spawn (higher number is more rare), and even add their own large veins. The default configuration file for Vanilla only can be found [here](https://gist.github.com/shadowfacts/d642720f2404d08a0aab6e3768fe3f51) and the configuration file with Vanilla and all the included mod support (Actually Additions and Substratum) can be found [here](https://gist.github.com/shadowfacts/be89f1ccde9c1b061f8daffccdbc76da). Each child of the top level object is an array of vein types. The key for each array of vein types should be a string containing the dimension they should spawn in (e.g. `"0"` is the key for the overworld array and `"-1"` is the key for the nether array). Each element of the array is an entry for a vein type. Each vein type has several properties: - `ore`: The ore blockstate (e.g. coal ore, see [Blockstate Representation](#blockstates)) - `toReplace`: The blockstate to replace in the world (e.g. stone, see [Blockstate Representation](#blockstates)) - `minY`: The minimum Y level that the ore can generate at. - `maxY`: The maximum Y level that the ore can generate at. - `size`: The size of the ore vein. (**Note:** This is _not_ the number of blocks that will generate in the vein) - `chance`: The chance that the large vein will generate in a given chunk (`1/chance`% chance per chunk). The higher the `chance` number, the less often the ore will generate.

Blockstate Representation

Both the `ore` and `toReplace` properties of each vein type are blockstates. They contain two sub-properties: - `id`: The ID of the block in the form of `modid:name` - `state`: An object containing all the properties of the blockstate. These properties can be seen by using F3 to open the debug menu and looking a the block you want. The properties will appear below the ID of the block. If there are no properties displayed, the `state` property should be an empty object.