Class ImmersiveHitboxesInfo

java.lang.Object
com.hammy275.immersivemc.client.immersive.info.ImmersiveHitboxesInfo
All Implemented Interfaces:
ImmersiveInfo, PlayerAttachmentImmersiveInfo

public class ImmersiveHitboxesInfo extends Object implements PlayerAttachmentImmersiveInfo
  • Field Details

    • BAG_BACK_INDEX

      public static final int BAG_BACK_INDEX
      See Also:
    • hitboxes

      public final List<HitboxInfoImpl> hitboxes
    • canOpen

      public boolean canOpen
    • slotHovered

      public int slotHovered
    • tickCount

      public long tickCount
  • Constructor Details

    • ImmersiveHitboxesInfo

      public ImmersiveHitboxesInfo()
  • Method Details

    • getOwner

      public net.minecraft.client.player.AbstractClientPlayer getOwner()
      Description copied from interface: PlayerAttachmentImmersiveInfo
      Get the player who owns/controls this PlayerAttachmentImmersiveInfo.
      Specified by:
      getOwner in interface PlayerAttachmentImmersiveInfo
      Returns:
      The player as described.
    • getAllHitboxes

      public List<? extends HitboxInfo> getAllHitboxes()
      Specified by:
      getAllHitboxes in interface ImmersiveInfo
      Returns:
      The list of all hitboxes this Immersive uses. This can contain null elements, and can return an immutable list implementation if desired.
    • hasHitboxes

      public boolean hasHitboxes()
      Description copied from interface: ImmersiveInfo
      Whether this ImmersiveInfo contains valid hitboxes that are ready for use by users in-game. ImmersiveInfo.getAllHitboxes() will not be called if this method returns false for a given tick.
      Specified by:
      hasHitboxes in interface ImmersiveInfo
      Returns:
      Whether ImmersiveInfo.getAllHitboxes() can be safely called and contains expected data.
    • setSlotHovered

      public void setSlotHovered(int hitboxIndex, int handIndex)
      Description copied from interface: ImmersiveInfo
      A notification to mark the given slot as hovered by the given hand index.
      Specified by:
      setSlotHovered in interface ImmersiveInfo
      Parameters:
      hitboxIndex - The index into ImmersiveInfo.getAllHitboxes() to mark as hovered, or -1 to indicate no slot is hovered by this hand.
      handIndex - 0 for the primary hand (primary controller in VR or the player hand in non-VR), and 1 for the secondary hand (secondary controller in VR, or nothing in non-VR).
    • getSlotHovered

      public int getSlotHovered(int handIndex)
      Specified by:
      getSlotHovered in interface ImmersiveInfo
      Parameters:
      handIndex - The hand that is checking for a hovered hitbox.
      Returns:
      The hitbox the handIndex is hovering, or -1 if it isn't hovering any slot.
    • getTicksExisted

      public long getTicksExisted()
      Specified by:
      getTicksExisted in interface ImmersiveInfo
      Returns:
      The number of ticks this info has existed for.