diff --git a/.gradle/8.8/checksums/checksums.lock b/.gradle/8.8/checksums/checksums.lock new file mode 100644 index 0000000..b0c6d2e Binary files /dev/null and b/.gradle/8.8/checksums/checksums.lock differ diff --git a/.gradle/8.8/checksums/md5-checksums.bin b/.gradle/8.8/checksums/md5-checksums.bin new file mode 100644 index 0000000..bf536e1 Binary files /dev/null and b/.gradle/8.8/checksums/md5-checksums.bin differ diff --git a/.gradle/8.8/checksums/sha1-checksums.bin b/.gradle/8.8/checksums/sha1-checksums.bin new file mode 100644 index 0000000..77a6c18 Binary files /dev/null and b/.gradle/8.8/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.8/dependencies-accessors/gc.properties b/.gradle/8.8/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin new file mode 100644 index 0000000..260a036 Binary files /dev/null and b/.gradle/8.8/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock new file mode 100644 index 0000000..0ecd3f7 Binary files /dev/null and b/.gradle/8.8/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.8/fileChanges/last-build.bin b/.gradle/8.8/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/.gradle/8.8/fileChanges/last-build.bin differ diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin new file mode 100644 index 0000000..2cb257e Binary files /dev/null and b/.gradle/8.8/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.8/fileHashes/fileHashes.lock b/.gradle/8.8/fileHashes/fileHashes.lock new file mode 100644 index 0000000..b505514 Binary files /dev/null and b/.gradle/8.8/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..9065799 Binary files /dev/null and b/.gradle/8.8/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/8.8/gc.properties b/.gradle/8.8/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000..5cabd4b Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..70fd54a --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Wed Apr 23 20:48:37 CEST 2025 +gradle.version=8.8 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..3377366 Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe new file mode 100644 index 0000000..f63e7b7 Binary files /dev/null and b/.gradle/file-system.probe differ diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..3566ed5 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +OllamaChat \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/discord.xml b/.idea/discord.xml new file mode 100644 index 0000000..6b01108 --- /dev/null +++ b/.idea/discord.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..f9163b4 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/.idea/highlightedFiles.xml b/.idea/highlightedFiles.xml new file mode 100644 index 0000000..f9d3c5e --- /dev/null +++ b/.idea/highlightedFiles.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..ed6ca53 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..dc14fc0 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/OllamaChat.main.iml b/.idea/modules/OllamaChat.main.iml new file mode 100644 index 0000000..bbeeb3e --- /dev/null +++ b/.idea/modules/OllamaChat.main.iml @@ -0,0 +1,14 @@ + + + + + + + PAPER + ADVENTURE + + 1 + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/com/ollamachat/AIService.java b/src/main/java/com/ollamachat/AIService.java index ea7421b..f54c76e 100644 --- a/src/main/java/com/ollamachat/AIService.java +++ b/src/main/java/com/ollamachat/AIService.java @@ -1,6 +1,8 @@ package com.ollamachat; import com.google.gson.Gson; +import org.bukkit.Bukkit; + import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; @@ -23,16 +25,9 @@ public class AIService { public CompletableFuture sendRequest(String apiUrl, String apiKey, String model, String prompt) { return CompletableFuture.supplyAsync(() -> { try { - // 按照OpenAI Chat API要求构造messages数组 - List> messages = new ArrayList<>(); - messages.add(Map.of( - "role", "user", - "content", prompt - )); - Map requestBody = Map.of( "model", model, - "messages", messages, // 关键修改:将prompt改为messages + "prompt", prompt, "stream", false ); @@ -41,7 +36,6 @@ public class AIService { HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() .uri(URI.create(apiUrl)) .header("Content-Type", "application/json") - .header("Authorization", "Bearer " + apiKey) // 确保认证头存在 .POST(HttpRequest.BodyPublishers.ofString(jsonRequest)); HttpRequest request = requestBuilder.build(); @@ -52,11 +46,14 @@ public class AIService { ); if (response.statusCode() == 200) { + Bukkit.getConsoleSender().sendMessage("AI API Response: " + response.body()); return response.body(); } else { + Bukkit.getConsoleSender().sendMessage("AI API Response-ERR: " + response.body()); throw new RuntimeException("AI API Error: " + response.body()); } } catch (Exception e) { + Bukkit.getConsoleSender().sendMessage("AI API Response-ERR: " + e.getMessage()); throw new RuntimeException("Failed to get response from AI: " + e.getMessage(), e); } }); diff --git a/src/main/java/com/ollamachat/Ollamachat.java b/src/main/java/com/ollamachat/Ollamachat.java index 77bc138..366ebef 100644 --- a/src/main/java/com/ollamachat/Ollamachat.java +++ b/src/main/java/com/ollamachat/Ollamachat.java @@ -2,6 +2,7 @@ package com.ollamachat; import com.google.gson.Gson; import com.google.gson.JsonObject; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -176,7 +177,7 @@ public class Ollamachat extends JavaPlugin implements Listener { Player player = event.getPlayer(); if (message.startsWith(triggerPrefix)) { - event.setCancelled(true); + /*event.setCancelled(true);*/ String prompt = message.substring(triggerPrefix.length()).trim(); if (!prompt.isEmpty()) { @@ -259,7 +260,8 @@ public class Ollamachat extends JavaPlugin implements Listener { if (response.length() > maxResponseLength) { response = response.substring(0, maxResponseLength) + "..."; } - player.sendMessage(getMessage("response-prefix", null) + response); + Bukkit.broadcast(Component.text(getMessage("response-prefix", null) + response)); + /*player.sendMessage(getMessage("response-prefix", null) + response);*/ } private void sendErrorMessage(Player player, String errorMessage) {