java.lang.Object
tech.anonymoushacker1279.immersiveweapons.world.level.levelgen.surface.SurfaceRuleBuilder

public class SurfaceRuleBuilder extends Object
  • Field Details

    • RULE_SOURCES

      public static final net.minecraft.world.level.levelgen.SurfaceRules.RuleSource[] RULE_SOURCES
  • Method Details

    • start

      public static SurfaceRuleBuilder start()
    • biome

      public SurfaceRuleBuilder biome(net.minecraft.resources.ResourceKey<net.minecraft.world.level.biome.Biome> biomeKey)
      Restricts surface to only one biome.
      Parameters:
      biomeKey - ResourceKey for the Biome.
      Returns:
      same SurfaceRuleBuilder instance.
    • surface

      public SurfaceRuleBuilder surface(net.minecraft.world.level.block.state.BlockState state)
      Set biome surface with specified BlockState. Example - block of grass in the Overworld biomes
      Parameters:
      state - BlockState for the ground cover.
      Returns:
      same SurfaceRuleBuilder instance.
    • subsurface

      public SurfaceRuleBuilder subsurface(net.minecraft.world.level.block.state.BlockState state, int depth)
      Set biome subsurface with specified BlockState. Example - dirt in the Overworld biomes.
      Parameters:
      state - BlockState for the subterranean layer.
      depth - block layer depth.
      Returns:
      same SurfaceRuleBuilder instance.
    • filler

      public SurfaceRuleBuilder filler(net.minecraft.world.level.block.state.BlockState state)
      Set biome filler with specified BlockState. Example - stone in the Overworld biomes. The rule is added with priority 10.
      Parameters:
      state - BlockState for filling.
      Returns:
      same SurfaceRuleBuilder instance.
    • build

      public net.minecraft.world.level.levelgen.SurfaceRules.RuleSource build()
      Finalize rule building process.
      Returns:
      SurfaceRules.RuleSource.
    • rule

      public SurfaceRuleBuilder rule(int priority, net.minecraft.world.level.levelgen.SurfaceRules.RuleSource rule)
      Allows adding a custom rule.
      Parameters:
      priority - rule priority, lower values = higher priority (rule will be applied before others).
      rule - custom SurfaceRules.RuleSource.
      Returns:
      same SurfaceRuleBuilder instance.