Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
14 changes: 9 additions & 5 deletions src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt
Original file line number Diff line number Diff line change
@@ -1,26 +1,30 @@
package dev.slne.surf.protect.paper.hud

import com.sk89q.worldguard.protection.regions.ProtectedRegion
import dev.slne.surf.api.core.font.toSmallCaps
import dev.slne.surf.api.core.messages.adventure.buildText
import dev.slne.surf.hud.api.hud
import dev.slne.surf.protect.paper.region.info.RegionInfo
import dev.slne.surf.protect.paper.util.getProtectedRegions
import net.kyori.adventure.text.format.TextDecoration
import org.bukkit.entity.Player

object HudManager {
private const val HUD_ID = "protect-current-region"

fun show(player: Player) {
val region = player.location.getProtectedRegions(false).firstOrNull()
val text = if (region == null) {
fun show(player: Player, region: ProtectedRegion? = null) {
val currentRegion = region ?: player.location.getProtectedRegions(false).firstOrNull()

val text = if (currentRegion == null || currentRegion.id == ProtectedRegion.GLOBAL_REGION) {
"Wilderness"
} else {
RegionInfo(region).name
RegionInfo(currentRegion).name
}

player.hud.add {
line(0) {
element(HUD_ID, 0, buildText {
info(text)
info(text.toSmallCaps(), TextDecoration.BOLD)
})
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@ class BorderCrossingHandler(session: Session) : Handler(session) {
handleMessage(player, region, entered = false)
}

if (plugin.hudAvailable && (entered.isNotEmpty() || exited.isNotEmpty())) {
Bukkit.getPlayer(player.uniqueId)?.let { HudManager.show(it) }
if (plugin.hudAvailable) {
Bukkit.getPlayer(player.uniqueId)?.let {
HudManager.show(it, toSet?.regions?.firstOrNull())
Comment thread
TheBjoRedCraft marked this conversation as resolved.
}
}

return true
Expand Down
Loading