ServerPlugin Config hilfe

Dieses Thema im Forum "Programmierung" wurde erstellt von keahie, 8. August 2015.

  1. keahie
    Offline

    keahie

    Registriert seit:
    22. Februar 2014
    Beiträge:
    23
    Minecraft:
    keahie
    Liebe Minecraft-Server Community,
    ich hätte eine Frage und zwar schreibe ich gerade ein Jobs Plugin wo man mit einem Villager interagiert um den Job anzunehmen bzw ihn zu kündigen. Wenn ich ihn annehme und wieder auf annehmen drücke, kommt die Meldung "Du hast bereits diesen Job". So weit so gut. Der Spieler wird in einer Config mit dem Job gespeichert. Wenn ich jetzt allerdings einen Reload mache bzw einen Neustart, kommt die Meldung das ich dem Job beigetreten bin und mein Job Level und Xp werden zurück gesetzt da ich den Job sozusagen noch nie hatte. Ich habe hier und hier den Teil meines Source Codes und die Config gepostet. (Die Klammern sind im Original Source Code natürlich richtig ;)). Ich finde es persönlich nur komisch das vor dem Reload alles passt und danach nicht mehr.
    Vielleicht kann mir ja jemand weiterhelfen.
    Mfg panfernox aka keahie
     
    #1
  2. Basti07711
    Offline

    Basti07711 Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    714
    Ort:
    Hinter dir
    Minecraft:
    Basti07711
    Versuch mal die Datei mit plugin.pcfg.load(plugin.player) zu laden, bevor du die Aktion des Annehmens ausführst, damit immer die neuste Version der Datei vorliegt.
     
    #2
  3. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Code (Text):
    1. if (plugin.pcfg.getString(p.getName() + ".Beruf") == "Schmied") {
    2.                                         p.sendMessage(plugin.prefix + "§cDu hast diesen Beruf bereits erlernt");
    3.                                         p.closeInventory();
    4.                                 } else {
    5.                                         plugin.pcfg.set(p.getName() + ".Beruf", "Schmied");
    6.                                         plugin.pcfg.set(p.getName() + ".Level", 1);
    7.                                         plugin.pcfg.set(p.getName() + ".Xp", 0);
    8.                                         try {
    9.                                                 plugin.pcfg.save(plugin.player);
    10.                                                 p.sendMessage(plugin.prefix + "§aDu hast jetzt den Beruf §6Schmied");
    11.                                                 p.closeInventory();
    12.                                         } catch (IOException e1) {
    13.                                                 e1.printStackTrace();
    14.                                                 p.sendMessage(plugin.prefix + fehler);
    15.                                                 p.closeInventory();
    16.                                         }
    17.                                 }
    benutz
    Code (Text):
    1. if (plugin.pcfg.getString(p.getName() + ".Beruf").equals("Schmied"))
    denn == gibt nur true zurück wenn auf genau das gleiche Objekt verwiesen wird und equals gibt schon true zurück wenn die Objekte identisch sind.
     
    #3