Class PositionUtil

java.lang.Object
com.hypixel.hytale.server.core.util.PositionUtil

public class PositionUtil extends Object
Since:
8/4/18
Version:
1.0
  • Constructor Details

    • PositionUtil

      public PositionUtil()
  • Method Details

    • toTransformPacket

      @Nonnull public static Transform toTransformPacket(@Nonnull Transform transform)
    • toPositionPacket

      @Nonnull public static Position toPositionPacket(@Nonnull org.joml.Vector3d position)
      Converts a world-space position into its protocol Position form, replacing any non-finite component (NaN or positive/negative infinity) with 0.

      The protocol layer rejects non-finite floats while serializing, so sanitizing here keeps a degenerate coordinate from aborting the encode: the offending axis degrades to the origin instead of crashing the send.

      Parameters:
      position - the source position, which may contain non-finite components
      Returns:
      a Position whose components are guaranteed finite
    • toDirectionPacket

      @Nonnull public static Direction toDirectionPacket(@Nonnull Rotation3f rotation)
      Converts a rotation into its protocol Direction form, replacing any non-finite yaw, pitch, or roll (NaN or positive/negative infinity) with 0.

      The protocol layer rejects non-finite floats while serializing, so sanitizing here keeps a degenerate angle from aborting the encode: the offending axis degrades to 0 instead of crashing the send.

      Parameters:
      rotation - the source rotation, which may contain non-finite angles
      Returns:
      a Direction whose yaw, pitch, and roll are guaranteed finite
    • toTransform

      public static Transform toTransform(@Nullable Transform transform)
    • toVector3d

      @Nonnull public static org.joml.Vector3d toVector3d(@Nonnull Position position_)
    • toRotation

      @Nonnull public static Rotation3f toRotation(@Nonnull Direction orientation)
    • equals

      public static boolean equals(@Nonnull org.joml.Vector3d vector, @Nonnull Position position)
    • assign

      public static void assign(@Nonnull Position position, @Nonnull org.joml.Vector3d vector)
    • equals

      public static boolean equals(@Nonnull Rotation3fc vector, @Nonnull Direction direction)
    • assign

      public static void assign(@Nonnull Direction direction, @Nonnull Rotation3fc vector)
    • assign

      public static void assign(@Nonnull Position position, @Nonnull Position other)
    • assign

      public static void assign(@Nonnull Direction direction, @Nonnull Direction other)