Seite 3 von 4

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 6. Feb 2015, 18:29
von Jofkos
Twister_21 hat geschrieben:#push
Jofkos, hast du denn getestet ob man immer den aktuellsten Namen bekommt? Bei mir (einem Spieler) klappt das nicht, da bekomme ich den Namen, wie er am Anfang hieß.

Wenn du getUUID(name (, action)) verwendest solltest du den neusten Namen bekommen. Ansonsten schicke mir mal den namen des betroffenen Spielers, dann kann ich es mir selbst einmal anschauen.

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 6. Feb 2015, 19:07
von leNic
Hätte da auch ein kleines Problemchen:
Wenn ich einen Namen abfrage, den es nicht gibt bekomme ich folgenden Fehler:
Code: Alles auswählen
  1. [18:56:20] [Server thread/INFO]: GermanElectronix issued server command: /msg j12309j hi
  2. [18:56:21] [Craft Scheduler Thread - 4/WARN]: java.lang.NullPointerException
  3. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at de.ge.msg.UUIDFetcher.getUUIDAt(UUIDFetcher.java:89)
  4. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at de.ge.msg.UUIDFetcher.getUUID(UUIDFetcher.java:58)
  5. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at de.ge.msg.cmd.MSGCommand$3.run(MSGCommand.java:102)
  6. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftTask.run(CraftTask.java:71)
  7. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
  8. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  9. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  10. [18:56:21] [Craft Scheduler Thread - 4/WARN]:    at java.lang.Thread.run(Unknown Source)
  11. [18:56:21] [Craft Scheduler Thread - 4/WARN]: Exception in thread "Craft Scheduler Thread - 4"
  12. [18:56:21] [Craft Scheduler Thread - 4/WARN]: org.apache.commons.lang.UnhandledException: Plugin geMSG v2.1 generated an exception while executing task 9
  13.    at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
  14.    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  15.    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  16.    at java.lang.Thread.run(Unknown Source)
  17. Caused by: java.lang.NullPointerException
  18.    at de.ge.msg.cmd.MSGCommand$3.run(MSGCommand.java:102)
  19.    at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftTask.run(CraftTask.java:71)
  20.    at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
  21.    ... 3 more


Der Fehler tritt in der Methode "getUUIDAt(String name, long timestamp)" bei "uuidCache.put(name, data.id);" auf.

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 6. Feb 2015, 19:09
von Twister_21
Mach einfach ein Try-catch darum, wurde mir auch geraten und mache es auch so. :D

[UtilKlasse] UUIDFetcher - 1.7.10 Fix

BeitragVerfasst: Sa 7. Feb 2015, 16:43
von Jofkos
Fix für 1.7.10 - IllegalArgumentException von Gson
Passt die Imports an! Gson muss aus dem NM(S) Packet importiert werden.
Code: Alles auswählen
  1. import org.bukkit.craftbukkit.libs.com.google.gson.Gson;
  2. import org.bukkit.craftbukkit.libs.com.google.gson.GsonBuilder;
wird also zu
Code: Alles auswählen
  1. import net.minecraft.util.com.google.gson.Gson;
  2. import net.minecraft.util.com.google.gson.GsonBuilder;

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 1. Mai 2015, 09:48
von Twister_21
Hallo, ich habe noch eine Frage:
Da ich so ein kleines Java-Programm machen will, das als UUID-Manager fungiert will ich diese Klasse benutzen. Nun ist das Problem, dass in dem Standart-Java kein Gson eingebaut ist. Deswegen habe ich das versucht rauszucoden. Bei getUUID(String name) klappt das schon. Nun weiß ich aber nicht, wie ich ohne Gson ein Array der ganzen bisherigen Namen der Spieler erstellen kann. Hat da jemand eine Idee?

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 1. Mai 2015, 15:03
von Summerfeeling
Twister_21 hat geschrieben:Hallo, ich habe noch eine Frage:
Da ich so ein kleines Java-Programm machen will, das als UUID-Manager fungiert will ich diese Klasse benutzen. Nun ist das Problem, dass in dem Standart-Java kein Gson eingebaut ist. Deswegen habe ich das versucht rauszucoden. Bei getUUID(String name) klappt das schon. Nun weiß ich aber nicht, wie ich ohne Gson ein Array der ganzen bisherigen Namen der Spieler erstellen kann. Hat da jemand eine Idee?

Code wäre gut, und die benutze Lib.

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 1. Mai 2015, 15:09
von Twister_21
Ich habe ja noch kein Code. Ich wollte den UUID-Fetcher von Jofkos verwenden. Der benötigt aber Gson und das ist nicht standartmäßig installiert. Deswegen kann/will ich das nicht verwenden. Bei Spigot ist es ja schon drin, aber nicht in der Standart-Java-Bibliothek. Meine Frage ist deshalb, ob man das Gson irgendwie, ohne das der Benutzer etwas selber machen muss, installieren kann, oder wie man sonst die ganzen Spielernamen von der Mojang-API in ein Array kriegt. Mit Regex (falls man das so machen kann) habe mich noch nicht wirklich viel beschäftigt.

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 1. Mai 2015, 15:29
von Jofkos
Twister_21 hat geschrieben:Ich habe ja noch kein Code. Ich wollte den UUID-Fetcher von Jofkos verwenden. Der benötigt aber Gson und das ist nicht standartmäßig installiert. Deswegen kann/will ich das nicht verwenden. Bei Spigot ist es ja schon drin, aber nicht in der Standart-Java-Bibliothek. Meine Frage ist deshalb, ob man das Gson irgendwie, ohne das der Benutzer etwas selber machen muss, installieren kann, oder wie man sonst die ganzen Spielernamen von der Mojang-API in ein Array kriegt. Mit Regex (falls man das so machen kann) habe mich noch nicht wirklich viel beschäftigt.

Warum bindest du nicht einfach Gson in deine Jar ein?

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 1. Mai 2015, 15:42
von Twister_21
Ja, das habe ich ja, aber wenn ich die Jar auf einem anderen PC ausführe ist Gson da dann doch nicht da, oder?

Re: [UtilKlasse] UUIDFetcher - Asynchron & mit Cache - Name/

BeitragVerfasst: Fr 1. Mai 2015, 15:48
von Jofkos
Wenn du die Gson dateien in deine Jar packst, sind sie immer da, egal wo du es ausführst.