diff --git a/pom.xml b/pom.xml
index 3de4e8b..e330d28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,7 +89,7 @@
jeff-media-public
- https://hub.jeff-media.com/nexus/repository/jeff-media-public/
+ https://repo.jeff-media.com/public/
ess-repo
diff --git a/src/me/rockyhawk/commandpanels/editor/CommandPanelsEditor.java b/src/me/rockyhawk/commandpanels/editor/CommandPanelsEditor.java
index 7137adb..c81b18f 100644
--- a/src/me/rockyhawk/commandpanels/editor/CommandPanelsEditor.java
+++ b/src/me/rockyhawk/commandpanels/editor/CommandPanelsEditor.java
@@ -3,19 +3,19 @@ package me.rockyhawk.commandpanels.editor;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.api.Panel;
import net.md_5.bungee.api.chat.*;
+import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.scheduler.BukkitRunnable;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.concurrent.CompletableFuture;
public class CommandPanelsEditor implements CommandExecutor {
CommandPanels plugin;
@@ -81,14 +81,11 @@ public class CommandPanelsEditor implements CommandExecutor {
}
//download the requested panel using an import
if (args.length == 3) {
- new BukkitRunnable() {
- @Override
- public void run() {
- downloadPanel(sender,args[1],args[0], args[2]);
- plugin.reloadPanelFiles();
- plugin.hotbar.reloadHotbarSlots();
- }
- }.run();
+ downloadPanel(sender,args[1],args[0], args[2]).thenAccept((ignored) -> {
+ plugin.reloadPanelFiles();
+ plugin.hotbar.reloadHotbarSlots();
+ });
+
return true;
}
}else{
@@ -99,12 +96,17 @@ public class CommandPanelsEditor implements CommandExecutor {
return true;
}
- private void downloadPanel(CommandSender sender, String userID, String fileName, String token) {
+ private CompletableFuture downloadPanel(CommandSender sender, String userID, String fileName, String token) {
+ CompletableFuture future = new CompletableFuture<>();
+
//get custom editor URL
String url = "https://firebasestorage.googleapis.com/v0/b/commandpanels-website.appspot.com/o/pastes%2F" + userID + "%2F" + fileName + "?alt=media&token=" + token;
+ Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
+ plugin.downloader.downloadPanel(sender, url, fileName);
+ future.complete(null);
+ });
- plugin.downloader.downloadPanel(sender, url, fileName);
-
+ return future;
}
private String readFileAsString(String filePath) {