Interface DensityFunction

All Known Subinterfaces:
ChunkNoiseSampler.ParentedNoiseType, DensityFunction.Base, DensityFunctionTypes.Beardifying, DensityFunctionTypes.BinaryOperationLike, DensityFunctionTypes.Offset, DensityFunctionTypes.Positional, DensityFunctionTypes.Unary, DensityFunctionTypes.Wrapper
All Known Implementing Classes:
ChunkNoiseSampler.BlendAlphaDensityFunction, ChunkNoiseSampler.BlendOffsetDensityFunction, ChunkNoiseSampler.Cache2D, ChunkNoiseSampler.CacheOnce, ChunkNoiseSampler.CellCache, ChunkNoiseSampler.DensityInterpolator, ChunkNoiseSampler.FlatCache, DensityFunctionTypes.Beardifier, DensityFunctionTypes.BinaryOperation, DensityFunctionTypes.BlendAlpha, DensityFunctionTypes.BlendDensity, DensityFunctionTypes.BlendOffset, DensityFunctionTypes.Clamp, DensityFunctionTypes.Constant, DensityFunctionTypes.EndIslands, DensityFunctionTypes.LinearOperation, DensityFunctionTypes.Noise, DensityFunctionTypes.RangeChoice, DensityFunctionTypes.RegistryEntryHolder, DensityFunctionTypes.Shift, DensityFunctionTypes.ShiftA, DensityFunctionTypes.ShiftB, DensityFunctionTypes.ShiftedNoise, DensityFunctionTypes.Spline, DensityFunctionTypes.UnaryOperation, DensityFunctionTypes.WeirdScaledSampler, DensityFunctionTypes.Wrapping, DensityFunctionTypes.YClampedGradient, InterpolatedNoiseSampler, StructureWeightSampler

public interface DensityFunction
Represents a function that maps from a block position to a density value.

It can be defined in code or in data packs by using pre-defined function types like constant values or add, which in turn use other density functions to define their operands.

Mappings:
Namespace Name
official dgs
intermediary net/minecraft/class_6910
named net/minecraft/world/gen/densityfunction/DensityFunction
  • Field Details

    • CODEC

      static final com.mojang.serialization.Codec<DensityFunction> CODEC
      Mappings:
      Namespace Name Mixin selector
      official b Ldgs;b:Lcom/mojang/serialization/Codec;
      intermediary field_37057 Lnet/minecraft/class_6910;field_37057:Lcom/mojang/serialization/Codec;
      named CODEC Lnet/minecraft/world/gen/densityfunction/DensityFunction;CODEC:Lcom/mojang/serialization/Codec;
    • REGISTRY_ENTRY_CODEC

      static final com.mojang.serialization.Codec<RegistryEntry<DensityFunction>> REGISTRY_ENTRY_CODEC
      Mappings:
      Namespace Name Mixin selector
      official c Ldgs;c:Lcom/mojang/serialization/Codec;
      intermediary field_37058 Lnet/minecraft/class_6910;field_37058:Lcom/mojang/serialization/Codec;
      named REGISTRY_ENTRY_CODEC Lnet/minecraft/world/gen/densityfunction/DensityFunction;REGISTRY_ENTRY_CODEC:Lcom/mojang/serialization/Codec;
    • FUNCTION_CODEC

      static final com.mojang.serialization.Codec<DensityFunction> FUNCTION_CODEC
      Mappings:
      Namespace Name Mixin selector
      official d Ldgs;d:Lcom/mojang/serialization/Codec;
      intermediary field_37059 Lnet/minecraft/class_6910;field_37059:Lcom/mojang/serialization/Codec;
      named FUNCTION_CODEC Lnet/minecraft/world/gen/densityfunction/DensityFunction;FUNCTION_CODEC:Lcom/mojang/serialization/Codec;
  • Method Details

    • sample

      double sample(DensityFunction.NoisePos pos)
      Returns the density value for the given block position.
      Parameters:
      pos - the block position
      Returns:
      the density value for the given block position
      Mappings:
      Namespace Name Mixin selector
      official a Ldgs;a(Ldgs$b;)D
      intermediary method_40464 Lnet/minecraft/class_6910;method_40464(Lnet/minecraft/class_6910$class_6912;)D
      named sample Lnet/minecraft/world/gen/densityfunction/DensityFunction;sample(Lnet/minecraft/world/gen/densityfunction/DensityFunction$NoisePos;)D
    • fill

      void fill(double[] densities, DensityFunction.EachApplier applier)
      Fills an array of densities using this density function and the DensityFunction.EachApplier.
      Parameters:
      densities - the array of densities to fill, like a buffer or a cache
      applier - the EachApplier to use. It has a method for filling the array, as well as to get a block position for an index
      Mappings:
      Namespace Name Mixin selector
      official a Ldgs;a([DLdgs$a;)V
      intermediary method_40470 Lnet/minecraft/class_6910;method_40470([DLnet/minecraft/class_6910$class_6911;)V
      named fill Lnet/minecraft/world/gen/densityfunction/DensityFunction;fill([DLnet/minecraft/world/gen/densityfunction/DensityFunction$EachApplier;)V
    • apply

      Applies the visitor to every child density function and this.
      Parameters:
      visitor - the visitor that should be applied to this density function
      Returns:
      the resulting density function
      Mappings:
      Namespace Name Mixin selector
      official a Ldgs;a(Ldgs$f;)Ldgs;
      intermediary method_40469 Lnet/minecraft/class_6910;method_40469(Lnet/minecraft/class_6910$class_6915;)Lnet/minecraft/class_6910;
      named apply Lnet/minecraft/world/gen/densityfunction/DensityFunction;apply(Lnet/minecraft/world/gen/densityfunction/DensityFunction$DensityFunctionVisitor;)Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • minValue

      double minValue()
      Mappings:
      Namespace Name Mixin selector
      official a Ldgs;a()D
      intermediary comp_377 Lnet/minecraft/class_6910;comp_377()D
      named minValue Lnet/minecraft/world/gen/densityfunction/DensityFunction;minValue()D
    • maxValue

      double maxValue()
      Mappings:
      Namespace Name Mixin selector
      official b Ldgs;b()D
      intermediary comp_378 Lnet/minecraft/class_6910;comp_378()D
      named maxValue Lnet/minecraft/world/gen/densityfunction/DensityFunction;maxValue()D
    • getCodecHolder

      CodecHolder<? extends DensityFunction> getCodecHolder()
      Mappings:
      Namespace Name Mixin selector
      official c Ldgs;c()Lapd;
      intermediary method_41062 Lnet/minecraft/class_6910;method_41062()Lnet/minecraft/class_7243;
      named getCodecHolder Lnet/minecraft/world/gen/densityfunction/DensityFunction;getCodecHolder()Lnet/minecraft/util/dynamic/CodecHolder;
    • clamp

      default DensityFunction clamp(double min, double max)
      Mappings:
      Namespace Name Mixin selector
      official a Ldgs;a(DD)Ldgs;
      intermediary method_40468 Lnet/minecraft/class_6910;method_40468(DD)Lnet/minecraft/class_6910;
      named clamp Lnet/minecraft/world/gen/densityfunction/DensityFunction;clamp(DD)Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • abs

      default DensityFunction abs()
      Mappings:
      Namespace Name Mixin selector
      official d Ldgs;d()Ldgs;
      intermediary method_40471 Lnet/minecraft/class_6910;method_40471()Lnet/minecraft/class_6910;
      named abs Lnet/minecraft/world/gen/densityfunction/DensityFunction;abs()Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • square

      default DensityFunction square()
      Mappings:
      Namespace Name Mixin selector
      official e Ldgs;e()Ldgs;
      intermediary method_40472 Lnet/minecraft/class_6910;method_40472()Lnet/minecraft/class_6910;
      named square Lnet/minecraft/world/gen/densityfunction/DensityFunction;square()Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • cube

      default DensityFunction cube()
      Mappings:
      Namespace Name Mixin selector
      official f Ldgs;f()Ldgs;
      intermediary method_40473 Lnet/minecraft/class_6910;method_40473()Lnet/minecraft/class_6910;
      named cube Lnet/minecraft/world/gen/densityfunction/DensityFunction;cube()Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • halfNegative

      default DensityFunction halfNegative()
      Mappings:
      Namespace Name Mixin selector
      official g Ldgs;g()Ldgs;
      intermediary method_40474 Lnet/minecraft/class_6910;method_40474()Lnet/minecraft/class_6910;
      named halfNegative Lnet/minecraft/world/gen/densityfunction/DensityFunction;halfNegative()Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • quarterNegative

      default DensityFunction quarterNegative()
      Mappings:
      Namespace Name Mixin selector
      official h Ldgs;h()Ldgs;
      intermediary method_40475 Lnet/minecraft/class_6910;method_40475()Lnet/minecraft/class_6910;
      named quarterNegative Lnet/minecraft/world/gen/densityfunction/DensityFunction;quarterNegative()Lnet/minecraft/world/gen/densityfunction/DensityFunction;
    • squeeze

      default DensityFunction squeeze()
      Mappings:
      Namespace Name Mixin selector
      official i Ldgs;i()Ldgs;
      intermediary method_40476 Lnet/minecraft/class_6910;method_40476()Lnet/minecraft/class_6910;
      named squeeze Lnet/minecraft/world/gen/densityfunction/DensityFunction;squeeze()Lnet/minecraft/world/gen/densityfunction/DensityFunction;