diff options
| author | ronald <inglettronald@gmail.com> | 2023-07-27 20:26:07 -0500 |
|---|---|---|
| committer | ronald <inglettronald@gmail.com> | 2023-07-27 20:26:07 -0500 |
| commit | 71b8238eff91de0243e641c2eeadacd61b8f0f88 (patch) | |
| tree | d85ade48712412986eaf22663517327712552775 /src/main/kotlin/com/dulkirfabric/util | |
| parent | a1294824e249df578551447b40c920a45c3eb457 (diff) | |
| download | DulkirMod-Fabric-71b8238eff91de0243e641c2eeadacd61b8f0f88.tar.gz DulkirMod-Fabric-71b8238eff91de0243e641c2eeadacd61b8f0f88.tar.bz2 DulkirMod-Fabric-71b8238eff91de0243e641c2eeadacd61b8f0f88.zip | |
Miniboss Highlight and performance optimizations
Diffstat (limited to 'src/main/kotlin/com/dulkirfabric/util')
| -rw-r--r-- | src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt | 12 | ||||
| -rw-r--r-- | src/main/kotlin/com/dulkirfabric/util/TextUtils.kt | 3 | ||||
| -rw-r--r-- | src/main/kotlin/com/dulkirfabric/util/Utils.kt | 14 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt b/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt index a2bdb3a..fb2f967 100644 --- a/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt +++ b/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt @@ -1,6 +1,8 @@ package com.dulkirfabric.util import com.dulkirfabric.DulkirModFabric +import com.dulkirfabric.events.LongUpdateEvent +import meteordevelopment.orbit.EventHandler import net.minecraft.scoreboard.Team import net.minecraft.text.StringVisitable import net.minecraft.text.Style @@ -10,6 +12,8 @@ import java.util.* object ScoreBoardUtils { + var hasActiveSlayerQuest = false + /** * Gets Scoreboard lines, will return null if not in Skyblock. */ @@ -69,4 +73,12 @@ object ScoreBoardUtils { }, Style.EMPTY) return sb.toString().replace("§[^a-f0-9]".toRegex(), "") } + + @EventHandler + fun updateUtility(event: LongUpdateEvent) { + val lines = getLines() ?: return + hasActiveSlayerQuest = lines.any { + it.contains("Slayer Quest") + } + } }
\ No newline at end of file diff --git a/src/main/kotlin/com/dulkirfabric/util/TextUtils.kt b/src/main/kotlin/com/dulkirfabric/util/TextUtils.kt index c3baa9e..d5e3e37 100644 --- a/src/main/kotlin/com/dulkirfabric/util/TextUtils.kt +++ b/src/main/kotlin/com/dulkirfabric/util/TextUtils.kt @@ -5,6 +5,7 @@ import net.minecraft.text.Text object TextUtils { const val CHAT_PREFIX = "§f<§3DulkirMod§f>§r" + private val colorRegex = "§.".toRegex() fun info(text: String, prefix: Boolean = true) { if (mc.player == null) return @@ -33,6 +34,6 @@ object TextUtils { } fun stripColorCodes(string: String): String { - return string.replace("§.".toRegex(), "") + return string.replace(colorRegex, "") } }
\ No newline at end of file diff --git a/src/main/kotlin/com/dulkirfabric/util/Utils.kt b/src/main/kotlin/com/dulkirfabric/util/Utils.kt index 4ceb8c4..93597d2 100644 --- a/src/main/kotlin/com/dulkirfabric/util/Utils.kt +++ b/src/main/kotlin/com/dulkirfabric/util/Utils.kt @@ -1,6 +1,8 @@ package com.dulkirfabric.util import com.dulkirfabric.events.PlaySoundEvent +import net.minecraft.entity.Entity +import net.minecraft.util.math.Vec3d object Utils { fun isInSkyblock(): Boolean { @@ -18,4 +20,16 @@ object Utils { println("Pitch: ${event.sound.pitch}") println("Volume: ${event.sound.volume}") } + + private fun lerp(prev: Vec3d, cur: Vec3d, tickDelta: Float): Vec3d { + return Vec3d( + prev.x + (cur.x - prev.x) * tickDelta, + prev.y + (cur.y - prev.y) * tickDelta, + prev.z + (cur.z - prev.z) * tickDelta, + ) + } + fun Entity.getInterpolatedPos(tickDelta: Float): Vec3d { + val prevPos = Vec3d(this.prevX, this.prevY, this.prevZ) + return lerp(prevPos, this.pos, tickDelta) + } }
\ No newline at end of file |
