Worldgen
All the functionality mentioned on this page requires WorldJS to work
All the functionality mentioned on this page requires WorldJS to work
Worldgen features are primarily done through placed and configured features. KubeJS TFC adds the ability to make these through builders in the worldgen/configured_feature server registry event
While TFC’s configured feature types are currently implemented, they are undocumented until I have the time and energy to dedicate to documenting them. Until such time, their builders may have breaking changes as they are evaluated when writing their docs
While TFC’s configured feature types are currently implemented, they are undocumented until I have the time and energy to dedicate to documenting them. Until such time, their builders may have breaking changes as they are evaluated when writing their docs
KubeJS TFC also adds a tfc namespace to the modifiers function of WorldJS’s placed feature builder, which is also used by TFC’s configured feature types
Placed Feature Modifiers
KubeJS TFC adds the following placement modifiers under the tfc namespace
: Add a.underground()tfc:undergroundmodifier
: Add a.noSolidNeighbors()tfc:no_solid_neighborsmodifier
: Add a.volcano(minEasing: float, maxEasing: float)tfc:volcanomodifierminEasing: float: The minimum easing valuemaxEasing: float: The maximum easing value
: Add a.volcanoCenter()tfc:volcanomodifier which only accepts positions at the center
: Add a.tuffCone(minEasing: float, maxEasing: float)tfc:tuff_conemodifierminEasing: float: The minimum easing valuemaxEasing: float: The maximum easing value
: Add a.tuffConeCenter()tfc:tuff_conemodifier which only accepts positions at the center
: Add a.tuya(minEasing: float, maxEasing: float)tfc:tuyamodifierminEasing: float: The minimum easing valuemaxEasing: float: The maximum easing value
: Add a.tuyaCenter()tfc:tuyamodifier which only accepts positions at the center
: Add a.atoll(minEasing: float, maxEasing: float)tfc:atollmodifierminEasing: float: The minimum easing valuemaxEasing: float: The maximum easing value
: Add a.atollCenter()tfc:atollmodifier which only accepts positions at the center
: Add a.shallowWater(minDepth: int, maxDepth: int)tfc:shallow_watermodifierminDepth: int: The minimum depth of water requiredmaxDepth: int: The maximum depth of water permitted
: Add a.nearFluid(radius: int, fluids?: List<Fluid>)tfc:near_fluidmodifierradius: int: The radius to check for fluidfluids?: List<Fluid>: The fluids to consider- Optional. Considers all fluids if not set
: Add a.intertidal(minElevation: int, maxElevation: int)tfc:intertidalmodifierminElevation: int: The minimum valid tide elevationmaxElevation: int: The maximum valid tide elevation
: Add a.intertidalMin(minElevation: int)tfc:intertidalmodifier which is unbounded on the topminElevation: int: The minimum valid tide elevation
: Add a.intertidalMax(maxElevation: int)tfc:intertidalmodifier which is unbounded on the bottommaxElevation: int: The maximum valid tide elevation
: Add a.flatEnough(flatness: float, radius: int, maxDepth: int)tfc:flat_enoughmodifierflatness: float: The minimum flatness of the checked arearadius: int: The horizontal distance to checkmaxDepth: int: The depth below the initial position to check
: Add a.climate(climate: ClimatePlacementBuilder)tfc:climatemodifierclimate: ClimatePlacementBuilder: The climate restrictions, which can be made as an object with the fieldsminTemp?: number: The minimum temperature. Optional, defaults to-InfinitymaxTemp?: number: The maximum temperature. Optional, defaults toInfinityminGroundWater?: number: The minimum groundwater. Optional, defaults to-InfinitymaxGroundwater?: number: The maximum groundwater. Optional, defaults toInfinityminRainVariance?: number: The minimum rain variance value. Optional, defaults to-1maxRainVariance?: number: The maximum rain variance value. Optional, defaults to1absoluteRainVariance?: boolean: If the sign of the rain variance should be ignored. Optional, defaults tofalsefuzzy?: boolean: If values should be evaluated fuzzily. Optional, defaults tofalseignoreRivers?: boolean: If values should be evaluated before river influences. Optional, defaults tofalseminForestDensity?: int: The minimum forest density, in the range[0, ). Optional, defaults to0maxForestDensity?: int: The maximum forest density, in the range[0, ). Optional, defaults to4minElevation?: int: The minimum y-level. Optional, defaults to-64maxElevation?: int: The maximum y-level. Optional, defaults to320forestTypes?: List<ForestType>: The permitted forest types to spawn in. Optional, if not set or empty permits all forest types
: Add a.carvingMask(minY: VerticalAnchor, maxY: VerticalAnchor, step: GenerationStep$Carving)tfc:carving_maskmodifierminY: VerticalAnchor: The minimum valid vertical anchormaxY: VerticalAnchor: The maximum valid vertical anchorstep: GenerationStep$Carving: The carving step volume for which the feature will try to place in. Does not include blocks ‘carved’ out by noise cavesReveal/hide list of carving steps
airliquid
: Add a.carvingMaskMin(minY: VerticalAnchor, step: GenerationStep$Carving)tfc:carving_maskmodifier which is unbounded aboveminY: VerticalAnchor: The minimum valid vertical anchorstep: GenerationStep$Carving: The carving step volume for which the feature will try to place in. Does not include blocks ‘carved’ out by noise cavesReveal/hide list of carving steps
airliquid
: Add a.carvingMaskMax(maxY: VerticalAnchor, step: GenerationStep$Carving)tfc:carving_maskmodifier which is unbounded belowmaxY: VerticalAnchor: The maximum valid vertical anchorstep: GenerationStep$Carving: The carving step volume for which the feature will try to place in. Does not include blocks ‘carved’ out by noise cavesReveal/hide list of carving steps
airliquid
: Add a.onTop(predicate: BlockPredicate)tfc:on_topmodifierpredicate: BlockPredicate: The block required below for a position to be valid
: Adds a.stratovolcano(stratovolcano: StratovolcanoBuilder)tfc:stratovolcanomodifierstratovolcano: StratovolcanoBuilder: The stratovolcano properties, which can be made as an object with the fieldscenter?: boolean: If the feature should place exclusively near the center of the volcanic features. Optional, defaults tofalseuseOffsetCenter?: boolean: If the feature should place exclusively near the offset center of volcanic features, if the variant has an offset centervariant?: String: The variant to place in. Optional, defaults to'all'minEasing?: number: The minimum easing value, in the range[0, 1]. Optional, defaults to0maxEasing?: number: The maximum easing value, in the range[0, 1]. Optional, defaults to1hashMin?: number: The minimum hash value, in the range[0, 1]. Optional, defaults to0hashMax?: number: The maximum hash value, in the range[0, 1]. Optional, defaults to1