EverNife / EverNifeCore

A Minecraft Framework to help the creation of Bukkit/Spigot Minecraft plugins, with several utilities to interact with Forge as well.
11 stars 4 forks source link

Could not pass event PlayerLoginEvent #3

Closed infered5 closed 5 months ago

infered5 commented 1 year ago

Server Platform: mohist-1.16.5-1136-server Spigot API: 1.16.5-R0.1-SNAPSHOT Forge Version: 36.2.39

Mods: -architectury-1.32.66

[16:32:25] [Server thread/ERROR] [Minecraft/]: Could not pass event PlayerLoginEvent to EverNifeCore v2.0.3.3 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) ~[forge:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[forge:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[forge:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:593) ~[forge:?] at net.minecraft.server.management.PlayerList.canPlayerLogin(PlayerList.java:480) ~[?:?] at net.minecraft.network.login.ServerLoginNetHandler.func_147326_c(ServerLoginNetHandler.java:147) ~[?:?] at net.minecraft.network.login.ServerLoginNetHandler.func_73660_a(ServerLoginNetHandler.java:75) ~[?:?] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:239) ~[?:?] at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:142) ~[?:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:1112) ~[?:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:339) ~[?:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:1002) ~[?:?] at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:817) ~[?:?] at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:268) ~[?:?] at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_312] Caused by: java.lang.NullPointerException at br.com.finalcraft.evernifecore.listeners.PlayerLoginListener.onPlayerLogin(PlayerLoginListener.java:137) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[forge:?] ... 14 more

EverNife commented 1 year ago

That is weird.

Use the command /evernifecore info and send me a print screen.

infered5 commented 1 year ago

image

`evernifecore info

06:09:23 INFO: # 1: ◆ BukkitPixelmonPlaceholders (1.1.1) 06:09:23 INFO: # 2: ◆ EverNifeCore (2.0.3.3) 06:09:23 INFO: 06:09:23 INFO: <<< Page [1/1] >>>`

EverNife commented 1 year ago

The error is ocurring at the login of the player.

Somehow a player is joining the server, and when the join process finish and my plugin is creating some cache, the PlayerData is not present.

I can only think some kind of whitelist is present to cause this, can you tell me the context of the error? Does the error floods the console, does it happen rarely?

In your case this error will cause no problem, but if i can find the source of the problem its best to fix it.

infered5 commented 1 year ago

No gameplay error found, it's just flooding console (only once per login).

The server is connected via Velocity bridge, and they connect from a Lobby server via Mohist added Citizens2 NPC's calling CommandSync (https://www.spigotmc.org/resources/commandsync.115/) to ask Velocity to use Leaf (https://modrinth.com/plugin/leaf) to use /send to send the player to the appropriate server (this is because /server is created by Velocity and not properly registered, and consoles running that have no idea it's a command.)

The Lobby is whitelisted, Velocity is not (as theres no native whitelist and I never bothered installing a plugin), since Lobby is first in line in the joining process this keeps a solid barrier to unwanted players.

Low priority issue, since I don't believe it's actually causing any problems for me, but this may impact someone and wanted to report it.

infered5 commented 1 year ago

Update: Behavior does not appear to happen when running pure Forge, it seems to be brought about by either Mohist, or by some plugins I was loading with it.

EverNife commented 1 year ago

I am glad about that. Mohist is not the issue because i use it as well, so its probably some other plugin changing the default behavior of the login process.

(That is why i asked about the whitelist thing, i have faced similar problems before with a bad whitelist system)

I will keep this issue open for a while. I will also try to adding an extra verification to prevent it from happening when another plugin do something bad.

infered5 commented 1 year ago

Most likely either CMI (Content Management Interface, a premium Spigot plugin that replaces the Essentials of old), or ProxyCompatibleForge mod (paired with Ambassador on the Velocity proxy) which adds some networking features that make Velocity work with modded clients/servers.

EverNife commented 5 months ago

Probably fixed at https://github.com/EverNife/EverNifeCore/commit/08a06bacbd740449034d2370677e549331edf466