From 22f072f73875e39a0a27a82c82aeaeba3a76bed1 Mon Sep 17 00:00:00 2001 From: Sar <97328936+mcraftbbs@users.noreply.github.com> Date: Wed, 26 Feb 2025 20:45:22 +0800 Subject: [PATCH] feat(update_lang) --- build.gradle | 2 +- src/main/java/com/ollamachat/Ollamachat.java | 28 ++++++++++++++++++++ src/main/resources/lang/en.lang | 7 ++++- src/main/resources/lang/zh_cn.lang | 7 ++++- src/main/resources/plugin.yml | 8 +++--- 5 files changed, 44 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 723ac50..b5a498e 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { } group = 'com' -version = '1.0.2' +version = '1.0.2-rc2' repositories { mavenCentral() diff --git a/src/main/java/com/ollamachat/Ollamachat.java b/src/main/java/com/ollamachat/Ollamachat.java index 9fac081..b9e71f2 100644 --- a/src/main/java/com/ollamachat/Ollamachat.java +++ b/src/main/java/com/ollamachat/Ollamachat.java @@ -44,6 +44,8 @@ public class Ollamachat extends JavaPlugin implements Listener { String language = getConfig().getString("language", "en"); loadLanguageFile(language); + updateCommandUsages(); + databaseManager = new DatabaseManager(); maxHistory = getConfig().getInt("max-history", 5); chatHistoryManager = new ChatHistoryManager(databaseManager, maxHistory); @@ -56,6 +58,14 @@ public class Ollamachat extends JavaPlugin implements Listener { getCommand("aichat").setExecutor(this); } + private void updateCommandUsages() { + String usageOllamachat = getMessage("usage-ollamachat", null); + String usageAichat = getMessage("usage-aichat", null); + + getCommand("ollamachat").setUsage(usageOllamachat); + getCommand("aichat").setUsage(usageAichat); + } + @Override public void onDisable() { databaseManager.close(); @@ -81,6 +91,24 @@ public class Ollamachat extends JavaPlugin implements Listener { } private void reloadConfigValues() { + File configFile = new File(getDataFolder(), "config.yml"); + if (!configFile.exists()) { + saveDefaultConfig(); // 如果配置文件不存在,保存默认配置 + } else { + try { + YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile); + if (!config.contains("ollama-api-url") || !config.contains("model")) { + getLogger().warning(getMessage("config-invalid", null)); + configFile.delete(); + saveDefaultConfig(); + } + } catch (Exception e) { + getLogger().severe(getMessage("config-load-failed", Map.of("error", e.getMessage()))); + configFile.delete(); + saveDefaultConfig(); + } + } + reloadConfig(); updateConfig(); diff --git a/src/main/resources/lang/en.lang b/src/main/resources/lang/en.lang index 113e26c..d1a1179 100644 --- a/src/main/resources/lang/en.lang +++ b/src/main/resources/lang/en.lang @@ -4,10 +4,15 @@ toggle-enabled: "§a{ai-name} is now enabled." toggle-disabled: "§a{ai-name} is now disabled." invalid-ai-name: "§cInvalid AI name. Available AIs: {ai-list}." usage-aichat: "§cUsage: /aichat " +usage-ollamachat: "§cUsage: /ollamachat >" player-only: "§cThis command can only be used by players." ollama-enabled: "§aOllama is now enabled." ollama-disabled: "§aOllama is now disabled." # Chat interaction response-prefix: "§b[AI] §r" -error-prefix: "§c[Error] §r" \ No newline at end of file +error-prefix: "§c[Error] §r" + +# Log messages +config-invalid: "§cConfig file is invalid or incomplete. Regenerating default config..." +config-load-failed: "§cFailed to load config file: {error}. Regenerating default config..." \ No newline at end of file diff --git a/src/main/resources/lang/zh_cn.lang b/src/main/resources/lang/zh_cn.lang index 2fff9d3..c2389c2 100644 --- a/src/main/resources/lang/zh_cn.lang +++ b/src/main/resources/lang/zh_cn.lang @@ -4,10 +4,15 @@ toggle-enabled: "§a{ai-name} 已启用。" toggle-disabled: "§a{ai-name} 已禁用。" invalid-ai-name: "§c无效的 AI 名称。可用的 AI: {ai-list}。" usage-aichat: "§c用法: /aichat <提示>" +usage-ollamachat: "§c用法: /ollamachat >" player-only: "§c该命令只能由玩家使用。" ollama-enabled: "§aOllama 已启用。" ollama-disabled: "§aOllama 已禁用。" # 聊天交互 response-prefix: "§b[AI] §r" -error-prefix: "§c[错误] §r" \ No newline at end of file +error-prefix: "§c[错误] §r" + +# 日志消息 +config-invalid: "§c配置文件无效或不完整,正在重新生成默认配置..." +config-load-failed: "§c加载配置文件失败: {error},正在重新生成默认配置..." \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d8ee36f..d4bc755 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: ollamachat -version: '1.0.2-rc1' +version: '1.0.2-rc2' main: com.ollamachat.Ollamachat api-version: '1.21' authors: [xwwsdd] @@ -9,13 +9,11 @@ website: https://chat.sarskin.cn/invite/iHgI6LTX commands: ollamachat: description: Manage OllamaChat plugin (reload configuration or toggle AI) - usage: | - /ollamachat reload - Reload the plugin configuration - /ollamachat toggle - Enable or disable an AI service + usage: "{usage-ollamachat}" permission: ollamachat.admin aichat: description: Interact with other AI services - usage: /aichat + usage: "{usage-aichat}" permission: ollamachat.use permissions: