Update species struct

This commit is contained in:
DBotThePony 2024-08-10 19:07:17 +07:00
parent 7346883f01
commit c3d1c8c636
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -1,8 +1,11 @@
package ru.dbotthepony.kstarbound.defs
package ru.dbotthepony.kstarbound.defs.actor
import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableSet
import ru.dbotthepony.kstarbound.Registry
import ru.dbotthepony.kstarbound.defs.AssetPath
import ru.dbotthepony.kstarbound.defs.ColorReplacements
import ru.dbotthepony.kstarbound.defs.StatusEffectDefinition
import ru.dbotthepony.kstarbound.defs.image.SpriteReference
import ru.dbotthepony.kstarbound.defs.actor.player.BlueprintLearnList
import ru.dbotthepony.kstarbound.defs.item.ItemDescriptor
@ -11,31 +14,36 @@ import ru.dbotthepony.kstarbound.json.builder.JsonFactory
@JsonFactory
data class Species(
val kind: String,
val charCreationTooltip: Tooltip,
val charCreationTooltip: Tooltip = Tooltip(),
val nameGen: ImmutableList<String>,
val ouchNoises: ImmutableList<String>,
val charGenTextLabels: ImmutableList<String>,
val skull: String,
val ouchNoises: ImmutableList<AssetPath>,
val charGenTextLabels: ImmutableList<String> = ImmutableList.of(),
val skull: AssetPath = AssetPath("/humanoid/any/dead.png"), // ваш свет угасает
val defaultBlueprints: BlueprintLearnList,
val headOptionAsHairColor: Boolean = false,
val headOptionAsFacialhair: Boolean = false,
val altOptionAsUndyColor: Boolean = false,
val altOptionAsHairColor: Boolean = false,
val bodyColorAsFacialMaskSubColor: Boolean = false,
val altOptionAsFacialMask: Boolean = false,
val hairColorAsBodySubColor: Boolean = false,
val bodyColorAsFacialMaskSubColor: Boolean = false,
val altColorAsFacialMaskSubColor: Boolean = false,
val bodyColor: ImmutableList<ColorReplacements>,
val undyColor: ImmutableList<ColorReplacements>,
val hairColor: ImmutableList<ColorReplacements>,
val genders: ImmutableList<Gender>,
val genders: ImmutableList<GenderSettings>,
val statusEffects: ImmutableSet<Registry.Ref<StatusEffectDefinition>> = ImmutableSet.of(),
) {
@JsonFactory
data class Tooltip(val title: String, val subTitle: String, val description: String)
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,
data class GenderSettings(
val name: String = "",
val image: SpriteReference = SpriteReference.NEVER,
val characterImage: SpriteReference = SpriteReference.NEVER,
val hairGroup: String? = null,
val hair: ImmutableSet<String>,
val shirt: ImmutableSet<ItemDescriptor>,