KStarbound/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerDefinition.kt

78 lines
2.5 KiB
Kotlin

package ru.dbotthepony.kstarbound.defs.player
import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap
import com.google.common.collect.ImmutableSet
import com.google.gson.JsonObject
import ru.dbotthepony.kstarbound.defs.AssetReference
import ru.dbotthepony.kstarbound.defs.RegistryReference
import ru.dbotthepony.kstarbound.defs.Species
import ru.dbotthepony.kstarbound.util.SBPattern
import ru.dbotthepony.kstarbound.defs.animation.AnimationDefinition
import ru.dbotthepony.kstarbound.defs.item.IItemDefinition
import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory
import ru.dbotthepony.kvector.util2d.AABB
import ru.dbotthepony.kvector.vector.Color
import ru.dbotthepony.kvector.vector.ndouble.Vector2d
@JsonFactory
data class PlayerDefinition(
val defaultHumanoidIdentity: JsonObject,
val blueprintUnlock: SBPattern,
val blueprintAlreadyKnown: SBPattern,
val collectableUnlock: SBPattern,
val species: ImmutableSet<RegistryReference<Species>>,
val nametagColor: Color,
val ageItemsEvery: Int,
val defaultItems: ImmutableSet<RegistryReference<IItemDefinition>>,
val defaultBlueprints: BlueprintLearnList,
val defaultCodexes: ImmutableMap<String, ImmutableList<RegistryReference<IItemDefinition>>>,
val metaBoundBox: AABB,
val movementParameters: MovementParameters,
val zeroGMovementParameters: MovementParameters,
val statusControllerSettings: StatusControllerSettings,
val foodLowThreshold: Double,
val foodLowStatusEffects: ImmutableList<String> = ImmutableList.of(),
val foodEmptyStatusEffects: ImmutableList<String> = ImmutableList.of(),
val inCinematicStatusEffects: ImmutableList<String> = ImmutableList.of(),
val footstepTiming: Double,
val footstepSensor: Vector2d,
val vaporTrailTime: Double,
val terminalVelocityDifference: Double,
val initialBeamGunRadius: Double,
val previewGlowBorder: Double,
val objectPreviewInnerAlpha: Double,
val objectPreviewOuterAlpha: Double,
val beamGunConfig: MatterManipulatorConfig,
val underwaterSensor: Vector2d = Vector2d(0.0, 0.0),
val underwaterMinWaterLevel: Double,
val splashConfig: SplashConfig,
val effectsAnimator: AssetReference<AnimationDefinition>,
val teleportInTime: Double,
val teleportOutTime: Double,
val deployInTime: Double,
val deployOutTime: Double,
val teleportInStatusEffects: ImmutableList<String>,
val companionsConfig: CompanionsConfig,
val deploymentConfig: DeploymentConfig,
val genericScriptContexts: ImmutableMap<String, String>,
val inventory: InventoryConfig,
val inventoryFilters: ImmutableMap<String, InventoryFilterConfig>,
)