Skip to content

Releases: Apollounknowndev/lithostitched

Biome Layout Beta 2

18 Feb 23:18

Choose a tag to compare

Biome Layout Beta 2 Pre-release
Pre-release

This beta brings the bulk of the biome layout injection system. It includes 4 distinct types of injectors, a density-function driven region system, and a fast_noise density function type.

This update + the current 1.5.8 beta will be merged into Lithostitched 1.6.0, which I plan to release next month before the release of 26.1.

Biome Injectors

The format is completely different now. All injectors have a type field and an optional priority field (default value of 1000).
The type can be one of the following:

  • add_points: Directly appends parameter points into the base biome layout.
    • points: A list of parameter objects, identical in format to dimension files.
  • force_placement: Forces a biome to place if certain conditions are met (the beta 1 injector behaviour).
    • parameters: A map of density function ids or hardcoded climate names to a range of accepted values.
    • region: An optional identifier of the required region, explained later.
  • replace_fully: Fully swap out a biome.
    • targets: The target biome set.
    • replacement: The replacement biome.
  • replace_partially: Swap out a biome based on certain conditions.
    • targets: The target biome set.
    • replacement: The replacement biome.
    • parameters: A map of density function ids or hardcoded climate names to a range of accepted values.
    • region: An optional identifier of the required region, explained later.

Regions

There is an optional regions system you can use to place biomes with. This could mean that in the future, there may be a mod that implements Terrablender's API with Lithostitched internals.

Regions are a datapack registry with just two fields:

  • dimension: The dimension id.
  • weight: The region's weight relative to other regions.
    All vanilla dimensions have a default region with a weight of 100.

Each dimension attempts to find a density function for how it gets the region noise.

  • Vanilla dimensions are at lithostitched:region/<dimension name>
  • Modded dimensions are at mod_id:region/<dimension name>

The game will automagically map values ouputted from the region density function to region IDs. On Fabric 1.21.11, you can see the region ID in the F3 screen if you turn it on.

Fast Noise

There is now a fast_noise density function type.

  • config: The fast_noise_config file to reference, explained later.
  • xz_scale: The noise scale on the x and z-axes. A float value, defaults to 1.
  • y_scale: The noise scale on the y-axis. A float value, defaults to 1.
  • shift_x: The shift on the x-axis. A density function, defaults to a constant of 0.
  • shift_y: The shift on the y-axis. A density function, defaults to a constant of 0.
  • shift_z: The shift on the z-axis. A density function, defaults to a constant of 0.

Fast Noise Configs

Similar to how noise density functions in vanilla reference noise configs from the worldgen/noise registry, fast_noise density functions reference fast noise configs from the lithostitched/fast_noise_config registry.

All fast noise configs have a type field, a float frequency, and an optional int salt.

  • cellular
    • jitter: How much to jitter the cells. A float between -1 and 1.
    • distance_function: The distance function to use. Accepted values: euclidean, euclidean_squared, manhattan, hybrid
    • return_type: The value to return. Accepted values: cell_value, distance, distance_2, distance_2_add, distance_2_sub, distance_2_mul, distance_2_div
  • perlin
    • Not sure why you would use this, but it's here lmao
  • simplex
    • fractal_type: The fractal type to use. Accepted values: none, fbm, ridged, ping_pong, domain_warp_progressive, domain_warp_independent
    • octaves: Optional non-negative int.
    • lacunarity: Optional float.
    • gain: Optional float.

Biome Layout Beta 1

06 Feb 04:43

Choose a tag to compare

Biome Layout Beta 1 Pre-release
Pre-release

This very experimental version begins the long process of adding biome layout editing support to Lithostitched. Currently, it includes a biome_injector registry for adding biomes if certain specific parameters are met. Unlike in vanilla, injectors allow defining custom parameters to be defined, referencing arbitrary density functions.

You can find a biome injector generator tucked away on the Lithostitched generator website here. If you need help with this, ask in the #library-help channel in my discord here.

This version is a fork of 1.5.8+beta1, for Fabric/Neoforge 1.21.1 and 1.21.11.