Solved Why it is not working?

Discussion in 'Plugin Development' started by Iervolino, Aug 4, 2013.

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

    Iervolino

    Code:
    package me.Iervolino.iRanks;
     
    import java.util.logging.Logger;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
     
    @SuppressWarnings("deprecation")
    public class iRanks extends JavaPlugin implements Listener
    {
    public final Logger logger = Logger.getLogger("Minecraft");
     
    public void onEnable()
    {
    getServer().getPluginManager().registerEvents(this, this);
    }
     
    @EventHandler
    public void OnJoin(PlayerJoinEvent event){
    for(Player player : Bukkit.getOnlinePlayers()){
    String name = player.getName();
     
    if(name.length() + 1 > 16){
    name = name.substring(0, name.length() - 1);
    }
     
    if(player.hasPermission("iranks.admin") || player.isOp()){
    player.setPlayerListName(ChatColor.RED + name);
    }
    else if(player.hasPermission("iranks.mod")){
    player.setPlayerListName(ChatColor.DARK_PURPLE + ChatColor.ITALIC.toString() + name);
    }
    else if(player.hasPermission("iranks.vip")){
    player.setPlayerListName(ChatColor.GREEN + name);
    }
    else if(player.hasPermission("iranks.mvp")){
    player.setPlayerListName(ChatColor.BLUE + name);
    }
    else if(player.hasPermission("iranks.pro")){
    player.setPlayerListName(ChatColor.GOLD + name);
    }
    }
    }
     
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onChat(PlayerChatEvent event){
    Player player = event.getPlayer();
    String name = player.getName();
     
    if(player.hasPermission("iranks.admin") || player.isOp()){
    player.setDisplayName(ChatColor.RED + name);
    }
    else if(player.hasPermission("iranks.mod")){
    player.setDisplayName(ChatColor.DARK_PURPLE + ChatColor.ITALIC.toString() + name);
    }
    else if(player.hasPermission("iranks.vip")){
    player.setDisplayName(ChatColor.GREEN + name);
    }
    else if(player.hasPermission("iranks.mvp")){
    player.setDisplayName(ChatColor.BLUE + name);
    }
    else if(player.hasPermission("iranks.pro")){
    player.setDisplayName(ChatColor.GOLD + name + "&f");
    }
    }
     
    @EventHandler(priority = EventPriority.HIGH)
    public void ChatFormat(AsyncPlayerChatEvent event){
    Player player = event.getPlayer();
    String message = event.getMessage();
    event.setFormat(player.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD.toString() + " > " + ChatColor.GRAY + message);
    }
    }
    Code:
    @EventHandler(priority = EventPriority.HIGH)
    public void ChatFormat(AsyncPlayerChatEvent event){
    Player player = event.getPlayer();
    String message = event.getMessage();
    event.setFormat(player.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD.toString() + " > " + ChatColor.GRAY + message);
    }
    }
    The ChatFormat (Async...) is not working, when I don't use this event the player displayname work, but when I use this event with the format, the displayname on the message appear white.
     
  2. Iervolino
    PlayerChatEvent is an old version of AsyncPlayerChatEvent, therefore (afaik) no longer works, which means you never set their display name. Do the same thing in AsyncPlayerChatEvent as you did in PlayerChatEvent, but put it above your setFormat() method.
     
  3. Offline

    Iervolino

    Assist


    Code:
    package me.Iervolino.iRanks;
     
    import java.util.logging.Logger;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class iRanks extends JavaPlugin implements Listener
    {
    public final Logger logger = Logger.getLogger("Minecraft");
     
    public void onEnable()
    {
    getServer().getPluginManager().registerEvents(this, this);
    }
     
    @EventHandler
    public void OnJoin(PlayerJoinEvent event){
    for(Player player : Bukkit.getOnlinePlayers()){
    String name = player.getName();
     
    if(name.length() + 1 > 16){
    name = name.substring(0, name.length() - 1);
    }
     
    if(player.hasPermission("iranks.admin") || player.isOp()){
    player.setPlayerListName(ChatColor.RED + name);
    }
    else if(player.hasPermission("iranks.mod")){
    player.setPlayerListName(ChatColor.DARK_PURPLE + ChatColor.ITALIC.toString() + name);
    }
    else if(player.hasPermission("iranks.vip")){
    player.setPlayerListName(ChatColor.GREEN + name);
    }
    else if(player.hasPermission("iranks.mvp")){
    player.setPlayerListName(ChatColor.BLUE + name);
    }
    else if(player.hasPermission("iranks.pro")){
    player.setPlayerListName(ChatColor.GOLD + name);
    }
    }
    }
     
    @EventHandler(priority = EventPriority.HIGH)
    public void ChatFormat(AsyncPlayerChatEvent event){
    Player player = event.getPlayer();
    String message = event.getMessage();
    event.setFormat(player.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD.toString() + " > " + ChatColor.GRAY + message);
    }
     
     
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onChat(AsyncPlayerChatEvent event){
    Player player = event.getPlayer();
    String name = player.getName();
     
    if(player.hasPermission("iranks.admin") || player.isOp()){
    player.setDisplayName(ChatColor.RED + name);
    }
    else if(player.hasPermission("iranks.mod")){
    player.setDisplayName(ChatColor.DARK_PURPLE + ChatColor.ITALIC.toString() + name);
    }
    else if(player.hasPermission("iranks.vip")){
    player.setDisplayName(ChatColor.GREEN + name);
    }
    else if(player.hasPermission("iranks.mvp")){
    player.setDisplayName(ChatColor.BLUE + name);
    }
    else if(player.hasPermission("iranks.pro")){
    player.setDisplayName(ChatColor.GOLD + name);
    }
    }
    }
    I did, and still not working, the diplayname still white on the message..
     
  4. Offline

    GaaTavares

    Maybe setFormat? I'll check and reply soon.
     
  5. Offline

    Iervolino

    Assist

    Thanks, worked now, I just did what you said and removed the EventHandler priority..
     
Thread Status:
Not open for further replies.

Share This Page