Solved YamlConfiguration returns always 0

Discussion in 'Plugin Development' started by re4ly, Nov 8, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    re4ly

    Code:java
    1. public void save(Player p) {
    2. PlayerDataFile = new File("plugins/myplugin/"+ p.getName().toLowerCase() +".yml");
    3. PlayerDataConfig = new YamlConfiguration();
    4. if(!PlayerDataFile.exists())
    5. {
    6. try
    7. {
    8. PlayerDataConfig.save(PlayerDataFile);
    9. PlayerDataConfig.createSection("xp");
    10. PlayerDataConfig.createSection("xplevel");
    11. PlayerDataConfig.createSection("hunger");
    12. PlayerDataConfig.createSection("health");
    13. PlayerDataConfig.createSection("inventory");
    14. PlayerDataConfig.createSection("armor");
    15. PlayerDataConfig.save(PlayerDataFile);
    16. }
    17. catch (IOException e)
    18. {
    19. }
    20. }
    21. try
    22. {
    23. PlayerDataConfig.save(PlayerDataFile);
    24. PlayerDataConfig.set("xp", p.getExp());
    25. PlayerDataConfig.set("xplevel", p.getExpToLevel());
    26. PlayerDataConfig.set("hunger", p.getFoodLevel());
    27. PlayerDataConfig.set("health", ((CraftPlayer)p).getHealth());
    28. PlayerDataConfig.set("inventory", p.getInventory().getContents());
    29. PlayerDataConfig.set("armor", p.getInventory().getArmorContents());
    30. PlayerDataConfig.save(PlayerDataFile);
    31. }
    32. catch (IOException e)
    33. {
    34. }
    35. }
    Code:java
    1. public void restore(Player p) {
    2. log.info("0");
    3. PlayerDataFile = new File("plugins/myplugin/"+ p.getName().toLowerCase() +".yml");
    4. PlayerDataConfig = new YamlConfiguration();
    5. if(!PlayerDataFile.exists()){
    6. log.info("file not exist");
    7. return;
    8. }
    9. p.setExp((float)PlayerDataConfig.getDouble("xp"));
    10. p.setLevel(PlayerDataConfig.getInt("xplevel"));
    11. p.setFoodLevel(PlayerDataConfig.getInt("hunger"));
    12. p.setHealth(PlayerDataConfig.getDouble("health"));
    13.  
    14. List<ItemStack> Inv = (List<ItemStack>) PlayerDataConfig.getList("inventory");
    15. List<ItemStack> Arm = (List<ItemStack>) PlayerDataConfig.getList("armor");
    16.  
    17. p.getInventory().setContents((ItemStack[]) Inv.toArray());
    18. p.getInventory().setArmorContents((ItemStack[]) Arm.toArray());
    19.  
    20. }
    playername.yml
    Code:
    xp: 0.0
    xplevel: 17
    hunger: 20
    health: 20.0
    [...]
    PlayerDataConfig.getDouble("xp"), PlayerDataConfig.getInt("xplevel"), PlayerDataConfig.getInt("hunger"), PlayerDataConfig.getDouble("health") -> return all the value 0

    .. PlayerDataConfig.load(PlayerDataFile) ..

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
Thread Status:
Not open for further replies.

Share This Page