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)