Need help with coding prefix

Discussion in 'Plugin Development' started by Michiman, May 27, 2015.

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

    Michiman

    How do i code a rank name in front of a username. So like if i add the node rank.owner to owner group it will basically have [Owner] Michiman (chat here ) and if i add the node rank.member it will be [Member] Michiman etc

    Also how do i remove the < and > from chat because i cannot find a way to remove them from chat.

    Thanks
     
  2. Offline

    timtower Administrator Administrator Moderator

  3. Offline

    Agentleader1

    ^True

    Then in that, use a boolean and check if they have the appropriate permission node to have a certain prefix. Put this in an onJoin and set their display name to have their appropriate prefix. Then do something like this:
    Code:
    pce.setFormat(player.getDisplayName() + " " + pce.getMessage());
     
  4. Offline

    timtower Administrator Administrator Moderator

    @Agentleader1 Put in %s twice instead, then other plugins can still modify the message.
     
  5. Offline

    poepdrolify

    @Michiman This should propably do the job:
    Code:
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    public class Main extends JavaPlugin implements Listener {
      
        @Override
        public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
        }
      
        @EventHandler
        public void onChat(AsyncPlayerChatEvent e) {
            Player p = e.getPlayer();
            String name = p.getDisplayName();
            e.setFormat(checkPrefix(p) + " " + name + ": " + e.getMessage());
        }
      
        public String checkPrefix(Player p) {
            String prefix;
            if(p.hasPermission("rank.admin")) {
                prefix = ChatColor.DARK_RED + "[Admin]";
            } else if(p.hasPermission("rank.owner")) {
                prefix = ChatColor.RED + "[Owner]";
            } else if(p.hasPermission("rank.moderator")) {
                prefix = ChatColor.DARK_PURPLE + "[Moderator]";
            } else
                prefix = "[Member]";
            return prefix;
        }
      
    }
    Change it to your own prefixes
     
  6. Offline

    SuperOriginal

    @poepdrolify
    Also, your checkPrefix method proposes inheritance issues. (Ex. The owner will have [admin] instead of [owner])
     
  7. Offline

    poepdrolify

Thread Status:
Not open for further replies.

Share This Page