diff options
author | md_5 <git@md-5.net> | 2017-09-06 16:14:21 +1000 |
---|---|---|
committer | md_5 <git@md-5.net> | 2017-09-06 16:14:37 +1000 |
commit | 9e3636d82a294ae9eaa1ba355765e1e471c66a6c (patch) | |
tree | e512e044b38c824ba859ab8f6b1b61410d47290e /src | |
parent | 178caf9ac289d9e9d274e6ba421ea390bc5755b0 (diff) | |
download | craftbukkit-9e3636d82a294ae9eaa1ba355765e1e471c66a6c.tar craftbukkit-9e3636d82a294ae9eaa1ba355765e1e471c66a6c.tar.gz craftbukkit-9e3636d82a294ae9eaa1ba355765e1e471c66a6c.tar.lz craftbukkit-9e3636d82a294ae9eaa1ba355765e1e471c66a6c.tar.xz craftbukkit-9e3636d82a294ae9eaa1ba355765e1e471c66a6c.zip |
SPIGOT-3553: Add OfflinePlayer based methods to SkullMeta
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java index b9c54472..fbc16890 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -6,7 +6,9 @@ import net.minecraft.server.GameProfileSerializer; import net.minecraft.server.NBTBase; import net.minecraft.server.NBTTagCompound; +import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.OfflinePlayer; import org.bukkit.configuration.serialization.DelegateDeserialization; import org.bukkit.craftbukkit.inventory.CraftMetaItem.SerializableMeta; import org.bukkit.craftbukkit.util.CraftMagicNumbers; @@ -111,6 +113,21 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { return hasOwner() ? profile.getName() : null; } + @Override + public OfflinePlayer getOwningPlayer() { + if (hasOwner()) { + if (profile.getId() != null) { + return Bukkit.getOfflinePlayer(profile.getId()); + } + + if (profile.getName() != null) { + return Bukkit.getOfflinePlayer(profile.getName()); + } + } + + return null; + } + public boolean setOwner(String name) { if (name != null && name.length() > MAX_OWNER_LENGTH) { return false; @@ -126,6 +143,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { } @Override + public boolean setOwningPlayer(OfflinePlayer owner) { + profile = (owner == null) ? null : new GameProfile(owner.getUniqueId(), owner.getName()); + + return true; + } + + @Override int applyHash() { final int original; int hash = original = super.applyHash(); |