Players will be able to change their name in the future, thats why they should be referenced by their UUID.
Bukkit and Sponge also use UUIDs to identify worlds.
After some research, I found out that World UUIDs are not a Minecraft feature.
Why is it necessary to use a different Identifier than a world’s name? Do you want to make it possible to rename a world?
If an admin wants to rename a world, all world names in config files of world-related plugins have to be renamed as well.
Plugins could force admins to use the UUID to reference a world in a config instead of the name, or replace world names with UUIDs when the server starts for the first time (PermissionsBukkit did that when player UUIDs were added, it’s a mess).
Right now I’m using the world UUID to reference worlds in my plugin. The problem is that my plugin also needs to know the name of an unloaded world ('You own 6 plots in ').
I created a UUID <--> name
database table to solve that problem, but that’s not a good solution and requires a lot of extra work. Other plugins might need the same information, so they will create the same mapping tables, result: Duplicated information.
Solutions:
There are 3 ways to solve this problem:
- Just ignore the existence of world UUIDs and use the world name
-
UUID <--> name
map in Sponge (only solves unloaded world name issue, not the config issue) - Remove world UUIDs from Sponge
- Put world-related configs into the world folder. Then admins don’t have to reference worlds with names.
I think 2. and 4. would solve the problem without removing UUIDs