Skip to main content

AssetGroupDefinition

Input interface for constructing AssetGroup objects.

Index

Interfaces

Appearance

Appearance:

An AssetGroupDefinition subtype for groups of the Appearance category.

optionalinheritedAllowColorize

AllowColorize?: boolean = <p>true</p> <p>Set to <code>true</code>, the target will be colorized when drawing. Set to <code>false</code>, the color will be used as part of the image file name.</p> <p>Mainly useful for inheriting the body color around.</p>

Whether that layer is colorized

optionalinheritedAllowCustomize

AllowCustomize?: boolean = true

Whether the group can be customized

Only applicable to Appearance groups.

This is how groups like the expression groups are hidden from it.

optionalinheritedAllowExpression

AllowExpression?: ExpressionName[]

Which expression the group allows to be set on it

optionalinheritedAllowNone

AllowNone?: boolean = true

Whether the group is allowed to have no asset

Used for body-related characteristics

optionalinheritedArousalZone

ArousalZone?: AssetGroupItemName

The group actually receiving arousal events

Used to proxy around a group that does not have activities enabled (and thus arousal settings.

optionalinheritedArousalZoneID

ArousalZoneID?: number

Asset

Asset: (string | Appearance)[]

The list of assets defined by the group

optionalinheritedBlink

Blink?: boolean

Whether the group has a blinking variant

Only used by eyes

optionalinheritedBlock

A list of group names the asset blocks access to

optionalinheritedBodyCosplay

BodyCosplay?: boolean = false

Is the asset considered body cosplay?

Any asset with that property set will be blocked from being removed if the character has Character.OnlineSharedSettings.BlockBodyCosplay set to true.

They will also be considered their own strip layer when making a character naked in the wardrobe.

optionalCategory

Category?: Appearance = “Appearance”

The type of the group

Item groups are the normal groups, and Appearance groups are only accessible in the wardrobe.

optionalinheritedClothing

Clothing?: boolean = false

Whether the group is considered clothing

This is used when stripping a character, as well as automatically blocking some groups if an asset is worn in those (like wearing a bra blocking nipples).

optionalinheritedColor

Color?: BCColor[]

A list of color codes

Those are used when generating random appearances or cycling colors in the wardrobe

optionalinheritedColorSuffix

ColorSuffix?: Partial<Record<BCColor | HEX_COLOR, BCColor>>

optionalinheritedDefault

Default?: boolean = true

Whether the group should have an asset selected at random at character creation

optionalinheritedDynamicGroupName

DynamicGroupName?: AssetGroupName

An alternate name for the group

If this is set, this will be used as the base group when generating layer file URLs. Useful if you have a case like ItemTorso/ItemTorso2 which shares all their layers.

optionalinheritedEditOpacity

EditOpacity?: boolean = false

Set to TRUE if all assets in that group should allow editing opacity, set value on asset level to override

optionalinheritedEffect

Effect?: EffectName[]

A list of effects wearing the asset causes on the character

optionalinheritedExpressionPrerequisite

ExpressionPrerequisite?: AssetPrerequisite[]

Group

The internal identifier for the group

optionalinheritedHasPreviewImages

HasPreviewImages?: boolean

optionalinheritedHide

A list of group names that get hidden when the asset is worn

optionalinheritedInheritColor

InheritColor?: AssetGroupName

The group the target should inherit its color from.

optionalinheritedInheritPoseMappingFields

InheritPoseMappingFields?: boolean = false

Let assets inherit the group's pose mapping on an individual pose by pose basis, rather than inheriting the pose mapping as a whole (i.e. all or nothing).

optionalIsRestraint

IsRestraint?: false = false

Is the asset considered a restraint?

Any asset with that property set will be removed when the character is released, and the safeword system will consider them as freeable.

optionalinheritedLeft

Left?: Definition

The left coordinate of the target draw rect or a record with pose-specific left coordinates.

@example
Left: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalinheritedMaxOpacity

MaxOpacity?: number = 1

The default maximum opacity for that group, set value on asset level to override

optionalinheritedMinOpacity

MinOpacity?: number = 1

The default minimum opacity for that group, set value on asset level to override

optionalinheritedMirrorActivitiesFrom

MirrorActivitiesFrom?: AssetGroupItemName

A group activities will be mirrored from

If set, activities from the given group will be shown as if they applied to the selected group.

optionalinheritedMirrorGroup

MirrorGroup?: AssetGroupName

If the group is empty, it'll automatically mirror an asset from the group specified

optionalinheritedParentColor

ParentColor?: AssetGroupName

A group that will be used to copy the color data from

optionalinheritedParentGroup

ParentGroup?: | Definition

A group identifier that will be used to inherit the body size.

Body sizes can be either be used for all poses (by passing a singular group) or on a pose-by-pose basis (via passing an object). In the latter case PoseType.DEFAULT can be used to override the default for all groups when used as key, or to disable inheritance when used as value.

A value of undefined means the parent group will be inherited. A value of "" will make it size-independent.

@example
// Inherit from the body sizes `BodyLower` by default, but do not inherit for the `AllFours` pose
ParentGroup: {
[PoseType.DEFAULT]: "BodyLower",
AllFours: PoseType.DEFAULT,
},

optionalinheritedParentSize

ParentSize?: AssetGroupName

A group that will be used to copy the size info from

optionalinheritedPoseMapping

PoseMapping?: Partial<Record<AssetPoseName, AssetPoseName | PoseType>>

A record mapping pose names to the actually to-be drawn poses. Special values can be specified, via use of PoseType, for either hiding the asset or using pose-agnostic assets.

Poses that are absent from the mapping (or whose value is set to PoseType.DEFAULT) will use the default pose-agnostic path.

optionalinheritedPreviewZone

PreviewZone?: RectTuple

A rect used when generating dynamic previews of the group

optionalinheritedPriority

Priority?: number

The drawing priority of the target

optionalinheritedRandom

Random?: boolean = true

Whether the asset can be selected for a random appearance.

optionalinheritedRemoveItemOnRemove

RemoveItemOnRemove?: { Group: AssetGroupItemName; Name: string; TypeRecord?: TypeRecord }[]

A list of assets that should also be removed if an asset in this group is removed

Used for things like auto-removing collar accessories if the collar is removed.

optionalinheritedSetPose

SetPose?: AssetPoseName[]

A pose that the character will change to when wearing the asset

optionalTime

Time?: never

optionalinheritedTop

The top coordinate of the target draw rect or a record with pose-specific top coordinates.

@example
Top: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalinheritedUnderwear

Underwear?: boolean = false

Whether the group is considered underwear

This is used when stripping a character.

optionalZone

Zone?: never

The clickable area(s) of the group

Only applicable for "Item" groups

Item

Item:

An AssetGroupDefinition subtype for groups of the Item category.

optionalinheritedAllowColorize

AllowColorize?: boolean = <p>true</p> <p>Set to <code>true</code>, the target will be colorized when drawing. Set to <code>false</code>, the color will be used as part of the image file name.</p> <p>Mainly useful for inheriting the body color around.</p>

Whether that layer is colorized

optionalAllowCustomize

AllowCustomize?: true = true

Whether the group can be customized

Only applicable to Appearance groups.

This is how groups like the expression groups are hidden from it.

optionalinheritedAllowExpression

AllowExpression?: ExpressionName[]

Which expression the group allows to be set on it

optionalAllowNone

AllowNone?: true = true

Whether the group is allowed to have no asset

Used for body-related characteristics

optionalinheritedArousalZone

ArousalZone?: AssetGroupItemName

The group actually receiving arousal events

Used to proxy around a group that does not have activities enabled (and thus arousal settings.

optionalinheritedArousalZoneID

ArousalZoneID?: number

Asset

Asset: (string | Item)[]

The list of assets defined by the group

optionalBlink

Blink?: false

Whether the group has a blinking variant

Only used by eyes

optionalinheritedBlock

A list of group names the asset blocks access to

optionalBodyCosplay

BodyCosplay?: false = false

Is the asset considered body cosplay?

Any asset with that property set will be blocked from being removed if the character has Character.OnlineSharedSettings.BlockBodyCosplay set to true.

They will also be considered their own strip layer when making a character naked in the wardrobe.

Category

Category: Item = “Appearance”

The type of the group

Item groups are the normal groups, and Appearance groups are only accessible in the wardrobe.

optionalClothing

Clothing?: false = false

Whether the group is considered clothing

This is used when stripping a character, as well as automatically blocking some groups if an asset is worn in those (like wearing a bra blocking nipples).

optionalinheritedColor

Color?: BCColor[]

A list of color codes

Those are used when generating random appearances or cycling colors in the wardrobe

optionalinheritedColorSuffix

ColorSuffix?: Partial<Record<BCColor | HEX_COLOR, BCColor>>

optionalDefault

Default?: false = true

Whether the group should have an asset selected at random at character creation

optionalinheritedDynamicGroupName

DynamicGroupName?: AssetGroupName

An alternate name for the group

If this is set, this will be used as the base group when generating layer file URLs. Useful if you have a case like ItemTorso/ItemTorso2 which shares all their layers.

optionalinheritedEditOpacity

EditOpacity?: boolean = false

Set to TRUE if all assets in that group should allow editing opacity, set value on asset level to override

optionalinheritedEffect

Effect?: EffectName[]

A list of effects wearing the asset causes on the character

optionalExpressionPrerequisite

ExpressionPrerequisite?: never

Group

The internal identifier for the group

optionalinheritedHasPreviewImages

HasPreviewImages?: boolean

optionalinheritedHide

A list of group names that get hidden when the asset is worn

optionalinheritedInheritColor

InheritColor?: AssetGroupName

The group the target should inherit its color from.

optionalinheritedInheritPoseMappingFields

InheritPoseMappingFields?: boolean = false

Let assets inherit the group's pose mapping on an individual pose by pose basis, rather than inheriting the pose mapping as a whole (i.e. all or nothing).

optionalinheritedIsRestraint

IsRestraint?: boolean = false

Is the asset considered a restraint?

Any asset with that property set will be removed when the character is released, and the safeword system will consider them as freeable.

optionalinheritedLeft

Left?: Definition

The left coordinate of the target draw rect or a record with pose-specific left coordinates.

@example
Left: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalinheritedMaxOpacity

MaxOpacity?: number = 1

The default maximum opacity for that group, set value on asset level to override

optionalinheritedMinOpacity

MinOpacity?: number = 1

The default minimum opacity for that group, set value on asset level to override

optionalinheritedMirrorActivitiesFrom

MirrorActivitiesFrom?: AssetGroupItemName

A group activities will be mirrored from

If set, activities from the given group will be shown as if they applied to the selected group.

optionalinheritedMirrorGroup

MirrorGroup?: AssetGroupName

If the group is empty, it'll automatically mirror an asset from the group specified

optionalinheritedParentColor

ParentColor?: AssetGroupName

A group that will be used to copy the color data from

optionalinheritedParentGroup

ParentGroup?: | Definition

A group identifier that will be used to inherit the body size.

Body sizes can be either be used for all poses (by passing a singular group) or on a pose-by-pose basis (via passing an object). In the latter case PoseType.DEFAULT can be used to override the default for all groups when used as key, or to disable inheritance when used as value.

A value of undefined means the parent group will be inherited. A value of "" will make it size-independent.

@example
// Inherit from the body sizes `BodyLower` by default, but do not inherit for the `AllFours` pose
ParentGroup: {
[PoseType.DEFAULT]: "BodyLower",
AllFours: PoseType.DEFAULT,
},

optionalinheritedParentSize

ParentSize?: AssetGroupName

A group that will be used to copy the size info from

optionalinheritedPoseMapping

PoseMapping?: Partial<Record<AssetPoseName, AssetPoseName | PoseType>>

A record mapping pose names to the actually to-be drawn poses. Special values can be specified, via use of PoseType, for either hiding the asset or using pose-agnostic assets.

Poses that are absent from the mapping (or whose value is set to PoseType.DEFAULT) will use the default pose-agnostic path.

optionalinheritedPreviewZone

PreviewZone?: RectTuple

A rect used when generating dynamic previews of the group

optionalinheritedPriority

Priority?: number

The drawing priority of the target

optionalinheritedRandom

Random?: boolean = true

Whether the asset can be selected for a random appearance.

optionalinheritedRemoveItemOnRemove

RemoveItemOnRemove?: { Group: AssetGroupItemName; Name: string; TypeRecord?: TypeRecord }[]

A list of assets that should also be removed if an asset in this group is removed

Used for things like auto-removing collar accessories if the collar is removed.

optionalinheritedSetPose

SetPose?: AssetPoseName[]

A pose that the character will change to when wearing the asset

optionalinheritedTop

The top coordinate of the target draw rect or a record with pose-specific top coordinates.

@example
Top: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalUnderwear

Underwear?: false = false

Whether the group is considered underwear

This is used when stripping a character.

optionalZone

Zone?: RectTuple[]

The clickable area(s) of the group

Only applicable for "Item" groups

Script

Script:

An AssetGroupDefinition subtype for groups of the Script category.

optionalinheritedAllowColorize

AllowColorize?: boolean = <p>true</p> <p>Set to <code>true</code>, the target will be colorized when drawing. Set to <code>false</code>, the color will be used as part of the image file name.</p> <p>Mainly useful for inheriting the body color around.</p>

Whether that layer is colorized

optionalinheritedAllowCustomize

AllowCustomize?: boolean = true

Whether the group can be customized

Only applicable to Appearance groups.

This is how groups like the expression groups are hidden from it.

optionalinheritedAllowExpression

AllowExpression?: ExpressionName[]

Which expression the group allows to be set on it

optionalinheritedAllowNone

AllowNone?: boolean = true

Whether the group is allowed to have no asset

Used for body-related characteristics

optionalinheritedArousalZone

ArousalZone?: AssetGroupItemName

The group actually receiving arousal events

Used to proxy around a group that does not have activities enabled (and thus arousal settings.

optionalinheritedArousalZoneID

ArousalZoneID?: number

Asset

Asset: (string | Script)[]

The list of assets defined by the group

optionalinheritedBlink

Blink?: boolean

Whether the group has a blinking variant

Only used by eyes

optionalinheritedBlock

A list of group names the asset blocks access to

optionalinheritedBodyCosplay

BodyCosplay?: boolean = false

Is the asset considered body cosplay?

Any asset with that property set will be blocked from being removed if the character has Character.OnlineSharedSettings.BlockBodyCosplay set to true.

They will also be considered their own strip layer when making a character naked in the wardrobe.

Category

Category: Script = “Appearance”

The type of the group

Item groups are the normal groups, and Appearance groups are only accessible in the wardrobe.

optionalinheritedClothing

Clothing?: boolean = false

Whether the group is considered clothing

This is used when stripping a character, as well as automatically blocking some groups if an asset is worn in those (like wearing a bra blocking nipples).

optionalinheritedColor

Color?: BCColor[]

A list of color codes

Those are used when generating random appearances or cycling colors in the wardrobe

optionalinheritedColorSuffix

ColorSuffix?: Partial<Record<BCColor | HEX_COLOR, BCColor>>

optionalinheritedDefault

Default?: boolean = true

Whether the group should have an asset selected at random at character creation

optionalinheritedDynamicGroupName

DynamicGroupName?: AssetGroupName

An alternate name for the group

If this is set, this will be used as the base group when generating layer file URLs. Useful if you have a case like ItemTorso/ItemTorso2 which shares all their layers.

optionalinheritedEditOpacity

EditOpacity?: boolean = false

Set to TRUE if all assets in that group should allow editing opacity, set value on asset level to override

optionalinheritedEffect

Effect?: EffectName[]

A list of effects wearing the asset causes on the character

optionalinheritedExpressionPrerequisite

ExpressionPrerequisite?: AssetPrerequisite[]

Group

Group: ItemScript

The internal identifier for the group

optionalinheritedHasPreviewImages

HasPreviewImages?: boolean

optionalinheritedHide

A list of group names that get hidden when the asset is worn

optionalinheritedInheritColor

InheritColor?: AssetGroupName

The group the target should inherit its color from.

optionalinheritedInheritPoseMappingFields

InheritPoseMappingFields?: boolean = false

Let assets inherit the group's pose mapping on an individual pose by pose basis, rather than inheriting the pose mapping as a whole (i.e. all or nothing).

optionalinheritedIsRestraint

IsRestraint?: boolean = false

Is the asset considered a restraint?

Any asset with that property set will be removed when the character is released, and the safeword system will consider them as freeable.

optionalinheritedLeft

Left?: Definition

The left coordinate of the target draw rect or a record with pose-specific left coordinates.

@example
Left: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalinheritedMaxOpacity

MaxOpacity?: number = 1

The default maximum opacity for that group, set value on asset level to override

optionalinheritedMinOpacity

MinOpacity?: number = 1

The default minimum opacity for that group, set value on asset level to override

optionalinheritedMirrorActivitiesFrom

MirrorActivitiesFrom?: AssetGroupItemName

A group activities will be mirrored from

If set, activities from the given group will be shown as if they applied to the selected group.

optionalinheritedMirrorGroup

MirrorGroup?: AssetGroupName

If the group is empty, it'll automatically mirror an asset from the group specified

optionalinheritedParentColor

ParentColor?: AssetGroupName

A group that will be used to copy the color data from

optionalinheritedParentGroup

ParentGroup?: | Definition

A group identifier that will be used to inherit the body size.

Body sizes can be either be used for all poses (by passing a singular group) or on a pose-by-pose basis (via passing an object). In the latter case PoseType.DEFAULT can be used to override the default for all groups when used as key, or to disable inheritance when used as value.

A value of undefined means the parent group will be inherited. A value of "" will make it size-independent.

@example
// Inherit from the body sizes `BodyLower` by default, but do not inherit for the `AllFours` pose
ParentGroup: {
[PoseType.DEFAULT]: "BodyLower",
AllFours: PoseType.DEFAULT,
},

optionalinheritedParentSize

ParentSize?: AssetGroupName

A group that will be used to copy the size info from

optionalinheritedPoseMapping

PoseMapping?: Partial<Record<AssetPoseName, AssetPoseName | PoseType>>

A record mapping pose names to the actually to-be drawn poses. Special values can be specified, via use of PoseType, for either hiding the asset or using pose-agnostic assets.

Poses that are absent from the mapping (or whose value is set to PoseType.DEFAULT) will use the default pose-agnostic path.

optionalinheritedPreviewZone

PreviewZone?: RectTuple

A rect used when generating dynamic previews of the group

optionalinheritedPriority

Priority?: number

The drawing priority of the target

optionalinheritedRandom

Random?: boolean = true

Whether the asset can be selected for a random appearance.

optionalinheritedRemoveItemOnRemove

RemoveItemOnRemove?: { Group: AssetGroupItemName; Name: string; TypeRecord?: TypeRecord }[]

A list of assets that should also be removed if an asset in this group is removed

Used for things like auto-removing collar accessories if the collar is removed.

optionalinheritedSetPose

SetPose?: AssetPoseName[]

A pose that the character will change to when wearing the asset

optionalinheritedTop

The top coordinate of the target draw rect or a record with pose-specific top coordinates.

@example
Top: {
[PoseType.Default]: 100,
Kneeling: 150,
},

optionalinheritedUnderwear

Underwear?: boolean = false

Whether the group is considered underwear

This is used when stripping a character.

optionalinheritedZone

Zone?: RectTuple[]

The clickable area(s) of the group

Only applicable for "Item" groups

Page Options