Better mobGriefing GameRule

Better mobGriefing GameRule

1M Downloads

Reloaded Fireballs

Jophire opened this issue ยท 1 comments

commented

So I believe I have found a bug involving Fireballs that fly into unloaded chunks that are then loaded later.

Time: 4/24/18 4:47 PM
Description: Ticking entity

java.lang.NullPointerException: Ticking entity
	at net.minecraft.entity.EntityList.func_191301_a(EntityList.java:116)
	at com.judge40.minecraft.bettermobgriefinggamerule.BetterMobGriefingGameRule.isMobGriefingEnabled(BetterMobGriefingGameRule.java:140)
	at com.judge40.minecraft.bettermobgriefinggamerule.common.MobGriefingEventHandler.onMobGriefing(MobGriefingEventHandler.java:57)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1049_MobGriefingEventHandler_onMobGriefing_EntityMobGriefingEvent.invoke(.dynamic)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
	at net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(ForgeEventFactory.java:764)
	at net.minecraft.entity.projectile.EntityLargeFireball.func_70227_a(EntityLargeFireball.java:43)
	at net.minecraft.entity.projectile.EntityFireball.func_70071_h_(EntityFireball.java:98)
	at net.minecraft.world.World.func_72866_a(World.java:1990)
	at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
	at net.minecraft.world.World.func_72870_g(World.java:1952)
	at net.minecraft.world.World.func_72939_s(World.java:1756)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:765)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
	at java.lang.Thread.run(Thread.java:745)


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

-- Head --
Thread: Server thread
Stacktrace:
	at net.minecraft.entity.EntityList.func_191301_a(EntityList.java:116)
	at com.judge40.minecraft.bettermobgriefinggamerule.BetterMobGriefingGameRule.isMobGriefingEnabled(BetterMobGriefingGameRule.java:140)
	at com.judge40.minecraft.bettermobgriefinggamerule.common.MobGriefingEventHandler.onMobGriefing(MobGriefingEventHandler.java:57)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1049_MobGriefingEventHandler_onMobGriefing_EntityMobGriefingEvent.invoke(.dynamic)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
	at net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(ForgeEventFactory.java:764)
	at net.minecraft.entity.projectile.EntityLargeFireball.func_70227_a(EntityLargeFireball.java:43)
	at net.minecraft.entity.projectile.EntityFireball.func_70071_h_(EntityFireball.java:98)
	at net.minecraft.world.World.func_72866_a(World.java:1990)
	at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
	at net.minecraft.world.World.func_72870_g(World.java:1952)

-- Entity being ticked --
Details:
	Entity Type: minecraft:fireball (net.minecraft.entity.projectile.EntityLargeFireball)
	Entity ID: 701
	Entity Name: Fireball
	Entity's Exact location: -270.65, 105.62, -228.78
	Entity's Block location: World: (-271,105,-229), Chunk: (at 1,6,11 in -17,-15; contains blocks -272,0,-240 to -257,255,-225), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
	Entity's Momentum: -0.20, 0.05, -1.89
	Entity's Passengers: []
	Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
	at net.minecraft.world.World.func_72939_s(World.java:1756)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)

-- Affected level --
Details:
	Level name: world
	All players: 1 total; [EntityPlayerMP['JonReed'/552, l='world', x=-263.00, y=79.00, z=-161.23]]
	Chunk stats: ServerChunkCache: 203 Drop: 0
	Level seed: 1797128455165502485
	Level generator: ID 00 - default, ver 1. Features enabled: false
	Level generator options: 
	Level spawn location: World: (0,0,0), Chunk: (at 0,0,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Level time: 0 game time, 0 day time
	Level dimension: 0
	Level storage version: 0x00000 - Unknown?
	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
	Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
Stacktrace:
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:765)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
	at java.lang.Thread.run(Thread.java:745)
commented

Thanks for the report, it looks like this happens because when the fireball is reloaded it no longer contains the entity information for the shooter. Easily fixed, but without an entity to check the global rule will have to be used to determine behaviour.