From d89685fe151eef60532be8fcc3aad4a8e8de427d Mon Sep 17 00:00:00 2001 From: Bixilon Date: Thu, 8 Jul 2021 21:50:17 +0200 Subject: [PATCH] pixlyzer-mbf: fix some velocity bugs --- .../data/registries/blocks/types/Block.kt | 7 ++++--- src/main/java/de/bixilon/minosoft/util/KUtil.kt | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt index d08137a20..2833bb86b 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/Block.kt @@ -32,6 +32,7 @@ import de.bixilon.minosoft.gui.rendering.input.camera.hit.RaycastHit import de.bixilon.minosoft.protocol.network.connection.PlayConnection import de.bixilon.minosoft.util.KUtil.mapCast import de.bixilon.minosoft.util.KUtil.nullCast +import de.bixilon.minosoft.util.KUtil.toDouble import de.bixilon.minosoft.util.KUtil.toInt import de.bixilon.minosoft.util.KUtil.unsafeCast import de.bixilon.minosoft.util.nbt.tag.NBTUtil.compoundCast @@ -57,9 +58,9 @@ open class Block( protected set val item: Item? = null open lateinit var properties: Map> - open val friction = data["friction"]?.nullCast() ?: 0.6 - open val velocityMultiplier = data["velocity_multiplier"]?.nullCast() ?: 1.0 // ToDo: They exist since ~1.15 - open val jumpVelocityMultiplier = data["jump_velocity_multiplier"]?.nullCast() ?: 1.0 + open val friction = data["friction"]?.toDouble() ?: 0.6 + open val velocityMultiplier = data["velocity_multiplier"]?.toDouble() ?: 1.0 // ToDo: They exist since ~1.15 + open val jumpVelocityMultiplier = data["jump_velocity_multiplier"]?.toDouble() ?: 1.0 init { this::item.inject(data["item"]) diff --git a/src/main/java/de/bixilon/minosoft/util/KUtil.kt b/src/main/java/de/bixilon/minosoft/util/KUtil.kt index 2f955fe5b..f07223545 100644 --- a/src/main/java/de/bixilon/minosoft/util/KUtil.kt +++ b/src/main/java/de/bixilon/minosoft/util/KUtil.kt @@ -277,4 +277,20 @@ object KUtil { else -> TODO() } } + + fun Any.toDouble(): Double { + return when (this) { + is Double -> this + is Number -> this.toDouble() + else -> TODO() + } + } + + fun Any.toFloat(): Float { + return when (this) { + is Float -> this + is Number -> this.toFloat() + else -> TODO() + } + } }