Fix null, fixed FlagWatchers, fixed typo on EquipmentSlot
This commit is contained in:
parent
dedc043558
commit
d98333f0f1
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user