diff --git a/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java b/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java index 02355413f..65bf3ccfe 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java @@ -81,7 +81,6 @@ public class Fawe { private final FaweTimer timer; private FaweVersion version; private VisualQueue visualQueue; - private Updater updater; private TextureUtil textures; private DefaultTransformParser transformParser; private ChatManager chatManager = new PlainChatManager(); @@ -198,26 +197,11 @@ public class Fawe { }, 0); TaskManager.IMP.repeat(timer, 1); - - if (!Settings.IMP.UPDATE.equalsIgnoreCase("false")) { - // Delayed updating - updater = new Updater(); - TaskManager.IMP.async(this::update); - TaskManager.IMP.repeatAsync(this::update, 36000); - } } public void onDisable() { } - private boolean update() { - if (updater != null) { - updater.getUpdate(IMP.getPlatform(), getVersion()); - return true; - } - return false; - } - public CUI getCUI(Actor actor) { FawePlayer fp = FawePlayer.wrap(actor); CUI cui = fp.getMeta("CUI"); @@ -255,16 +239,6 @@ public class Fawe { return transformParser; } - /** - * The FAWE updater class - * - Use to get basic update information (changelog/version etc) - * - * @return - */ - public Updater getUpdater() { - return updater; - } - public TextureUtil getCachedTextureUtil(boolean randomize, int min, int max) { TextureUtil tu = getTextureUtil(); try { diff --git a/worldedit-core/src/main/java/com/boydti/fawe/object/FawePlayer.java b/worldedit-core/src/main/java/com/boydti/fawe/object/FawePlayer.java index 6db804e91..6c340cd5d 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/object/FawePlayer.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/object/FawePlayer.java @@ -117,10 +117,6 @@ public abstract class FawePlayer extends Metadatable { if (Settings.IMP.CLIPBOARD.USE_DISK) { loadClipboardFromDisk(); } - Updater updater = Fawe.get().getUpdater(); - if (updater != null && updater.hasPending(this)) { - TaskManager.IMP.async(() -> updater.confirmUpdate(this)); - } } public int cancel(boolean close) { diff --git a/worldedit-core/src/main/java/com/boydti/fawe/util/Updater.java b/worldedit-core/src/main/java/com/boydti/fawe/util/Updater.java deleted file mode 100644 index 19fe646fd..000000000 --- a/worldedit-core/src/main/java/com/boydti/fawe/util/Updater.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.boydti.fawe.util; - -import com.boydti.fawe.Fawe; -import com.boydti.fawe.FaweVersion; -import com.boydti.fawe.config.Settings; -import com.boydti.fawe.object.FawePlayer; -import com.boydti.fawe.util.chat.Message; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URL; -import java.nio.channels.Channels; -import java.nio.channels.ReadableByteChannel; -import java.util.Scanner; - -public class Updater { - private FaweVersion newVersion; - private String changes; - - private volatile boolean pending; - private File pendingFile, destFile; - private String versionString; - - public synchronized String getChanges() { - if (changes == null) { - try (Scanner scanner = new Scanner(new URL("https://empcraft.com/fawe/cl?" + Integer.toHexString(Fawe.get().getVersion().hash)).openStream(), "UTF-8")) { - changes = scanner.useDelimiter("\\A").next(); - } catch (IOException e) { - e.printStackTrace(); - return ""; - } - } - return changes; - } - - public synchronized boolean isOutdated() { - return newVersion != null; - } - - public boolean hasPending(FawePlayer fp) { - return (pending && fp.hasPermission("fawe.admin")); - } - - public synchronized void confirmUpdate(FawePlayer fp) { - if (pending && fp.hasPermission("fawe.admin")) { - Fawe.debug("Updated FAWE to " + versionString + " @ " + pendingFile); - String url = "https://empcraft.com/fawe/cl?" + Integer.toHexString(Fawe.get().getVersion().hash); - new Message().prefix().text("A FAWE update is available:") - .text("\n&8 - &a/fawe update &8 - &7Updates the plugin and restarts the server to apply the changes") - .cmdTip("fawe update") - .text("\n&8 - &a/fawe changelog") - .cmdTip("fawe changelog") - .text("&8 - &7( &9&o" + url + " &7)") - .link(url) - .send(fp); - } - } - - public synchronized boolean installUpdate(FawePlayer fp) { - if (pending && (fp == null || fp.hasPermission("fawe.admin")) && pendingFile.exists()) { - pending = false; - File outFileParent = destFile.getParentFile(); - if (!outFileParent.exists()) { - outFileParent.mkdirs(); - } - pendingFile.renameTo(destFile); - return true; - } - return false; - } - - public synchronized void getUpdate(String platform, FaweVersion currentVersion) { - if (currentVersion == null || platform == null) { - return; - } - try { - String downloadUrl = "https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/artifact/target/FastAsyncWorldEdit-%platform%-%version%.jar"; - String versionUrl = "https://empcraft.com/fawe/version.php?%platform%"; - URL url = new URL(versionUrl.replace("%platform%", platform)); - try (Scanner reader = new Scanner(url.openStream())) { - this.versionString = reader.next(); - FaweVersion version = new FaweVersion(versionString); - if (version.isNewer(newVersion != null ? newVersion : currentVersion)) { - newVersion = version; - URL download = new URL(downloadUrl.replaceAll("%platform%", platform).replaceAll("%version%", versionString)); - try (ReadableByteChannel rbc = Channels.newChannel(download.openStream())) { - File jarFile = MainUtil.getJarFile(); - - File finalFile = new File(jarFile.getParent(), "update-confirm" + File.separator + jarFile.getName()); - File outFile = new File(jarFile.getParent(), "update-confirm" + File.separator + jarFile.getName().replace(".jar", ".part")); - boolean exists = outFile.exists(); - if (exists) { - outFile.delete(); - } else { - File outFileParent = outFile.getParentFile(); - if (!outFileParent.exists()) { - outFileParent.mkdirs(); - } - } - try (FileOutputStream fos = new FileOutputStream(outFile)) { - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - } - outFile.renameTo(finalFile); - - if (Settings.IMP.UPDATE.equalsIgnoreCase("true")) { - pending = true; - pendingFile = finalFile; - destFile = new File(jarFile.getParent(), "update" + File.separator + jarFile.getName()); - - installUpdate(null); - Fawe.debug("Updated FAWE to " + versionString + " @ " + pendingFile); - MainUtil.sendAdmin("&a/restart&7 to update FAWE with these changes: &c/fawe changelog &7or&c " + "https://empcraft.com/fawe/cl?" + Integer.toHexString(currentVersion.hash)); - } else if (!Settings.IMP.UPDATE.equalsIgnoreCase("false")) { - pendingFile = finalFile; - destFile = new File(jarFile.getParent(), "update" + File.separator + jarFile.getName()); - pending = true; - - for (final FawePlayer player : Fawe.get().getCachedPlayers()) { - confirmUpdate(player); - } - } - } - } - } - } catch (Throwable ignore) { - } - } -} \ No newline at end of file diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java index 6cfb93f14..2d0310cd2 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java @@ -84,14 +84,6 @@ public class WorldEditCommands { actor.printDebug(" - COMMIT: " + Integer.toHexString(version.hash)); actor.printDebug(" - BUILD: #" + version.build); actor.printDebug(" - PLATFORM: " + Settings.IMP.PLATFORM); - Updater updater = Fawe.get().getUpdater(); - if (updater == null) { - actor.printDebug(" - UPDATES: DISABLED"); - } else if (updater.isOutdated()) { - actor.printDebug(" - UPDATES: " + updater.getChanges().split("\n").length + " (see /fawe cl)"); - } else { - actor.printDebug(" - UPDATES: Latest Version"); - } actor.printDebug("------------------------------------"); } PlatformManager pm = we.getPlatformManager(); @@ -149,72 +141,6 @@ public class WorldEditCommands { // } // } - @Command( - aliases = {"update"}, - usage = "", - desc = "Update the plugin", - min = 0, - max = 0 - ) - public void update(FawePlayer fp) throws WorldEditException { - if (Fawe.get().getUpdater().installUpdate(fp)) { - TaskManager.IMP.sync(() -> { - fp.executeCommand("restart"); - return null; - }); - fp.sendMessage(BBC.getPrefix() + "Please restart to finish installing the update"); - } else { - fp.sendMessage(BBC.getPrefix() + "No update is pending"); - } - } - - @Command( - aliases = {"changelog", "cl"}, - usage = "", - desc = "View the FAWE changelog", - min = 0, - max = 0 - ) - @CommandPermissions("worldedit.changelog") - public void changelog(Actor actor) throws WorldEditException { - try { - Updater updater = Fawe.get().getUpdater(); - String changes = updater != null ? updater.getChanges() : null; - - String url = "https://empcraft.com/fawe/cl?" + Integer.toHexString(Fawe.get().getVersion().hash); - if (changes == null) { - try (Scanner scanner = new Scanner(new URL(url).openStream(), "UTF-8")) { - changes = scanner.useDelimiter("\\A").next(); - } - } - changes = changes.replaceAll("#([0-9]+)", "github.com/boy0001/FastAsyncWorldedit/issues/$1"); - - String[] split = changes.substring(1).split("[\n](?! )"); - if (changes.length() <= 1) actor.print(BBC.getPrefix() + "No description available"); - else { - StringBuilder msg = new StringBuilder(); - msg.append(BBC.getPrefix() + split.length + " commits:"); - for (String change : split) { - String[] split2 = change.split("\n "); - msg.append("\n&a&l" + split2[0]); - if (split2.length != 0) { - for (int i = 1; i < split2.length; i++) { - msg.append('\n'); - String[] split3 = split2[i].split("\n"); - String subChange = "&8 - &7" + StringMan.join(split3, "\n&7 "); - msg.append(subChange); - } - } - } - msg.append("\n&7More info: &9&o" + url); - msg.append("\n&7Discuss: &9&ohttps://discord.gg/ngZCzbU"); - actor.print(BBC.color(msg.toString())); - } - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Command( aliases = {"debugpaste"}, usage = "", diff --git a/worldedit-core/src/main/resources/es/commands.yml b/worldedit-core/src/main/resources/es/commands.yml index 57360da00..d1c79d0d6 100644 --- a/worldedit-core/src/main/resources/es/commands.yml +++ b/worldedit-core/src/main/resources/es/commands.yml @@ -2086,13 +2086,6 @@ WorldEditCommands: - tz usage: '[tiempo de la zona]' desc: Establecer tu zona horaria para snapshots - changelog: - help: '' - aliases: - - changelog - - cl - usage: '' - desc: Ver el registro de cambios de FAWE debugpaste: help: '' aliases: