aboutsummaryrefslogtreecommitdiff
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/LorenzUtils.kt13
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/TimeUtils.kt32
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