It seems to this code:
private ScoreboardManager manager = Bukkit.getScoreboardManager();
private Scoreboard board = manager.getNewScoreboard();
The reason is that you're not declaring these variables inside of a method, so, they get loaded before your onEnable()
method is called, making it so that you can't get anything using Bukkit
as it Bukkit has not yet been initialized.
What I recommend doing is doing something like this outside of any methods:
private ScoreboardManager manager;
private Scoreboard board;
then doing this in your onEnable()
:
manager = Bukkit.getScoreboardManager();
board = manager.getNewScoreboard();
So you would have something like this:
public class MainRush extends JavaPlugin implements Listener{
private ScoreboardManager manager;
private Scoreboard board;
@Override
public void onEnable(){
//plugin enabled
manager = Bukkit.getScoreboardManager();
board = manager.getNewScoreboard();
}
}
By doing this, you're eliminating the chance of getting a NullPointerException
when your plugin is loaded. As a general rule of thumb, you should never get anything from bukkit outside of methods.