CLASS net/minecraft/class_6568 net/minecraft/world/gen/chunk/ChunkNoiseSampler COMMENT {@code ChunkNoiseSampler} is responsible for sampling the density functions for COMMENT the cells in each chunk, managing caches and interpolators, the {@code Blender}, COMMENT and the block state samplers. COMMENT COMMENT
An instance of this is created for every chunk. FIELD field_34598 verticalCellCount I FIELD field_34599 horizontalCellCount I FIELD field_34600 minimumCellY I FIELD field_34601 startCellX I FIELD field_34602 startCellZ I FIELD field_34603 startBiomeX I FIELD field_34604 startBiomeZ I FIELD field_34605 interpolators Ljava/util/List; FIELD field_34613 aquiferSampler Lnet/minecraft/class_6350; FIELD field_35487 blender Lnet/minecraft/class_6748; FIELD field_35674 generationShapeConfig Lnet/minecraft/class_5309; FIELD field_36273 surfaceHeightEstimateCache Lit/unimi/dsi/fastutil/longs/Long2IntMap; FIELD field_36572 startBlockY I FIELD field_36573 startBlockZ I FIELD field_36574 cellBlockX I FIELD field_36575 cellBlockY I FIELD field_36576 cellBlockZ I FIELD field_36577 sampleUniqueIndex J FIELD field_36578 cacheOnceUniqueIndex J FIELD field_36579 index I FIELD field_36580 interpolationEachApplier Lnet/minecraft/class_6910$class_6911; COMMENT The implementation of {@code EachApplier} that is used for filling the COMMENT interpolators' density buffers. COMMENT COMMENT
It runs on a vertical column of cells, with the density being sampled at the first
COMMENT block in the cell (cell-local coordinate {@code 0} for X, Y and Z).
FIELD field_36581 caches Ljava/util/List;
FIELD field_36582 actualDensityFunctionCache Ljava/util/Map;
FIELD field_36583 initialDensityWithoutJaggedness Lnet/minecraft/class_6910;
FIELD field_36584 blockStateSampler Lnet/minecraft/class_6568$class_6569;
FIELD field_36585 cachedBlendAlphaDensityFunction Lnet/minecraft/class_6568$class_6951;
FIELD field_36586 cachedBlendOffsetDensityFunction Lnet/minecraft/class_6568$class_6951;
FIELD field_36587 lastBlendingColumnPos J
FIELD field_36588 lastBlendingResult Lnet/minecraft/class_6748$class_6956;
FIELD field_36589 horizontalBiomeEnd I
FIELD field_36590 horizontalCellBlockCount I
FIELD field_36591 verticalCellBlockCount I
FIELD field_36592 isInInterpolationLoop Z
FIELD field_36593 isSamplingForCaches Z
FIELD field_36594 startBlockX I
FIELD field_37113 beardifying Lnet/minecraft/class_6916$class_7050;
METHOD This starts the interpolators and fills the cell caches.
COMMENT
COMMENT @implNote For filling the cell caches, {@code this} is used as the
COMMENT {@link net.minecraft.world.gen.densityfunction.DensityFunction.EachApplier EachApplier}.
ARG 1 cellY
COMMENT the chunk-local cell Y coordinate
ARG 2 cellZ
COMMENT the chunk-local cell Z coordinate
METHOD method_39543 create (Lnet/minecraft/class_2791;Lnet/minecraft/class_7138;Lnet/minecraft/class_6916$class_7050;Lnet/minecraft/class_5284;Lnet/minecraft/class_6350$class_6565;Lnet/minecraft/class_6748;)Lnet/minecraft/class_6568;
ARG 0 chunk
ARG 1 noiseConfig
ARG 2 beardifying
ARG 3 chunkGeneratorSettings
ARG 4 fluidLevelSampler
ARG 5 blender
METHOD method_39899 calculateSurfaceHeightEstimate (J)I
ARG 1 columnPos
METHOD method_39900 estimateSurfaceHeight (II)I
ARG 1 blockX
ARG 2 blockZ
METHOD method_40529 getActualDensityFunction (Lnet/minecraft/class_6910;)Lnet/minecraft/class_6910;
COMMENT {@return the actual density function for a given density function}
COMMENT
COMMENT The classes in {@link DensityFunctionTypes} for caches, interpolators,
COMMENT {@code blend_alpha} and {@code blend_offset} use simple stub implementations
COMMENT that get replaced with their actual implementation by calling this method.
ARG 1 function
COMMENT the density function to get an actual implementation for
METHOD method_40530 (Lnet/minecraft/class_6910;Lnet/minecraft/class_6910$class_6912;)Lnet/minecraft/class_2680;
ARG 2 pos
METHOD method_40531 createMultiNoiseSampler (Lnet/minecraft/class_6953;Ljava/util/List;)Lnet/minecraft/class_6544$class_6552;
ARG 1 noiseRouter
ARG 2 spawnTarget
METHOD method_40532 sampleDensity (ZI)V
COMMENT Samples the density values for all cells in the chunk with the given X coordinate.
COMMENT This is done for every {@code interpolated} function.
ARG 1 start
COMMENT whether to store the results in the start or end density buffer
ARG 2 cellX
COMMENT the current cell X coordinate
METHOD method_40533 getActualDensityFunctionImpl (Lnet/minecraft/class_6910;)Lnet/minecraft/class_6910;
COMMENT {@return the actual density function for a given density function}
ARG 1 function
METHOD method_40535 calculateBlendResult (II)Lnet/minecraft/class_6748$class_6956;
ARG 1 blockX
ARG 2 blockZ
METHOD method_40536 sampleBlockState ()Lnet/minecraft/class_2680;
METHOD method_40537 stopInterpolation ()V
COMMENT Stops the interpolation loop for this chunk.
METHOD method_42361 getHorizontalCellBlockCount ()I
METHOD method_42362 getVerticalCellBlockCount ()I
CLASS class_5917 DensityInterpolator
FIELD field_29227 startDensityBuffer [[D
FIELD field_29228 endDensityBuffer [[D
FIELD field_29233 x0y0z0 D
FIELD field_29234 x0y0z1 D
FIELD field_29235 x1y0z0 D
FIELD field_29236 x1y0z1 D
FIELD field_29237 x0y1z0 D
FIELD field_29238 x0y1z1 D
FIELD field_29239 x1y1z0 D
FIELD field_29240 x1y1z1 D
FIELD field_29241 x0z0 D
FIELD field_29242 x1z0 D
FIELD field_29243 x0z1 D
FIELD field_29244 x1z1 D
FIELD field_29245 z0 D
FIELD field_29246 z1 D
FIELD field_34623 delegate Lnet/minecraft/class_6910;
FIELD field_34624 result D
METHOD