Skip to content

Commit 6d37c99

Browse files
committed
lobby ux improved
1 parent b28ff02 commit 6d37c99

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/main/kotlin/li/angu/challengeplugin/listeners/PlayerConnectionListener.kt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import org.bukkit.event.player.PlayerQuitEvent
1010
import org.bukkit.event.player.PlayerChangedWorldEvent
1111
import org.bukkit.event.block.Action
1212
import org.bukkit.event.player.PlayerInteractEvent
13+
import org.bukkit.event.entity.EntityDamageEvent
14+
import org.bukkit.event.player.PlayerMoveEvent
1315
import org.bukkit.inventory.ItemStack
1416
import java.util.UUID
1517

@@ -89,6 +91,31 @@ class PlayerConnectionListener(private val plugin: ChallengePluginPlugin) : List
8991
}
9092
}
9193

94+
@EventHandler
95+
fun onEntityDamage(event: EntityDamageEvent) {
96+
val player = event.entity as? Player ?: return
97+
98+
// Check if player is in lobby world
99+
if (plugin.lobbyManager.isLobbyWorld(player.world.name)) {
100+
// Cancel all damage in lobby
101+
event.isCancelled = true
102+
}
103+
}
104+
105+
@EventHandler
106+
fun onPlayerMove(event: PlayerMoveEvent) {
107+
val player = event.player
108+
val to = event.to ?: return
109+
110+
// Check if player is in lobby world and fell below y=0
111+
if (plugin.lobbyManager.isLobbyWorld(player.world.name) && to.y < 0) {
112+
// Teleport back to lobby spawn
113+
plugin.lobbyManager.getLobbySpawn()?.let { spawn ->
114+
player.teleport(spawn)
115+
}
116+
}
117+
}
118+
92119
/**
93120
* Adds a player to a challenge without resetting their inventory or location
94121
* Used when a player reconnects to a challenge they previously left

0 commit comments

Comments
 (0)