PvP Plugin Cfg-File Problem

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

PvP Plugin Cfg-File Problem

Beitragvon Zammla » Mo 19. Sep 2016, 13:44

Hallo Postcrafter-Community,

Ich komme bei meinem Plugin nicht weiter. Es geht darum, dass es ein PvP Event ist. Doch jedes mal wenn ich die Kills und Tode eines Spielers in meiner "Database.cfg" speichere, werden die gesammten Einträge bis auf die Kills gelöscht (siehe Code 2). Woran kann das liegen?

Code vom Killlistener:
Code: Alles auswählen
  1. private File Database = new File("plugins/Pvp/Database.yml");
  2.    private FileConfiguration datacfg = YamlConfiguration.loadConfiguration(Database);
  3.    
  4.    
  5.    @EventHandler
  6.    public void onKill(PlayerDeathEvent e) {
  7.       Player p = (Player) e.getEntity().getPlayer();
  8.       Player killer = (Player) p.getKiller();
  9.       
  10.       if(killer == null) {
  11.          e.getDrops().clear();
  12.          e.setDeathMessage("");
  13.          PvpJoinListener.updateScoreboard(p, "§c-");
  14.          return;
  15.       } else {
  16.          UUID uuid = p.getUniqueId();
  17.          UUID kuuid = killer.getUniqueId();
  18.          
  19.          int coins = datacfg.getInt("Datenbank." + kuuid + ".coins");
  20.          int killerkills = datacfg.getInt("Datenbank." + kuuid + ".kills");
  21.          int deaths = datacfg.getInt("Datenbank." + uuid + ".deaths");
  22.          
  23.          e.setDeathMessage("");
  24.          
  25.          e.getDrops().clear();
  26.          
  27.          p.sendMessage("§9Du wurdest von §e" + killer.getName() + " §9getötet");
  28.          killer.sendMessage("§9Du hast §e" + p.getName() + " §9getötet");
  29.          killer.sendMessage("§9Du hast §e2 Coins §9erhalten");
  30.          
  31.          killer.playSound(killer.getLocation(), Sound.LEVEL_UP, 30, 30);
  32.       
  33.          killer.setHealth(20);
  34.          
  35.          //Killer Stats werden hochgesetzt
  36.          datacfg.set("Datenbank." + kuuid + ".coins", coins+2);
  37.          datacfg.set("Datenbank." + kuuid + ".kills", killerkills+1);
  38.          
  39.          //Player Stats werden niederiger
  40.          datacfg.set("Datenbank." + uuid + ".deaths", deaths+1);
  41.          try {
  42.             datacfg.save(Database);
  43.          } catch (IOException e1) {
  44.             e1.printStackTrace();
  45.          }
  46.          
  47.          PvpJoinListener.updateScoreboard(killer, null);
  48.          PvpJoinListener.updateScoreboard(p, "§c-");
  49.       }
  50.    }


Code 2 (Cfg-File):

* = UUID

Datenbank:
(Spieler1)************************************:
name: Zammla
coins: 2
kills: 1
deaths: 0
stats: true
(Spieler2)************************************:
deaths: 1




Vielen dank für eure Hilfe! :)
Benutzeravatar
Zammla
 
Beiträge: 9
Registriert: Fr 16. Okt 2015, 21:17

Re: PvP Plugin Cfg-File Problem

Beitragvon DevToLearn » Mo 19. Sep 2016, 20:49

First of all, Hallo.

Mein Vorschlag wäre, dass du für jeden Spieler einzeln eine Configuration-Datei anlegst. Wenn du alle Statistiken in einer Datei abspeicherst, kann das dann später beim abrufen, viele Resourcen fressen.
Probiere das mal aus. Warum umständlich und unübersichtlich, wenn es doch auch einfach geht xD
Viel Glück!
Benutzeravatar
DevToLearn
 
Beiträge: 15
Registriert: So 13. Mär 2016, 10:20

Re: PvP Plugin Cfg-File Problem

Beitragvon Knadda » Sa 24. Sep 2016, 14:04

Du musst die cfg auch erst laden sonst sind die anderen einträge beim speichern weg.
Benutzeravatar
Knadda
 
Beiträge: 49
Registriert: Mo 1. Aug 2016, 07:06


Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 26 Gäste

cron