From 43061c850bc4b5f10394a6dc2735de6fb50492e5 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Tue, 23 May 2023 19:14:16 +0700 Subject: [PATCH] actually use less dependencies/.,,.,. --- dependency-reduced-pom.xml | 5 --- pom.xml | 19 ---------- .../chipmunk/chayapak/chomens_bot/Bot.java | 4 +-- .../chomens_bot/commands/CowsayCommand.java | 6 ++-- .../plugins/CommandHandlerPlugin.java | 4 +-- .../chomens_bot/util/ExceptionUtilities.java | 16 +++++++++ .../util/RandomStringUtilities.java | 35 +++++++++++++++++++ 7 files changed, 57 insertions(+), 32 deletions(-) create mode 100644 src/main/java/land/chipmunk/chayapak/chomens_bot/util/ExceptionUtilities.java create mode 100644 src/main/java/land/chipmunk/chayapak/chomens_bot/util/RandomStringUtilities.java diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 2f89e832..30ff132b 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -7,11 +7,6 @@ rolling - - com.github.ricksbrown - cowsay - 1.1.0 - maven-jar-plugin 3.2.0 diff --git a/pom.xml b/pom.xml index 45e63f39..dcec9226 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,6 @@ org.projectlombok lombok 1.18.26 - compile @@ -67,12 +66,6 @@ 3.23.0 - - org.apache.commons - commons-lang3 - 3.12.0 - - com.github.ricksbrown cowsay @@ -80,12 +73,6 @@ lib - - com.github.ricksbrown - cowjar-extra - 1.1.0 - - org.yaml snakeyaml @@ -125,12 +112,6 @@ - - com.github.ricksbrown - cowsay - 1.1.0 - - org.apache.maven.plugins diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java index 0b27d5ef..12ff2077 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java @@ -10,9 +10,9 @@ import com.github.steveice10.packetlib.packet.Packet; import com.github.steveice10.packetlib.tcp.TcpClientSession; import land.chipmunk.chayapak.chomens_bot.plugins.*; import land.chipmunk.chayapak.chomens_bot.util.ComponentUtilities; +import land.chipmunk.chayapak.chomens_bot.util.RandomStringUtilities; import lombok.Getter; import lombok.Setter; -import org.apache.commons.lang3.RandomStringUtils; import java.util.ArrayList; import java.util.List; @@ -125,7 +125,7 @@ public class Bot { final String _username = options.username(); - if (_username == null) username = RandomStringUtils.randomAlphanumeric(8); + if (_username == null) username = RandomStringUtilities.generate(8); else username = _username; Session session = new TcpClientSession(host, port, new MinecraftProtocol(username), null); diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CowsayCommand.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CowsayCommand.java index df698b78..bd19c44c 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CowsayCommand.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CowsayCommand.java @@ -18,7 +18,7 @@ public class CowsayCommand implements Command { public List usage() { final List usages = new ArrayList<>(); - usages.add(" <{message}>"); + usages.add("<{message}>"); return usages; } @@ -35,11 +35,9 @@ public class CowsayCommand implements Command { } public Component execute(CommandContext context, String[] args, String[] fullArgs) { - final String cow = args[0]; - final String message = String.join(" ", Arrays.copyOfRange(args, 1, args.length)); + final String message = String.join(" ", args); final CowExecutor cowExecutor = new CowExecutor(); - cowExecutor.setCowfile(cow); cowExecutor.setMessage(message); final String result = cowExecutor.execute(); diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java index a49a3c92..78e1e18d 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java @@ -4,13 +4,13 @@ import land.chipmunk.chayapak.chomens_bot.Bot; import land.chipmunk.chayapak.chomens_bot.command.Command; import land.chipmunk.chayapak.chomens_bot.command.CommandContext; import land.chipmunk.chayapak.chomens_bot.commands.*; +import land.chipmunk.chayapak.chomens_bot.util.ExceptionUtilities; import lombok.Getter; import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.HoverEvent; import net.kyori.adventure.text.format.NamedTextColor; -import org.apache.commons.lang3.exception.ExceptionUtils; import java.util.ArrayList; import java.util.Arrays; @@ -146,7 +146,7 @@ public class CommandHandlerPlugin { } catch (Exception e) { e.printStackTrace(); - final String stackTrace = ExceptionUtils.getStackTrace(e); + final String stackTrace = ExceptionUtilities.getStacktrace(e); if (inGame) { if (bot.options().useChat() || !bot.options().useCore()) return Component.text(e.toString()).color(NamedTextColor.RED); return Component diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/util/ExceptionUtilities.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/util/ExceptionUtilities.java new file mode 100644 index 00000000..5d69763b --- /dev/null +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/util/ExceptionUtilities.java @@ -0,0 +1,16 @@ +package land.chipmunk.chayapak.chomens_bot.util; + +import java.io.PrintWriter; +import java.io.StringWriter; + +public class ExceptionUtilities { + // totallynotskidded™ from apache's common utils thingy + public static String getStacktrace (Throwable throwable) { + final StringWriter sw = new StringWriter(); + final PrintWriter pw = new PrintWriter(sw, true); + + throwable.printStackTrace(pw); + + return sw.getBuffer().toString(); + } +} diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/util/RandomStringUtilities.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/util/RandomStringUtilities.java new file mode 100644 index 00000000..8d768437 --- /dev/null +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/util/RandomStringUtilities.java @@ -0,0 +1,35 @@ +package land.chipmunk.chayapak.chomens_bot.util; + +import java.security.SecureRandom; + +// https://stackoverflow.com/questions/41107/how-to-generate-a-random-alpha-numeric-string +// but modified +public class RandomStringUtilities { + private static String nextString() { + // fard + for (int i = 0; i < buf.length; i++) + buf[i] = symbols[random.nextInt(symbols.length)]; + return new String(buf); + } + + private static final String upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + private static final String lower = upper.toLowerCase(); + + private static final String digits = "0123456789"; + + private static final String alphanum = upper + lower + digits; + + private static final char[] symbols = alphanum.toCharArray(); + + private static char[] buf = null; + + private static final SecureRandom random = new SecureRandom(); + + // TODO: mabe support stuff than alpha-numeric + public static String generate (int length) { + buf = new char[length]; + + return nextString(); + } +}