Skocz do zawartości
  • 0

Could not pass event PlayerJoinEvent


Pytanie

Could not pass event PlayerJoinEvent to Core v1.0
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.PlayerList.a(PlayerList.java:200) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.LoginListener.c(LoginListener.java:153) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.LoginListener.tick(LoginListener.java:52) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.NetworkManager.a(NetworkManager.java:219) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.ServerConnection.c(ServerConnection.java:130) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1126) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:349) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Caused by: java.lang.NullPointerException
        at me.rozumek29.core.LoginSystem.isPlayerRegister(LoginSystem.java:28) ~[?:?]
        at me.rozumek29.core.LoginSystem.onJoin(LoginSystem.java:19) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_261]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_261]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_261]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_261]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot-1.16.3.jar:git-Spigot-17d78db-5c77bd2]
        ... 14 more
public class LoginSystem implements Listener {
    public ArrayList<UUID> unloginplayers = new ArrayList<>();
    @EventHandler
    public void onJoin(PlayerJoinEvent event){
        unloginplayers.add( event.getPlayer().getUniqueId());
        if (isPlayerRegister( event.getPlayer().getUniqueId())){
            event.getPlayer().sendMessage("Wpisz / Login");
        }else {
            event.getPlayer().sendMessage("Wpisz /Register");
        }
    }
    public Boolean isPlayerRegister(UUID uuid){
        try{
            PreparedStatement statement = DbConnector.getConnection()
                    .prepareStatement("SELECT * FROM players WHERE UUID=?");
            statement.setString(1, uuid.toString());
            ResultSet result = statement.executeQuery();
            if (result.next()){
                return true;
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
        return false;
    }
}

 

Odnośnik do komentarza
https://skript.pl/temat/41915-could-not-pass-event-playerjoinevent/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
package me.rozumek29.core;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DbConnector {
    static Core plugin = Core.getPlugin(Core.class);
    private static String host, dbname, user, password;
    private static int port;
    private static Connection connection;


    public static void connectionSetter() {
        host = plugin.getConfig().getString("DataBase.HostName");
        port = plugin.getConfig().getInt("DataBase.Port");
        dbname = plugin.getConfig().getString("DataBase.DbName");
        user = plugin.getConfig().getString("DataBase.UserName");
        password = plugin.getConfig().getString("DataBase.Password");

        try {
                if (getConnection() != null && !getConnection().isClosed()) {
                    return;
                }
                Class.forName("com.mysql.jdbc.Driver");
                setConnection(DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + dbname, user, password));
                Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"[CORE] POLACZONO Z BAZA DANYCH");
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection(){
        return connection;
    }

    public static void setConnection(Connection connection){
        connection = connection;
    }
}

 

Odnośnik do komentarza
https://skript.pl/temat/41915-could-not-pass-event-playerjoinevent/#findComment-262719
Udostępnij na innych stronach

  • 0

dobra, problem rozwiązany. przeanalizowałem kod i w setConnection powinno być this.connection = conection, bo wcześniej to nie miało sensu. Wielkie dzięki @LeviBoyPL za wskazanie błędu :D

Odnośnik do komentarza
https://skript.pl/temat/41915-could-not-pass-event-playerjoinevent/#findComment-262753
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...