In diesem 25. Teil meiner Tutorialreihe zeige ich euch wie ihr in eurem Plugin eine Datenbank verwenden könnt, um beispielsweise Spielerdaten bequem auf …
source
In diesem 25. Teil meiner Tutorialreihe zeige ich euch wie ihr in eurem Plugin eine Datenbank verwenden könnt, um beispielsweise Spielerdaten bequem auf …
source
39 responses to “[Tutorial] Bukkit Plugin programmieren #25 – MySQL [1/2]”
Hey, ich hab ein Problem:
Ich hab den 2. Teil auch schon gemacht und der brint mir immer den java.lang.NullPointerException Error in der Metohde queryUpdate und das auch schon direkt wenn das plugin startet.
at de.pasi.sql.MySql.queryUpdate(MySql.java:92)
at de.pasi.funktionen.Ban.<init>(Ban.java:30)
at de.pasi.main.Main.onEnable(Main.java:35)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
…….
Was kann ich da tun? der error java.lang.NullPointerException tritt ja immer auf, wenn das objekt irgentwie schon den wert null hat oder so. So stands zumindest im internet ich hab schon mehreres probiert aber ich weiß net, wie ich das lösen kann.
Hat wer von euch da nen plan ?
Warum immer this vor eine Variable?
File Download Please
habe aus closeresources nen einzeiler gemacht 😛
public void closeResources(ResultSet rs, PreparedStatement st){if(rs!=null)try{rs.close();}catch(SQLException e1){}if(st!=null)try{st.close();}catch(SQLException e){}}
ja, ich bin hobbylos
Das heißt nicht int!
int = (Abkürzung) Integer bzw. Integer32
dann gibt es noch "long", dies wird für große zahlen benutzt(9+ Stellen)
Kann jemand mal das ganze Script irgendwo hochladen dass ich mir das downloaden kann?
Bei mir kommt der Fehler: Failed to start MySQL-service (Communications link failure […]) BITTE HILFE, ich habe die DB-Daten von meinem Host (Strato) richtig eingetragen, aber es klappt auch nicht.
Xplayer na lernst auch grad MySql hahahaha
Vielen Dank für das Video! Hat wirklich geholfen! 😉
LG
– Slim
Freut mich. 😉
Danke 🙂 Hat mir sehr weitergeholfen 😀
wann kommen wieder videos ?
@FlatCrafter
getConfig().options().header("Nachricht die stehen soll")
Vielleicht importieren? java.io.File?
Es gibt aberveinen Fehler in der Methode hasConnection. Wenn conn nämlich null ist wird trotzdem überprüft, ob die Connrction valid ist. Es gibt eine NullPointerException 🙁
Kein Problem, lerne grad selber Forge-Mods zu programmieren.
Ja, kann ich, werde ich aber nicht machen. Schon gar nicht wenn mir jemand Geld bietet, bevor ich überhaupt weiß um was es eigentlich geht.
Das gehört außerdem nicht in die Kommentare, sondern in eine private Nachricht.
Kannst du auch eine Client-Modifikation programmieren? Habe eine ganz einfach Idee, würde 25 € zahlen.
hier 😉
github.com/postkutsche/Tutorial/
hi, ich hab versucht das alles nachzubauen, aber irgendwie erstellt er mir ein ordner den ich gar nicht programmiert hab, und das führt zu errors, kannst mir vieleicht helfen oder deine source vom dem ganzen senden?
Danke für den Tipp, ich probier es in Zukunft dann so. 😉
Ich empfehle dir bei Aufnahmen Cromium zu schließen – Das frisst sehr viel..
Wird er nicht machen.
Wieso?
Du sollst es selber verstehen!
Kann sein, schick mir mal bitte einen pastebin-Link mit deinem Code per privater Nachricht, dann schaue ich mir das mal an.
Sicher, dass der Code auch ausgeführt wir? 😀
Speicherst du sie denn?
Kein Problem. 😉
Du hast mir sehr geholfen. Danke 🙂
Ich kann schon, mache ich aber wahrscheinlich nicht (außerdem ist "pvp plugin" eine sehr ungenaue Beschreibung).
Kontrollier mal deinen Import, du hast die falsche Connection importiert, am Besten einfach mal Bukkit, statt CraftBukkit in den Build Path nehmen, dann passiert so etwas auch nicht mehr so einfach.
Bei DriverManager.getConnection kommt bei mit immer ein fehler der
Type mismatch: cannot convert from java.sql.Connection to net.minecraft.server.v1_5_R1.Connection
dann bei isValid
The method isValid(int) is undefined for the type Connection
bei
st = conn.prepateStatement(query);
The method prepateStatement(String) is undefined for the type Connection
und bei
this.conn.close();
The method close() is undefined for the type Connection
Warum nicht? Ich habe die Möglichkeit es zu verwenden und es macht das Statement deutlich übersichtlicher, außerdem kann ich mir so die Anführungszeichen sparen, die ich ansonsten unter Umständen bräuchte.
Warum nimmst Du ein Prepared Statement? Normales reicht doch völlig
hmm egal was ich mache immer
2013-03-24 11:34:10 [SEVERE] Failed to start MySQL MySQL-service(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.)
okey ich versuche gleich mal das bei nitrado das mit den kills death aufschreiben bekomme ich ja hin das er tabellen macht aber mit den zählen und dan immer 1 kill hinzufügt daran scheitert es bei mir :/
Falls du die Nitrado-Datenbank über deinen Rechner verwenden willst musst du auch den externen Zugang bei Nitrado aktivieren.
Stats mit MySQL sind extrem simpel, da man einfach nur die richtigen Queries zum Auslesen verwenden muss. Die Berechnung der KD ist reine Mathematik, ich mache jedoch Bukkit-, keine Mathetutorials, du musst also einfach selber ein bisschen überlegen oder mal googlen.
ich habe nitrado mysql also habe schon von meinen beiden servern versucht vill liegt aus auch daran das was falsch geschrieben ist also in eclipse zeigt aber keine fehler und sieht so aus wie deins kannst du vill nen tutorial darüber machen wie man kill death zählt und in kd umrechnet das man alles sieht wenn man /stats macht oder /kd und das alles über mysql wäre echt nice 🙂
Klingt irgendwie so, als ob dein MySQL-Server irgendwie nicht reagieren würde. Start ihn mal neu und probier es dann nochmal.
Nein, das ist viel zu aufwendig, aber such doch mal, soweit ich weiß gibt es dafür ein Plugin mit API.