From fd16a58b6b7cb165d52ac43d6967d7455489a513 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 4 Feb 2016 00:25:37 -0800 Subject: [PATCH] Move getOwnerName/UUID to IBindable Where it should have been to begin with... hehe... Deprecated methods will be removed after beta --- .../bloodmagic/api/iface/IBindable.java | 27 +++++++++++++++++++ .../api/util/helper/BindableHelper.java | 14 +++++++--- .../bloodmagic/item/ItemBindable.java | 12 +++++++++ .../bloodmagic/item/ItemBoundSword.java | 12 +++++++++ .../item/sigil/ItemSigilDivination.java | 2 +- .../bloodmagic/item/sigil/ItemSigilSeer.java | 2 +- .../bloodmagic/ritual/RitualExpulsion.java | 8 ++++-- .../bloodmagic/util/handler/EventHandler.java | 6 ++--- 8 files changed, 72 insertions(+), 11 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/api/iface/IBindable.java b/src/main/java/WayofTime/bloodmagic/api/iface/IBindable.java index 006d61c9..fe45468f 100644 --- a/src/main/java/WayofTime/bloodmagic/api/iface/IBindable.java +++ b/src/main/java/WayofTime/bloodmagic/api/iface/IBindable.java @@ -3,11 +3,38 @@ package WayofTime.bloodmagic.api.iface; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import javax.annotation.Nullable; + /** * Implement this interface on any Item that can be bound to a player. */ public interface IBindable { + /** + * Gets the username of the Item's owner. Usually for display, + * such as in the tooltip. + * + * If the item is not bound, this will be null. + * + * @param stack + * - The owned ItemStack + * + * @return - The username of the Item's owner + */ + String getOwnerName(ItemStack stack); + + /** + * Gets the UUID of the Item's owner. + * + * If the item is not bound, this will be null. + * + * @param stack + * - The owned ItemStack + * + * @return - The UUID of the Item's owner + */ + String getOwnerUUID(ItemStack stack); + /** * Called when the player attempts to bind the item. * diff --git a/src/main/java/WayofTime/bloodmagic/api/util/helper/BindableHelper.java b/src/main/java/WayofTime/bloodmagic/api/util/helper/BindableHelper.java index cb9e196e..3a2fa305 100644 --- a/src/main/java/WayofTime/bloodmagic/api/util/helper/BindableHelper.java +++ b/src/main/java/WayofTime/bloodmagic/api/util/helper/BindableHelper.java @@ -44,14 +44,19 @@ public class BindableHelper stack.getTagCompound().setString(Constants.NBT.OWNER_UUID, ownerUUID); } + // Everything below is to be removed. + /** - * Used to safely obtain the username of the ItemStack's owner + * Deprecated. + * + * Built into {@link IBindable} now. * * @param stack * - The ItemStack to check the owner of * * @return - The username of the ItemStack's owner */ + @Deprecated public static String getOwnerName(ItemStack stack) { stack = NBTHelper.checkNBT(stack); @@ -60,13 +65,16 @@ public class BindableHelper } /** - * Used to safely obtain the UUID of the ItemStack's owner + * Deprecated. + * + * Built into {@link IBindable} now. * * @param stack * - The ItemStack to check the owner of * * @return - The UUID of the ItemStack's owner */ + @Deprecated public static String getOwnerUUID(ItemStack stack) { stack = NBTHelper.checkNBT(stack); @@ -74,8 +82,6 @@ public class BindableHelper return stack.getTagCompound().getString(Constants.NBT.OWNER_UUID); } - // Everything below is to be removed. - /** * Deprecated. * diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBindable.java b/src/main/java/WayofTime/bloodmagic/item/ItemBindable.java index 132d8f44..ec504005 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBindable.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBindable.java @@ -178,4 +178,16 @@ public class ItemBindable extends Item implements IBindable { return true; } + + @Override + public String getOwnerName(ItemStack stack) + { + return stack != null ? NBTHelper.checkNBT(stack).getTagCompound().getString(Constants.NBT.OWNER_NAME) : null; + } + + @Override + public String getOwnerUUID(ItemStack stack) + { + return stack != null ? NBTHelper.checkNBT(stack).getTagCompound().getString(Constants.NBT.OWNER_UUID) : null; + } } diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java index d0497dd1..d1f5aa31 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java @@ -80,4 +80,16 @@ public class ItemBoundSword extends ItemSword implements IBindable { return true; } + + @Override + public String getOwnerName(ItemStack stack) + { + return stack != null ? NBTHelper.checkNBT(stack).getTagCompound().getString(Constants.NBT.OWNER_NAME) : null; + } + + @Override + public String getOwnerUUID(ItemStack stack) + { + return stack != null ? NBTHelper.checkNBT(stack).getTagCompound().getString(Constants.NBT.OWNER_UUID) : null; + } } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java index 97c27f92..305b3ddb 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java @@ -31,7 +31,7 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader if (!world.isRemote) { MovingObjectPosition position = getMovingObjectPositionFromPlayer(world, player, false); - int currentEssence = NetworkHelper.getSoulNetwork(BindableHelper.getOwnerUUID(stack)).getCurrentEssence(); + int currentEssence = NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).getCurrentEssence(); if (position == null) { diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java index 08440010..a9c488e5 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java @@ -32,7 +32,7 @@ public class ItemSigilSeer extends ItemSigilBase implements IAltarReader if (!world.isRemote) { MovingObjectPosition position = getMovingObjectPositionFromPlayer(world, player, false); - int currentEssence = NetworkHelper.getSoulNetwork(BindableHelper.getOwnerUUID(stack)).getCurrentEssence(); + int currentEssence = NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).getCurrentEssence(); if (position == null) { diff --git a/src/main/java/WayofTime/bloodmagic/ritual/RitualExpulsion.java b/src/main/java/WayofTime/bloodmagic/ritual/RitualExpulsion.java index 910dc157..90d576c4 100644 --- a/src/main/java/WayofTime/bloodmagic/ritual/RitualExpulsion.java +++ b/src/main/java/WayofTime/bloodmagic/ritual/RitualExpulsion.java @@ -61,8 +61,12 @@ public class RitualExpulsion extends Ritual for (int i = 0; i < inventory.getSizeInventory(); i++) { ItemStack itemStack = inventory.getStackInSlot(i); - if (itemStack != null && itemStack.getItem() instanceof IBindable && !Strings.isNullOrEmpty(BindableHelper.getOwnerName(itemStack)) && !allowedNames.contains(BindableHelper.getOwnerName(itemStack))) - allowedNames.add(BindableHelper.getOwnerName(itemStack)); + if (itemStack != null && itemStack.getItem() instanceof IBindable) + { + IBindable bindable = (IBindable) itemStack.getItem(); + if (!Strings.isNullOrEmpty(bindable.getOwnerName(itemStack)) && !allowedNames.contains(bindable.getOwnerName(itemStack))) + allowedNames.add(bindable.getOwnerName(itemStack)); + } } } diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java index d1ebbf01..7d135143 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java @@ -205,9 +205,9 @@ public class EventHandler if (held != null && held.getItem() instanceof IBindable) { held = NBTHelper.checkNBT(held); - if (Strings.isNullOrEmpty(BindableHelper.getOwnerUUID(held))) + IBindable bindable = (IBindable) held.getItem(); + if (Strings.isNullOrEmpty(bindable.getOwnerUUID(held))) { - IBindable bindable = (IBindable) held.getItem(); if (bindable.onBind(player, held)) { String uuid = PlayerHelper.getUUIDFromPlayer(player).toString(); @@ -218,7 +218,7 @@ public class EventHandler BindableHelper.setItemOwnerUUID(held, uuid); BindableHelper.setItemOwnerName(held, player.getDisplayNameString()); } - } else if (BindableHelper.getOwnerUUID(held).equals(PlayerHelper.getUUIDFromPlayer(player).toString()) && !BindableHelper.getOwnerName(held).equals(player.getDisplayNameString())) + } else if (bindable.getOwnerUUID(held).equals(PlayerHelper.getUUIDFromPlayer(player).toString()) && !bindable.getOwnerName(held).equals(player.getDisplayNameString())) BindableHelper.setItemOwnerName(held, player.getDisplayNameString()); } }