mirror of
https://github.com/ViaVersion/ViaVersion.git
synced 2024-11-29 13:36:16 +01:00
Add new /viaversion dontbugme, change method if the version looks like it's custom / debug (not compiled by maven)
This commit is contained in:
parent
eccc5091b5
commit
30c4fea044
@ -6,7 +6,6 @@ import io.netty.channel.ChannelHandler;
|
|||||||
import io.netty.channel.ChannelInitializer;
|
import io.netty.channel.ChannelInitializer;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
@ -16,7 +15,6 @@ import org.bukkit.event.Listener;
|
|||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import us.myles.ViaVersion.api.ViaVersion;
|
import us.myles.ViaVersion.api.ViaVersion;
|
||||||
import us.myles.ViaVersion.api.ViaVersionAPI;
|
import us.myles.ViaVersion.api.ViaVersionAPI;
|
||||||
import us.myles.ViaVersion.armor.ArmorListener;
|
import us.myles.ViaVersion.armor.ArmorListener;
|
||||||
|
@ -28,6 +28,7 @@ public class ViaVersionCommand implements CommandExecutor {
|
|||||||
sender.sendMessage(color("&aViaVersion &c" + ViaVersion.getInstance().getVersion()));
|
sender.sendMessage(color("&aViaVersion &c" + ViaVersion.getInstance().getVersion()));
|
||||||
sender.sendMessage(color("&6Commands:"));
|
sender.sendMessage(color("&6Commands:"));
|
||||||
sender.sendMessage(color("&2/viaversion list &7- &6Shows lists of all 1.9 clients and 1.8 clients."));
|
sender.sendMessage(color("&2/viaversion list &7- &6Shows lists of all 1.9 clients and 1.8 clients."));
|
||||||
|
sender.sendMessage(color("&2/viaversion dontbugme &7- &6Toggle checking for updates."));
|
||||||
} else if (args.length == 1) {
|
} else if (args.length == 1) {
|
||||||
if (args[0].equalsIgnoreCase("list")) {
|
if (args[0].equalsIgnoreCase("list")) {
|
||||||
List<String> portedPlayers = new ArrayList<String>();
|
List<String> portedPlayers = new ArrayList<String>();
|
||||||
@ -47,6 +48,12 @@ public class ViaVersionCommand implements CommandExecutor {
|
|||||||
plugin.setDebug(!plugin.isDebug());
|
plugin.setDebug(!plugin.isDebug());
|
||||||
sender.sendMessage(color("&6Debug mode is now " + (plugin.isDebug() ? "&aenabled" : "&cdisabled")));
|
sender.sendMessage(color("&6Debug mode is now " + (plugin.isDebug() ? "&aenabled" : "&cdisabled")));
|
||||||
}
|
}
|
||||||
|
if (args[0].equalsIgnoreCase("dontbugme")) {
|
||||||
|
boolean newValue = !plugin.getConfig().getBoolean("checkforupdates", true);
|
||||||
|
plugin.getConfig().set("checkforupdates", newValue);
|
||||||
|
plugin.saveConfig();
|
||||||
|
sender.sendMessage(color("&6We will " + (newValue ? "&anotify you about updates." : "&cnot tell you about updates.")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,8 +15,10 @@ public class UpdateListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onJoin(PlayerJoinEvent e) {
|
public void onJoin(PlayerJoinEvent e) {
|
||||||
if(e.getPlayer().hasPermission("viaversion.update"))
|
if(e.getPlayer().hasPermission("viaversion.update")
|
||||||
|
&& plugin.getConfig().getBoolean("checkforupdates", true)) {
|
||||||
UpdateUtil.sendUpdateMessage(e.getPlayer().getUniqueId(), plugin);
|
UpdateUtil.sendUpdateMessage(e.getPlayer().getUniqueId(), plugin);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package us.myles.ViaVersion.update;
|
package us.myles.ViaVersion.update;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.JsonParser;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import us.myles.ViaVersion.api.ViaVersion;
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -17,8 +17,6 @@ import java.net.MalformedURLException;
|
|||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import us.myles.ViaVersion.api.ViaVersion;
|
|
||||||
|
|
||||||
public class UpdateUtil {
|
public class UpdateUtil {
|
||||||
|
|
||||||
private final static String URL = "https://api.spiget.org/v1/resources/";
|
private final static String URL = "https://api.spiget.org/v1/resources/";
|
||||||
@ -38,9 +36,10 @@ public class UpdateUtil {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Player p = Bukkit.getPlayer(uuid);
|
Player p = Bukkit.getPlayer(uuid);
|
||||||
if(p != null)
|
if (p != null) {
|
||||||
p.sendMessage(PREFIX + message);
|
p.sendMessage(PREFIX + message);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}.runTask(plugin);
|
}.runTask(plugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,6 +66,10 @@ public class UpdateUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static String getUpdateMessage(boolean console) {
|
private static String getUpdateMessage(boolean console) {
|
||||||
|
if (ViaVersion.getInstance().getVersion().equals("${project.version}")) {
|
||||||
|
return "You are using a debug/custom version, consider updating.";
|
||||||
|
}
|
||||||
|
|
||||||
Version current = new Version(ViaVersion.getInstance().getVersion());
|
Version current = new Version(ViaVersion.getInstance().getVersion());
|
||||||
Version newest = new Version(getNewestVersion());
|
Version newest = new Version(getNewestVersion());
|
||||||
if (current.compareTo(newest) < 0)
|
if (current.compareTo(newest) < 0)
|
||||||
@ -80,8 +83,7 @@ public class UpdateUtil {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getNewestVersion()
|
private static String getNewestVersion() {
|
||||||
{
|
|
||||||
String result = "";
|
String result = "";
|
||||||
try {
|
try {
|
||||||
URL url = new URL(URL + PLUGIN);
|
URL url = new URL(URL + PLUGIN);
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package us.myles.ViaVersion.update;
|
package us.myles.ViaVersion.update;
|
||||||
|
|
||||||
public class Version implements Comparable<Version>
|
import org.apache.commons.lang.StringUtils;
|
||||||
{
|
|
||||||
|
public class Version implements Comparable<Version> {
|
||||||
private int[] parts;
|
private int[] parts;
|
||||||
|
|
||||||
public Version(String value)
|
public Version(String value) {
|
||||||
{
|
|
||||||
if (value == null)
|
if (value == null)
|
||||||
throw new IllegalArgumentException("Version can not be null");
|
throw new IllegalArgumentException("Version can not be null");
|
||||||
|
|
||||||
@ -20,26 +20,23 @@ public class Version implements Comparable<Version>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString() {
|
||||||
{
|
|
||||||
String[] split = new String[parts.length];
|
String[] split = new String[parts.length];
|
||||||
|
|
||||||
for (int i = 0; i < parts.length; i += 1)
|
for (int i = 0; i < parts.length; i += 1)
|
||||||
split[i] = String.valueOf(parts[i]);
|
split[i] = String.valueOf(parts[i]);
|
||||||
|
|
||||||
return String.join(".", split);
|
return StringUtils.join(split, ".");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int compare(Version verA, Version verB)
|
public static int compare(Version verA, Version verB) {
|
||||||
{
|
|
||||||
if (verA == verB) return 0;
|
if (verA == verB) return 0;
|
||||||
if (verA == null) return -1;
|
if (verA == null) return -1;
|
||||||
if (verB == null) return 1;
|
if (verB == null) return 1;
|
||||||
|
|
||||||
int max = Math.max(verA.parts.length, verB.parts.length);
|
int max = Math.max(verA.parts.length, verB.parts.length);
|
||||||
|
|
||||||
for (int i = 0; i < max; i += 1)
|
for (int i = 0; i < max; i += 1) {
|
||||||
{
|
|
||||||
int partA = i < verA.parts.length ? verA.parts[i] : 0;
|
int partA = i < verA.parts.length ? verA.parts[i] : 0;
|
||||||
int partB = i < verB.parts.length ? verB.parts[i] : 0;
|
int partB = i < verB.parts.length ? verB.parts[i] : 0;
|
||||||
if (partA < partB) return -1;
|
if (partA < partB) return -1;
|
||||||
@ -50,13 +47,11 @@ public class Version implements Comparable<Version>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(Version that)
|
public int compareTo(Version that) {
|
||||||
{
|
|
||||||
return compare(this, that);
|
return compare(this, that);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean equals(Version verA, Version verB)
|
public static boolean equals(Version verA, Version verB) {
|
||||||
{
|
|
||||||
if (verA == verB) return true;
|
if (verA == verB) return true;
|
||||||
if (verA == null) return false;
|
if (verA == null) return false;
|
||||||
if (verB == null) return false;
|
if (verB == null) return false;
|
||||||
@ -64,8 +59,7 @@ public class Version implements Comparable<Version>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object that)
|
public boolean equals(Object that) {
|
||||||
{
|
|
||||||
return that instanceof Version && equals(this, (Version) that);
|
return that instanceof Version && equals(this, (Version) that);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user