Class StructureCheck
java.lang.Object
net.minecraft.world.level.levelgen.structure.StructureCheck
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BiomeSourceprivate final ChunkGeneratorprivate final ResourceKey<Level> private final com.mojang.datafixers.DataFixerprivate final LevelHeightAccessorprivate final it.unimi.dsi.fastutil.longs.Long2ObjectMap<it.unimi.dsi.fastutil.objects.Object2IntMap<Structure>> private static final org.slf4j.Loggerprivate static final intprivate final RandomStateprivate final RegistryAccessprivate final longprivate final ChunkScanAccessprivate final StructureTemplateManager -
Constructor Summary
ConstructorsConstructorDescriptionStructureCheck(ChunkScanAccess storageAccess, RegistryAccess registryAccess, StructureTemplateManager structureTemplateManager, ResourceKey<Level> dimension, ChunkGenerator chunkGenerator, RandomState randomState, LevelHeightAccessor heightAccessor, BiomeSource biomeSource, long seed, com.mojang.datafixers.DataFixer fixerUpper) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancanCreateStructure(ChunkPos pos, Structure structure) checkStart(ChunkPos pos, Structure structure, StructurePlacement placement, boolean requireUnreferenced) private StructureCheckResultcheckStructureInfo(it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> cachedResult, Structure structure, boolean requireUnreferenced) private static it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> deduplicateEmptyMap(it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> map) voidincrementReference(ChunkPos chunkPos, Structure structure) private @Nullable it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> loadStructures(CompoundTag chunkTag) voidonStructureLoad(ChunkPos pos, Map<Structure, StructureStart> starts) private voidstoreFullResults(long posKey, it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> starts) private @Nullable StructureCheckResulttryLoadFromStorage(ChunkPos pos, Structure structure, boolean requireUnreferenced, long posKey)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
NO_STRUCTURE
private static final int NO_STRUCTURE- See Also:
-
storageAccess
-
registryAccess
-
structureTemplateManager
-
dimension
-
chunkGenerator
-
randomState
-
heightAccessor
-
biomeSource
-
seed
private final long seed -
fixerUpper
private final com.mojang.datafixers.DataFixer fixerUpper -
loadedChunks
private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<it.unimi.dsi.fastutil.objects.Object2IntMap<Structure>> loadedChunks -
featureChecks
-
-
Constructor Details
-
StructureCheck
public StructureCheck(ChunkScanAccess storageAccess, RegistryAccess registryAccess, StructureTemplateManager structureTemplateManager, ResourceKey<Level> dimension, ChunkGenerator chunkGenerator, RandomState randomState, LevelHeightAccessor heightAccessor, BiomeSource biomeSource, long seed, com.mojang.datafixers.DataFixer fixerUpper)
-
-
Method Details
-
checkStart
public StructureCheckResult checkStart(ChunkPos pos, Structure structure, StructurePlacement placement, boolean requireUnreferenced) -
canCreateStructure
-
tryLoadFromStorage
private @Nullable StructureCheckResult tryLoadFromStorage(ChunkPos pos, Structure structure, boolean requireUnreferenced, long posKey) -
loadStructures
private @Nullable it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> loadStructures(CompoundTag chunkTag) -
deduplicateEmptyMap
-
checkStructureInfo
private StructureCheckResult checkStructureInfo(it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> cachedResult, Structure structure, boolean requireUnreferenced) -
onStructureLoad
-
storeFullResults
private void storeFullResults(long posKey, it.unimi.dsi.fastutil.objects.Object2IntMap<Structure> starts) -
incrementReference
-