[B+C] Update SkullMeta to use UUIDs. Adds BUKKIT-5614 #1080
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Issue:
SkullMeta.setOwner() does not populate the skull's GameProfile information
Justification for this PR:
It's not possible to spawn a skull item with a texture attached to it. Skull items can be worn on the head, and thus need their textures attached as soon as they exist.
PR Breakdown:
SkullMeta tracks a new key 'skull-owner-uuid'
CraftMetaSkull.setOwner(String) has been modified to call MinecraftSessionService.fillProfileProperties()
CraftMetaSkull.setOwner(UUID) has been added, which also calls MinecraftSessionService.fillProfileProperties()
The fillProfileProperties() function attaches all profile data, including textures, to the item.
(Note: This PR was originally by @TehRainbowGuy for Spigot, I've converted it for this project, and made some modifications.)
Relevant PR:
CB-1396 - Bukkit/CraftBukkit#1396
JIRA Ticket:
BUKKIT-5614 - https://bukkit.atlassian.net/browse/BUKKIT-5614