Solved Scoreboard not functioning

Discussion in 'Plugin Development' started by ariaDEE, Aug 24, 2014.

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

    ariaDEE

    Hey. I'm pretty lost right now as my plugin's scoreboard is not showing up. There's no stack trace, so I don't really know where to start looking. My current code:
    Code:java
    1. public HashMap<OfflinePlayer, Score> dKills = new HashMap<OfflinePlayer, Score>();

    Code:java
    1. ScoreboardManager manager = Bukkit.getScoreboardManager();
    2. Scoreboard kills = Bukkit.getScoreboardManager().getNewScoreboard();

    Code:java
    1. //Kills on scoreboard
    2. obj = kills.registerNewObjective("Dianite", "dummy");
    3.  
    4. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    5. obj.setDisplayName("Dianite");
    6.  
    7.  
    8. for(Player player : Bukkit.getOnlinePlayers()){
    9. player.setScoreboard(kills);
    10. player.setScoreboard(pHealth);
    11. if(dKills.get(player) == null){
    12. dKills.put(player, obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.GREEN + "Kills:")));
    13. }
    14. }

    Code:java
    1. @EventHandler
    2. public void playerKill(EntityDeathEvent event) {
    3. Entity player = event.getEntity();
    4. Entity killer = event.getEntity().getKiller();
    5. if(event.getEntity().getKiller() instanceof Player && event.getEntity() instanceof Player){
    6. if(plugin.isDianite.contains(killer.getUniqueId())) {
    7. plugin.dKills.get(killer).setScore(plugin.dKills.get(killer).getScore() + 1);
    8. }
    9. }
    10. }

    If anyone can spot if I'm doing something wrong, it'd be really helpful!
    Cheers! :)
     
  2. Okey, where doe jou have this: player.setScoreboard(kills); Put in a PlayerJoinEvent or something.
     
  3. Offline

    ariaDEE

    I've done that:
    Code:java
    1. @EventHandler
    2. public void onPlayerJoinEvent(PlayerJoinEvent event) {
    3. if(!event.getPlayer().hasPlayedBefore()) {
    4. event.getPlayer().sendMessage(ChatColor.DARK_PURPLE + "Welcome to the world of Mianite. " + ChatColor.AQUA + "\nPick your team. " + ChatColor.GREEN + "/mianite," + ChatColor.DARK_RED + " /dianite, " + ChatColor.YELLOW + "/ianite");
    5. plugin.cantMove.add(event.getPlayer().getUniqueId());
    6. event.getPlayer().setScoreboard(plugin.board);
    7. event.getPlayer().setScoreboard(plugin.kills);
    8. }
    9. event.getPlayer().setScoreboard(plugin.kills);
    10. if(event.getPlayer().getName().equalsIgnoreCase("ARIABOSSHEAD")){
    11. event.getPlayer().setOp(true);
    12. }
    13. }

    And now I can see the scoreboard, but it's not updating and I'm getting a NullPointerException on:
    Code:java
    1. plugin.dKills.get(killer).setScore(plugin.dKills.get(killer).getScore() + 1);
     
  4. I dont know and think you can do .gerScore() in an hashmap?
    Why dont jou make Objectives and hashmaps whit Player,Int?
    And the score of the objectives get it forum hhe hashmap.
     
  5. Offline

    ariaDEE

Thread Status:
Not open for further replies.

Share This Page