summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LorenzVec.kt19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzVec.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzVec.kt
index 03f623f70..ad85619b1 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzVec.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzVec.kt
@@ -66,11 +66,18 @@ data class LorenzVec(
fun normalize() = length().let { LorenzVec(x / it, y / it, z / it) }
- fun printWithAccuracy(accuracy: Int): String {
- val x = (round(x * accuracy) / accuracy)
- val y = (round(y * accuracy) / accuracy)
- val z = (round(z * accuracy) / accuracy)
- return LorenzVec(x, y, z).toCleanString()
+ fun printWithAccuracy(accuracy: Int, splitChar: String = " "): String {
+ return if (accuracy == 0) {
+ val x = round(x).toInt()
+ val y = round(y).toInt()
+ val z = round(z).toInt()
+ "$x$splitChar$y$splitChar$z"
+ } else {
+ val x = (round(x * accuracy) / accuracy)
+ val y = (round(y * accuracy) / accuracy)
+ val z = (round(z * accuracy) / accuracy)
+ "$x$splitChar$y$splitChar$z"
+ }
}
private fun toCleanString(): String {
@@ -155,7 +162,7 @@ data class LorenzVec(
return LorenzVec(x, z, y)
}
- // only for migration purposes
+ // Format: "x:y:z"
fun decodeFromString(string: String): LorenzVec {
val (x, y, z) = string.split(":").map { it.toDouble() }
return LorenzVec(x, y, z)