MajekDev / HexNicks

Nickname plugin with hex color code and gradient support.
MIT License
27 stars 13 forks source link

Allow `/nickcolor #facade` as `/nickcolor <#facade>` #116

Open funnyboy-roks opened 1 year ago

funnyboy-roks commented 1 year ago

Is your feature request related to a problem? Please describe. Soooo many people are confused about /nickcolor needing the angle brackets (<>) for the command

Describe the solution you'd like Interpret #rrggbb as <#rrggbb> and red as <red>

Describe alternatives you've considered The only other way that could benefit users would be to give a more helpful error message that is not just "You may only includes color codes."

Potential Implementation Check if the argument has <> and add them if it doesn't before it's parsed, this would be a bit of a dirty implementation, but it would work well, and shouldn't break anything else.

Basically, we take this

https://github.com/MajekDev/HexNicks/blob/2afbedc673b8ff28500a2953ac35745d5db5bbc3/src/main/java/dev/majek/hexnicks/command/CommandNickColor.java#L58-L60

and add

if (!nickInput.startsWith("<") && !nickInput.endsWith(">")) {
    nickInput = '<' + nickInput + '>';
}

If there is a concern about that failing, then we could put the "corrected" version in a new variable and use the old one if the colour code is detected to be wrong.

I'd be happy to open a PR with these changes, if feature is desired.

Majekdor commented 1 year ago

Love the idea!

Because of the legacy format, I think the best way of doing this would be to try to parse what they originally wrote, and if that fails then try to parse it by adding <> around it.

funnyboy-roks commented 1 year ago

Oh yeah, I forgot about legacy :disappointed:. Doing the original first should work, that would also catch edge cases where the player's username is a colour.