Class ItemWeapon

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

public class ItemWeapon 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:
    • entityStatsToClear

      @Nullable public int[] entityStatsToClear
    • statModifiers

      @Nullable public Map<Integer, Modifier[]> statModifiers
    • renderDualWielded

      public boolean renderDualWielded
    • basicDamageBreakdown

      @Nullable public DamageData basicDamageBreakdown
    • ultimateDamageBreakdown

      @Nullable public DamageData ultimateDamageBreakdown
  • Constructor Details

    • ItemWeapon

      public ItemWeapon()
    • ItemWeapon

      public ItemWeapon(@Nullable int[] entityStatsToClear, @Nullable Map<Integer, Modifier[]> statModifiers, boolean renderDualWielded, @Nullable DamageData basicDamageBreakdown, @Nullable DamageData ultimateDamageBreakdown)
    • ItemWeapon

      public ItemWeapon(@Nonnull ItemWeapon 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.
    • getEntityStatsToClear

      @Nullable public static int[] getEntityStatsToClear(MemorySegment mem)
    • getEntityStatsToClear

      @Nullable public static int[] getEntityStatsToClear(MemorySegment mem, int offset)
    • getStatModifiers

      @Nullable public static Map<Integer, Modifier[]> getStatModifiers(MemorySegment mem)
    • getStatModifiers

      @Nullable public static Map<Integer, Modifier[]> getStatModifiers(MemorySegment mem, int offset)
    • getRenderDualWielded

      public static boolean getRenderDualWielded(MemorySegment mem)
    • getRenderDualWielded

      public static boolean getRenderDualWielded(MemorySegment mem, int offset)
    • getBasicDamageBreakdown

      @Nullable public static DamageData getBasicDamageBreakdown(MemorySegment mem)
    • getBasicDamageBreakdown

      @Nullable public static DamageData getBasicDamageBreakdown(MemorySegment mem, int offset)
    • getUltimateDamageBreakdown

      @Nullable public static DamageData getUltimateDamageBreakdown(MemorySegment mem)
    • getUltimateDamageBreakdown

      @Nullable public static DamageData getUltimateDamageBreakdown(MemorySegment mem, int offset)
    • hasEntityStatsToClear

      public static boolean hasEntityStatsToClear(MemorySegment mem, int offset)
    • hasStatModifiers

      public static boolean hasStatModifiers(MemorySegment mem, int offset)
    • hasBasicDamageBreakdown

      public static boolean hasBasicDamageBreakdown(MemorySegment mem, int offset)
    • hasUltimateDamageBreakdown

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

      public static ItemWeapon toObject(MemorySegment mem)
    • toObject

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

      public static ItemWeapon toObject(MemorySegment mem, int offset, @Nullable ReadCursor cursor)
      Decodes one ItemWeapon 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 ItemWeapon clone()
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object