From 8dd82b1332f5bbb04a8e95685965a1f88f7d1146 Mon Sep 17 00:00:00 2001 From: TheTrouper <93684527+thetrouper@users.noreply.github.com> Date: Thu, 22 Feb 2024 16:12:21 -0600 Subject: [PATCH] Going to redo the language system --- server/logs/2024-02-21-1.log.gz | Bin 0 -> 2299 bytes server/logs/2024-02-21-2.log.gz | Bin 0 -> 2054 bytes .../sentinel/data/FilterActionType.java | 14 +++++++ .../sentinel/data/config/LanguageFile.java | 8 ++-- .../sentinel/server/NewFilterAction.java | 39 ++++++++++++++++++ .../functions/ReportFalsePositives.java | 2 +- 6 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 server/logs/2024-02-21-1.log.gz create mode 100644 server/logs/2024-02-21-2.log.gz create mode 100644 src/main/java/io/github/thetrouper/sentinel/data/FilterActionType.java create mode 100644 src/main/java/io/github/thetrouper/sentinel/server/NewFilterAction.java diff --git a/server/logs/2024-02-21-1.log.gz b/server/logs/2024-02-21-1.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..3df9f07553753914b80364542394eb0968b6df9a GIT binary patch literal 2299 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 Vx19Ssa1F9t@?T0YD=^k6003|WZ2tfN literal 0 HcmV?d00001 diff --git a/server/logs/2024-02-21-2.log.gz b/server/logs/2024-02-21-2.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..e1de73c998e4ba8738b7e0b4e17f696b66b2a14f GIT binary patch literal 2054 zcmV+h2>JIPiwFP!00000|Gio3ZreH%{vTl9VbTRQ$s*R>SD;t~$!Y7|qzQ6qv9JRl zTB2+=l&BRY7hdec?~uCKPUB;_NskIgHaYXna5yuZVMn$*@VtTRJi_RXrVE;05f+=n z&mXQI2k=|GV5x{B8fP0nMv_X&MEps}?EO5;5;-u-~)Be$Hei z5x=E*94m|)lB}sPV_8d&v^>{>y)HncqzEb6TB0|FkI4?88xl&%y$%Ld&E8!@H zAaTM;;dKM3qel@MJolf35m8eEe?S!?kx~RjZ6cDXtwKYfEn&eVTVuyvpXXB*KBm_5 z>b!WHOv;=}v)A`}e`K}N_M`K89zWd^`E*wrB7Fos268Dg8Y#ca^)A~mG_R|jJ_QH9 zi}a}m#1Vqln4w8=VQ3J_nT$Y$NLW%dQ0Ib%Bp6U+_ydeXMg>X`h7WGmMTk5?Hhi$FS;* z(&}{kwG_|ZD&R-w z5LC3U4;agctI(lQk}Xex&0>)%`7CRs{JPbDQ)x@*##bBq1~U=SdT_cxbH2k6=E1ua zr?Z<=s(8VaHq)+&2`gZj*tDb8r{q8&g2rwDeUJP=IZ5!qz{984fk?i+Mwpu?F~z^D zoZz|5RBHD&G}_Ab6B^+G^2^j&i>lg%wg%Exl!M3j`f2G$t+B;1mWn0P;1G(5f@stL zu!_WU5r=GM7{(qv7tB{jB1xBUOygEAjc-!KC;Ne{g;5hOENXL159*xAayfwG+J?NE z!Z=rFA%Y*CG=Ln&EMtVT{}wxe%Nu`J|+0qbA!IubpqP)0^e`23Z-48Ee)Eje8Uk7guC3w7DARj*xUs-p(?+q z_H}Q#x`KE}4&hh_RzsKkP;Vkk@PQwn7YECka_YbwkdRDLMGa0Y{stC;DrK@aITRmp+R}^!t7tnbddUFJ&~I8FQ$|Dh8`jPw!+qr$Zgw4YO|tc~f@O8;|6z^dZNs}Qd&PjN zj!LyDEQ1W|eA$5cLc|n~yN2EC$&*9fmdq(nPIWyC@6`8q4PfreR_vBanr+gb>q5Kk zIk0n6jL-rXKO0M~Gv5{b5B@E3AlM%j9f|6K`UdIZ%Eywn!Ezb$tt)A8Hw*t@Uww-C{S)Fht zXsbOc#BT!gOrX_QjZSmUk!d?!!@_^|pxy6yok!qeHq+Y+-?1YEwJz+wSpZJo1$4#Z zk*>oY-L}!Q`; zhsp9M4fesI=nm@!@v!q6w5@I3{yB+{GVJnb0y$>gp)8v3vT?&dT;KZqqmBdDbvvDI zBmuV^zqo+=|D^5!=B%i}P+)IhZ?E|?ktB7KuPOH7YRvIG51>7FB!XRlt1@tf^+FxE zYb6zjx;Y6nkgER5<4y%;x^`0)i|_bB?}(MI307R%Ar2cEV7>WSTmJ6uXV((QLf^pY z@RrRPbO7x^@2l&R;x4RcvyKYtOZB4+$0Kt~v$V@P`flcv;DNg2EPdoFVY>e4ScO!7 z{r)BsxMe)k6Iu!!>DSTEO8bOpm~l3Qycu|DLc)0=V6La-n+i~u!7$~*e=4`?6l`p& z%G6m6S&#@;?WIbu>(bQ#rr~ZAuPBZ-8l1%o#tcR=RN`1OXrQ@6W zTiN<_5dL%j=IH zT#`0Aj^EH9OQFBkAzv$`u}8jvpch=yw)XPLN{P2~%2)X0R^S4$zM9()^#jl4T;F5q keJ}o_YX{FcR?CW|Y<6yh;Cpc0l_li=0bTqpF~S`H0Ptr6 { put("message-received", "§d§lMessage §8» §b[§f%1$s §e>§f You§b] §7%2$s"); put("spy-message", "§d§lSpy §8» §b§n%1$s§7 has messaged §b§n%2$s§7."); put("spy-message-hover", "§8]==-- §d§lSocialSpy §8--==[\n§bSender: §f%1$S\n§bReceiver: §f%2$S\n§bMessage: §f%3$S"); - put("profanity-block-notification", "§b§n%1$s§7 has triggered the anti-swear! §8(§c%2$s§7/§4%3$s§8)"); - put("profanity-block-warn", "§cPlease do not swear in chat! Attempting to bypass this filter will result in a mute! §7§o(Hover for more info)"); + put("profanity-notification", "§b§n%1$s§7 has triggered the anti-swear! §8(§c%2$s§7/§4%3$s§8)"); + put("profanity-warn", "§cPlease do not swear in chat! Attempting to bypass this filter will result in a mute! §7§o(Hover for more info)"); put("profanity-mute-warn", "You have been auto-muted for repeated violation of the profanity filter! §7§o(Hover for more info)"); put("profanity-mute-notification", "§b§n%1$s§7 has been auto-muted by the anti-swear! §8(§c%2$s§7/§4%3$s§8)"); - put("profanity-filter-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bOriginal: §f%1$s\n§bSanitized: §f%2$s\n§8§o(Click to report false positive)"); + put("profanity-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bOriginal: §f%1$s\n§bSanitized: §f%2$s\n§8§o(Click to report false positive)"); put("severity-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bOriginal: §f%1$s\n§bSanitized: §f%2$s\n§bSeverity: §c%3$s\n§7§o(click to report false positive)"); put("slur-mute-warn", "§cYou have been insta-punished by the anti-slur! §7§o(Hover for more info)"); put("slur-mute-notification", "§b§n%1$s§7 has been insta-muted by the anti-swear! §8(§c%2$s§7/§4%3$s§8)"); put("spam-notification", "§b§n%1$s§7 might be spamming! §8(§c%2$s§7/§4%3$s§8)"); put("spam-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bPrevious: §f%1$s\n§bCurrent: §f%2$s\n§bSimilarity §f%3$s"); - put("spam-block-warn", "Do not spam in chat! Please wait before sending another message."); + put("spam-warn", "Do not spam in chat! Please wait before sending another message."); put("spam-mute-warn", "§cYou have been auto-punished for violating the anti-spam repetitively!"); put("spam-mute-notification", "§b§n%1$s§7 has been auto-muted by the anti spam! §8(§c%2$s§7/§4%3$s§8)"); put("url-warn", "§cDo not send urls in chat!"); diff --git a/src/main/java/io/github/thetrouper/sentinel/server/NewFilterAction.java b/src/main/java/io/github/thetrouper/sentinel/server/NewFilterAction.java new file mode 100644 index 0000000..1acf0f3 --- /dev/null +++ b/src/main/java/io/github/thetrouper/sentinel/server/NewFilterAction.java @@ -0,0 +1,39 @@ +package io.github.thetrouper.sentinel.server; + +import io.github.thetrouper.sentinel.data.FilterActionType; +import io.github.thetrouper.sentinel.data.FilterSeverity; +import io.github.thetrouper.sentinel.data.Report; +import io.github.thetrouper.sentinel.server.util.ServerUtils; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.event.ClickEvent; +import org.bukkit.entity.Player; +import org.bukkit.event.player.AsyncPlayerChatEvent; + +public class NewFilterAction { + + public static void takeAction(AsyncPlayerChatEvent e, FilterActionType type, Report report, double similarity, FilterSeverity severity) { + if (type.equals(FilterActionType.SAFE)) return; + sendWarnings(e.getPlayer(),type,report.id()); + + } + + public static void sendConsoleLog(AsyncPlayerChatEvent e, FilterActionType type) { + + } + + public static void sendWarnings(Player offender, FilterActionType type, long report) { + TextComponent warning = Component.text(type.chatWarning()) + .hoverEvent(Component.text(type.chatWarningHover())) + .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND,"sentinelcallback fpreport " + report)); + TextComponent notification = Component.text(type.chatNotification()) + .hoverEvent(Component.text(type.chatNotificationHover())) + .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND,"sentinelcallback fpreport " + report)); + if (type.punishmentCommand() != null) { + ServerUtils.forEachStaff(staff->{ + staff.sendMessage(notification); + }); + } + offender.sendMessage(warning); + } +} diff --git a/src/main/java/io/github/thetrouper/sentinel/server/functions/ReportFalsePositives.java b/src/main/java/io/github/thetrouper/sentinel/server/functions/ReportFalsePositives.java index 73224f8..ef66fd0 100644 --- a/src/main/java/io/github/thetrouper/sentinel/server/functions/ReportFalsePositives.java +++ b/src/main/java/io/github/thetrouper/sentinel/server/functions/ReportFalsePositives.java @@ -24,7 +24,7 @@ public class ReportFalsePositives { final long reportID = Randomizer.generateID(); LinkedHashMap steps = new LinkedHashMap<>(); steps.put("Original Message", "`%s`".formatted(event.getMessage())); - SchedulerUtils.later(60000,()->{ + SchedulerUtils.later(1200,()->{ reports.remove(reportID); }); return new Report(reportID,event,steps);