Interface IGenderArmor

All Known Implementing Classes:
GenderArmor

public interface IGenderArmor
Interface supplying values to determine how an armor piece interacts with a wearer's breasts
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.mojang.serialization.Codec<IGenderArmor>
     
    static final IGenderArmor
    Default implementation used to represent armor types that lack any configuration
    static final IGenderArmor
    Default implementation used when the player isn't wearing a chestplate, or if the worn chestplate specifies that it doesn't cover the breasts.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Determines if this IGenderArmor should always hide the wearer's breasts when worn even if they have showBreastsInArmor set to true.
    default boolean
    Determines whether armor stands should copy the breast settings of the player equipping this chestplate onto it.
    default boolean
    Determines whether this IGenderArmor "covers" the breasts or if it has an open front (false) like the elytra.
    default float
    The percent of physical resistance this IGenderArmor provides to the wearer's breasts when calculating the corresponding physics.
    Overrides certain values when this armor piece is being rendered
    default float
    Value representing how "tight" this IGenderArmor is.
  • Field Details

    • DEFAULT

      static final IGenderArmor DEFAULT
      Default implementation used to represent armor types that lack any configuration
    • EMPTY

      static final IGenderArmor EMPTY
      Default implementation used when the player isn't wearing a chestplate, or if the worn chestplate specifies that it doesn't cover the breasts.
    • CODEC

      @Internal static final com.mojang.serialization.Codec<IGenderArmor> CODEC
  • Method Details

    • coversBreasts

      default boolean coversBreasts()

      Determines whether this IGenderArmor "covers" the breasts or if it has an open front (false) like the elytra.

      If this returns false the breast armor layer will not be rendered while this item is worn, as if the item simply didn't exist.

      Returns:
      true if this armor piece covers the wearer's breasts in any capacity.
      Implementation Note:
      Defaults to true.
    • alwaysHidesBreasts

      default boolean alwaysHidesBreasts()

      Determines if this IGenderArmor should always hide the wearer's breasts when worn even if they have showBreastsInArmor set to true.

      This is intended for armors that may have custom rendering that is not compatible with how breasts render and would just lead to clipping or other unintended behavior.

      Returns:
      true to always hide the breasts of players wearing this armor piece.
      Implementation Note:
      Defaults to false.
    • physicsResistance

      default float physicsResistance()
      The percent of physical resistance this IGenderArmor provides to the wearer's breasts when calculating the corresponding physics.
      Returns:
      Value between 0 (no resistance, full physics) and 1 (total resistance, no physics).
      Implementation Note:
      Defaults to 0.5f (50% physics resistance).
    • tightness

      default float tightness()
      Value representing how "tight" this IGenderArmor is. Tightness "compresses" the breasts against the wearer, causing the breasts to appear up to 15% smaller.
      Returns:
      Value between 0 (no tightness, no size reduction) and 1 (full tightness, 15% size reduction).
      Implementation Note:
      Defaults to 0 (no tightness, no size reduction).
    • armorStandsCopySettings

      default boolean armorStandsCopySettings()

      Determines whether armor stands should copy the breast settings of the player equipping this chestplate onto it.

      If this returns true, the equipping player's breast settings will also be rendered when this armor piece is equipped onto an armor stand.

      This is designed for armor types that are metallic in nature, and not armor types that would (realistically) be flexible enough to accommodate for the wearer's breasts on their own (such as Leather and Chain).

      Returns:
      true to copy the equipping player's breast settings onto this armor type when equipped onto armor stands, and render the relevant breast settings on the armor stand.
      See Also:
      Implementation Note:
      Defaults to returning true if this armor covers the breasts (and doesn't hide them), and has complete physics resistance.
    • texture

      default IBreastArmorTexture texture()
      Overrides certain values when this armor piece is being rendered
      Returns:
      The relevant IBreastArmorTexture
      See Also:
      Implementation Note:
      Defaults to IBreastArmorTexture.DEFAULT