[Minecraft/Spigot/Java] Wie kann ich aus einem GameProfile Skins abspeichern?

Hallo,

ich würde gerne wissen wie ich aus dem GameProfile die für den Skin nötigen Daten bekomme, um diese abzuspeichern.

Es soll zu einem Cachingsystem dienen, damit auch beispielsweise die Köpfe von Spielern angezeigt werden können, die nicht online sind, ohne zu viele Anfragen an die Mojang Server zu stellen.

Folgenden Code nutze ich um das GameProfile von einem Spieler zu erhalten und diesem seinen eigene Kopf über die Informationen des GameProfiles zu geben. Dabei wende ich ein Object aus dem Reflection Bereich an (Field).

    public static ItemStack getFriendTool(Player p){
    
    SkullMeta freundeMeta = (SkullMeta) Bukkit.getItemFactory().getItemMeta(Material.SKULL_ITEM);
    GameProfile gp = ((CraftPlayer) p).getProfile();
    
    try {
        Field field = skullMetaClass.getDeclaredField("profile");
        field.setAccessible(true);
        try {
            field.set(freundeMeta, gp);
        } catch (IllegalArgumentException | IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        field.setAccessible(!field.isAccessible());
    } catch (NoSuchFieldException | SecurityException e) {
        e.printStackTrace();
    }
    freundeMeta.setDisplayName("§eFreunde");
    ArrayList<String> freundeLore = new ArrayList<String>();
    freundeLore.add("Mit einem Rechtsklick öffnest Du die Freunde Übersicht,");
    freundeMeta.setLore(freundeLore);
    ItemStack freundeTool = new ItemStack(Material.SKULL_ITEM,1, (byte)3);
    freundeTool.setItemMeta(freundeMeta);
    return freundeTool;
}

Dieser Code funktioniert bereits nur wäre es eben gut, wenn ich die nötigen Informationen aus dem GameProfile abspeichern könnte und diese wiederverwenden könnte.

Meiner Überlegung nach, müsste ich diese aus einem Property Object bekommen, leider hat aber eine Recherche nichts gebracht.

Vielen Dank für jegliche Hilfe.

Server, Computer, Internet, Programm, programmieren, Java, Minecraft, Minecraft Server, Spiele und Gaming
Minecraft Server mit Plugin gehackt!?

Hey, ich habe einen Minecraft Server bei MC-HOST24.de gehostet (Spigot 1.8.8). Jedoch habe ich ein großes Problem: Ich suche Developer für meinen Server. Jemand hat sich gemeldet und hat mir dabei das CashPloit Plugin "angedreht". Damals (glaube am 21.6.17) kannte ich dieses Plugin noch nicht (CashPloit = Grief- & HackPlugin - Jeder Spieler kann +op name eingeben und ist op, das geht mit allen Commands. Nur ein '+' davor). Dass sich Spieler OP geben können, habe "ich" behoben (Plugin: NOOP), aber die "Hacker" können wie gesagt alle Commands mit einem '+' davor auch schreiben. CashPloit wurde von CashDeZZ (oder so ähnlich) gecodet und ich habe dieses Plugin natürlich sofort gelöscht. Aber: Es hat (laut der "HackerGruppe") andere Plugins infiziert und es geht immernoch. Bevor mir jemand sagt, ich solle doch Backups hochladen - Ja. das ginge. Aber das letzte Backup habe ich leider erst vor einem Monat gemacht (besser als nichts aber in der Zwischenzeit hat sich sehr viel geändert). Nun zur Hauptfrage: Kennt jemand ein Plugin, dass das (gelöschte) CashPloit Plugin ausser gefecht stellt? Das Plugin: https://dev.bukkit.org/projects/antivirus geht bei mir nicht, da sich der Server nicht mehr starten lässt, wenn das Plugin auf dem Server ist. Meine einzige Lösung sonst wäre, die Version Spigot 1.8 zu installieren da der Hack nur auf 1.8.8 funktioniert. Bestimmt funktioniert das nicht auf großen Servern wie GommeHD.net, das heißt, es muss eine Möglichkeit geben (ich weis, dass diese Server ein sehr gutes Developer Team hat und nicht mit anderen wie meinen zu vergleichen ist, aber fragen kostet nichts). Ich bitte sehr um Hilfe, weil mein Server damit schon über 15 mal gegrieft wurde und ich ihn nun nicht starten kann, weil zu viele Hacker kommen.

Server, Minecraft, Hacking, Minecraft Server, Plug-in, Spigot, Griefing

Meistgelesene Beiträge zum Thema Minecraft Server