Fix null, fixed FlagWatchers, fixed typo on EquipmentSlot
This commit is contained in:
		| @@ -152,6 +152,9 @@ public class DisguiseListener implements Listener | ||||
|                 { | ||||
|                     for (TargetedDisguise disguise : list) | ||||
|                     { | ||||
|                         if (disguise.getEntity() == null) | ||||
|                             continue; | ||||
|  | ||||
|                         if (!disguise.isPlayerDisguise()) | ||||
|                             continue; | ||||
|  | ||||
|   | ||||
| @@ -53,7 +53,7 @@ public abstract class Disguise | ||||
|     private boolean keepDisguisePlayerLogout = DisguiseConfig.isKeepDisguiseOnPlayerLogout(); | ||||
|     private boolean modifyBoundingBox = DisguiseConfig.isModifyBoundingBox(); | ||||
|     private boolean replaceSounds = DisguiseConfig.isSoundEnabled(); | ||||
|     private BukkitTask task = null; | ||||
|     private BukkitTask task; | ||||
|     private Runnable velocityRunnable; | ||||
|     private boolean velocitySent = DisguiseConfig.isVelocitySent(); | ||||
|     private boolean viewSelfDisguise = DisguiseConfig.isViewDisguises(); | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import org.bukkit.Color; | ||||
| import org.bukkit.Material; | ||||
| import org.bukkit.block.BlockFace; | ||||
| import org.bukkit.inventory.ItemStack; | ||||
| import org.bukkit.util.Vector; | ||||
| import org.bukkit.util.EulerAngle; | ||||
|  | ||||
| import com.comphenix.protocol.wrappers.BlockPosition; | ||||
| import com.comphenix.protocol.wrappers.WrappedBlockData; | ||||
| @@ -79,19 +79,23 @@ public class FlagType<Y> | ||||
|  | ||||
|     public static FlagType<Float> AREA_EFFECT_RADIUS = new FlagType<Float>(AreaEffectCloudWatcher.class, 0, 0F); | ||||
|  | ||||
|     public static FlagType<Vector> ARMORSTAND_BODY = new FlagType<Vector>(ArmorStandWatcher.class, 2, new Vector()); | ||||
|     public static FlagType<EulerAngle> ARMORSTAND_BODY = new FlagType<EulerAngle>(ArmorStandWatcher.class, 2, | ||||
|             new EulerAngle(0, 0, 0)); | ||||
|  | ||||
|     public static FlagType<Vector> ARMORSTAND_HEAD = new FlagType<Vector>(ArmorStandWatcher.class, 1, new Vector()); | ||||
|     public static FlagType<EulerAngle> ARMORSTAND_HEAD = new FlagType<EulerAngle>(ArmorStandWatcher.class, 1, | ||||
|             new EulerAngle(0, 0, 0)); | ||||
|  | ||||
|     public static FlagType<Vector> ARMORSTAND_LEFT_ARM = new FlagType<Vector>(ArmorStandWatcher.class, 3, new Vector()); | ||||
|     public static FlagType<EulerAngle> ARMORSTAND_LEFT_ARM = new FlagType<EulerAngle>(ArmorStandWatcher.class, 3, | ||||
|             new EulerAngle(0, 0, 0)); | ||||
|  | ||||
|     public static FlagType<Vector> ARMORSTAND_LEFT_LEG = new FlagType<Vector>(ArmorStandWatcher.class, 5, new Vector()); | ||||
|     public static FlagType<EulerAngle> ARMORSTAND_LEFT_LEG = new FlagType<EulerAngle>(ArmorStandWatcher.class, 5, | ||||
|             new EulerAngle(0, 0, 0)); | ||||
|  | ||||
|     public static FlagType<Byte> ARMORSTAND_META = new FlagType<Byte>(ArmorStandWatcher.class, 0, (byte) 0); | ||||
|  | ||||
|     public static FlagType<Vector> ARMORSTAND_RIGHT_ARM = new FlagType<Vector>(ArmorStandWatcher.class, 4, new Vector()); | ||||
|     public static FlagType<EulerAngle> ARMORSTAND_RIGHT_ARM = new FlagType<EulerAngle>(ArmorStandWatcher.class, 4, new EulerAngle(0,0,0)); | ||||
|  | ||||
|     public static FlagType<Vector> ARMORSTAND_RIGHT_LEG = new FlagType<Vector>(ArmorStandWatcher.class, 6, new Vector()); | ||||
|     public static FlagType<EulerAngle> ARMORSTAND_RIGHT_LEG = new FlagType<EulerAngle>(ArmorStandWatcher.class, 6, new EulerAngle(0,0,0)); | ||||
|  | ||||
|     public static FlagType<Byte> ARROW_CRITICAL = new FlagType<Byte>(ArrowWatcher.class, 0, (byte) 0); | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| package me.libraryaddict.disguise.disguisetypes.watchers; | ||||
|  | ||||
| import org.bukkit.util.Vector; | ||||
|  | ||||
| import org.bukkit.util.EulerAngle; | ||||
| import me.libraryaddict.disguise.disguisetypes.Disguise; | ||||
| import me.libraryaddict.disguise.disguisetypes.FlagType; | ||||
|  | ||||
| @@ -17,40 +16,40 @@ public class ArmorStandWatcher extends LivingWatcher | ||||
|         return (getValue(FlagType.ARMORSTAND_META) & value) != 0; | ||||
|     } | ||||
|  | ||||
|     public Vector getBody() | ||||
|     public EulerAngle getBody() | ||||
|     { | ||||
|         return getPose(FlagType.ARMORSTAND_BODY); | ||||
|     } | ||||
|  | ||||
|     public Vector getHead() | ||||
|     public EulerAngle getHead() | ||||
|     { | ||||
|         return getPose(FlagType.ARMORSTAND_HEAD); | ||||
|     } | ||||
|  | ||||
|     public Vector getLeftArm() | ||||
|     public EulerAngle getLeftArm() | ||||
|     { | ||||
|         return getPose(FlagType.ARMORSTAND_LEFT_ARM); | ||||
|     } | ||||
|  | ||||
|     public Vector getLeftLeg() | ||||
|     public EulerAngle getLeftLeg() | ||||
|     { | ||||
|         return getPose(FlagType.ARMORSTAND_LEFT_LEG); | ||||
|     } | ||||
|  | ||||
|     private Vector getPose(FlagType<Vector> type) | ||||
|     private EulerAngle getPose(FlagType<EulerAngle> type) | ||||
|     { | ||||
|         if (!hasValue(type)) | ||||
|             setValue(type, new Vector()); | ||||
|             setValue(type, new EulerAngle(0, 0, 0)); | ||||
|  | ||||
|         return getValue(type); | ||||
|     } | ||||
|  | ||||
|     public Vector getRightArm() | ||||
|     public EulerAngle getRightArm() | ||||
|     { | ||||
|         return getPose(FlagType.ARMORSTAND_RIGHT_ARM); | ||||
|     } | ||||
|  | ||||
|     public Vector getRightLeg() | ||||
|     public EulerAngle getRightLeg() | ||||
|     { | ||||
|         return getPose(FlagType.ARMORSTAND_RIGHT_LEG); | ||||
|     } | ||||
| @@ -97,22 +96,22 @@ public class ArmorStandWatcher extends LivingWatcher | ||||
|         sendData(FlagType.ARMORSTAND_META); | ||||
|     } | ||||
|  | ||||
|     public void setBody(Vector vector) | ||||
|     public void setBody(EulerAngle vector) | ||||
|     { | ||||
|         setPose(FlagType.ARMORSTAND_BODY, vector); | ||||
|     } | ||||
|  | ||||
|     public void setHead(Vector vector) | ||||
|     public void setHead(EulerAngle vector) | ||||
|     { | ||||
|         setPose(FlagType.ARMORSTAND_HEAD, vector); | ||||
|     } | ||||
|  | ||||
|     public void setLeftArm(Vector vector) | ||||
|     public void setLeftArm(EulerAngle vector) | ||||
|     { | ||||
|         setPose(FlagType.ARMORSTAND_LEFT_ARM, vector); | ||||
|     } | ||||
|  | ||||
|     public void setLeftLeg(Vector vector) | ||||
|     public void setLeftLeg(EulerAngle vector) | ||||
|     { | ||||
|         setPose(FlagType.ARMORSTAND_LEFT_LEG, vector); | ||||
|     } | ||||
| @@ -135,18 +134,18 @@ public class ArmorStandWatcher extends LivingWatcher | ||||
|         sendData(FlagType.ARMORSTAND_META); | ||||
|     } | ||||
|  | ||||
|     private void setPose(FlagType type, Vector vector) | ||||
|     private void setPose(FlagType type, EulerAngle vector) | ||||
|     { | ||||
|         setValue(type, vector); | ||||
|         sendData(type); | ||||
|     } | ||||
|  | ||||
|     public void setRightArm(Vector vector) | ||||
|     public void setRightArm(EulerAngle vector) | ||||
|     { | ||||
|         setPose(FlagType.ARMORSTAND_RIGHT_ARM, vector); | ||||
|     } | ||||
|  | ||||
|     public void setRightLeg(Vector vector) | ||||
|     public void setRightLeg(EulerAngle vector) | ||||
|     { | ||||
|         setPose(FlagType.ARMORSTAND_RIGHT_LEG, vector); | ||||
|     } | ||||
|   | ||||
| @@ -606,6 +606,9 @@ public class DisguiseUtilities | ||||
|         if (mainThread != Thread.currentThread()) | ||||
|             throw new IllegalStateException("Cannot modify disguises on an async thread"); | ||||
|  | ||||
|         if (disguise.getEntity() == null) | ||||
|             throw new IllegalStateException("The entity for the disguisetype " + disguise.getType().name() + " is null!"); | ||||
|  | ||||
|         List<Player> players = new ArrayList<>(); | ||||
|  | ||||
|         try | ||||
|   | ||||
| @@ -831,7 +831,7 @@ public class ReflectionManager | ||||
|             case "CHEST": | ||||
|                 return EquipmentSlot.CHEST; | ||||
|             case "HEAD": | ||||
|                 return EquipmentSlot.HAND; | ||||
|                 return EquipmentSlot.HEAD; | ||||
|             } | ||||
|         } | ||||
|         catch (Exception e) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user