ServerPlugin Boots Speichern und wieder auslesen Mysql

Dieses Thema im Forum "Programmierung" wurde erstellt von OjunbamO, 21. August 2015.

  1. OjunbamO
    Offline

    OjunbamO

    Registriert seit:
    16. Februar 2015
    Beiträge:
    7
    Hey Leute,
    meine frage ist wie man aus einer Mysql Datenbank auslesen kann, welche Boots die Person besitzt ich habe bis jetzt nur ausprobiert einfach Strings in einen Varchar(Boots) zu speichern jedoch scheitere ich hier beim auslesen vllt. kann mir einer von euch helfen

    Code (Text):
    1.     public static boolean onBuyedBoots(Player player, String suche){
    2.         String boots = Points.getBoots(player.getUniqueId());
    3.      
    4.         String[] arr = boots.split(" ");
    5.      
    6.         if(suche == arr[1] || suche == arr[2]){
    7.             return true;
    8.         }else{
    9.             return false;
    10.         }
    11.     }
    12.  
    13.     public static ItemStack buyedBoots(Player player, String suche, String displayname, String lore,int rgb1,int rgb2,int rgb3){
    14.         if(onBuyedBoots(player, suche)){
    15.              ItemStack richtig = InventarUtils.createItemWithMeta(displayname, "§aGekauft", rgb1, rgb2, rgb3);
    16.              return richtig;
    17.         }else{
    18.             ItemStack falsch = InventarUtils.createItemWithMeta(displayname, lore, rgb1, rgb2, rgb3);
    19.             return falsch;
    20.         }
    21.     }
    doch ich bekomme in dieser Zeile
    Code (Text):
    1.         if(suche == arr[1] || suche == arr[2]){
    einen Fehler

    Brauche echt hilfe Danke schonmal im Voraus :D

    Mfg OjunbamO
     
    #1
  2. Victini151
    Online

    Victini151

    Bitte mal die Fehlermeldung. Zudem bei Stringvergleichen bitte die Methode Object#equals() nutzen
     
    #2
  3. OjunbamO
    Offline

    OjunbamO

    Registriert seit:
    16. Februar 2015
    Beiträge:
    7
    Habe .equals() verwendet trotzdem bekomm ich diese Fehlermeldung:
    Code (Text):
    1. [18:36:17 INFO]: [ArtooxSystem] Disabling ArtooxSystem v1.0
    2. [18:36:17 INFO]: [Mysql]Verbindung geschlossen.
    3. [18:36:17 INFO]: [ArtooxSystem] Loading ArtooxSystem v1.0
    4. [18:36:17 INFO]: [ArtooxSystem] Enabling ArtooxSystem v1.0
    5. [18:36:17 INFO]: [Mysql] Verbindung aufgebaut.
    6. [18:36:17 INFO]: Server permissions file permissions.yml is empty, ignoring it
    7. [18:36:17 INFO]: CONSOLE: Reload complete.
    8. [18:36:18 ERROR]: Could not pass event InventoryClickEvent to ArtooxSystem v1.0
    9. org.bukkit.event.EventException
    10.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    11. va:310) ~[spigot.jar:git-Spigot-d97e08b-880a532]
    12.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    13. a:62) ~[spigot.jar:git-Spigot-d97e08b-880a532]
    14.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    15. ava:502) [spigot.jar:git-Spigot-d97e08b-880a532]
    16.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    17. ava:487) [spigot.jar:git-Spigot-d97e08b-880a532]
    18.         at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java
    19. :1630) [spigot.jar:git-Spigot-d97e08b-880a532]
    20.         at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31)
    21. [spigot.jar:git-Spigot-d97e08b-880a532]
    22.         at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9)
    23. [spigot.jar:git-Spigot-d97e08b-880a532]
    24.         at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:1
    25. 3) [spigot.jar:git-Spigot-d97e08b-880a532]
    26.         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    27. ?:1.8.0_51]
    28.         at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_51]
    29.         at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar
    30. :git-Spigot-d97e08b-880a532]
    31.         at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:7
    32. 14) [spigot.jar:git-Spigot-d97e08b-880a532]
    33.         at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
    34. 74) [spigot.jar:git-Spigot-d97e08b-880a532]
    35.         at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
    36. 53) [spigot.jar:git-Spigot-d97e08b-880a532]
    37.         at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
    38. :556) [spigot.jar:git-Spigot-d97e08b-880a532]
    39.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
    40. Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
    41.         at de.ojunbamo.Utils.BootsUtils.onBuyedBoots(BootsUtils.java:45) ~[?:?]
    42.         at de.ojunbamo.Utils.BootsUtils.buyedBoots(BootsUtils.java:53) ~[?:?]
    43.         at de.ojunbamo.Utils.BootsUtils.openBootsInventory(BootsUtils.java:31) ~
    44. [?:?]
    45.         at de.ojunbamo.Listener.InteractBoots.onMove(InteractBoots.java:34) ~[?:
    46. ?]
    47.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    48. _51]
    49.         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    50. _51]
    51.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    52. .8.0_51]
    53.         at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
    54.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    55. va:306) ~[spigot.jar:git-Spigot-d97e08b-880a532]
    56.         ... 15 more
    57. >
     
    #3
  4. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Genau deswegen sollte man zuerst Java lernen...
    Das Array hat vermutlich zwei Felder, du fragst aber das zweite (arr[1]) und das dritte (arr[2]) ab. Daher gibt es eine ArrayIndexOutOfBoundException.
     
    #4
  5. OjunbamO
    Offline

    OjunbamO

    Registriert seit:
    16. Februar 2015
    Beiträge:
    7
    Ich kann Java auswendig... an STELLE 0 Steht NULL weil der Name der Boots ja zu Null in der Tabelle hinzugerechnet wird.
    und du könntest recht haben aber wie könnte ich es anders machen?

    #EDIT ja du hattest recht ich hatte 0 und 1 im Array aber wie mache ich das dan wenn ich mehrere Boots machen will?
    [​IMG]
     
    #5
  6. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Ja und? "null Fire" gesplittet an " " gibt ein Array mit zwei Feldern, du fragst aber das dritte ab. Da bringt dir ein terminierendes Oder auch nichts...
     
    #6
  7. OjunbamO
    Offline

    OjunbamO

    Registriert seit:
    16. Februar 2015
    Beiträge:
    7
    Schau auf mein #EDIT
     
    #7
  8. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Ich feede hier jetzt keinen Code, aber du kannst die Länge des Arrays herausfinden, es gibt Zählschleifen und ähnliche schöne Dinge. Wer Java "auswendig kann", sollte schon darauf gekommen sein ;)
     
    #8
  9. OjunbamO
    Offline

    OjunbamO

    Registriert seit:
    16. Februar 2015
    Beiträge:
    7
    Ja normal habe ich keine Probleme mit Java bzw solchen sachen aber gerade versteh ich einfach nicht, wie ich die Wörter in einem Array Zähle Wär echt nice, wenn du mir schnell helfen könntest.
    Ps: danke für deine Jetzige Hilfe
     
    #9
  10. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Code (Text):
    1. for(int i = 1; i < arr.length; i++)
    2. {
    3.   if(arr[i].equals(suche)) return true;
    4. }
    5. return false;
     
    #10
  11. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Leute, ihr seit so unnötig! Er ist hier um seinen Fehler zu suchen und ihr ihm dabei hilft, und deswegen mach er auch so einen Beitrag!
    Wenn man ihm an denn Kopf kickt: Deswegen lernt man erstmal Java.. Dann kann er daraus nicht wirklich viel lernen!
    return unnötig;
     
    #11
    Payno4 gefällt das.
  12. OjunbamO
    Offline

    OjunbamO

    Registriert seit:
    16. Februar 2015
    Beiträge:
    7
    Danke <3
     
    #12
  13. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Immer wieder gern :) <3
     
    #13
  14. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    @luk3s21 hat recht ! Grad dafür ist dieses Forum doch da , um Fragen zu stellen , damit man Antworten bekommen , auf die man selbst nicht gekommen wäre !
     
    #14