ServerPlugin Variabeln speichern und auslesen in 1.2.5

Dieses Thema im Forum "Programmierung" wurde erstellt von xela001, 30. Juli 2013.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    hallo ich bin gerade dabei ein plugin für 1.2.5 zu schreiben.
    könnte mir jemand vieleicht sagen, wie man variabeln in datein speichern und wieder auslesen kann?
    Danke schonmal im Vorraus.
     
    #1
  2. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Ein Beispiel:
    Speichern:
    Code (Text):
    1.  
    2. getConfig().set("Schreibe hier den Namen der Variable hin", "Schreibe hier den Wert der Variable hin");
    3. saveConfig();
    Aufrufen:
    Code (Text):
    1. String var1 = getConfig().getString("Schreibe hier den Namen der Variable hin");
     
    #2
  3. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    Und mit welchem code bestimt man die datei?
     
    #3
  4. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Mit getConfig() rufst du automatisch die config.yml auf.
     
    #4
  5. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    ok aber wie kan ich den ausgelesenen wert in einen locations wert umwandeln?

    - - - Aktualisiert - - -

    also sowas hier:
    Code (Text):
    1. Location hilfelocation = getConfig().getString("location");
     
    #5
  6. games6471
    Online

    games6471

    Indem du die einzelnen Werte eines Location Objekts innerhalb deiner Konfiguration abfragst und daraus dann ein neues Locations Objekt bildest.
     
    #6
  7. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    Wie jetzt? Ich progermiere noch nicht so lange in java.
     
    #7
  8. games6471
    Online

    games6471

    Ein Location Objekt bildest sich aus folgenden Daten:

    1. Einem World Objekt
    2. Ein Double Wert für x
    3. "" für y
    4. "" für z
    5. Einem Float Wert für die pitch
    6. und zu letzt noch ein Float Wert für die yaw

    Du speicherst die benötigten Daten ab und beim Laden bildest du aus den Werten ein neues Location-Objekt.

    Serialisierung und Deserialisierung

    jd.bukkit.org/dev/apidocs/src-html/org/bukkit/Location.html


     
    #8
  9. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    hä???
    Code (Text):
    1. Location hilfelocation = getConfig().getString("location");
    wie muss ich jetzt die zeile umschreiben?
    Speichern tu ich so:
    Code (Text):
    1.                 Player targetPlayer = player.getServer().getPlayer(args[0]);
    2.                 Location wo = targetPlayer.getLocation();
    3.                
    4.                 getConfig().set("location", wo);
    5.                 saveConfig();
     
    #9
  10. games6471
    Online

    games6471

    Was verstehst du nicht unter: einzeln abspeichern.

    Du speicherst jeden Wert des Location-Objektes einzeln ab.
     
    #10
  11. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    und wie? kanst du mir dabei mal helfen?

    - - - Aktualisiert - - -

    also wie man das jetzt auseinander frimelt und wieder zusammen fügt.
     
    #11
  12. games6471
    Online

    games6471

    #12
  13. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    und wie kann ich jetzt die bestehende location variabel auseinander frimeln?
     
    #13
  14. games6471
    Online

    games6471

    Nehmen wir an deine Variable für das Location-Objekt hieße loc.

    Code (Text):
    1.         final String worldName = loc.getWorld().getName();
    2.        
    3.         final double locX = loc.getX();
    4.         final double locZ = loc.getZ();
    5.         final double locY = loc.getY();
    6.        
    7.         final float pitch = loc.getPitch();
    8.         final float yaw = loc.getYaw();
     
    #14
  15. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    Das auslesen hab ich jetzt so gemacht
    Code (Text):
    1.                     String world = getConfig().getString("world");
    2.                     String x = getConfig().getString("x");
    3.                     String y = getConfig().getString("y");
    4.                     String z = getConfig().getString("z");
    5.                     String yaw = getConfig().getString("yaw");
    6.                     String pitch = getConfig().getString("pitch");
    7.                    
    8.                     Location hilfelocation = Location(world, x, y, z, yaw, pitch);
    Aber das zweite "Location" in der letzten reihe wird immer noch rot unterkringelt.
     
    #15
  16. games6471
    Online

    games6471

    Es wird auch ein World-Objekt erwartet und kein String.
     
    #16
  17. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    Type mismatch: cannot convert from String to double
     
    #17
  18. games6471
    Online

    games6471

    Stimmt, das hab ich übersehen. Natürlich das noch zusätzlich.
     
    #18
  19. ChristianG
    Online

    ChristianG

    und auch keine Strings sondern doubles für die Koordinaten.
     
    #19
  20. xela001
    Offline

    xela001

    Registriert seit:
    10. August 2012
    Beiträge:
    20
    Minecraft:
    xela002
    auserdem
    The method Location(World, double, double, double, float, float) is undefined for the type polizei
     
    #20
Status des Themas:
Es sind keine weiteren Antworten möglich.