diff --git a/build-number.txt b/build-number.txt index 11a42c55..2f2a2998 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -3574 \ No newline at end of file +3583 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/data/selfCare/SelfCare.java b/src/main/java/me/chayapak1/chomens_bot/data/selfCare/SelfCare.java index 9b3a04ed..b804ebff 100644 --- a/src/main/java/me/chayapak1/chomens_bot/data/selfCare/SelfCare.java +++ b/src/main/java/me/chayapak1/chomens_bot/data/selfCare/SelfCare.java @@ -17,10 +17,9 @@ public abstract class SelfCare { public abstract boolean shouldRun (); public void onPacketReceived (final Packet packet) { } - public void onMessageReceived (final Component component, final String string) { } - public void onCommandSpyMessageReceived (final PlayerEntry sender, final String command) { } + public void onPlayerChangedUsername (final PlayerEntry target, final String from, final String to) { } public void run () { } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java index 9b777cab..c20a8ae4 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java @@ -59,7 +59,6 @@ public class PlayersPlugin implements Listener { case UPDATE_GAME_MODE -> updateGameMode(entry); case UPDATE_LATENCY -> updateLatency(entry); case UPDATE_DISPLAY_NAME -> updateDisplayName(entry); - default -> { } } } } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java index 0a945fff..2de29bfd 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java @@ -96,6 +96,11 @@ public class SelfCarePlugin implements Listener { for (final SelfCare selfCare : selfCares) selfCare.onCommandSpyMessageReceived(sender, command); } + @Override + public void onPlayerChangedUsername (final PlayerEntry target, final String from, final String to) { + for (final SelfCare selfCare : selfCares) selfCare.onPlayerChangedUsername(target, from, to); + } + @Override public void packetReceived (final Session session, final Packet packet) { if (packet instanceof final ClientboundLoginPacket t_packet) packetReceived(t_packet); diff --git a/src/main/java/me/chayapak1/chomens_bot/selfCares/kaboom/extras/UsernameSelfCare.java b/src/main/java/me/chayapak1/chomens_bot/selfCares/kaboom/extras/UsernameSelfCare.java index 9ab9ed7c..efcd7399 100644 --- a/src/main/java/me/chayapak1/chomens_bot/selfCares/kaboom/extras/UsernameSelfCare.java +++ b/src/main/java/me/chayapak1/chomens_bot/selfCares/kaboom/extras/UsernameSelfCare.java @@ -1,30 +1,25 @@ package me.chayapak1.chomens_bot.selfCares.kaboom.extras; import me.chayapak1.chomens_bot.Bot; +import me.chayapak1.chomens_bot.data.player.PlayerEntry; import me.chayapak1.chomens_bot.data.selfCare.SelfCare; import me.chayapak1.chomens_bot.util.IllegalCharactersUtilities; -import net.kyori.adventure.text.Component; public class UsernameSelfCare extends SelfCare { - private long usernameStartTime = System.currentTimeMillis(); + private long usernameStartTime; + private long successTime; public UsernameSelfCare (final Bot bot) { super(bot); } @Override - public void onMessageReceived (final Component component, final String string) { - if ( - string.equals("Successfully set your username to \"" + bot.username + "\"") - || string.startsWith("You already have the username \"" + bot.username + "\"") - ) { - this.needsRunning = false; - } else if ( - string.startsWith("Successfully set your username to \"") - || string.startsWith("You already have the username \"") - ) { - this.needsRunning = true; - this.usernameStartTime = System.currentTimeMillis(); + public void onPlayerChangedUsername (final PlayerEntry target, final String from, final String to) { + if (target.profile.getId().equals(bot.profile.getId())) { + this.needsRunning = !to.equals(bot.username); + + if (this.needsRunning) this.usernameStartTime = System.currentTimeMillis(); + else this.successTime = System.currentTimeMillis(); } } @@ -34,6 +29,7 @@ public class UsernameSelfCare extends SelfCare { return // running less than 2 seconds is useless since the bot will just get a cooldown message (System.currentTimeMillis() - usernameStartTime) >= 2 * 1000 + && (System.currentTimeMillis() - successTime) >= 4 * 1000 // prevents the bot from spamming && IllegalCharactersUtilities.isValidChatString(username); }