Solved Scoreboard & ScrollerAPI not working

Discussion in 'Plugin Development' started by sgavster, Jan 4, 2014.

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

    sgavster

    Hello,

    I was remaking my server's plugin (pc died, lost all my files!)

    And, I was using the Scroller API (found HERE) and it's not scrolling..

    [​IMG]

    Here is my code:

    Code:java
    1. package me.sgavster.qmc.runnable;
    2.  
    3. import me.sgavster.qmc.util.QPlayer;
    4. import me.sgavster.qmc.util.ScoreboardAdd;
    5. import me.sgavster.qmc.util.Scroller;
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.scoreboard.DisplaySlot;
    9. import org.bukkit.scoreboard.Objective;
    10. import org.bukkit.scoreboard.ScoreboardManager;
    11.  
    12. public class Scoreboard implements Runnable
    13. {
    14. public void run()
    15. {
    16. Scroller name = new Scroller("&bWelcome to &6Quadlar&2MC &bofficial server!", 16, 3, '&');
    17. Scroller pol = new Scroller("&2Online Players", 16, 3, '&');
    18. String all = "";
    19. for(int z = 0; z < Bukkit.getOnlinePlayers().length; z++)
    20. {
    21. all = all + Bukkit.getOnlinePlayers()[z].getName() + " ";
    22. }
    23. Scroller olp = new Scroller("&6" + all, 16, 3, '&');
    24. ScoreboardManager man = Bukkit.getScoreboardManager();
    25. org.bukkit.scoreboard.Scoreboard b = man.getNewScoreboard();
    26. Objective j = b.getObjective(DisplaySlot.SIDEBAR);
    27. j.setDisplayName(name.next());
    28.  
    29. ScoreboardAdd.addScore(j, pol.next(), olp.next());
    30.  
    31. QPlayer.getAllPlayers().setScoreboard(b);
    32. }
    33. }
    34.  


    It just doesn't change the lines. :/

    I hate to bump so early, but I changed the post!

    SOLVED! After playing around, the Scroller scroller = new Scroller(..) can't be in the method, here is the code for anyone that wants it:

    Code:java
    1. Scroller name = new Scroller("&bWelcome to &6Quadlar&2MC &bofficial server!", 25, 2, '&');
    2. Scroller pol = new Scroller("&2Online Players", 16, 3, '&');
    3. Scroller olp = new Scroller("&6" + all(), 16, 5, '&');
    4. public void run()
    5. {
    6. ScoreboardManager man = Bukkit.getScoreboardManager();
    7. Scoreboard b = man.getNewScoreboard();
    8. Objective j = b.registerNewObjective("qmc", "dummy");
    9. j.setDisplaySlot(DisplaySlot.SIDEBAR);
    10. j.setDisplayName(name.next());
    11.  
    12. ScoreboardAdd.addScore(j, pol.next(), olp.next(), 2, 1);
    13.  
    14. for(Player p : Bukkit.getOnlinePlayers())
    15. {
    16. p.setScoreboard(b);
    17. }
    18. }
    19. private String all()
    20. {
    21. String all = "";
    22. for(int i = 0; i < Bukkit.getOnlinePlayers().length; i++)
    23. {
    24. all = all + Bukkit.getOnlinePlayers()[i].getName() + " ";
    25. }
    26. return all;
    27. }[/i]


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 6, 2016
  2. sgavster
    I've been having similar problems. Does that work for the individual objectives too?
     
  3. Offline

    sgavster

    GrandmaJam likes this.
  4. Offline

    SacredWaste

    The issue is that everytime you used
    Code:java
    1. Scroller scroller = new Scroller()

    inside the method, it overwrote the Scoller instance and the information it stored, such as what would be next. Essentially, you created a new Scroller with default values everytime.
     
  5. Offline

    sgavster

    SacredWaste I know :p if you look at one of my posts I say that haha, thanks though
     
  6. Offline

    SacredWaste

    sgavster No problem. I did read your post about you saying it should not be in the method, I just wanted to make sure you understood why.
     
    sgavster likes this.
Thread Status:
Not open for further replies.

Share This Page