Solved Multiple prefixes

Discussion in 'Plugin Development' started by ibc2244, May 11, 2016.

Thread Status:
Not open for further replies.
  1. Hello bukkit, today I was messing around with groups/ranks and i came across the problem of, if a player is in multiple groups I can't display both prefixes for those groups. I've tried many ways, but none worked.
     
  2. Offline

    Zombie_Striker

    @ibc2244
    Please post your code with what you have tried.
     
  3. @Zombie_Striker
    Code:
                    if (GroupsUtil.normalContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.normalPrefix + "&c" + player.getName() + "&7 » &r") + e.getMessage());
                    } else if (GroupsUtil.helperContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.helperPrefix + "&c" + player.getName() + "&7 » &r") + e.getMessage());
                    } else if (GroupsUtil.modContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.modPrefix + "&c" + player.getName() + "&7 » &r") + e.getMessage());
                    } else if (GroupsUtil.adminContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.adminPrefix + "&c" + player.getName() + "&7 » &r") + e.getMessage());
                    } else if (GroupsUtil.ownerContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.ownerPrefix + "&c" + player.getName() + "&7 » &r") + e.getMessage());
                    } else if (GroupsUtil.developerContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.developerPrefix + "&c" + player.getName() + "&7 » &r") + e.getMessage());
                    } else {
                        e.setFormat(Chat.translateChat("&c" + player.getName() + "&7 » &r") + e.getMessage());
                    }
     
  4. Offline

    Zombie_Striker

    @ibc2244
    The reason it does not work is because you only check for one if you use else statements. Also, you are not adding prefixes, you are setting prefixes. The difference is that one just add texts to the beginning of the message, the other sets what is at the beginning of the message. Try the following:
    Code:
    if (GroupsUtil.normalContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.normalPrefix +e.getFormat()) + e.getMessage());
                    } 
    if (GroupsUtil.helperContainsPlayer(player)) {
                        e.setFormat(Chat.translateChat(GroupsUtil.helperPrefix +e.getFormat()) + e.getMessage());
    e.getMessage());
    }
    ect.
     
  5. Offline

    mcdorli

    Please don't abuse static, use constructors, getters and setters.
     
    Zombie_Striker likes this.
  6. Offline

    mcdorli

Thread Status:
Not open for further replies.

Share This Page