From 70d91b4f87f71fd18205507c79bced97d808e922 Mon Sep 17 00:00:00 2001 From: Myles Date: Fri, 1 Jul 2016 16:36:19 +0100 Subject: [PATCH] Blocked versions now included when server sends supported versions, javadoc fixes & simple colour for blocked-msg. --- src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java | 5 ++++- src/main/java/us/myles/ViaVersion/api/ViaVersionAPI.java | 3 +++ .../us/myles/ViaVersion/api/protocol/ProtocolRegistry.java | 5 +++++ .../us/myles/ViaVersion/protocols/base/BaseProtocol.java | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java index 0f1620687..24bbfb501 100644 --- a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java +++ b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java @@ -450,7 +450,10 @@ public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI { @Override public SortedSet getSupportedVersions() { - return ProtocolRegistry.getSupportedVersions(); + SortedSet outputSet = new TreeSet<>(ProtocolRegistry.getSupportedVersions()); + outputSet.removeAll(getConf().getBlockedProtocols()); + + return outputSet; } @Override diff --git a/src/main/java/us/myles/ViaVersion/api/ViaVersionAPI.java b/src/main/java/us/myles/ViaVersion/api/ViaVersionAPI.java index 57743784d..845607ff3 100644 --- a/src/main/java/us/myles/ViaVersion/api/ViaVersionAPI.java +++ b/src/main/java/us/myles/ViaVersion/api/ViaVersionAPI.java @@ -6,6 +6,7 @@ import us.myles.ViaVersion.api.boss.BossBar; import us.myles.ViaVersion.api.boss.BossColor; import us.myles.ViaVersion.api.boss.BossStyle; import us.myles.ViaVersion.api.command.ViaVersionCommand; +import us.myles.ViaVersion.api.protocol.ProtocolRegistry; import java.util.SortedSet; import java.util.UUID; @@ -114,6 +115,8 @@ public interface ViaVersionAPI { /** * Get the supported protocol versions + * This method removes any blocked protocol versions. + * @see ProtocolRegistry#getSupportedVersions() for full list. * * @return a list of protocol versions */ diff --git a/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java b/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java index 02444baea..ff2366734 100644 --- a/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java +++ b/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolRegistry.java @@ -79,6 +79,11 @@ public class ProtocolRegistry { } } + /** + * Get the versions compatible with the server. + * + * @return Read-only set of the versions. + */ public static SortedSet getSupportedVersions() { return Collections.unmodifiableSortedSet(new TreeSet<>(supportedVersions)); } diff --git a/src/main/java/us/myles/ViaVersion/protocols/base/BaseProtocol.java b/src/main/java/us/myles/ViaVersion/protocols/base/BaseProtocol.java index 149df567e..498a8f6b7 100644 --- a/src/main/java/us/myles/ViaVersion/protocols/base/BaseProtocol.java +++ b/src/main/java/us/myles/ViaVersion/protocols/base/BaseProtocol.java @@ -1,5 +1,6 @@ package us.myles.ViaVersion.protocols.base; +import net.md_5.bungee.api.ChatColor; import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; @@ -171,7 +172,7 @@ public class BaseProtocol extends Protocol { if (!wrapper.user().getChannel().isOpen()) return; PacketWrapper disconnectPacket = new PacketWrapper(0x00, null, wrapper.user()); // Disconnect Packet - Protocol1_9TO1_8.FIX_JSON.write(disconnectPacket, ViaVersion.getConfig().getBlockedDisconnectMsg()); + Protocol1_9TO1_8.FIX_JSON.write(disconnectPacket, ChatColor.translateAlternateColorCodes('&', ViaVersion.getConfig().getBlockedDisconnectMsg())); disconnectPacket.send(BaseProtocol.class); wrapper.cancel();