net.minecraft.world.poi

public class PointOfInterestStorage

extends SerializingRegionBasedStorage<PointOfInterestSet, PointOfInterestSet$Serialized>

net.minecraft.world.entity.ai.village.poi.PoiManager
net.minecraft.class_4153
net.minecraft.world.poi.PointOfInterestStorage

Field summary

Modifier and TypeField
public static final int
MAX_VILLAGE_DISTANCE
field_30265
field_30265
public static final int
VILLAGE_SECTION_SIZE
field_30266
field_30266
private final PointOfInterestStorage$PointOfInterestDistanceTracker
distanceTracker
field_18484
pointOfInterestDistanceTracker
private final it.unimi.dsi.fastutil.longs.LongSet
loadedChunks
field_20688
preloadedChunks

Constructor summary

ModifierConstructor
public (StorageKey storageKey, Path directory, com.mojang.datafixers.DataFixer dataFixer, boolean dsync, DynamicRegistryManager registryManager, ChunkErrorHandler errorHandler, HeightLimitView world)

Method summary

Modifier and TypeMethod
public PointOfInterest
add(BlockPos pos, Holder<PoiType> type)
method_19115(class_2338 arg0, class_6880<class_4158> arg1)
add(BlockPos pos, RegistryEntry<PointOfInterestType> type)
public void
remove(BlockPos pos)
method_19112(class_2338 arg0)
remove(BlockPos pos)
public long
getCountInRange(Predicate<Holder<PoiType>> predicate, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_20252(Predicate<class_6880<class_4158>> arg0, class_2338 arg1, int arg2, class_4153$class_4155 arg3)
count(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public boolean
existsAtPosition(ResourceKey<PoiType> poiType, BlockPos blockPos)
method_26339(class_5321<class_4158> arg0, class_2338 arg1)
hasTypeAt(RegistryKey<PointOfInterestType> type, BlockPos pos)
public Stream<PointOfInterest>
getInSquare(Predicate<Holder<PoiType>> predicate, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_22383(Predicate<class_6880<class_4158>> arg0, class_2338 arg1, int arg2, class_4153$class_4155 arg3)
getInSquare(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Stream<PointOfInterest>
getInRange(Predicate<Holder<PoiType>> predicate, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_19125(Predicate<class_6880<class_4158>> arg0, class_2338 arg1, int arg2, class_4153$class_4155 arg3)
getInCircle(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Stream<PointOfInterest>
getInChunk(Predicate<Holder<PoiType>> predicate, ChunkPos chunkPos, PoiManager$Occupancy occupancy)
method_19123(Predicate<class_6880<class_4158>> arg0, class_1923 arg1, class_4153$class_4155 arg2)
getInChunk(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, ChunkPos chunkPos, PointOfInterestStorage$OccupationStatus occupationStatus)
public Stream<BlockPos>
findAll(Predicate<Holder<PoiType>> predicate, Predicate<BlockPos> filter, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_21647(Predicate<class_6880<class_4158>> arg0, Predicate<class_2338> arg1, class_2338 arg2, int arg3, class_4153$class_4155 arg4)
getPositions(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, Predicate<BlockPos> posPredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Stream<com.mojang.datafixers.util.Pair<RegistryEntry<PointOfInterestType>, BlockPos>>
findAllWithType(Predicate<Holder<PoiType>> predicate, Predicate<BlockPos> filter, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_43983(Predicate<class_6880<class_4158>> arg0, Predicate<class_2338> arg1, class_2338 arg2, int arg3, class_4153$class_4155 arg4)
getTypesAndPositions(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, Predicate<BlockPos> posPredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Stream<com.mojang.datafixers.util.Pair<RegistryEntry<PointOfInterestType>, BlockPos>>
findAllClosestFirstWithType(Predicate<Holder<PoiType>> predicate, Predicate<BlockPos> filter, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_30957(Predicate<class_6880<class_4158>> arg0, Predicate<class_2338> arg1, class_2338 arg2, int arg3, class_4153$class_4155 arg4)
getSortedTypesAndPositions(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, Predicate<BlockPos> posPredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Optional<BlockPos>
find(Predicate<Holder<PoiType>> predicate, Predicate<BlockPos> filter, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_19127(Predicate<class_6880<class_4158>> arg0, Predicate<class_2338> arg1, class_2338 arg2, int arg3, class_4153$class_4155 arg4)
getPosition(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, Predicate<BlockPos> posPredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Optional<BlockPos>
findClosest(Predicate<Holder<PoiType>> predicate, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_20006(Predicate<class_6880<class_4158>> arg0, class_2338 arg1, int arg2, class_4153$class_4155 arg3)
getNearestPosition(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Optional<com.mojang.datafixers.util.Pair<RegistryEntry<PointOfInterestType>, BlockPos>>
findClosestWithType(Predicate<Holder<PoiType>> predicate, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_43985(Predicate<class_6880<class_4158>> arg0, class_2338 arg1, int arg2, class_4153$class_4155 arg3)
getNearestTypeAndPosition(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Optional<BlockPos>
findClosest(Predicate<Holder<PoiType>> predicate, Predicate<BlockPos> filter, BlockPos center, int radius, PoiManager$Occupancy occupancy)
method_34712(Predicate<class_6880<class_4158>> arg0, Predicate<class_2338> arg1, class_2338 arg2, int arg3, class_4153$class_4155 arg4)
getNearestPosition(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, Predicate<BlockPos> posPredicate, BlockPos pos, int radius, PointOfInterestStorage$OccupationStatus occupationStatus)
public Optional<BlockPos>
take(Predicate<Holder<PoiType>> predicate, BiPredicate<Holder<PoiType>, BlockPos> filter, BlockPos center, int radius)
method_19126(Predicate<class_6880<class_4158>> arg0, BiPredicate<class_6880<class_4158>, class_2338> arg1, class_2338 arg2, int arg3)
getPosition(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, BiPredicate<RegistryEntry<PointOfInterestType>, BlockPos> posPredicate, BlockPos pos, int radius)
public Optional<BlockPos>
getRandom(Predicate<Holder<PoiType>> predicate, Predicate<BlockPos> filter, PoiManager$Occupancy occupancy, BlockPos center, int radius, RandomSource random)
method_20005(Predicate<class_6880<class_4158>> arg0, Predicate<class_2338> arg1, class_4153$class_4155 arg2, class_2338 arg3, int arg4, class_5819 arg5)
getPosition(Predicate<RegistryEntry<PointOfInterestType>> typePredicate, Predicate<BlockPos> positionPredicate, PointOfInterestStorage$OccupationStatus occupationStatus, BlockPos pos, int radius, Random random)
public boolean
release(BlockPos pos)
method_19129(class_2338 arg0)
releaseTicket(BlockPos pos)
public boolean
exists(BlockPos pos, Predicate<Holder<PoiType>> predicate)
method_19116(class_2338 arg0, Predicate<class_6880<class_4158>> arg1)
test(BlockPos pos, Predicate<RegistryEntry<PointOfInterestType>> predicate)
public Optional<RegistryEntry<PointOfInterestType>>
getType(BlockPos pos)
method_19132(class_2338 arg0)
getType(BlockPos pos)
public PoiDebugData
getDebugPoiInfo(BlockPos pos)
method_74666(class_2338 arg0)
getDebugData(BlockPos pos)
public int
sectionsToVillage(SectionPos sectionPos)
method_19118(class_4076 arg0)
getDistanceFromNearestOccupied(ChunkSectionPos pos)
private boolean
isVillageCenter(long sectionPos)
method_19133(long arg0)
isOccupied(long pos)
public void
tick(BooleanSupplier haveTime)
method_19290(BooleanSupplier arg0)
tick(BooleanSupplier arg0)
protected void
setDirty(long sectionPos)
method_19288(long arg0)
onUpdate(long arg0)
protected void
onSectionLoad(long sectionPos)
method_19291(long arg0)
onLoad(long arg0)
public void
checkConsistencyWithBlocks(SectionPos sectionPos, LevelChunkSection blockSection)
method_19510(class_4076 arg0, class_2826 arg1)
initForPalette(ChunkSectionPos sectionPos, ChunkSection chunkSection)
private static boolean
mayHavePoi(LevelChunkSection blockSection)
method_20345(class_2826 arg0)
shouldScan(ChunkSection chunkSection)
private void
updateFromSection(LevelChunkSection blockSection, SectionPos pos, BiConsumer<BlockPos, Holder<PoiType>> output)
method_20348(class_2826 arg0, class_4076 arg1, BiConsumer<class_2338, class_6880<class_4158>> arg2)
scanAndPopulate(ChunkSection chunkSection, ChunkSectionPos sectionPos, BiConsumer<BlockPos, RegistryEntry<PointOfInterestType>> populator)
public void
ensureLoadedAndValid(LevelReader reader, BlockPos center, int radius)
method_22439(class_4538 arg0, class_2338 arg1, int arg2)
preloadChunks(WorldView world, BlockPos pos, int radius)
private static void
lambda$ensureLoadedAndValid$4(LevelReader arg0, ChunkPos arg1)
method_22438(class_4538 arg0, class_1923 arg1)
method_22438(WorldView arg0, ChunkPos chunkPos)
private boolean
lambda$ensureLoadedAndValid$3(ChunkPos arg0)
method_22441(class_1923 arg0)
method_22441(ChunkPos chunkPos)
private static ChunkPos
lambda$ensureLoadedAndValid$2(com.mojang.datafixers.util.Pair arg0)
method_22440(com.mojang.datafixers.util.Pair arg0)
method_22440(com.mojang.datafixers.util.Pair pair)
private static boolean
lambda$ensureLoadedAndValid$1(com.mojang.datafixers.util.Pair arg0)
method_22442(com.mojang.datafixers.util.Pair arg0)
method_22442(com.mojang.datafixers.util.Pair pair)
private com.mojang.datafixers.util.Pair
lambda$ensureLoadedAndValid$0(SectionPos arg0)
method_22443(class_4076 arg0)
method_22443(ChunkSectionPos sectionPos)
private static void
lambda$updateFromSection$0(LevelChunkSection arg0, BiConsumer arg1, BlockPos arg2)
method_19511(class_2826 arg0, BiConsumer arg1, class_2338 arg2)
method_19511(ChunkSection arg0, BiConsumer arg1, BlockPos pos)
private static void
lambda$updateFromSection$1(BiConsumer arg0, BlockPos arg1, Holder arg2)
method_19512(BiConsumer arg0, class_2338 arg1, class_6880 arg2)
method_19512(BiConsumer arg0, BlockPos arg1, RegistryEntry poiType)
private void
lambda$checkConsistencyWithBlocks$2(LevelChunkSection arg0, SectionPos arg1)
method_20347(class_2826 arg0, class_4076 arg1)
method_20347(ChunkSection arg0, ChunkSectionPos arg1)
private void
lambda$checkConsistencyWithBlocks$0(LevelChunkSection arg0, SectionPos arg1, PoiSection arg2)
method_20346(class_2826 arg0, class_4076 arg1, class_4157 arg2)
method_20346(ChunkSection arg0, ChunkSectionPos arg1, PointOfInterestSet poiSet)
private void
lambda$checkConsistencyWithBlocks$1(LevelChunkSection arg0, SectionPos arg1, BiConsumer arg2)
method_20349(class_2826 arg0, class_4076 arg1, BiConsumer arg2)
method_20349(ChunkSection arg0, ChunkSectionPos arg1, BiConsumer populator)
private static Boolean
lambda$isVillageCenter$0(PoiSection arg0)
method_20592(class_4157 arg0)
method_20592(PointOfInterestSet poiSet)
private static boolean
lambda$isVillageCenter$1(Holder arg0)
method_43980(class_6880 arg0)
method_43980(RegistryEntry entry)
private static Optional
lambda$getDebugPoiInfo$0(BlockPos arg0, PoiSection arg1)
method_74665(class_2338 arg0, class_4157 arg1)
method_74665(BlockPos arg0, PointOfInterestSet poiSet)
private static Optional
lambda$getType$0(BlockPos arg0, PoiSection arg1)
method_33580(class_2338 arg0, class_4157 arg1)
method_33580(BlockPos arg0, PointOfInterestSet poiSet)
private static Boolean
lambda$exists$0(BlockPos arg0, Predicate arg1, PoiSection arg2)
method_19117(class_2338 arg0, Predicate arg1, class_4157 arg2)
method_19117(BlockPos arg0, Predicate arg1, PointOfInterestSet poiSet)
private static IllegalStateException
lambda$release$1(BlockPos arg0)
method_33583(class_2338 arg0)
method_33583(BlockPos arg0)
private static Boolean
lambda$release$0(BlockPos arg0, PoiSection arg1)
method_33581(class_2338 arg0, class_4157 arg1)
method_33581(BlockPos arg0, PointOfInterestSet poiSet)
private static boolean
lambda$getRandom$0(Predicate arg0, PoiRecord arg1)
method_20004(Predicate arg0, class_4156 arg1)
method_20004(Predicate arg0, PointOfInterest poi)
private static BlockPos
lambda$take$1(PoiRecord arg0)
method_19128(class_4156 arg0)
method_19128(PointOfInterest poi)
private static boolean
lambda$take$0(BiPredicate arg0, PoiRecord arg1)
method_19130(BiPredicate arg0, class_4156 arg1)
method_19130(BiPredicate arg0, PointOfInterest poi)
private static double
lambda$findClosest$1(BlockPos arg0, BlockPos arg1)
method_34711(class_2338 arg0, class_2338 arg1)
method_34711(BlockPos arg0, BlockPos poiPos)
private static com.mojang.datafixers.util.Pair
lambda$findClosestWithType$1(PoiRecord arg0)
method_43981(class_4156 arg0)
method_43981(PointOfInterest poi)
private static double
lambda$findClosestWithType$0(BlockPos arg0, PoiRecord arg1)
method_43979(class_2338 arg0, class_4156 arg1)
method_43979(BlockPos arg0, PointOfInterest poi)
private static double
lambda$findClosest$0(BlockPos arg0, BlockPos arg1)
method_20003(class_2338 arg0, class_2338 arg1)
method_20003(BlockPos arg0, BlockPos poiPos)
private static double
lambda$findAllClosestFirstWithType$0(BlockPos arg0, com.mojang.datafixers.util.Pair arg1)
method_30956(class_2338 arg0, com.mojang.datafixers.util.Pair arg1)
method_30956(BlockPos arg0, com.mojang.datafixers.util.Pair pair)
private static com.mojang.datafixers.util.Pair
lambda$findAllWithType$1(PoiRecord arg0)
method_43984(class_4156 arg0)
method_43984(PointOfInterest poi)
private static boolean
lambda$findAllWithType$0(Predicate arg0, PoiRecord arg1)
method_43982(Predicate arg0, class_4156 arg1)
method_43982(Predicate arg0, PointOfInterest poi)
private static Stream
lambda$getInChunk$1(Predicate arg0, PoiManager$Occupancy arg1, Optional arg2)
method_19120(Predicate arg0, class_4153$class_4155 arg1, Optional arg2)
method_19120(Predicate arg0, PointOfInterestStorage$OccupationStatus arg1, Optional poiSet)
private Optional
lambda$getInChunk$0(ChunkPos arg0, Integer arg1)
method_19124(class_1923 arg0, Integer arg1)
method_19124(ChunkPos arg0, Integer coord)
private static boolean
lambda$getInRange$0(BlockPos arg0, int arg1, PoiRecord arg2)
method_19113(class_2338 arg0, int arg1, class_4156 arg2)
method_19113(BlockPos arg0, int arg1, PointOfInterest poi)
private static boolean
lambda$getInSquare$1(BlockPos arg0, int arg1, PoiRecord arg2)
method_30335(class_2338 arg0, int arg1, class_4156 arg2)
method_30335(BlockPos arg0, int arg1, PointOfInterest poi)
private Stream
lambda$getInSquare$0(Predicate arg0, PoiManager$Occupancy arg1, ChunkPos arg2)
method_19121(Predicate arg0, class_4153$class_4155 arg1, class_1923 arg2)
method_19121(Predicate arg0, PointOfInterestStorage$OccupationStatus arg1, ChunkPos chunkPos)
private static boolean
lambda$existsAtPosition$0(ResourceKey arg0, Holder arg1)
method_43978(class_5321 arg0, class_6880 arg1)
method_43978(RegistryKey arg0, RegistryEntry entry)
private static void
lambda$remove$0(BlockPos arg0, PoiSection arg1)
method_33582(class_2338 arg0, class_4157 arg1)
method_33582(BlockPos arg0, PointOfInterestSet poiSet)