Class ModelParticle

java.lang.Object
com.hypixel.hytale.protocol.ModelParticle

public class ModelParticle extends Object
  • Field Details

    • NULLABLE_BIT_FIELD_SIZE

      public static final int NULLABLE_BIT_FIELD_SIZE
      See Also:
    • FIXED_BLOCK_SIZE

      public static final int FIXED_BLOCK_SIZE
      See Also:
    • VARIABLE_FIELD_COUNT

      public static final int VARIABLE_FIELD_COUNT
      See Also:
    • VARIABLE_BLOCK_START

      public static final int VARIABLE_BLOCK_START
      See Also:
    • MAX_SIZE

      public static final int MAX_SIZE
      See Also:
    • systemId

      @Nullable public String systemId
    • scale

      public float scale
    • color

      @Nullable public Color color
    • targetEntityPart

      @Nonnull public EntityPart targetEntityPart
    • targetNodeName

      @Nullable public String targetNodeName
    • positionOffset

      @Nullable public org.joml.Vector3fc positionOffset
    • rotationOffset

      @Nullable public Direction rotationOffset
    • detachedFromModel

      public boolean detachedFromModel
    • clearParticlesOnRemove

      public boolean clearParticlesOnRemove
  • Constructor Details

    • ModelParticle

      public ModelParticle()
    • ModelParticle

      public ModelParticle(@Nullable String systemId, float scale, @Nullable Color color, @Nonnull EntityPart targetEntityPart, @Nullable String targetNodeName, @Nullable org.joml.Vector3fc positionOffset, @Nullable Direction rotationOffset, boolean detachedFromModel, boolean clearParticlesOnRemove)
    • ModelParticle

      public ModelParticle(@Nonnull ModelParticle other)
  • Method Details

    • requireBounds

      public static void requireBounds(MemorySegment mem, int offset)
      Checks that the fixed block fits. The per-field getters read without their own bound check, so call this once before reading fields out of an untrusted segment.
    • getSystemId

      @Nullable public static String getSystemId(MemorySegment mem)
    • getSystemId

      @Nullable public static String getSystemId(MemorySegment mem, int offset)
    • getScale

      public static float getScale(MemorySegment mem)
    • getScale

      public static float getScale(MemorySegment mem, int offset)
    • getColor

      @Nullable public static Color getColor(MemorySegment mem)
    • getColor

      @Nullable public static Color getColor(MemorySegment mem, int offset)
    • getTargetEntityPart

      public static EntityPart getTargetEntityPart(MemorySegment mem)
    • getTargetEntityPart

      public static EntityPart getTargetEntityPart(MemorySegment mem, int offset)
    • getTargetNodeName

      @Nullable public static String getTargetNodeName(MemorySegment mem)
    • getTargetNodeName

      @Nullable public static String getTargetNodeName(MemorySegment mem, int offset)
    • getPositionOffset

      @Nullable public static org.joml.Vector3fc getPositionOffset(MemorySegment mem)
    • getPositionOffset

      @Nullable public static org.joml.Vector3fc getPositionOffset(MemorySegment mem, int offset)
    • getRotationOffset

      @Nullable public static Direction getRotationOffset(MemorySegment mem)
    • getRotationOffset

      @Nullable public static Direction getRotationOffset(MemorySegment mem, int offset)
    • getDetachedFromModel

      public static boolean getDetachedFromModel(MemorySegment mem)
    • getDetachedFromModel

      public static boolean getDetachedFromModel(MemorySegment mem, int offset)
    • getClearParticlesOnRemove

      public static boolean getClearParticlesOnRemove(MemorySegment mem)
    • getClearParticlesOnRemove

      public static boolean getClearParticlesOnRemove(MemorySegment mem, int offset)
    • hasColor

      public static boolean hasColor(MemorySegment mem, int offset)
    • hasPositionOffset

      public static boolean hasPositionOffset(MemorySegment mem, int offset)
    • hasRotationOffset

      public static boolean hasRotationOffset(MemorySegment mem, int offset)
    • hasSystemId

      public static boolean hasSystemId(MemorySegment mem, int offset)
    • hasTargetNodeName

      public static boolean hasTargetNodeName(MemorySegment mem, int offset)
    • toObject

      public static ModelParticle toObject(MemorySegment mem)
    • toObject

      public static ModelParticle toObject(MemorySegment mem, int offset)
    • toObject

      public static ModelParticle toObject(MemorySegment mem, int offset, @Nullable ReadCursor cursor)
      Decodes one ModelParticle and reports the end of its encoding through the cursor. The variable block is decoded in field order against a running position, and each offset slot must name that position, so the fields decoded are the bytes walked.
    • serialize

      public int serialize(@Nonnull MemorySegment mem, int offset)
    • computeSize

      public int computeSize()
    • clone

      public ModelParticle clone()
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object