SirSquidly / Oceanic-Expanse

A 1.12.2 Minecraft Mod which adds various pieces of ocean-based content.
9 stars 1 forks source link

Drowned AI server crash #6

Closed brisingraerowing closed 1 year ago

brisingraerowing commented 1 year ago
[20:20:39] [Server thread/ERROR] [net.minecraft.server.MinecraftServer]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking entity
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:773) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668) ~[MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185) ~[chd.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_345]
Caused by: java.lang.ClassCastException: net.minecraft.pathfinding.PathNavigateSwimmer cannot be cast to net.minecraft.pathfinding.PathNavigateGround
    at net.minecraft.entity.ai.EntityAIMoveThroughVillage.shouldExecute(SourceFile:54) ~[xq.class:?]
    at net.minecraft.entity.ai.EntityAITasks.onUpdateTasks(SourceFile:94) ~[xf.class:?]
    at net.minecraft.entity.EntityLiving.updateEntityActionState(EntityLiving.java:763) ~[vq.class:?]
    at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2359) ~[vp.class:?]
    at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:577) ~[vq.class:?]
    at net.minecraft.entity.monster.EntityMob.onLivingUpdate(EntityMob.java:45) ~[ade.class:?]
    at net.minecraft.entity.monster.EntityZombie.onLivingUpdate(EntityZombie.java:223) ~[adt.class:?]
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2179) ~[vp.class:?]
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:295) ~[vq.class:?]
    at net.minecraft.entity.monster.EntityMob.onUpdate(EntityMob.java:50) ~[ade.class:?]
    at com.sirsquidly.oe.entity.EntityDrowned.onUpdate(EntityDrowned.java:155) ~[EntityDrowned.class:?]
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1996) ~[amu.class:?]
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:832) ~[oo.class:?]
    at net.minecraft.world.World.updateEntity(World.java:1958) ~[amu.class:?]
    at net.minecraft.world.World.updateEntities(World.java:1762) ~[amu.class:?]
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:613) ~[oo.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:767) ~[MinecraftServer.class:?]
    ... 4 more

This pops up in the logs and causes the server to hang.

SirSquidly commented 1 year ago

Fixed in version 1.0.4.

SirSquidly commented 1 year ago

Note that due to this being AI for the drowned, there is a possibility that any Drowned spawned before this fix will still have the AI Task.

I'd recommend running /kill @e[type=oe:drowned] to make sure this doesn't crop up from currently living ones.