From b8f6e8af41583dad21dff55c49128725c228e6db Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Thu, 4 Jan 2024 00:51:33 +0800 Subject: [PATCH] finish some frame --- .gitea/workflows/build.yml | 40 ++++++++++++++ .../java/cn/lunadeer/newbtitle/NewbTitle.java | 6 +++ .../newbtitle/utils/ConfigManager.java | 34 ++++++++++++ .../newbtitle/utils/Notification.java | 25 +++++++++ .../cn/lunadeer/newbtitle/utils/XLogger.java | 54 +++++++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 .gitea/workflows/build.yml create mode 100644 src/main/java/cn/lunadeer/newbtitle/utils/ConfigManager.java create mode 100644 src/main/java/cn/lunadeer/newbtitle/utils/Notification.java create mode 100644 src/main/java/cn/lunadeer/newbtitle/utils/XLogger.java diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..9ab48f1 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,40 @@ +name: Java CI-CD with Maven + +on: + push: + tags: + - '*' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: "Pull & Checkout" + uses: https://ssl.lunadeer.cn:14446/actions/checkout@v3 + with: + fetch-depth: 0 + - name: "Set up Maven" + uses: https://ssl.lunadeer.cn:14446/actions/setup-maven@v4 + - name: "Set up JDK 17" + uses: https://ssl.lunadeer.cn:14446/actions/setup-java@v3 + with: + java-version: '17' + distribution: 'zulu' + cache: maven + - name: "Build with Maven" + run: mvn -B package --file pom.xml + - name: "Copy jar to staging" + run: mkdir staging && cp target/*.jar staging + - name: "Build & test" + run: | + echo "done!" + - name: "setup go for release script" + uses: https://ssl.lunadeer.cn:14446/actions/setup-go@v4 + with: + go-version: '>=1.20.1' + - name: "Release" + uses: https://ssl.lunadeer.cn:14446/actions/release-action@main + with: + files: |- + staging/*.jar + api_key: '${{secrets.RELEASE_TOKEN}}' \ No newline at end of file diff --git a/src/main/java/cn/lunadeer/newbtitle/NewbTitle.java b/src/main/java/cn/lunadeer/newbtitle/NewbTitle.java index 4b98a4f..9f0db79 100644 --- a/src/main/java/cn/lunadeer/newbtitle/NewbTitle.java +++ b/src/main/java/cn/lunadeer/newbtitle/NewbTitle.java @@ -1,5 +1,6 @@ package cn.lunadeer.newbtitle; +import cn.lunadeer.newbtitle.utils.ConfigManager; import org.bukkit.plugin.java.JavaPlugin; public final class NewbTitle extends JavaPlugin { @@ -7,6 +8,8 @@ public final class NewbTitle extends JavaPlugin { @Override public void onEnable() { // Plugin startup logic + instance = this; + config = new ConfigManager(instance); } @@ -14,4 +17,7 @@ public final class NewbTitle extends JavaPlugin { public void onDisable() { // Plugin shutdown logic } + + public static NewbTitle instance; + public static ConfigManager config; } diff --git a/src/main/java/cn/lunadeer/newbtitle/utils/ConfigManager.java b/src/main/java/cn/lunadeer/newbtitle/utils/ConfigManager.java new file mode 100644 index 0000000..879264d --- /dev/null +++ b/src/main/java/cn/lunadeer/newbtitle/utils/ConfigManager.java @@ -0,0 +1,34 @@ +package cn.lunadeer.newbtitle.utils; + +import cn.lunadeer.newbtitle.NewbTitle; +import org.bukkit.configuration.file.FileConfiguration; + +public class ConfigManager { + public ConfigManager(NewbTitle plugin) { + _plugin = plugin; + _plugin.saveDefaultConfig(); + reload(); + } + + public void reload() { + _plugin.reloadConfig(); + _file = _plugin.getConfig(); + _debug = _file.getBoolean("Debug", false); + } + + public Boolean isDebug() { + return _debug; + } + + public void setDebug(Boolean debug) { + _debug = debug; + _file.set("Debug", debug); + _plugin.saveConfig(); + } + + + + private NewbTitle _plugin; + private FileConfiguration _file; + private Boolean _debug; +} diff --git a/src/main/java/cn/lunadeer/newbtitle/utils/Notification.java b/src/main/java/cn/lunadeer/newbtitle/utils/Notification.java new file mode 100644 index 0000000..6d2e95c --- /dev/null +++ b/src/main/java/cn/lunadeer/newbtitle/utils/Notification.java @@ -0,0 +1,25 @@ +package cn.lunadeer.newbtitle.utils; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.Style; +import net.kyori.adventure.text.format.TextColor; +import org.bukkit.entity.Player; + +public class Notification { + private static final Style i_style = Style.style(TextColor.color(139, 255, 123)); + private static final Style w_style = Style.style(TextColor.color(255, 185, 69)); + private static final Style e_style = Style.style(TextColor.color(255, 96, 72)); + + public static void info(Player player, String msg) { + player.sendMessage(Component.text("[LWE] " + msg, i_style)); + } + + + public static void warn(Player player, String msg) { + player.sendMessage(Component.text("[LWE] " + msg, w_style)); + } + + public static void error(Player player, String msg) { + player.sendMessage(Component.text("[LWE] " + msg, e_style)); + } +} diff --git a/src/main/java/cn/lunadeer/newbtitle/utils/XLogger.java b/src/main/java/cn/lunadeer/newbtitle/utils/XLogger.java new file mode 100644 index 0000000..0ed3e6c --- /dev/null +++ b/src/main/java/cn/lunadeer/newbtitle/utils/XLogger.java @@ -0,0 +1,54 @@ +package cn.lunadeer.newbtitle.utils; + +import cn.lunadeer.newbtitle.NewbTitle; +import org.bukkit.entity.Player; + +import java.util.logging.Logger; + +public class XLogger { + private static final NewbTitle _plugin = NewbTitle.instance; + private static final Logger _logger = _plugin.getLogger(); + + public static void info(Player player, String message) { + Notification.info(player, "NewbTitle I | " + message); + if (NewbTitle.config.isDebug()) + debug("来自玩家[ " + player.getName() + " ] 的信息 | " + message); + } + + public static void info(String message) { + _logger.info(" I | " + message); + } + + public static void warn(Player player, String message) { + Notification.warn(player, "NewbTitle W | " + message); + if (NewbTitle.config.isDebug()) + debug("来自玩家[ " + player.getName() + " ] 的警告 | " + message); + } + + public static void warn(String message) { + _logger.info(" W | " + message); + } + + public static void err(Player player, String message) { + Notification.error(player, "NewbTitle E | " + message); + if (NewbTitle.config.isDebug()) + debug("来自玩家[ " + player.getName() + " ] 的报错 | " + message); + } + + public static void err(String message) { + _logger.info(" E | " + message); + } + + public static void debug(Player player, String message) { + if (!NewbTitle.config.isDebug()) return; + if (player.isOp()) + Notification.info(player, "NewbTitle D | " + message); + else + debug("来自玩家[ " + player.getName() + " ] 的调试 | " + message); + } + + public static void debug(String message) { + if (!NewbTitle.config.isDebug()) return; + _logger.info(" D | " + message); + } +}