diff --git a/src/main/java/me/libraryaddict/disguise/utilities/reflection/ReflectionManager.java b/src/main/java/me/libraryaddict/disguise/utilities/reflection/ReflectionManager.java index 33a173f0..f662bfcf 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/reflection/ReflectionManager.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/reflection/ReflectionManager.java @@ -30,6 +30,7 @@ import org.bukkit.plugin.SimplePluginManager; import org.bukkit.potion.PotionEffect; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scoreboard.Scoreboard; +import org.bukkit.util.EulerAngle; import org.bukkit.util.Vector; import java.io.*; @@ -1089,6 +1090,8 @@ public class ReflectionManager { return getNmsClass("IChatBaseComponent"); } else if (Vector3F.class.isAssignableFrom(cl)) { return getNmsClass("Vector3f"); + } else if (EulerAngle.class.isAssignableFrom(cl)) { + return getNmsClass("Vector3f"); } else if (Direction.class.isAssignableFrom(cl)) { return getNmsClass("EnumDirection"); } else if (WrappedParticle.class.isAssignableFrom(cl)) { @@ -1152,6 +1155,14 @@ public class ReflectionManager { } catch (Exception ex) { ex.printStackTrace(); } + } else if (value instanceof EulerAngle) { + EulerAngle angle = (EulerAngle) value; + + try { + return vector3FConstructor.newInstance((float) angle.getX(), (float) angle.getY(), (float) angle.getZ()); + } catch (Exception ex) { + ex.printStackTrace(); + } } else if (value instanceof Direction) { try { return enumDirectionFrom.invoke(null, ((Direction) value).ordinal());