Frage von pinguin5202004, 57

Wie kann ich mehrere daten in einem String festhalten [Minecraft Coding]?

Ich schreibe grade ein OsterEier such Plugin, und möchte die gefundenen Eier in eine Config eintragen. Wie macht man das am schlausten?

Antwort
von pinguin5202004, 7

Ergänzubng:

Ich möchte dass alle Eier die es gibt in der Config.yml abgespeichert werden und eine ID bekommen. Dann wird in einer [playername].yml abgespeichert, welche Eier der Spieler gefunden hat!

@ChristianPl!

Wenn du die Location davon speichern möchtest, wäres es am sinnigsten, den Weltnamen, X, Y und Z einzeln zu speichern:

eastereggs:
    1: 
        world: meineWelt
        x: 109320.0
        Y: 100.0
        Z: 8390.0
    2: 
        world: meine2teWelt
        x: 17820.0
        Y: 12.0
        Z: 90.0

Wie speicher ich diese Werbe so sortiert ab?

Antwort
von LudwigSchindler, 12

Du möchtest also dass für jeden einzelnen Spieler die gefunden Eier in der Config abspeichern?

Ich würde dir empfehlen dies in einer extra Datei zu speichern und die eier jeweils eine nummer/namen geben und dies in einer ArrayList abspeichern.

Ich weiß natürlich nicht was du bisher hast ...

Kommentar von pinguin5202004 ,

Nein, ich möchte dass alle Eier die es gibt in der Config abgespeichert werden und eine ID bekommen. Dann wird in einer player.yml abgespeichert, welche Eier der Spieler gefunden hat:

Code:

public void SpawnEgg(Player p) {
String world = p.getWorld().getName();
double x = p.getLocation().getX();
double y = p.getLocation().getY();
double z = p.getLocation().getZ();

FileConfiguration cfg = getConfig();
cfg.set("World", world);
cfg.set("X", x);
cfg.set("Y", y);
cfg.set("Z", z);
}
public void loadConfig() {
getConfig().options().copyDefaults(true);
saveConfig();
}

@EventHandler
public void onJoin(PlayerJoinEvent e) throws IOException {
Player p = e.getPlayer();
File file = new File("plugins" + File.separator + "OsterEier" + File.separator + "users" + File.separator + p.getName() + ".yml");
new YamlConfiguration();
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
if (!file.exists()) {
file.createNewFile();

cfg.set("eggs", 0);
cfg.save(file);
}
}
}

Antwort
von ChristianPl, 38

Wenn du die Location davon speichern möchtest, wäres es am sinnigsten, den Weltnamen, X, Y und Z einzeln zu speichern:

eastereggs:
    1: 
        world: meineWelt
        x: 109320.0
        Y: 100.0
        Z: 8390.0
    2: 
        world: meine2teWelt
        x: 17820.0
        Y: 12.0
        Z: 90.0

Kommentar von pinguin5202004 ,

Und wie genau speichern ich das genau so ab?

Kommentar von Dereta ,

Stichwort XML. Ansonsten wie in der anderen antwort über einen Separator. z.B. string loc = "meineWelt:x:y:z;meine2teWelt:x:y:z" Grüße

Kommentar von pinguin5202004 ,

und wie trage ich das so in die Config ein?

Antwort
von LudwigSchindler, 1

Vllt. kannst du damit etwas anfangen :D

http://hastebin.com/alijulosus.avrasm

Keine passende Antwort gefunden?

Fragen Sie die Community