Java Bukkit自定义前缀插件不';我不能用必需品工作

Java Bukkit自定义前缀插件不';我不能用必需品工作,java,plugins,minecraft,bukkit,Java,Plugins,Minecraft,Bukkit,我正在制作一个插件,在不久的将来会有排名,但我决定先通过前缀。我有以下代码: Essentials ess = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials"); User user = ess.getUserMap().getUser(p.getName()); //nickname String nick = user.getDisplayName();

我正在制作一个插件,在不久的将来会有排名,但我决定先通过前缀。我有以下代码:

    Essentials ess = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials");
    User user = ess.getUserMap().getUser(p.getName());
    //nickname
    String nick = user.getDisplayName();
    String prisoner = ColourMsg("&5<<&bPrisoner&5>>&r>" + " <");

    p.setDisplayName(prisoner + nick);
Essentials ess=(Essentials)Bukkit.getServer().getPluginManager().getPlugin(“Essentials”);
User User=ess.getUserMap().getUser(p.getName());
//绰号
字符串nick=user.getDisplayName();

String capcular=colormsg(“&5&r>”+”您不需要Essentials(Essentials是一个糟糕的插件,因为1.8版)。 您只需在PlayerJoinEvent中使用记分牌前缀/后缀即可设置标记

 Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
 Objective ob = sb.registerNewObjective("objName", "dummy");

    public void onEnable() {
        // Set Display slot
        ob.setDisplaySlot(DisplaySlot.PLAYER_LIST);
    }

    public void onJoin(PlayerJoinEvent e) {
        // Delay a task
        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
            @Override
            public void run() {
                if (e.getPlayer().hasPermission("tags.example")) {
                    sb.registerNewTeam("Example");
                    Team team = sb.getTeam("Example");
                    team.setPrefix(ChatColor.RED + "[Example]");
                    team.addEntry(e.getPlayer().getName());
                } else if (e.getPlayer().hasPermission("tags.otherTag")) {
                    sb.registerNewTeam("OtherTag");
                    Team team = sb.getTeam("OtherTag");
                    team.setPrefix(ChatColor.GREEN + "[OtherTag]");
                    team.addEntry(e.getPlayer().getName());
                }
            }
        }, 20 * 1); // The 1 is the number of seconds to delay, 1 is fine
    }

无法以什么方式工作?错误消息?结果与预期结果有何不同?此代码在何处执行?