49 lines
1.8 KiB
Kotlin
49 lines
1.8 KiB
Kotlin
package ru.dbotthepony.kstarbound.defs
|
|
|
|
import com.google.common.collect.ImmutableList
|
|
import com.google.common.collect.ImmutableSet
|
|
import ru.dbotthepony.kstarbound.Registry
|
|
import ru.dbotthepony.kstarbound.defs.image.SpriteReference
|
|
import ru.dbotthepony.kstarbound.defs.item.api.IItemDefinition
|
|
import ru.dbotthepony.kstarbound.defs.player.BlueprintLearnList
|
|
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
|
|
|
|
@JsonFactory
|
|
data class Species(
|
|
val kind: String,
|
|
val charCreationTooltip: Tooltip,
|
|
val nameGen: ImmutableList<String>,
|
|
val ouchNoises: ImmutableList<String>,
|
|
val charGenTextLabels: ImmutableList<String>,
|
|
val skull: String,
|
|
val defaultBlueprints: BlueprintLearnList,
|
|
val headOptionAsFacialhair: Boolean = false,
|
|
val altOptionAsUndyColor: Boolean = false,
|
|
val altOptionAsHairColor: Boolean = false,
|
|
val bodyColorAsFacialMaskSubColor: Boolean = false,
|
|
val hairColorAsBodySubColor: Boolean = false,
|
|
val bodyColor: ImmutableList<ColorReplacements>,
|
|
val undyColor: ImmutableList<ColorReplacements>,
|
|
val hairColor: ImmutableList<ColorReplacements>,
|
|
val genders: ImmutableList<Gender>,
|
|
val statusEffects: ImmutableSet<Registry.Ref<StatusEffectDefinition>> = ImmutableSet.of(),
|
|
) {
|
|
@JsonFactory
|
|
data class Tooltip(val title: String, val subTitle: String, val description: String)
|
|
|
|
@JsonFactory
|
|
data class Gender(
|
|
val name: String,
|
|
val image: SpriteReference,
|
|
val characterImage: SpriteReference,
|
|
val hairGroup: String? = null,
|
|
val hair: ImmutableSet<String>,
|
|
val shirt: ImmutableSet<Registry.Ref<IItemDefinition>>,
|
|
val pants: ImmutableSet<Registry.Ref<IItemDefinition>>,
|
|
val facialHairGroup: String? = null,
|
|
val facialHair: ImmutableSet<String> = ImmutableSet.of(),
|
|
val facialMaskGroup: String? = null,
|
|
val facialMask: ImmutableList<String> = ImmutableList.of(),
|
|
)
|
|
}
|