Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions src/main/kotlin/com/lambda/module/hud/Coordinates.kt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import com.lambda.util.extension.isNether
import com.lambda.util.math.Vec2d
import com.lambda.util.math.netherCoord
import com.lambda.util.math.overworldCoord
import io.ktor.util.*

object Coordinates : HudModule(
name = "Coordinates",
Expand All @@ -42,6 +43,7 @@ object Coordinates : HudModule(
}

private val showDimension by setting("Show Dimension Name", true)
private val showBiome by setting("Show Biome Name", true) // TwinkNet - Show biome

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line comment is not necessary. This is not a paper server patch.

private val showCurrentDimensionOnly by setting("Show Current Dimension Only", true)

private val formatter = FormatterSettings(c = this, baseGroup = arrayOf(Group.CurrentDimension)).apply {
Expand All @@ -66,10 +68,33 @@ object Coordinates : HudModule(
else "$position $otherDimensionPos"

val withDimension =
if (showDimension) "$text ${world.dimensionName}"
// TwinkNet start - show biome

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same with these comments and all below

if (showDimension && showBiome) "$text ${world.dimensionName} in"
Comment thread
TwinkNet marked this conversation as resolved.
Outdated
else if (showDimension) "$text ${world.dimensionName}"
// TwinkNet end
else text

textCopyable(withDimension)
// TwinkNet start - Show biome
val withBiome =
if (showBiome) "$withDimension ${beautifyBiome(world.getBiome(player.blockPos).idAsString)}"
else withDimension
// TwinkNet end
textCopyable(withBiome)
}
}

// TwinkNet start - Show biome
fun beautifyBiome(biome: String): String {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function can be refactored to be more readable and in line with native kotlin methods.

fun beautifyBiome(biome: String): String = biome
	.substringAfterLast(':')
	.replace('_', ' ')
	.split(' ')
	.joinToString(" ") { it.replaceFirstChar(Char::uppercaseChar) }

val beautifulBiome = biome.replace(Regex("^.*:"), "").replace("_", " ")
// nuke the namespace key and underscores
val arr = beautifulBiome.toCharArray()
arr[0] = Character.toUpperCase(arr[0]) // first letter uppercase
for ((index, ch) in arr.withIndex()) {
if (ch == ' ') {
arr[index + 1] = Character.toUpperCase(arr[index + 1]) // uppercase every first letter of each word
}
}
return String(arr)
}
// TwinkNet end
}