mirror of
				https://github.com/ddaodan/minechatgpt.git
				synced 2025-10-31 12:14:12 +08:00 
			
		
		
		
	2.1
- 接入bStats - 调整配置文件,添加更新功能,现在更新插件应该不用再备份配置文件了 - 修改了gradle中错误的依赖
This commit is contained in:
		| @@ -4,7 +4,7 @@ plugins { | |||||||
| } | } | ||||||
|  |  | ||||||
| group = 'com' | group = 'com' | ||||||
| version = '2.0' | version = '2.1' | ||||||
|  |  | ||||||
| repositories { | repositories { | ||||||
|     mavenCentral() |     mavenCentral() | ||||||
| @@ -16,17 +16,21 @@ repositories { | |||||||
|         name = "sonatype" |         name = "sonatype" | ||||||
|         url = "https://oss.sonatype.org/content/groups/public/" |         url = "https://oss.sonatype.org/content/groups/public/" | ||||||
|     } |     } | ||||||
|  |     maven { | ||||||
|  |         url = 'https://repo.codemc.io/repository/maven-public/' | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| dependencies { | dependencies { | ||||||
|     compileOnly "org.spigotmc:spigot-api:1.13-R0.1-SNAPSHOT" |     compileOnly "org.spigotmc:spigot-api:1.13-R0.1-SNAPSHOT" | ||||||
|  |     compileOnly 'org.bstats:bstats-bukkit:3.0.2' | ||||||
|     implementation 'org.jodd:jodd-http:6.3.0' |     implementation 'org.jodd:jodd-http:6.3.0' | ||||||
|     implementation 'org.json:json:20231013' |     implementation 'org.json:json:20231013' | ||||||
| } | } | ||||||
|  |  | ||||||
| shadowJar { | shadowJar { | ||||||
|     archiveFileName = "MineChatGPT-${project.version}.jar" |     archiveFileName = "MineChatGPT-${project.version}.jar" | ||||||
|     relocate 'org.apache.http', 'com.ddaodan.shaded.org.apache.http' |     relocate 'jodd', 'com.ddaodan.shaded.jodd' | ||||||
|     relocate 'org.json', 'com.ddaodan.minechatgpt.libs.org.json' |     relocate 'org.json', 'com.ddaodan.minechatgpt.libs.org.json' | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,8 @@ | |||||||
| # 更新日志 | # 更新日志 | ||||||
|  | ## 2.1 | ||||||
|  | - 接入bStats | ||||||
|  | - 调整配置文件,添加更新功能,现在更新插件应该不用再备份配置文件了 | ||||||
|  | - 修改了gradle中错误的依赖 | ||||||
| ## 2.0 | ## 2.0 | ||||||
| - 更换为jodd-http库,减少插件大小 | - 更换为jodd-http库,减少插件大小 | ||||||
| - 支持指令补全 | - 支持指令补全 | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								readme.md
									
									
									
									
									
								
							| @@ -1,5 +1,6 @@ | |||||||
| # MineChatGPT | # MineChatGPT | ||||||
| 在Minecraft中与ChatGPT交流 | 在Minecraft中与ChatGPT交流   | ||||||
|  | 理论支持全版本,欢迎测试 | ||||||
|  |  | ||||||
| 所有的代码都是ChatGPT写的哦 | 所有的代码都是ChatGPT写的哦 | ||||||
|  |  | ||||||
| @@ -32,7 +33,7 @@ | |||||||
| # API 相关设置 | # API 相关设置 | ||||||
| api: | api: | ||||||
|   # 你的 OpenAI API key,用于身份验证 |   # 你的 OpenAI API key,用于身份验证 | ||||||
|   # 获取 API key 的方法:访问 //platform.openai.com/account/api-keys 并创建一个新的 API key |   # 获取 API key 的方法:访问 https://platform.openai.com/account/api-keys 并创建一个新的 API key | ||||||
|   key: "sk-your_openai_api_key" |   key: "sk-your_openai_api_key" | ||||||
|   # OpenAI API 的基础 URL,用于构建请求 |   # OpenAI API 的基础 URL,用于构建请求 | ||||||
|   base_url: "https://api.openai.com/v1" |   base_url: "https://api.openai.com/v1" | ||||||
| @@ -62,7 +63,6 @@ messages: | |||||||
|   help_reload: "&e/chatgpt reload - 重新加载配置文件" |   help_reload: "&e/chatgpt reload - 重新加载配置文件" | ||||||
|   help_model: "&e/chatgpt model <model_name> - 切换至其他模型" |   help_model: "&e/chatgpt model <model_name> - 切换至其他模型" | ||||||
|   help_modellist: "&e/chatgpt modellist - 可用的模型列表" |   help_modellist: "&e/chatgpt modellist - 可用的模型列表" | ||||||
|   usage: "&c输入: /chatgpt model <model_name>" |  | ||||||
|   model_switch: "&a已切换至模型 %s" |   model_switch: "&a已切换至模型 %s" | ||||||
|   chatgpt_error: "&c无法联系ChatGPT。" |   chatgpt_error: "&c无法联系ChatGPT。" | ||||||
|   chatgpt_response: "&bChatGPT: %s" |   chatgpt_response: "&bChatGPT: %s" | ||||||
| @@ -70,7 +70,19 @@ messages: | |||||||
|   invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。" |   invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。" | ||||||
|   available_models: "&e可用模型列表:" |   available_models: "&e可用模型列表:" | ||||||
|   no_permission: "&c你没有权限使用这个指令。需要的权限:%s" |   no_permission: "&c你没有权限使用这个指令。需要的权限:%s" | ||||||
|  | # 不要动!!!!! | ||||||
|  | version: 2.1 | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | ## 指令与权限 | ||||||
|  | |指令|权限|描述| | ||||||
|  | |-|-|-| | ||||||
|  | |`/chatgpt`|chatgpt.use|查看插件帮助| | ||||||
|  | |`/chatgpt <text>`|chatgpt.use|向ChatGPT提问| | ||||||
|  | |`/chatgpt reload`|chatgpt.reload|重新加载配置文件| | ||||||
|  | |`/chatgpt model <model_name>`|chatgpt.model|切换至其他模型| | ||||||
|  | |`/chatgpt modellist`|chatgpt.modellist|查看可用的模型列表| | ||||||
|  |  | ||||||
| ## 兼容的版本 | ## 兼容的版本 | ||||||
| ✔ = 完全支持   | ✔ = 完全支持   | ||||||
| ? = 部分支持   | ? = 部分支持   | ||||||
| @@ -87,6 +99,11 @@ messages: | |||||||
| 检查控制台输出的错误内容。 | 检查控制台输出的错误内容。 | ||||||
| ### `connect timeout` `connect reset` | ### `connect timeout` `connect reset` | ||||||
| 检查`config.yml`中的`base_url`能否正常访问。如果你无法连接到OpenAI官方的API地址,可以考虑使用其他反代。 | 检查`config.yml`中的`base_url`能否正常访问。如果你无法连接到OpenAI官方的API地址,可以考虑使用其他反代。 | ||||||
|  | ### 我可以添加其他模型吗? | ||||||
|  | 可以,只要模型支持OpenAI的API,就可以使用。 | ||||||
|  | ## 我没有ChatGPT的账号,可以用吗? | ||||||
|  | 可以,目前有很多代理网站,可以很轻松地使用,而且还支持其他模型,费用通常来说也会比官方便宜。如果你愿意,也可以使用我的代理,目前仅在我的QQ群:226385797中提供。 | ||||||
|  | ### 是否会支持Folia | ||||||
|  | 不会。Folia仍然在开发中,短期内不会支持。 | ||||||
| ## 赞助 | ## 赞助 | ||||||
|  |  | ||||||
| @@ -45,7 +45,7 @@ public class CommandHandler implements CommandExecutor { | |||||||
|                     return true; |                     return true; | ||||||
|                 } |                 } | ||||||
|                 if (args.length < 2) { |                 if (args.length < 2) { | ||||||
|                     sender.sendMessage(configManager.getUsageMessage()); |                     sender.sendMessage(configManager.getHelpModelMessage()); | ||||||
|                     return true; |                     return true; | ||||||
|                 } |                 } | ||||||
|                 String model = args[1]; |                 String model = args[1]; | ||||||
|   | |||||||
| @@ -21,6 +21,9 @@ public class ConfigManager { | |||||||
|     private String translateColorCodes(String message) { |     private String translateColorCodes(String message) { | ||||||
|         return ChatColor.translateAlternateColorCodes('&', message); |         return ChatColor.translateAlternateColorCodes('&', message); | ||||||
|     } |     } | ||||||
|  |     public String getConfigVersion() { | ||||||
|  |         return config.getString("version", "1.0"); | ||||||
|  |     } | ||||||
|     public String getApiKey() { |     public String getApiKey() { | ||||||
|         return config.getString("api.key"); |         return config.getString("api.key"); | ||||||
|     } |     } | ||||||
| @@ -61,10 +64,6 @@ public class ConfigManager { | |||||||
|         return translateColorCodes(config.getString("messages.help_modellist")); |         return translateColorCodes(config.getString("messages.help_modellist")); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public String getUsageMessage() { |  | ||||||
|         return translateColorCodes(config.getString("messages.usage")); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public String getModelSwitchMessage() { |     public String getModelSwitchMessage() { | ||||||
|         return translateColorCodes(config.getString("messages.model_switch")); |         return translateColorCodes(config.getString("messages.model_switch")); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -1,6 +1,8 @@ | |||||||
| package com.ddaodan.MineChatGPT; | package com.ddaodan.MineChatGPT; | ||||||
|  |  | ||||||
|  | import org.bukkit.configuration.file.FileConfiguration; | ||||||
| import org.bukkit.plugin.java.JavaPlugin; | import org.bukkit.plugin.java.JavaPlugin; | ||||||
|  | import org.bstats.bukkit.Metrics; | ||||||
|  |  | ||||||
| import java.util.Objects; | import java.util.Objects; | ||||||
|  |  | ||||||
| @@ -17,10 +19,40 @@ public final class Main extends JavaPlugin { | |||||||
|         tabCompleter = new MineChatGPTTabCompleter(configManager); |         tabCompleter = new MineChatGPTTabCompleter(configManager); | ||||||
|         Objects.requireNonNull(getCommand("chatgpt")).setExecutor(commandHandler); |         Objects.requireNonNull(getCommand("chatgpt")).setExecutor(commandHandler); | ||||||
|         Objects.requireNonNull(getCommand("chatgpt")).setTabCompleter(tabCompleter); |         Objects.requireNonNull(getCommand("chatgpt")).setTabCompleter(tabCompleter); | ||||||
|  |         // Initialize bStats | ||||||
|  |         int pluginId = 22635; | ||||||
|  |         new Metrics(this, pluginId); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onDisable() { |     public void onDisable() { | ||||||
|         saveConfig(); |         saveConfig(); | ||||||
|     } |     } | ||||||
| } |  | ||||||
|  |     private void checkAndUpdateConfig() { | ||||||
|  |         String currentVersion = getConfig().getString("version", "1.0"); | ||||||
|  |         String pluginVersion = getDescription().getVersion(); | ||||||
|  |  | ||||||
|  |         if (!currentVersion.equals(pluginVersion)) { | ||||||
|  |             // 备份旧配置文件 | ||||||
|  |             saveConfig(); | ||||||
|  |             saveResource("config.old.yml", true); | ||||||
|  |  | ||||||
|  |             // 加载默认配置文件 | ||||||
|  |             FileConfiguration defaultConfig = getConfig(); | ||||||
|  |             reloadConfig(); | ||||||
|  |             FileConfiguration newConfig = getConfig(); | ||||||
|  |  | ||||||
|  |             // 合并配置文件 | ||||||
|  |             for (String key : defaultConfig.getKeys(true)) { | ||||||
|  |                 if (!newConfig.contains(key)) { | ||||||
|  |                     newConfig.set(key, defaultConfig.get(key)); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             // 更新版本号 | ||||||
|  |             newConfig.set("version", pluginVersion); | ||||||
|  |             saveConfig(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -31,11 +31,12 @@ messages: | |||||||
|   help_reload: "&e/chatgpt reload - Reload the configuration file." |   help_reload: "&e/chatgpt reload - Reload the configuration file." | ||||||
|   help_model: "&e/chatgpt model <model_name> - Switch to a different model." |   help_model: "&e/chatgpt model <model_name> - Switch to a different model." | ||||||
|   help_modellist: "&e/chatgpt modellist - List available models." |   help_modellist: "&e/chatgpt modellist - List available models." | ||||||
|   usage: "&cUsage: /chatgpt model <model_name>" |  | ||||||
|   model_switch: "&aModel switched to %s" |   model_switch: "&aModel switched to %s" | ||||||
|   chatgpt_error: "&cFailed to contact ChatGPT." |   chatgpt_error: "&cFailed to contact ChatGPT." | ||||||
|   chatgpt_response: "&bChatGPT: %s" |   chatgpt_response: "&bChatGPT: %s" | ||||||
|   question: "&bYou: %s" |   question: "&bYou: %s" | ||||||
|   invalid_model: "&cInvalid model. Use /chatgpt modellist to see available models." |   invalid_model: "&cInvalid model. Use /chatgpt modellist to see available models." | ||||||
|   available_models: "&eAvailable models:" |   available_models: "&eAvailable models:" | ||||||
|   no_permission: "&cYou do not have permission to use this command. Required permission: %s" |   no_permission: "&cYou do not have permission to use this command. Required permission: %s" | ||||||
|  | # DO NOT EDIT!!!!! | ||||||
|  | version: 2.1 | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| # API 相关设置 | # API 相关设置 | ||||||
| api: | api: | ||||||
|   # 你的 OpenAI API key,用于身份验证 |   # 你的 OpenAI API key,用于身份验证 | ||||||
|   # 获取 API key 的方法:访问 //platform.openai.com/account/api-keys 并创建一个新的 API key |   # 获取 API key 的方法:访问 https://platform.openai.com/account/api-keys 并创建一个新的 API key | ||||||
|   key: "sk-your_openai_api_key" |   key: "sk-your_openai_api_key" | ||||||
|   # OpenAI API 的基础 URL,用于构建请求 |   # OpenAI API 的基础 URL,用于构建请求 | ||||||
|   base_url: "https://api.openai.com/v1" |   base_url: "https://api.openai.com/v1" | ||||||
| @@ -31,11 +31,12 @@ messages: | |||||||
|   help_reload: "&e/chatgpt reload - 重新加载配置文件" |   help_reload: "&e/chatgpt reload - 重新加载配置文件" | ||||||
|   help_model: "&e/chatgpt model <model_name> - 切换至其他模型" |   help_model: "&e/chatgpt model <model_name> - 切换至其他模型" | ||||||
|   help_modellist: "&e/chatgpt modellist - 可用的模型列表" |   help_modellist: "&e/chatgpt modellist - 可用的模型列表" | ||||||
|   usage: "&c输入: /chatgpt model <model_name>" |  | ||||||
|   model_switch: "&a已切换至模型 %s" |   model_switch: "&a已切换至模型 %s" | ||||||
|   chatgpt_error: "&c无法联系ChatGPT。" |   chatgpt_error: "&c无法联系ChatGPT。" | ||||||
|   chatgpt_response: "&bChatGPT: %s" |   chatgpt_response: "&bChatGPT: %s" | ||||||
|   question: "&b你: %s" |   question: "&b你: %s" | ||||||
|   invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。" |   invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。" | ||||||
|   available_models: "&e可用模型列表:" |   available_models: "&e可用模型列表:" | ||||||
|   no_permission: "&c你没有权限使用这个指令。需要的权限:%s" |   no_permission: "&c你没有权限使用这个指令。需要的权限:%s" | ||||||
|  | # 不要动!!!!! | ||||||
|  | version: 2.1 | ||||||
		Reference in New Issue
	
	Block a user