From 777f510256896bbf7cd73b6da7109b875ef6218e Mon Sep 17 00:00:00 2001 From: Myles Date: Wed, 7 Dec 2022 21:49:09 -0600 Subject: fix this random stacktrace I got I think it happens if the snowball despawns before hitting something? here's the stacktrace for future reference: [21:46:02 ERROR]: Could not pass event ProjectileHitEvent to tumble v0.0.1-SNAPSHOT java.lang.NullPointerException: Cannot invoke "org.bukkit.block.Block.getWorld()" because the return value of "org.bukkit.event.entity.ProjectileHitEvent.getHitBlock()" is null at com.MylesAndMore.tumble.EventListener.ProjectileHitEvent(EventListener.java:97) ~[tumble-0.0.1-SNAPSHOT.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:git-Paper-235] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:670) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.callProjectileHitEvent(CraftEventFactory.java:1423) ~[paper-1.19.2.jar:git-Paper-235] at net.minecraft.world.entity.projectile.Projectile.preOnHit(Projectile.java:169) ~[?:?] at net.minecraft.world.entity.projectile.ThrowableProjectile.tick(ThrowableProjectile.java:79) ~[?:?] at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:1192) ~[?:?] at net.minecraft.world.level.Level.guardEntityTick(Level.java:897) ~[?:?] at net.minecraft.server.level.ServerLevel.lambda$tick$6(ServerLevel.java:730) ~[?:?] at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:42) ~[paper-1.19.2.jar:git-Paper-235] at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:710) ~[?:?] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1535) ~[paper-1.19.2.jar:git-Paper-235] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:446) ~[paper-1.19.2.jar:git-Paper-235] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1397) ~[paper-1.19.2.jar:git-Paper-235] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1173) ~[paper-1.19.2.jar:git-Paper-235] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:305) ~[paper-1.19.2.jar:git-Paper-235] at java.lang.Thread.run(Thread.java:833) ~[?:?] --- src/main/java/com/MylesAndMore/tumble/EventListener.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/MylesAndMore/tumble/EventListener.java b/src/main/java/com/MylesAndMore/tumble/EventListener.java index 00dbe07..a0f5061 100644 --- a/src/main/java/com/MylesAndMore/tumble/EventListener.java +++ b/src/main/java/com/MylesAndMore/tumble/EventListener.java @@ -107,6 +107,9 @@ public class EventListener implements Listener{ } } } + else if (event.getHitBlock().getWorld() == null) { + event.setCancelled(true); + } } } -- cgit v1.2.3