Skip to content

Package net.minecraft.world.entity.ai.village.poi

Part 1/1


PoiManager

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiManager
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiManager.java
  • Type: class
  • Modifiers: public
  • Extends: SectionStorage<PoiSection, PoiSection.Packed>

net.minecraft.world.entity.ai.village.poi.PoiManager#add(BlockPos,Holder<PoiType>)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:69
  • Modifiers: public
  • Return: void

คืออะไร

เพิ่ม add

ทำงานยังไง

เรียกต่อ: getOrCreate(), asLong().

Parameters

  • BlockPos blockPos
  • Holder<PoiType> holder

ตัวอย่างใช้งาน

PoiManager instance = ...;
BlockPos blockPos = ...;
Holder<PoiType> holder = ...;
instance.add(blockPos, holder);

net.minecraft.world.entity.ai.village.poi.PoiManager#checkConsistencyWithBlocks(SectionPos,LevelChunkSection)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:219
  • Modifiers: public
  • Return: void

คืออะไร

ตรวจสอบ Consistency With Blocks

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. เรียกต่อ: ifElse(), getOrLoad(), asLong(), refresh(), mayHavePoi(), updateFromSection(), getOrCreate().

Parameters

  • SectionPos sectionPos
  • LevelChunkSection levelChunkSection

ตัวอย่างใช้งาน

PoiManager instance = ...;
SectionPos sectionPos = ...;
LevelChunkSection levelChunkSection = ...;
instance.checkConsistencyWithBlocks(sectionPos, levelChunkSection);

net.minecraft.world.entity.ai.village.poi.PoiManager#ensureLoadedAndValid(LevelReader,BlockPos,int)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:248
  • Modifiers: public
  • Return: void

คืออะไร

ดำเนินการ ensureLoadedAndValid ตาม implementation ของ PoiManager

ทำงานยังไง

เรียกต่อ: aroundChunk(), floorDiv(), getMinSectionY(), getMaxSectionY(), map(), of(), getOrLoad(), asLong(). สร้างออบเจ็กต์: ChunkPos.

Parameters

  • LevelReader levelReader
  • BlockPos blockPos
  • int i

ตัวอย่างใช้งาน

PoiManager instance = ...;
LevelReader levelReader = ...;
BlockPos blockPos = ...;
instance.ensureLoadedAndValid(levelReader, blockPos, 0);

net.minecraft.world.entity.ai.village.poi.PoiManager#exists(BlockPos,Predicate<Holder<PoiType>>)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:173
  • Modifiers: public
  • Return: boolean

คืออะไร

ดำเนินการ exists ตาม implementation ของ PoiManager

ทำงานยังไง

เรียกต่อ: getOrLoad(), asLong(), map(), orElse(). คืนค่า: this.getOrLoad(SectionPos.asLong(blockPos)).map(poiSection -> poiSection.exists(blockPos, predicate)).orElse(false).

Parameters

  • BlockPos blockPos
  • Predicate<Holder<PoiType>> predicate

ตัวอย่างใช้งาน

PoiManager instance = ...;
BlockPos blockPos = ...;
Predicate<Holder<PoiType>> predicate = ...;
boolean result = instance.exists(blockPos, predicate);

net.minecraft.world.entity.ai.village.poi.PoiManager#existsAtPosition(ResourceKey<PoiType>,BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:81
  • Modifiers: public
  • Return: boolean

คืออะไร

ดำเนินการ existsAtPosition ตาม implementation ของ PoiManager

ทำงานยังไง

เรียกต่อ: exists(), is(). คืนค่า: this.exists(blockPos, holder -> holder.is(resourceKey)).

Parameters

  • ResourceKey<PoiType> resourceKey
  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiManager instance = ...;
ResourceKey<PoiType> resourceKey = ...;
BlockPos blockPos = ...;
boolean result = instance.existsAtPosition(resourceKey, blockPos);

net.minecraft.world.entity.ai.village.poi.PoiManager#find(Predicate<Holder<PoiType>>,Predicate<BlockPos>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:125
  • Modifiers: public
  • Return: Optional<BlockPos>

คืออะไร

ค้นหา find

ทำงานยังไง

เรียกต่อ: findAll(), findFirst(). คืนค่า: this.findAll(predicate, predicate2, blockPos, i, occupancy).findFirst().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • Predicate<BlockPos> predicate2
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
Predicate<BlockPos> predicate2 = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Optional<BlockPos> result = instance.find(predicate, predicate2, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#findAll(Predicate<Holder<PoiType>>,Predicate<BlockPos>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:107
  • Modifiers: public
  • Return: Stream<BlockPos>

คืออะไร

ค้นหา All

ทำงานยังไง

เรียกต่อ: getInRange(), map(), filter(). คืนค่า: this.getInRange(predicate, blockPos, i, occupancy).map(PoiRecord::getPos).filter(predicate2).

Parameters

  • Predicate<Holder<PoiType>> predicate
  • Predicate<BlockPos> predicate2
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
Predicate<BlockPos> predicate2 = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Stream<BlockPos> result = instance.findAll(predicate, predicate2, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#findAllClosestFirstWithType(Predicate<Holder<PoiType>>,Predicate<BlockPos>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:119
  • Modifiers: public
  • Return: Stream<Pair<Holder<PoiType>, BlockPos>>

คืออะไร

ค้นหา All Closest First With Type

ทำงานยังไง

เรียกต่อ: findAllWithType(), sorted(), comparingDouble(), getSecond(), distSqr(). คืนค่า: this.findAllWithType(predicate, predicate2, blockPos, i, occupancy).sorted(Comparator.comparingDouble(pair -> pair.getSecond().distSqr(blockPos))).

Parameters

  • Predicate<Holder<PoiType>> predicate
  • Predicate<BlockPos> predicate2
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
Predicate<BlockPos> predicate2 = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Stream<Pair<Holder<PoiType>, BlockPos>> result = instance.findAllClosestFirstWithType(predicate, predicate2, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#findAllWithType(Predicate<Holder<PoiType>>,Predicate<BlockPos>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:111
  • Modifiers: public
  • Return: Stream<Pair<Holder<PoiType>, BlockPos>>

คืออะไร

ค้นหา All With Type

ทำงานยังไง

เรียกต่อ: getInRange(), filter(), test(), getPos(), map(), of(), getPoiType().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • Predicate<BlockPos> predicate2
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
Predicate<BlockPos> predicate2 = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Stream<Pair<Holder<PoiType>, BlockPos>> result = instance.findAllWithType(predicate, predicate2, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#findClosest(Predicate<Holder<PoiType>>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:129
  • Modifiers: public
  • Return: Optional<BlockPos>

คืออะไร

ค้นหา Closest

ทำงานยังไง

เรียกต่อ: getInRange(), map(), min(), comparingDouble(), distSqr(). คืนค่า: this.getInRange(predicate, blockPos, i, occupancy).map(PoiRecord::getPos).min(Comparator.comparingDouble(blockPos2 -> blockPos2.distSqr(blockPos))).

Parameters

  • Predicate<Holder<PoiType>> predicate
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Optional<BlockPos> result = instance.findClosest(predicate, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#findClosest(Predicate<Holder<PoiType>>,Predicate<BlockPos>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:141
  • Modifiers: public
  • Return: Optional<BlockPos>

คืออะไร

ค้นหา Closest

ทำงานยังไง

เรียกต่อ: getInRange(), map(), filter(), min(), comparingDouble(), distSqr().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • Predicate<BlockPos> predicate2
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
Predicate<BlockPos> predicate2 = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Optional<BlockPos> result = instance.findClosest(predicate, predicate2, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#findClosestWithType(Predicate<Holder<PoiType>>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:133
  • Modifiers: public
  • Return: Optional<Pair<Holder<PoiType>, BlockPos>>

คืออะไร

ค้นหา Closest With Type

ทำงานยังไง

เรียกต่อ: getInRange(), min(), comparingDouble(), getPos(), distSqr(), map(), of(), getPoiType().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Optional<Pair<Holder<PoiType>, BlockPos>> result = instance.findClosestWithType(predicate, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#getCountInRange(Predicate<Holder<PoiType>>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:77
  • Modifiers: public
  • Return: long

คืออะไร

อ่านค่า Count In Range

ทำงานยังไง

เรียกต่อ: getInRange(), count(). คืนค่า: this.getInRange(predicate, blockPos, i, occupancy).count().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
long result = instance.getCountInRange(predicate, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#getFreeTickets(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:181
  • Modifiers: public
  • Return: int

คืออะไร

อ่านค่า Free Tickets

ทำงานยังไง

เรียกต่อ: getOrLoad(), asLong(), map(), orElse(). คืนค่า: this.getOrLoad(SectionPos.asLong(blockPos)).map(poiSection -> poiSection.getFreeTickets(blockPos)).orElse(0).

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiManager instance = ...;
BlockPos blockPos = ...;
int result = instance.getFreeTickets(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiManager#getInChunk(Predicate<Holder<PoiType>>,ChunkPos,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:98
  • Modifiers: public
  • Return: Stream<PoiRecord>

คืออะไร

อ่านค่า In Chunk

ทำงานยังไง

เรียกต่อ: rangeClosed(), getMinSectionY(), getMaxSectionY(), boxed(), map(), getOrLoad(), of(), asLong().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • ChunkPos chunkPos
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
ChunkPos chunkPos = ...;
PoiManager.Occupancy occupancy = ...;
Stream<PoiRecord> result = instance.getInChunk(predicate, chunkPos, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#getInRange(Predicate<Holder<PoiType>>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:93
  • Modifiers: public
  • Return: Stream<PoiRecord>

คืออะไร

อ่านค่า In Range

ทำงานยังไง

เรียกต่อ: getInSquare(), filter(), getPos(), distSqr(). คืนค่า: this.getInSquare(predicate, blockPos, i, occupancy).filter(poiRecord -> poiRecord.getPos().distSqr(blockPos) <= j).

Parameters

  • Predicate<Holder<PoiType>> predicate
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Stream<PoiRecord> result = instance.getInRange(predicate, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#getInSquare(Predicate<Holder<PoiType>>,BlockPos,int,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:85
  • Modifiers: public
  • Return: Stream<PoiRecord>

คืออะไร

อ่านค่า In Square

ทำงานยังไง

เรียกต่อ: floorDiv(), rangeClosed(), flatMap(), getInChunk(), filter(), getPos(), abs(), getX(). สร้างออบเจ็กต์: ChunkPos. คืนค่า: Math.abs(blockPos2.getX() - blockPos.getX()) <= i && Math.abs(blockPos2.getZ() - blockPos.getZ()) <= i.

Parameters

  • Predicate<Holder<PoiType>> predicate
  • BlockPos blockPos
  • int i
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
BlockPos blockPos = ...;
PoiManager.Occupancy occupancy = ...;
Stream<PoiRecord> result = instance.getInSquare(predicate, blockPos, 0, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiManager#getRandom(Predicate<Holder<PoiType>>,Predicate<BlockPos>,PoiManager.Occupancy,BlockPos,int,RandomSource)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:160
  • Modifiers: public
  • Return: Optional<BlockPos>

คืออะไร

อ่านค่า Random

ทำงานยังไง

เรียกต่อ: toShuffledList(), getInRange(), stream(), filter(), test(), getPos(), findFirst(), map(). คืนค่า: list.stream().filter(poiRecord -> predicate2.test(poiRecord.getPos())).findFirst().map(PoiRecord::getPos).

Parameters

  • Predicate<Holder<PoiType>> predicate
  • Predicate<BlockPos> predicate2
  • PoiManager.Occupancy occupancy
  • BlockPos blockPos
  • int i
  • RandomSource randomSource

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
Predicate<BlockPos> predicate2 = ...;
PoiManager.Occupancy occupancy = ...;
BlockPos blockPos = ...;
RandomSource randomSource = ...;
Optional<BlockPos> result = instance.getRandom(predicate, predicate2, occupancy, blockPos, 0, randomSource);

net.minecraft.world.entity.ai.village.poi.PoiManager#getType(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:177
  • Modifiers: public
  • Return: Optional<Holder<PoiType>>

คืออะไร

อ่านค่า Type

ทำงานยังไง

เรียกต่อ: getOrLoad(), asLong(), flatMap(). คืนค่า: this.getOrLoad(SectionPos.asLong(blockPos)).flatMap(poiSection -> poiSection.getType(blockPos)).

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiManager instance = ...;
BlockPos blockPos = ...;
Optional<Holder<PoiType>> result = instance.getType(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiManager#onSectionLoad(long)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:214
  • Modifiers: protected
  • Return: void

คืออะไร

จัดการเหตุการณ์ Section Load

ทำงานยังไง

เรียกต่อ: update(), getLevelFromSource().

Parameters

  • long l

ตัวอย่างใช้งาน

@Override
protected void onSectionLoad(long l) {
    super.onSectionLoad(l);
}

net.minecraft.world.entity.ai.village.poi.PoiManager#PoiManager(RegionStorageInfo,Path,DataFixer,boolean,RegistryAccess,ChunkIOErrorReporter,LevelHeightAccessor)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:47
  • Modifiers: public
  • Kind: constructor

คืออะไร

สร้างออบเจ็กต์ PoiManager ด้วยพารามิเตอร์ที่ระบุ

ทำงานยังไง

แก้ state: distanceTracker. เรียกต่อ: DistanceTracker(). สร้างออบเจ็กต์: SimpleRegionStorage, PoiManager.DistanceTracker.

Parameters

  • RegionStorageInfo regionStorageInfo
  • Path path
  • DataFixer dataFixer
  • boolean bl
  • RegistryAccess registryAccess
  • ChunkIOErrorReporter chunkIOErrorReporter
  • LevelHeightAccessor levelHeightAccessor

ตัวอย่างใช้งาน

RegionStorageInfo regionStorageInfo = ...;
Path path = ...;
DataFixer dataFixer = ...;
RegistryAccess registryAccess = ...;
ChunkIOErrorReporter chunkIOErrorReporter = ...;
LevelHeightAccessor levelHeightAccessor = ...;
PoiManager instance = new PoiManager(regionStorageInfo, path, dataFixer, true, registryAccess, chunkIOErrorReporter, levelHeightAccessor);

net.minecraft.world.entity.ai.village.poi.PoiManager#release(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:167
  • Modifiers: public
  • Return: boolean

คืออะไร

ดำเนินการ release ตาม implementation ของ PoiManager

ทำงานยังไง

เรียกต่อ: getOrLoad(), asLong(), map(), orElseThrow(), pauseInIde(). สร้างออบเจ็กต์: IllegalStateException.

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiManager instance = ...;
BlockPos blockPos = ...;
boolean result = instance.release(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiManager#remove(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:73
  • Modifiers: public
  • Return: void

คืออะไร

ลบ remove

ทำงานยังไง

เรียกต่อ: getOrLoad(), asLong(), ifPresent().

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiManager instance = ...;
BlockPos blockPos = ...;
instance.remove(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiManager#sectionsToVillage(SectionPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:187
  • Modifiers: public
  • Return: int

คืออะไร

ดำเนินการ sectionsToVillage ตาม implementation ของ PoiManager

ทำงานยังไง

เรียกต่อ: runAllUpdates(), getLevel(), asLong(). คืนค่า: this.distanceTracker.getLevel(sectionPos.asLong()).

Parameters

  • SectionPos sectionPos

ตัวอย่างใช้งาน

PoiManager instance = ...;
SectionPos sectionPos = ...;
int result = instance.sectionsToVillage(sectionPos);

net.minecraft.world.entity.ai.village.poi.PoiManager#setDirty(long)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:208
  • Modifiers: protected
  • Return: void

คืออะไร

กำหนดค่า Dirty

ทำงานยังไง

เรียกต่อ: update(), getLevelFromSource().

Parameters

  • long l

ตัวอย่างใช้งาน

@Override
protected void setDirty(long l) {
    super.setDirty(l);
}

net.minecraft.world.entity.ai.village.poi.PoiManager#take(Predicate<Holder<PoiType>>,BiPredicate<Holder<PoiType>, BlockPos>,BlockPos,int)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:150
  • Modifiers: public
  • Return: Optional<BlockPos>

คืออะไร

ดำเนินการ take ตาม implementation ของ PoiManager

ทำงานยังไง

เรียกต่อ: getInRange(), filter(), test(), getPoiType(), getPos(), findFirst(), map(), acquireTicket(). คืนค่า: poiRecord.getPos().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • BiPredicate<Holder<PoiType>, BlockPos> biPredicate
  • BlockPos blockPos
  • int i

ตัวอย่างใช้งาน

PoiManager instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
BiPredicate<Holder<PoiType>, BlockPos> biPredicate = ...;
BlockPos blockPos = ...;
Optional<BlockPos> result = instance.take(predicate, biPredicate, blockPos, 0);

net.minecraft.world.entity.ai.village.poi.PoiManager#tick(BooleanSupplier)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:202
  • Modifiers: public
  • Return: void

คืออะไร

ประมวลผล tick tick

ทำงานยังไง

เรียกต่อ: runAllUpdates().

Parameters

  • BooleanSupplier booleanSupplier

ตัวอย่างใช้งาน

PoiManager instance = ...;
BooleanSupplier booleanSupplier = ...;
instance.tick(booleanSupplier);

PoiManager$Occupancy

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiManager$Occupancy
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiManager.java
  • Type: enum
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiManager$Occupancy#getTest()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiManager.java:300
  • Modifiers: public
  • Return: Predicate<? super PoiRecord>

คืออะไร

อ่านค่า Test

ทำงานยังไง

คืนค่า: this.test.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiManager.Occupancy instance = ...;
Predicate<? super PoiRecord> result = instance.getTest();

PoiRecord

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiRecord
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiRecord.java
  • Type: class
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiRecord#acquireTicket()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:39
  • Modifiers: protected
  • Return: boolean

คืออะไร

ดำเนินการ acquireTicket ตาม implementation ของ PoiRecord

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. แก้ state: freeTickets. เรียกต่อ: run(). มีจุด return อย่างน้อย 2 จุด.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

@Override
protected boolean acquireTicket() {
    return super.acquireTicket();
}

net.minecraft.world.entity.ai.village.poi.PoiRecord#equals(Object)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:75
  • Modifiers: public
  • Return: boolean

คืออะไร

เปรียบเทียบความเท่ากัน equals

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. เรียกต่อ: getClass(). มีจุด return อย่างน้อย 2 จุด.

Parameters

  • Object object

ตัวอย่างใช้งาน

PoiRecord instance = ...;
Object object = ...;
boolean result = instance.equals(object);

net.minecraft.world.entity.ai.village.poi.PoiRecord#getFreeTickets()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:33
  • Modifiers: public
  • Return: int

คืออะไร

อ่านค่า Free Tickets

ทำงานยังไง

คืนค่า: this.freeTickets.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
int result = instance.getFreeTickets();

net.minecraft.world.entity.ai.village.poi.PoiRecord#getPoiType()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:71
  • Modifiers: public
  • Return: Holder<PoiType>

คืออะไร

อ่านค่า Poi Type

ทำงานยังไง

คืนค่า: this.poiType.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
Holder<PoiType> result = instance.getPoiType();

net.minecraft.world.entity.ai.village.poi.PoiRecord#getPos()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:67
  • Modifiers: public
  • Return: BlockPos

คืออะไร

อ่านค่า Pos

ทำงานยังไง

คืนค่า: this.pos.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
BlockPos result = instance.getPos();

net.minecraft.world.entity.ai.village.poi.PoiRecord#hashCode()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:84
  • Modifiers: public
  • Return: int

คืออะไร

ดำเนินการ hashCode ตาม implementation ของ PoiRecord

ทำงานยังไง

คืนค่า: this.pos.hashCode().

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
int result = instance.hashCode();

net.minecraft.world.entity.ai.village.poi.PoiRecord#hasSpace()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:59
  • Modifiers: public
  • Return: boolean

คืออะไร

ตรวจสอบว่ามี Space

ทำงานยังไง

คืนค่า: this.freeTickets > 0.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
boolean result = instance.hasSpace();

net.minecraft.world.entity.ai.village.poi.PoiRecord#isOccupied()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:63
  • Modifiers: public
  • Return: boolean

คืออะไร

ตรวจสอบสถานะ Occupied

ทำงานยังไง

เรียกต่อ: value(), maxTickets(). คืนค่า: this.freeTickets != this.poiType.value().maxTickets().

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
boolean result = instance.isOccupied();

net.minecraft.world.entity.ai.village.poi.PoiRecord#pack()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:29
  • Modifiers: public
  • Return: PoiRecord.Packed

คืออะไร

ดำเนินการ pack ตาม implementation ของ PoiRecord

ทำงานยังไง

เรียกต่อ: Packed(). สร้างออบเจ็กต์: PoiRecord.Packed. คืนค่า: new PoiRecord.Packed(this.pos, this.poiType, this.freeTickets).

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiRecord instance = ...;
PoiRecord.Packed result = instance.pack();

net.minecraft.world.entity.ai.village.poi.PoiRecord#PoiRecord(BlockPos,Holder<PoiType>,Runnable)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:25
  • Modifiers: public
  • Kind: constructor

คืออะไร

สร้างออบเจ็กต์ PoiRecord ด้วยพารามิเตอร์ที่ระบุ

ทำงานยังไง

เรียกต่อ: value(), maxTickets().

Parameters

  • BlockPos blockPos
  • Holder<PoiType> holder
  • Runnable runnable

ตัวอย่างใช้งาน

BlockPos blockPos = ...;
Holder<PoiType> holder = ...;
Runnable runnable = ...;
PoiRecord instance = new PoiRecord(blockPos, holder, runnable);

net.minecraft.world.entity.ai.village.poi.PoiRecord#releaseTicket()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:49
  • Modifiers: protected
  • Return: boolean

คืออะไร

ดำเนินการ releaseTicket ตาม implementation ของ PoiRecord

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. แก้ state: freeTickets. เรียกต่อ: value(), maxTickets(), run(). มีจุด return อย่างน้อย 2 จุด.

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

@Override
protected boolean releaseTicket() {
    return super.releaseTicket();
}

PoiRecord$Packed

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiRecord$Packed
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiRecord.java
  • Type: record
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiRecord$Packed#unpack(Runnable)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiRecord.java:99
  • Modifiers: public
  • Return: PoiRecord

คืออะไร

ดำเนินการ unpack ตาม implementation ของ PoiRecord$Packed

ทำงานยังไง

สร้างออบเจ็กต์: PoiRecord. คืนค่า: new PoiRecord(this.pos, this.poiType, this.freeTickets, runnable).

Parameters

  • Runnable runnable

ตัวอย่างใช้งาน

PoiRecord.Packed instance = ...;
Runnable runnable = ...;
PoiRecord result = instance.unpack(runnable);

PoiSection

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiSection
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiSection.java
  • Type: class
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiSection#add(BlockPos,Holder<PoiType>)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:56
  • Modifiers: public
  • Return: void

คืออะไร

เพิ่ม add

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. เรียกต่อ: debug(), getRegisteredName(), run(). สร้างออบเจ็กต์: PoiRecord.

Parameters

  • BlockPos blockPos
  • Holder<PoiType> holder

ตัวอย่างใช้งาน

PoiSection instance = ...;
BlockPos blockPos = ...;
Holder<PoiType> holder = ...;
instance.add(blockPos, holder);

net.minecraft.world.entity.ai.village.poi.PoiSection#exists(BlockPos,Predicate<Holder<PoiType>>)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:109
  • Modifiers: public
  • Return: boolean

คืออะไร

ดำเนินการ exists ตาม implementation ของ PoiSection

ทำงานยังไง

เรียกต่อ: getType(), filter(), isPresent(). คืนค่า: this.getType(blockPos).filter(predicate).isPresent().

Parameters

  • BlockPos blockPos
  • Predicate<Holder<PoiType>> predicate

ตัวอย่างใช้งาน

PoiSection instance = ...;
BlockPos blockPos = ...;
Predicate<Holder<PoiType>> predicate = ...;
boolean result = instance.exists(blockPos, predicate);

net.minecraft.world.entity.ai.village.poi.PoiSection#getFreeTickets(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:92
  • Modifiers: public
  • Return: int

คืออะไร

อ่านค่า Free Tickets

ทำงานยังไง

เรียกต่อ: getPoiRecord(), map(), orElse(). คืนค่า: this.getPoiRecord(blockPos).map(PoiRecord::getFreeTickets).orElse(0).

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiSection instance = ...;
BlockPos blockPos = ...;
int result = instance.getFreeTickets(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiSection#getRecords(Predicate<Holder<PoiType>>,PoiManager.Occupancy)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:47
  • Modifiers: public
  • Return: Stream<PoiRecord>

คืออะไร

อ่านค่า Records

ทำงานยังไง

เรียกต่อ: entrySet(), stream(), filter(), test(), getKey(), flatMap(), getValue(), getTest().

Parameters

  • Predicate<Holder<PoiType>> predicate
  • PoiManager.Occupancy occupancy

ตัวอย่างใช้งาน

PoiSection instance = ...;
Predicate<Holder<PoiType>> predicate = ...;
PoiManager.Occupancy occupancy = ...;
Stream<PoiRecord> result = instance.getRecords(predicate, occupancy);

net.minecraft.world.entity.ai.village.poi.PoiSection#getType(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:113
  • Modifiers: public
  • Return: Optional<Holder<PoiType>>

คืออะไร

อ่านค่า Type

ทำงานยังไง

เรียกต่อ: getPoiRecord(), map(). คืนค่า: this.getPoiRecord(blockPos).map(PoiRecord::getPoiType).

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiSection instance = ...;
BlockPos blockPos = ...;
Optional<Holder<PoiType>> result = instance.getType(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiSection#pack()

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:43
  • Modifiers: public
  • Return: PoiSection.Packed

คืออะไร

ดำเนินการ pack ตาม implementation ของ PoiSection

ทำงานยังไง

เรียกต่อ: Packed(), values(), stream(), map(), toList(). สร้างออบเจ็กต์: PoiSection.Packed. คืนค่า: new PoiSection.Packed(this.isValid, this.records.values().stream().map(PoiRecord::pack).toList()).

Parameters

  • ไม่มี

ตัวอย่างใช้งาน

PoiSection instance = ...;
PoiSection.Packed result = instance.pack();

net.minecraft.world.entity.ai.village.poi.PoiSection#PoiSection(Runnable)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:33
  • Modifiers: public
  • Kind: constructor

คืออะไร

สร้างออบเจ็กต์ PoiSection ด้วยพารามิเตอร์ที่ระบุ

ทำงานยังไง

เรียกต่อ: of().

Parameters

  • Runnable runnable

ตัวอย่างใช้งาน

Runnable runnable = ...;
PoiSection instance = new PoiSection(runnable);

net.minecraft.world.entity.ai.village.poi.PoiSection#refresh(Consumer<BiConsumer<BlockPos, Holder<PoiType>>>)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:121
  • Modifiers: public
  • Return: void

คืออะไร

ดำเนินการ refresh ตาม implementation ของ PoiSection

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. แก้ state: isValid. เรียกต่อ: clear(), accept(), sectionRelativePos(), computeIfAbsent(), add(), run(). สร้างออบเจ็กต์: Short2ObjectOpenHashMap<>, PoiRecord.

Parameters

  • Consumer<BiConsumer<BlockPos, Holder<PoiType>>> consumer

ตัวอย่างใช้งาน

PoiSection instance = ...;
Consumer<BiConsumer<BlockPos, Holder<PoiType>>> consumer = ...;
instance.refresh(consumer);

net.minecraft.world.entity.ai.village.poi.PoiSection#release(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:98
  • Modifiers: public
  • Return: boolean

คืออะไร

ดำเนินการ release ตาม implementation ของ PoiSection

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. เรียกต่อ: get(), sectionRelativePos(), pauseInIde(), releaseTicket(), run(). สร้างออบเจ็กต์: IllegalStateException. คืนค่า: bl.

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiSection instance = ...;
BlockPos blockPos = ...;
boolean result = instance.release(blockPos);

net.minecraft.world.entity.ai.village.poi.PoiSection#remove(BlockPos)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:81
  • Modifiers: public
  • Return: void

คืออะไร

ลบ remove

ทำงานยังไง

ตรวจเงื่อนไขด้วย if. เรียกต่อ: sectionRelativePos(), error(), get(), getPoiType(), debug(), defer(), run().

Parameters

  • BlockPos blockPos

ตัวอย่างใช้งาน

PoiSection instance = ...;
BlockPos blockPos = ...;
instance.remove(blockPos);

PoiSection$Packed

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiSection$Packed
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiSection.java
  • Type: record
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiSection$Packed#unpack(Runnable)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiSection.java:153
  • Modifiers: public
  • Return: PoiSection

คืออะไร

ดำเนินการ unpack ตาม implementation ของ PoiSection$Packed

ทำงานยังไง

เรียกต่อ: stream(), map(), toList(). สร้างออบเจ็กต์: PoiSection. คืนค่า: new PoiSection(runnable, this.isValid, this.records.stream().map(packed -> packed.unpack(runnable)).toList()).

Parameters

  • Runnable runnable

ตัวอย่างใช้งาน

PoiSection.Packed instance = ...;
Runnable runnable = ...;
PoiSection result = instance.unpack(runnable);

PoiType

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiType
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiType.java
  • Type: record
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiType#is(BlockState)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiType.java:15
  • Modifiers: public
  • Return: boolean

คืออะไร

ตรวจสอบสถานะ is

ทำงานยังไง

เรียกต่อ: contains(). คืนค่า: this.matchingStates.contains(blockState).

Parameters

  • BlockState blockState

ตัวอย่างใช้งาน

PoiType instance = ...;
BlockState blockState = ...;
boolean result = instance.is(blockState);

net.minecraft.world.entity.ai.village.poi.PoiType#PoiType(Set<BlockState>,int,int)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiType.java:11
  • Modifiers: public
  • Kind: constructor

คืออะไร

สร้างออบเจ็กต์ PoiType ด้วยพารามิเตอร์ที่ระบุ

ทำงานยังไง

เรียกต่อ: copyOf().

Parameters

  • Set<BlockState> matchingStates
  • int maxTickets
  • int validRange

ตัวอย่างใช้งาน

Set<BlockState> matchingStates = ...;
PoiType instance = new PoiType(matchingStates, 0, 0);

PoiTypes

  • Full name: net.minecraft.world.entity.ai.village.poi.PoiTypes
  • Package: net.minecraft.world.entity.ai.village.poi
  • Source: commonnet/minecraft/world/entity/ai/village/poi/PoiTypes.java
  • Type: class
  • Modifiers: public

net.minecraft.world.entity.ai.village.poi.PoiTypes#bootstrap(Registry<PoiType>)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiTypes.java:103
  • Modifiers: public static
  • Return: PoiType

คืออะไร

ดำเนินการ bootstrap ตาม implementation ของ PoiTypes

ทำงานยังไง

เรียกต่อ: register(), getBlockStates(). คืนค่า: register(registry, LIGHTNING_ROD, getBlockStates(Blocks.LIGHTNING_ROD), 0, 1).

Parameters

  • Registry<PoiType> registry

ตัวอย่างใช้งาน

Registry<PoiType> registry = ...;
PoiType result = PoiTypes.bootstrap(registry);

net.minecraft.world.entity.ai.village.poi.PoiTypes#forState(BlockState)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiTypes.java:95
  • Modifiers: public static
  • Return: Optional<Holder<PoiType>>

คืออะไร

ดำเนินการ forState ตาม implementation ของ PoiTypes

ทำงานยังไง

เรียกต่อ: ofNullable(), get(). คืนค่า: Optional.ofNullable(TYPE_BY_STATE.get(blockState)).

Parameters

  • BlockState blockState

ตัวอย่างใช้งาน

BlockState blockState = ...;
Optional<Holder<PoiType>> result = PoiTypes.forState(blockState);

net.minecraft.world.entity.ai.village.poi.PoiTypes#hasPoi(BlockState)

  • Origin: common
  • Source: net/minecraft/world/entity/ai/village/poi/PoiTypes.java:99
  • Modifiers: public static
  • Return: boolean

คืออะไร

ตรวจสอบว่ามี Poi

ทำงานยังไง

เรียกต่อ: containsKey(). คืนค่า: TYPE_BY_STATE.containsKey(blockState).

Parameters

  • BlockState blockState

ตัวอย่างใช้งาน

BlockState blockState = ...;
boolean result = PoiTypes.hasPoi(blockState);