diff --git a/IrisAxisRotationClamp.md b/IrisAxisRotationClamp.md new file mode 100644 index 00000000..493475cb --- /dev/null +++ b/IrisAxisRotationClamp.md @@ -0,0 +1,23 @@ +# IrisAxisRotationClamp +> Represents a rotation axis with intervals and maxes +```json +{ + "min": 0, + "max": 0, + "interval": 0, + "enabled": false +} +``` + +## enabled +> Should this axis be rotated at all? + +## min +> The minimum angle (from) or set this and max to zero for any angle degrees + +## max +> The maximum angle (to) or set this and min to zero for any angle degrees + +## interval +> Iris spins the axis but not freely. For example an interval of 90 would mean 4 possible angles (right angles) degrees + diff --git a/IrisBiome.md b/IrisBiome.md new file mode 100644 index 00000000..0e292e69 --- /dev/null +++ b/IrisBiome.md @@ -0,0 +1,65 @@ +# IrisBiome +> Represents a biome in iris. +```json +{ + "biomeSkyScatter": [], + "children": [], + "decorators": [], + "objects": [], + "name": "A Biome", + "biomeZoom": 1, + "layers": [{ + "minHeight": 1, + "terrainZoom": 5, + "maxHeight": 1, + "palette": ["GRASS_BLOCK"], + "dispersion": "SCATTER" + }], + "generators": [{ + "min": 0, + "max": 0, + "generator": "default" + }], + "childShrinkFactor": 1.5, + "biomeDispersion": "SCATTER", + "derivative": "THE_VOID", + "biomeScatter": [] +} +``` + +## name +> This is the human readable name for this biome. This can and should be different than the file name. This is not used for loading biomes in other objects. + +## biomeDispersion +> This changes the dispersion of the biome colors if multiple derivatives are chosen + +## biomeZoom +> This zooms in the biome colors if multiple derivatives are chosen + +## derivative +> The raw derivative of this biome. This is required or the terrain will not properly generate. Use any vanilla biome type. Look in examples/biome-list.txt + +## biomeScatter +> You can instead specify multiple biome derivatives to randomly scatter colors in this biome + +## biomeSkyScatter +> Since 1.13 supports 3D biomes, you can add different derivative colors for anything above the terrain. (Think swampy tree leaves with a desert looking grass surface) + +## childShrinkFactor +> If this biome has children biomes, and the gen layer chooses one of this biomes children, how much smaller will it be (inside of this biome). Higher values means a smaller biome relative to this biome's size. Set higher than 1.0 and below 3.0 for best results. + +## children +> List any biome names (file names without.json) here as children. Portions of this biome can sometimes morph into their children. Iris supports cyclic relationships such as A > B > A > B. Iris will stop checking 9 biomes down the tree. + +## layers +> This defines the layers of materials in this biome. Each layer has a palette and min/max height and some other properties. Usually a grassy/sandy layer then a dirt layer then a stone layer. Iris will fill in the remaining blocks below your layers with stone. + +## decorators +> Decorators are used for things like tall grass, bisected flowers, and even kelp or cactus (random heights) + +## objects +> Objects define what schematics (iob files) iris will place in this biome + +## generators +> Generators for this biome. Multiple generators with different interpolation sizes will mix with other biomes how you would expect. This defines your biome height relative to the fluid height. Use negative for oceans. + diff --git a/IrisBiomeDecorator.md b/IrisBiomeDecorator.md new file mode 100644 index 00000000..ee4c3080 --- /dev/null +++ b/IrisBiomeDecorator.md @@ -0,0 +1,43 @@ +# IrisBiomeDecorator +> A biome decorator is used for placing flowers, grass, cacti and so on +```json +{ + "verticalZoom": 1, + "chance": 0.1, + "variance": "SCATTER", + "verticalVariance": "SCATTER", + "stackMax": 1, + "zoom": 1, + "palette": ["GRASS"], + "dispersion": "SCATTER", + "stackMin": 1 +} +``` + +## variance +> The varience dispersion is used when multiple blocks are put in the palette. Scatter scrambles them, Wispy shows streak-looking varience + +## dispersion +> Dispersion is used to pick places to spawn. Scatter randomly places them (vanilla) or Wispy for a streak like patch system. + +## verticalVariance +> If this decorator has a height more than 1 this changes how it picks the height between your maxes. Scatter = random, Wispy = wavy heights + +## stackMin +> The minimum repeat stack height (setting to 3 would stack 3 of on top of each other + +## stackMax +> The maximum repeat stack height + +## zoom +> The zoom is for zooming in or out wispy dispersions. Makes patches bigger the higher this zoom value is/ + +## verticalZoom +> The vertical zoom is for wispy stack heights. Zooming this in makes stack heights more slowly change over a distance + +## chance +> The chance for this decorator to decorate at a given X,Y coordinate. This is hit 256 times per chunk (per surface block) + +## palette +> The palette of blocks to pick from when this decorator needs to place. + diff --git a/IrisBiomeGeneratorLink.md b/IrisBiomeGeneratorLink.md new file mode 100644 index 00000000..230475ae --- /dev/null +++ b/IrisBiomeGeneratorLink.md @@ -0,0 +1,19 @@ +# IrisBiomeGeneratorLink +> This represents a link to a generator for a biome +```json +{ + "min": 0, + "max": 0, + "generator": "default" +} +``` + +## generator +> The generator id + +## min +> The min block value (value + fluidHeight) + +## max +> The max block value (value + fluidHeight) + diff --git a/IrisBiomePaletteLayer.md b/IrisBiomePaletteLayer.md new file mode 100644 index 00000000..4e09c76a --- /dev/null +++ b/IrisBiomePaletteLayer.md @@ -0,0 +1,27 @@ +# IrisBiomePaletteLayer +> A layer of surface / subsurface material in biomes +```json +{ + "minHeight": 1, + "terrainZoom": 5, + "maxHeight": 1, + "palette": ["GRASS_BLOCK"], + "dispersion": "SCATTER" +} +``` + +## dispersion +> The dispersion of materials from the palette + +## minHeight +> The min thickness of this layer + +## maxHeight +> The max thickness of this layer + +## terrainZoom +> The terrain zoom mostly for zooming in on a wispy palette + +## palette +> The palette of blocks to be used in this layer + diff --git a/IrisDimension.md b/IrisDimension.md new file mode 100644 index 00000000..0943275b --- /dev/null +++ b/IrisDimension.md @@ -0,0 +1,87 @@ +# IrisDimension +> Represents a dimension +```json +{ + "landZoom": 1, + "regions": [], + "seaZoom": 1, + "biomeZoom": 5, + "interpolationScale": 63, + "focus": "", + "placeObjects": true, + "shoreZoom": 1, + "continentZoom": 1, + "roughnessZoom": 2, + "interpolationFunction": "BICUBIC", + "environment": "NORMAL", + "terrainZoom": 2, + "roughnessHeight": 3, + "coordFractureZoom": 8, + "name": "A Dimension", + "fluidHeight": 63, + "dimensionAngleDeg": 0, + "regionZoom": 1, + "coordFractureDistance": 20 +} +``` + +## name +> The human readable name of this dimension + +## interpolationFunction +> The interpolation function for splicing noise maxes together + +## interpolationScale +> The interpolation distance scale. Increase = more smooth, less detail + +## environment +> The world environment + +## regions +> Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc + +## fluidHeight +> The fluid height for this dimension + +## focus +> Keep this either undefined or empty. Setting any biome name into this will force iris to only generate the specified biome. Great for testing. + +## biomeZoom +> Zoom in or out the biome size. Higher = bigger biomes + +## terrainZoom +> Zoom in or out the terrain. This stretches the terrain. Due to performance improvements, Higher than 2.0 may cause weird rounding artifacts. Lower = more terrain changes per block. Its a true zoom-out. + +## dimensionAngleDeg +> You can rotate the input coordinates by an angle. This can make terrain appear more natural (less sharp corners and lines). This literally rotates the entire dimension by an angle. Hint: Try 12 degrees or something not on a 90 or 45 degree angle. + +## roughnessZoom +> Iris adds a few roughness filters to noise. Increasing this smooths it out. Decreasing this makes it bumpier/scratchy + +## roughnessHeight +> The height of the roughness filters + +## coordFractureDistance +> Coordinate fracturing applies noise to the input coordinates. This creates the 'iris swirls' and wavy features. The distance pushes these waves further into places they shouldnt be. This is a block value multiplier. + +## coordFractureZoom +> Coordinate fracturing zoom. Higher = less frequent warping, Lower = more frequent and rapid warping / swirls. + +## landZoom +> This zooms in the land space + +## shoreZoom +> This can zoom the shores + +## seaZoom +> This zooms oceanic biomes + +## continentZoom +> Zoom in continents + +## regionZoom +> Change the size of regions + +## placeObjects +> Disable this to stop placing schematics in biomes + diff --git a/IrisGenerator.md b/IrisGenerator.md new file mode 100644 index 00000000..8cfd44e7 --- /dev/null +++ b/IrisGenerator.md @@ -0,0 +1,39 @@ +# IrisGenerator +> Represents a composite generator of noise gens +```json +{ + "offsetX": 0, + "offsetZ": 0, + "interpolationFunction": "BICUBIC", + "seed": 1, + "composite": [], + "interpolationScale": 7, + "zoom": 1, + "opacity": 1 +} +``` + +## zoom +> The zoom or frequency. + +## opacity +> The opacity, essentially a multiplier on the output. + +## offsetX +> The offset to shift this noise x + +## offsetZ +> The offset to shift this noise z + +## seed +> The seed for this generator + +## interpolationFunction +> The interpolation method when two biomes use different heights but this same generator + +## interpolationScale +> The interpolation distance scale (blocks) when two biomes use different heights but this same generator + +## composite +> The list of noise gens this gen contains. + diff --git a/IrisNoiseGenerator.md b/IrisNoiseGenerator.md new file mode 100644 index 00000000..ac4f685b --- /dev/null +++ b/IrisNoiseGenerator.md @@ -0,0 +1,63 @@ +# IrisNoiseGenerator +> A noise generator +```json +{ + "sinCentered": false, + "seed": 0, + "parametric": false, + "zoom": 1, + "enabled": true, + "fracture": [], + "offsetX": 0, + "octaves": 1, + "offsetZ": 0, + "offsetY": 0, + "irisBased": true, + "opacity": 1, + "bezier": false, + "exponent": 1 +} +``` + +## zoom +> The coordinate input zoom + +## opacity +> The output multiplier + +## offsetX +> Coordinate offset x + +## offsetY +> Height output offset y + +## offsetZ +> Coordinate offset z + +## seed +> The seed + +## parametric +> Apply a parametric curve on the output + +## bezier +> Apply a bezier curve on the output + +## sinCentered +> Apply a sin-center curve on the output (0, and 1 = 0 and 0.5 = 1.0 using a sinoid shape.) + +## exponent +> The exponent noise^EXPONENT + +## enabled +> Enable / disable. Outputs offsetY if disabled + +## irisBased +> If this generator uses the default iris swirly/wispy noise generator. Set to false for pure simplex. + +## octaves +> Multiple octaves for multple generators of changing zooms added together + +## fracture +> Apply a child noise generator to fracture the input coordinates of this generator + diff --git a/IrisObjectRotation.md b/IrisObjectRotation.md new file mode 100644 index 00000000..d6b013fd --- /dev/null +++ b/IrisObjectRotation.md @@ -0,0 +1,38 @@ +# IrisObjectRotation +> Configures rotation for iris +```json +{ + "yAxis": { + "min": 0, + "max": 0, + "interval": 90, + "enabled": true + }, + "xAxis": { + "min": 0, + "max": 0, + "interval": 0, + "enabled": false + }, + "zAxis": { + "min": 0, + "max": 0, + "interval": 0, + "enabled": false + }, + "enabled": true +} +``` + +## enabled +> If this rotator is enabled or not + +## xAxis +> The x axis rotation + +## yAxis +> The y axis rotation + +## zAxis +> The z axis rotation + diff --git a/IrisObjectTranslate.md b/IrisObjectTranslate.md new file mode 100644 index 00000000..711ff879 --- /dev/null +++ b/IrisObjectTranslate.md @@ -0,0 +1,19 @@ +# IrisObjectTranslate +> Translate objects +```json +{ + "x": 0, + "y": 0, + "z": 0 +} +``` + +## x +> The x shift in blocks + +## y +> The x shift in blocks + +## z +> The x shift in blocks + diff --git a/IrisRegion.md b/IrisRegion.md new file mode 100644 index 00000000..7c977bec --- /dev/null +++ b/IrisRegion.md @@ -0,0 +1,51 @@ +# IrisRegion +> Represents an iris region +```json +{ + "shoreRatio": 0.13, + "ridgeBiomes": [], + "shoreHeightMin": 1.2, + "shoreBiomes": [], + "name": "A Region", + "shoreHeightMax": 3.2, + "spotBiomes": [], + "landBiomes": [], + "shoreHeightZoom": 3.14, + "biomeImplosionRatio": 0.4, + "seaBiomes": [] +} +``` + +## name +> The name of the region + +## shoreRatio +> The shore ration (How much percent of land should be a shore) + +## shoreHeightMin +> The min shore height + +## shoreHeightMax +> The the max shore height + +## shoreHeightZoom +> The varience of the shore height + +## biomeImplosionRatio +> The biome implosion ratio, how much to implode biomes into children (chance) + +## landBiomes +> A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents. + +## seaBiomes +> A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents. + +## shoreBiomes +> A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents. + +## ridgeBiomes +> Ridge biomes create a vein-like network like rivers through this region + +## spotBiomes +> Spot biomes splotch themselves across this region like lakes + diff --git a/IrisRegionRidge.md b/IrisRegionRidge.md new file mode 100644 index 00000000..7db4ee19 --- /dev/null +++ b/IrisRegionRidge.md @@ -0,0 +1,38 @@ +# IrisRegionRidge +> A ridge config +```json +{ + "chance": 0.75, + "thickness": 0.125, + "scale": 5, + "type": "LAND", + "shuffle": 16, + "chanceShuffle": 128, + "chanceScale": 4 +} +``` + +## biome +> The biome name + +## type +> The type this biome should override (land sea or shore) + +## chance +> The chance this biome will be placed in a given spot + +## scale +> The scale of the biome ridge. Higher values = wider veins & bigger connected cells + +## chanceScale +> The chance scale (cell chances) + +## shuffle +> The shuffle, how 'natural' this looks. Compared to pure polygons + +## chanceShuffle +> The chance shuffle (polygon cell chances) + +## thickness +> The thickness of the vein + diff --git a/IrisRegionSpot.md b/IrisRegionSpot.md new file mode 100644 index 00000000..a8e97348 --- /dev/null +++ b/IrisRegionSpot.md @@ -0,0 +1,26 @@ +# IrisRegionSpot +> A spot config +```json +{ + "scale": 1, + "type": "LAND", + "shuffle": 128, + "rarity": 1 +} +``` + +## biome +> The biome to be placed + +## type +> Where this spot overrides. Land sea or shore + +## scale +> The scale of splotches + +## rarity +> Rarity is how often this splotch appears. higher = less often + +## shuffle +> The shuffle or how natural the splotch looks like (anti-polygon) + diff --git a/core.generators/generators/plain.json b/core.generators/generators/plain.json index 272aa04d..61e6dee9 100644 --- a/core.generators/generators/plain.json +++ b/core.generators/generators/plain.json @@ -2,7 +2,7 @@ "offsetX": 0, "offsetZ": 0, "interpolationFunction": "HERMITE", - "interpolationScale": 248, + "interpolationScale": 272, "seed": 7246661, "composite": [{ "sinCentered": false, diff --git a/core.generators/iris.json b/core.generators/iris.json deleted file mode 100644 index b84dea31..00000000 --- a/core.generators/iris.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "interpolationFunction": "BICUBIC", - "interpolationScale": 31, - "seed": 1, - "composite": [ - { - "irisBased": true, - "seed": 1337 - } - ] -} \ No newline at end of file diff --git a/dev.brian/biomes/beach.json b/dev.brian/biomes/beach.json index 4ee13e79..1e236d12 100644 --- a/dev.brian/biomes/beach.json +++ b/dev.brian/biomes/beach.json @@ -20,7 +20,7 @@ { "generator": "plain", "min": -1, - "max": 1 + "max": -1 } ], "derivative": "JUNGLE_EDGE" diff --git a/dev.brian/biomes/land.json b/dev.brian/biomes/land.json index 5fec8278..53a90f7d 100644 --- a/dev.brian/biomes/land.json +++ b/dev.brian/biomes/land.json @@ -19,13 +19,8 @@ "generators":[ { "generator": "plain", - "min": 11, - "max": 17 - }, - { - "generator": "plainsh", - "min": 11, - "max": 17 + "min": 12, + "max": 12 } ], "derivative": "JUNGLE_EDGE" diff --git a/dev.brian/biomes/ocean.json b/dev.brian/biomes/ocean.json index aa54de10..155016bf 100644 --- a/dev.brian/biomes/ocean.json +++ b/dev.brian/biomes/ocean.json @@ -5,7 +5,7 @@ "minHeight": 3, "maxHeight": 6, "palette": [ - "SAND" + "EMERALD_BLOCK" ] }, { @@ -20,7 +20,7 @@ { "generator": "plain", "min": -8, - "max": -5 + "max": -8 } ], "derivative": "OCEAN" diff --git a/dev.brian/biomes/ridge.json b/dev.brian/biomes/ridge.json deleted file mode 100644 index aac5042c..00000000 --- a/dev.brian/biomes/ridge.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "Ridge", - "layers": [ - { - "minHeight": 3, - "maxHeight": 6, - "palette": [ - "DIAMOND_BLOCK" - ] - }, - { - "minHeight": 1, - "maxHeight": 3, - "palette": [ - "DIRT" - ] - } - ], - "generators":[ - { - "generator": "plainsh", - "min": -10, - "max": -20 - } - ], - "derivative": "JUNGLE_EDGE" -} \ No newline at end of file diff --git a/dev.brian/biomes/spot.json b/dev.brian/biomes/spot.json deleted file mode 100644 index bf76ac57..00000000 --- a/dev.brian/biomes/spot.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "Spot", - "layers": [ - { - "minHeight": 3, - "maxHeight": 6, - "palette": [ - "GOLD_BLOCK" - ] - }, - { - "minHeight": 1, - "maxHeight": 3, - "palette": [ - "DIRT" - ] - } - ], - "generators":[ - { - "generator": "plainsh", - "min": 2, - "max": 5 - } - ], - "derivative": "JUNGLE_EDGE" -} \ No newline at end of file diff --git a/dev.brian/regions/brian.json b/dev.brian/regions/brian.json index 16854380..81588648 100644 --- a/dev.brian/regions/brian.json +++ b/dev.brian/regions/brian.json @@ -10,26 +10,5 @@ ], "shoreBiomes": [ "beach" - ], - "ridgeBiomes": [ - { - "biome": "ridge", - "type": "LAND", - "scale": 0.18, - "chance": 0.95, - "thickness": 0.09, - "chanceScale": 0.1, - "chanceShuffle": 128, - "shuffle": 8 - } - ], - "spotBiomes": [ - { - "biome": "spot", - "type": "LAND", - "scale": 4, - "rarity": 12, - "shuffle": 128 - } ] } \ No newline at end of file diff --git a/iris.overworld.swamp/biomes/swamp-roofed.json b/iris.overworld.swamp/biomes/swamp-roofed.json index 3482b880..199dbb5f 100644 --- a/iris.overworld.swamp/biomes/swamp-roofed.json +++ b/iris.overworld.swamp/biomes/swamp-roofed.json @@ -38,7 +38,7 @@ ], "objects": [ { - "chance": 2.9, + "chance": 0.7, "density": 1, "rotation": { "yAxis": { @@ -152,7 +152,7 @@ { "zoom": 0.3, "chance": 0.45, - "palette": ["GRASS", "DEAD_BUSH"], + "palette": ["GRASS"], "dispersion": "SCATTER", "variance": "SCATTER" }