Skip to content

Commit 07c15b7

Browse files
authored
reverting back
1 parent a1bf123 commit 07c15b7

File tree

7 files changed

+42
-125
lines changed

7 files changed

+42
-125
lines changed

WeGuardian.iml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<configuration>
66
<autoDetectTypes>
77
<platformType>PAPER</platformType>
8+
<platformType>ADVENTURE</platformType>
89
</autoDetectTypes>
910
<projectReimportVersion>1</projectReimportVersion>
1011
</configuration>

dependency-reduced-pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
</execution>
3434
</executions>
3535
<configuration>
36-
<minimizeJar>true</minimizeJar>
3736
<relocations>
3837
<relocation>
3938
<pattern>com.zaxxer.hikari</pattern>

src/main/java/me/wethink/weGuardian/WeGuardian.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import me.wethink.weGuardian.database.YamlDatabaseManager;
88
import me.wethink.weGuardian.gui.GUIConfigLoader;
99
import me.wethink.weGuardian.gui.PunishmentGUI;
10-
import me.wethink.weGuardian.listeners.AsyncSuggestionsListener;
1110
import me.wethink.weGuardian.listeners.ChatListener;
1211
import me.wethink.weGuardian.listeners.PlayerListener;
1312
import me.wethink.weGuardian.services.CrossServerSyncService;
@@ -154,7 +153,6 @@ private void initializeServices() {
154153
private void initializeListeners() {
155154
getServer().getPluginManager().registerEvents(new PlayerListener(this, databaseManager), this);
156155
getServer().getPluginManager().registerEvents(new ChatListener(this, databaseManager), this);
157-
getServer().getPluginManager().registerEvents(new AsyncSuggestionsListener(this, databaseManager, templateService), this);
158156
}
159157

160158
private void registerCommands() {

src/main/java/me/wethink/weGuardian/database/DatabaseManager.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,6 @@ public interface DatabaseManager {
7878

7979
CompletableFuture<List<String>> searchPlayers(String query);
8080

81-
CompletableFuture<List<PlayerData>> searchPlayersByName(String name);
82-
8381
CompletableFuture<Integer> getTotalPunishments();
8482

8583
CompletableFuture<List<PlayerConnection>> getPlayerConnections(UUID uuid);

src/main/java/me/wethink/weGuardian/database/HikariDatabaseManager.java

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -681,44 +681,6 @@ public CompletableFuture<List<String>> searchPlayers(String query) {
681681
}, executorService);
682682
}
683683

684-
@Override
685-
public CompletableFuture<List<PlayerData>> searchPlayersByName(String name) {
686-
return CompletableFuture.supplyAsync(() -> {
687-
List<PlayerData> results = new ArrayList<>();
688-
String sql = "SELECT uuid, name, ip_address, first_join, last_seen, banned, muted FROM wg_players WHERE name LIKE ? ORDER BY last_seen DESC LIMIT 10";
689-
690-
try (Connection conn = dataSource.getConnection();
691-
PreparedStatement stmt = conn.prepareStatement(sql)) {
692-
693-
stmt.setString(1, "%" + name + "%");
694-
ResultSet rs = stmt.executeQuery();
695-
696-
while (rs.next()) {
697-
UUID uuid = UUID.fromString(rs.getString("uuid"));
698-
String playerName = rs.getString("name");
699-
String ipAddress = rs.getString("ip_address");
700-
LocalDateTime firstJoin = rs.getTimestamp("first_join").toLocalDateTime();
701-
LocalDateTime lastSeen = rs.getTimestamp("last_seen").toLocalDateTime();
702-
boolean banned = rs.getBoolean("banned");
703-
boolean muted = rs.getBoolean("muted");
704-
705-
PlayerData playerData = new PlayerData(uuid, playerName, ipAddress);
706-
playerData.setFirstJoin(firstJoin);
707-
playerData.setLastSeen(lastSeen);
708-
playerData.setBanned(banned);
709-
playerData.setMuted(muted);
710-
711-
results.add(playerData);
712-
}
713-
714-
} catch (SQLException e) {
715-
plugin.getLogger().severe("Failed to search players by name: " + e.getMessage());
716-
}
717-
718-
return results;
719-
}, executorService);
720-
}
721-
722684
@Override
723685
public CompletableFuture<Integer> getTotalPunishments() {
724686
return CompletableFuture.supplyAsync(() -> {

src/main/java/me/wethink/weGuardian/database/YamlDatabaseManager.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -794,17 +794,6 @@ public CompletableFuture<List<String>> searchPlayers(String query) {
794794
);
795795
}
796796

797-
@Override
798-
public CompletableFuture<List<PlayerData>> searchPlayersByName(String name) {
799-
return CompletableFuture.supplyAsync(() ->
800-
playerDataCache.values().stream()
801-
.filter(playerData -> playerData.getPlayerName().toLowerCase().contains(name.toLowerCase()))
802-
.sorted((p1, p2) -> p2.getLastSeen().compareTo(p1.getLastSeen()))
803-
.limit(10)
804-
.collect(Collectors.toList())
805-
);
806-
}
807-
808797
@Override
809798
public CompletableFuture<Integer> getTotalPunishments() {
810799
return CompletableFuture.completedFuture(punishmentCache.size());

src/main/java/me/wethink/weGuardian/listeners/PlayerListener.java

Lines changed: 41 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package me.wethink.weGuardian.listeners;
22

3-
import com.tcoded.folialib.FoliaLib;
43
import me.wethink.weGuardian.WeGuardian;
54
import me.wethink.weGuardian.database.DatabaseManager;
65
import me.wethink.weGuardian.models.PlayerData;
76
import me.wethink.weGuardian.models.Punishment;
87
import me.wethink.weGuardian.models.PunishmentType;
98
import me.wethink.weGuardian.utils.MessageUtils;
109
import net.kyori.adventure.text.Component;
10+
import org.bukkit.entity.Player;
1111
import org.bukkit.event.EventHandler;
1212
import org.bukkit.event.EventPriority;
1313
import org.bukkit.event.Listener;
@@ -16,21 +16,16 @@
1616
import org.bukkit.event.player.PlayerQuitEvent;
1717

1818
import java.util.List;
19-
import java.util.Map;
20-
import java.util.concurrent.ConcurrentHashMap;
19+
import java.util.concurrent.CompletableFuture;
2120

2221
public class PlayerListener implements Listener {
2322

2423
private final WeGuardian plugin;
2524
private final DatabaseManager databaseManager;
26-
private final FoliaLib foliaLib;
27-
28-
private final Map<String, Punishment> pendingMuteActions = new ConcurrentHashMap<>();
2925

3026
public PlayerListener(WeGuardian plugin, DatabaseManager databaseManager) {
3127
this.plugin = plugin;
3228
this.databaseManager = databaseManager;
33-
this.foliaLib = plugin.getFoliaLib();
3429
}
3530

3631
@EventHandler(priority = EventPriority.HIGHEST)
@@ -43,22 +38,6 @@ public void onAsyncPlayerPreLogin(AsyncPlayerPreLoginEvent event) {
4338
return;
4439
}
4540

46-
foliaLib.getScheduler().runAsync(task -> {
47-
try {
48-
handlePlayerDataAsync(event);
49-
50-
checkPunishmentsAsync(event);
51-
52-
checkIPBanAsync(event);
53-
54-
} catch (Exception e) {
55-
plugin.getLogger().severe("Error in async pre-login processing for " + event.getName() + ": " + e.getMessage());
56-
e.printStackTrace();
57-
}
58-
});
59-
}
60-
61-
private void handlePlayerDataAsync(AsyncPlayerPreLoginEvent event) {
6241
try {
6342
PlayerData playerData = databaseManager.getPlayerData(event.getUniqueId()).join();
6443
if (playerData == null) {
@@ -78,13 +57,7 @@ private void handlePlayerDataAsync(AsyncPlayerPreLoginEvent event) {
7857
event.getName(),
7958
event.getAddress().getHostAddress()
8059
);
81-
} catch (Exception e) {
82-
plugin.getLogger().severe("Error handling player data for " + event.getName() + ": " + e.getMessage());
83-
}
84-
}
85-
86-
private void checkPunishmentsAsync(AsyncPlayerPreLoginEvent event) {
87-
try {
60+
8861
List<Punishment> punishments = databaseManager.getActivePunishments(event.getUniqueId()).join();
8962
plugin.debug("Checking %d active punishments for player: %s", punishments.size(), event.getName());
9063

@@ -98,26 +71,12 @@ private void checkPunishmentsAsync(AsyncPlayerPreLoginEvent event) {
9871
plugin.debug("Player %s is banned, blocking connection", event.getName());
9972
String kickMessage = getBanMessage(punishment);
10073
Component kickComponent = MessageUtils.toComponent(kickMessage);
101-
102-
foliaLib.getScheduler().runNextTick(task -> {
103-
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED, kickComponent);
104-
plugin.getNotificationService().broadcastPunishment(punishment, "reconnect_attempt");
105-
});
74+
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED, kickComponent);
75+
plugin.getNotificationService().broadcastPunishment(punishment, "reconnect_attempt");
10676
return;
10777
}
108-
109-
if (punishment.getType() == PunishmentType.MUTE || punishment.getType() == PunishmentType.TEMPMUTE) {
110-
pendingMuteActions.put(event.getUniqueId().toString(), punishment);
111-
plugin.debug("Player %s is muted, will show action bar after join", event.getName());
112-
}
11378
}
114-
} catch (Exception e) {
115-
plugin.getLogger().severe("Error checking punishments for " + event.getName() + ": " + e.getMessage());
116-
}
117-
}
118-
119-
private void checkIPBanAsync(AsyncPlayerPreLoginEvent event) {
120-
try {
79+
12180
String playerIP = event.getAddress().getHostAddress();
12281
if (databaseManager.isIPBanned(playerIP).join()) {
12382
String ipBanMessage = plugin.getMessage("screen.ipban",
@@ -126,41 +85,52 @@ private void checkIPBanAsync(AsyncPlayerPreLoginEvent event) {
12685
ipBanMessage = ipBanMessage.replace("{appeal-url}", appealUrl);
12786

12887
Component kickComponent = MessageUtils.toComponent(ipBanMessage);
129-
130-
foliaLib.getScheduler().runNextTick(task -> {
131-
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED, kickComponent);
132-
if (plugin.getConfig().getBoolean("debug.enabled", false)) {
133-
plugin.getLogger().info("Blocked IP banned connection attempt from " + playerIP + " (" + event.getName() + ")");
134-
}
135-
});
88+
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED, kickComponent);
89+
if (plugin.getConfig().getBoolean("debug.enabled", false)) {
90+
plugin.getLogger().info("Blocked IP banned connection attempt from " + playerIP + " (" + event.getName() + ")");
91+
}
92+
return;
13693
}
94+
13795
} catch (Exception e) {
138-
plugin.getLogger().severe("Error checking IP ban for " + event.getName() + ": " + e.getMessage());
96+
plugin.getLogger().severe("Error checking ban status for " + event.getName() + ": " + e.getMessage());
97+
e.printStackTrace();
13998
}
14099
}
141100

142101
@EventHandler
143-
public void onPlayerJoin(PlayerJoinEvent event) {
144-
String playerUuid = event.getPlayer().getUniqueId().toString();
145-
Punishment mutePunishment = pendingMuteActions.remove(playerUuid);
146-
147-
if (mutePunishment != null) {
148-
foliaLib.getScheduler().runAtEntity(event.getPlayer(), task -> {
149-
String actionBarMessage = getMuteMessage(mutePunishment);
150-
if (!actionBarMessage.isEmpty()) {
151-
Component component = MessageUtils.toComponent(actionBarMessage);
152-
event.getPlayer().sendActionBar(component);
102+
public void onPlayeJoin(PlayerJoinEvent event) {
103+
CompletableFuture.runAsync(() -> {
104+
try {
105+
List<Punishment> punishments = databaseManager.getActivePunishments(event.getPlayer().getUniqueId()).join();
106+
for (Punishment punishment : punishments) {
107+
if (punishment.isExpired()) {
108+
continue;
109+
}
110+
111+
if (punishment.getType() == PunishmentType.MUTE || punishment.getType() == PunishmentType.TEMPMUTE) {
112+
String actionBarMessage = getMuteMessage(punishment);
113+
if (!actionBarMessage.isEmpty()) {
114+
Component component = MessageUtils.toComponent(actionBarMessage);
115+
plugin.getServer().getScheduler().runTask(plugin, () -> {
116+
Player player = event.getPlayer();
117+
if (player.isOnline()) {
118+
player.sendActionBar(component);
119+
}
120+
});
121+
}
122+
break;
123+
}
153124
}
154-
});
155-
}
125+
} catch (Exception e) {
126+
plugin.getLogger().severe("Error checking mute status for " + event.getPlayer().getName() + ": " + e.getMessage());
127+
}
128+
});
156129
}
157130

158131
@EventHandler
159132
public void onPlayerQuit(PlayerQuitEvent event) {
160-
String playerUuid = event.getPlayer().getUniqueId().toString();
161-
pendingMuteActions.remove(playerUuid);
162-
163-
foliaLib.getScheduler().runAsync(task -> {
133+
CompletableFuture.runAsync(() -> {
164134
try {
165135
PlayerData playerData = databaseManager.getPlayerData(event.getPlayer().getUniqueId()).join();
166136
if (playerData != null) {

0 commit comments

Comments
 (0)