diff --git a/Plan/build.gradle b/Plan/build.gradle index 88c5e5e88..76342c222 100644 --- a/Plan/build.gradle +++ b/Plan/build.gradle @@ -47,7 +47,7 @@ subprojects { ext.daggerCompilerVersion = "2.23.2" ext.abstractPluginFrameworkVersion = "3.4.1" - ext.planPluginBridgeVersion = "4.8.2-R0.4" + ext.planPluginBridgeVersion = "4.8.2-R0.5" ext.bukkitVersion = "1.12.2-R0.1-SNAPSHOT" ext.spigotVersion = "1.12.2-R0.1-SNAPSHOT" diff --git a/PlanPluginBridge/pom.xml b/PlanPluginBridge/pom.xml index 81189a014..3799bd0d0 100644 --- a/PlanPluginBridge/pom.xml +++ b/PlanPluginBridge/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.djrapitops PlanPluginBridge - 4.8.2-R0.4 + 4.8.2-R0.5 jar ${project.groupId}:${project.artifactId} diff --git a/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/protocolsupport/ProtocolSupportData.java b/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/protocolsupport/ProtocolSupportData.java index 7db3dc1e5..7b9c4c599 100644 --- a/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/protocolsupport/ProtocolSupportData.java +++ b/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/protocolsupport/ProtocolSupportData.java @@ -25,8 +25,8 @@ import com.djrapitops.plan.data.plugin.PluginData; import com.djrapitops.plan.db.Database; import com.djrapitops.plan.utilities.html.icon.Color; import com.djrapitops.plan.utilities.html.icon.Icon; -import com.djrapitops.pluginbridge.plan.viaversion.Protocol; import com.djrapitops.pluginbridge.plan.viaversion.ProtocolTable; +import protocolsupport.api.ProtocolVersion; import java.util.Collection; import java.util.HashMap; @@ -55,7 +55,7 @@ class ProtocolSupportData extends PluginData { int protocolVersion = database.query(ProtocolTable.getProtocolVersion(uuid)); inspectContainer.addValue(getWithIcon("Last Join Version", Icon.called("signal").of(Color.CYAN)), - protocolVersion != -1 ? Protocol.getMCVersion(protocolVersion) : "Not Yet Known"); + getProtocolVersionString(protocolVersion)); } catch (DBOpException ex) { inspectContainer.addValue("Error", ex.toString()); } @@ -63,6 +63,23 @@ class ProtocolSupportData extends PluginData { return inspectContainer; } + private String getProtocolVersionString(int number) { + if (number == -1) { + return "Not Yet Known"; + } + ProtocolVersion[] versions = ProtocolVersion.getAllSupported(); + for (ProtocolVersion version : versions) { + if (version.getId() == number) { + String name = version.getName(); + if (name == null) { + break; // Unknown name for the version + } + return name; + } + } + return "Unknown (" + number + ')'; + } + @Override public AnalysisContainer getServerData(Collection collection, AnalysisContainer analysisContainer) { Map versions; @@ -75,7 +92,7 @@ class ProtocolSupportData extends PluginData { } Map userVersions = versions.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, entry -> Protocol.getMCVersion(entry.getValue()))); + .collect(Collectors.toMap(Map.Entry::getKey, entry -> getProtocolVersionString(entry.getValue()))); analysisContainer.addPlayerTableValues(getWithIcon("Last Version", Icon.called("signal")), userVersions); @@ -83,7 +100,7 @@ class ProtocolSupportData extends PluginData { String membersS = getWithIcon("Users", Icon.called("users")); TableContainer versionTable = new TableContainer(versionS, membersS); versionTable.setColor("cyan"); - Map usersPerVersion = getUsersPerVersion(versions); + Map usersPerVersion = getUsersPerVersion(userVersions); for (Map.Entry entry : usersPerVersion.entrySet()) { versionTable.addRow(entry.getKey(), entry.getValue()); } @@ -92,15 +109,14 @@ class ProtocolSupportData extends PluginData { return analysisContainer; } - private Map getUsersPerVersion(Map versions) { + private Map getUsersPerVersion(Map userVersions) { Map usersPerVersion = new HashMap<>(); - for (int protocolVersion : versions.values()) { - String mcVer = Protocol.getMCVersion(protocolVersion); - if (!usersPerVersion.containsKey(mcVer)) { - usersPerVersion.put(mcVer, 0); + for (String version : userVersions.values()) { + if (!usersPerVersion.containsKey(version)) { + usersPerVersion.put(version, 0); } - usersPerVersion.replace(mcVer, usersPerVersion.get(mcVer) + 1); + usersPerVersion.replace(version, usersPerVersion.get(version) + 1); } return usersPerVersion; } diff --git a/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/Protocol.java b/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/Protocol.java deleted file mode 100644 index d2a381683..000000000 --- a/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/Protocol.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.pluginbridge.plan.viaversion; - -/** - * Contains static method for formatting protocol version into readable form. - * - * @author Rsl1122 - */ -public class Protocol { - - - private Protocol() { - throw new IllegalStateException("Utility class"); - } - - /** - * http://wiki.vg/Protocol_version_numbers - * - * @param protocolVersion ProtocolVersion - * @return Minecraft Version (estimate) - */ - public static String getMCVersion(int protocolVersion) { - switch (protocolVersion) { - case 492: - case 491: - case 490: - case 489: - return "1.14.3"; - case 485: - return "1.14.2"; - case 480: - return "1.14.1"; - case 477: - return "1.14"; - case 404: - return "1.13.2"; - case 401: - return "1.13.1"; - case 393: - return "1.13"; - case 340: - return "1.12.2"; - case 338: - return "1.12.1"; - case 335: - return "1.12"; - case 316: - return "1.11.2"; - case 315: - return "1.11"; - case 210: - return "1.10.2"; - case 110: - return "1.9.4"; - case 109: - return "1.9.2"; - case 107: - return "1.9"; - case 47: - return "1.8.9"; - case 5: - return "1.7.10"; - case 4: - return "1.7.5"; - default: - return "Newer than 1.14.2 (" + protocolVersion + ")"; - } - } -} diff --git a/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/ViaVersionData.java b/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/ViaVersionData.java index 06e41ebc2..7de7f195c 100644 --- a/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/ViaVersionData.java +++ b/PlanPluginBridge/src/main/java/com/djrapitops/pluginbridge/plan/viaversion/ViaVersionData.java @@ -25,6 +25,7 @@ import com.djrapitops.plan.data.plugin.PluginData; import com.djrapitops.plan.db.Database; import com.djrapitops.plan.utilities.html.icon.Color; import com.djrapitops.plan.utilities.html.icon.Icon; +import us.myles.ViaVersion.api.protocol.ProtocolVersion; import java.util.Collection; import java.util.HashMap; @@ -50,10 +51,10 @@ class ViaVersionData extends PluginData { @Override public InspectContainer getPlayerData(UUID uuid, InspectContainer inspectContainer) { try { - int protocolVersion = database.query(ProtocolTable.getProtocolVersion(uuid)); + int version = database.query(ProtocolTable.getProtocolVersion(uuid)); inspectContainer.addValue(getWithIcon("Last Join Version", Icon.called("signal").of(Color.LIGHT_GREEN)), - protocolVersion != -1 ? Protocol.getMCVersion(protocolVersion) : "Not Yet Known"); + getProtocolVersionString(version)); } catch (DBOpException ex) { inspectContainer.addValue("Error", ex.toString()); } @@ -61,6 +62,10 @@ class ViaVersionData extends PluginData { return inspectContainer; } + private String getProtocolVersionString(int version) { + return version != -1 ? ProtocolVersion.getProtocol(version).getName() : "Not Yet Known"; + } + @Override public AnalysisContainer getServerData(Collection collection, AnalysisContainer analysisContainer) { Map versions; @@ -73,7 +78,7 @@ class ViaVersionData extends PluginData { } Map userVersions = versions.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, entry -> Protocol.getMCVersion(entry.getValue()))); + .collect(Collectors.toMap(Map.Entry::getKey, entry -> getProtocolVersionString(entry.getValue()))); analysisContainer.addPlayerTableValues(getWithIcon("Last Version", Icon.called("signal")), userVersions); @@ -81,7 +86,7 @@ class ViaVersionData extends PluginData { String membersS = getWithIcon("Users", Icon.called("users")); TableContainer versionTable = new TableContainer(versionS, membersS); versionTable.setColor("light-green"); - Map usersPerVersion = getUsersPerVersion(versions); + Map usersPerVersion = getUsersPerVersion(userVersions); for (Map.Entry entry : usersPerVersion.entrySet()) { versionTable.addRow(entry.getKey(), entry.getValue()); } @@ -90,15 +95,14 @@ class ViaVersionData extends PluginData { return analysisContainer; } - private Map getUsersPerVersion(Map versions) { + private Map getUsersPerVersion(Map userVersions) { Map usersPerVersion = new HashMap<>(); - for (int protocolVersion : versions.values()) { - String mcVer = Protocol.getMCVersion(protocolVersion); - if (!usersPerVersion.containsKey(mcVer)) { - usersPerVersion.put(mcVer, 0); + for (String version : userVersions.values()) { + if (!usersPerVersion.containsKey(version)) { + usersPerVersion.put(version, 0); } - usersPerVersion.replace(mcVer, usersPerVersion.get(mcVer) + 1); + usersPerVersion.replace(version, usersPerVersion.get(version) + 1); } return usersPerVersion; }