UUID Support Information - GreenSurvivors/LockettePro GitHub Wiki

This page describes how UUID support was done in LockettePro.

Background
Since 1.8, Signs in Minecraft can hold more than 15 characters. Since then, all signs uses ChatComponent instead of a string. Even signs do not have a character limit, those characters that does not fit will not be displayed, neither user are allowed to put excessive characters on the sign. For instance, if there are 100 characters in one line, I may only see 15~26 of them because the others won't fit. Also I cannot write more than 15 'D's or 26 'l's on a sign because the character size are different.

Opportunity
Since I can basically store a lot of characters in a single sign line, I can just write a line of the sign like this '<PlayerName>#<UUID>'. And it will seem like this, remember those characters that does not fit will not be shown in-game:
http://i.imgur.com/VF6qowH.png
With the help of ProtocolLib, I can also check for sign data packets upon sending. If the sign is a valid lock with word format similar to '<PlayerName>#<UUID>', the plugin will hide anything after '#' character, making all signs clean as normal.

Drawback
Unfortunately UUID support by LockettePro cannot provide backward compatibility to Lockette. There is currently no way to bulk convert all UUID signs back to normal signs. You can keep using LockettePro with legacy mode (UUID support turned off but signs will not get ugly).

Other Solutions
I have tested using NBT tag, HoverEvent but I cannot maintain a persistent data on signs.

⚠️ **GitHub.com Fallback** ⚠️