diff --git a/gradle.properties b/gradle.properties
index e90fe5c87..3f15218a5 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -17,5 +17,5 @@ lwjgl.version=3.3.2
ikonli.version=12.3.1
netty.version=4.1.93.Final
jackson.version=2.14.3
-kutil.version=1.22.1
+kutil.version=1.23
glm.version=0.9.9.1-12
diff --git a/src/main/java/de/bixilon/minosoft/config/profile/GlobalProfileManager.kt b/src/main/java/de/bixilon/minosoft/config/profile/GlobalProfileManager.kt
index 48ca2d61c..e02a5ad1b 100644
--- a/src/main/java/de/bixilon/minosoft/config/profile/GlobalProfileManager.kt
+++ b/src/main/java/de/bixilon/minosoft/config/profile/GlobalProfileManager.kt
@@ -23,6 +23,7 @@ import de.bixilon.kutil.concurrent.schedule.TaskScheduler
import de.bixilon.kutil.file.FileUtil
import de.bixilon.kutil.file.FileUtil.read
import de.bixilon.kutil.latch.AbstractLatch
+import de.bixilon.kutil.latch.AbstractLatch.Companion.child
import de.bixilon.minosoft.config.profile.profiles.Profile
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
import de.bixilon.minosoft.config.profile.profiles.audio.AudioProfileManager
@@ -39,7 +40,6 @@ import de.bixilon.minosoft.config.profile.profiles.resources.ResourcesProfileMan
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.gui.eros.crash.ErosCrashReport.Companion.crash
import de.bixilon.minosoft.terminal.RunConfiguration
-import de.bixilon.minosoft.util.KUtil.child
import de.bixilon.minosoft.util.json.Jackson
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
diff --git a/src/main/java/de/bixilon/minosoft/data/accounts/types/microsoft/MicrosoftAccount.kt b/src/main/java/de/bixilon/minosoft/data/accounts/types/microsoft/MicrosoftAccount.kt
index 6838c20e6..2178fab58 100644
--- a/src/main/java/de/bixilon/minosoft/data/accounts/types/microsoft/MicrosoftAccount.kt
+++ b/src/main/java/de/bixilon/minosoft/data/accounts/types/microsoft/MicrosoftAccount.kt
@@ -18,6 +18,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
import de.bixilon.kutil.concurrent.lock.simple.SimpleLock
import de.bixilon.kutil.exception.Broken
import de.bixilon.kutil.latch.AbstractLatch
+import de.bixilon.kutil.latch.AbstractLatch.Companion.child
import de.bixilon.kutil.time.TimeUtil.millis
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
import de.bixilon.minosoft.data.accounts.Account
@@ -25,7 +26,6 @@ import de.bixilon.minosoft.data.accounts.AccountStates
import de.bixilon.minosoft.data.entities.entities.player.properties.PlayerProperties
import de.bixilon.minosoft.data.registries.identified.Identified
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
-import de.bixilon.minosoft.util.KUtil.child
import de.bixilon.minosoft.util.KUtil.toResourceLocation
import de.bixilon.minosoft.util.account.AccountUtil
import de.bixilon.minosoft.util.account.microsoft.MicrosoftOAuthUtils
diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/player/properties/textures/PlayerTexture.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/player/properties/textures/PlayerTexture.kt
index c63c6e382..67ddb2d78 100644
--- a/src/main/java/de/bixilon/minosoft/data/entities/entities/player/properties/textures/PlayerTexture.kt
+++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/player/properties/textures/PlayerTexture.kt
@@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.entities.entities.player.properties.textures
import com.fasterxml.jackson.annotation.JsonIgnore
import de.bixilon.kutil.hex.HexUtil.isHexString
+import de.bixilon.kutil.string.StringUtil.fill
import de.bixilon.kutil.url.URLUtil.checkWeb
import de.bixilon.minosoft.assets.util.FileAssetsTypes
import de.bixilon.minosoft.assets.util.FileAssetsUtil
import de.bixilon.minosoft.assets.util.HashTypes
-import de.bixilon.minosoft.util.KUtil.fill
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/PropertyBlockState.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/PropertyBlockState.kt
index 058a28ad0..3c4c72e29 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/PropertyBlockState.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/PropertyBlockState.kt
@@ -14,6 +14,7 @@
package de.bixilon.minosoft.data.registries.blocks.state
import com.google.common.base.Objects
+import de.bixilon.kutil.array.ArrayUtil.next
import de.bixilon.kutil.cast.CastUtil.unsafeCast
import de.bixilon.minosoft.data.registries.blocks.properties.BlockProperties
import de.bixilon.minosoft.data.registries.blocks.state.builder.BlockStateSettings
@@ -21,7 +22,6 @@ import de.bixilon.minosoft.data.registries.blocks.state.manager.PropertyStateMan
import de.bixilon.minosoft.data.registries.blocks.types.Block
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.BaseComponent
-import de.bixilon.minosoft.util.KUtil.next
open class PropertyBlockState(
block: Block,
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/manager/SimpleStateManager.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/manager/SimpleStateManager.kt
index 9ad0f0e6d..2cddc99fb 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/manager/SimpleStateManager.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/state/manager/SimpleStateManager.kt
@@ -13,8 +13,8 @@
package de.bixilon.minosoft.data.registries.blocks.state.manager
+import de.bixilon.kutil.collections.iterator.SingleIterator
import de.bixilon.minosoft.data.registries.blocks.state.BlockState
-import de.bixilon.minosoft.util.SingleIterator
class SimpleStateManager(
override val default: BlockState,
diff --git a/src/main/java/de/bixilon/minosoft/data/text/formatting/ANSI.kt b/src/main/java/de/bixilon/minosoft/data/text/formatting/ANSI.kt
deleted file mode 100644
index 329679606..000000000
--- a/src/main/java/de/bixilon/minosoft/data/text/formatting/ANSI.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Minosoft
- * Copyright (C) 2020-2023 Moritz Zwerger
- *
- * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with this program. If not, see .
- *
- * This software is not affiliated with Mojang AB, the original developer of Minecraft.
- */
-
-package de.bixilon.minosoft.data.text.formatting
-
-@Deprecated("Kutil 1.23")
-object ANSI {
- const val ESCAPE = "\u001b["
-
- fun escape(text: String): String {
- return ESCAPE + text + "m"
- }
-
- fun formatting(code: Int): String = escape(code.toString())
-
- fun rgb(red: Int, green: Int, blue: Int): String = escape("38;2;$red;$green;${blue}")
-}
diff --git a/src/main/java/de/bixilon/minosoft/data/text/formatting/FormattingCodes.kt b/src/main/java/de/bixilon/minosoft/data/text/formatting/FormattingCodes.kt
index a592d7f52..dfdfa4184 100644
--- a/src/main/java/de/bixilon/minosoft/data/text/formatting/FormattingCodes.kt
+++ b/src/main/java/de/bixilon/minosoft/data/text/formatting/FormattingCodes.kt
@@ -12,9 +12,9 @@
*/
package de.bixilon.minosoft.data.text.formatting
+import de.bixilon.kutil.ansi.ANSI.formatting
import de.bixilon.kutil.enums.EnumUtil
import de.bixilon.kutil.enums.ValuesEnum
-import de.bixilon.minosoft.data.text.formatting.ANSI.formatting
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap
enum class FormattingCodes(
diff --git a/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt b/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt
index daa8a198e..b3f4e74a8 100644
--- a/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt
+++ b/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt
@@ -15,9 +15,9 @@ package de.bixilon.minosoft.data.text.formatting.color
import de.bixilon.kotlinglm.func.common.clamp
import de.bixilon.kotlinglm.vec3.Vec3
import de.bixilon.kotlinglm.vec4.Vec4
+import de.bixilon.kutil.ansi.ANSI
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.data.text.TextComponent
-import de.bixilon.minosoft.data.text.formatting.ANSI
import de.bixilon.minosoft.data.text.formatting.TextFormattable
import org.checkerframework.common.value.qual.IntRange
diff --git a/src/main/java/de/bixilon/minosoft/data/world/container/SectionDataProvider.kt b/src/main/java/de/bixilon/minosoft/data/world/container/SectionDataProvider.kt
index 7568825fe..0eda72fc5 100644
--- a/src/main/java/de/bixilon/minosoft/data/world/container/SectionDataProvider.kt
+++ b/src/main/java/de/bixilon/minosoft/data/world/container/SectionDataProvider.kt
@@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.world.container
import de.bixilon.kotlinglm.vec3.Vec3i
import de.bixilon.kutil.cast.CastUtil.unsafeCast
-import de.bixilon.kutil.collections.EmptyIterator
+import de.bixilon.kutil.collections.iterator.EmptyIterator
import de.bixilon.kutil.concurrent.lock.simple.SimpleLock
import de.bixilon.minosoft.data.world.chunk.ChunkSection
import de.bixilon.minosoft.gui.rendering.util.vec.vec3.Vec3iUtil.EMPTY
diff --git a/src/main/java/de/bixilon/minosoft/modding/loader/ModLoader.kt b/src/main/java/de/bixilon/minosoft/modding/loader/ModLoader.kt
index 19c882b68..d293bdf3f 100644
--- a/src/main/java/de/bixilon/minosoft/modding/loader/ModLoader.kt
+++ b/src/main/java/de/bixilon/minosoft/modding/loader/ModLoader.kt
@@ -16,6 +16,7 @@ package de.bixilon.minosoft.modding.loader
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
import de.bixilon.kutil.concurrent.worker.unconditional.UnconditionalWorker
import de.bixilon.kutil.latch.AbstractLatch
+import de.bixilon.kutil.latch.AbstractLatch.Companion.child
import de.bixilon.kutil.latch.ParentLatch
import de.bixilon.kutil.observer.DataObserver.Companion.observed
import de.bixilon.minosoft.modding.loader.error.*
@@ -24,7 +25,6 @@ import de.bixilon.minosoft.modding.loader.mod.ModMain
import de.bixilon.minosoft.modding.loader.mod.logger.ModLogger
import de.bixilon.minosoft.modding.loader.mod.source.ModSource
import de.bixilon.minosoft.terminal.RunConfiguration
-import de.bixilon.minosoft.util.KUtil.child
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType
diff --git a/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/PlayConnection.kt b/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/PlayConnection.kt
index 92d5d5561..e60189d1a 100644
--- a/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/PlayConnection.kt
+++ b/src/main/java/de/bixilon/minosoft/protocol/network/connection/play/PlayConnection.kt
@@ -19,6 +19,7 @@ import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedSet
import de.bixilon.kutil.concurrent.worker.task.TaskWorker
import de.bixilon.kutil.concurrent.worker.task.WorkerTask
import de.bixilon.kutil.latch.AbstractLatch
+import de.bixilon.kutil.latch.AbstractLatch.Companion.child
import de.bixilon.kutil.observer.DataObserver.Companion.observe
import de.bixilon.kutil.observer.DataObserver.Companion.observed
import de.bixilon.kutil.reflection.ReflectionUtil.forceSet
@@ -65,7 +66,6 @@ import de.bixilon.minosoft.tags.TagManager
import de.bixilon.minosoft.terminal.RunConfiguration
import de.bixilon.minosoft.terminal.cli.CLI
import de.bixilon.minosoft.util.KUtil
-import de.bixilon.minosoft.util.KUtil.child
import de.bixilon.minosoft.util.KUtil.startInit
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/LANServerListener.kt b/src/main/java/de/bixilon/minosoft/protocol/protocol/LANServerListener.kt
index 762eb3f07..70f7a152f 100644
--- a/src/main/java/de/bixilon/minosoft/protocol/protocol/LANServerListener.kt
+++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/LANServerListener.kt
@@ -14,6 +14,7 @@ package de.bixilon.minosoft.protocol.protocol
import com.google.common.collect.HashBiMap
import de.bixilon.kutil.latch.AbstractLatch
+import de.bixilon.kutil.latch.AbstractLatch.Companion.child
import de.bixilon.kutil.observer.DataObserver.Companion.observe
import de.bixilon.kutil.string.StringUtil.getBetween
import de.bixilon.minosoft.config.profile.profiles.eros.server.entries.AbstractServer
@@ -22,7 +23,6 @@ import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager
import de.bixilon.minosoft.data.text.BaseComponent
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.gui.eros.main.play.server.type.types.LANServerType
-import de.bixilon.minosoft.util.KUtil.child
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType
diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/buffers/InByteBuffer.kt b/src/main/java/de/bixilon/minosoft/protocol/protocol/buffers/InByteBuffer.kt
index 301bb044e..de31354b8 100644
--- a/src/main/java/de/bixilon/minosoft/protocol/protocol/buffers/InByteBuffer.kt
+++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/buffers/InByteBuffer.kt
@@ -191,25 +191,4 @@ open class InByteBuffer : de.bixilon.kutil.buffer.bytes.`in`.InByteBuffer {
}
return readNBTTag(type)
}
-
-
- @Deprecated("Kutil 1.23")
- inline fun readSet(length: Int = readVarInt(), reader: () -> T): Set {
- check(length <= size) { "Trying to allocate too much memory!" }
- val set: MutableSet = LinkedHashSet(length)
- for (i in 0 until length) {
- set += reader()
- }
- return set
- }
-
- @Deprecated("Kutil 1.23")
- inline fun readMap(length: Int = readVarInt(), key: () -> K, value: () -> V): Map {
- check(length <= size) { "Trying to allocate too much memory!" }
- val map: MutableMap = LinkedHashMap(length)
- for (i in 0 until length) {
- map[key()] = value()
- }
- return map
- }
}
diff --git a/src/main/java/de/bixilon/minosoft/util/KUtil.kt b/src/main/java/de/bixilon/minosoft/util/KUtil.kt
index bbe775a3e..b02e090c0 100644
--- a/src/main/java/de/bixilon/minosoft/util/KUtil.kt
+++ b/src/main/java/de/bixilon/minosoft/util/KUtil.kt
@@ -28,9 +28,6 @@ import de.bixilon.kutil.collections.CollectionUtil.synchronizedSetOf
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedSet
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
import de.bixilon.kutil.concurrent.schedule.TaskScheduler
-import de.bixilon.kutil.latch.AbstractLatch
-import de.bixilon.kutil.latch.ParentLatch
-import de.bixilon.kutil.latch.SimpleLatch
import de.bixilon.kutil.primitive.BooleanUtil.decide
import de.bixilon.kutil.primitive.DoubleUtil
import de.bixilon.kutil.primitive.DoubleUtil.matches
@@ -336,14 +333,6 @@ object KUtil {
return value * 0.017453292f
}
- @Deprecated("Kutil 1.23")
- fun String.fill(char: Char, length: Int): String {
- if (this.length >= length) return this
- val fill = char.toString().repeat(length - this.length)
-
- return fill + this
- }
-
fun table(elements: Collection, vararg headers: AnyString, builder: (T) -> Array?): Table {
val table = Table(headers.unsafeCast())
@@ -353,10 +342,4 @@ object KUtil {
return table
}
-
- @Deprecated("Kutil 1.23")
- fun AbstractLatch?.child(count: Int): AbstractLatch {
- if (this == null) return SimpleLatch(count)
- return ParentLatch(count, this)
- }
}
diff --git a/src/main/java/de/bixilon/minosoft/util/SingleIterator.kt b/src/main/java/de/bixilon/minosoft/util/SingleIterator.kt
deleted file mode 100644
index 5eea8362a..000000000
--- a/src/main/java/de/bixilon/minosoft/util/SingleIterator.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Minosoft
- * Copyright (C) 2020-2023 Moritz Zwerger
- *
- * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with this program. If not, see .
- *
- * This software is not affiliated with Mojang AB, the original developer of Minecraft.
- */
-
-package de.bixilon.minosoft.util
-
-@Deprecated("Kutil 1.23")
-class SingleIterator(
- val item: T,
-) : Iterator {
- private var iterated = false
-
- override fun hasNext() = !iterated
-
- override fun next(): T {
- if (iterated) throw IllegalStateException("Already iterated!")
- iterated = true
-
- return this.item
- }
-}
diff --git a/src/main/java/de/bixilon/minosoft/util/logging/Log.kt b/src/main/java/de/bixilon/minosoft/util/logging/Log.kt
index 7818f8a89..1c1a91d61 100644
--- a/src/main/java/de/bixilon/minosoft/util/logging/Log.kt
+++ b/src/main/java/de/bixilon/minosoft/util/logging/Log.kt
@@ -12,6 +12,7 @@
*/
package de.bixilon.minosoft.util.logging
+import de.bixilon.kutil.ansi.ANSI
import de.bixilon.kutil.time.TimeUtil.millis
import de.bixilon.minosoft.config.StaticConfiguration
import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileSelectEvent
@@ -98,7 +99,7 @@ object Log {
SYSTEM_OUT_STREAM
}
- val prefix = message.ansiColoredMessage.removeSuffix("\u001b[0m") // reset suffix
+ val prefix = message.ansiColoredMessage.removeSuffix(ANSI.formatting(0)) // reset suffix
for (line in this.message.ansiColoredMessage.lineSequence()) {
stream.println(prefix + line)
}