andrei1058 / BedWars1058

A minecraft minigame where you have to defend your bed and destroy the others. Once your bed is destroyed, you cannot respawn.
GNU General Public License v3.0
278 stars 220 forks source link

Scoreboard error (problem explained) #771

Closed hamza-cskn closed 1 year ago

hamza-cskn commented 1 year ago

stacktrace

[19:12:08] [Server thread/ERROR]: Could not pass event PlayerKillEvent to BedWars1058 v23.3
org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.8.8.jar:git-PaperSpigot-445]
    at com.andrei1058.bedwars.listeners.DamageDeathMove.onDeath(DamageDeathMove.java:442) [Bedwars1058_23.3.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) [patched_1.8.8.jar:git-PaperSpigot-445]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:396) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.EntityPlayer.die(EntityPlayer.java:425) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.java:822) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.EntityHuman.damageEntity(EntityHuman.java:801) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.EntityPlayer.damageEntity(EntityPlayer.java:504) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.EntityHuman.attack(EntityHuman.java:1002) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.EntityPlayer.attack(EntityPlayer.java:1086) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1382) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PacketPlayInUseEntity.a(SourceFile:52) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PacketPlayInUseEntity.a(SourceFile:11) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.8.8.jar:git-PaperSpigot-445]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched_1.8.8.jar:git-PaperSpigot-445]
    at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NullPointerException
    at com.andrei1058.bedwars.sidebar.SidebarService.lambda$refreshPlaceholders$2(SidebarService.java:157) ~[?:?]
    at java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
    at com.andrei1058.bedwars.sidebar.SidebarService.refreshPlaceholders(SidebarService.java:156) ~[?:?]
    at com.andrei1058.bedwars.sidebar.ScoreboardListener.onFinalKill(ScoreboardListener.java:104) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    ... 33 more

and (almost same)

[19:15:01] [Server thread/ERROR]: Could not pass event PlayerBedBreakEvent to BedWars1058 v23.3
org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.8.8.jar:git-PaperSpigot-445]
    at com.andrei1058.bedwars.listeners.BreakPlace.onBlockBreak(BreakPlace.java:325) [Bedwars1058_23.3.jar:?]
    at jdk.internal.reflect.GeneratedMethodAccessor426.invoke(Unknown Source) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) [patched_1.8.8.jar:git-PaperSpigot-445]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.8.8.jar:git-PaperSpigot-445]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PlayerInteractManager.breakBlock(PlayerInteractManager.java:286) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PlayerInteractManager.a(PlayerInteractManager.java:215) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:640) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PacketPlayInBlockDig.a(SourceFile:40) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PacketPlayInBlockDig.a(SourceFile:10) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.8.8.jar:git-PaperSpigot-445]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched_1.8.8.jar:git-PaperSpigot-445]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched_1.8.8.jar:git-PaperSpigot-445]
    at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NullPointerException
    at com.andrei1058.bedwars.sidebar.SidebarService.lambda$refreshPlaceholders$2(SidebarService.java:157) ~[?:?]
    at java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
    at com.andrei1058.bedwars.sidebar.SidebarService.refreshPlaceholders(SidebarService.java:156) ~[?:?]
    at com.andrei1058.bedwars.sidebar.ScoreboardListener.onBedDestroy(ScoreboardListener.java:94) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[patched_1.8.8.jar:git-PaperSpigot-445]
    ... 27 more

v is non-null but v.getArena() is nullable. so, add null check for v.getArena() to https://github.com/andrei1058/BedWars1058/blob/d9a318d55ec8759c407dcda31959a09abc676725/bedwars-plugin/src/main/java/com/andrei1058/bedwars/sidebar/SidebarService.java#L157

andrei1058 commented 1 year ago

if a player is being iterated on that event it has to have a provided arena on the scoreboard context. Any addons installed?

hamza-cskn commented 1 year ago

output of /ver bed

[00:08:57 INFO]: BedWars1058 version 23.3
[00:08:57 INFO]: BedWars minigame by andrei1058
[00:08:57 INFO]: Author: andrei1058
[00:08:57 INFO]: BedWars1058-PopUpTowers version 0.7
[00:08:57 INFO]: Adds the compact pop-up towers to BedWars1058.
[00:08:57 INFO]: Author: kimoVoid
[00:08:57 INFO]: Bedwars1058-RushMode version 1.2
[00:08:57 INFO]: Author: Happy_FZM
[00:08:57 INFO]: BedWars1058-GenSplit version 0.3
[00:08:57 INFO]: Adds iron/gold splitting for BedWars1058.
[00:08:57 INFO]: Author: kimoVoid
[00:08:57 INFO]: BedWars1058-AntiDrop version 1.2.1
[00:08:57 INFO]: BedWars1058 Addon by MrIronMan
[00:08:57 INFO]: Author: MrIronMan
[00:08:57 INFO]: BedWars1058-TeamSelector version 0.7
[00:08:57 INFO]: Team Selector Add-on for BedWars1058 Minigame.
[00:08:57 INFO]: Website: http://andrei1058.com
[00:08:57 INFO]: Author: andrei1058
[00:08:57 INFO]: BedWars1058-PlayAgain version 2.0.1
[00:08:57 INFO]: Adds the play again feature to BedWars1058!
[00:08:57 INFO]: Author: CubeCrafter
[00:08:57 INFO]: BedWars1058-Sponge version 1.0-SNAPSHOT
[00:08:57 INFO]: BedWars1058 add-on that adds an effect when placing a sponge.
[00:08:57 INFO]: Author: Mher Zaqaryan
[00:08:57 INFO]: BedWars1058-Cmds version 1.4.2
[00:08:57 INFO]: Author: andrei1058
[00:08:57 INFO]: Bedwars1058-TabSorter version 1.4
[00:08:57 INFO]: Author: MrF1yn

summary

  1. Bedwars1058-TabSorter
  2. BedWars1058-Cmds
  3. BedWars1058-Sponge
  4. BedWars1058-PlayAgain
  5. BedWars1058-TeamSelector
  6. BedWars1058-AntiDrop
  7. BedWars1058-GenSplit
  8. Bedwars1058-RushMode
  9. BedWars1058-PopUpTowers
andrei1058 commented 1 year ago

then try removing all of them and then enable them one by one till you find out which one is causing the issue

andrei1058 commented 1 year ago

Fixed with #792