mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-18 00:20:44 +00:00
fix kick reasons
This commit is contained in:
@@ -87,9 +87,9 @@ public class NameAPI {
|
||||
+ "end");
|
||||
|
||||
migrator.registerMigration("renamer", 2,
|
||||
"ALTER TABLE Name_player ADD COLUMN id SERIAL",
|
||||
"ALTER TABLE Name_player DROP INDEX `uuid_player_combo`",
|
||||
"ALTER TABLE Name_player ADD UNIQUE INDEX on_uuid(uuid)");
|
||||
"ALTER TABLE Name_player ADD COLUMN IF NOT EXISTS id SERIAL",
|
||||
"ALTER TABLE Name_player DROP INDEX IF EXISTS `uuid_player_combo`",
|
||||
"ALTER TABLE Name_player ADD UNIQUE INDEX IF NOT EXISTS on_uuid(uuid)");
|
||||
|
||||
try {
|
||||
migrator.migrate(db.getConnection());
|
||||
|
||||
@@ -25,6 +25,7 @@ import us.ajg0702.queue.api.players.AdaptedPlayer;
|
||||
public class QueueListener {
|
||||
|
||||
private final Map<Player, QueueRecord> players = new ConcurrentHashMap<>();
|
||||
private final Map<Player, KickRecord> kickReasons = new ConcurrentHashMap<>();
|
||||
|
||||
private final CivProxyPlugin plugin;
|
||||
private final ProxyServer server;
|
||||
@@ -38,6 +39,10 @@ public class QueueListener {
|
||||
|
||||
}
|
||||
|
||||
record KickRecord(Instant instant, Component reason) {
|
||||
|
||||
}
|
||||
|
||||
public void start() {
|
||||
server.getEventManager().register(plugin, this);
|
||||
}
|
||||
@@ -54,6 +59,7 @@ public class QueueListener {
|
||||
return;
|
||||
}
|
||||
event.setResult(KickedFromServerEvent.RedirectPlayer.create(server.getServer("pvp").get()));
|
||||
event.getServerKickReason().ifPresent(reason -> kickReasons.put(event.getPlayer(), new KickRecord(Instant.now(), reason)));
|
||||
|
||||
players.put(event.getPlayer(), new QueueRecord(Instant.now(), name));
|
||||
}
|
||||
@@ -69,7 +75,14 @@ public class QueueListener {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setResult(KickedFromServerEvent.DisconnectPlayer.create(event.getServerKickReason().orElse(Component.text("Disconnected"))));
|
||||
KickRecord record = kickReasons.remove(event.getPlayer());
|
||||
Component defaultReason;
|
||||
if (record != null && record.instant().isAfter(Instant.now().minusSeconds(60))) {
|
||||
defaultReason = record.reason();
|
||||
} else {
|
||||
defaultReason = Component.text("Disconnected");
|
||||
}
|
||||
event.setResult(KickedFromServerEvent.DisconnectPlayer.create(event.getServerKickReason().orElse(defaultReason)));
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
||||
Reference in New Issue
Block a user