fix: mitigation for container tracker

This commit is contained in:
xtex 2023-08-10 11:48:16 +08:00
parent d578db6fb2
commit db74d07155
Signed by: xtex
GPG Key ID: B918086ED8045B91

View File

@ -10,6 +10,7 @@ import net.minecraft.world.level.block.entity.BaseContainerBlockEntity
import quaedam.Quaedam
import quaedam.utils.getChunksNearby
import java.util.*
import kotlin.random.Random
class NearestVisibleContainer : Sensor<LivingEntity>() {
@ -33,7 +34,8 @@ class NearestVisibleContainer : Sensor<LivingEntity>() {
if (entity.tickCount and 0b11111 == 0) { // 32gt
val pos = level.getChunksNearby(entity.blockPosition(), 1)
.flatMap { it.blockEntities.filterValues { be -> be is BaseContainerBlockEntity }.keys }
.minByOrNull { it.distManhattan(entity.blockPosition()) }
.shuffled(Random(entity.random.nextLong()))
.minByOrNull { it.distManhattan(entity.blockPosition()) / 5 }
entity.brain.setMemory(memory.get(), pos)
}
}