package ru.dbotthepony.kstarbound.defs.actor.player

import com.google.common.collect.ImmutableList
import ru.dbotthepony.kommons.vector.Vector2d
import ru.dbotthepony.kstarbound.json.builder.JsonFactory

@JsonFactory
data class MatterManipulatorConfig(
	val image: String,
	val endImages: ImmutableList<String> = ImmutableList.of(),

	val handPosition: Vector2d,
	val firePosition: Vector2d,

	val segmentsPerUnit: Int,
	val nearControlPointElasticity: Double,
	val farControlPointElasticity: Double,
	val nearControlPointDistance: Double,
	val targetSegmentRun: Int,
	val innerBrightnessScale: Double,
	val firstStripeThickness: Double,
	val secondStripeThickness: Double,

	val minBeamWidth: Double,
	val maxBeamWidth: Double,
	val maxBeamJitter: Double,
	val minBeamJitter: Double,
	val minBeamTrans: Double,
	val maxBeamTrans: Double,
	val minBeamLines: Double,
	val maxBeamLines: Double,
)
