Shirt Model Properties - Floogen/FashionSense GitHub Wiki

Property Required Description Default
StartingPosition true Used to determine where the starting point is (top-left most pixel for the ShirtModel) N/A
BodyPosition true Where the player's body would be in relation to the shirts in shirt.png N/A
ShirtSize true Specifies how width and long the shirts sprite is in pixels N/A
Flipped false Flips the shirts sprite if true, which is useful for LeftShirt / RightShirt false
Scale false Determines how the shirt's size is scaled when drawn 4.0
DrawOrderOverride false Overrides the default draw order for this appearance.
See this page for more details.
false
HidePlayerBase false If true, hides the player's base sprite false
HideWhileSwimming false If true and the player is swimming, hides the shirt sprite true
HideWhileWearingBathingSuit false If true and the player is wearing a bathing suit, hides the shirt sprite true
HideWaterLine false If true and the player is swimming, hides water line sprite that appears while swimming false
HideSleeves false If true, hides the player's sleeves / arms false
SleeveColors false Accepts a list of up to three RGB colors, which will be used to color the player's sleeves.
If not given, the player will be sleeveless.
See this section for more details.
null
RequireAnimationToFinish false Prevents the movement animation from finishing early, even if the player has stopped moving false
DisableGrayscale false Disables the player's shirt color choice and uses the sprite's native color instead false
DisableSkinGrayscale false If true, prevents the shirt's SkinToneMasks from being affected by the player's color choice false
IsPrismatic false Causes the sprite to change colors, similar to the prismatic slime false
PrismaticAnimationSpeedMultiplier false Determines how quickly the prismatic colors change 1.0
ColorMasks false List of RGB colors to use as a color mask.
Any color given will be replaced by the player's color choice or by a prismatic color (if IsPrismatic is set to true).
See this page for more details.
null
ColorMaskLayers false List of color mask layers, which can be used to create multiple colorable sections.
Any color given will be replaced by the player's color choice, unless IgnoreUserColorChoice is set to true).
See this page for more details.
null
SkinToneMasks false Three RGB colors to use as a color mask for the player's skin.
The colors given will be replaced by the player's skin tone which consists of three shades (darkest, medium and lightest).
See this page for more details.
null
UniformAnimation false Animation to always play, regardless of player movement.
This is ignored if IdleAnimation or MovementAnimation are given.
See this page for more details.
null
IdleAnimation false Animation to play while the player is standing still.
See this page for more details.
null
MovementAnimation false Animation to play while the player is moving.
See this page for more details.
null
Tags false A list of keywords that can be searched against in the appearance search menu []

 

Custom Sleeve Recoloring

Sleeves can be recolored with the player's shirt color choice when the ColorMasks property contains matching colors from SleeveColors.

 

SleeveColors Property

The amount and order of the colors given with the SleeveColors property affect how the sleeves are recolored.

The first color given will replace the vanilla sleeve's darkest color, while the second replaces the medium color and the last will replace the lightest color.

If only one color is given, all three of the vanilla sleeve's colors (darkest, medium and lightest) will be replaced by the singular given color.

If only two colors are given, the darkest color will be replaced by the first color while the medium and lightest sleeve colors will be replaced by the second given color.

If no colors are given, the player will be sleeveless.

 

All Four Shirt Models Example

{
  "Name": "Mage's Robe",
  "FrontShirt": {
    "IsPrismatic": true,
    "PrismaticAnimationSpeedMultiplier": 2.0,
    "SleeveColors": [
      [ 9, 9, 10 ],
      [ 107, 84, 79 ],
      [ 198, 157, 131 ]
    ],
    "ColorMasks": [
      [ 93, 92, 83 ],
      [ 68, 68, 62 ]
    ],
    "StartingPosition": {
      "X": 1,
      "Y": 2
    },
    "BodyPosition": {
      "X": 3,
      "Y": 2
    },
    "ShirtSize": {
      "Width": 16,
      "Length": 14
    }
  },
  "RightShirt": {
    "IsPrismatic": true,
    "PrismaticAnimationSpeedMultiplier": 2.0,
    "SleeveColors": [
      [ 9, 9, 10 ],
      [ 107, 84, 79 ],
      [ 198, 157, 131 ]
    ],
    "ColorMasks": [
      [ 93, 92, 83 ],
      [ 68, 68, 62 ]
    ],
    "StartingPosition": {
      "X": 0,
      "Y": 16
    },
    "BodyPosition": {
      "X": 0,
      "Y": 0
    },
    "ShirtSize": {
      "Width": 8,
      "Length": 8
    }
  },
  "LeftShirt": {
    "Flipped": true,
    "IsPrismatic": true,
    "PrismaticAnimationSpeedMultiplier": 2.0,
    "SleeveColors": [
      [ 9, 9, 10 ],
      [ 107, 84, 79 ],
      [ 198, 157, 131 ]
    ],
    "ColorMasks": [
      [ 93, 92, 83 ],
      [ 68, 68, 62 ]
    ],
    "StartingPosition": {
      "X": 0,
      "Y": 16
    },
    "BodyPosition": {
      "X": 0,
      "Y": 0
    },
    "ShirtSize": {
      "Width": 8,
      "Length": 8
    }
  },
  "BackShirt": {
    "SleeveColors": [
      [ 9, 9, 10 ],
      [ 107, 84, 79 ],
      [ 198, 157, 131 ]
    ],
    "StartingPosition": {
      "X": 0,
      "Y": 24
    },
    "BodyPosition": {
      "X": 0,
      "Y": 0
    },
    "ShirtSize": {
      "Width": 8,
      "Length": 8
    }
  }
}
⚠️ **GitHub.com Fallback** ⚠️