Compare commits
No commits in common. "d110d688c60bcf70d37945994419b423ca4305b4" and "e25f23f40bb1a5fce3bf64dba12baf25f4df027f" have entirely different histories.
d110d688c6
...
e25f23f40b
@ -177,8 +177,7 @@ class ProjectedPersonEntity(entityType: EntityType<out PathfinderMob>, level: Le
|
|||||||
Projector.findNearbyProjections(level(), blockPosition(), SwarmProjection.effect.get()).isNotEmpty()
|
Projector.findNearbyProjections(level(), blockPosition(), SwarmProjection.effect.get()).isNotEmpty()
|
||||||
|
|
||||||
override fun checkDespawn() {
|
override fun checkDespawn() {
|
||||||
// no despawn
|
super.checkDespawn()
|
||||||
// super.checkDespawn()
|
|
||||||
if (!checkProjectionEffect() && !CausalityAnchor.checkEffect(level(), blockPosition())) {
|
if (!checkProjectionEffect() && !CausalityAnchor.checkEffect(level(), blockPosition())) {
|
||||||
dropEquipment()
|
dropEquipment()
|
||||||
remove(RemovalReason.KILLED)
|
remove(RemovalReason.KILLED)
|
||||||
|
@ -71,7 +71,6 @@ object ProjectedPersonAI {
|
|||||||
MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE,
|
MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE,
|
||||||
MemoryModuleType.HOME,
|
MemoryModuleType.HOME,
|
||||||
MemoryModuleType.LAST_WOKEN,
|
MemoryModuleType.LAST_WOKEN,
|
||||||
MemoryModuleType.NEAREST_BED,
|
|
||||||
NearestVisibleContainer.memory.get(),
|
NearestVisibleContainer.memory.get(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -159,15 +158,7 @@ object ProjectedPersonAI {
|
|||||||
brain.addActivity(
|
brain.addActivity(
|
||||||
Activity.WORK, ImmutableList.of(
|
Activity.WORK, ImmutableList.of(
|
||||||
5 weight ExchangeItem(),
|
5 weight ExchangeItem(),
|
||||||
7 weight WorkPoiAI.createStrollAroundPoi(),
|
10 weight createStrollBehavior(),
|
||||||
7 weight WorkPoiAI.createStrollToPoi(),
|
|
||||||
10 weight RunOne(
|
|
||||||
mapOf(),
|
|
||||||
listOf(
|
|
||||||
1 weightR createStrollBehavior(),
|
|
||||||
1 weightR WorkPoiAI.createAcquirePoi(),
|
|
||||||
)
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -191,7 +182,7 @@ object ProjectedPersonAI {
|
|||||||
|
|
||||||
private fun createStrollBehavior() = RunOne(
|
private fun createStrollBehavior() = RunOne(
|
||||||
listOf(
|
listOf(
|
||||||
2 weightR RandomStroll.stroll(1.0f, 25, 12),
|
2 weightR RandomStroll.stroll(1.0f),
|
||||||
2 weightR SetWalkTargetFromLookTarget.create(1.0f, 5),
|
2 weightR SetWalkTargetFromLookTarget.create(1.0f, 5),
|
||||||
1 weightR DoNothing(30, 60)
|
1 weightR DoNothing(30, 60)
|
||||||
)
|
)
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
package quaedam.projection.swarm.ai
|
|
||||||
|
|
||||||
import net.minecraft.core.GlobalPos
|
|
||||||
import net.minecraft.world.entity.ai.behavior.AcquirePoi
|
|
||||||
import net.minecraft.world.entity.ai.behavior.StrollAroundPoi
|
|
||||||
import net.minecraft.world.entity.ai.behavior.StrollToPoi
|
|
||||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType
|
|
||||||
import net.minecraft.world.entity.ai.village.poi.PoiTypes
|
|
||||||
import quaedam.Quaedam
|
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
object WorkPoiAI {
|
|
||||||
|
|
||||||
const val ID = "work"
|
|
||||||
|
|
||||||
val poiTypes by lazy {
|
|
||||||
setOf(
|
|
||||||
PoiTypes.ARMORER,
|
|
||||||
PoiTypes.BUTCHER,
|
|
||||||
PoiTypes.CARTOGRAPHER,
|
|
||||||
PoiTypes.CLERIC,
|
|
||||||
PoiTypes.FARMER,
|
|
||||||
PoiTypes.FISHERMAN,
|
|
||||||
PoiTypes.FLETCHER,
|
|
||||||
PoiTypes.LEATHERWORKER,
|
|
||||||
PoiTypes.LIBRARIAN,
|
|
||||||
PoiTypes.MASON,
|
|
||||||
PoiTypes.SHEPHERD,
|
|
||||||
PoiTypes.TOOLSMITH,
|
|
||||||
PoiTypes.WEAPONSMITH,
|
|
||||||
PoiTypes.LODESTONE,
|
|
||||||
PoiTypes.LIGHTNING_ROD,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
val memory = Quaedam.memoryTypes.register(ID) {
|
|
||||||
MemoryModuleType(Optional.of(GlobalPos.CODEC))
|
|
||||||
}!!
|
|
||||||
|
|
||||||
fun createAcquirePoi() =
|
|
||||||
AcquirePoi.create({ it.`is` { key -> key in poiTypes } }, memory.get(), false, Optional.empty())
|
|
||||||
|
|
||||||
fun createStrollToPoi() =
|
|
||||||
StrollToPoi.create(memory.get(), 0.4f, 7, 4)
|
|
||||||
|
|
||||||
fun createStrollAroundPoi() =
|
|
||||||
StrollAroundPoi.create(memory.get(), 0.4f, 5)
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user