diff options
| author | Roman / Linnea Gräf <nea@nea.moe> | 2023-03-19 17:58:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-19 17:58:54 +0100 |
| commit | 86d6cc6bf29172fb13ed6aab2ca0676631336da9 (patch) | |
| tree | d5e0fc0aa6a556c44f497d818f36e674a0f2e317 /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | 4d3e68e8777ac174b938ad63c3367a20e99e06ac (diff) | |
| parent | 6913b635b9d20cc6736aef64bad9f5d517a2f644 (diff) | |
| download | SkyHanni-yaw_snapping.tar.gz SkyHanni-yaw_snapping.tar.bz2 SkyHanni-yaw_snapping.zip | |
Merge branch 'beta' into yaw_snappingyaw_snapping
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
3 files changed, 35 insertions, 13 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt index a650e1c19..b85250841 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt @@ -10,6 +10,7 @@ import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.SharedMonsterAttributes import net.minecraft.util.ChatComponentText import java.text.DecimalFormat +import java.text.NumberFormat import java.text.SimpleDateFormat object LorenzUtils { @@ -52,12 +53,13 @@ object LorenzUtils { } } + // TODO remove ig? fun warning(message: String) { internalChat("§cWarning! $message") } fun error(message: String) { - internalChat("§4$message") + internalChat("§c$message") } fun chat(message: String) { @@ -112,16 +114,15 @@ object LorenzUtils { fun formatPercentage(percentage: Double): String = formatPercentage(percentage, "0.00") fun formatPercentage(percentage: Double, format: String?): String = +// NumberFormat.getPercentInstance().format(percentage) DecimalFormat(format).format(percentage * 100).replace(',', '.') + "%" fun formatInteger(i: Int): String = formatInteger(i.toLong()) - fun formatInteger(l: Long): String = DecimalFormat("#,##0").format(l).replace(',', '.') + fun formatInteger(l: Long): String = NumberFormat.getIntegerInstance().format(l) - fun formatDouble(d: Double, format: String?): String = - DecimalFormat(format).format(d).replace(',', 'x').replace('.', ',').replace('x', '.') - - fun formatDouble(d: Double): String = formatDouble(d, "#,##0.0") + fun formatDouble(d: Double, round: Int = 1): String = + NumberFormat.getNumberInstance().format(d.round(round)) fun consoleLog(text: String) { SkyHanniMod.consoleLog(text) diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt index 742f81f38..62a8c2c61 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt @@ -430,7 +430,6 @@ object RenderUtils { fun Position.renderString(string: String?, extraOffsetX: Int = 0, offsetY: Int = 0, center: Boolean = true) { val minecraft = Minecraft.getMinecraft() - if (minecraft.gameSettings.keyBindPlayerList.isKeyDown) return if (string == null) return if (string == "") return @@ -457,7 +456,6 @@ object RenderUtils { } fun Position.renderStrings(list: List<String>, extraSpace: Int = 0, center: Boolean = false) { - if (Minecraft.getMinecraft().gameSettings.keyBindPlayerList.isKeyDown) return if (list.isEmpty()) return var offsetY = 0 @@ -472,7 +470,6 @@ object RenderUtils { * Each line is a list of things to print. Can print String or ItemStack objects. */ fun Position.renderStringsAndItems(list: List<List<Any?>>, extraSpace: Int = 0) { - if (Minecraft.getMinecraft().gameSettings.keyBindPlayerList.isKeyDown) return if (list.isEmpty()) return var offsetY = 0 diff --git a/src/main/java/at/hannibal2/skyhanni/utils/TimeUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/TimeUtils.kt index 82a8532a1..0e4561041 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/TimeUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/TimeUtils.kt @@ -11,7 +11,7 @@ object TimeUtils { millis: Long, biggestUnit: TimeUnit = TimeUnit.YEAR, showMilliSeconds: Boolean = false, - longName: Boolean = false + longName: Boolean = false, ): String { var milliseconds = millis + 999 val map = mutableMapOf<TimeUnit, Int>() @@ -50,9 +50,7 @@ object TimeUtils { fun getMillis(string: String): Long { val matcher = pattern.matcher(string.lowercase().trim()) - if (!matcher.matches()) { - throw RuntimeException("Matcher is null for '$string'") - } + if (!matcher.matches()) return tryAlternativeFormat(string) val years = matcher.group("y")?.toLong() ?: 0L val days = matcher.group("d")?.toLong() ?: 0L @@ -69,6 +67,32 @@ object TimeUtils { return millis } + + private fun tryAlternativeFormat(string: String): Long { + val split = string.split(":") + return when (split.size) { + 3 -> { + val hours = split[0].toInt() * 1000 * 60 * 60 + val minutes = split[1].toInt() * 1000 * 60 + val seconds = split[2].toInt() * 1000 + seconds + minutes + hours + } + + 2 -> { + val minutes = split[0].toInt() * 1000 * 60 + val seconds = split[1].toInt() * 1000 + seconds + minutes + } + + 1 -> { + split[0].toInt() * 1000 + } + + else -> { + throw RuntimeException("Invalid format: '$string'") + } + }.toLong() + } } private const val FACTOR_SECONDS = 1000L |
