#Proper way to get a prefix

1 messages · Page 1 of 1 (latest)

marble marsh
#

Would this be the proper way to get a prefix?``` public String getPrefix() {

        return switch (this) {
            case KING, ADMIN -> ChatColor.DARK_RED.toString() + ChatColor.BOLD + "ADMIN" + ChatColor.LIGHT_PURPLE;
            case DEVELOPER -> ChatColor.DARK_PURPLE.toString() + ChatColor.BOLD + "DEV" + ChatColor.LIGHT_PURPLE;
            case JRADMIN -> ChatColor.DARK_RED.toString() + ChatColor.BOLD + "JRADMIN" + ChatColor.LIGHT_PURPLE;
            case SRMOD -> ChatColor.GOLD.toString() + ChatColor.BOLD + "SRMOD" + ChatColor.LIGHT_PURPLE;
            case MOD -> ChatColor.YELLOW.toString() + ChatColor.BOLD + "MOD" + ChatColor.LIGHT_PURPLE;
            case JRMOD -> ChatColor.DARK_AQUA.toString() + ChatColor.BOLD + "JRMOD" + ChatColor.LIGHT_PURPLE;
            case ETERNAL -> ChatColor.DARK_RED.toString() + ChatColor.BOLD + "ETERNAL" + ChatColor.LIGHT_PURPLE;
            case SAVAGE -> ChatColor.DARK_RED.toString() + ChatColor.BOLD + "SAVAGE" + ChatColor.LIGHT_PURPLE;
            case LEGEND -> ChatColor.DARK_RED.toString() + ChatColor.BOLD + "LEGEND" + ChatColor.LIGHT_PURPLE;
            case ULTRA -> ChatColor.DARK_RED.toString() + ChatColor.BOLD + "ULTRA" + ChatColor.LIGHT_PURPLE;
            default -> "";
        };
    }```

What i had before using the suggestion was ``` public String getPrefix() {

        switch (this) {

            case KING:
            case ADMIN:
                return ChatColor.DARK_RED.toString() + ChatColor.BOLD + "ADMIN" + ChatColor.LIGHT_PURPLE;
            case DEVELOPER:
                return ChatColor.DARK_PURPLE.toString() + ChatColor.BOLD + "DEV" + ChatColor.LIGHT_PURPLE;
            case JRADMIN:
                return ChatColor.DARK_RED.toString() + ChatColor.BOLD + "JRADMIN" + ChatColor.LIGHT_PURPLE;
            case SRMOD:
                return ChatColor.GOLD.toString() + ChatColor.BOLD + "SRMOD" + ChatColor.LIGHT_PURPLE;
            case MOD:
                return ChatColor.YELLOW.toString() + ChatColor.BOLD + "MOD" + ChatColor.LIGHT_PURPLE;
            case JRMOD:
                return ChatColor.DARK_AQUA.toString() + ChatColor.BOLD + "JRMOD" + ChatColor.LIGHT_PURPLE;
            case ETERNAL:
                return ChatColor.DARK_RED.toString() + ChatColor.BOLD + "ETERNAL" + ChatColor.LIGHT_PURPLE;
            case SAVAGE:
                return ChatColor.DARK_RED.toString() + ChatColor.BOLD + "SAVAGE" + ChatColor.LIGHT_PURPLE;
            case LEGEND:
                return ChatColor.DARK_RED.toString() + ChatColor.BOLD + "LEGEND" + ChatColor.LIGHT_PURPLE;
            case ULTRA:
                return ChatColor.DARK_RED.toString() + ChatColor.BOLD + "ULTRA" + ChatColor.LIGHT_PURPLE;
            default:
                return "";
        }
    }```
spiral jackal
#

You should have some kind of rank class that stores the prefix in it

#

Not a giant switch statement

marble marsh
#

i can show u the full class. thats just part of it

marble marsh
#

just realized i coulda switched to .java

#

sry bout that

spiral jackal
#

Rank should really be a class, not an enum

marble marsh
#

how would i switch it to that?

spiral jackal
#

Make a rank class with a constructor that takes the needed values

#

Such as prefix and level

winter bough
#

You could also change the constructor of your enums and add the prefix to that just like you did with the respective levels. Then just create the getter for the prefix