Renamed FlagType to MetaIndex which makes more sense

This commit is contained in:
libraryaddict 2017-02-07 06:12:00 +13:00
parent ad6e67569d
commit 57613dba37
54 changed files with 1694 additions and 1694 deletions

@ -35,7 +35,7 @@ import me.libraryaddict.disguise.commands.UndisguiseEntityCommand;
import me.libraryaddict.disguise.commands.UndisguisePlayerCommand; import me.libraryaddict.disguise.commands.UndisguisePlayerCommand;
import me.libraryaddict.disguise.commands.UndisguiseRadiusCommand; import me.libraryaddict.disguise.commands.UndisguiseRadiusCommand;
import me.libraryaddict.disguise.disguisetypes.DisguiseType; import me.libraryaddict.disguise.disguisetypes.DisguiseType;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.AgeableWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.AgeableWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ArrowWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.ArrowWatcher;
@ -326,7 +326,7 @@ public class LibsDisguises extends JavaPlugin {
WrappedDataWatcher watcher = WrappedDataWatcher.getEntityWatcher(bukkitEntity); WrappedDataWatcher watcher = WrappedDataWatcher.getEntityWatcher(bukkitEntity);
for (WrappedWatchableObject watch : watcher.getWatchableObjects()) { for (WrappedWatchableObject watch : watcher.getWatchableObjects()) {
FlagType flagType = FlagType.getFlag(watcherClass, watch.getIndex()); MetaIndex flagType = MetaIndex.getFlag(watcherClass, watch.getIndex());
if (flagType == null) { if (flagType == null) {
System.err.println("Error finding the FlagType for " + disguiseType.name() + "! Index " + watch.getIndex() System.err.println("Error finding the FlagType for " + disguiseType.name() + "! Index " + watch.getIndex()

@ -730,16 +730,16 @@ public abstract class Disguise {
* datawatcher. * datawatcher.
*/ */
private void setupWatcher() { private void setupWatcher() {
ArrayList<FlagType> disguiseFlags = FlagType.getFlags(getType().getWatcherClass()); ArrayList<MetaIndex> disguiseFlags = MetaIndex.getFlags(getType().getWatcherClass());
ArrayList<FlagType> entityFlags = FlagType.getFlags(DisguiseType.getType(getEntity().getType()).getWatcherClass()); ArrayList<MetaIndex> entityFlags = MetaIndex.getFlags(DisguiseType.getType(getEntity().getType()).getWatcherClass());
for (FlagType flag : entityFlags) { for (MetaIndex flag : entityFlags) {
if (disguiseFlags.contains(flag)) if (disguiseFlags.contains(flag))
continue; continue;
FlagType backup = null; MetaIndex backup = null;
for (FlagType flagType : disguiseFlags) { for (MetaIndex flagType : disguiseFlags) {
if (flagType.getIndex() == flag.getIndex()) if (flagType.getIndex() == flag.getIndex())
backup = flagType; backup = flagType;
} }

@ -1,437 +0,0 @@
package me.libraryaddict.disguise.disguisetypes;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.UUID;
import org.bukkit.Color;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import com.comphenix.protocol.wrappers.BlockPosition;
import com.comphenix.protocol.wrappers.EnumWrappers.Direction;
import com.comphenix.protocol.wrappers.Vector3F;
import com.comphenix.protocol.wrappers.WrappedBlockData;
import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.watchers.AbstractHorseWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.AgeableWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.AreaEffectCloudWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ArmorStandWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ArrowWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.BatWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.BlazeWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.BoatWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ChestedHorseWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.CreeperWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.DroppedItemWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EnderCrystalWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EnderDragonWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EndermanWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EvokerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.FallingBlockWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.FireworkWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.FishingHookWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.GhastWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.GuardianWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.HorseWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.InsentientWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.IronGolemWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ItemFrameWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.LivingWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.LlamaWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.MinecartWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.OcelotWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PigWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PlayerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PolarBearWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.RabbitWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SheepWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ShulkerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SkeletonWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SlimeWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SnowmanWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SpiderWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SplashPotionWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.TNTWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.TameableWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.VexWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.VillagerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.VindicatorWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WitchWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WitherSkullWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WitherWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WolfWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ZombieVillagerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ZombieWatcher;
public class FlagType<Y> {
private static FlagType[] _values = new FlagType[0];
public static FlagType<Boolean> AGEABLE_BABY = new FlagType<Boolean>(AgeableWatcher.class, 0, false);
public static FlagType<Integer> AREA_EFFECT_CLOUD_COLOR = new FlagType<Integer>(AreaEffectCloudWatcher.class, 1,
Color.BLACK.asRGB());
public static FlagType<Boolean> AREA_EFFECT_IGNORE_RADIUS = new FlagType<Boolean>(AreaEffectCloudWatcher.class, 2, false);
public static FlagType<Integer> AREA_EFFECT_PARTICLE = new FlagType<Integer>(AreaEffectCloudWatcher.class, 3, 0);
public static FlagType<Integer> AREA_EFFECT_PARTICLE_PARAM_1 = new FlagType<Integer>(AreaEffectCloudWatcher.class, 4, 0);
public static FlagType<Integer> AREA_EFFECT_PARTICLE_PARAM_2 = new FlagType<Integer>(AreaEffectCloudWatcher.class, 5, 0);
public static FlagType<Float> AREA_EFFECT_RADIUS = new FlagType<Float>(AreaEffectCloudWatcher.class, 0, 0F);
public static FlagType<Vector3F> ARMORSTAND_BODY = new FlagType<Vector3F>(ArmorStandWatcher.class, 2, new Vector3F(0, 0, 0));
public static FlagType<Vector3F> ARMORSTAND_HEAD = new FlagType<Vector3F>(ArmorStandWatcher.class, 1, new Vector3F(0, 0, 0));
public static FlagType<Vector3F> ARMORSTAND_LEFT_ARM = new FlagType<Vector3F>(ArmorStandWatcher.class, 3,
new Vector3F(0, 0, 0));
public static FlagType<Vector3F> ARMORSTAND_LEFT_LEG = new FlagType<Vector3F>(ArmorStandWatcher.class, 5,
new Vector3F(0, 0, 0));
public static FlagType<Byte> ARMORSTAND_META = new FlagType<Byte>(ArmorStandWatcher.class, 0, (byte) 0);
public static FlagType<Vector3F> ARMORSTAND_RIGHT_ARM = new FlagType<Vector3F>(ArmorStandWatcher.class, 4,
new Vector3F(0, 0, 0));
public static FlagType<Vector3F> ARMORSTAND_RIGHT_LEG = new FlagType<Vector3F>(ArmorStandWatcher.class, 6,
new Vector3F(0, 0, 0));
public static FlagType<Byte> ARROW_CRITICAL = new FlagType<Byte>(ArrowWatcher.class, 0, (byte) 0);
public static FlagType<Byte> BAT_HANGING = new FlagType<Byte>(BatWatcher.class, 0, (byte) 1);
public static FlagType<Byte> BLAZE_BLAZING = new FlagType<Byte>(BlazeWatcher.class, 0, (byte) 0);
public static FlagType<Float> BOAT_DAMAGE = new FlagType<Float>(BoatWatcher.class, 2, 40F);
public static FlagType<Integer> BOAT_DIRECTION = new FlagType<Integer>(BoatWatcher.class, 1, 0);
public static FlagType<Integer> BOAT_LAST_HIT = new FlagType<Integer>(BoatWatcher.class, 0, 0);
public static FlagType<Boolean> BOAT_LEFT_PADDLING = new FlagType<Boolean>(BoatWatcher.class, 5, false);
public static FlagType<Boolean> BOAT_RIGHT_PADDLING = new FlagType<Boolean>(BoatWatcher.class, 4, false);
public static FlagType<Integer> BOAT_TYPE = new FlagType<Integer>(BoatWatcher.class, 3, 0);
public static FlagType<Boolean> CREEPER_IGNITED = new FlagType<Boolean>(CreeperWatcher.class, 2, false);
public static FlagType<Boolean> CREEPER_POWERED = new FlagType<Boolean>(CreeperWatcher.class, 1, false);
public static FlagType<Integer> CREEPER_STATE = new FlagType<Integer>(CreeperWatcher.class, 0, -1);
public static FlagType<ItemStack> DROPPED_ITEM = new FlagType<ItemStack>(DroppedItemWatcher.class, 0,
new ItemStack(Material.STONE));
public static FlagType<Optional<BlockPosition>> ENDER_CRYSTAL_BEAM = new FlagType<Optional<BlockPosition>>(
EnderCrystalWatcher.class, 0, Optional.<BlockPosition> absent());
public static FlagType<Boolean> ENDER_CRYSTAL_PLATE = new FlagType<Boolean>(EnderCrystalWatcher.class, 1, false);
public static FlagType<Integer> ENDERD_RAGON_PHASE = new FlagType<Integer>(EnderDragonWatcher.class, 0, 0);
public static FlagType<Boolean> ENDERMAN_AGRESSIVE = new FlagType<Boolean>(EndermanWatcher.class, 1, false);
public static FlagType<Optional<WrappedBlockData>> ENDERMAN_ITEM = new FlagType<Optional<WrappedBlockData>>(
EndermanWatcher.class, 0, Optional.<WrappedBlockData> absent());
public static FlagType<Integer> ENTITY_AIR_TICKS = new FlagType<Integer>(FlagWatcher.class, 1, 0);
public static FlagType<String> ENTITY_CUSTOM_NAME = new FlagType<String>(FlagWatcher.class, 2, "");
public static FlagType<Boolean> ENTITY_CUSTOM_NAME_VISIBLE = new FlagType<Boolean>(FlagWatcher.class, 3, false);
public static FlagType<Byte> ENTITY_META = new FlagType<Byte>(FlagWatcher.class, 0, (byte) 0);
public static FlagType<Boolean> ENTITY_NO_GRAVITY = new FlagType<Boolean>(FlagWatcher.class, 5, false);
public static FlagType<Boolean> ENTITY_SILENT = new FlagType<Boolean>(FlagWatcher.class, 4, false);
public static FlagType<Byte> EVOKER_SPELL_TICKS = new FlagType<Byte>(EvokerWatcher.class, 0, (byte) 0);
public static FlagType<BlockPosition> FALLING_BLOCK_POSITION = new FlagType<BlockPosition>(FallingBlockWatcher.class, 0,
BlockPosition.ORIGIN);
public static FlagType<ItemStack> FIREWORK_ITEM = new FlagType<ItemStack>(FireworkWatcher.class, 0,
new ItemStack(Material.AIR));
public static FlagType<Integer> FIREWORK_ATTACHED_ENTITY = new FlagType<Integer>(FireworkWatcher.class, 1, 0);
public static FlagType<Integer> FISHING_HOOK_HOOKED = new FlagType<Integer>(FishingHookWatcher.class, 0, 0);
public static FlagType<Boolean> GHAST_AGRESSIVE = new FlagType<Boolean>(GhastWatcher.class, 0, false);
public static FlagType<Boolean> GUARDIAN_RETRACT_SPIKES = new FlagType<Boolean>(GuardianWatcher.class, 0, false);
public static FlagType<Integer> GUARDIAN_TARGET = new FlagType<Integer>(GuardianWatcher.class, 1, 0);
public static FlagType<Integer> HORSE_ARMOR = new FlagType<Integer>(HorseWatcher.class, 1, 0);
public static FlagType<Boolean> HORSE_CHESTED_CARRYING_CHEST = new FlagType<Boolean>(ChestedHorseWatcher.class, 0, false);
public static FlagType<Integer> HORSE_COLOR = new FlagType<Integer>(HorseWatcher.class, 0, 0);
public static FlagType<Byte> HORSE_META = new FlagType<Byte>(AbstractHorseWatcher.class, 0, (byte) 0);
public static FlagType<Optional<UUID>> HORSE_OWNER = new FlagType<Optional<UUID>>(AbstractHorseWatcher.class, 1,
Optional.<UUID> absent());
public static FlagType<Byte> INSENTIENT_META = new FlagType<Byte>(InsentientWatcher.class, 0, (byte) 0);
public static FlagType<Byte> IRON_GOLEM_PLAYER_CREATED = new FlagType<Byte>(IronGolemWatcher.class, 0, (byte) 0);
public static FlagType<ItemStack> ITEMFRAME_ITEM = new FlagType<ItemStack>(ItemFrameWatcher.class, 0,
new ItemStack(Material.AIR));
public static FlagType<Integer> ITEMFRAME_ROTATION = new FlagType<Integer>(ItemFrameWatcher.class, 1, 0);
public static FlagType<Integer> LIVING_ARROWS = new FlagType<Integer>(LivingWatcher.class, 4, 0);
public static FlagType<Byte> LIVING_HAND = new FlagType<Byte>(LivingWatcher.class, 0, (byte) 0);
public static FlagType<Float> LIVING_HEALTH = new FlagType<Float>(LivingWatcher.class, 1, 1F);
public static FlagType<Boolean> LIVING_POTION_AMBIENT = new FlagType<Boolean>(LivingWatcher.class, 3, false);
public static FlagType<Integer> LIVING_POTIONS = new FlagType<Integer>(LivingWatcher.class, 2, 0);
public static FlagType<Integer> LLAMA_CARPET = new FlagType<Integer>(LlamaWatcher.class, 1, 0);
public static FlagType<Integer> LLAMA_COLOR = new FlagType<Integer>(LlamaWatcher.class, 2, -1);
public static FlagType<Integer> LLAMA_STRENGTH = new FlagType<Integer>(LlamaWatcher.class, 0, 0);
public static FlagType<Integer> MINECART_BLOCK = new FlagType<Integer>(MinecartWatcher.class, 3, 0);
public static FlagType<Boolean> MINECART_BLOCK_VISIBLE = new FlagType<Boolean>(MinecartWatcher.class, 5, false);
public static FlagType<Integer> MINECART_BLOCK_Y = new FlagType<Integer>(MinecartWatcher.class, 4, 0);
public static FlagType<Integer> MINECART_SHAKING_DIRECTION = new FlagType<Integer>(MinecartWatcher.class, 1, 1);
public static FlagType<Float> MINECART_SHAKING_MULITPLIER = new FlagType<Float>(MinecartWatcher.class, 2, 0F);
public static FlagType<Integer> MINECART_SHAKING_POWER = new FlagType<Integer>(MinecartWatcher.class, 0, 0);
public static FlagType<Integer> OCELOT_TYPE = new FlagType<Integer>(OcelotWatcher.class, 0, 0);
public static FlagType<Boolean> PIG_SADDLED = new FlagType<Boolean>(PigWatcher.class, 0, false);
public static FlagType<Integer> PIG_UNKNOWN = new FlagType<Integer>(PigWatcher.class, 1, 0);
public static FlagType<Float> PLAYER_ABSORPTION = new FlagType<Float>(PlayerWatcher.class, 0, 0F);
public static FlagType<Byte> PLAYER_HAND = new FlagType<Byte>(PlayerWatcher.class, 3, (byte) 0);
public static FlagType<Integer> PLAYER_SCORE = new FlagType<Integer>(PlayerWatcher.class, 1, 0);
public static FlagType<Byte> PLAYER_SKIN = new FlagType<Byte>(PlayerWatcher.class, 2, (byte) 127);
public static FlagType<Boolean> POLAR_BEAR_STANDING = new FlagType<Boolean>(PolarBearWatcher.class, 0, false);
public static FlagType<Integer> RABBIT_TYPE = new FlagType<Integer>(RabbitWatcher.class, 0, 0);
public static FlagType<Byte> SHEEP_WOOL = new FlagType<Byte>(SheepWatcher.class, 0, (byte) 0);
public static FlagType<Optional<BlockPosition>> SHULKER_ATTACHED = new FlagType<Optional<BlockPosition>>(ShulkerWatcher.class,
1, Optional.<BlockPosition> absent());
public static FlagType<Byte> SHULKER_COLOR = new FlagType<Byte>(ShulkerWatcher.class, 3, (byte) 10);
public static FlagType<Direction> SHULKER_FACING = new FlagType<Direction>(ShulkerWatcher.class, 0, Direction.DOWN);
public static FlagType<Byte> SHULKER_PEEKING = new FlagType<Byte>(ShulkerWatcher.class, 2, (byte) 0);
public static FlagType<Boolean> SKELETON_SWING_ARMS = new FlagType<Boolean>(SkeletonWatcher.class, 0, false);
public static FlagType<Integer> SLIME_SIZE = new FlagType<Integer>(SlimeWatcher.class, 0, 0);
public static FlagType<Byte> SNOWMAN_DERP = new FlagType<Byte>(SnowmanWatcher.class, 0, (byte) 0);
public static FlagType<Byte> SPIDER_CLIMB = new FlagType<Byte>(SpiderWatcher.class, 0, (byte) 0);
public static FlagType<ItemStack> SPLASH_POTION_ITEM = new FlagType<ItemStack>(SplashPotionWatcher.class, 1,
new ItemStack(Material.SPLASH_POTION)); // Yeah, the '1' isn't a bug. No idea why but MC thinks
// there's a '0' already.
public static FlagType<ItemStack> SPLASH_POTION_ITEM_BAD = new FlagType<ItemStack>(SplashPotionWatcher.class, 0,
new ItemStack(Material.SPLASH_POTION)); // Yeah, the '1' isn't a bug. No
// idea why but MC thinks there's a
// '0' already.
public static FlagType<Byte> TAMEABLE_META = new FlagType<Byte>(TameableWatcher.class, 0, (byte) 0);
public static FlagType<Optional<UUID>> TAMEABLE_OWNER = new FlagType<Optional<UUID>>(TameableWatcher.class, 1,
Optional.<UUID> absent());
public static FlagType<Integer> TIPPED_ARROW_COLOR = new FlagType<Integer>(ArrowWatcher.class, 1, Color.WHITE.asRGB());
public static FlagType<Integer> TNT_FUSE_TICKS = new FlagType<Integer>(TNTWatcher.class, 0, Integer.MAX_VALUE);
public static FlagType<Byte> VEX_ANGRY = new FlagType<Byte>(VexWatcher.class, 0, (byte) 0);
public static FlagType<Integer> VILLAGER_PROFESSION = new FlagType<Integer>(VillagerWatcher.class, 0, 0);
public static FlagType<Byte> VINDICATOR_JOHNNY = new FlagType<Byte>(VindicatorWatcher.class, 0, (byte) 0);
public static FlagType<Boolean> WITCH_AGGRESSIVE = new FlagType<Boolean>(WitchWatcher.class, 0, false);
public static FlagType<Integer> WITHER_INVUL = new FlagType<Integer>(WitherWatcher.class, 3, 0);
public static FlagType<Integer> WITHER_TARGET_1 = new FlagType<Integer>(WitherWatcher.class, 0, 0);
public static FlagType<Integer> WITHER_TARGET_2 = new FlagType<Integer>(WitherWatcher.class, 1, 0);
public static FlagType<Integer> WITHER_TARGET_3 = new FlagType<Integer>(WitherWatcher.class, 2, 0);
public static FlagType<Boolean> WITHER_SKULL_BLUE = new FlagType<Boolean>(WitherSkullWatcher.class, 0, false);
public static FlagType<Boolean> WOLF_BEGGING = new FlagType<Boolean>(WolfWatcher.class, 1, false);
public static FlagType<Integer> WOLF_COLLAR = new FlagType<Integer>(WolfWatcher.class, 2, 14);
public static FlagType<Float> WOLF_DAMAGE = new FlagType<Float>(WolfWatcher.class, 0, 0F);
public static FlagType<Boolean> ZOMBIE_AGGRESSIVE = new FlagType<Boolean>(ZombieWatcher.class, 2, false);
public static FlagType<Boolean> ZOMBIE_BABY = new FlagType<Boolean>(ZombieWatcher.class, 0, false);
public static FlagType<Integer> ZOMBIE_PLACEHOLDER = new FlagType<Integer>(ZombieWatcher.class, 1, 0);
public static FlagType<Integer> ZOMBIE_VILLAGER_PROFESSION = new FlagType<Integer>(ZombieVillagerWatcher.class, 1, 0);
public static FlagType<Boolean> ZOMBIE_VILLAGER_SHAKING = new FlagType<Boolean>(ZombieVillagerWatcher.class, 0, false);
static {
for (FlagType flagType : values()) {
if (flagType.getFlagWatcher() == FlagWatcher.class)
continue;
flagType._index += getNoIndexes(flagType.getFlagWatcher().getSuperclass());
}
// Simple verification for the dev that he's setting up the FlagType's properly.
// All flag types should be from 0 to <Max Number> with no empty numbers.
// All flag types should never occur twice.
HashMap<Class, Integer> maxValues = new HashMap<Class, Integer>();
for (FlagType type : values()) {
if (maxValues.containsKey(type.getFlagWatcher()) && maxValues.get(type.getFlagWatcher()) > type.getIndex())
continue;
maxValues.put(type.getFlagWatcher(), type.getIndex());
}
for (Entry<Class, Integer> entry : maxValues.entrySet()) {
loop:
for (int i = 0; i < entry.getValue(); i++) {
FlagType found = null;
for (FlagType type : values()) {
if (type.getIndex() != i)
continue;
if (!type.getFlagWatcher().isAssignableFrom(entry.getKey()))
continue;
if (found != null) {
System.err.println(entry.getKey().getSimpleName() + " has multiple FlagType's registered for the index "
+ i + " (" + type.getFlagWatcher().getSimpleName() + ", " + found.getFlagWatcher().getSimpleName()
+ ")");
continue loop;
}
found = type;
}
if (found != null)
continue;
System.err.println(entry.getKey().getSimpleName() + " has no FlagType registered for the index " + i);
}
}
}
public static FlagType getFlag(Class<? extends FlagWatcher> watcherClass, int flagNo) {
for (FlagType type : values()) {
if (type.getIndex() != flagNo)
continue;
if (!type.getFlagWatcher().isAssignableFrom(watcherClass))
continue;
return type;
}
return null;
}
public static ArrayList<FlagType> getFlags(Class<? extends FlagWatcher> watcherClass) {
ArrayList<FlagType> list = new ArrayList<FlagType>();
for (FlagType type : values()) {
if (!type.getFlagWatcher().isAssignableFrom(watcherClass))
continue;
list.add(type);
}
return list;
}
private static int getNoIndexes(Class c) {
int found = 0;
for (FlagType type : values()) {
if (type.getFlagWatcher() != c)
continue;
found++;
}
if (c != FlagWatcher.class) {
found += getNoIndexes(c.getSuperclass());
}
return found;
}
public static FlagType[] values() {
return _values;
}
private Y _defaultValue;
private int _index;
private Class<? extends FlagWatcher> _watcher;
private FlagType(Class<? extends FlagWatcher> watcher, int index, Y defaultValue) {
_index = index;
_watcher = watcher;
_defaultValue = defaultValue;
_values = Arrays.copyOf(_values, _values.length + 1);
_values[_values.length - 1] = this;
}
public Y getDefault() {
return _defaultValue;
}
public Class<? extends FlagWatcher> getFlagWatcher() {
return _watcher;
}
public int getIndex() {
return _index;
}
}

@ -41,7 +41,7 @@ public class FlagWatcher {
public FlagWatcher(Disguise disguise) { public FlagWatcher(Disguise disguise) {
this.disguise = (TargetedDisguise) disguise; this.disguise = (TargetedDisguise) disguise;
this.setData(FlagType.ENTITY_AIR_TICKS, 0); this.setData(MetaIndex.ENTITY_AIR_TICKS, 0);
equipment = new LibsEquipment(this); equipment = new LibsEquipment(this);
} }
@ -85,7 +85,7 @@ public class FlagWatcher {
// Its sending the air metadata. This is the least commonly sent metadata which all entitys still share. // Its sending the air metadata. This is the least commonly sent metadata which all entitys still share.
// I send my custom values if I see this! // I send my custom values if I see this!
if (id == FlagType.ENTITY_AIR_TICKS.getIndex()) { if (id == MetaIndex.ENTITY_AIR_TICKS.getIndex()) {
sendAllCustom = true; sendAllCustom = true;
} }
@ -201,7 +201,7 @@ public class FlagWatcher {
} }
public String getCustomName() { public String getCustomName() {
return (String) getData(FlagType.ENTITY_CUSTOM_NAME); return (String) getData(MetaIndex.ENTITY_CUSTOM_NAME);
} }
protected TargetedDisguise getDisguise() { protected TargetedDisguise getDisguise() {
@ -209,7 +209,7 @@ public class FlagWatcher {
} }
private boolean getEntityFlag(int byteValue) { private boolean getEntityFlag(int byteValue) {
return (getData(FlagType.ENTITY_META) & 1 << byteValue) != 0; return (getData(MetaIndex.ENTITY_META) & 1 << byteValue) != 0;
} }
public EntityEquipment getEquipment() { public EntityEquipment getEquipment() {
@ -228,7 +228,7 @@ public class FlagWatcher {
return equipment.getItem(slot); return equipment.getItem(slot);
} }
protected <Y> Y getData(FlagType<Y> flagType) { protected <Y> Y getData(MetaIndex<Y> flagType) {
if (entityValues.containsKey(flagType.getIndex())) { if (entityValues.containsKey(flagType.getIndex())) {
return (Y) entityValues.get(flagType.getIndex()); return (Y) entityValues.get(flagType.getIndex());
} }
@ -248,7 +248,7 @@ public class FlagWatcher {
return getCustomName() != null; return getCustomName() != null;
} }
protected boolean hasValue(FlagType no) { protected boolean hasValue(MetaIndex no) {
return entityValues.containsKey(no.getIndex()); return entityValues.containsKey(no.getIndex());
} }
@ -257,7 +257,7 @@ public class FlagWatcher {
} }
public boolean isCustomNameVisible() { public boolean isCustomNameVisible() {
return getData(FlagType.ENTITY_CUSTOM_NAME_VISIBLE); return getData(MetaIndex.ENTITY_CUSTOM_NAME_VISIBLE);
} }
public boolean isEntityAnimationsAdded() { public boolean isEntityAnimationsAdded() {
@ -277,7 +277,7 @@ public class FlagWatcher {
} }
public boolean isNoGravity() { public boolean isNoGravity() {
return getData(FlagType.ENTITY_NO_GRAVITY); return getData(MetaIndex.ENTITY_NO_GRAVITY);
} }
public boolean isRightClicking() { public boolean isRightClicking() {
@ -315,21 +315,21 @@ public class FlagWatcher {
} }
} }
protected void sendData(FlagType... dataValues) { protected void sendData(MetaIndex... dataValues) {
if (!DisguiseAPI.isDisguiseInUse(getDisguise()) || getDisguise().getWatcher() != this) { if (!DisguiseAPI.isDisguiseInUse(getDisguise()) || getDisguise().getWatcher() != this) {
return; return;
} }
List<WrappedWatchableObject> list = new ArrayList<>(); List<WrappedWatchableObject> list = new ArrayList<>();
for (FlagType data : dataValues) { for (MetaIndex data : dataValues) {
if (!entityValues.containsKey(data.getIndex()) || entityValues.get(data.getIndex()) == null) { if (!entityValues.containsKey(data.getIndex()) || entityValues.get(data.getIndex()) == null) {
continue; continue;
} }
Object value = entityValues.get(data.getIndex()); Object value = entityValues.get(data.getIndex());
if (isEntityAnimationsAdded() && DisguiseConfig.isMetadataPacketsEnabled() && data == FlagType.ENTITY_META) { if (isEntityAnimationsAdded() && DisguiseConfig.isMetadataPacketsEnabled() && data == MetaIndex.ENTITY_META) {
value = addEntityAnimations((byte) value, WrappedDataWatcher.getEntityWatcher(disguise.getEntity()).getByte(0)); value = addEntityAnimations((byte) value, WrappedDataWatcher.getEntityWatcher(disguise.getEntity()).getByte(0));
} }
@ -376,14 +376,14 @@ public class FlagWatcher {
getEquipment().setArmorContents(items); getEquipment().setArmorContents(items);
} }
protected void setBackupValue(FlagType no, Object value) { protected void setBackupValue(MetaIndex no, Object value) {
backupEntityValues.put(no.getIndex(), value); backupEntityValues.put(no.getIndex(), value);
} }
public void setBurning(boolean setBurning) { public void setBurning(boolean setBurning) {
setEntityFlag(0, setBurning); setEntityFlag(0, setBurning);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
public void setCustomName(String name) { public void setCustomName(String name) {
@ -391,41 +391,41 @@ public class FlagWatcher {
name = name.substring(0, 64); name = name.substring(0, 64);
} }
setData(FlagType.ENTITY_CUSTOM_NAME, name); setData(MetaIndex.ENTITY_CUSTOM_NAME, name);
sendData(FlagType.ENTITY_CUSTOM_NAME); sendData(MetaIndex.ENTITY_CUSTOM_NAME);
} }
public void setCustomNameVisible(boolean display) { public void setCustomNameVisible(boolean display) {
setData(FlagType.ENTITY_CUSTOM_NAME_VISIBLE, display); setData(MetaIndex.ENTITY_CUSTOM_NAME_VISIBLE, display);
sendData(FlagType.ENTITY_CUSTOM_NAME_VISIBLE); sendData(MetaIndex.ENTITY_CUSTOM_NAME_VISIBLE);
} }
private void setEntityFlag(int byteValue, boolean flag) { private void setEntityFlag(int byteValue, boolean flag) {
modifiedEntityAnimations[byteValue] = true; modifiedEntityAnimations[byteValue] = true;
byte b0 = (byte) getData(FlagType.ENTITY_META); byte b0 = (byte) getData(MetaIndex.ENTITY_META);
if (flag) { if (flag) {
setData(FlagType.ENTITY_META, (byte) (b0 | 1 << byteValue)); setData(MetaIndex.ENTITY_META, (byte) (b0 | 1 << byteValue));
} }
else { else {
setData(FlagType.ENTITY_META, (byte) (b0 & ~(1 << byteValue))); setData(MetaIndex.ENTITY_META, (byte) (b0 & ~(1 << byteValue)));
} }
} }
public void setFlyingWithElytra(boolean flying) { public void setFlyingWithElytra(boolean flying) {
setEntityFlag(7, flying); setEntityFlag(7, flying);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
public void setGlowing(boolean glowing) { public void setGlowing(boolean glowing) {
setEntityFlag(6, glowing); setEntityFlag(6, glowing);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
public void setInvisible(boolean setInvis) { public void setInvisible(boolean setInvis) {
setEntityFlag(5, setInvis); setEntityFlag(5, setInvis);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
/** /**
@ -506,26 +506,26 @@ public class FlagWatcher {
} }
public void setNoGravity(boolean noGravity) { public void setNoGravity(boolean noGravity) {
setData(FlagType.ENTITY_NO_GRAVITY, noGravity); setData(MetaIndex.ENTITY_NO_GRAVITY, noGravity);
sendData(FlagType.ENTITY_NO_GRAVITY); sendData(MetaIndex.ENTITY_NO_GRAVITY);
} }
public void setRightClicking(boolean setRightClicking) { public void setRightClicking(boolean setRightClicking) {
setEntityFlag(4, setRightClicking); setEntityFlag(4, setRightClicking);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
public void setSneaking(boolean setSneaking) { public void setSneaking(boolean setSneaking) {
setEntityFlag(1, setSneaking); setEntityFlag(1, setSneaking);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
public void setSprinting(boolean setSprinting) { public void setSprinting(boolean setSprinting) {
setEntityFlag(3, setSprinting); setEntityFlag(3, setSprinting);
sendData(FlagType.ENTITY_META); sendData(MetaIndex.ENTITY_META);
} }
protected <Y> void setData(FlagType<Y> id, Y value) { protected <Y> void setData(MetaIndex<Y> id, Y value) {
if (value == null && id.getDefault() instanceof ItemStack) if (value == null && id.getDefault() instanceof ItemStack)
throw new IllegalArgumentException("Cannot use null ItemStacks"); throw new IllegalArgumentException("Cannot use null ItemStacks");

@ -0,0 +1,437 @@
package me.libraryaddict.disguise.disguisetypes;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.UUID;
import org.bukkit.Color;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import com.comphenix.protocol.wrappers.BlockPosition;
import com.comphenix.protocol.wrappers.EnumWrappers.Direction;
import com.comphenix.protocol.wrappers.Vector3F;
import com.comphenix.protocol.wrappers.WrappedBlockData;
import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.watchers.AbstractHorseWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.AgeableWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.AreaEffectCloudWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ArmorStandWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ArrowWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.BatWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.BlazeWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.BoatWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ChestedHorseWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.CreeperWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.DroppedItemWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EnderCrystalWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EnderDragonWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EndermanWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.EvokerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.FallingBlockWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.FireworkWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.FishingHookWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.GhastWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.GuardianWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.HorseWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.InsentientWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.IronGolemWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ItemFrameWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.LivingWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.LlamaWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.MinecartWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.OcelotWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PigWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PlayerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PolarBearWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.RabbitWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SheepWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ShulkerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SkeletonWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SlimeWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SnowmanWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SpiderWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.SplashPotionWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.TNTWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.TameableWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.VexWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.VillagerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.VindicatorWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WitchWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WitherSkullWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WitherWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.WolfWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ZombieVillagerWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.ZombieWatcher;
public class MetaIndex<Y> {
private static MetaIndex[] _values = new MetaIndex[0];
public static MetaIndex<Boolean> AGEABLE_BABY = new MetaIndex<Boolean>(AgeableWatcher.class, 0, false);
public static MetaIndex<Integer> AREA_EFFECT_CLOUD_COLOR = new MetaIndex<Integer>(AreaEffectCloudWatcher.class, 1,
Color.BLACK.asRGB());
public static MetaIndex<Boolean> AREA_EFFECT_IGNORE_RADIUS = new MetaIndex<Boolean>(AreaEffectCloudWatcher.class, 2, false);
public static MetaIndex<Integer> AREA_EFFECT_PARTICLE = new MetaIndex<Integer>(AreaEffectCloudWatcher.class, 3, 0);
public static MetaIndex<Integer> AREA_EFFECT_PARTICLE_PARAM_1 = new MetaIndex<Integer>(AreaEffectCloudWatcher.class, 4, 0);
public static MetaIndex<Integer> AREA_EFFECT_PARTICLE_PARAM_2 = new MetaIndex<Integer>(AreaEffectCloudWatcher.class, 5, 0);
public static MetaIndex<Float> AREA_EFFECT_RADIUS = new MetaIndex<Float>(AreaEffectCloudWatcher.class, 0, 0F);
public static MetaIndex<Vector3F> ARMORSTAND_BODY = new MetaIndex<Vector3F>(ArmorStandWatcher.class, 2, new Vector3F(0, 0, 0));
public static MetaIndex<Vector3F> ARMORSTAND_HEAD = new MetaIndex<Vector3F>(ArmorStandWatcher.class, 1, new Vector3F(0, 0, 0));
public static MetaIndex<Vector3F> ARMORSTAND_LEFT_ARM = new MetaIndex<Vector3F>(ArmorStandWatcher.class, 3,
new Vector3F(0, 0, 0));
public static MetaIndex<Vector3F> ARMORSTAND_LEFT_LEG = new MetaIndex<Vector3F>(ArmorStandWatcher.class, 5,
new Vector3F(0, 0, 0));
public static MetaIndex<Byte> ARMORSTAND_META = new MetaIndex<Byte>(ArmorStandWatcher.class, 0, (byte) 0);
public static MetaIndex<Vector3F> ARMORSTAND_RIGHT_ARM = new MetaIndex<Vector3F>(ArmorStandWatcher.class, 4,
new Vector3F(0, 0, 0));
public static MetaIndex<Vector3F> ARMORSTAND_RIGHT_LEG = new MetaIndex<Vector3F>(ArmorStandWatcher.class, 6,
new Vector3F(0, 0, 0));
public static MetaIndex<Byte> ARROW_CRITICAL = new MetaIndex<Byte>(ArrowWatcher.class, 0, (byte) 0);
public static MetaIndex<Byte> BAT_HANGING = new MetaIndex<Byte>(BatWatcher.class, 0, (byte) 1);
public static MetaIndex<Byte> BLAZE_BLAZING = new MetaIndex<Byte>(BlazeWatcher.class, 0, (byte) 0);
public static MetaIndex<Float> BOAT_DAMAGE = new MetaIndex<Float>(BoatWatcher.class, 2, 40F);
public static MetaIndex<Integer> BOAT_DIRECTION = new MetaIndex<Integer>(BoatWatcher.class, 1, 0);
public static MetaIndex<Integer> BOAT_LAST_HIT = new MetaIndex<Integer>(BoatWatcher.class, 0, 0);
public static MetaIndex<Boolean> BOAT_LEFT_PADDLING = new MetaIndex<Boolean>(BoatWatcher.class, 5, false);
public static MetaIndex<Boolean> BOAT_RIGHT_PADDLING = new MetaIndex<Boolean>(BoatWatcher.class, 4, false);
public static MetaIndex<Integer> BOAT_TYPE = new MetaIndex<Integer>(BoatWatcher.class, 3, 0);
public static MetaIndex<Boolean> CREEPER_IGNITED = new MetaIndex<Boolean>(CreeperWatcher.class, 2, false);
public static MetaIndex<Boolean> CREEPER_POWERED = new MetaIndex<Boolean>(CreeperWatcher.class, 1, false);
public static MetaIndex<Integer> CREEPER_STATE = new MetaIndex<Integer>(CreeperWatcher.class, 0, -1);
public static MetaIndex<ItemStack> DROPPED_ITEM = new MetaIndex<ItemStack>(DroppedItemWatcher.class, 0,
new ItemStack(Material.STONE));
public static MetaIndex<Optional<BlockPosition>> ENDER_CRYSTAL_BEAM = new MetaIndex<Optional<BlockPosition>>(
EnderCrystalWatcher.class, 0, Optional.<BlockPosition> absent());
public static MetaIndex<Boolean> ENDER_CRYSTAL_PLATE = new MetaIndex<Boolean>(EnderCrystalWatcher.class, 1, false);
public static MetaIndex<Integer> ENDERD_RAGON_PHASE = new MetaIndex<Integer>(EnderDragonWatcher.class, 0, 0);
public static MetaIndex<Boolean> ENDERMAN_AGRESSIVE = new MetaIndex<Boolean>(EndermanWatcher.class, 1, false);
public static MetaIndex<Optional<WrappedBlockData>> ENDERMAN_ITEM = new MetaIndex<Optional<WrappedBlockData>>(
EndermanWatcher.class, 0, Optional.<WrappedBlockData> absent());
public static MetaIndex<Integer> ENTITY_AIR_TICKS = new MetaIndex<Integer>(FlagWatcher.class, 1, 0);
public static MetaIndex<String> ENTITY_CUSTOM_NAME = new MetaIndex<String>(FlagWatcher.class, 2, "");
public static MetaIndex<Boolean> ENTITY_CUSTOM_NAME_VISIBLE = new MetaIndex<Boolean>(FlagWatcher.class, 3, false);
public static MetaIndex<Byte> ENTITY_META = new MetaIndex<Byte>(FlagWatcher.class, 0, (byte) 0);
public static MetaIndex<Boolean> ENTITY_NO_GRAVITY = new MetaIndex<Boolean>(FlagWatcher.class, 5, false);
public static MetaIndex<Boolean> ENTITY_SILENT = new MetaIndex<Boolean>(FlagWatcher.class, 4, false);
public static MetaIndex<Byte> EVOKER_SPELL_TICKS = new MetaIndex<Byte>(EvokerWatcher.class, 0, (byte) 0);
public static MetaIndex<BlockPosition> FALLING_BLOCK_POSITION = new MetaIndex<BlockPosition>(FallingBlockWatcher.class, 0,
BlockPosition.ORIGIN);
public static MetaIndex<ItemStack> FIREWORK_ITEM = new MetaIndex<ItemStack>(FireworkWatcher.class, 0,
new ItemStack(Material.AIR));
public static MetaIndex<Integer> FIREWORK_ATTACHED_ENTITY = new MetaIndex<Integer>(FireworkWatcher.class, 1, 0);
public static MetaIndex<Integer> FISHING_HOOK_HOOKED = new MetaIndex<Integer>(FishingHookWatcher.class, 0, 0);
public static MetaIndex<Boolean> GHAST_AGRESSIVE = new MetaIndex<Boolean>(GhastWatcher.class, 0, false);
public static MetaIndex<Boolean> GUARDIAN_RETRACT_SPIKES = new MetaIndex<Boolean>(GuardianWatcher.class, 0, false);
public static MetaIndex<Integer> GUARDIAN_TARGET = new MetaIndex<Integer>(GuardianWatcher.class, 1, 0);
public static MetaIndex<Integer> HORSE_ARMOR = new MetaIndex<Integer>(HorseWatcher.class, 1, 0);
public static MetaIndex<Boolean> HORSE_CHESTED_CARRYING_CHEST = new MetaIndex<Boolean>(ChestedHorseWatcher.class, 0, false);
public static MetaIndex<Integer> HORSE_COLOR = new MetaIndex<Integer>(HorseWatcher.class, 0, 0);
public static MetaIndex<Byte> HORSE_META = new MetaIndex<Byte>(AbstractHorseWatcher.class, 0, (byte) 0);
public static MetaIndex<Optional<UUID>> HORSE_OWNER = new MetaIndex<Optional<UUID>>(AbstractHorseWatcher.class, 1,
Optional.<UUID> absent());
public static MetaIndex<Byte> INSENTIENT_META = new MetaIndex<Byte>(InsentientWatcher.class, 0, (byte) 0);
public static MetaIndex<Byte> IRON_GOLEM_PLAYER_CREATED = new MetaIndex<Byte>(IronGolemWatcher.class, 0, (byte) 0);
public static MetaIndex<ItemStack> ITEMFRAME_ITEM = new MetaIndex<ItemStack>(ItemFrameWatcher.class, 0,
new ItemStack(Material.AIR));
public static MetaIndex<Integer> ITEMFRAME_ROTATION = new MetaIndex<Integer>(ItemFrameWatcher.class, 1, 0);
public static MetaIndex<Integer> LIVING_ARROWS = new MetaIndex<Integer>(LivingWatcher.class, 4, 0);
public static MetaIndex<Byte> LIVING_HAND = new MetaIndex<Byte>(LivingWatcher.class, 0, (byte) 0);
public static MetaIndex<Float> LIVING_HEALTH = new MetaIndex<Float>(LivingWatcher.class, 1, 1F);
public static MetaIndex<Boolean> LIVING_POTION_AMBIENT = new MetaIndex<Boolean>(LivingWatcher.class, 3, false);
public static MetaIndex<Integer> LIVING_POTIONS = new MetaIndex<Integer>(LivingWatcher.class, 2, 0);
public static MetaIndex<Integer> LLAMA_CARPET = new MetaIndex<Integer>(LlamaWatcher.class, 1, 0);
public static MetaIndex<Integer> LLAMA_COLOR = new MetaIndex<Integer>(LlamaWatcher.class, 2, -1);
public static MetaIndex<Integer> LLAMA_STRENGTH = new MetaIndex<Integer>(LlamaWatcher.class, 0, 0);
public static MetaIndex<Integer> MINECART_BLOCK = new MetaIndex<Integer>(MinecartWatcher.class, 3, 0);
public static MetaIndex<Boolean> MINECART_BLOCK_VISIBLE = new MetaIndex<Boolean>(MinecartWatcher.class, 5, false);
public static MetaIndex<Integer> MINECART_BLOCK_Y = new MetaIndex<Integer>(MinecartWatcher.class, 4, 0);
public static MetaIndex<Integer> MINECART_SHAKING_DIRECTION = new MetaIndex<Integer>(MinecartWatcher.class, 1, 1);
public static MetaIndex<Float> MINECART_SHAKING_MULITPLIER = new MetaIndex<Float>(MinecartWatcher.class, 2, 0F);
public static MetaIndex<Integer> MINECART_SHAKING_POWER = new MetaIndex<Integer>(MinecartWatcher.class, 0, 0);
public static MetaIndex<Integer> OCELOT_TYPE = new MetaIndex<Integer>(OcelotWatcher.class, 0, 0);
public static MetaIndex<Boolean> PIG_SADDLED = new MetaIndex<Boolean>(PigWatcher.class, 0, false);
public static MetaIndex<Integer> PIG_UNKNOWN = new MetaIndex<Integer>(PigWatcher.class, 1, 0);
public static MetaIndex<Float> PLAYER_ABSORPTION = new MetaIndex<Float>(PlayerWatcher.class, 0, 0F);
public static MetaIndex<Byte> PLAYER_HAND = new MetaIndex<Byte>(PlayerWatcher.class, 3, (byte) 0);
public static MetaIndex<Integer> PLAYER_SCORE = new MetaIndex<Integer>(PlayerWatcher.class, 1, 0);
public static MetaIndex<Byte> PLAYER_SKIN = new MetaIndex<Byte>(PlayerWatcher.class, 2, (byte) 127);
public static MetaIndex<Boolean> POLAR_BEAR_STANDING = new MetaIndex<Boolean>(PolarBearWatcher.class, 0, false);
public static MetaIndex<Integer> RABBIT_TYPE = new MetaIndex<Integer>(RabbitWatcher.class, 0, 0);
public static MetaIndex<Byte> SHEEP_WOOL = new MetaIndex<Byte>(SheepWatcher.class, 0, (byte) 0);
public static MetaIndex<Optional<BlockPosition>> SHULKER_ATTACHED = new MetaIndex<Optional<BlockPosition>>(ShulkerWatcher.class,
1, Optional.<BlockPosition> absent());
public static MetaIndex<Byte> SHULKER_COLOR = new MetaIndex<Byte>(ShulkerWatcher.class, 3, (byte) 10);
public static MetaIndex<Direction> SHULKER_FACING = new MetaIndex<Direction>(ShulkerWatcher.class, 0, Direction.DOWN);
public static MetaIndex<Byte> SHULKER_PEEKING = new MetaIndex<Byte>(ShulkerWatcher.class, 2, (byte) 0);
public static MetaIndex<Boolean> SKELETON_SWING_ARMS = new MetaIndex<Boolean>(SkeletonWatcher.class, 0, false);
public static MetaIndex<Integer> SLIME_SIZE = new MetaIndex<Integer>(SlimeWatcher.class, 0, 0);
public static MetaIndex<Byte> SNOWMAN_DERP = new MetaIndex<Byte>(SnowmanWatcher.class, 0, (byte) 0);
public static MetaIndex<Byte> SPIDER_CLIMB = new MetaIndex<Byte>(SpiderWatcher.class, 0, (byte) 0);
public static MetaIndex<ItemStack> SPLASH_POTION_ITEM = new MetaIndex<ItemStack>(SplashPotionWatcher.class, 1,
new ItemStack(Material.SPLASH_POTION)); // Yeah, the '1' isn't a bug. No idea why but MC thinks
// there's a '0' already.
public static MetaIndex<ItemStack> SPLASH_POTION_ITEM_BAD = new MetaIndex<ItemStack>(SplashPotionWatcher.class, 0,
new ItemStack(Material.SPLASH_POTION)); // Yeah, the '1' isn't a bug. No
// idea why but MC thinks there's a
// '0' already.
public static MetaIndex<Byte> TAMEABLE_META = new MetaIndex<Byte>(TameableWatcher.class, 0, (byte) 0);
public static MetaIndex<Optional<UUID>> TAMEABLE_OWNER = new MetaIndex<Optional<UUID>>(TameableWatcher.class, 1,
Optional.<UUID> absent());
public static MetaIndex<Integer> TIPPED_ARROW_COLOR = new MetaIndex<Integer>(ArrowWatcher.class, 1, Color.WHITE.asRGB());
public static MetaIndex<Integer> TNT_FUSE_TICKS = new MetaIndex<Integer>(TNTWatcher.class, 0, Integer.MAX_VALUE);
public static MetaIndex<Byte> VEX_ANGRY = new MetaIndex<Byte>(VexWatcher.class, 0, (byte) 0);
public static MetaIndex<Integer> VILLAGER_PROFESSION = new MetaIndex<Integer>(VillagerWatcher.class, 0, 0);
public static MetaIndex<Byte> VINDICATOR_JOHNNY = new MetaIndex<Byte>(VindicatorWatcher.class, 0, (byte) 0);
public static MetaIndex<Boolean> WITCH_AGGRESSIVE = new MetaIndex<Boolean>(WitchWatcher.class, 0, false);
public static MetaIndex<Integer> WITHER_INVUL = new MetaIndex<Integer>(WitherWatcher.class, 3, 0);
public static MetaIndex<Integer> WITHER_TARGET_1 = new MetaIndex<Integer>(WitherWatcher.class, 0, 0);
public static MetaIndex<Integer> WITHER_TARGET_2 = new MetaIndex<Integer>(WitherWatcher.class, 1, 0);
public static MetaIndex<Integer> WITHER_TARGET_3 = new MetaIndex<Integer>(WitherWatcher.class, 2, 0);
public static MetaIndex<Boolean> WITHER_SKULL_BLUE = new MetaIndex<Boolean>(WitherSkullWatcher.class, 0, false);
public static MetaIndex<Boolean> WOLF_BEGGING = new MetaIndex<Boolean>(WolfWatcher.class, 1, false);
public static MetaIndex<Integer> WOLF_COLLAR = new MetaIndex<Integer>(WolfWatcher.class, 2, 14);
public static MetaIndex<Float> WOLF_DAMAGE = new MetaIndex<Float>(WolfWatcher.class, 0, 0F);
public static MetaIndex<Boolean> ZOMBIE_AGGRESSIVE = new MetaIndex<Boolean>(ZombieWatcher.class, 2, false);
public static MetaIndex<Boolean> ZOMBIE_BABY = new MetaIndex<Boolean>(ZombieWatcher.class, 0, false);
public static MetaIndex<Integer> ZOMBIE_PLACEHOLDER = new MetaIndex<Integer>(ZombieWatcher.class, 1, 0);
public static MetaIndex<Integer> ZOMBIE_VILLAGER_PROFESSION = new MetaIndex<Integer>(ZombieVillagerWatcher.class, 1, 0);
public static MetaIndex<Boolean> ZOMBIE_VILLAGER_SHAKING = new MetaIndex<Boolean>(ZombieVillagerWatcher.class, 0, false);
static {
for (MetaIndex flagType : values()) {
if (flagType.getFlagWatcher() == FlagWatcher.class)
continue;
flagType._index += getNoIndexes(flagType.getFlagWatcher().getSuperclass());
}
// Simple verification for the dev that he's setting up the FlagType's properly.
// All flag types should be from 0 to <Max Number> with no empty numbers.
// All flag types should never occur twice.
HashMap<Class, Integer> maxValues = new HashMap<Class, Integer>();
for (MetaIndex type : values()) {
if (maxValues.containsKey(type.getFlagWatcher()) && maxValues.get(type.getFlagWatcher()) > type.getIndex())
continue;
maxValues.put(type.getFlagWatcher(), type.getIndex());
}
for (Entry<Class, Integer> entry : maxValues.entrySet()) {
loop:
for (int i = 0; i < entry.getValue(); i++) {
MetaIndex found = null;
for (MetaIndex type : values()) {
if (type.getIndex() != i)
continue;
if (!type.getFlagWatcher().isAssignableFrom(entry.getKey()))
continue;
if (found != null) {
System.err.println(entry.getKey().getSimpleName() + " has multiple FlagType's registered for the index "
+ i + " (" + type.getFlagWatcher().getSimpleName() + ", " + found.getFlagWatcher().getSimpleName()
+ ")");
continue loop;
}
found = type;
}
if (found != null)
continue;
System.err.println(entry.getKey().getSimpleName() + " has no FlagType registered for the index " + i);
}
}
}
public static MetaIndex getFlag(Class<? extends FlagWatcher> watcherClass, int flagNo) {
for (MetaIndex type : values()) {
if (type.getIndex() != flagNo)
continue;
if (!type.getFlagWatcher().isAssignableFrom(watcherClass))
continue;
return type;
}
return null;
}
public static ArrayList<MetaIndex> getFlags(Class<? extends FlagWatcher> watcherClass) {
ArrayList<MetaIndex> list = new ArrayList<MetaIndex>();
for (MetaIndex type : values()) {
if (!type.getFlagWatcher().isAssignableFrom(watcherClass))
continue;
list.add(type);
}
return list;
}
private static int getNoIndexes(Class c) {
int found = 0;
for (MetaIndex type : values()) {
if (type.getFlagWatcher() != c)
continue;
found++;
}
if (c != FlagWatcher.class) {
found += getNoIndexes(c.getSuperclass());
}
return found;
}
public static MetaIndex[] values() {
return _values;
}
private Y _defaultValue;
private int _index;
private Class<? extends FlagWatcher> _watcher;
private MetaIndex(Class<? extends FlagWatcher> watcher, int index, Y defaultValue) {
_index = index;
_watcher = watcher;
_defaultValue = defaultValue;
_values = Arrays.copyOf(_values, _values.length + 1);
_values[_values.length - 1] = this;
}
public Y getDefault() {
return _defaultValue;
}
public Class<? extends FlagWatcher> getFlagWatcher() {
return _watcher;
}
public int getIndex() {
return _index;
}
}

@ -5,7 +5,7 @@ import java.util.UUID;
import com.google.common.base.Optional; import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class AbstractHorseWatcher extends AgeableWatcher { public class AbstractHorseWatcher extends AgeableWatcher {
public AbstractHorseWatcher(Disguise disguise) { public AbstractHorseWatcher(Disguise disguise) {
@ -13,7 +13,7 @@ public class AbstractHorseWatcher extends AgeableWatcher {
} }
public Optional<UUID> getOwner() { public Optional<UUID> getOwner() {
return getData(FlagType.HORSE_OWNER); return getData(MetaIndex.HORSE_OWNER);
} }
public boolean hasChest() { public boolean hasChest() {
@ -49,7 +49,7 @@ public class AbstractHorseWatcher extends AgeableWatcher {
} }
private byte getHorseFlag() { private byte getHorseFlag() {
return getData(FlagType.HORSE_META); return getData(MetaIndex.HORSE_META);
} }
public void setCanBreed(boolean breed) { public void setCanBreed(boolean breed) {
@ -61,16 +61,16 @@ public class AbstractHorseWatcher extends AgeableWatcher {
} }
private void setHorseFlag(int i, boolean flag) { private void setHorseFlag(int i, boolean flag) {
byte j = getData(FlagType.HORSE_META); byte j = getData(MetaIndex.HORSE_META);
if (flag) { if (flag) {
setData(FlagType.HORSE_META, (byte) (j | i)); setData(MetaIndex.HORSE_META, (byte) (j | i));
} }
else { else {
setData(FlagType.HORSE_META, (byte) (j & ~i)); setData(MetaIndex.HORSE_META, (byte) (j & ~i));
} }
sendData(FlagType.HORSE_META); sendData(MetaIndex.HORSE_META);
} }
public void setGrazing(boolean grazing) { public void setGrazing(boolean grazing) {
@ -82,8 +82,8 @@ public class AbstractHorseWatcher extends AgeableWatcher {
} }
public void setOwner(UUID uuid) { public void setOwner(UUID uuid) {
setData(FlagType.HORSE_OWNER, Optional.of(uuid)); setData(MetaIndex.HORSE_OWNER, Optional.of(uuid));
sendData(FlagType.HORSE_OWNER); sendData(MetaIndex.HORSE_OWNER);
} }
public void setRearing(boolean rear) { public void setRearing(boolean rear) {

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class AgeableWatcher extends InsentientWatcher public class AgeableWatcher extends InsentientWatcher
{ {
@ -17,7 +17,7 @@ public class AgeableWatcher extends InsentientWatcher
public boolean isBaby() public boolean isBaby()
{ {
return getData(FlagType.AGEABLE_BABY); return getData(MetaIndex.AGEABLE_BABY);
} }
public void setAdult() public void setAdult()
@ -32,7 +32,7 @@ public class AgeableWatcher extends InsentientWatcher
public void setBaby(boolean isBaby) public void setBaby(boolean isBaby)
{ {
setData(FlagType.AGEABLE_BABY, isBaby); setData(MetaIndex.AGEABLE_BABY, isBaby);
sendData(FlagType.AGEABLE_BABY); sendData(MetaIndex.AGEABLE_BABY);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
/** /**
@ -16,35 +16,35 @@ public class AreaEffectCloudWatcher extends FlagWatcher {
} }
public float getRadius() { public float getRadius() {
return getData(FlagType.AREA_EFFECT_RADIUS); return getData(MetaIndex.AREA_EFFECT_RADIUS);
} }
public int getColor() { public int getColor() {
return getData(FlagType.AREA_EFFECT_CLOUD_COLOR); return getData(MetaIndex.AREA_EFFECT_CLOUD_COLOR);
} }
public boolean isIgnoreRadius() { public boolean isIgnoreRadius() {
return getData(FlagType.AREA_EFFECT_IGNORE_RADIUS); return getData(MetaIndex.AREA_EFFECT_IGNORE_RADIUS);
} }
public int getParticleId() { public int getParticleId() {
return getData(FlagType.AREA_EFFECT_PARTICLE); return getData(MetaIndex.AREA_EFFECT_PARTICLE);
} }
public void setRadius(float radius) { public void setRadius(float radius) {
setData(FlagType.AREA_EFFECT_RADIUS, radius); setData(MetaIndex.AREA_EFFECT_RADIUS, radius);
} }
public void setColor(int color) { public void setColor(int color) {
setData(FlagType.AREA_EFFECT_CLOUD_COLOR, color); setData(MetaIndex.AREA_EFFECT_CLOUD_COLOR, color);
} }
public void setIgnoreRadius(boolean ignore) { public void setIgnoreRadius(boolean ignore) {
setData(FlagType.AREA_EFFECT_IGNORE_RADIUS, ignore); setData(MetaIndex.AREA_EFFECT_IGNORE_RADIUS, ignore);
} }
public void setParticleId(int particleId) { public void setParticleId(int particleId) {
setData(FlagType.AREA_EFFECT_PARTICLE, particleId); setData(MetaIndex.AREA_EFFECT_PARTICLE, particleId);
} }
} }

@ -5,7 +5,7 @@ import org.bukkit.util.EulerAngle;
import com.comphenix.protocol.wrappers.Vector3F; import com.comphenix.protocol.wrappers.Vector3F;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class ArmorStandWatcher extends LivingWatcher public class ArmorStandWatcher extends LivingWatcher
{ {
@ -16,30 +16,30 @@ public class ArmorStandWatcher extends LivingWatcher
private boolean getArmorStandFlag(int value) private boolean getArmorStandFlag(int value)
{ {
return (getData(FlagType.ARMORSTAND_META) & value) != 0; return (getData(MetaIndex.ARMORSTAND_META) & value) != 0;
} }
public EulerAngle getBody() public EulerAngle getBody()
{ {
return getPose(FlagType.ARMORSTAND_BODY); return getPose(MetaIndex.ARMORSTAND_BODY);
} }
public EulerAngle getHead() public EulerAngle getHead()
{ {
return getPose(FlagType.ARMORSTAND_HEAD); return getPose(MetaIndex.ARMORSTAND_HEAD);
} }
public EulerAngle getLeftArm() public EulerAngle getLeftArm()
{ {
return getPose(FlagType.ARMORSTAND_LEFT_ARM); return getPose(MetaIndex.ARMORSTAND_LEFT_ARM);
} }
public EulerAngle getLeftLeg() public EulerAngle getLeftLeg()
{ {
return getPose(FlagType.ARMORSTAND_LEFT_LEG); return getPose(MetaIndex.ARMORSTAND_LEFT_LEG);
} }
private EulerAngle getPose(FlagType<Vector3F> type) private EulerAngle getPose(MetaIndex<Vector3F> type)
{ {
if (!hasValue(type)) if (!hasValue(type))
return new EulerAngle(0, 0, 0); return new EulerAngle(0, 0, 0);
@ -51,12 +51,12 @@ public class ArmorStandWatcher extends LivingWatcher
public EulerAngle getRightArm() public EulerAngle getRightArm()
{ {
return getPose(FlagType.ARMORSTAND_RIGHT_ARM); return getPose(MetaIndex.ARMORSTAND_RIGHT_ARM);
} }
public EulerAngle getRightLeg() public EulerAngle getRightLeg()
{ {
return getPose(FlagType.ARMORSTAND_RIGHT_LEG); return getPose(MetaIndex.ARMORSTAND_RIGHT_LEG);
} }
public boolean isMarker() public boolean isMarker()
@ -86,7 +86,7 @@ public class ArmorStandWatcher extends LivingWatcher
private void setArmorStandFlag(int value, boolean isTrue) private void setArmorStandFlag(int value, boolean isTrue)
{ {
byte b1 = (byte) getData(FlagType.ARMORSTAND_META); byte b1 = (byte) getData(MetaIndex.ARMORSTAND_META);
if (isTrue) if (isTrue)
{ {
@ -97,49 +97,49 @@ public class ArmorStandWatcher extends LivingWatcher
b1 = (byte) (b1 & value); b1 = (byte) (b1 & value);
} }
setData(FlagType.ARMORSTAND_META, b1); setData(MetaIndex.ARMORSTAND_META, b1);
sendData(FlagType.ARMORSTAND_META); sendData(MetaIndex.ARMORSTAND_META);
} }
public void setBody(EulerAngle vector) public void setBody(EulerAngle vector)
{ {
setPose(FlagType.ARMORSTAND_BODY, vector); setPose(MetaIndex.ARMORSTAND_BODY, vector);
} }
public void setHead(EulerAngle vector) public void setHead(EulerAngle vector)
{ {
setPose(FlagType.ARMORSTAND_HEAD, vector); setPose(MetaIndex.ARMORSTAND_HEAD, vector);
} }
public void setLeftArm(EulerAngle vector) public void setLeftArm(EulerAngle vector)
{ {
setPose(FlagType.ARMORSTAND_LEFT_ARM, vector); setPose(MetaIndex.ARMORSTAND_LEFT_ARM, vector);
} }
public void setLeftLeg(EulerAngle vector) public void setLeftLeg(EulerAngle vector)
{ {
setPose(FlagType.ARMORSTAND_LEFT_LEG, vector); setPose(MetaIndex.ARMORSTAND_LEFT_LEG, vector);
} }
public void setMarker(boolean isMarker) public void setMarker(boolean isMarker)
{ {
setArmorStandFlag(10, isMarker); setArmorStandFlag(10, isMarker);
sendData(FlagType.ARMORSTAND_META); sendData(MetaIndex.ARMORSTAND_META);
} }
public void setNoBasePlate(boolean noBasePlate) public void setNoBasePlate(boolean noBasePlate)
{ {
setArmorStandFlag(8, noBasePlate); setArmorStandFlag(8, noBasePlate);
sendData(FlagType.ARMORSTAND_META); sendData(MetaIndex.ARMORSTAND_META);
} }
public void setNoGravity(boolean noGravity) public void setNoGravity(boolean noGravity)
{ {
setArmorStandFlag(2, noGravity); setArmorStandFlag(2, noGravity);
sendData(FlagType.ARMORSTAND_META); sendData(MetaIndex.ARMORSTAND_META);
} }
private void setPose(FlagType<Vector3F> type, EulerAngle vector) private void setPose(MetaIndex<Vector3F> type, EulerAngle vector)
{ {
setData(type, new Vector3F((float) vector.getX(), (float) vector.getY(), (float) vector.getZ())); setData(type, new Vector3F((float) vector.getX(), (float) vector.getY(), (float) vector.getZ()));
sendData(type); sendData(type);
@ -147,24 +147,24 @@ public class ArmorStandWatcher extends LivingWatcher
public void setRightArm(EulerAngle vector) public void setRightArm(EulerAngle vector)
{ {
setPose(FlagType.ARMORSTAND_RIGHT_ARM, vector); setPose(MetaIndex.ARMORSTAND_RIGHT_ARM, vector);
} }
public void setRightLeg(EulerAngle vector) public void setRightLeg(EulerAngle vector)
{ {
setPose(FlagType.ARMORSTAND_RIGHT_LEG, vector); setPose(MetaIndex.ARMORSTAND_RIGHT_LEG, vector);
} }
public void setShowArms(boolean showArms) public void setShowArms(boolean showArms)
{ {
setArmorStandFlag(4, showArms); setArmorStandFlag(4, showArms);
sendData(FlagType.ARMORSTAND_META); sendData(MetaIndex.ARMORSTAND_META);
} }
public void setSmall(boolean isSmall) public void setSmall(boolean isSmall)
{ {
setArmorStandFlag(1, isSmall); setArmorStandFlag(1, isSmall);
sendData(FlagType.ARMORSTAND_META); sendData(MetaIndex.ARMORSTAND_META);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class ArrowWatcher extends FlagWatcher public class ArrowWatcher extends FlagWatcher
@ -13,12 +13,12 @@ public class ArrowWatcher extends FlagWatcher
public boolean isCritical() public boolean isCritical()
{ {
return (byte) getData(FlagType.ARROW_CRITICAL) == 1; return (byte) getData(MetaIndex.ARROW_CRITICAL) == 1;
} }
public void setCritical(boolean critical) public void setCritical(boolean critical)
{ {
setData(FlagType.ARROW_CRITICAL, (byte) (critical ? 1 : 0)); setData(MetaIndex.ARROW_CRITICAL, (byte) (critical ? 1 : 0));
sendData(FlagType.ARROW_CRITICAL); sendData(MetaIndex.ARROW_CRITICAL);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class BatWatcher extends InsentientWatcher public class BatWatcher extends InsentientWatcher
{ {
@ -15,12 +15,12 @@ public class BatWatcher extends InsentientWatcher
public boolean isHanging() public boolean isHanging()
{ {
return ((byte) getData(FlagType.BAT_HANGING)) == 1; return ((byte) getData(MetaIndex.BAT_HANGING)) == 1;
} }
public void setHanging(boolean hanging) public void setHanging(boolean hanging)
{ {
setData(FlagType.BAT_HANGING, hanging ? (byte) 1 : (byte) 0); setData(MetaIndex.BAT_HANGING, hanging ? (byte) 1 : (byte) 0);
sendData(FlagType.BAT_HANGING); sendData(MetaIndex.BAT_HANGING);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class BlazeWatcher extends InsentientWatcher public class BlazeWatcher extends InsentientWatcher
{ {
@ -12,13 +12,13 @@ public class BlazeWatcher extends InsentientWatcher
public boolean isBlazing() public boolean isBlazing()
{ {
return getData(FlagType.BLAZE_BLAZING) == 1; return getData(MetaIndex.BLAZE_BLAZING) == 1;
} }
public void setBlazing(boolean isBlazing) public void setBlazing(boolean isBlazing)
{ {
setData(FlagType.BLAZE_BLAZING, (byte) (isBlazing ? 1 : 0)); setData(MetaIndex.BLAZE_BLAZING, (byte) (isBlazing ? 1 : 0));
sendData(FlagType.BLAZE_BLAZING); sendData(MetaIndex.BLAZE_BLAZING);
} }
} }

@ -5,7 +5,7 @@ import java.util.Random;
import org.bukkit.TreeSpecies; import org.bukkit.TreeSpecies;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class BoatWatcher extends FlagWatcher public class BoatWatcher extends FlagWatcher
@ -19,46 +19,46 @@ public class BoatWatcher extends FlagWatcher
public float getDamage() public float getDamage()
{ {
return getData(FlagType.BOAT_DAMAGE); return getData(MetaIndex.BOAT_DAMAGE);
} }
public void setDamage(float dmg) public void setDamage(float dmg)
{ {
setData(FlagType.BOAT_DAMAGE, dmg); setData(MetaIndex.BOAT_DAMAGE, dmg);
sendData(FlagType.BOAT_DAMAGE); sendData(MetaIndex.BOAT_DAMAGE);
} }
public void setRightPaddling(boolean rightPaddling) public void setRightPaddling(boolean rightPaddling)
{ {
setData(FlagType.BOAT_RIGHT_PADDLING, rightPaddling); setData(MetaIndex.BOAT_RIGHT_PADDLING, rightPaddling);
sendData(FlagType.BOAT_RIGHT_PADDLING); sendData(MetaIndex.BOAT_RIGHT_PADDLING);
} }
public void setLeftPaddling(boolean leftPaddling) public void setLeftPaddling(boolean leftPaddling)
{ {
setData(FlagType.BOAT_LEFT_PADDLING, leftPaddling); setData(MetaIndex.BOAT_LEFT_PADDLING, leftPaddling);
sendData(FlagType.BOAT_LEFT_PADDLING); sendData(MetaIndex.BOAT_LEFT_PADDLING);
} }
public boolean isRightPaddling() public boolean isRightPaddling()
{ {
return getData(FlagType.BOAT_RIGHT_PADDLING); return getData(MetaIndex.BOAT_RIGHT_PADDLING);
} }
public boolean isLeftPaddling() public boolean isLeftPaddling()
{ {
return getData(FlagType.BOAT_LEFT_PADDLING); return getData(MetaIndex.BOAT_LEFT_PADDLING);
} }
public void setBoatType(TreeSpecies boatType) public void setBoatType(TreeSpecies boatType)
{ {
setData(FlagType.BOAT_TYPE, (int) boatType.getData()); setData(MetaIndex.BOAT_TYPE, (int) boatType.getData());
sendData(FlagType.BOAT_TYPE); sendData(MetaIndex.BOAT_TYPE);
} }
public TreeSpecies getBoatType() public TreeSpecies getBoatType()
{ {
return TreeSpecies.getByData(getData(FlagType.BOAT_TYPE).byteValue()); return TreeSpecies.getByData(getData(MetaIndex.BOAT_TYPE).byteValue());
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class ChestedHorseWatcher extends AbstractHorseWatcher { public class ChestedHorseWatcher extends AbstractHorseWatcher {
@ -10,11 +10,11 @@ public class ChestedHorseWatcher extends AbstractHorseWatcher {
} }
public void setCarryingChest(boolean carryingChest) { public void setCarryingChest(boolean carryingChest) {
setData(FlagType.HORSE_CHESTED_CARRYING_CHEST, carryingChest); setData(MetaIndex.HORSE_CHESTED_CARRYING_CHEST, carryingChest);
sendData(FlagType.HORSE_CHESTED_CARRYING_CHEST); sendData(MetaIndex.HORSE_CHESTED_CARRYING_CHEST);
} }
public boolean isCarryingChest() { public boolean isCarryingChest() {
return getData(FlagType.HORSE_CHESTED_CARRYING_CHEST); return getData(MetaIndex.HORSE_CHESTED_CARRYING_CHEST);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class CreeperWatcher extends InsentientWatcher public class CreeperWatcher extends InsentientWatcher
{ {
@ -13,24 +13,24 @@ public class CreeperWatcher extends InsentientWatcher
public boolean isIgnited() public boolean isIgnited()
{ {
return (boolean) getData(FlagType.CREEPER_IGNITED); return (boolean) getData(MetaIndex.CREEPER_IGNITED);
} }
public boolean isPowered() public boolean isPowered()
{ {
return (boolean) getData(FlagType.CREEPER_POWERED); return (boolean) getData(MetaIndex.CREEPER_POWERED);
} }
public void setIgnited(boolean ignited) public void setIgnited(boolean ignited)
{ {
setData(FlagType.CREEPER_IGNITED, ignited); setData(MetaIndex.CREEPER_IGNITED, ignited);
sendData(FlagType.CREEPER_IGNITED); sendData(MetaIndex.CREEPER_IGNITED);
} }
public void setPowered(boolean powered) public void setPowered(boolean powered)
{ {
setData(FlagType.CREEPER_POWERED, powered); setData(MetaIndex.CREEPER_POWERED, powered);
sendData(FlagType.CREEPER_POWERED); sendData(MetaIndex.CREEPER_POWERED);
} }
} }

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class DroppedItemWatcher extends FlagWatcher { public class DroppedItemWatcher extends FlagWatcher {
@ -12,11 +12,11 @@ public class DroppedItemWatcher extends FlagWatcher {
} }
public ItemStack getItemStack() { public ItemStack getItemStack() {
return getData(FlagType.DROPPED_ITEM); return getData(MetaIndex.DROPPED_ITEM);
} }
public void setItemStack(ItemStack item) { public void setItemStack(ItemStack item) {
setData(FlagType.DROPPED_ITEM, item); setData(MetaIndex.DROPPED_ITEM, item);
sendData(FlagType.DROPPED_ITEM); sendData(MetaIndex.DROPPED_ITEM);
} }
} }

@ -4,7 +4,7 @@ import com.comphenix.protocol.wrappers.BlockPosition;
import com.google.common.base.Optional; import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
/** /**
@ -19,24 +19,24 @@ public class EnderCrystalWatcher extends FlagWatcher
public void setBeamTarget(BlockPosition position) public void setBeamTarget(BlockPosition position)
{ {
setData(FlagType.ENDER_CRYSTAL_BEAM, Optional.of(position)); setData(MetaIndex.ENDER_CRYSTAL_BEAM, Optional.of(position));
sendData(FlagType.ENDER_CRYSTAL_BEAM); sendData(MetaIndex.ENDER_CRYSTAL_BEAM);
} }
public Optional<BlockPosition> getBeamTarget() public Optional<BlockPosition> getBeamTarget()
{ {
return getData(FlagType.ENDER_CRYSTAL_BEAM); return getData(MetaIndex.ENDER_CRYSTAL_BEAM);
} }
public void setShowBottom(boolean bool) public void setShowBottom(boolean bool)
{ {
setData(FlagType.ENDER_CRYSTAL_PLATE, bool); setData(MetaIndex.ENDER_CRYSTAL_PLATE, bool);
sendData(FlagType.ENDER_CRYSTAL_PLATE); sendData(MetaIndex.ENDER_CRYSTAL_PLATE);
} }
public boolean isShowBottom() public boolean isShowBottom()
{ {
return getData(FlagType.ENDER_CRYSTAL_PLATE); return getData(MetaIndex.ENDER_CRYSTAL_PLATE);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
/** /**
* @author Navid * @author Navid
@ -16,12 +16,12 @@ public class EnderDragonWatcher extends InsentientWatcher
public int getPhase() public int getPhase()
{ {
return getData(FlagType.ENDERD_RAGON_PHASE); return getData(MetaIndex.ENDERD_RAGON_PHASE);
} }
public void setPhase(int phase) public void setPhase(int phase)
{ {
setData(FlagType.ENDERD_RAGON_PHASE, phase); setData(MetaIndex.ENDERD_RAGON_PHASE, phase);
sendData(FlagType.ENDERD_RAGON_PHASE); sendData(MetaIndex.ENDERD_RAGON_PHASE);
} }
} }

@ -7,7 +7,7 @@ import com.comphenix.protocol.wrappers.WrappedBlockData;
import com.google.common.base.Optional; import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class EndermanWatcher extends InsentientWatcher public class EndermanWatcher extends InsentientWatcher
{ {
@ -20,7 +20,7 @@ public class EndermanWatcher extends InsentientWatcher
@Override @Override
public ItemStack getItemInMainHand() public ItemStack getItemInMainHand()
{ {
Optional<WrappedBlockData> value = getData(FlagType.ENDERMAN_ITEM); Optional<WrappedBlockData> value = getData(MetaIndex.ENDERMAN_ITEM);
if (value.isPresent()) if (value.isPresent())
{ {
@ -62,7 +62,7 @@ public class EndermanWatcher extends InsentientWatcher
else else
optional = Optional.<WrappedBlockData> of(WrappedBlockData.createData(type, data)); optional = Optional.<WrappedBlockData> of(WrappedBlockData.createData(type, data));
setData(FlagType.ENDERMAN_ITEM, optional); setData(MetaIndex.ENDERMAN_ITEM, optional);
} }
@Deprecated @Deprecated
@ -73,13 +73,13 @@ public class EndermanWatcher extends InsentientWatcher
public boolean isAggressive() public boolean isAggressive()
{ {
return getData(FlagType.ENDERMAN_AGRESSIVE); return getData(MetaIndex.ENDERMAN_AGRESSIVE);
} }
public void setAggressive(boolean isAggressive) public void setAggressive(boolean isAggressive)
{ {
setData(FlagType.ENDERMAN_AGRESSIVE, isAggressive); setData(MetaIndex.ENDERMAN_AGRESSIVE, isAggressive);
sendData(FlagType.ENDERMAN_AGRESSIVE); sendData(MetaIndex.ENDERMAN_AGRESSIVE);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class EvokerWatcher extends InsentientWatcher { public class EvokerWatcher extends InsentientWatcher {
@ -10,11 +10,11 @@ public class EvokerWatcher extends InsentientWatcher {
} }
public void setSpellTicks(int spellTicks) { public void setSpellTicks(int spellTicks) {
setData(FlagType.EVOKER_SPELL_TICKS, (byte) spellTicks); setData(MetaIndex.EVOKER_SPELL_TICKS, (byte) spellTicks);
sendData(FlagType.EVOKER_SPELL_TICKS); sendData(MetaIndex.EVOKER_SPELL_TICKS);
} }
public int getSpellTicks() { public int getSpellTicks() {
return getData(FlagType.EVOKER_SPELL_TICKS); return getData(MetaIndex.EVOKER_SPELL_TICKS);
} }
} }

@ -4,7 +4,7 @@ import org.bukkit.Material;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class FireworkWatcher extends FlagWatcher { public class FireworkWatcher extends FlagWatcher {
@ -13,11 +13,11 @@ public class FireworkWatcher extends FlagWatcher {
} }
public ItemStack getFirework() { public ItemStack getFirework() {
if (getData(FlagType.FIREWORK_ITEM) == null) { if (getData(MetaIndex.FIREWORK_ITEM) == null) {
return new ItemStack(Material.AIR); return new ItemStack(Material.AIR);
} }
return (ItemStack) getData(FlagType.FIREWORK_ITEM); return (ItemStack) getData(MetaIndex.FIREWORK_ITEM);
} }
public void setFirework(ItemStack newItem) { public void setFirework(ItemStack newItem) {
@ -28,16 +28,16 @@ public class FireworkWatcher extends FlagWatcher {
newItem = newItem.clone(); newItem = newItem.clone();
newItem.setAmount(1); newItem.setAmount(1);
setData(FlagType.FIREWORK_ITEM, newItem); setData(MetaIndex.FIREWORK_ITEM, newItem);
sendData(FlagType.FIREWORK_ITEM); sendData(MetaIndex.FIREWORK_ITEM);
} }
public void setAttachedEntity(int entityId) { public void setAttachedEntity(int entityId) {
setData(FlagType.FIREWORK_ATTACHED_ENTITY, entityId); setData(MetaIndex.FIREWORK_ATTACHED_ENTITY, entityId);
sendData(FlagType.FIREWORK_ATTACHED_ENTITY); sendData(MetaIndex.FIREWORK_ATTACHED_ENTITY);
} }
public int getAttachedEntity() { public int getAttachedEntity() {
return getData(FlagType.FIREWORK_ATTACHED_ENTITY); return getData(MetaIndex.FIREWORK_ATTACHED_ENTITY);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class FishingHookWatcher extends FlagWatcher public class FishingHookWatcher extends FlagWatcher
@ -13,13 +13,13 @@ public class FishingHookWatcher extends FlagWatcher
public void setHooked(int hookedId) public void setHooked(int hookedId)
{ {
setData(FlagType.FISHING_HOOK_HOOKED, hookedId + 1); setData(MetaIndex.FISHING_HOOK_HOOKED, hookedId + 1);
sendData(FlagType.FISHING_HOOK_HOOKED); sendData(MetaIndex.FISHING_HOOK_HOOKED);
} }
public int getHooked() public int getHooked()
{ {
int hooked = getData(FlagType.FISHING_HOOK_HOOKED); int hooked = getData(MetaIndex.FISHING_HOOK_HOOKED);
if (hooked > 0) if (hooked > 0)
hooked--; hooked--;

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class GhastWatcher extends InsentientWatcher public class GhastWatcher extends InsentientWatcher
{ {
@ -13,13 +13,13 @@ public class GhastWatcher extends InsentientWatcher
public boolean isAggressive() public boolean isAggressive()
{ {
return getData(FlagType.GHAST_AGRESSIVE); return getData(MetaIndex.GHAST_AGRESSIVE);
} }
public void setAggressive(boolean isAggressive) public void setAggressive(boolean isAggressive)
{ {
setData(FlagType.GHAST_AGRESSIVE, isAggressive); setData(MetaIndex.GHAST_AGRESSIVE, isAggressive);
sendData(FlagType.GHAST_AGRESSIVE); sendData(MetaIndex.GHAST_AGRESSIVE);
} }
} }

@ -5,7 +5,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class GuardianWatcher extends InsentientWatcher { public class GuardianWatcher extends InsentientWatcher {
public GuardianWatcher(Disguise disguise) { public GuardianWatcher(Disguise disguise) {
@ -18,7 +18,7 @@ public class GuardianWatcher extends InsentientWatcher {
* @return * @return
*/ */
public boolean isTarget() { public boolean isTarget() {
return ((int) getData(FlagType.GUARDIAN_TARGET)) != 0; return ((int) getData(MetaIndex.GUARDIAN_TARGET)) != 0;
} }
/** /**
@ -27,8 +27,8 @@ public class GuardianWatcher extends InsentientWatcher {
* @param entityId * @param entityId
*/ */
public void setTarget(int entityId) { public void setTarget(int entityId) {
setData(FlagType.GUARDIAN_TARGET, entityId); setData(MetaIndex.GUARDIAN_TARGET, entityId);
sendData(FlagType.GUARDIAN_TARGET); sendData(MetaIndex.GUARDIAN_TARGET);
} }
public void setTarget(Entity entity) { public void setTarget(Entity entity) {
@ -46,17 +46,17 @@ public class GuardianWatcher extends InsentientWatcher {
if (player == null) if (player == null)
return; return;
setData(FlagType.GUARDIAN_TARGET, player.getEntityId()); setData(MetaIndex.GUARDIAN_TARGET, player.getEntityId());
sendData(FlagType.GUARDIAN_TARGET); sendData(MetaIndex.GUARDIAN_TARGET);
} }
public boolean isRetractingSpikes() { public boolean isRetractingSpikes() {
return getData(FlagType.GUARDIAN_RETRACT_SPIKES); return getData(MetaIndex.GUARDIAN_RETRACT_SPIKES);
} }
public void setRetractingSpikes(boolean isRetracting) { public void setRetractingSpikes(boolean isRetracting) {
setData(FlagType.GUARDIAN_RETRACT_SPIKES, isRetracting); setData(MetaIndex.GUARDIAN_RETRACT_SPIKES, isRetracting);
sendData(FlagType.GUARDIAN_RETRACT_SPIKES); sendData(MetaIndex.GUARDIAN_RETRACT_SPIKES);
} }
} }

@ -6,7 +6,7 @@ import org.bukkit.entity.Horse.Style;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
public class HorseWatcher extends AbstractHorseWatcher { public class HorseWatcher extends AbstractHorseWatcher {
@ -18,7 +18,7 @@ public class HorseWatcher extends AbstractHorseWatcher {
} }
public Color getColor() { public Color getColor() {
return Color.values()[((Integer) getData(FlagType.HORSE_COLOR) & 0xFF)]; return Color.values()[((Integer) getData(MetaIndex.HORSE_COLOR) & 0xFF)];
} }
public ItemStack getHorseArmor() { public ItemStack getHorseArmor() {
@ -39,26 +39,26 @@ public class HorseWatcher extends AbstractHorseWatcher {
} }
public Style getStyle() { public Style getStyle() {
return Style.values()[(getData(FlagType.HORSE_COLOR) >>> 8)]; return Style.values()[(getData(MetaIndex.HORSE_COLOR) >>> 8)];
} }
public void setColor(Color color) { public void setColor(Color color) {
setData(FlagType.HORSE_COLOR, color.ordinal() & 0xFF | getStyle().ordinal() << 8); setData(MetaIndex.HORSE_COLOR, color.ordinal() & 0xFF | getStyle().ordinal() << 8);
sendData(FlagType.HORSE_COLOR); sendData(MetaIndex.HORSE_COLOR);
} }
protected int getHorseArmorAsInt() { protected int getHorseArmorAsInt() {
return getData(FlagType.HORSE_ARMOR); return getData(MetaIndex.HORSE_ARMOR);
} }
protected void setHorseArmor(int armor) { protected void setHorseArmor(int armor) {
setData(FlagType.HORSE_ARMOR, armor); setData(MetaIndex.HORSE_ARMOR, armor);
sendData(FlagType.HORSE_ARMOR); sendData(MetaIndex.HORSE_ARMOR);
} }
public void setStyle(Style style) { public void setStyle(Style style) {
setData(FlagType.HORSE_COLOR, getColor().ordinal() & 0xFF | style.ordinal() << 8); setData(MetaIndex.HORSE_COLOR, getColor().ordinal() & 0xFF | style.ordinal() << 8);
sendData(FlagType.HORSE_COLOR); sendData(MetaIndex.HORSE_COLOR);
} }
public void setHorseArmor(ItemStack item) { public void setHorseArmor(ItemStack item) {

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.inventory.MainHand; import org.bukkit.inventory.MainHand;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class InsentientWatcher extends LivingWatcher public class InsentientWatcher extends LivingWatcher
{ {
@ -15,7 +15,7 @@ public class InsentientWatcher extends LivingWatcher
public void setMainHand(MainHand mainHand) public void setMainHand(MainHand mainHand)
{ {
setInsentientFlag(2, mainHand == MainHand.RIGHT); setInsentientFlag(2, mainHand == MainHand.RIGHT);
sendData(FlagType.INSENTIENT_META); sendData(MetaIndex.INSENTIENT_META);
} }
public MainHand getMainHand() public MainHand getMainHand()
@ -31,25 +31,25 @@ public class InsentientWatcher extends LivingWatcher
public void setAI(boolean ai) public void setAI(boolean ai)
{ {
setInsentientFlag(1, ai); setInsentientFlag(1, ai);
sendData(FlagType.INSENTIENT_META); sendData(MetaIndex.INSENTIENT_META);
} }
private void setInsentientFlag(int i, boolean flag) private void setInsentientFlag(int i, boolean flag)
{ {
byte b0 = (byte) getData(FlagType.INSENTIENT_META); byte b0 = (byte) getData(MetaIndex.INSENTIENT_META);
if (flag) if (flag)
{ {
setData(FlagType.INSENTIENT_META, (byte) (b0 | 1 << i)); setData(MetaIndex.INSENTIENT_META, (byte) (b0 | 1 << i));
} }
else else
{ {
setData(FlagType.INSENTIENT_META, (byte) (b0 & (~1 << i))); setData(MetaIndex.INSENTIENT_META, (byte) (b0 & (~1 << i)));
} }
} }
private boolean getInsentientFlag(int i) private boolean getInsentientFlag(int i)
{ {
return ((byte) getData(FlagType.INSENTIENT_META) & 1 << i) != 0; return ((byte) getData(MetaIndex.INSENTIENT_META) & 1 << i) != 0;
} }
} }

@ -4,7 +4,7 @@ import org.bukkit.Material;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class ItemFrameWatcher extends FlagWatcher { public class ItemFrameWatcher extends FlagWatcher {
@ -13,15 +13,15 @@ public class ItemFrameWatcher extends FlagWatcher {
} }
public ItemStack getItem() { public ItemStack getItem() {
if (getData(FlagType.ITEMFRAME_ITEM) == null) { if (getData(MetaIndex.ITEMFRAME_ITEM) == null) {
return new ItemStack(Material.AIR); return new ItemStack(Material.AIR);
} }
return (ItemStack) getData(FlagType.ITEMFRAME_ITEM); return (ItemStack) getData(MetaIndex.ITEMFRAME_ITEM);
} }
public int getRotation() { public int getRotation() {
return getData(FlagType.ITEMFRAME_ROTATION); return getData(MetaIndex.ITEMFRAME_ROTATION);
} }
public void setItem(ItemStack newItem) { public void setItem(ItemStack newItem) {
@ -32,13 +32,13 @@ public class ItemFrameWatcher extends FlagWatcher {
newItem = newItem.clone(); newItem = newItem.clone();
newItem.setAmount(1); newItem.setAmount(1);
setData(FlagType.ITEMFRAME_ITEM, newItem); setData(MetaIndex.ITEMFRAME_ITEM, newItem);
sendData(FlagType.ITEMFRAME_ITEM); sendData(MetaIndex.ITEMFRAME_ITEM);
} }
public void setRotation(int rotation) { public void setRotation(int rotation) {
setData(FlagType.ITEMFRAME_ROTATION, rotation % 4); setData(MetaIndex.ITEMFRAME_ROTATION, rotation % 4);
sendData(FlagType.ITEMFRAME_ROTATION); sendData(MetaIndex.ITEMFRAME_ROTATION);
} }
} }

@ -20,7 +20,7 @@ import com.comphenix.protocol.wrappers.WrappedAttribute.Builder;
import me.libraryaddict.disguise.DisguiseAPI; import me.libraryaddict.disguise.DisguiseAPI;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
import me.libraryaddict.disguise.utilities.ReflectionManager; import me.libraryaddict.disguise.utilities.ReflectionManager;
@ -72,7 +72,7 @@ public class LivingWatcher extends FlagWatcher {
} }
public float getHealth() { public float getHealth() {
return (float) getData(FlagType.LIVING_HEALTH); return (float) getData(MetaIndex.LIVING_HEALTH);
} }
public double getMaxHealth() { public double getMaxHealth() {
@ -80,7 +80,7 @@ public class LivingWatcher extends FlagWatcher {
} }
public boolean isPotionParticlesAmbient() { public boolean isPotionParticlesAmbient() {
return (boolean) getData(FlagType.LIVING_POTION_AMBIENT); return (boolean) getData(MetaIndex.LIVING_POTION_AMBIENT);
} }
private int getPotions() { private int getPotions() {
@ -130,27 +130,27 @@ public class LivingWatcher extends FlagWatcher {
} }
public void setPotionParticlesAmbient(boolean particles) { public void setPotionParticlesAmbient(boolean particles) {
setData(FlagType.LIVING_POTION_AMBIENT, particles); setData(MetaIndex.LIVING_POTION_AMBIENT, particles);
sendData(FlagType.LIVING_POTION_AMBIENT); sendData(MetaIndex.LIVING_POTION_AMBIENT);
} }
private void sendPotionEffects() { private void sendPotionEffects() {
setData(FlagType.LIVING_POTIONS, getPotions()); setData(MetaIndex.LIVING_POTIONS, getPotions());
sendData(FlagType.LIVING_POTIONS); sendData(MetaIndex.LIVING_POTIONS);
} }
public void setHealth(float health) { public void setHealth(float health) {
setData(FlagType.LIVING_HEALTH, health); setData(MetaIndex.LIVING_HEALTH, health);
sendData(FlagType.LIVING_HEALTH); sendData(MetaIndex.LIVING_HEALTH);
} }
public int getArrowsSticking() { public int getArrowsSticking() {
return (int) getData(FlagType.LIVING_ARROWS); return (int) getData(MetaIndex.LIVING_ARROWS);
} }
public void setArrowsSticking(int arrowsNo) { public void setArrowsSticking(int arrowsNo) {
setData(FlagType.LIVING_ARROWS, arrowsNo); setData(MetaIndex.LIVING_ARROWS, arrowsNo);
sendData(FlagType.LIVING_ARROWS); sendData(MetaIndex.LIVING_ARROWS);
} }
public void setMaxHealth(double newHealth) { public void setMaxHealth(double newHealth) {

@ -4,7 +4,7 @@ import org.bukkit.entity.Llama;
import me.libraryaddict.disguise.disguisetypes.AnimalColor; import me.libraryaddict.disguise.disguisetypes.AnimalColor;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class LlamaWatcher extends ChestedHorseWatcher { public class LlamaWatcher extends ChestedHorseWatcher {
@ -13,30 +13,30 @@ public class LlamaWatcher extends ChestedHorseWatcher {
} }
public void setColor(Llama.Color color) { public void setColor(Llama.Color color) {
setData(FlagType.LLAMA_COLOR, color.ordinal()); setData(MetaIndex.LLAMA_COLOR, color.ordinal());
sendData(FlagType.LLAMA_COLOR); sendData(MetaIndex.LLAMA_COLOR);
} }
public Llama.Color getColor() { public Llama.Color getColor() {
return Llama.Color.values()[getData(FlagType.LLAMA_COLOR)]; return Llama.Color.values()[getData(MetaIndex.LLAMA_COLOR)];
} }
public void setCarpet(AnimalColor color) { public void setCarpet(AnimalColor color) {
setData(FlagType.LLAMA_CARPET, color.getId()); setData(MetaIndex.LLAMA_CARPET, color.getId());
sendData(FlagType.LLAMA_CARPET); sendData(MetaIndex.LLAMA_CARPET);
} }
public AnimalColor getCarpet() { public AnimalColor getCarpet() {
return AnimalColor.getColor(getData(FlagType.LLAMA_CARPET)); return AnimalColor.getColor(getData(MetaIndex.LLAMA_CARPET));
} }
public void setStrength(int strength) { public void setStrength(int strength) {
setData(FlagType.LLAMA_STRENGTH, strength); setData(MetaIndex.LLAMA_STRENGTH, strength);
sendData(FlagType.LLAMA_STRENGTH); sendData(MetaIndex.LLAMA_STRENGTH);
} }
public int getStrength() { public int getStrength() {
return getData(FlagType.LLAMA_STRENGTH); return getData(MetaIndex.LLAMA_STRENGTH);
} }
} }

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class MinecartWatcher extends FlagWatcher public class MinecartWatcher extends FlagWatcher
@ -16,20 +16,20 @@ public class MinecartWatcher extends FlagWatcher
public ItemStack getBlockInCart() public ItemStack getBlockInCart()
{ {
int id = (int) getData(FlagType.MINECART_BLOCK) & 0xffff; int id = (int) getData(MetaIndex.MINECART_BLOCK) & 0xffff;
int data = (int) getData(FlagType.MINECART_BLOCK) >> 16; int data = (int) getData(MetaIndex.MINECART_BLOCK) >> 16;
return new ItemStack(id, 1, (short) data); return new ItemStack(id, 1, (short) data);
} }
public int getBlockYOffset() public int getBlockYOffset()
{ {
return (int) getData(FlagType.MINECART_BLOCK_Y); return (int) getData(MetaIndex.MINECART_BLOCK_Y);
} }
public boolean isViewBlockInCart() public boolean isViewBlockInCart()
{ {
return (boolean) getData(FlagType.MINECART_BLOCK_VISIBLE); return (boolean) getData(MetaIndex.MINECART_BLOCK_VISIBLE);
} }
public void setBlockInCart(ItemStack item) public void setBlockInCart(ItemStack item)
@ -37,21 +37,21 @@ public class MinecartWatcher extends FlagWatcher
int id = item.getTypeId(); int id = item.getTypeId();
int data = item.getDurability(); int data = item.getDurability();
setData(FlagType.MINECART_BLOCK, id & 0xffff | data << 16); setData(MetaIndex.MINECART_BLOCK, id & 0xffff | data << 16);
setData(FlagType.MINECART_BLOCK_VISIBLE, true); // Show block setData(MetaIndex.MINECART_BLOCK_VISIBLE, true); // Show block
sendData(FlagType.MINECART_BLOCK); sendData(MetaIndex.MINECART_BLOCK);
} }
public void setBlockOffset(int i) public void setBlockOffset(int i)
{ {
setData(FlagType.MINECART_BLOCK_Y, i); setData(MetaIndex.MINECART_BLOCK_Y, i);
sendData(FlagType.MINECART_BLOCK_Y); sendData(MetaIndex.MINECART_BLOCK_Y);
} }
public void setViewBlockInCart(boolean viewBlock) public void setViewBlockInCart(boolean viewBlock)
{ {
setData(FlagType.MINECART_BLOCK_VISIBLE, viewBlock); setData(MetaIndex.MINECART_BLOCK_VISIBLE, viewBlock);
sendData(FlagType.MINECART_BLOCK_VISIBLE); sendData(MetaIndex.MINECART_BLOCK_VISIBLE);
} }
} }

@ -4,7 +4,7 @@ import org.bukkit.entity.Ocelot;
import org.bukkit.entity.Ocelot.Type; import org.bukkit.entity.Ocelot.Type;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class OcelotWatcher extends TameableWatcher public class OcelotWatcher extends TameableWatcher
{ {
@ -16,12 +16,12 @@ public class OcelotWatcher extends TameableWatcher
public Type getType() public Type getType()
{ {
return Ocelot.Type.getType(getData(FlagType.OCELOT_TYPE)); return Ocelot.Type.getType(getData(MetaIndex.OCELOT_TYPE));
} }
public void setType(Type newType) public void setType(Type newType)
{ {
setData(FlagType.OCELOT_TYPE, newType.getId()); setData(MetaIndex.OCELOT_TYPE, newType.getId());
sendData(FlagType.OCELOT_TYPE); sendData(MetaIndex.OCELOT_TYPE);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class PigWatcher extends AgeableWatcher { public class PigWatcher extends AgeableWatcher {
@ -10,12 +10,12 @@ public class PigWatcher extends AgeableWatcher {
} }
public boolean isSaddled() { public boolean isSaddled() {
return (boolean) getData(FlagType.PIG_SADDLED); return (boolean) getData(MetaIndex.PIG_SADDLED);
} }
public void setSaddled(boolean isSaddled) { public void setSaddled(boolean isSaddled) {
setData(FlagType.PIG_SADDLED, isSaddled); setData(MetaIndex.PIG_SADDLED, isSaddled);
sendData(FlagType.PIG_SADDLED); sendData(MetaIndex.PIG_SADDLED);
} }
/* public int getUnknown() { /* public int getUnknown() {

@ -13,7 +13,7 @@ import com.comphenix.protocol.wrappers.WrappedGameProfile;
import me.libraryaddict.disguise.DisguiseAPI; import me.libraryaddict.disguise.DisguiseAPI;
import me.libraryaddict.disguise.DisguiseConfig; import me.libraryaddict.disguise.DisguiseConfig;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.PlayerDisguise; import me.libraryaddict.disguise.disguisetypes.PlayerDisguise;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
@ -25,7 +25,7 @@ public class PlayerWatcher extends LivingWatcher {
public PlayerWatcher(Disguise disguise) { public PlayerWatcher(Disguise disguise) {
super(disguise); super(disguise);
setData(FlagType.PLAYER_SKIN, FlagType.PLAYER_SKIN.getDefault()); setData(MetaIndex.PLAYER_SKIN, MetaIndex.PLAYER_SKIN.getDefault());
} }
public boolean isDisplayedInTab() { public boolean isDisplayedInTab() {
@ -49,12 +49,12 @@ public class PlayerWatcher extends LivingWatcher {
} }
public void setMainHand(MainHand mainHand) { public void setMainHand(MainHand mainHand) {
setData(FlagType.PLAYER_HAND, (byte) mainHand.ordinal()); setData(MetaIndex.PLAYER_HAND, (byte) mainHand.ordinal());
sendData(FlagType.PLAYER_HAND); sendData(MetaIndex.PLAYER_HAND);
} }
public MainHand getMainHand() { public MainHand getMainHand() {
return MainHand.values()[getData(FlagType.PLAYER_HAND)]; return MainHand.values()[getData(MetaIndex.PLAYER_HAND)];
} }
public BlockFace getSleepingDirection() { public BlockFace getSleepingDirection() {
@ -79,7 +79,7 @@ public class PlayerWatcher extends LivingWatcher {
// Bit 6 (0x40): Hat enabled // Bit 6 (0x40): Hat enabled
private boolean isSkinFlag(int i) { private boolean isSkinFlag(int i) {
return ((byte) getData(FlagType.PLAYER_SKIN) & 1 << i) != 0; return ((byte) getData(MetaIndex.PLAYER_SKIN) & 1 << i) != 0;
} }
public boolean isCapeEnabled() { public boolean isCapeEnabled() {
@ -113,43 +113,43 @@ public class PlayerWatcher extends LivingWatcher {
public void setCapeEnabled(boolean enabled) { public void setCapeEnabled(boolean enabled) {
setSkinFlags(1, enabled); setSkinFlags(1, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public void setJacketEnabled(boolean enabled) { public void setJacketEnabled(boolean enabled) {
setSkinFlags(2, enabled); setSkinFlags(2, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public void setLeftSleeveEnabled(boolean enabled) { public void setLeftSleeveEnabled(boolean enabled) {
setSkinFlags(3, enabled); setSkinFlags(3, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public void setRightSleeveEnabled(boolean enabled) { public void setRightSleeveEnabled(boolean enabled) {
setSkinFlags(4, enabled); setSkinFlags(4, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public void setLeftPantsEnabled(boolean enabled) { public void setLeftPantsEnabled(boolean enabled) {
setSkinFlags(5, enabled); setSkinFlags(5, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public void setRightPantsEnabled(boolean enabled) { public void setRightPantsEnabled(boolean enabled) {
setSkinFlags(6, enabled); setSkinFlags(6, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public void setHatEnabled(boolean enabled) { public void setHatEnabled(boolean enabled) {
setSkinFlags(7, enabled); setSkinFlags(7, enabled);
sendData(FlagType.PLAYER_SKIN); sendData(MetaIndex.PLAYER_SKIN);
} }
public boolean isSleeping() { public boolean isSleeping() {
@ -228,13 +228,13 @@ public class PlayerWatcher extends LivingWatcher {
} }
private void setSkinFlags(int i, boolean flag) { private void setSkinFlags(int i, boolean flag) {
byte b0 = (byte) getData(FlagType.PLAYER_SKIN); byte b0 = (byte) getData(MetaIndex.PLAYER_SKIN);
if (flag) { if (flag) {
setData(FlagType.PLAYER_SKIN, (byte) (b0 | 1 << i)); setData(MetaIndex.PLAYER_SKIN, (byte) (b0 | 1 << i));
} }
else { else {
setData(FlagType.PLAYER_SKIN, (byte) (b0 & (~1 << i))); setData(MetaIndex.PLAYER_SKIN, (byte) (b0 & (~1 << i)));
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class PolarBearWatcher extends AgeableWatcher public class PolarBearWatcher extends AgeableWatcher
{ {
@ -12,12 +12,12 @@ public class PolarBearWatcher extends AgeableWatcher
public void setStanding(boolean standing) public void setStanding(boolean standing)
{ {
setData(FlagType.POLAR_BEAR_STANDING, standing); setData(MetaIndex.POLAR_BEAR_STANDING, standing);
sendData(FlagType.POLAR_BEAR_STANDING); sendData(MetaIndex.POLAR_BEAR_STANDING);
} }
public boolean isStanding() public boolean isStanding()
{ {
return getData(FlagType.POLAR_BEAR_STANDING); return getData(MetaIndex.POLAR_BEAR_STANDING);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.RabbitType; import me.libraryaddict.disguise.disguisetypes.RabbitType;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
@ -16,13 +16,13 @@ public class RabbitWatcher extends AgeableWatcher
public RabbitType getType() public RabbitType getType()
{ {
return RabbitType.getType((int) getData(FlagType.RABBIT_TYPE)); return RabbitType.getType((int) getData(MetaIndex.RABBIT_TYPE));
} }
public void setType(RabbitType type) public void setType(RabbitType type)
{ {
setData(FlagType.RABBIT_TYPE, type.getTypeId()); setData(MetaIndex.RABBIT_TYPE, type.getTypeId());
sendData(FlagType.RABBIT_TYPE); sendData(MetaIndex.RABBIT_TYPE);
} }
} }

@ -4,7 +4,7 @@ import org.bukkit.DyeColor;
import me.libraryaddict.disguise.disguisetypes.AnimalColor; import me.libraryaddict.disguise.disguisetypes.AnimalColor;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class SheepWatcher extends AgeableWatcher public class SheepWatcher extends AgeableWatcher
{ {
@ -13,17 +13,17 @@ public class SheepWatcher extends AgeableWatcher
{ {
super(disguise); super(disguise);
setData(FlagType.SHEEP_WOOL, (byte) 0); setData(MetaIndex.SHEEP_WOOL, (byte) 0);
} }
public AnimalColor getColor() public AnimalColor getColor()
{ {
return AnimalColor.getColor(((int) getData(FlagType.SHEEP_WOOL) & 15)); return AnimalColor.getColor(((int) getData(MetaIndex.SHEEP_WOOL) & 15));
} }
public boolean isSheared() public boolean isSheared()
{ {
return ((byte) getData(FlagType.SHEEP_WOOL) & 16) != 0; return ((byte) getData(MetaIndex.SHEEP_WOOL) & 16) != 0;
} }
public void setColor(AnimalColor color) public void setColor(AnimalColor color)
@ -33,25 +33,25 @@ public class SheepWatcher extends AgeableWatcher
public void setColor(DyeColor color) public void setColor(DyeColor color)
{ {
byte b0 = (byte) getData(FlagType.SHEEP_WOOL); byte b0 = (byte) getData(MetaIndex.SHEEP_WOOL);
setData(FlagType.SHEEP_WOOL, (byte) (b0 & 240 | color.getWoolData() & 15)); setData(MetaIndex.SHEEP_WOOL, (byte) (b0 & 240 | color.getWoolData() & 15));
sendData(FlagType.SHEEP_WOOL); sendData(MetaIndex.SHEEP_WOOL);
} }
public void setSheared(boolean flag) public void setSheared(boolean flag)
{ {
byte b0 = (byte) getData(FlagType.SHEEP_WOOL); byte b0 = (byte) getData(MetaIndex.SHEEP_WOOL);
if (flag) if (flag)
{ {
setData(FlagType.SHEEP_WOOL, (byte) (b0 | 16)); setData(MetaIndex.SHEEP_WOOL, (byte) (b0 | 16));
} }
else else
{ {
setData(FlagType.SHEEP_WOOL, (byte) (b0 & -17)); setData(MetaIndex.SHEEP_WOOL, (byte) (b0 & -17));
} }
sendData(FlagType.SHEEP_WOOL); sendData(MetaIndex.SHEEP_WOOL);
} }
} }

@ -8,7 +8,7 @@ import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.AnimalColor; import me.libraryaddict.disguise.disguisetypes.AnimalColor;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
/** /**
* @author Navid * @author Navid
@ -20,25 +20,25 @@ public class ShulkerWatcher extends InsentientWatcher {
} }
public BlockFace getFacingDirection() { public BlockFace getFacingDirection() {
return BlockFace.valueOf(getData(FlagType.SHULKER_FACING).name()); return BlockFace.valueOf(getData(MetaIndex.SHULKER_FACING).name());
} }
public void setFacingDirection(BlockFace face) { public void setFacingDirection(BlockFace face) {
setData(FlagType.SHULKER_FACING, Direction.valueOf(face.name())); setData(MetaIndex.SHULKER_FACING, Direction.valueOf(face.name()));
sendData(FlagType.SHULKER_FACING); sendData(MetaIndex.SHULKER_FACING);
} }
public BlockPosition getAttachmentPosition() { public BlockPosition getAttachmentPosition() {
return getData(FlagType.SHULKER_ATTACHED).get(); return getData(MetaIndex.SHULKER_ATTACHED).get();
} }
public void setAttachmentPosition(BlockPosition pos) { public void setAttachmentPosition(BlockPosition pos) {
setData(FlagType.SHULKER_ATTACHED, Optional.of(pos)); setData(MetaIndex.SHULKER_ATTACHED, Optional.of(pos));
sendData(FlagType.SHULKER_ATTACHED); sendData(MetaIndex.SHULKER_ATTACHED);
} }
public int getShieldHeight() { public int getShieldHeight() {
return getData(FlagType.SHULKER_PEEKING); return getData(MetaIndex.SHULKER_PEEKING);
} }
public void setShieldHeight(int newHeight) { public void setShieldHeight(int newHeight) {
@ -48,12 +48,12 @@ public class ShulkerWatcher extends InsentientWatcher {
if (newHeight > 127) if (newHeight > 127)
newHeight = 127; newHeight = 127;
setData(FlagType.SHULKER_PEEKING, (byte) newHeight); setData(MetaIndex.SHULKER_PEEKING, (byte) newHeight);
sendData(FlagType.SHULKER_PEEKING); sendData(MetaIndex.SHULKER_PEEKING);
} }
public void setColor(AnimalColor color) { public void setColor(AnimalColor color) {
setData(FlagType.SHULKER_COLOR, (byte) color.getId()); setData(MetaIndex.SHULKER_COLOR, (byte) color.getId());
sendData(FlagType.SHULKER_COLOR); sendData(MetaIndex.SHULKER_COLOR);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
/** /**
* @author Navid * @author Navid
@ -12,11 +12,11 @@ public class SkeletonWatcher extends InsentientWatcher {
} }
public void setSwingArms(boolean swingingArms) { public void setSwingArms(boolean swingingArms) {
setData(FlagType.SKELETON_SWING_ARMS, swingingArms); setData(MetaIndex.SKELETON_SWING_ARMS, swingingArms);
sendData(FlagType.SKELETON_SWING_ARMS); sendData(MetaIndex.SKELETON_SWING_ARMS);
} }
public boolean isSwingArms() { public boolean isSwingArms() {
return getData(FlagType.SKELETON_SWING_ARMS); return getData(MetaIndex.SKELETON_SWING_ARMS);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
public class SlimeWatcher extends InsentientWatcher public class SlimeWatcher extends InsentientWatcher
@ -15,7 +15,7 @@ public class SlimeWatcher extends InsentientWatcher
public int getSize() public int getSize()
{ {
return (int) getData(FlagType.SLIME_SIZE); return (int) getData(MetaIndex.SLIME_SIZE);
} }
public void setSize(int size) public void setSize(int size)
@ -25,8 +25,8 @@ public class SlimeWatcher extends InsentientWatcher
size = 1; size = 1;
} }
setData(FlagType.SLIME_SIZE, size); setData(MetaIndex.SLIME_SIZE, size);
sendData(FlagType.SLIME_SIZE); sendData(MetaIndex.SLIME_SIZE);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class SnowmanWatcher extends InsentientWatcher { public class SnowmanWatcher extends InsentientWatcher {
public SnowmanWatcher(Disguise disguise) { public SnowmanWatcher(Disguise disguise) {
@ -9,11 +9,11 @@ public class SnowmanWatcher extends InsentientWatcher {
} }
public void setDerp(boolean derp) { public void setDerp(boolean derp) {
setData(FlagType.SNOWMAN_DERP, (byte) (derp ? 0 : 16)); setData(MetaIndex.SNOWMAN_DERP, (byte) (derp ? 0 : 16));
sendData(FlagType.SNOWMAN_DERP); sendData(MetaIndex.SNOWMAN_DERP);
} }
public boolean isDerp() { public boolean isDerp() {
return getData(FlagType.SNOWMAN_DERP) == 0; return getData(MetaIndex.SNOWMAN_DERP) == 0;
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class SpiderWatcher extends InsentientWatcher public class SpiderWatcher extends InsentientWatcher
{ {
@ -12,12 +12,12 @@ public class SpiderWatcher extends InsentientWatcher
public void setClimbing(boolean climbing) public void setClimbing(boolean climbing)
{ {
setData(FlagType.SPIDER_CLIMB, (byte) (climbing ? 1 : 0)); setData(MetaIndex.SPIDER_CLIMB, (byte) (climbing ? 1 : 0));
sendData(FlagType.SPIDER_CLIMB); sendData(MetaIndex.SPIDER_CLIMB);
} }
public boolean isClimbing() public boolean isClimbing()
{ {
return getData(FlagType.SPIDER_CLIMB) == (byte) 1; return getData(MetaIndex.SPIDER_CLIMB) == (byte) 1;
} }
} }

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
@ -27,12 +27,12 @@ public class SplashPotionWatcher extends FlagWatcher {
} }
public void setSplashPotion(ItemStack item) { public void setSplashPotion(ItemStack item) {
setData(FlagType.SPLASH_POTION_ITEM, item); setData(MetaIndex.SPLASH_POTION_ITEM, item);
sendData(FlagType.SPLASH_POTION_ITEM); sendData(MetaIndex.SPLASH_POTION_ITEM);
} }
public ItemStack getSplashPotion() { public ItemStack getSplashPotion() {
return getData(FlagType.SPLASH_POTION_ITEM); return getData(MetaIndex.SPLASH_POTION_ITEM);
} }
public void setPotionId(int newPotionId) { public void setPotionId(int newPotionId) {

@ -5,7 +5,7 @@ import java.util.UUID;
import com.google.common.base.Optional; import com.google.common.base.Optional;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class TameableWatcher extends AgeableWatcher public class TameableWatcher extends AgeableWatcher
{ {
@ -16,7 +16,7 @@ public class TameableWatcher extends AgeableWatcher
public Optional<UUID> getOwner() public Optional<UUID> getOwner()
{ {
return getData(FlagType.TAMEABLE_OWNER); return getData(MetaIndex.TAMEABLE_OWNER);
} }
public boolean isSitting() public boolean isSitting()
@ -31,29 +31,29 @@ public class TameableWatcher extends AgeableWatcher
protected boolean isTameableFlag(int no) protected boolean isTameableFlag(int no)
{ {
return ((byte) getData(FlagType.TAMEABLE_META) & no) != 0; return ((byte) getData(MetaIndex.TAMEABLE_META) & no) != 0;
} }
protected void setTameableFlag(int no, boolean flag) protected void setTameableFlag(int no, boolean flag)
{ {
byte value = (byte) getData(FlagType.TAMEABLE_META); byte value = (byte) getData(MetaIndex.TAMEABLE_META);
if (flag) if (flag)
{ {
setData(FlagType.TAMEABLE_META, (byte) (value | no)); setData(MetaIndex.TAMEABLE_META, (byte) (value | no));
} }
else else
{ {
setData(FlagType.TAMEABLE_META, (byte) (value & -(no + 1))); setData(MetaIndex.TAMEABLE_META, (byte) (value & -(no + 1)));
} }
sendData(FlagType.TAMEABLE_META); sendData(MetaIndex.TAMEABLE_META);
} }
public void setOwner(UUID owner) public void setOwner(UUID owner)
{ {
setData(FlagType.TAMEABLE_OWNER, Optional.of(owner)); setData(MetaIndex.TAMEABLE_OWNER, Optional.of(owner));
sendData(FlagType.TAMEABLE_OWNER); sendData(MetaIndex.TAMEABLE_OWNER);
} }
public void setSitting(boolean sitting) public void setSitting(boolean sitting)

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.Color; import org.bukkit.Color;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
/** /**
@ -25,13 +25,13 @@ public class TippedArrowWatcher extends ArrowWatcher
public Color getColor() public Color getColor()
{ {
int color = (int) getData(FlagType.TIPPED_ARROW_COLOR); int color = (int) getData(MetaIndex.TIPPED_ARROW_COLOR);
return Color.fromRGB(color); return Color.fromRGB(color);
} }
public void setColor(Color color) public void setColor(Color color)
{ {
setData(FlagType.TIPPED_ARROW_COLOR, color.asRGB()); setData(MetaIndex.TIPPED_ARROW_COLOR, color.asRGB());
sendData(FlagType.TIPPED_ARROW_COLOR); sendData(MetaIndex.TIPPED_ARROW_COLOR);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class VexWatcher extends InsentientWatcher { public class VexWatcher extends InsentientWatcher {
@ -10,12 +10,12 @@ public class VexWatcher extends InsentientWatcher {
} }
public void setAngry(boolean angry) { public void setAngry(boolean angry) {
setData(FlagType.VEX_ANGRY, (byte) (angry ? 1 : 0)); setData(MetaIndex.VEX_ANGRY, (byte) (angry ? 1 : 0));
sendData(FlagType.VEX_ANGRY); sendData(MetaIndex.VEX_ANGRY);
} }
public boolean isAngry() { public boolean isAngry() {
return getData(FlagType.VEX_ANGRY) == 1; return getData(MetaIndex.VEX_ANGRY) == 1;
} }
} }

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.entity.Villager.Profession; import org.bukkit.entity.Villager.Profession;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
public class VillagerWatcher extends AgeableWatcher { public class VillagerWatcher extends AgeableWatcher {
@ -14,13 +14,13 @@ public class VillagerWatcher extends AgeableWatcher {
} }
public Profession getProfession() { public Profession getProfession() {
return Profession.values()[getData(FlagType.VILLAGER_PROFESSION)]; return Profession.values()[getData(MetaIndex.VILLAGER_PROFESSION)];
} }
@Deprecated @Deprecated
public void setProfession(int professionId) { public void setProfession(int professionId) {
setData(FlagType.VILLAGER_PROFESSION, professionId); setData(MetaIndex.VILLAGER_PROFESSION, professionId);
sendData(FlagType.VILLAGER_PROFESSION); sendData(MetaIndex.VILLAGER_PROFESSION);
} }
public void setProfession(Profession newProfession) { public void setProfession(Profession newProfession) {

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class VindicatorWatcher extends InsentientWatcher { public class VindicatorWatcher extends InsentientWatcher {
@ -10,8 +10,8 @@ public class VindicatorWatcher extends InsentientWatcher {
} }
public void setJohnny(boolean isJohnny) { public void setJohnny(boolean isJohnny) {
setData(FlagType.VINDICATOR_JOHNNY, (byte) (isJohnny ? 1 : 0)); setData(MetaIndex.VINDICATOR_JOHNNY, (byte) (isJohnny ? 1 : 0));
sendData(FlagType.VINDICATOR_JOHNNY); sendData(MetaIndex.VINDICATOR_JOHNNY);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
/** /**
* @author Navid * @author Navid
@ -16,13 +16,13 @@ public class WitchWatcher extends InsentientWatcher
public boolean isAggressive() public boolean isAggressive()
{ {
return (boolean) getData(FlagType.WITCH_AGGRESSIVE); return (boolean) getData(MetaIndex.WITCH_AGGRESSIVE);
} }
public void setAggressive(boolean aggressive) public void setAggressive(boolean aggressive)
{ {
setData(FlagType.WITCH_AGGRESSIVE, aggressive); setData(MetaIndex.WITCH_AGGRESSIVE, aggressive);
sendData(FlagType.WITCH_AGGRESSIVE); sendData(MetaIndex.WITCH_AGGRESSIVE);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
public class WitherSkullWatcher extends FlagWatcher public class WitherSkullWatcher extends FlagWatcher
@ -14,13 +14,13 @@ public class WitherSkullWatcher extends FlagWatcher
public boolean isBlue() public boolean isBlue()
{ {
return (boolean) getData(FlagType.WITHER_SKULL_BLUE); return (boolean) getData(MetaIndex.WITHER_SKULL_BLUE);
} }
public void setBlue(boolean blue) public void setBlue(boolean blue)
{ {
setData(FlagType.WITHER_SKULL_BLUE, blue); setData(MetaIndex.WITHER_SKULL_BLUE, blue);
sendData(FlagType.WITHER_SKULL_BLUE); sendData(MetaIndex.WITHER_SKULL_BLUE);
} }
} }

@ -5,7 +5,7 @@ import java.security.InvalidParameterException;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class WitherWatcher extends InsentientWatcher public class WitherWatcher extends InsentientWatcher
{ {
@ -22,14 +22,14 @@ public class WitherWatcher extends InsentientWatcher
*/ */
public int getInvulnerability() public int getInvulnerability()
{ {
return (int) getData(FlagType.WITHER_INVUL); return (int) getData(MetaIndex.WITHER_INVUL);
} }
public int[] getTargets() public int[] getTargets()
{ {
return new int[] return new int[]
{ {
getData(FlagType.WITHER_TARGET_1), getData(FlagType.WITHER_TARGET_2), getData(FlagType.WITHER_TARGET_3) getData(MetaIndex.WITHER_TARGET_1), getData(MetaIndex.WITHER_TARGET_2), getData(MetaIndex.WITHER_TARGET_3)
}; };
} }
@ -38,8 +38,8 @@ public class WitherWatcher extends InsentientWatcher
*/ */
public void setInvulnerability(int invulnerability) public void setInvulnerability(int invulnerability)
{ {
setData(FlagType.WITHER_INVUL, invulnerability); setData(MetaIndex.WITHER_INVUL, invulnerability);
sendData(FlagType.WITHER_INVUL); sendData(MetaIndex.WITHER_INVUL);
} }
public void setTargets(int... targets) public void setTargets(int... targets)
@ -49,10 +49,10 @@ public class WitherWatcher extends InsentientWatcher
throw new InvalidParameterException( throw new InvalidParameterException(
ChatColor.RED + "Expected 3 numbers for wither setTargets. Received " + targets.length); ChatColor.RED + "Expected 3 numbers for wither setTargets. Received " + targets.length);
} }
setData(FlagType.WITHER_TARGET_1, targets[0]); setData(MetaIndex.WITHER_TARGET_1, targets[0]);
setData(FlagType.WITHER_TARGET_2, targets[1]); setData(MetaIndex.WITHER_TARGET_2, targets[1]);
setData(FlagType.WITHER_TARGET_3, targets[2]); setData(MetaIndex.WITHER_TARGET_3, targets[2]);
sendData(FlagType.WITHER_TARGET_1, FlagType.WITHER_TARGET_2, FlagType.WITHER_TARGET_3); sendData(MetaIndex.WITHER_TARGET_1, MetaIndex.WITHER_TARGET_2, MetaIndex.WITHER_TARGET_3);
} }
} }

@ -4,7 +4,7 @@ import org.bukkit.DyeColor;
import me.libraryaddict.disguise.disguisetypes.AnimalColor; import me.libraryaddict.disguise.disguisetypes.AnimalColor;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class WolfWatcher extends TameableWatcher public class WolfWatcher extends TameableWatcher
{ {
@ -16,7 +16,7 @@ public class WolfWatcher extends TameableWatcher
public AnimalColor getCollarColor() public AnimalColor getCollarColor()
{ {
return AnimalColor.getColor(getData(FlagType.WOLF_COLLAR)); return AnimalColor.getColor(getData(MetaIndex.WOLF_COLLAR));
} }
/** /**
@ -26,7 +26,7 @@ public class WolfWatcher extends TameableWatcher
*/ */
public float getDamageTaken() public float getDamageTaken()
{ {
return (float) getData(FlagType.WOLF_DAMAGE); return (float) getData(MetaIndex.WOLF_DAMAGE);
} }
/** /**
@ -36,19 +36,19 @@ public class WolfWatcher extends TameableWatcher
*/ */
public void setDamageTaken(float damage) public void setDamageTaken(float damage)
{ {
setData(FlagType.WOLF_DAMAGE, damage); setData(MetaIndex.WOLF_DAMAGE, damage);
sendData(FlagType.WOLF_DAMAGE); sendData(MetaIndex.WOLF_DAMAGE);
} }
public boolean isBegging() public boolean isBegging()
{ {
return (boolean) getData(FlagType.WOLF_BEGGING); return (boolean) getData(MetaIndex.WOLF_BEGGING);
} }
public void setBegging(boolean begging) public void setBegging(boolean begging)
{ {
setData(FlagType.WOLF_BEGGING, begging); setData(MetaIndex.WOLF_BEGGING, begging);
sendData(FlagType.WOLF_BEGGING); sendData(MetaIndex.WOLF_BEGGING);
} }
public boolean isAngry() public boolean isAngry()
@ -78,8 +78,8 @@ public class WolfWatcher extends TameableWatcher
return; return;
} }
setData(FlagType.WOLF_COLLAR, (int) newColor.getDyeData()); setData(MetaIndex.WOLF_COLLAR, (int) newColor.getDyeData());
sendData(FlagType.WOLF_COLLAR); sendData(MetaIndex.WOLF_COLLAR);
} }
} }

@ -3,7 +3,7 @@ package me.libraryaddict.disguise.disguisetypes.watchers;
import org.bukkit.entity.Villager.Profession; import org.bukkit.entity.Villager.Profession;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class ZombieVillagerWatcher extends ZombieWatcher { public class ZombieVillagerWatcher extends ZombieWatcher {
@ -12,7 +12,7 @@ public class ZombieVillagerWatcher extends ZombieWatcher {
} }
public boolean isShaking() { public boolean isShaking() {
return getData(FlagType.ZOMBIE_VILLAGER_SHAKING); return getData(MetaIndex.ZOMBIE_VILLAGER_SHAKING);
} }
/** /**
@ -21,12 +21,12 @@ public class ZombieVillagerWatcher extends ZombieWatcher {
* @return * @return
*/ */
public boolean isVillager() { public boolean isVillager() {
return ((int) getData(FlagType.ZOMBIE_VILLAGER_PROFESSION)) != 0; return ((int) getData(MetaIndex.ZOMBIE_VILLAGER_PROFESSION)) != 0;
} }
public void setShaking(boolean shaking) { public void setShaking(boolean shaking) {
setData(FlagType.ZOMBIE_VILLAGER_SHAKING, shaking); setData(MetaIndex.ZOMBIE_VILLAGER_SHAKING, shaking);
sendData(FlagType.ZOMBIE_VILLAGER_SHAKING); sendData(MetaIndex.ZOMBIE_VILLAGER_SHAKING);
} }
/** /**
@ -35,7 +35,7 @@ public class ZombieVillagerWatcher extends ZombieWatcher {
* @return * @return
*/ */
public Profession getProfession() { public Profession getProfession() {
return Profession.values()[getData(FlagType.ZOMBIE_VILLAGER_PROFESSION)]; return Profession.values()[getData(MetaIndex.ZOMBIE_VILLAGER_PROFESSION)];
} }
/** /**
@ -45,8 +45,8 @@ public class ZombieVillagerWatcher extends ZombieWatcher {
*/ */
@Deprecated @Deprecated
public void setProfession(int id) { public void setProfession(int id) {
setData(FlagType.ZOMBIE_VILLAGER_PROFESSION, id); setData(MetaIndex.ZOMBIE_VILLAGER_PROFESSION, id);
sendData(FlagType.ZOMBIE_VILLAGER_PROFESSION); sendData(MetaIndex.ZOMBIE_VILLAGER_PROFESSION);
} }
/** /**
@ -55,8 +55,8 @@ public class ZombieVillagerWatcher extends ZombieWatcher {
* @param profession * @param profession
*/ */
public void setProfession(Profession profession) { public void setProfession(Profession profession) {
setData(FlagType.ZOMBIE_VILLAGER_PROFESSION, profession.ordinal()); setData(MetaIndex.ZOMBIE_VILLAGER_PROFESSION, profession.ordinal());
sendData(FlagType.ZOMBIE_VILLAGER_PROFESSION); sendData(MetaIndex.ZOMBIE_VILLAGER_PROFESSION);
} }
} }

@ -1,7 +1,7 @@
package me.libraryaddict.disguise.disguisetypes.watchers; package me.libraryaddict.disguise.disguisetypes.watchers;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
public class ZombieWatcher extends InsentientWatcher { public class ZombieWatcher extends InsentientWatcher {
@ -14,11 +14,11 @@ public class ZombieWatcher extends InsentientWatcher {
} }
public boolean isBaby() { public boolean isBaby() {
return getData(FlagType.ZOMBIE_BABY); return getData(MetaIndex.ZOMBIE_BABY);
} }
public boolean isAggressive() { public boolean isAggressive() {
return (boolean) getData(FlagType.ZOMBIE_AGGRESSIVE); return (boolean) getData(MetaIndex.ZOMBIE_AGGRESSIVE);
} }
public void setAdult() { public void setAdult() {
@ -30,13 +30,13 @@ public class ZombieWatcher extends InsentientWatcher {
} }
public void setBaby(boolean baby) { public void setBaby(boolean baby) {
setData(FlagType.ZOMBIE_BABY, baby); setData(MetaIndex.ZOMBIE_BABY, baby);
sendData(FlagType.ZOMBIE_BABY); sendData(MetaIndex.ZOMBIE_BABY);
} }
public void setAggressive(boolean handsup) { public void setAggressive(boolean handsup) {
setData(FlagType.ZOMBIE_AGGRESSIVE, handsup); setData(MetaIndex.ZOMBIE_AGGRESSIVE, handsup);
sendData(FlagType.ZOMBIE_AGGRESSIVE); sendData(MetaIndex.ZOMBIE_AGGRESSIVE);
} }
} }

@ -42,7 +42,7 @@ import me.libraryaddict.disguise.DisguiseConfig;
import me.libraryaddict.disguise.LibsDisguises; import me.libraryaddict.disguise.LibsDisguises;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.DisguiseType; import me.libraryaddict.disguise.disguisetypes.DisguiseType;
import me.libraryaddict.disguise.disguisetypes.FlagType; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher; import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
import me.libraryaddict.disguise.disguisetypes.MiscDisguise; import me.libraryaddict.disguise.disguisetypes.MiscDisguise;
import me.libraryaddict.disguise.disguisetypes.PlayerDisguise; import me.libraryaddict.disguise.disguisetypes.PlayerDisguise;
@ -361,7 +361,7 @@ public class PacketsManager {
spawnPlayer.getDataWatcherModifier().write(0, newWatcher); spawnPlayer.getDataWatcherModifier().write(0, newWatcher);
// Make him invisible // Make him invisible
newWatcher.setObject(new WrappedDataWatcherObject(FlagType.ENTITY_META.getIndex(), Registry.get(Byte.class)), newWatcher.setObject(new WrappedDataWatcherObject(MetaIndex.ENTITY_META.getIndex(), Registry.get(Byte.class)),
(byte) 32); (byte) 32);
packets.addPacket(spawnPlayer); packets.addPacket(spawnPlayer);