Bewitchment

Bewitchment

7M Downloads

Owls, Ravens, Ghosts, and possibly other mobs needs spawn restrictions

TelepathicGrunt opened this issue ยท 0 comments

commented

This is consolidating several reports from AOF3 users as they all seem to come from the same issue.

First issue is that Owls and Ravens were reported to spawn on top of large bodies of water in any biome and get stuck not moving. This could also occur if the player creates a manmade lake as well.
image

The best way to solve this is to make a spawn restriction for Owls, Ravens, and possibly other mobs to not spawn on top of water. And then change their AI so that if they do end up on a body of water, they fly straight until they find land they can pathfind on. This would resolve the behavior seen from natural spawning and would also fix it when the mob is forced onto lakes manually by players.

The second issue is people are reporting an excessive amount of ghost spawning. From a guy in AOF3 discord:
"Their Ghosts need some serious checks, Tejk and I changed this in their code to allow Kibe Big Torch to prevent ghost spawns, because they have a default weight of 6, and have noClip so they can float through blocks. Quite annoying.
Tejk: exchanged:
public static final EntityType<GhostEntity> GHOST = create("ghost", GhostEntity.createAttributes(), FabricEntityTypeBuilder.Mob.create(SpawnGroup.MONSTER, GhostEntity::new).dimensions(EntityDimensions.fixed(0.6f, 1.8f)).fireImmune().build());
with:
public static final EntityType<GhostEntity> GHOST = create("ghost", GhostEntity.createAttributes(), FabricEntityTypeBuilder.Mob.createMob().spawnGroup(SpawnGroup.MONSTER).entityFactory(GhostEntity::new).dimensions(EntityDimensions.fixed(0.6f, 1.8f)).fireImmune().spawnRestriction(SpawnRestriction.Location.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, HostileEntity::canSpawnInDark).build());
"
This is the same spawn restriction that zombies have so that Ghosts only spawn in the dark/night and only spawn in open space like in caves instead of inside the walls. This is more sensible and prevents Ghosts from spawning like mad when people light up an area enough to stop other monster spawning. (could even throw in that ghosts despawn when they touch sunlight too!)