So I'm making a plugin that uses scoreboards to track scores and something is not going right... Basically, I asked a friend how to fix something as Eclipse didn't show errors but when I loaded my server it gave me an error saying nullpointerexception and he told me to add something that checks if the manager is null but now everything using board & manager elsewhere is saying it cannot be resolved and I cannot fix it. Any help will be appreciated! CODE: Code: package me.rf2minecraft.ABBAMining; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.plugin.java.JavaPlugin; 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 org.bukkit.scoreboard.Team; public final class ABBAMining extends JavaPlugin { public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(new BlockBreak(), this); } ScoreboardManager manager = Bukkit.getScoreboardManager(); if(manager!=null) { Scoreboard board = manager.getNewScoreboard(); Team team = board.registerNewTeam("Scores"); Team getTeam = board.getTeam("Scores"); Objective objective = board.registerNewObjective("score", "dummy"); } else { getLogger().info("ScoreboardManager could not be found!"); } Score emeralds = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_PURPLE + "Emeralds")); Score diamonds = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_PURPLE + "Diamonds")); Score gold = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_PURPLE + "Gold")); Score lapis = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_PURPLE + "Lapis")); Score redstone = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_PURPLE + "Redstone")); public class BlockBreak implements Listener { @EventHandler public void onBlockBreak(BlockBreakEvent e) { if(!(e.getPlayer().getItemInHand().getType() == Material.DIAMOND_PICKAXE && e.getPlayer().getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH))) return; if(!(e.getBlock().getType() == Material.EMERALD_ORE || e.getBlock().getType() == Material.DIAMOND_ORE)) return; if(!(e.getBlock().getType() == Material.GOLD_ORE || e.getBlock().getType() == Material.LAPIS_ORE || e.getBlock().getType() == Material.REDSTONE_ORE)) return; int EmeraldMined = 7; int DiamondMined = 5; int GoldMined = 3; int LapisMined = 1; int RedstoneMined = 1; objective.setDisplaySlot(DisplaySlot.SIDEBAR); objective.setDisplayName("Scores"); if(e.getBlock().getType() == Material.EMERALD_ORE) { Player p = e.getPlayer(); p.setScoreboard(board); emeralds.setScore(EmeraldMined); } if(e.getBlock().getType() == Material.DIAMOND_ORE) { Player p = e.getPlayer(); p.setScoreboard(board); diamonds.setScore(DiamondMined); } if(e.getBlock().getType() == Material.GOLD_ORE) { Player p = e.getPlayer(); p.setScoreboard(board); gold.setScore(GoldMined); } if(e.getBlock().getType() == Material.LAPIS_ORE) { Player p = e.getPlayer(); p.setScoreboard(board); lapis.setScore(LapisMined); } if(e.getBlock().getType() == Material.REDSTONE_ORE) { Player p = e.getPlayer(); p.setScoreboard(board); redstone.setScore(RedstoneMined); } } } } }
Code: if(manager!=null) { Scoreboard board = manager.getNewScoreboard(); Team team = board.registerNewTeam("Scores"); Team getTeam = board.getTeam("Scores"); Objective objective = board.registerNewObjective("score", "dummy"); } else { getLogger().info("ScoreboardManager could not be found!"); } that should be inside a method
Erm.... can I have an example please? Sorry, I'm not used to fixing weird bugs like this.... atleast for me.
Well. I don't want to step on your toe but since this is more than basics of the basics of MOST programming language I personally advice you to go ahaed and learn java first. However here is a basic overview of a class and its method Code:java public class MyClass { // Here is your class body // Here you only should define // fields and methods and // if you like so another class public void myMethod(/*****/) { // here is where you do if clauses // and whatever else you want to do }}