Skip to content

Commit e5df626

Browse files
committed
check punishment post-connect and fix pre-connect checks
1 parent 234c484 commit e5df626

File tree

1 file changed

+18
-1
lines changed
  • velocity/src/main/kotlin/net/azisaba/spicyAzisaBan/velocity/listener

1 file changed

+18
-1
lines changed

velocity/src/main/kotlin/net/azisaba/spicyAzisaBan/velocity/listener/EventListeners.kt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ import com.velocitypowered.api.event.Subscribe
66
import com.velocitypowered.api.event.command.CommandExecuteEvent
77
import com.velocitypowered.api.event.connection.LoginEvent
88
import com.velocitypowered.api.event.player.PlayerChatEvent
9+
import com.velocitypowered.api.event.player.ServerPostConnectEvent
910
import com.velocitypowered.api.event.player.ServerPreConnectEvent
1011
import com.velocitypowered.api.network.ProtocolVersion
1112
import com.velocitypowered.api.proxy.Player
13+
import net.azisaba.spicyAzisaBan.SABMessages
14+
import net.azisaba.spicyAzisaBan.SpicyAzisaBan
1215
import net.azisaba.spicyAzisaBan.common.ServerInfo
1316
import net.azisaba.spicyAzisaBan.punishment.PunishmentChecker
1417
import net.azisaba.spicyAzisaBan.struct.PlayerData
1518
import net.azisaba.spicyAzisaBan.util.Util.send
19+
import net.azisaba.spicyAzisaBan.util.Util.translate
1620
import net.azisaba.spicyAzisaBan.velocity.VelocityPlayerActor
1721
import net.azisaba.spicyAzisaBan.velocity.util.VelocityUtil.toVelocity
1822
import net.kyori.adventure.text.Component
@@ -36,14 +40,27 @@ object EventListeners {
3640

3741
@Subscribe
3842
fun onServerPreConnect(e: ServerPreConnectEvent): EventTask = EventTask.async {
43+
if (e.result.server.isEmpty) return@async
3944
PunishmentChecker.checkLocalBan(
40-
ServerInfo(e.originalServer.serverInfo.name, e.originalServer.serverInfo.address),
45+
ServerInfo(e.result.server.get().serverInfo.name, e.result.server.get().serverInfo.address),
4146
VelocityPlayerActor(e.player)
4247
) {
4348
e.result = ServerPreConnectEvent.ServerResult.denied()
4449
}.complete()
4550
}
4651

52+
@Subscribe
53+
fun onServerPostConnect(e: ServerPostConnectEvent): EventTask = EventTask.async {
54+
if (e.player.currentServer.isEmpty) return@async
55+
PunishmentChecker.checkLocalBan(
56+
ServerInfo(e.player.currentServer.get().serverInfo.name, e.player.currentServer.get().serverInfo.address),
57+
VelocityPlayerActor(e.player)
58+
) {
59+
SpicyAzisaBan.LOGGER.warning("Kicking player ${e.player.username} because they are banned from ${e.player.currentServer.get().serverInfo.name}")
60+
e.player.disconnect(SABMessages.General.error.translate())
61+
}.complete()
62+
}
63+
4764
@Suppress("DEPRECATION")
4865
@Subscribe
4966
fun onPlayerChat(e: PlayerChatEvent): EventTask = EventTask.async {

0 commit comments

Comments
 (0)