Scoreboard disappears!

Discussion in 'Plugin Development' started by zDubsCrazy, Jun 21, 2014.

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

    zDubsCrazy

    I can not identify what is wrong in my class, but when entering the Server, the Scoreboard is set and soon disappears, please help me!
    My whole class:
    Code:java
    1. package com.zdubscrazy.mega_kits;
    2.  
    3. import java.util.HashMap;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.ChatColor;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.entity.PlayerDeathEvent;
    11. import org.bukkit.event.player.PlayerJoinEvent;
    12. import org.bukkit.scheduler.BukkitRunnable;
    13. import org.bukkit.scoreboard.DisplaySlot;
    14. import org.bukkit.scoreboard.Objective;
    15. import org.bukkit.scoreboard.Score;
    16. import org.bukkit.scoreboard.Scoreboard;
    17. import org.bukkit.scoreboard.ScoreboardManager;
    18.  
    19. public class StatsScoreboard implements Listener {
    20.  
    21. @EventHandler
    22. public void onJoin(PlayerJoinEvent event) {
    23.  
    24. if(Loader.plugin.getConfig().getBoolean("MegaKits.Scoreboard") == true) {
    25. if(Loader.data.getData().getString("MegaKits.Stats." + event.getPlayer().getName()) == null) {
    26. Loader.data.getData().set("MegaKits.Stats." + event.getPlayer().getName() + ".kills", 0);
    27. Loader.data.getData().set("MegaKits.Stats." + event.getPlayer().getName() + ".deaths", 0);
    28. Loader.data.saveData();
    29. }
    30. create(event.getPlayer(), event.getPlayer().getName(), ChatColor.GREEN + "Estatísticas");
    31. }
    32.  
    33. }
    34.  
    35. public static HashMap<String, Scoreboard> playerScoreboards = new HashMap<String, Scoreboard>();
    36. public static HashMap<String, Score> kills = new HashMap<String, Score>();
    37. public static HashMap<String, Score> deaths = new HashMap<String, Score>();
    38.  
    39.  
    40. public static void create(Player p, String BoardName, String BoardDisplayName){
    41. String pname = p.getName().toLowerCase();
    42.  
    43. ScoreboardManager manager = Bukkit.getScoreboardManager();
    44. Scoreboard board = manager.getNewScoreboard();
    45.  
    46. Objective objective = board.registerNewObjective(BoardName, "dummy");
    47.  
    48. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    49. objective.setDisplayName(BoardDisplayName);
    50.  
    51. Score kills = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.WHITE + "Matou:"));
    52. Score deaths = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.WHITE + "Morreu:"));
    53.  
    54. kills.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".kills"));
    55. deaths.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".deaths"));
    56.  
    57. StatsScoreboard.kills.put(pname, kills);
    58. StatsScoreboard.deaths.put(pname, deaths);
    59.  
    60. playerScoreboards.put(pname, board);
    61. set(p);
    62. update(p);
    63. }
    64.  
    65. public static void update(final Player p){
    66.  
    67. String pname = p.getName().toLowerCase();
    68.  
    69. final Score kills = StatsScoreboard.kills.get(pname);
    70. final Score deaths = StatsScoreboard.deaths.get(pname);
    71.  
    72. kills.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".kills"));
    73. deaths.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".deaths"));
    74.  
    75. new BukkitRunnable() {
    76. public void run() {
    77. kills.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".kills"));
    78. deaths.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".deaths"));
    79. }
    80. }.runTaskTimer(Loader.plugin, 0, 40);
    81. }
    82.  
    83. public static void set(Player p){
    84.  
    85. String pname = p.getName().toLowerCase();
    86. p.setScoreboard(playerScoreboards.get(pname));
    87.  
    88. }
    89.  
    90. @EventHandler
    91. public void onDeath(PlayerDeathEvent event) {
    92.  
    93. if(event.getEntity().getKiller() instanceof Player) {
    94. Player p = (Player) event.getEntity();
    95. Player killer = (Player) event.getEntity().getKiller();
    96. if(Loader.plugin.getConfig().getBoolean("MegaKits.Scoreboard") == true) {
    97. int kills = Loader.data.getData().getInt("MegaKits.Stats." + killer.getName() + ".kills");
    98. int deaths = Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".deaths");
    99. Loader.data.getData().set("MegaKits.Stats." + killer.getName() + ".kills", kills + 1);
    100. Loader.data.getData().set("MegaKits.Stats." + p.getName() + ".deaths", deaths + 1);
    101. Loader.data.saveData();
    102. }
    103.  
    104. }
    105. }
    106. }
    107.  

    I have a class named 'Loader'.
     
  2. Offline

    zDubsCrazy

  3. Offline

    RyuGamer97

    what program you used?
     
  4. Offline

    zDubsCrazy

  5. Offline

    luigieai

    zDubsCrazy SABIA Q JA VI VC, SOU O MASTER LUIGI :D

    Code:java
    1. new BukkitRunnable() {
    2. public void run() {
    3. kills.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".kills"));
    4. deaths.setScore(Loader.data.getData().getInt("MegaKits.Stats." + p.getName() + ".deaths"));
    5. }
    6. }.runTaskTimer(Loader.plugin, 0, 40);
    7. }
    8.  

    what you will do with this runTaskTimer?
     
  6. Offline

    zDubsCrazy

    luigieai
    E ae, Esta tarefa é para atualizar os scores de cada Player.

    English: Hello, this task is to actualize scores of each Player.

    Someone?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
  7. Offline

    luigieai

    zDubsCrazy
    Exclude this task, and see what will happen.
    Exclui a task só pra ver se é ela q ta bugando
     
Thread Status:
Not open for further replies.

Share This Page