83 lines
2.8 KiB
Java
83 lines
2.8 KiB
Java
package me.libraryaddict.disguise.commands.libsdisguises;
|
|
|
|
import me.libraryaddict.disguise.LibsDisguises;
|
|
import me.libraryaddict.disguise.utilities.DisguiseUtilities;
|
|
import me.libraryaddict.disguise.utilities.translations.LibsMsg;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
|
|
import java.io.File;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
/**
|
|
* Created by libraryaddict on 30/06/2020.
|
|
*/
|
|
public class LDUpdateProtocolLib implements LDCommand {
|
|
private final AtomicBoolean updateInProgress = new AtomicBoolean(false);
|
|
|
|
@Override
|
|
public List<String> getTabComplete() {
|
|
return Arrays.asList("updateprotocollib", "updatepl", "protocollib");
|
|
}
|
|
|
|
@Override
|
|
public boolean hasPermission(CommandSender sender) {
|
|
return sender.isOp() || sender.hasPermission("minecraft.command.op");
|
|
}
|
|
|
|
@Override
|
|
public String getPermission() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void onCommand(CommandSender sender, String[] args) {
|
|
if (updateInProgress.get()) {
|
|
sender.sendMessage(ChatColor.RED + "Update already in progress");
|
|
return;
|
|
}
|
|
|
|
sender.sendMessage(ChatColor.RED + "Please hold, now downloading..");
|
|
|
|
new BukkitRunnable() {
|
|
@Override
|
|
public void run() {
|
|
File protocolLibFile = null;
|
|
|
|
try {
|
|
DisguiseUtilities.updateProtocolLib();
|
|
|
|
new BukkitRunnable() {
|
|
@Override
|
|
public void run() {
|
|
sender.sendMessage(ChatColor.RED + "Update success! Restart server to finish update!");
|
|
}
|
|
}.runTask(LibsDisguises.getInstance());
|
|
} catch (Exception ex) {
|
|
ex.printStackTrace();
|
|
|
|
new BukkitRunnable() {
|
|
@Override
|
|
public void run() {
|
|
sender.sendMessage(ChatColor.RED +
|
|
"Looks like ProtocolLib's site may be down! MythicCraft/MythicMobs has a discord server https://discord.gg/EErRhJ4qgx you" +
|
|
" can join. Check the pins in #libs-support for a ProtocolLib.jar you can download!");
|
|
sender.sendMessage(ChatColor.RED + "Update failed, " + ex.getMessage());
|
|
}
|
|
}.runTask(LibsDisguises.getInstance());
|
|
} finally {
|
|
updateInProgress.set(false);
|
|
}
|
|
}
|
|
}.runTaskAsynchronously(LibsDisguises.getInstance());
|
|
}
|
|
|
|
@Override
|
|
public LibsMsg getHelp() {
|
|
return LibsMsg.LD_COMMAND_UPDATEPROTOCOLLIB;
|
|
}
|
|
}
|