From bf54ed7b8f0731dd65675484833533896907d729 Mon Sep 17 00:00:00 2001 From: iTakinn Date: Sun, 16 Mar 2025 16:58:49 -0300 Subject: [PATCH] primeirinho --- .gitignore | 6 ++ pom.xml | 77 +++++++++++++++++++ .../org/itakinn/tknlogs/DiscordNotifier.java | 38 +++++++++ .../org/itakinn/tknlogs/ErrorCatcher.java | 31 ++++++++ .../java/org/itakinn/tknlogs/TKNLogs.java | 32 ++++++++ src/main/resources/config.yml | 3 + src/main/resources/plugin.yml | 5 ++ 7 files changed, 192 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/org/itakinn/tknlogs/DiscordNotifier.java create mode 100644 src/main/java/org/itakinn/tknlogs/ErrorCatcher.java create mode 100644 src/main/java/org/itakinn/tknlogs/TKNLogs.java create mode 100644 src/main/resources/config.yml create mode 100644 src/main/resources/plugin.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9955372 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +target/original-TKNLogs-1.0-SNAPSHOT.jar +target/TKNLogs-1.0-SNAPSHOT.jar +dependency-reduced-pom.xml +TKNLogs.iml +.idea +target diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..6b0015f --- /dev/null +++ b/pom.xml @@ -0,0 +1,77 @@ + + + 4.0.0 + + org.itakinn + TKNLogs + 1.0-SNAPSHOT + jar + + TKNLogs + + + 17 + UTF-8 + + + + clean package + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.5.3 + + + package + + shade + + + + + + + + src/main/resources + true + + + + + + + spigotmc-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + net.dv8tion + JDA + 5.3.0 + + + org.spigotmc + spigot-api + 1.20.1-R0.1-SNAPSHOT + provided + + + diff --git a/src/main/java/org/itakinn/tknlogs/DiscordNotifier.java b/src/main/java/org/itakinn/tknlogs/DiscordNotifier.java new file mode 100644 index 0000000..149ef1d --- /dev/null +++ b/src/main/java/org/itakinn/tknlogs/DiscordNotifier.java @@ -0,0 +1,38 @@ +package org.itakinn.tknlogs; + + +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.plugin.java.JavaPlugin; +import java.util.Objects; + + +public class DiscordNotifier { + private static JDA api; + private final static JavaPlugin plugin = TKNLogs.getPlugin(); + private final static FileConfiguration config = plugin.getConfig(); + private static TextChannel channel; + public DiscordNotifier(){ + api = JDABuilder.createDefault(config.getString("discord.token")).build(); + + /* .addEventListeners(new SlashListener()).build(); + api.upsertCommand("genimg", "gera uma img") + .addOption(OptionType.STRING, "resolução", "resolução da imagem", true, true) + .addOption(OptionType.STRING, "prompt", "prompt pra gerar a imagem", true) + .queue();*/ + + channel = api.getTextChannelById(Objects.requireNonNull(config.getString("discord.channel-id"))); + } + public void sendMessage(String message){ + channel.sendMessage(message).queue(); + + + } + public void sendShutdown(){ + api.shutdown(); + } + + public static JDA getJDA() {return api;} +} \ No newline at end of file diff --git a/src/main/java/org/itakinn/tknlogs/ErrorCatcher.java b/src/main/java/org/itakinn/tknlogs/ErrorCatcher.java new file mode 100644 index 0000000..d2bc907 --- /dev/null +++ b/src/main/java/org/itakinn/tknlogs/ErrorCatcher.java @@ -0,0 +1,31 @@ +package org.itakinn.tknlogs; + +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.LogRecord; + + +public class ErrorCatcher extends Handler { + @Override + public void publish(LogRecord record) { + if (record.getLevel() == Level.SEVERE|| record.getLevel() == Level.WARNING) { + String mensagem = record.getMessage(); + Throwable excecao = record.getThrown(); + TKNLogs.getDiscord().sendMessage(mensagem); + TKNLogs.getDiscord().sendMessage(excecao.toString()); + //Bukkit.getConsoleSender().sendMessage("§c[ERROR] " + mensagem); + + if (excecao != null) { + excecao.printStackTrace(); + } + } + } + + @Override + public void flush() { + } + + @Override + public void close() throws SecurityException { + } +} diff --git a/src/main/java/org/itakinn/tknlogs/TKNLogs.java b/src/main/java/org/itakinn/tknlogs/TKNLogs.java new file mode 100644 index 0000000..0dc1f2c --- /dev/null +++ b/src/main/java/org/itakinn/tknlogs/TKNLogs.java @@ -0,0 +1,32 @@ +package org.itakinn.tknlogs; + +import org.bukkit.Bukkit; +import java.util.logging.Logger; +import org.bukkit.plugin.java.JavaPlugin; + +public final class TKNLogs extends JavaPlugin { + private static DiscordNotifier discord; + private static JavaPlugin plugin; + @Override + public void onEnable() { + plugin = this; + saveDefaultConfig(); + reloadConfig(); + + discord = new DiscordNotifier(); + Logger logger = Bukkit.getLogger(); + logger.addHandler(new ErrorCatcher()); + + } + public static JavaPlugin getPlugin(){ + return plugin; + } + public static DiscordNotifier getDiscord(){ + return discord; + } + @Override + public void onDisable() { + discord.sendMessage("Desligando o plugin"); + discord.sendShutdown(); + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..362384b --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,3 @@ +discord: + token: "" + channel-id: "" \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..1fa6add --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,5 @@ +name: TKNLogs +version: '1.0-SNAPSHOT' +main: org.itakinn.tknlogs.TKNLogs +api-version: '1.20' +authors: [iTakinn]