Mekanism

Mekanism

111M Downloads

server crash when making robit spawner

sum-catnip opened this issue ยท 1 comments

commented

Please use the search functionality before reporting an issue. Also take a look at the closed issues!

Issue description:

So the server crashes when someone uses enderio powered spawners to make a robit spawner. Im pretty sure this happens because robits spawned this way do not have owners and to follow their owners (which robits do constantly) they are trying to get their owners uuid. This was discovered by a player on my server and now they have the ability to crash the server whenever they feel like it which is rather suboptimal.

Steps to reproduce:

  1. right click robit with enderio soul vial
  2. make powered spawner with soul vial
  3. power spawner

Version (make sure you are on the latest version before reporting):

Forge: 8.0.99.99
Mekanism: 1.12.2-9.8.3.390
Other relevant version:

If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)

    at java.util.UUID.fromString(UUID.java:194)
    at mekanism.common.entity.EntityRobit.getOwnerUUID(EntityRobit.java:441)
    at mekanism.common.entity.EntityRobit.getOwner(EntityRobit.java:433)
    at mekanism.common.entity.ai.RobitAIFollow.shouldExecute(RobitAIFollow.java:31)
    at net.minecraft.entity.ai.EntityAITasks.onUpdateTasks(SourceFile:94)
    at net.minecraft.entity.EntityLiving.updateEntityActionState(EntityLiving.java:763)
    at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2359)
    at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:577)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2179)
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:295)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1996)
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:832)
    at net.minecraft.world.World.updateEntity(World.java:1958)
    at net.minecraft.world.World.redirect$zzn000$updateEntity(World.java:4123)
    at net.minecraft.world.World.updateEntities(World.java:1762)
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:613)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:767)
    at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:397)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
    at java.lang.Thread.run(Thread.java:748)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Entity being ticked --
  Entity Type: mekanism:robit (mekanism.common.entity.EntityRobit)
  Entity ID: 3444595
  Entity Name: Robit
  Entity's Exact location: -645.50, 61.01, -66.50
  Entity's Block location: World: (-646,61,-67), Chunk: (at 10,3,13 in -41,-5; contains blocks -656,0,-80 to -641,255,-65), Region: (-2,-1; contains chunks -64,-32 to -33,-1, blocks -1024,0,-512 to -513,255,-1)
  Entity's Momentum: 0.00, 0.00, 0.00
  Entity's Passengers: []
  Entity's Vehicle: ~~ERROR~~ NullPointerException: null
  Entity NBT: ~~ERROR~~ ReportedException: Saving entity NBT```
commented

You are correct that robits are always supposed to have owners, what I would recommend is blacklisting them from enderio's powered spawners as if memory serves there is a configuration of some sort for what things can be put in them (or at least for what can be put in soul vials).