Skip to content

Commit f400bf1

Browse files
committed
New failfast option & Fixes
1 parent 854fd60 commit f400bf1

File tree

8 files changed

+18
-22
lines changed

8 files changed

+18
-22
lines changed

bukkit/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@
288288
<dependency>
289289
<groupId>com.github.houbb</groupId>
290290
<artifactId>sensitive-word</artifactId>
291-
<version>0.25.0</version>
291+
<version>0.26.0</version>
292292
<scope>compile</scope>
293293
</dependency>
294294

bukkit/src/main/java/io/wdsj/asw/bukkit/AdvancedSensitiveWords.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060

6161
public final class AdvancedSensitiveWords extends JavaPlugin {
62-
public static boolean isInitialized = false;
62+
public static volatile boolean isInitialized = false;
6363
public static SensitiveWordBs sensitiveWordBs;
6464
private final File CONFIG_FILE = new File(getDataFolder(), "config.yml");
6565
public static boolean isAuthMeAvailable;
@@ -254,6 +254,7 @@ public void doInitTasks() {
254254
.wordTag(WordTags.none())
255255
.charIgnore(new CharIgnore())
256256
.enableIpv4Check(settingsManager.getProperty(PluginSettings.ENABLE_IP_CHECK))
257+
.wordFailFast(settingsManager.getProperty(PluginSettings.FAIL_FAST))
257258
.init();
258259
isInitialized = true;
259260
});

bukkit/src/main/java/io/wdsj/asw/bukkit/service/BukkitLibraryService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ public class BukkitLibraryService {
1111
private static final Library ollama4j = Library.builder()
1212
.groupId("com{}github{}HaHaWTH")
1313
.artifactId("ollama4j-j8")
14-
.resolveTransitiveDependencies(false)
14+
.resolveTransitiveDependencies(true) // TODO fix
1515
.version("8ce2ad8840")
1616
.build();
1717

1818
private static final Library openai4j = Library.builder()
1919
.groupId("dev{}ai4j")
2020
.artifactId("openai4j")
21-
.resolveTransitiveDependencies(false)
21+
.resolveTransitiveDependencies(true) // TODO fix
2222
.version("0.27.0")
2323
.build();
2424

bukkit/src/main/java/io/wdsj/asw/bukkit/setting/PluginSettings.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public class PluginSettings implements SettingsHolder {
101101
public static final Property<Boolean> ENABLE_ALTS_CHECK = newProperty("Plugin.enableAltsCheck", false);
102102
@Comment({"*是否在玩家退出时清理相关数据缓存?",
103103
"*Should we clean player data cache on they quit?"})
104-
public static final Property<Boolean> CLEAN_PLAYER_DATA_CACHE = newProperty("Plugin.cleanPlayerDataCache", false);
104+
public static final Property<Boolean> CLEAN_PLAYER_DATA_CACHE = newProperty("Plugin.cleanPlayerDataCache", true);
105105

106106
@Comment({"*模型请求超时时长(单位: 秒)",
107107
"*Maximum request time before time out(in seconds)"})
@@ -267,6 +267,10 @@ public class PluginSettings implements SettingsHolder {
267267
"Whether to enable IPv4 address check"})
268268
public static final Property<Boolean> ENABLE_IP_CHECK = newProperty("Plugin.enableIpCheck", false);
269269

270+
@Comment({"是否\"快速失败\" (匹配到较短敏感词后停止匹配)",
271+
"Whether to \"fail-fast\" (stop matching after matching a shorter sensitive word)"})
272+
public static final Property<Boolean> FAIL_FAST = newProperty("Plugin.failFast", true);
273+
270274
@Comment({"自定义敏感词列表",
271275
"Custom sensitive word list"})
272276
public static final Property<List<String>> BLACK_LIST = newListProperty("Plugin.blackList", "失业");
@@ -315,7 +319,7 @@ public class PluginSettings implements SettingsHolder {
315319
@Comment({"指令白名单(白名单的指令如含敏感词不会被检测)",
316320
"Command whitelist (commands on the whitelist will not be checked for sensitive words)"})
317321
public static final Property<List<String>> CHAT_COMMAND_WHITE_LIST = newListProperty("Chat.commandWhiteList", "/tell", "/msg", "/normal", "/message",
318-
"/private", "/msg", "/w", "/whisper", "/m");
322+
"/private", "/msg", "/w", "/whisper", "/m");
319323

320324
@Comment({"替换还是取消(replace/cancel)",
321325
"Replace or cancel (replace/cancel)"})

bukkit/src/main/kotlin/io/wdsj/asw/bukkit/listener/ChatListener.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ class ChatListener : Listener {
8989
if (settingsManager.getProperty(PluginSettings.LOG_VIOLATION)) {
9090
LoggingUtils.logViolation(player.name + "(IP: " + Utils.getPlayerIp(player) + ")(Chat AI)(LLM output: $it)", originalMessage + unsupportedList)
9191
}
92-
ViolationCounter.INSTANCE.incrementViolationCount(player)
9392
if (settingsManager.getProperty(PluginSettings.HOOK_VELOCITY)) {
9493
VelocitySender.sendNotifyMessage(player, ModuleType.CHAT_AI, originalMessage, unsupportedList)
9594
}
@@ -100,12 +99,13 @@ class ChatListener : Listener {
10099
Notifier.notice(player, ModuleType.CHAT_AI, originalMessage, unsupportedList)
101100
}
102101
if (settingsManager.getProperty(PluginSettings.CHAT_PUNISH) && settingsManager.getProperty(PluginSettings.OLLAMA_AI_PUNISH)) {
102+
ViolationCounter.INSTANCE.incrementViolationCount(player)
103103
SchedulingUtils.runSyncIfEventAsync(event) {
104104
Punishment.punish(player)
105105
}
106106
}
107107
}
108-
} catch (e: NumberFormatException) {
108+
} catch (_: NumberFormatException) {
109109
LOGGER.warning("Failed to parse Ollama output to a number: $it")
110110
}
111111
}
@@ -124,7 +124,6 @@ class ChatListener : Listener {
124124
if (settingsManager.getProperty(PluginSettings.LOG_VIOLATION)) {
125125
LoggingUtils.logViolation(player.name + "(IP: " + Utils.getPlayerIp(player) + ")(Chat AI)(OPENAI)", originalMessage + unsupportedList)
126126
}
127-
ViolationCounter.INSTANCE.incrementViolationCount(player)
128127
if (settingsManager.getProperty(PluginSettings.HOOK_VELOCITY)) {
129128
VelocitySender.sendNotifyMessage(player, ModuleType.CHAT_AI, originalMessage, unsupportedList)
130129
}
@@ -135,6 +134,7 @@ class ChatListener : Listener {
135134
Notifier.notice(player, ModuleType.CHAT_AI, originalMessage, unsupportedList)
136135
}
137136
if (settingsManager.getProperty(PluginSettings.CHAT_PUNISH) && settingsManager.getProperty(PluginSettings.OPENAI_AI_PUNISH)) {
137+
ViolationCounter.INSTANCE.incrementViolationCount(player)
138138
SchedulingUtils.runSyncIfEventAsync(event) {
139139
Punishment.punish(player)
140140
}

bukkit/src/main/kotlin/io/wdsj/asw/bukkit/listener/packet/ASWChatPacketListener.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ class ASWChatPacketListener : PacketListenerAbstract(PacketListenerPriority.LOW)
109109
originalMessage + unsupportedList
110110
)
111111
}
112-
ViolationCounter.INSTANCE.incrementViolationCount(player)
113112
if (settingsManager.getProperty(PluginSettings.HOOK_VELOCITY)) {
114113
VelocitySender.sendNotifyMessage(
115114
player,
@@ -125,10 +124,11 @@ class ASWChatPacketListener : PacketListenerAbstract(PacketListenerPriority.LOW)
125124
Notifier.notice(player, ModuleType.CHAT_AI, originalMessage, unsupportedList)
126125
}
127126
if (settingsManager.getProperty(PluginSettings.CHAT_PUNISH) && settingsManager.getProperty(PluginSettings.OLLAMA_AI_PUNISH)) {
127+
ViolationCounter.INSTANCE.incrementViolationCount(player)
128128
getScheduler().runTask { Punishment.punish(player) }
129129
}
130130
}
131-
} catch (e: NumberFormatException) {
131+
} catch (_: NumberFormatException) {
132132
LOGGER.warning("Failed to parse Ollama output to a number: $it")
133133
}
134134
}
@@ -156,7 +156,6 @@ class ASWChatPacketListener : PacketListenerAbstract(PacketListenerPriority.LOW)
156156
originalMessage + unsupportedList
157157
)
158158
}
159-
ViolationCounter.INSTANCE.incrementViolationCount(player)
160159
if (settingsManager.getProperty(PluginSettings.HOOK_VELOCITY)) {
161160
VelocitySender.sendNotifyMessage(
162161
player,
@@ -182,6 +181,7 @@ class ASWChatPacketListener : PacketListenerAbstract(PacketListenerPriority.LOW)
182181
)
183182
}
184183
if (settingsManager.getProperty(PluginSettings.CHAT_PUNISH) && settingsManager.getProperty(PluginSettings.OPENAI_AI_PUNISH)) {
184+
ViolationCounter.INSTANCE.incrementViolationCount(player)
185185
getScheduler().runTask { Punishment.punish(player) }
186186
}
187187
}

bukkit/src/main/resources/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ authors:
1010
- 0D00_0721
1111
description: ${plugin.description}
1212
loadbefore:
13-
- AddYourPluginHere
13+
- YouCanUseThisToPrioritizeOtherChatPlugins
1414
softdepend:
1515
- packetevents
1616
- floodgate

bukkit/src/main/resources/sensitive_word_dict.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27202,7 +27202,6 @@ wu辱
2720227202
强奸轮奸美女视频
2720327203
强奸迅雷下载
2720427204
强娶娇妻
27205-
强开
2720627205
强开工具
2720727206
强开工具供应
2720827207
强开工具供应qq
@@ -35700,16 +35699,8 @@ jianzheng
3570035699
梦中的女孩小说下载
3570135700
梦中的女孩电子书下载
3570235701
梦互助系统
35703-
梦先觉
35704-
梦先觉txt
35705-
梦回天阙
35706-
梦城互动
35707-
梦幻之星
35708-
梦幻倚天
35709-
梦幻国度
3571035702
梦幻情人射了10次的强片
3571135703
梦幻色城网
35712-
梦幻西游
3571335704
梦幻逆玉王
3571435705
梦幻麻将馆
3571535706
梦总辑篇gonzovol4rio

0 commit comments

Comments
 (0)