MechanicsMain
MechanicsMain copied to clipboard
NPE when an explosive detonates
Current/Expected Behavior
An NPE is thrown when an explosive detonates with no nearby entities. As a result, all Mechanics
under Explosion
fail to execute.
Steps To Reproduce
- Spawn this weapon.
- Throw it.
- Observe the NPE in the logs and how none of the sounds play.
Log File
[13:05:02] [Server thread/WARN]: [WeaponMechanics] Task #29173131 for WeaponMechanics v3.3.3 generated an exception
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.LivingEntity.getLocation()" because "targetEntity" is null
at me.deecaad.core.mechanics.CastData.setTargetEntity(CastData.java:102) ~[MechanicsCore-3.3.3.jar:?]
at me.deecaad.core.mechanics.PlayerEffectMechanicList.use(PlayerEffectMechanicList.java:75) ~[MechanicsCore-3.3.3.jar:?]
at me.deecaad.core.mechanics.Mechanics.use(Mechanics.java:86) ~[MechanicsCore-3.3.3.jar:?]
at me.deecaad.weaponmechanics.weapon.explode.Explosion.explode(Explosion.java:339) ~[WeaponMechanics-3.3.3.jar:?]
at me.deecaad.weaponmechanics.weapon.explode.Explosion$1.run(Explosion.java:194) ~[WeaponMechanics-3.3.3.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[?:git-UniverseSpigot-"c416784"]
at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:482) ~[?:git-UniverseSpigot-"c416784"]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1656) ~[?:git-UniverseSpigot-"c416784"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:465) ~[?:git-UniverseSpigot-"c416784"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1539) ~[?:git-UniverseSpigot-"c416784"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1240) ~[?:git-UniverseSpigot-"c416784"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[?:git-UniverseSpigot-"c416784"]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Anything else?
Here is the resource pack used for the custom sounds.