Solved Null Pointer Exception Error?

Discussion in 'Plugin Development' started by Schaffer79, Jan 5, 2015.

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

    Schaffer79

    I cant understand error, this is my source;
    Code:
    package an.schaffer79.pbtr;
    
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import an.schaffer79.lib.RefStrings;
    import an.schaffer79.pbtr.listeners.GunListener;
    import an.schaffer79.pbtr.listeners.PlayerJoinListener;
    import an.schaffer79.pbtr.listeners.ProjectileHitListener;
    
    public class Main extends JavaPlugin {
        public FileConfiguration config = getConfig();
        public Game game;
       
        public void onEnable() {
            Game game = new Game(this);
            new PlayerJoinListener(this);
            new GunListener();
            new ProjectileHitListener(this);
            this.getServer().getConsoleSender().sendMessage(ChatColor.WHITE + "[" + RefStrings.NAME + "]" + ChatColor.AQUA + "Eklenti aktif -" + RefStrings.COMPANY);
            game.startGame(600);
        }
       
    }
    
    Code:
    package an.schaffer79.pbtr;
    
    import java.util.HashMap;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.scoreboard.DisplaySlot;
    import org.bukkit.scoreboard.Objective;
    import org.bukkit.scoreboard.Score;
    import org.bukkit.scoreboard.Scoreboard;
    import org.bukkit.scoreboard.ScoreboardManager;
    
    import an.schaffer79.lib.RefStrings;
    
    public class Game {
    
        private Main main;
        public ScoreboardManager manager;
        public Objective objective;
        public Score score;
        public Score maviScore;
        public Score kirmiziScore;
       
        public HashMap<String, Integer>takim = new HashMap<String, Integer>();
    
        public Game(Main main) {
            this.main = main;
        }
    
        public void startGame(int zaman) {
           
            Bukkit.broadcastMessage(ChatColor.WHITE + "[" + RefStrings.NAME + "]" + ChatColor.AQUA + "Oyun başladı!.");
            Scoreboard board = manager.getNewScoreboard();
            Objective objective = board.registerNewObjective("skor", "dummy");
            objective.setDisplaySlot(DisplaySlot.SIDEBAR);
            objective.setDisplayName(ChatColor.WHITE + "Paintball");
            score = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA + "Kalan Süre"));
            score.setScore(zaman);
            maviScore = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_AQUA + "Mavi"));
            maviScore.setScore(0);
            kirmiziScore = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.RED + "Kırmızı"));
            kirmiziScore.setScore(0);
           
            for(Player pl : Bukkit.getOnlinePlayers()) {
                pl.setScoreboard(board);
            }
    
            main.getServer().getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
                public void run() {
                    score.setScore(score.getScore() - 1);
                    if(score.getScore() <= 0) stopGame();
                }
            }, zaman, 20L);
    
        }
    
        public void stopGame() {
            String kazanan;
            if(maviScore.getScore() > kirmiziScore.getScore()) {
                kazanan = "mavi takım";
            }else if(kirmiziScore.getScore() > maviScore.getScore()) {
                kazanan = "kırmızı takım";
            }else {
                kazanan = "yok";
            }
    
            for(Player pl : Bukkit.getOnlinePlayers()) {
                pl.getInventory().clear();
                takim.put(pl.getName(), 2);
                pl.teleport(pl.getWorld().getSpawnLocation());
                pl.setScoreboard(manager.getNewScoreboard());
            }
            Bukkit.broadcastMessage(ChatColor.WHITE + "[" + RefStrings.NAME + "]" + ChatColor.AQUA + "Oyun bitti, kazanan taraf " + kazanan + "!");
        }
    
    }
    
    Error:
     
  2. Offline

    TheCodingCat

    You are getting null because when you call your constructor in main (new Game(this)) You do not set the "manager" to a new instance. It will always be null because you have never set it a value.
     
  3. Offline

    teej107

  4. Offline

    Schaffer79

    Thank you guys, I solved my problem.
     
Thread Status:
Not open for further replies.

Share This Page