mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-12-27 09:00:28 +08:00
PluginBridge R0.5: Removed Protocol enum
Special thanks to @Vankka !
This commit is contained in:
parent
ec1ace0419
commit
2e66ab1676
@ -47,7 +47,7 @@ subprojects {
|
|||||||
ext.daggerCompilerVersion = "2.23.2"
|
ext.daggerCompilerVersion = "2.23.2"
|
||||||
|
|
||||||
ext.abstractPluginFrameworkVersion = "3.4.1"
|
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.bukkitVersion = "1.12.2-R0.1-SNAPSHOT"
|
||||||
ext.spigotVersion = "1.12.2-R0.1-SNAPSHOT"
|
ext.spigotVersion = "1.12.2-R0.1-SNAPSHOT"
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.djrapitops</groupId>
|
<groupId>com.djrapitops</groupId>
|
||||||
<artifactId>PlanPluginBridge</artifactId>
|
<artifactId>PlanPluginBridge</artifactId>
|
||||||
<version>4.8.2-R0.4</version>
|
<version>4.8.2-R0.5</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>${project.groupId}:${project.artifactId}</name>
|
<name>${project.groupId}:${project.artifactId}</name>
|
||||||
|
@ -25,8 +25,8 @@ import com.djrapitops.plan.data.plugin.PluginData;
|
|||||||
import com.djrapitops.plan.db.Database;
|
import com.djrapitops.plan.db.Database;
|
||||||
import com.djrapitops.plan.utilities.html.icon.Color;
|
import com.djrapitops.plan.utilities.html.icon.Color;
|
||||||
import com.djrapitops.plan.utilities.html.icon.Icon;
|
import com.djrapitops.plan.utilities.html.icon.Icon;
|
||||||
import com.djrapitops.pluginbridge.plan.viaversion.Protocol;
|
|
||||||
import com.djrapitops.pluginbridge.plan.viaversion.ProtocolTable;
|
import com.djrapitops.pluginbridge.plan.viaversion.ProtocolTable;
|
||||||
|
import protocolsupport.api.ProtocolVersion;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -55,7 +55,7 @@ class ProtocolSupportData extends PluginData {
|
|||||||
int protocolVersion = database.query(ProtocolTable.getProtocolVersion(uuid));
|
int protocolVersion = database.query(ProtocolTable.getProtocolVersion(uuid));
|
||||||
|
|
||||||
inspectContainer.addValue(getWithIcon("Last Join Version", Icon.called("signal").of(Color.CYAN)),
|
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) {
|
} catch (DBOpException ex) {
|
||||||
inspectContainer.addValue("Error", ex.toString());
|
inspectContainer.addValue("Error", ex.toString());
|
||||||
}
|
}
|
||||||
@ -63,6 +63,23 @@ class ProtocolSupportData extends PluginData {
|
|||||||
return inspectContainer;
|
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
|
@Override
|
||||||
public AnalysisContainer getServerData(Collection<UUID> collection, AnalysisContainer analysisContainer) {
|
public AnalysisContainer getServerData(Collection<UUID> collection, AnalysisContainer analysisContainer) {
|
||||||
Map<UUID, Integer> versions;
|
Map<UUID, Integer> versions;
|
||||||
@ -75,7 +92,7 @@ class ProtocolSupportData extends PluginData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Map<UUID, String> userVersions = versions.entrySet().stream()
|
Map<UUID, String> 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);
|
analysisContainer.addPlayerTableValues(getWithIcon("Last Version", Icon.called("signal")), userVersions);
|
||||||
|
|
||||||
@ -83,7 +100,7 @@ class ProtocolSupportData extends PluginData {
|
|||||||
String membersS = getWithIcon("Users", Icon.called("users"));
|
String membersS = getWithIcon("Users", Icon.called("users"));
|
||||||
TableContainer versionTable = new TableContainer(versionS, membersS);
|
TableContainer versionTable = new TableContainer(versionS, membersS);
|
||||||
versionTable.setColor("cyan");
|
versionTable.setColor("cyan");
|
||||||
Map<String, Integer> usersPerVersion = getUsersPerVersion(versions);
|
Map<String, Integer> usersPerVersion = getUsersPerVersion(userVersions);
|
||||||
for (Map.Entry<String, Integer> entry : usersPerVersion.entrySet()) {
|
for (Map.Entry<String, Integer> entry : usersPerVersion.entrySet()) {
|
||||||
versionTable.addRow(entry.getKey(), entry.getValue());
|
versionTable.addRow(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
@ -92,15 +109,14 @@ class ProtocolSupportData extends PluginData {
|
|||||||
return analysisContainer;
|
return analysisContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Integer> getUsersPerVersion(Map<UUID, Integer> versions) {
|
private Map<String, Integer> getUsersPerVersion(Map<UUID, String> userVersions) {
|
||||||
Map<String, Integer> usersPerVersion = new HashMap<>();
|
Map<String, Integer> usersPerVersion = new HashMap<>();
|
||||||
|
|
||||||
for (int protocolVersion : versions.values()) {
|
for (String version : userVersions.values()) {
|
||||||
String mcVer = Protocol.getMCVersion(protocolVersion);
|
if (!usersPerVersion.containsKey(version)) {
|
||||||
if (!usersPerVersion.containsKey(mcVer)) {
|
usersPerVersion.put(version, 0);
|
||||||
usersPerVersion.put(mcVer, 0);
|
|
||||||
}
|
}
|
||||||
usersPerVersion.replace(mcVer, usersPerVersion.get(mcVer) + 1);
|
usersPerVersion.replace(version, usersPerVersion.get(version) + 1);
|
||||||
}
|
}
|
||||||
return usersPerVersion;
|
return usersPerVersion;
|
||||||
}
|
}
|
||||||
|
@ -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 <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
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 + ")";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -25,6 +25,7 @@ import com.djrapitops.plan.data.plugin.PluginData;
|
|||||||
import com.djrapitops.plan.db.Database;
|
import com.djrapitops.plan.db.Database;
|
||||||
import com.djrapitops.plan.utilities.html.icon.Color;
|
import com.djrapitops.plan.utilities.html.icon.Color;
|
||||||
import com.djrapitops.plan.utilities.html.icon.Icon;
|
import com.djrapitops.plan.utilities.html.icon.Icon;
|
||||||
|
import us.myles.ViaVersion.api.protocol.ProtocolVersion;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -50,10 +51,10 @@ class ViaVersionData extends PluginData {
|
|||||||
@Override
|
@Override
|
||||||
public InspectContainer getPlayerData(UUID uuid, InspectContainer inspectContainer) {
|
public InspectContainer getPlayerData(UUID uuid, InspectContainer inspectContainer) {
|
||||||
try {
|
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)),
|
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) {
|
} catch (DBOpException ex) {
|
||||||
inspectContainer.addValue("Error", ex.toString());
|
inspectContainer.addValue("Error", ex.toString());
|
||||||
}
|
}
|
||||||
@ -61,6 +62,10 @@ class ViaVersionData extends PluginData {
|
|||||||
return inspectContainer;
|
return inspectContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getProtocolVersionString(int version) {
|
||||||
|
return version != -1 ? ProtocolVersion.getProtocol(version).getName() : "Not Yet Known";
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AnalysisContainer getServerData(Collection<UUID> collection, AnalysisContainer analysisContainer) {
|
public AnalysisContainer getServerData(Collection<UUID> collection, AnalysisContainer analysisContainer) {
|
||||||
Map<UUID, Integer> versions;
|
Map<UUID, Integer> versions;
|
||||||
@ -73,7 +78,7 @@ class ViaVersionData extends PluginData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Map<UUID, String> userVersions = versions.entrySet().stream()
|
Map<UUID, String> 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);
|
analysisContainer.addPlayerTableValues(getWithIcon("Last Version", Icon.called("signal")), userVersions);
|
||||||
|
|
||||||
@ -81,7 +86,7 @@ class ViaVersionData extends PluginData {
|
|||||||
String membersS = getWithIcon("Users", Icon.called("users"));
|
String membersS = getWithIcon("Users", Icon.called("users"));
|
||||||
TableContainer versionTable = new TableContainer(versionS, membersS);
|
TableContainer versionTable = new TableContainer(versionS, membersS);
|
||||||
versionTable.setColor("light-green");
|
versionTable.setColor("light-green");
|
||||||
Map<String, Integer> usersPerVersion = getUsersPerVersion(versions);
|
Map<String, Integer> usersPerVersion = getUsersPerVersion(userVersions);
|
||||||
for (Map.Entry<String, Integer> entry : usersPerVersion.entrySet()) {
|
for (Map.Entry<String, Integer> entry : usersPerVersion.entrySet()) {
|
||||||
versionTable.addRow(entry.getKey(), entry.getValue());
|
versionTable.addRow(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
@ -90,15 +95,14 @@ class ViaVersionData extends PluginData {
|
|||||||
return analysisContainer;
|
return analysisContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Integer> getUsersPerVersion(Map<UUID, Integer> versions) {
|
private Map<String, Integer> getUsersPerVersion(Map<UUID, String> userVersions) {
|
||||||
Map<String, Integer> usersPerVersion = new HashMap<>();
|
Map<String, Integer> usersPerVersion = new HashMap<>();
|
||||||
|
|
||||||
for (int protocolVersion : versions.values()) {
|
for (String version : userVersions.values()) {
|
||||||
String mcVer = Protocol.getMCVersion(protocolVersion);
|
if (!usersPerVersion.containsKey(version)) {
|
||||||
if (!usersPerVersion.containsKey(mcVer)) {
|
usersPerVersion.put(version, 0);
|
||||||
usersPerVersion.put(mcVer, 0);
|
|
||||||
}
|
}
|
||||||
usersPerVersion.replace(mcVer, usersPerVersion.get(mcVer) + 1);
|
usersPerVersion.replace(version, usersPerVersion.get(version) + 1);
|
||||||
}
|
}
|
||||||
return usersPerVersion;
|
return usersPerVersion;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user