Scheduler Probleme (mit MySQL)

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

Scheduler Probleme (mit MySQL)

Beitragvon Homerlator » Mi 6. Apr 2016, 00:50

Hallo ich habe ein kleines Probleme,
ich möchte mir ein kleines TopFünf Plugin Schreiben:

Bild


Wie man sieht funktioniert es wie soll nur die Konsole bekommt trotzdem Errors:

Code: Alles auswählen
  1. [01:47:25 WARN]: [SkyPvP] Task #126 for SkyPvP v2.0 generated an exception
  2. java.lang.NullPointerException
  3.         at me.homerlator.SkyPvP.Main.Main$1.run(Main.java:146) ~[?:?]
  4.         at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot_server.jar:git-Spigot-76236cb-62a2169]
  5.         at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot_server.jar:git-Spigot-76236cb-62a2169]
  6.         at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723) [spigot_server.jar:git-Spigot-76236cb-62a2169]
  7.         at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot_server.jar:git-Spigot-76236cb-62a2169]
  8.         at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot_server.jar:git-Spigot-76236cb-62a2169]
  9.         at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot_server.jar:git-Spigot-76236cb-62a2169]
  10.         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]


Das der Scheduler:

Code: Alles auswählen
  1.    public void setSkull(){
  2.       Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
  3.          @Override
  4.          public void run() {
  5.             if(Bukkit.getOnlinePlayers().length == 0){
  6.                return;
  7.             }
  8.             TopFive.set();
  9.             
  10.          }
  11.          
  12.       }, 0, 3 * 20);
  13.    }


Und das hier ist die Klasse wo die Köpfe und Schilder gesetzt werden:

Code: Alles auswählen
  1. package Methoden;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.SkullType;
  11. import org.bukkit.block.BlockFace;
  12. import org.bukkit.block.Sign;
  13. import org.bukkit.block.Skull;
  14. import MySQL.MySQL2;
  15. import MySQL.SQLStats2;
  16. import me.homerlator.SkyPvP.Main.Main;
  17. public class TopFive {
  18.    private static Main plugin;
  19.    public TopFive(Main main) {
  20.       plugin = main;
  21.    }
  22.    public static HashMap<Integer, String> rang = new HashMap<>();
  23.    public static void set() {
  24.       ResultSet rs = MySQL2.query("SELECT UUID From System ORDER BY KILLS DESC LIMIT 5");
  25.       int i = 0;
  26.       try {
  27.          while (rs.next()) {
  28.             i++;
  29.             rang.put(i, rs.getString("UUID"));
  30.          }
  31.       } catch (SQLException e) {
  32.       }
  33.       Location loc = new Location(Bukkit.getWorld("newSkyPvP"), 6, 99, 441);
  34.       Location loc2 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 99, 440);
  35.       Location loc3 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 99, 439);
  36.       Location loc4 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 99, 438);
  37.       Location loc5 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 99, 437);
  38.       List<Location> LOC = new ArrayList<>();
  39.       LOC.add(loc);
  40.       LOC.add(loc2);
  41.       LOC.add(loc3);
  42.       LOC.add(loc4);
  43.       LOC.add(loc5);
  44.       for (int in = 0; in < LOC.size(); in++) {
  45.          int id = in + 1;
  46.          LOC.get(in).getBlock().setType(Material.SKULL);
  47.          Skull s = (Skull) LOC.get(in).getBlock().getState();
  48.          s.setRotation(BlockFace.EAST);
  49.          s.setSkullType(SkullType.PLAYER);
  50.          String name = String.valueOf(0);
  51.          try {
  52.             ResultSet rs2 = MySQL2.query("SELECT * FROM System WHERE UUID= '" + rang.get(id) + "'");
  53.             if ((rs2.next()) && (String.valueOf(rs2.getString("NAME")) == null))
  54.                ;
  55.             name = String.valueOf(rs2.getString("NAME"));
  56.          } catch (SQLException e) {
  57.          }
  58.          s.setOwner(name);
  59.          s.update();
  60.          Location newloc = new Location(Bukkit.getWorld("newSkyPvP"), 6, 98, 441);
  61.          Location newloc2 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 98, 440);
  62.          Location newloc3 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 98, 439);
  63.          Location newloc4 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 98, 438);
  64.          Location newloc5 = new Location(Bukkit.getWorld("newSkyPvP"), 6, 98, 437);
  65.          if (in == 0) {
  66.             Sign sign = (Sign) newloc.getBlock().getState();
  67.             sign.setLine(0, "§c" + name);
  68.             sign.setLine(1, null);
  69.             sign.setLine(2, "§6Kills: §e" + SQLStats2.getKills(rang.get(id)));
  70.             sign.setLine(3, "§6Tode: §e" + SQLStats2.getTode(rang.get(id)));
  71.             sign.update();
  72.          } else if (in == 1) {
  73.             Sign sign2 = (Sign) newloc2.getBlock().getState();
  74.             sign2.setLine(0, "§c" + name);
  75.             sign2.setLine(1, null);
  76.             sign2.setLine(2, "§6Kills: §e" + SQLStats2.getKills(rang.get(id)));
  77.             sign2.setLine(3, "§6Tode: §e" + SQLStats2.getTode(rang.get(id)));
  78.             sign2.update();
  79.          } else if (in == 2) {
  80.             Sign sign3 = (Sign) newloc3.getBlock().getState();
  81.             sign3.setLine(0, "§c" + name);
  82.             sign3.setLine(1, null);
  83.             sign3.setLine(2, "§6Kills: §e" + SQLStats2.getKills(rang.get(id)));
  84.             sign3.setLine(3, "§6Tode: §e" + SQLStats2.getTode(rang.get(id)));
  85.             sign3.update();
  86.          } else if (in == 3) {
  87.             Sign sign4 = (Sign) newloc4.getBlock().getState();
  88.             sign4.setLine(0, "§c" + name);
  89.             sign4.setLine(1, null);
  90.             sign4.setLine(2, "§6Kills: §e" + SQLStats2.getKills(rang.get(id)));
  91.             sign4.setLine(3, "§6Tode: §e" + SQLStats2.getTode(rang.get(id)));
  92.             sign4.update();
  93.          } else if (in == 4) {
  94.             Sign sign5 = (Sign) newloc5.getBlock().getState();
  95.             sign5.setLine(0, "§c" + name);
  96.             sign5.setLine(1, null);
  97.             sign5.setLine(2, "§6Kills: §e" + SQLStats2.getKills(rang.get(id)));
  98.             sign5.setLine(3, "§6Tode: §e" + SQLStats2.getTode(rang.get(id)));
  99.             sign5.update();
  100.          }
  101.       }
  102.    }
  103. }


Danke schonmal für die Antworten :)
MFG Homerlator
Benutzeravatar
Homerlator
 
Beiträge: 41
Registriert: Fr 25. Mär 2016, 22:33
Wohnort: Gemünden

Re: Scheduler Probleme (mit MySQL)

Beitragvon Letsplaybar » Mi 6. Apr 2016, 08:53

Laut fehler Code ist der Fehler in der Main Zeile 146
Und ist da weil null rauskommt. Da er vorher nicht auftritt vermute ich das es ein variablen Fehler sein könnte
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin

Re: Scheduler Probleme (mit MySQL)

Beitragvon Homerlator » Sa 9. Apr 2016, 19:16

Ok Danke hab es herausgefunden :D
Benutzeravatar
Homerlator
 
Beiträge: 41
Registriert: Fr 25. Mär 2016, 22:33
Wohnort: Gemünden


Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste

cron