{
  "Description": "General settings for various parts of stream generation.",
  "MaxStreamLength": 11,
  "MaxStreamLengthDescription": "The primary setting for performance.<br>Maximum possible length for a stream in small (32x32) and large (64x64) chunks.<br>A 10 chunk long stream would be 640 blocks long if it is a large scale stream, and 320 blocks long if it is small scale.<br>The size of the watershed model that generates around you increases exponentially with the max stream length.<br>A max length below 10 will have world generation speed at almost the same speed as basegame.<br>A max length above 20 will leave you waiting for chunks to generate.<br>This also has diminishing returns on what you get, as terrain that can support long rivers is rare unless you scale up the terrain in the basegame's world settings.<br>Large scale streams with a max stream length of 15 chunks will cover almost all stream-suitable slope paths you'll find. At that length on a good CPU & render distance you could continually travel without catching up to generating chunks.<br>If you want a max length above 15 make sure you have a good CPU or you're playing on a dedicated server.<br>Gets pretty crazy above stream length 21, later i'll make a preset for very long streams.",
  "MinStreamLength": 7,
  "MinStreamLengthDescription": "Minimum stream length in small (32x32) and large (64x64) chunks. Streams shorter than this are discarded.",
  "StreamScalingAnchorLength": 26,
  "StreamScalingAnchorLengthDescription": "Reference stream length (in chunks) at which width/depth values are applied.<br>Streams scale proportionally relative to this.<br>For instance, if you set the StreamBedWidthAtAnchor config to 60, the stream bed will be 60 blocks wide on the 26th chunk downstream from the stream's source.<br>And if the MinimumBedWidth is 30, the stream bed will be 45 blocks wide on the 13th chunk downstream (halfway to the anchor) from the source.",
  "StreamTerrainInfluenceRadius": 5,
  "StreamTerrainInfluenceRadiusDescription": "Distance (in chunks) that streams affect surrounding terrain.<br>Must be large enough to cover the stream's full valley width, so increase this if you increase the width of streams a large amount.",
  "Tributary": {
    "MinimumLength": 4,
    "MinimumLengthDescription": "Minimum tributary length in small (32x32) and large (64x64) chunks. Tributaries shorter than this are discarded.",
    "MergeDownstreamOffset": 5.0,
    "MergeDownstreamOffsetDescription": "How far tributaries curve downstream the main stream when joining the main stream.<br>The unit for this is curve points, the spacing between them on a stream path is defined by \"Curve Point Spacing\" in Stream Mapping.",
    "MainStreamProximityThreshold": 7.0,
    "MainStreamProximityThresholdDescription": "Distance threshold (multiplier on tributary width at each curve point) from the main stream for deciding when to truncate tributaries that get too close to the main stream, and reconnecting them at the conflict/intersection.",
    "EnableLookahead": true,
    "EnableLookaheadDescription": "Whether tributaries use lookahead pathing over greedy pathing."
  },
  "TributaryDescription": "Configuration for tributary generation including minimum length, merge behavior, and pathing options.",
  "BendPool": {
    "Enabled": true,
    "EnabledDescription": "Enable bend pool effect. Curved sections of streams are carved deeper, creating pools.",
    "MaxDepthBoost": 8.0,
    "MaxDepthBoostDescription": "Maximum extra block depth that gets carved in curved stream sections.<br>Straight sections get no extra depth. The boost is scaled by the magnitude of the stream's curvature in each area.<br>3.0 means the most curved sections can be up to 3 blocks deeper than normal.",
    "CurvatureThreshold": 0.06,
    "CurvatureThresholdDescription": "Curvature magnitude threshold for determining if a section of a stream is curving.<br>This is used to create pools in curved areas.<br>Values above this threshold are considered curved, below are straight.<br>Lower values make more areas of the stream count as curved, which makes bigger and longer pools at the stream's curves.",
    "SmoothingWindow": 20,
    "SmoothingWindowDescription": "Number of curve points to average out when smoothing curvature for the bend pools.<br>Also softens out outlier/tiny bumps so you don't get pools in straight areas.",
    "LookAroundDistance": 16,
    "LookAroundDistanceDescription": "Number of curve points to look ahead/behind when calculating curvature.<br>A higher LookAroundDistance detects bigger curves, and lower detects tighter local bends."
  },
  "BendPoolDescription": "Configuration for bend pool effect where curved sections of streams are carved deeper, creating pools."
}