From eb78492fcf7f79eaea6cdc24793556fec5d82e1a Mon Sep 17 00:00:00 2001 From: libraryaddict Date: Mon, 16 Jun 2014 04:29:18 +1200 Subject: [PATCH] Change MiscDisguise thing to Integer instead of int so I can use nulls, this lets me know if a int was set. --- .../disguise/disguisetypes/DisguiseType.java | 4 ++-- .../disguise/disguisetypes/MiscDisguise.java | 6 +++--- .../disguise/utilities/PacketsManager.java | 13 +++++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/me/libraryaddict/disguise/disguisetypes/DisguiseType.java b/src/me/libraryaddict/disguise/disguisetypes/DisguiseType.java index 95438fad..aa9511d8 100644 --- a/src/me/libraryaddict/disguise/disguisetypes/DisguiseType.java +++ b/src/me/libraryaddict/disguise/disguisetypes/DisguiseType.java @@ -228,7 +228,7 @@ public enum DisguiseType { } } - private int defaultId; + private Integer defaultId; private int entityId; private EntityType entityType; private Class watcherClass; @@ -249,7 +249,7 @@ public enum DisguiseType { } } - public int getDefaultId() { + public Integer getDefaultId() { return defaultId; } diff --git a/src/me/libraryaddict/disguise/disguisetypes/MiscDisguise.java b/src/me/libraryaddict/disguise/disguisetypes/MiscDisguise.java index 3c7a8a15..84c14b55 100644 --- a/src/me/libraryaddict/disguise/disguisetypes/MiscDisguise.java +++ b/src/me/libraryaddict/disguise/disguisetypes/MiscDisguise.java @@ -11,7 +11,7 @@ import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemStack; public class MiscDisguise extends TargetedDisguise { - private int data = -1; + private Integer data; private int id = -1; public MiscDisguise(DisguiseType disguiseType) { @@ -120,10 +120,10 @@ public class MiscDisguise extends TargetedDisguise { /** * This is the getId of everything but falling block. */ - public int getData() { + public Integer getData() { switch (getType()) { case FALLING_BLOCK: - return ((FallingBlockWatcher) getWatcher()).getBlock().getDurability(); + return (int) ((FallingBlockWatcher) getWatcher()).getBlock().getDurability(); case PAINTING: return ((PaintingWatcher) getWatcher()).getArt().getId(); case SPLASH_POTION: diff --git a/src/me/libraryaddict/disguise/utilities/PacketsManager.java b/src/me/libraryaddict/disguise/utilities/PacketsManager.java index 74bc946f..14b43c92 100644 --- a/src/me/libraryaddict/disguise/utilities/PacketsManager.java +++ b/src/me/libraryaddict/disguise/utilities/PacketsManager.java @@ -294,16 +294,17 @@ public class PacketsManager { } else if (disguise.getType().isMisc()) { int id = disguise.getType().getEntityId(); - int data = ((MiscDisguise) disguise).getData(); + Integer data = ((MiscDisguise) disguise).getData(); if (disguise.getType() == DisguiseType.FALLING_BLOCK) { data = (((MiscDisguise) disguise).getId() | data << 16); - } else if (data < 0) { + } else if (disguise.getType() == DisguiseType.FISHING_HOOK) { + // If the MiscDisguise data isn't set. Then no entity id was provided, so default to the owners entity id + if (data == null) { + data = disguisedEntity.getEntityId(); + } + } else if (data == null) { data = 0; } - // If the MiscDisguise data isn't set. Then no entity id was provided, so default to the owners entity id - if (disguise.getType() == DisguiseType.FISHING_HOOK && data == 0) { - data = disguisedEntity.getEntityId(); - } /* else if (disguise.getType() == DisguiseType.ITEM_FRAME) { data = (int) loc.getYaw(); if (data < 0)