diff --git a/.idea/misc.xml b/.idea/misc.xml index f369c56..fae6c8e 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 862d0ad..adfbb97 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,6 @@ dependencies { compileOnly("io.papermc.paper:paper-api:1.19.2-R0.1-SNAPSHOT") implementation 'com.theokanning.openai-gpt3-java:client:0.8.1' - api 'com.github.ben-manes.caffeine:caffeine:3.1.1' compileOnly 'org.checkerframework:checker-qual:3.21.2' compileOnly 'org.jetbrains:annotations:23.0.0' @@ -43,8 +42,6 @@ dependencies { shadowJar { archiveFileName = "MinecraftGPT-${project.ext.fullVersion}.jar" - - relocate 'com.github.benmanes.caffeine', 'it.ohalee.minecraftgpt.lib.caffeine' } artifacts { diff --git a/src/main/java/it/ohalee/minecraftgpt/Main.java b/src/main/java/it/ohalee/minecraftgpt/Main.java index 32d0ffb..b813308 100644 --- a/src/main/java/it/ohalee/minecraftgpt/Main.java +++ b/src/main/java/it/ohalee/minecraftgpt/Main.java @@ -1,38 +1,30 @@ package it.ohalee.minecraftgpt; -import com.github.benmanes.caffeine.cache.Cache; -import com.github.benmanes.caffeine.cache.Caffeine; -import com.github.benmanes.caffeine.cache.RemovalCause; +import com.google.common.cache.*; import it.ohalee.minecraftgpt.command.GPTCommand; +import it.ohalee.minecraftgpt.handler.PlayerHandlers; import lombok.Getter; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; public class Main extends JavaPlugin { - private final ExecutorService executor; @Getter private Cache cache; - public Main() { - executor = Executors.newSingleThreadExecutor(); - } - @Override public void onEnable() { - cache = Caffeine.newBuilder() + cache = CacheBuilder.newBuilder() .expireAfterWrite(30, TimeUnit.MINUTES) - .executor(executor) - .removalListener((key, value, cause) -> { - if (key != null && cause == RemovalCause.EXPIRED) { - ((Player) key).sendMessage("ChatGPT has disconnected."); + .removalListener((RemovalListener) notification -> { + if (notification.getCause() == RemovalCause.EXPIRED && notification.getKey() != null) { + notification.getKey().sendMessage("ChatGPT has disconnected."); } - }) - .build(); + }).build(); + + getServer().getPluginManager().registerEvents(new PlayerHandlers(this), this); getCommand("chatgpt").setExecutor(new GPTCommand(this)); @@ -41,8 +33,6 @@ public class Main extends JavaPlugin { @Override public void onDisable() { - executor.shutdown(); - getLogger().info("Plugin disabled!"); } diff --git a/src/main/java/it/ohalee/minecraftgpt/OpenAI.java b/src/main/java/it/ohalee/minecraftgpt/OpenAI.java index 30d8391..f33636f 100644 --- a/src/main/java/it/ohalee/minecraftgpt/OpenAI.java +++ b/src/main/java/it/ohalee/minecraftgpt/OpenAI.java @@ -8,7 +8,7 @@ import java.util.concurrent.CompletableFuture; public class OpenAI { - private static final OpenAiService service = new OpenAiService(""); + private static final OpenAiService service = new OpenAiService("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", 0); public static CompletableFuture getResponse(StringBuilder cached, String message) { cached.append("\nHuman:").append(message).append("\nAI:"); diff --git a/src/main/java/it/ohalee/minecraftgpt/handler/PlayerHandlers.java b/src/main/java/it/ohalee/minecraftgpt/handler/PlayerHandlers.java index 1930db1..40be8d8 100644 --- a/src/main/java/it/ohalee/minecraftgpt/handler/PlayerHandlers.java +++ b/src/main/java/it/ohalee/minecraftgpt/handler/PlayerHandlers.java @@ -27,14 +27,13 @@ public class PlayerHandlers implements Listener { if (this.plugin.getCache().asMap().containsKey(player)) { e.setCancelled(true); + player.sendMessage(ChatColor.AQUA + "You: " + ChatColor.GRAY + e.getMessage()); OpenAI.getResponse(plugin.getCache().getIfPresent(player), e.getMessage()).whenComplete((response, throwable) -> { if (throwable != null) { throwable.printStackTrace(); player.sendMessage(ChatColor.RED + "An error occurred while processing your message."); return; } - - player.sendMessage(ChatColor.AQUA + "You: " + ChatColor.GRAY + e.getMessage()); player.sendMessage(ChatColor.AQUA + "AI: " + ChatColor.GREEN + response); }); }