From 0de320d08972ee377f173a6c4836f465c7d5611f Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Wed, 7 Oct 2026 18:32:08 +0200 Subject: [PATCH 1/2] feat: enhance HUD display to show current region on player entry --- .../dev/slne/surf/protect/paper/hud/HudManager.kt | 10 ++++++---- .../paper/listener/listeners/BorderCrossingHandler.kt | 6 ++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt b/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt index 6a4921f..8a8913d 100644 --- a/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt +++ b/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt @@ -1,5 +1,6 @@ package dev.slne.surf.protect.paper.hud +import com.sk89q.worldguard.protection.regions.ProtectedRegion 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 @@ -9,12 +10,13 @@ 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 { diff --git a/src/main/kotlin/dev/slne/surf/protect/paper/listener/listeners/BorderCrossingHandler.kt b/src/main/kotlin/dev/slne/surf/protect/paper/listener/listeners/BorderCrossingHandler.kt index 75a0a72..92868b8 100644 --- a/src/main/kotlin/dev/slne/surf/protect/paper/listener/listeners/BorderCrossingHandler.kt +++ b/src/main/kotlin/dev/slne/surf/protect/paper/listener/listeners/BorderCrossingHandler.kt @@ -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()) + } } return true From b3e94243d7ad4a227e686b9a63835a95c413405d Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Wed, 7 Oct 2026 18:35:22 +0200 Subject: [PATCH 2/2] feat: update HUD text formatting to use small caps and bold style --- src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt b/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt index 8a8913d..a24cdc7 100644 --- a/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt +++ b/src/main/kotlin/dev/slne/surf/protect/paper/hud/HudManager.kt @@ -1,10 +1,12 @@ 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 { @@ -22,7 +24,7 @@ object HudManager { player.hud.add { line(0) { element(HUD_ID, 0, buildText { - info(text) + info(text.toSmallCaps(), TextDecoration.BOLD) }) } }