diff --git a/build-number.txt b/build-number.txt index 3a2ac0e3..32196acb 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -1701 \ No newline at end of file +1702 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java index eb87feef..906e5c77 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java @@ -81,6 +81,8 @@ public class EvalPlugin { final CompletableFuture future = futures.get(id); future.complete(new EvalOutput(isError, output)); + + futures.remove(id); }); socket.connect(); diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/QueryPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/QueryPlugin.java index bcfe49b5..4ed0892c 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/QueryPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/QueryPlugin.java @@ -15,7 +15,7 @@ import java.util.concurrent.CompletableFuture; public class QueryPlugin extends Bot.Listener { private final Bot bot; - private int nextTransactionId = 0; + private long nextTransactionId = 0; private final Map> transactions = new HashMap<>(); private final List ids = new ArrayList<>(); @@ -48,12 +48,14 @@ public class QueryPlugin extends Bot.Listener { if (!(children.getFirst() instanceof TextComponent)) return true; - final long transactionId = Integer.parseInt(((TextComponent) children.getFirst()).content()); + final long transactionId = Long.parseLong(((TextComponent) children.getFirst()).content()); if (!transactions.containsKey(transactionId)) return true; final CompletableFuture future = transactions.get(transactionId); + transactions.remove(transactionId); + if (children.size() == 1) { future.complete(null); } else { diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/TabCompletePlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/TabCompletePlugin.java index b676886f..97eac98c 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/TabCompletePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/TabCompletePlugin.java @@ -29,6 +29,7 @@ public class TabCompletePlugin extends Bot.Listener { final CompletableFuture future = new CompletableFuture<>(); transactions.put(transactionId, future); + return future; } @@ -38,6 +39,10 @@ public class TabCompletePlugin extends Bot.Listener { } public void packetReceived (ClientboundCommandSuggestionsPacket packet) { - transactions.get(packet.getTransactionId()).complete(packet); + final int id = packet.getTransactionId(); + + transactions.get(id).complete(packet); + + transactions.remove(id); } }