diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/GlobalDefaults.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/GlobalDefaults.kt index e2944da6..63fa650b 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/GlobalDefaults.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/GlobalDefaults.kt @@ -1,7 +1,7 @@ package ru.dbotthepony.kstarbound import org.apache.logging.log4j.LogManager -import ru.dbotthepony.kstarbound.defs.MovementParameters +import ru.dbotthepony.kstarbound.defs.player.PlayerMovementParameters import java.util.concurrent.ForkJoinPool import java.util.concurrent.ForkJoinTask import kotlin.reflect.KMutableProperty0 @@ -9,7 +9,7 @@ import kotlin.reflect.KMutableProperty0 object GlobalDefaults { private val LOGGER = LogManager.getLogger() - var defaultMovementParameters = MovementParameters() + var defaultMovementParameters = PlayerMovementParameters() private set private object EmptyTask : ForkJoinTask() { diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/monster/MonsterTypeDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/monster/MonsterTypeDefinition.kt index dda58afa..7429dba8 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/monster/MonsterTypeDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/monster/MonsterTypeDefinition.kt @@ -6,7 +6,7 @@ import com.google.common.collect.ImmutableSet import ru.dbotthepony.kstarbound.defs.AssetReference import ru.dbotthepony.kstarbound.defs.IScriptable import ru.dbotthepony.kstarbound.defs.IThingWithDescription -import ru.dbotthepony.kstarbound.defs.MovementParameters +import ru.dbotthepony.kstarbound.defs.player.PlayerMovementParameters import ru.dbotthepony.kstarbound.defs.RegistryReference import ru.dbotthepony.kstarbound.defs.animation.AnimationDefinition import ru.dbotthepony.kstarbound.defs.item.TreasurePoolDefinition @@ -29,7 +29,7 @@ data class MonsterTypeDefinition( ) : IThingWithDescription by desc { @JsonFactory data class BaseParameters( - val movementSettings: MovementParameters? = null, + val movementSettings: PlayerMovementParameters? = null, @JsonFlat val script: IScriptable, ) : IScriptable by script diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerDefinition.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerDefinition.kt index d3169b1b..9490f255 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerDefinition.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerDefinition.kt @@ -5,7 +5,6 @@ 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.MovementParameters import ru.dbotthepony.kstarbound.defs.RegistryReference import ru.dbotthepony.kstarbound.defs.Species import ru.dbotthepony.kstarbound.util.SBPattern @@ -32,8 +31,8 @@ data class PlayerDefinition( val defaultCodexes: ImmutableMap>>, val metaBoundBox: AABB, - val movementParameters: MovementParameters, - val zeroGMovementParameters: MovementParameters, + val movementParameters: PlayerMovementParameters, + val zeroGMovementParameters: PlayerMovementParameters, val statusControllerSettings: StatusControllerSettings, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/MovementModifiers.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerMovementModifiers.kt similarity index 85% rename from src/main/kotlin/ru/dbotthepony/kstarbound/defs/MovementModifiers.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerMovementModifiers.kt index 8fec7c49..b7b52deb 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/MovementModifiers.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerMovementModifiers.kt @@ -1,9 +1,9 @@ -package ru.dbotthepony.kstarbound.defs +package ru.dbotthepony.kstarbound.defs.player import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory @JsonFactory -class MovementModifiers( +class PlayerMovementModifiers( val groundMovementModifier: Double = 1.0, val liquidMovementModifier: Double = 1.0, val speedModifier: Double = 1.0, @@ -14,8 +14,8 @@ class MovementModifiers( val facingSuppressed: Boolean = false, val movementSuppressed: Boolean = false, ) { - fun combine(other: MovementModifiers): MovementModifiers { - return MovementModifiers( + fun combine(other: PlayerMovementModifiers): PlayerMovementModifiers { + return PlayerMovementModifiers( groundMovementModifier = groundMovementModifier * other.groundMovementModifier, liquidMovementModifier = liquidMovementModifier * other.liquidMovementModifier, speedModifier = speedModifier * other.speedModifier, diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/MovementParameters.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerMovementParameters.kt similarity index 96% rename from src/main/kotlin/ru/dbotthepony/kstarbound/defs/MovementParameters.kt rename to src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerMovementParameters.kt index b84faed9..b8eea93d 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/defs/MovementParameters.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/defs/player/PlayerMovementParameters.kt @@ -1,14 +1,15 @@ -package ru.dbotthepony.kstarbound.defs +package ru.dbotthepony.kstarbound.defs.player import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableSet +import ru.dbotthepony.kstarbound.defs.JumpProfile import ru.dbotthepony.kstarbound.io.json.builder.JsonAlias import ru.dbotthepony.kstarbound.io.json.builder.JsonFactory import ru.dbotthepony.kstarbound.util.KOptional import ru.dbotthepony.kvector.vector.Vector2d @JsonFactory -data class MovementParameters( +data class PlayerMovementParameters( val mass: KOptional = KOptional.empty(), val gravityMultiplier: KOptional = KOptional.empty(), val liquidBuoyancy: KOptional = KOptional.empty(), @@ -59,8 +60,8 @@ data class MovementParameters( val pathExploreRate: KOptional = KOptional.empty(), ) { - fun merge(other: MovementParameters): MovementParameters { - return MovementParameters( + fun merge(other: PlayerMovementParameters): PlayerMovementParameters { + return PlayerMovementParameters( mass = mass.or(other.mass), gravityMultiplier = gravityMultiplier.or(other.gravityMultiplier), liquidBuoyancy = liquidBuoyancy.or(other.liquidBuoyancy),