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
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Represents a density function that has no other density functions as an argument, and provides default implementations ofDensityFunction.Base.fill(double[], net.minecraft.world.gen.densityfunction.DensityFunction.EachApplier)
andDensityFunction.Base.apply(DensityFunctionVisitor)
for this case.static interface
static interface
EachApplier
is used to fill an array of densities, like a density buffer or cache, with values from a density function.static final record
static interface
NoisePos
represents the absolute block position that is passed to density functions.static final record
-
Field Summary
Modifier and TypeFieldDescriptionstatic final com.mojang.serialization.Codec<DensityFunction>
static final com.mojang.serialization.Codec<DensityFunction>
static final com.mojang.serialization.Codec<RegistryEntry<DensityFunction>>
-
Method Summary
Modifier and TypeMethodDescriptiondefault DensityFunction
abs()
Applies the visitor to every child density function andthis
.default DensityFunction
clamp
(double min, double max) default DensityFunction
cube()
void
fill
(double[] densities, DensityFunction.EachApplier applier) Fills an array of densities usingthis
density function and theDensityFunction.EachApplier
.CodecHolder<? extends DensityFunction>
default DensityFunction
double
maxValue()
double
minValue()
default DensityFunction
double
Returns the density value for the given block position.default DensityFunction
square()
default DensityFunction
squeeze()
-
Field Details
-
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
- 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
- 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
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
Fills an array of densities usingthis
density function and theDensityFunction.EachApplier
.- Parameters:
densities
- the array of densities to fill, like a buffer or a cacheapplier
- theEachApplier
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 andthis
.- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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;
-