[Gelöst] Frage wegen Importieren anderer Plugins

Um Übersicht zu schaffen, findet man hier bereits gelöste Fragen und Probleme.

[Gelöst] Frage wegen Importieren anderer Plugins

Beitragvon Smite » So 2. Feb 2014, 21:51

Hallo,

wie kann ich bei zwei verschiedenen Plugins die Klassen untereinander austauschen?

Habe im jetzigen Plugin: (Nebenplugin)
Code: Alles auswählen
  1. obj.getScore(Bukkit.getOfflinePlayer("Points")).setScore(database.loadPoints(p));


Das andere Plugin: (Hauptplugin)
Code: Alles auswählen
  1. public int loadPoints(Player p) {
  2.       PreparedStatement st = null;
  3.       ResultSet rs = null;
  4.       try {
  5.          st = sql.getConnection().prepareStatement("SELECT * FROM GLOBAL_points WHERE name='" + p +"'");
  6.          rs = st.executeQuery();
  7.          rs.last();
  8.          if(rs.getRow() != 0){
  9.             rs.first();
  10.             return rs.getInt("points");
  11.          }
  12.          rs.close();
  13.       } catch (SQLException e) {
  14.          e.printStackTrace();
  15.       } finally {
  16.          sql.closeRessources(rs, st);
  17.       }
  18.       return 0;
  19.    }


Wie kann ich das loadPoints beim Hauptplugin setScore (Nebenplugin) abfragen?


LG McSmite
(Sorry, falls es jmd nicht versteht, ist auch schwierig zu erklären, wer will kann mich bei Skype adden: McSmite)
Zuletzt geändert von Smite am So 9. Feb 2014, 16:12, insgesamt 2-mal geändert.
3 Dinge die unendlich sind: Das Universum, die Menschliche Dummheit und die WinRAR Testversion. ~Smite
Benutzeravatar
Smite
 
Beiträge: 170
Registriert: Sa 28. Dez 2013, 14:46
Wohnort: Düsseldorf

Re: Frage wegen Importieren anderer Plugins

Beitragvon Ch4t4r » Mo 3. Feb 2014, 08:48

Dafür muss die void static sein, du setzt dann die vorher erstelle .jar deines Hauptprogrammes in den properties zu dem Buildpath.
Benutzeravatar
Ch4t4r
 
Beiträge: 455
Registriert: So 7. Jul 2013, 12:44

Re: Frage wegen Importieren anderer Plugins

Beitragvon Chaineagle » Mo 3. Feb 2014, 10:18

Oder mit Bukkit.getPluginManager().getPlugin("pluginname");
Benutzeravatar
Chaineagle
 
Beiträge: 621
Registriert: Mi 19. Jun 2013, 12:37
Wohnort: Kassel

Re: Frage wegen Importieren anderer Plugins

Beitragvon Smite » Mo 3. Feb 2014, 16:17

Funktioniert leider nicht, bei /plugins kann man die beiden Plugins nicht mehr sehen.

mfG
3 Dinge die unendlich sind: Das Universum, die Menschliche Dummheit und die WinRAR Testversion. ~Smite
Benutzeravatar
Smite
 
Beiträge: 170
Registriert: Sa 28. Dez 2013, 14:46
Wohnort: Düsseldorf

Re: Frage wegen Importieren anderer Plugins

Beitragvon PostCrafter » Mo 3. Feb 2014, 16:49

Ohne Fehlermeldung können wir dir hierbei nicht helfen.
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg

Re: Frage wegen Importieren anderer Plugins

Beitragvon Smite » Mo 3. Feb 2014, 17:16

Folgende Fehlermeldung bekomme ich:

Code: Alles auswählen
  1. 2014-02-03 17:05:27 [SEVERE] Could not pass event PlayerJoinEvent to bSkyPvP v1.0
  2. org.bukkit.event.EventException
  3.    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
  4.    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
  5.    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30)
  6.    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
  7.    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
  8.    at net.minecraft.server.v1_6_R3.PlayerList.c(PlayerList.java:209)
  9.    at net.minecraft.server.v1_6_R3.PlayerList.a(PlayerList.java:105)
  10.    at net.minecraft.server.v1_6_R3.PendingConnection.e(PendingConnection.java:188)
  11.    at net.minecraft.server.v1_6_R3.PendingConnection.a(PendingConnection.java:128)
  12.    at net.minecraft.server.v1_6_R3.PacketLoginRequest.handle(PacketLoginRequest.java:31)
  13.    at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:237)
  14.    at net.minecraft.server.v1_6_R3.PendingConnection.d(PendingConnection.java:58)
  15.    at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:138)
  16.    at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:604)
  17.    at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:240)
  18.    at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:493)
  19.    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:425)
  20.    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
  21. Caused by: java.lang.IncompatibleClassChangeError: Expecting non-static method main.bStats.SDatabase.loadPoints(Lorg/bukkit/entity/Player;)I
  22.    at McSmite.bSkyPvP.JoinListener.on(JoinListener.java:32)
  23.    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  24.    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  25.    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  26.    at java.lang.reflect.Method.invoke(Unknown Source)
  27.    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
  28.    ... 17 more
3 Dinge die unendlich sind: Das Universum, die Menschliche Dummheit und die WinRAR Testversion. ~Smite
Benutzeravatar
Smite
 
Beiträge: 170
Registriert: Sa 28. Dez 2013, 14:46
Wohnort: Düsseldorf

Re: Frage wegen Importieren anderer Plugins

Beitragvon PostCrafter » Mo 3. Feb 2014, 18:00

McSmite hat geschrieben:
Code: Alles auswählen
  1. Caused by: java.lang.IncompatibleClassChangeError: Expecting non-static method main.bStats.SDatabase.loadPoints(Lorg/bukkit/entity/Player;)I

Das heißt, dass du zwar in deinem anderen Plugin die Methode statisch gemacht hast, diese Version jedoch nicht auf den Server geladen hast. Wenn du es also neu exportierst und den Server reloadest, sollte das Problem weg sein.
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg

Re: Frage wegen Importieren anderer Plugins

Beitragvon Smite » Di 4. Feb 2014, 10:13

Ok jetzt gehts, doch leider loaden sich die Points beim joinen nicht, da steht die ganze Zeit eine 0. Habe mal bei der Datenbank geguckt, ob sich dort was verändert hat.
Pro Kill kriegt man die Points und werden auch gespeichert, doch leider laden sich die Points beim joinen nicht ._.

Hier mein PlayerJoinEvent:
Code: Alles auswählen
  1. @EventHandler
  2.    public static void on(PlayerJoinEvent e){
  3.       Player p = e.getPlayer();
  4.       
  5.       System.out.println("Debug 1 JOIN EVENT");
  6.       ScoreboardManager manager = Bukkit.getScoreboardManager();
  7.       Scoreboard board = manager.getNewScoreboard();
  8.       Objective obj = board.getObjective("skypvp");
  9.          
  10.       if(obj == null) {
  11.          obj = board.registerNewObjective("skypvp", "dummy");
  12.       }
  13.       obj.setDisplaySlot(DisplaySlot.SIDEBAR);
  14.       obj.setDisplayName("§6§lSKYPVP");
  15.       System.out.println("Debug 2 JOIN EVENT");
  16.       obj.getScore(Bukkit.getOfflinePlayer("Points")).setScore(database.loadPoints(p));
  17.       System.out.println("Debug 3 JOIN EVENT");
  18.       //obj.getScore(Bukkit.getOfflinePlayer("Points")).setScore(2);
  19.       
  20.       e.getPlayer().setScoreboard(board);
  21.       System.out.println("Debug 4 JOIN EVENT");
  22.       
  23.    }
  24. }


Hat jmd eine Idee :(?
3 Dinge die unendlich sind: Das Universum, die Menschliche Dummheit und die WinRAR Testversion. ~Smite
Benutzeravatar
Smite
 
Beiträge: 170
Registriert: Sa 28. Dez 2013, 14:46
Wohnort: Düsseldorf

Re: Frage wegen Importieren anderer Plugins

Beitragvon Smite » Fr 7. Feb 2014, 17:54

#push

Hat keiner eine Idee? :(
3 Dinge die unendlich sind: Das Universum, die Menschliche Dummheit und die WinRAR Testversion. ~Smite
Benutzeravatar
Smite
 
Beiträge: 170
Registriert: Sa 28. Dez 2013, 14:46
Wohnort: Düsseldorf

Re: [Ungelöst] Frage wegen Importieren anderer Plugins

Beitragvon hiivin » Sa 8. Feb 2014, 16:28

Deine MySQL-Abfrage ist falsch: Du setzt bei Namen einen Spieler ein, keinen String.

Also statt

Code: Alles auswählen
  1. "SELECT * FROM GLOBAL_points WHERE name='" + p +"'"

Muss es

Code: Alles auswählen
  1. "SELECT * FROM GLOBAL_points WHERE name='" + p.getName() +"'"

sein.
Benutzeravatar
hiivin
 
Beiträge: 1
Registriert: Do 6. Feb 2014, 17:27

Nächste

Zurück zu Bereits gelöst

Wer ist online?

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