Hello I am adding a points prefix to my plugin PvpPoints (You can download it here) and I have no errors when I load it in to my server but the prefix doesn't show up plz help. Code: Code: package FB.PP; import FB.PP.PvPConfig; import FB.PP.PvPExecutor; import FB.PP.PvPGlobals; import FB.PP.PvPLists; import FB.PP.PvPPointsListener; import FB.PP.PvPTimers; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; 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; public class PvPPoints extends JavaPlugin implements Listener { static PvPPoints plugin; public PvPPoints() { } public void onEnable() { plugin = this; plugin.getConfig().options().copyDefaults(true); plugin.saveDefaultConfig(); PvPConfig.load(); PvPTimers.startTimers(); Bukkit.getPluginCommand("rank").setExecutor(new PvPExecutor()); Bukkit.getPluginCommand("pvppoints").setExecutor(new PvPExecutor()); Bukkit.getPluginCommand("leaderboard").setExecutor(new PvPExecutor()); Bukkit.getServer().getPluginManager().registerEvents(new PvPPointsListener(), plugin); Bukkit.getServer().getPluginManager().registerEvents(this, this); this.saveConfig(); } public void onDisable() { PvPConfig.save(); plugin = null; } static PvPPoints getPlugin() { return plugin; } ScoreboardManager manager = Bukkit.getScoreboardManager(); final Scoreboard board = manager.getNewScoreboard(); final Objective objective = board.registerNewObjective("test", "dummy"); @EventHandler public void PlayerJoin(PlayerJoinEvent e) { final Player p = e.getPlayer(); final String pname = p.getName(); Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() { public void run() { long pPoints = ((Long)PvPLists.PlayerPoints.get(p.getUniqueId())).longValue(); long pKills = ((Long)PvPLists.PlayerKills.get(p.getUniqueId())).longValue(); long pDeaths = ((Long)PvPLists.PlayerDeaths.get(p.getUniqueId())).longValue(); ScoreboardManager manager = Bukkit.getScoreboardManager(); Scoreboard board = manager.getNewScoreboard(); Objective objective = board.registerNewObjective("test", "dummy"); objective.setDisplaySlot(DisplaySlot.SIDEBAR); objective.setDisplayName("" + ChatColor.GREEN + ChatColor.ITALIC + "Your Pvp Stats"); Score score = objective.getScore(ChatColor.BLUE + "Points: " + ChatColor.GRAY + PvPGlobals.nf.format(pPoints)); score.setScore(10); Score space = objective.getScore(ChatColor.YELLOW + ""); space.setScore(9); Score score2 = objective.getScore(ChatColor.RED + "Kills: " + ChatColor.GRAY + PvPGlobals.nf.format(pKills)); score2.setScore(8); Score space1 = objective.getScore(ChatColor.AQUA + ""); space1.setScore(7); Score score3 = objective.getScore(ChatColor.GREEN + "Deaths: " + ChatColor.GRAY + PvPGlobals.nf.format(pDeaths)); score3.setScore(6); p.setScoreboard(board); //PREFIX IS HERE!!!!!!!!!!!!! String pp = "" + ChatColor.BLACK + "(" + ChatColor.GRAY + PvPGlobals.nf.format(pPoints) + ChatColor.BLACK + ")" + ChatColor.RESET + pname; p.setDisplayName(pp); } }, 0L, 200L); } }
Please follow Java Naming Convention: packages should be lowercase and should either be a domain own by you (e.g. com.google) or "me.[your name].[your project]". Please don't abuse static and you should never have to create a new instance of a class that extends JavaPlugin. If you have to, pass the instance of the main class around. Are you sure the prefix works? Did you debug? Does setDisplayName work?
@TrippyHD So basically you want their points to show up before their playername when chatting? PlayerChatEvent.