ScoreBoard Help

Discussion in 'Plugin Development' started by Smartloser, Jan 10, 2014.

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

    Smartloser

    Hello. So basically, I'm very new to bukkit programming and I could use some help. So, I am trying to create a scoreboard that it's title will be the player prefix + it's name. Here's my code:

    Code:java
    1.  
    2.  
    3.  
    4. import org.bukkit.Bukkit;
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.event.EventHandler;
    8. import org.bukkit.event.Listener;
    9. import org.bukkit.event.player.PlayerJoinEvent;
    10. import org.bukkit.scoreboard.DisplaySlot;
    11. import org.bukkit.scoreboard.Objective;
    12. import org.bukkit.scoreboard.Score;
    13. import org.bukkit.scoreboard.Scoreboard;
    14. import org.bukkit.scoreboard.ScoreboardManager;
    15.  
    16. import ru.tehkode.permissions.PermissionManager;
    17. import ru.tehkode.permissions.PermissionUser;
    18. import ru.tehkode.permissions.bukkit.PermissionsEx;
    19.  
    20. public class ScoreListener implements Listener
    21. {
    22. public static Main plugin;
    23. public ScoreListener(Main instance)
    24. {
    25. plugin = instance;
    26. }
    27. @EventHandler
    28. public void onPlayerJoin(PlayerJoinEvent event)
    29. {
    30. Player player = event.getPlayer();
    31. ScoreboardManager manager = Bukkit.getScoreboardManager();
    32. Scoreboard board = manager.getNewScoreboard();
    33. PermissionManager pex = PermissionsEx.getPermissionManager();
    34. PermissionUser user = PermissionsEx.getUser(player);
    35. Objective objective = board.registerNewObjective("test" , "dummy");
    36. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    37.  
    38. objective.setDisplayName(ChatColor.RED + "Info: " + user.getPrefix() + ChatColor.AQUA + user.getName());
    39. }
    40. }
    41.  

    Can someone tell me what I'm doing wrong please?
     
  2. Offline

    xBlackLightx

    Well you haven't told us what is wrong with it, but with just a quick glance I noticed you haven't set the players scoreboard to the one you created.

    Code:java
    1. player.setScoreboard(board);
     
  3. Offline

    Smartloser

    Sorry, the problem is that the scoreboard isn't showing up :p.
     
  4. Offline

    xBlackLightx

  5. Offline

    Smartloser

    xBlackLightx Yes I did. still not working. It gives this error:

    Could not pass event PlayerJoinEvent to ScoreBoard v1.3 bukkit.org.event.EventException

    EDIT:
    I fixed the problem, but it's still not showing up. My eventhandler:
    Code:java
    1.  
    2. public static Main plugin;
    3. public ScoreListener(Main instance)
    4. {
    5. plugin = instance;
    6. }
    7. @EventHandler
    8. public void onPlayerJoin(PlayerJoinEvent event)
    9. {
    10. Player player = event.getPlayer();
    11. ScoreboardManager manager = Bukkit.getScoreboardManager();
    12. Scoreboard board = manager.getNewScoreboard();
    13. PermissionManager pex = PermissionsEx.getPermissionManager();
    14. PermissionUser user = PermissionsEx.getUser(player);
    15. player.setScoreboard(board);
    16. Objective objective = board.registerNewObjective("test" , "dummy");
    17. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    18. objective.setDisplayName("Kill:");
    19. }
    20.  


    OnEnable:
    Code:java
    1.  
    2. @Override
    3. public void onEnable()
    4. {
    5. PluginDescriptionFile pdfFile = this.getDescription();
    6. this.logger.info(pdfFile.getName() + " In version: "
    7. + pdfFile.getVersion() + " Has been enabled!");
    8. PluginManager pm = getServer().getPluginManager();
    9. pm.registerEvents(this.sl, this);
    10. Plugin plugin = getServer().getPluginManager()
    11. .getPlugin("PermissionEx");
    12. }
    13.  
     
  6. Offline

    xBlackLightx

    Smartloser 1) Does your class implement Listener? 2) try putting the player.setScoreboard(board); at the very end of the Listener. Idk if that'll make a difference, but it may.
     
Thread Status:
Not open for further replies.

Share This Page