Can anyone help me?

Discussion in 'Plugin Development' started by Drifty, Jun 2, 2020.

Thread Status:
Not open for further replies.
  1. Offline

    Drifty

    ERROR
    Code:
    org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:442) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:409) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:405) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1695) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PacketPlayInArmAnimation.a(SourceFile:31) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PacketPlayInArmAnimation.a(SourceFile:9) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:918) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:911) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeAll(SourceFile:103) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:894) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:828) [server.jar:git-Spigot-800b93f-8160e29]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
    Caused by: java.lang.NullPointerException
    at me.Number.Main.GetData.updateLikes(GetData.java:71) ~[?:?]
    at me.Number.Main.GetData.hit(GetData.java:27) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[server.jar:git-Spigot-800b93f-8160e29]
    ... 20 more
    > [15:45:36] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to bPhone v1.0.0
    org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:442) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:409) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:405) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1695) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PacketPlayInArmAnimation.a(SourceFile:31) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PacketPlayInArmAnimation.a(SourceFile:9) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:918) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:911) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeAll(SourceFile:103) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:894) [server.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:828) [server.jar:git-Spigot-800b93f-8160e29]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
    Caused by: java.lang.NullPointerException
    at me.Number.Main.GetData.updateLikes(GetData.java:71) ~[?:?]
    at me.Number.Main.GetData.hit(GetData.java:27) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[server.jar:git-Spigot-800b93f-8160e29]
    ... 20 more
    
    CODE
    Code:
    package me.Number.Main;
    
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.UUID;
    
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerLoginEvent;
    
    public class GetData implements Listener{
    
    MainSQL plugin = MainSQL.getPlugin(MainSQL.class);
    
    @EventHandler
    public void onJoin(PlayerLoginEvent event) {
    Player player = event.getPlayer();
    createPlayer(player.getUniqueId(), player);
    }
    
    @EventHandler
    public void Hit(PlayerInteractEvent event) {
    updateLikes(event.getPlayer().getUniqueId());
    }
    
    public boolean playerExists(UUID uuid) {
    try {
    PreparedStatement statement = plugin.getConnection().prepareStatement("SELECT * FROM " + plugin.table + "WHERE UUID=?");
    statement.setString(1, uuid.toString());
    
    ResultSet results = statement.executeQuery();
    if(results.next()) {
    plugin.getServer().broadcastMessage(ChatColor.GREEN + "Jugador encontrado");
    return true;
    }
    plugin.getServer().broadcastMessage(ChatColor.RED + "Jugador no encontrado");
    } catch(SQLException e) {
    e.printStackTrace();
    }
    return false;
    }
    
    public void createPlayer(final UUID uuid, Player player) {
    try {
    PreparedStatement statement = plugin.getConnection().prepareStatement("SELECT * FROM " + plugin.table + "WHERE UUID=?");
    statement.setString(1, uuid.toString());
    ResultSet results = statement.executeQuery();
    results.next();
    System.out.print(1);
    if(playerExists(uuid) != true) {
    PreparedStatement insert = plugin.getConnection().prepareStatement("INSERT INTO " + plugin.table + "(UUID,Jugador,NĂºmero,Amigos,Likes) VALUE (?,?,?,?,?)");
    insert.setString(1, uuid.toString());
    insert.setString(2, player.getName());
    insert.setInt(3, 123456789);
    insert.setString(4, "Vanliedz Drifty");
    insert.setInt(5, 0);
    insert.executeUpdate();
    
    plugin.getServer().broadcastMessage(ChatColor.GREEN + "Datos Actualizados");
    }
    } catch(SQLException e){
    e.printStackTrace();
    }
    
    }
    public void updateLikes(UUID uuid) {
    try {
    PreparedStatement statement = plugin.getConnection().prepareStatement("UPDATE " + plugin.table + "SET 'Likes'=? WHERE UUID=?");
    statement.setInt(1, 0);
    statement.setString(2, uuid.toString());
    statement.executeUpdate();
    } catch(SQLException e) {
    e.printStackTrace();
    }
    }
    
    public void getLikes(UUID uuid) {
    try {
    PreparedStatement statement = plugin.getConnection().prepareStatement("SELECT * FROM " + plugin.table + "WHERE UUID=?");
    statement.setString(1, uuid.toString());
    ResultSet results = statement.executeQuery();
    results.next();
    System.out.print(results.getInt("Likes"));
    } catch(SQLException e) {
    e.printStackTrace();
    }
    }
    
    }
    
    
    I USE java 1.8
     
    Last edited by a moderator: Jun 2, 2020
  2. Online

    timtower Administrator Administrator Moderator

    @Drifty plugin is null, getConnection is returning null.
     
    Drifty likes this.
  3. Offline

    Drifty

    So i'm going to export the plugin and see if it works

    So i don't understand what getConnection is return null

    MAIN
    Code:
    package me.Number.Main;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    public class MainSQL extends JavaPlugin implements Listener{
    
    
        public void onEnable() {
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"-------------------------------------------------------------");
            Bukkit.getConsoleSender().sendMessage("");
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"bPhone Services a sido activado");
            Bukkit.getConsoleSender().sendMessage("");
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"-Plugin de Drifty");
            Bukkit.getConsoleSender().sendMessage("");
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"-------------------------------------------------------------");
            mysqlSetup();
            getServer().getPluginManager().registerEvents(new GetData(), this);
        }
        public void onDisable() {
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"-------------------------------------------------------------");
            Bukkit.getConsoleSender().sendMessage("");
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"bPhone Services a sido desactivado");
            Bukkit.getConsoleSender().sendMessage("");
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"-Plugin de Drifty");
            Bukkit.getConsoleSender().sendMessage("");
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN+"-------------------------------------------------------------");
        }
    
     
    private Connection connection;
    public String host, database, username, password, table;
    public int port;
    public void mysqlSetup() {
         host = "[B]DON'T GET MY HOST[/B]";
         port = [B]DON'T GET MY PORT[/B];
         database = "[B]DON'T GET MY DATABASE[/B]";
         username = "[B]DON'T GET MY USERNAME[/B]";
         password = "[B]DON'T GET MY PASSWORD[/B]";
         table = "[B]DON'T GET MY TABLE[/B]";
      
         try {
        synchronized (this) {
             if(getConnection() != null && !getConnection().isClosed()) {
                 return;
             }
          
             Class.forName("com.mysql.jdbc.Driver");
             setConnection(DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.database, this.username, this.password));
        }
             }catch(SQLException e){
                 e.printStackTrace();
             }catch(ClassNotFoundException e) {
                 e.printStackTrace();
             }
         }
      
    
            public Connection getConnection() {
                return connection;
            }
         
            public void setConnection(Connection connection) {
                this.connection = connection;
            }
     
    
    
      }
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 2, 2020
  4. Online

    timtower Administrator Administrator Moderator

    @Drifty Does connection have a value?
     
  5. Offline

    Drifty

    Yes the method getConnection() equals java.sql.Connection
     
  6. Online

    timtower Administrator Administrator Moderator

    Does plugin have a value?
    And are you saying it or did you check it?
     
  7. Offline

    Drifty

    @timtower MainSQL plugin = MainSQL.getPlugin(MainSQL.class);
     
  8. Online

    timtower Administrator Administrator Moderator

    Start doing null checks.
    On plugin, and on the result of plugin.getConnection()
     
  9. Offline

    Drifty

    @timtower How i make null checks i'm new coding
     
  10. Online

    timtower Administrator Administrator Moderator

    if(something==null)
     
  11. Offline

    Drifty

    eclipse-workspace - Number_src_me_Number_Main_MainSQL.java - Eclipse IDE 03_06_2020 12_18_59.png Skynode - Viewing Server Test - Google Chrome 03_06_2020 12_19_07.png

    How do i fix that?
     
  12. Online

    timtower Administrator Administrator Moderator

    @Drifty Are you getting a connection then?
     
  13. Offline

    Drifty

  14. Online

    timtower Administrator Administrator Moderator

    @Drifty O, hey, a connection error.
    If you get a connection error then you should disable the plugin, not catch, throw and ignore the errors.
     
  15. Offline

    Drifty

    Can u help me with the code? please
     
  16. Online

    timtower Administrator Administrator Moderator

    Read the stacktrace, your plugin can't connect to your database.
     
  17. Offline

    Drifty

    Code:
    [12:35:02] [Server thread/WARN]: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    [12:35:02] [Server thread/WARN]:     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    [12:35:02] [Server thread/WARN]:     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    [12:35:02] [Server thread/WARN]:     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    [12:35:02] [Server thread/WARN]:     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:335)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    [12:35:02] [Server thread/WARN]:     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    [12:35:02] [Server thread/WARN]:     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    [12:35:02] [Server thread/WARN]:     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    [12:35:02] [Server thread/WARN]:     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
    [12:35:02] [Server thread/WARN]:     at java.sql.DriverManager.getConnection(DriverManager.java:664)
    [12:35:02] [Server thread/WARN]:     at java.sql.DriverManager.getConnection(DriverManager.java:247)
    [12:35:02] [Server thread/WARN]:     at me.Number.Main.MainSQL.mysqlSetup(MainSQL.java:57)
    [12:35:02] [Server thread/WARN]:     at me.Number.Main.MainSQL.onEnable(MainSQL.java:24)
    [12:35:02] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)
    [12:35:02] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352)
    [12:35:02] [Server thread/WARN]:     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417)
    [12:35:02] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:462)
    [12:35:02] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:376)
    [12:35:02] [Server thread/WARN]:     at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:457)
    [12:35:02] [Server thread/WARN]:     at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:267)
    [12:35:02] [Server thread/WARN]:     at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:784)
    [12:35:02] [Server thread/WARN]:     at java.lang.Thread.run(Thread.java:748)
    [12:35:02] [Server thread/WARN]: Caused by: java.net.ConnectException: Connection refused (Connection refused)
    [12:35:02] [Server thread/WARN]:     at java.net.PlainSocketImpl.socketConnect(Native Method)
    [12:35:02] [Server thread/WARN]:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    [12:35:02] [Server thread/WARN]:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    [12:35:02] [Server thread/WARN]:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    [12:35:02] [Server thread/WARN]:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    [12:35:02] [Server thread/WARN]:     at java.net.Socket.connect(Socket.java:607)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
    [12:35:02] [Server thread/WARN]:     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:299)
    [12:35:02] [Server thread/WARN]:     ... 25 more
     
    Last edited by a moderator: Jun 3, 2020
  18. Offline

    caderapee

    @Drifty your plugin can't connect to the server. which port do u use ? it should be 3306 by default, or 3308 if u host ur server on ur comp like with wamp
     
Thread Status:
Not open for further replies.

Share This Page