mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-17 17:21:00 +02:00
Name Cache & Fixed PluginBridge
This commit is contained in:
parent
8fbb3679dd
commit
389a87a306
@ -1,5 +1,6 @@
|
|||||||
package main.java.com.djrapitops.plan.data.additional;
|
package main.java.com.djrapitops.plan.data.additional;
|
||||||
|
|
||||||
|
import main.java.com.djrapitops.plan.Plan;
|
||||||
import main.java.com.djrapitops.plan.utilities.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
|
||||||
@ -321,4 +322,12 @@ public abstract class PluginData {
|
|||||||
.append("suffix", suffix)
|
.append("suffix", suffix)
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Set<UUID> getUUIDsBeingAnalyzed() {
|
||||||
|
return Plan.getInstance().getDataCache().getUuids();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String getNameOf(UUID uuid) {
|
||||||
|
return Plan.getInstance().getDataCache().getName(uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -345,7 +345,7 @@ public class UsersTable extends UserIDTable {
|
|||||||
try {
|
try {
|
||||||
statement = prepareStatement(Select.all(tableName)
|
statement = prepareStatement(Select.all(tableName)
|
||||||
.toString());
|
.toString());
|
||||||
statement.setFetchSize(5000);
|
statement.setFetchSize(20000);
|
||||||
set = statement.executeQuery();
|
set = statement.executeQuery();
|
||||||
Map<UUID, UserInfo> users = new HashMap<>();
|
Map<UUID, UserInfo> users = new HashMap<>();
|
||||||
while (set.next()) {
|
while (set.next()) {
|
||||||
@ -392,7 +392,7 @@ public class UsersTable extends UserIDTable {
|
|||||||
try {
|
try {
|
||||||
statement = prepareStatement(Select.from(tableName, columnUUID, columnTimesKicked)
|
statement = prepareStatement(Select.from(tableName, columnUUID, columnTimesKicked)
|
||||||
.toString());
|
.toString());
|
||||||
statement.setFetchSize(5000);
|
statement.setFetchSize(20000);
|
||||||
set = statement.executeQuery();
|
set = statement.executeQuery();
|
||||||
Map<UUID, Integer> timesKicked = new HashMap<>();
|
Map<UUID, Integer> timesKicked = new HashMap<>();
|
||||||
while (set.next()) {
|
while (set.next()) {
|
||||||
@ -407,4 +407,26 @@ public class UsersTable extends UserIDTable {
|
|||||||
close(set, statement);
|
close(set, statement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<UUID, String> getPlayerNames() throws SQLException {
|
||||||
|
PreparedStatement statement = null;
|
||||||
|
ResultSet set = null;
|
||||||
|
try {
|
||||||
|
statement = prepareStatement(Select.from(tableName, columnUUID, columnName)
|
||||||
|
.toString());
|
||||||
|
statement.setFetchSize(20000);
|
||||||
|
set = statement.executeQuery();
|
||||||
|
Map<UUID, String> names = new HashMap<>();
|
||||||
|
while (set.next()) {
|
||||||
|
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||||
|
String name = set.getString(columnName);
|
||||||
|
|
||||||
|
names.put(uuid, name);
|
||||||
|
}
|
||||||
|
return names;
|
||||||
|
} finally {
|
||||||
|
endTransaction(statement);
|
||||||
|
close(set, statement);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,7 @@ import main.java.com.djrapitops.plan.Plan;
|
|||||||
import main.java.com.djrapitops.plan.database.Database;
|
import main.java.com.djrapitops.plan.database.Database;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This Class contains the Cache.
|
* This Class contains the Cache.
|
||||||
@ -55,6 +52,14 @@ public class DataCache extends SessionCache {
|
|||||||
displayNames.put(uuid, displayName);
|
displayNames.put(uuid, displayName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void cacheSavedNames() {
|
||||||
|
try {
|
||||||
|
playerNames.putAll(db.getUsersTable().getPlayerNames());
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Log.toLog(this.getClass().getName(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to get the player name in the cache.
|
* Used to get the player name in the cache.
|
||||||
*
|
*
|
||||||
@ -119,4 +124,8 @@ public class DataCache extends SessionCache {
|
|||||||
public int getFirstSessionMsgCount(UUID uuid) {
|
public int getFirstSessionMsgCount(UUID uuid) {
|
||||||
return firstSessionInformation.getOrDefault(uuid, 0);
|
return firstSessionInformation.getOrDefault(uuid, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<UUID> getUuids() {
|
||||||
|
return playerNames.keySet();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,7 @@ public class InformationManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void refreshAnalysis() {
|
public void refreshAnalysis() {
|
||||||
|
plugin.getDataCache().cacheSavedNames();
|
||||||
analysis.runAnalysis(this);
|
analysis.runAnalysis(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,11 +3,13 @@ package main.java.com.djrapitops.plan.utilities.html;
|
|||||||
import main.java.com.djrapitops.plan.Plan;
|
import main.java.com.djrapitops.plan.Plan;
|
||||||
import main.java.com.djrapitops.plan.Settings;
|
import main.java.com.djrapitops.plan.Settings;
|
||||||
import main.java.com.djrapitops.plan.systems.webserver.WebServer;
|
import main.java.com.djrapitops.plan.systems.webserver.WebServer;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.text.StrSubstitutor;
|
import org.apache.commons.lang3.text.StrSubstitutor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
@ -79,7 +81,9 @@ public class HtmlUtils {
|
|||||||
/**
|
/**
|
||||||
* @param playerName
|
* @param playerName
|
||||||
* @return
|
* @return
|
||||||
|
* @deprecated Use getRelativeInspectUrl instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static String getInspectUrl(String playerName) {
|
public static String getInspectUrl(String playerName) {
|
||||||
String ip = getIP();
|
String ip = getIP();
|
||||||
return "//" + ip + "/player/" + playerName.replace(" ", "%20").replace(".", "%2E");
|
return "//" + ip + "/player/" + playerName.replace(" ", "%20").replace(".", "%2E");
|
||||||
@ -89,12 +93,16 @@ public class HtmlUtils {
|
|||||||
return "../player/" + playerName;
|
return "../player/" + playerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getRelativeInspectUrl(UUID uuid) {
|
||||||
|
return getRelativeInspectUrl(Plan.getInstance().getDataCache().getName(uuid));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string
|
* @param string
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String removeXSS(String string) {
|
public static String removeXSS(String string) {
|
||||||
return StringUtils.removeAll(string,"(<!--)|(-->)|(</?script>)");
|
return StringUtils.removeAll(string, "(<!--)|(-->)|(</?script>)");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,7 +52,7 @@ public class WorldPieCreator {
|
|||||||
|
|
||||||
Map<String, GMTimes> gmTimesMap = worldTimes.getWorldTimes();
|
Map<String, GMTimes> gmTimesMap = worldTimes.getWorldTimes();
|
||||||
if (gmTimesMap.isEmpty()) {
|
if (gmTimesMap.isEmpty()) {
|
||||||
return "[{[]}]";
|
return "[]";
|
||||||
}
|
}
|
||||||
int size = gmTimesMap.size();
|
int size = gmTimesMap.size();
|
||||||
drilldownBuilder.append("[");
|
drilldownBuilder.append("[");
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
<component name="libraryTable">
|
|
||||||
<library name="Maven: com.djrapitops:Plan:3.7.0">
|
|
||||||
<CLASSES>
|
|
||||||
<root url="jar://$PROJECT_DIR$/../Plan/target/Plan.jar!/" />
|
|
||||||
</CLASSES>
|
|
||||||
<JAVADOC>
|
|
||||||
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/Plan/3.7.0/Plan-3.7.0-javadoc.jar!/" />
|
|
||||||
</JAVADOC>
|
|
||||||
<SOURCES>
|
|
||||||
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/Plan/3.7.0/Plan-3.7.0-sources.jar!/" />
|
|
||||||
</SOURCES>
|
|
||||||
</library>
|
|
||||||
</component>
|
|
@ -4,17 +4,9 @@
|
|||||||
<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>3.7.0</version>
|
<version>4.0.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
|
||||||
<id>plan-repo</id>
|
|
||||||
<url>http://repo.fuzzlemann.de/artifactory/libs-release/</url>
|
|
||||||
</repository>
|
|
||||||
<repository>
|
|
||||||
<id>plan-snapshot-repo</id>
|
|
||||||
<url>http://repo.fuzzlemann.de/artifactory/libs-snapshot/</url>
|
|
||||||
</repository>
|
|
||||||
<repository>
|
<repository>
|
||||||
<id>vault-repo</id>
|
<id>vault-repo</id>
|
||||||
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
|
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
|
||||||
@ -32,7 +24,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.djrapitops</groupId>
|
<groupId>com.djrapitops</groupId>
|
||||||
<artifactId>Plan</artifactId>
|
<artifactId>Plan</artifactId>
|
||||||
<version>3.7.0</version>
|
<version>4.0.0</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.djrapitops.pluginbridge.plan;
|
package com.djrapitops.pluginbridge.plan;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.HookHandler;
|
import main.java.com.djrapitops.plan.data.additional.HookHandler;
|
||||||
import main.java.com.djrapitops.plan.data.cache.DataCacheHandler;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
@ -23,7 +22,7 @@ public class Bridge {
|
|||||||
try {
|
try {
|
||||||
String className = "com.djrapitops.pluginbridge.plan." + pluginName + "Hook";
|
String className = "com.djrapitops.pluginbridge.plan." + pluginName + "Hook";
|
||||||
Class<Hook> clazz = (Class<Hook>) Hook.class.forName(className);
|
Class<Hook> clazz = (Class<Hook>) Hook.class.forName(className);
|
||||||
clazz.getConstructor(DataCacheHandler.class).newInstance(handler);
|
clazz.getConstructor(HookHandler.class).newInstance(handler);
|
||||||
} catch (Exception | NoClassDefFoundError ignore) {
|
} catch (Exception | NoClassDefFoundError ignore) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.pluginbridge.plan;
|
package com.djrapitops.pluginbridge.plan;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -19,34 +18,32 @@ import java.util.UUID;
|
|||||||
*/
|
*/
|
||||||
public class FakeOfflinePlayer implements OfflinePlayer {
|
public class FakeOfflinePlayer implements OfflinePlayer {
|
||||||
|
|
||||||
private final UserData data;
|
private final UUID uuid;
|
||||||
|
private final String name;
|
||||||
|
|
||||||
public FakeOfflinePlayer(UserData data) {
|
public FakeOfflinePlayer(UUID uuid, String name) {
|
||||||
this.data = data;
|
this.uuid = uuid;
|
||||||
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isOnline() {
|
public boolean isOnline() {
|
||||||
return data.isOnline();
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
String name = data.getName();
|
|
||||||
if (name == null) {
|
|
||||||
name = "null";
|
|
||||||
}
|
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public UUID getUniqueId() {
|
public UUID getUniqueId() {
|
||||||
return data.getUuid();
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isBanned() {
|
public boolean isBanned() {
|
||||||
return data.isBanned();
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -66,12 +63,12 @@ public class FakeOfflinePlayer implements OfflinePlayer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getFirstPlayed() {
|
public long getFirstPlayed() {
|
||||||
return data.getRegistered();
|
return 0L;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getLastPlayed() {
|
public long getLastPlayed() {
|
||||||
return data.getLastPlayed();
|
return 0L;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -86,7 +83,7 @@ public class FakeOfflinePlayer implements OfflinePlayer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isOp() {
|
public boolean isOp() {
|
||||||
return data.isOp();
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -2,14 +2,14 @@ package com.djrapitops.pluginbridge.plan.advancedachievements;
|
|||||||
|
|
||||||
import com.hm.achievement.api.AdvancedAchievementsAPI;
|
import com.hm.achievement.api.AdvancedAchievementsAPI;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
import main.java.com.djrapitops.plan.Plan;
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,38 +48,34 @@ public class AdvancedAchievementsTable extends PluginData {
|
|||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuidUnused) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuidUnused) {
|
||||||
StringBuilder html = new StringBuilder();
|
StringBuilder html = new StringBuilder();
|
||||||
Map<UUID, UserData> cachedUserData = Plan.getPlanAPI().getInspectCachedUserDataMap();
|
Set<UUID> users = Plan.getInstance().getDataCache().getUuids();
|
||||||
if (cachedUserData.isEmpty()) {
|
if (users.isEmpty()) {
|
||||||
html.append(Html.TABLELINE_2.parse("No Players.", ""));
|
html.append(Html.TABLELINE_2.parse("No Players.", ""));
|
||||||
} else if (aaAPI.getAdvancedAchievementsVersionCode() >= 520) {
|
} else if (aaAPI.getAdvancedAchievementsVersionCode() >= 520) {
|
||||||
appendTableLinesForV520Plus(cachedUserData, html);
|
appendTableLinesForV520Plus(users, html);
|
||||||
} else {
|
} else {
|
||||||
appendTableLinesForLessThanV520(cachedUserData, html);
|
appendTableLinesForLessThanV520(users, html);
|
||||||
}
|
}
|
||||||
return parseContainer("", html.toString());
|
return parseContainer("", html.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendTableLinesForLessThanV520(Map<UUID, UserData> cachedUserData, StringBuilder html) {
|
private void appendTableLinesForLessThanV520(Set<UUID> users, StringBuilder html) {
|
||||||
cachedUserData.values().forEach(uData -> {
|
users.forEach(uuid -> {
|
||||||
String inspectUrl = HtmlUtils.getRelativeInspectUrl(uData.getName());
|
String name = super.getNameOf(uuid);
|
||||||
int achievements = aaAPI.getPlayerTotalAchievements(uData.getUuid());
|
String inspectUrl = HtmlUtils.getRelativeInspectUrl(name);
|
||||||
html.append(Html.TABLELINE_2.parse(Html.LINK.parse(inspectUrl, uData.getName()), achievements));
|
int achievements = aaAPI.getPlayerTotalAchievements(uuid);
|
||||||
|
html.append(Html.TABLELINE_2.parse(Html.LINK.parse(inspectUrl, name), achievements));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendTableLinesForV520Plus(Map<UUID, UserData> cachedUserData, StringBuilder html) {
|
private void appendTableLinesForV520Plus(Set<UUID> users, StringBuilder html) {
|
||||||
Map<UUID, Integer> achievementsMap = aaAPI.getPlayersTotalAchievements();
|
Map<UUID, Integer> achievementsMap = aaAPI.getPlayersTotalAchievements();
|
||||||
for (Map.Entry<UUID, Integer> entry : achievementsMap.entrySet()) {
|
for (Map.Entry<UUID, Integer> entry : achievementsMap.entrySet()) {
|
||||||
UUID uuid = entry.getKey();
|
UUID uuid = entry.getKey();
|
||||||
int achievements = entry.getValue();
|
int achievements = entry.getValue();
|
||||||
|
String name = getNameOf(uuid);
|
||||||
UserData uData = cachedUserData.get(uuid);
|
String inspectUrl = HtmlUtils.getRelativeInspectUrl(name);
|
||||||
if (uData == null) {
|
html.append(Html.TABLELINE_2.parse(Html.LINK.parse(inspectUrl, name), achievements));
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
String inspectUrl = HtmlUtils.getInspectUrl(uData.getName());
|
|
||||||
html.append(Html.TABLELINE_2.parse(Html.LINK.parse(inspectUrl, uData.getName()), achievements));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import com.earth2me.essentials.Essentials;
|
|||||||
import com.earth2me.essentials.Warps;
|
import com.earth2me.essentials.Warps;
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -6,9 +6,9 @@ import com.massivecraft.factions.entity.MPlayer;
|
|||||||
import main.java.com.djrapitops.plan.Settings;
|
import main.java.com.djrapitops.plan.Settings;
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -73,7 +73,7 @@ public class FactionsTable extends PluginData {
|
|||||||
if (f != null) {
|
if (f != null) {
|
||||||
MPlayer fLeader = f.getLeader();
|
MPlayer fLeader = f.getLeader();
|
||||||
String leader = fLeader != null ? fLeader.getNameAndSomething("", "") : "No Leader";
|
String leader = fLeader != null ? fLeader.getNameAndSomething("", "") : "No Leader";
|
||||||
String leaderPage = Html.LINK.parse(HtmlUtils.getInspectUrl(leader), leader);
|
String leaderPage = Html.LINK.parse(HtmlUtils.getRelativeInspectUrl(leader), leader);
|
||||||
html.append(Html.TABLELINE_4.parse(
|
html.append(Html.TABLELINE_4.parse(
|
||||||
f.getName(),
|
f.getName(),
|
||||||
FormatUtils.cutDecimals(f.getPower()),
|
FormatUtils.cutDecimals(f.getPower()),
|
||||||
|
@ -3,7 +3,7 @@ package com.djrapitops.pluginbridge.plan.griefprevention;
|
|||||||
import com.djrapitops.plugin.utilities.FormattingUtils;
|
import com.djrapitops.plugin.utilities.FormattingUtils;
|
||||||
import com.djrapitops.plugin.utilities.Verify;
|
import com.djrapitops.plugin.utilities.Verify;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import me.ryanhamshire.GriefPrevention.DataStore;
|
import me.ryanhamshire.GriefPrevention.DataStore;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.importing;
|
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.handling.importing.Importer;
|
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo;
|
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.InfoType;
|
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
|
||||||
import org.bukkit.OfflinePlayer;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class responsible for importing data from OnTime plugin.
|
|
||||||
*
|
|
||||||
* Imports playtime
|
|
||||||
*
|
|
||||||
* @author Rsl1122
|
|
||||||
* @since 3.2.0
|
|
||||||
*/
|
|
||||||
public class OnTimeImporter extends Importer {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor.
|
|
||||||
*/
|
|
||||||
public OnTimeImporter() {
|
|
||||||
super.setInfo("Imports playtime from OnTime & resets GMTimes to survival");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Imports playtime from Ontime.
|
|
||||||
*
|
|
||||||
* Resets GameMode times to survival because it is playtime dependent.
|
|
||||||
*
|
|
||||||
* @param uuid UUID of the player
|
|
||||||
* @return HandlingInfo object
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public HandlingInfo importData(UUID uuid, String... args) {
|
|
||||||
OfflinePlayer p = getOfflinePlayer(uuid);
|
|
||||||
Long playTime = OnTimeAPI.getPlayerTimeData(p.getName(), OnTimeAPI.data.TOTALPLAY);
|
|
||||||
return new HandlingInfo(uuid, InfoType.OTHER, 0L) {
|
|
||||||
@Override
|
|
||||||
public boolean process(UserData uData) {
|
|
||||||
if (uuid != uData.getUuid()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (playTime > uData.getPlayTime()) {
|
|
||||||
uData.setPlayTime(playTime);
|
|
||||||
uData.getGmTimes().resetTimes(playTime);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,9 +4,9 @@ import com.gamingmesh.jobs.Jobs;
|
|||||||
import com.gamingmesh.jobs.dao.JobsDAOData;
|
import com.gamingmesh.jobs.dao.JobsDAOData;
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.analysis.MathUtils;
|
import main.java.com.djrapitops.plan.utilities.analysis.MathUtils;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -3,7 +3,7 @@ package com.djrapitops.pluginbridge.plan.jobs;
|
|||||||
import com.gamingmesh.jobs.Jobs;
|
import com.gamingmesh.jobs.Jobs;
|
||||||
import com.gamingmesh.jobs.dao.JobsDAOData;
|
import com.gamingmesh.jobs.dao.JobsDAOData;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -1,17 +1,14 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.litebans;
|
package com.djrapitops.pluginbridge.plan.litebans;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -54,20 +51,15 @@ public class LiteBansBansTable extends PluginData {
|
|||||||
StringBuilder html = new StringBuilder();
|
StringBuilder html = new StringBuilder();
|
||||||
try {
|
try {
|
||||||
List<BanObject> bans = db.getBans();
|
List<BanObject> bans = db.getBans();
|
||||||
Map<UUID, UserData> users = Plan.getPlanAPI().getInspectCachedUserDataMap();
|
|
||||||
for (BanObject ban : bans) {
|
for (BanObject ban : bans) {
|
||||||
UUID uuid = ban.getUuid();
|
UUID uuid = ban.getUuid();
|
||||||
UserData userData = users.get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (userData == null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
String name = userData.getName();
|
|
||||||
String tableLine = "<tr><td>REPLACE0</td><td>REPLACE1</td><td>REPLACE2</td><td sorttable_customkey=\"REPLACE3\">REPLACE4</td></tr>";
|
String tableLine = "<tr><td>REPLACE0</td><td>REPLACE1</td><td>REPLACE2</td><td sorttable_customkey=\"REPLACE3\">REPLACE4</td></tr>";
|
||||||
long expiry = ban.getExpiry();
|
long expiry = ban.getExpiry();
|
||||||
String expires = expiry <= 0 ? "Never" : FormatUtils.formatTimeStampSecond(expiry);
|
String expires = expiry <= 0 ? "Never" : FormatUtils.formatTimeStampSecond(expiry);
|
||||||
html.append(tableLine
|
html.append(tableLine
|
||||||
.replace("REPLACE0", Html.LINK.parse(HtmlUtils.getInspectUrl(name), name))
|
.replace("REPLACE0", Html.LINK.parse(HtmlUtils.getRelativeInspectUrl(name), name))
|
||||||
.replace("REPLACE1", Html.LINK.parse(HtmlUtils.getInspectUrl(ban.getBannedBy()), ban.getBannedBy()))
|
.replace("REPLACE1", Html.LINK.parse(HtmlUtils.getRelativeInspectUrl(ban.getBannedBy()), ban.getBannedBy()))
|
||||||
.replace("REPLACE2", ban.getReason())
|
.replace("REPLACE2", ban.getReason())
|
||||||
.replace("REPLACE3", expiry <= 0 ? "0" : Long.toString(expiry))
|
.replace("REPLACE3", expiry <= 0 ? "0" : Long.toString(expiry))
|
||||||
.replace("REPLACE4", expires
|
.replace("REPLACE4", expires
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.litebans;
|
package com.djrapitops.pluginbridge.plan.litebans;
|
||||||
|
|
||||||
import litebans.api.Database;
|
import litebans.api.Database;
|
||||||
|
import main.java.com.djrapitops.plan.api.exceptions.DBCreateTableException;
|
||||||
import main.java.com.djrapitops.plan.database.tables.Table;
|
import main.java.com.djrapitops.plan.database.tables.Table;
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
@ -66,13 +67,8 @@ public class LiteBansDatabaseQueries extends Table {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return false
|
|
||||||
* @deprecated Not in use.
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
public void createTable() throws DBCreateTableException {
|
||||||
public boolean createTable() {
|
throw new IllegalStateException("Not Supposed to be called.");
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.litebans;
|
package com.djrapitops.pluginbridge.plan.litebans;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
@ -58,7 +58,7 @@ public class LiteBansInspectBansTable extends PluginData {
|
|||||||
html.append(Html.TABLELINE_3_CUSTOMKEY_1.parse(
|
html.append(Html.TABLELINE_3_CUSTOMKEY_1.parse(
|
||||||
expiry <= 0 ? "0" : Long.toString(expiry),
|
expiry <= 0 ? "0" : Long.toString(expiry),
|
||||||
expires,
|
expires,
|
||||||
Html.LINK.parse(HtmlUtils.getInspectUrl(ban.getBannedBy()), ban.getBannedBy()),
|
Html.LINK.parse("." + HtmlUtils.getRelativeInspectUrl(ban.getBannedBy()), ban.getBannedBy()),
|
||||||
ban.getReason())
|
ban.getReason())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -6,9 +6,9 @@ import com.gmail.nossr50.datatypes.skills.SkillType;
|
|||||||
import com.gmail.nossr50.util.player.UserManager;
|
import com.gmail.nossr50.util.player.UserManager;
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.analysis.MathUtils;
|
import main.java.com.djrapitops.plan.utilities.analysis.MathUtils;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
@ -9,9 +9,8 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
|||||||
import com.gmail.nossr50.datatypes.player.PlayerProfile;
|
import com.gmail.nossr50.datatypes.player.PlayerProfile;
|
||||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||||
import com.gmail.nossr50.util.player.UserManager;
|
import com.gmail.nossr50.util.player.UserManager;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@ -25,12 +24,12 @@ import static org.bukkit.Bukkit.getOfflinePlayer;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* PluginData class for McMMO-plugin.
|
* PluginData class for McMMO-plugin.
|
||||||
*
|
* <p>
|
||||||
* Registered to the plugin by McmmoHook
|
* Registered to the plugin by McmmoHook
|
||||||
*
|
*
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
* @since 3.2.1
|
|
||||||
* @see McmmoHook
|
* @see McmmoHook
|
||||||
|
* @since 3.2.1
|
||||||
*/
|
*/
|
||||||
public class McmmoInspectSkillTable extends PluginData {
|
public class McmmoInspectSkillTable extends PluginData {
|
||||||
|
|
||||||
@ -49,9 +48,6 @@ public class McmmoInspectSkillTable extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
if (!Plan.getInstance().getHandler().getDataCache().containsKey(uuid)) {
|
|
||||||
return parseContainer("", Html.TABLELINE_2.parse("User not known/online", ""));
|
|
||||||
}
|
|
||||||
McMMOPlayer user = UserManager.getOfflinePlayer(getOfflinePlayer(uuid));
|
McMMOPlayer user = UserManager.getOfflinePlayer(getOfflinePlayer(uuid));
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
return parseContainer("", Html.TABLELINE_2.parse("User not known/online", ""));
|
return parseContainer("", Html.TABLELINE_2.parse("User not known/online", ""));
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.ontime;
|
package com.djrapitops.pluginbridge.plan.ontime;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
import me.edge209.OnTime.OnTimeAPI;
|
||||||
@ -34,11 +32,7 @@ public class OntimeRefer extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "No Referrals.");
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALREFER);
|
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALREFER);
|
||||||
if (referTotal == -1) {
|
if (referTotal == -1) {
|
||||||
return parseContainer(modifierPrefix, "No Referrals.");
|
return parseContainer(modifierPrefix, "No Referrals.");
|
||||||
@ -48,11 +42,7 @@ public class OntimeRefer extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return -1L;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALREFER);
|
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALREFER);
|
||||||
if (referTotal == -1) {
|
if (referTotal == -1) {
|
||||||
return -1L;
|
return -1L;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.ontime;
|
package com.djrapitops.pluginbridge.plan.ontime;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
import me.edge209.OnTime.OnTimeAPI;
|
||||||
@ -34,11 +32,7 @@ public class OntimeReferMonth extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "No Referrals.");
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHREFER);
|
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHREFER);
|
||||||
if (referTotal == -1) {
|
if (referTotal == -1) {
|
||||||
return parseContainer(modifierPrefix, "No Referrals.");
|
return parseContainer(modifierPrefix, "No Referrals.");
|
||||||
@ -48,11 +42,7 @@ public class OntimeReferMonth extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return -1L;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHREFER);
|
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHREFER);
|
||||||
if (referTotal == -1) {
|
if (referTotal == -1) {
|
||||||
return -1L;
|
return -1L;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.ontime;
|
package com.djrapitops.pluginbridge.plan.ontime;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
import me.edge209.OnTime.OnTimeAPI;
|
||||||
@ -34,11 +32,7 @@ public class OntimeReferWeek extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "No Referrals.");
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKREFER);
|
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKREFER);
|
||||||
if (referTotal == -1) {
|
if (referTotal == -1) {
|
||||||
return parseContainer(modifierPrefix, "No Referrals.");
|
return parseContainer(modifierPrefix, "No Referrals.");
|
||||||
@ -48,11 +42,7 @@ public class OntimeReferWeek extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return -1L;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKREFER);
|
long referTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKREFER);
|
||||||
if (referTotal == -1) {
|
if (referTotal == -1) {
|
||||||
return -1L;
|
return -1L;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.ontime;
|
package com.djrapitops.pluginbridge.plan.ontime;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
import me.edge209.OnTime.OnTimeAPI;
|
||||||
@ -34,11 +32,7 @@ public class OntimeVotes extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "No votes.");
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALVOTE);
|
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALVOTE);
|
||||||
if (votesTotal == -1) {
|
if (votesTotal == -1) {
|
||||||
return parseContainer(modifierPrefix, "No votes.");
|
return parseContainer(modifierPrefix, "No votes.");
|
||||||
@ -48,11 +42,7 @@ public class OntimeVotes extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return -1L;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALVOTE);
|
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.TOTALVOTE);
|
||||||
if (votesTotal == -1) {
|
if (votesTotal == -1) {
|
||||||
return -1L;
|
return -1L;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.ontime;
|
package com.djrapitops.pluginbridge.plan.ontime;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
import me.edge209.OnTime.OnTimeAPI;
|
||||||
@ -34,11 +32,7 @@ public class OntimeVotesMonth extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "No votes.");
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHVOTE);
|
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHVOTE);
|
||||||
if (votesTotal == -1) {
|
if (votesTotal == -1) {
|
||||||
return parseContainer(modifierPrefix, "No votes.");
|
return parseContainer(modifierPrefix, "No votes.");
|
||||||
@ -48,11 +42,7 @@ public class OntimeVotesMonth extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return -1L;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHVOTE);
|
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.MONTHVOTE);
|
||||||
if (votesTotal == -1) {
|
if (votesTotal == -1) {
|
||||||
return -1L;
|
return -1L;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.ontime;
|
package com.djrapitops.pluginbridge.plan.ontime;
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import me.edge209.OnTime.OnTimeAPI;
|
import me.edge209.OnTime.OnTimeAPI;
|
||||||
@ -34,11 +32,7 @@ public class OntimeVotesWeek extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "No votes.");
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKVOTE);
|
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKVOTE);
|
||||||
if (votesTotal == -1) {
|
if (votesTotal == -1) {
|
||||||
return parseContainer(modifierPrefix, "No votes.");
|
return parseContainer(modifierPrefix, "No votes.");
|
||||||
@ -48,11 +42,7 @@ public class OntimeVotesWeek extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return -1L;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKVOTE);
|
long votesTotal = OnTimeAPI.getPlayerTimeData(name, OnTimeAPI.data.WEEKVOTE);
|
||||||
if (votesTotal == -1) {
|
if (votesTotal == -1) {
|
||||||
return -1L;
|
return -1L;
|
||||||
|
@ -6,14 +6,14 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.superbvote;
|
package com.djrapitops.pluginbridge.plan.superbvote;
|
||||||
|
|
||||||
import io.minimum.minecraft.superbvote.storage.VoteStorage;
|
import io.minimum.minecraft.superbvote.storage.VoteStorage;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.UUID;
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PluginData class for Vault-plugin.
|
* PluginData class for Vault-plugin.
|
||||||
@ -47,10 +47,11 @@ public class SuperbVoteVotesTable extends PluginData {
|
|||||||
|
|
||||||
private String getTableLines() {
|
private String getTableLines() {
|
||||||
StringBuilder html = new StringBuilder();
|
StringBuilder html = new StringBuilder();
|
||||||
Plan.getPlanAPI().getInspectCachedUserData()
|
getUUIDsBeingAnalyzed()
|
||||||
.forEach(data -> {
|
.forEach(uuid -> {
|
||||||
String link = Html.LINK.parse(HtmlUtils.getInspectUrl(data.getName()), data.getName());
|
String name = getNameOf(uuid);
|
||||||
String bal = FormatUtils.cutDecimals(store.getVotes(data.getUuid()));
|
String link = Html.LINK.parse(HtmlUtils.getRelativeInspectUrl(name), name);
|
||||||
|
String bal = FormatUtils.cutDecimals(store.getVotes(uuid));
|
||||||
html.append(Html.TABLELINE_2.parse(link, bal));
|
html.append(Html.TABLELINE_2.parse(link, bal));
|
||||||
});
|
});
|
||||||
return html.toString();
|
return html.toString();
|
||||||
|
@ -7,8 +7,8 @@ import com.palmergames.bukkit.towny.object.TownyUniverse;
|
|||||||
import main.java.com.djrapitops.plan.Settings;
|
import main.java.com.djrapitops.plan.Settings;
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -61,7 +61,7 @@ public class TownyTable extends PluginData {
|
|||||||
}
|
}
|
||||||
int residents = t.getNumResidents();
|
int residents = t.getNumResidents();
|
||||||
int land = t.getPurchasedBlocks();
|
int land = t.getPurchasedBlocks();
|
||||||
String leaderPage = Html.LINK.parse(HtmlUtils.getInspectUrl(mayor), mayor);
|
String leaderPage = Html.LINK.parse(HtmlUtils.getRelativeInspectUrl(mayor), mayor);
|
||||||
html.append(Html.TABLELINE_4.parse(name, residents, land, leaderPage));
|
html.append(Html.TABLELINE_4.parse(name, residents, land, leaderPage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,6 @@ package com.djrapitops.pluginbridge.plan.towny;
|
|||||||
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
|
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
|
||||||
import com.palmergames.bukkit.towny.object.Resident;
|
import com.palmergames.bukkit.towny.object.Resident;
|
||||||
import com.palmergames.bukkit.towny.object.TownyUniverse;
|
import com.palmergames.bukkit.towny.object.TownyUniverse;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@ -37,11 +35,7 @@ public class TownyTown extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, notInTown);
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
try {
|
try {
|
||||||
Resident res = TownyUniverse.getDataSource().getResident(name);
|
Resident res = TownyUniverse.getDataSource().getResident(name);
|
||||||
String town;
|
String town;
|
||||||
@ -58,11 +52,7 @@ public class TownyTown extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Serializable getValue(UUID uuid) {
|
public Serializable getValue(UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
String name = getNameOf(uuid);
|
||||||
if (data == null) {
|
|
||||||
return notInTown;
|
|
||||||
}
|
|
||||||
String name = data.getName();
|
|
||||||
try {
|
try {
|
||||||
Resident res = TownyUniverse.getDataSource().getResident(name);
|
Resident res = TownyUniverse.getDataSource().getResident(name);
|
||||||
String town;
|
String town;
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.vault;
|
package com.djrapitops.pluginbridge.plan.vault;
|
||||||
|
|
||||||
import com.djrapitops.pluginbridge.plan.FakeOfflinePlayer;
|
import com.djrapitops.pluginbridge.plan.FakeOfflinePlayer;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
@ -45,11 +43,7 @@ public class EconomyBalance extends PluginData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
|
||||||
UserData data = Plan.getPlanAPI().getInspectCachedUserDataMap().get(uuid);
|
OfflinePlayer p = new FakeOfflinePlayer(uuid, getNameOf(uuid));
|
||||||
if (data == null) {
|
|
||||||
return parseContainer(modifierPrefix, "0");
|
|
||||||
}
|
|
||||||
OfflinePlayer p = new FakeOfflinePlayer(data);
|
|
||||||
if (this.econ.hasAccount(p)) {
|
if (this.econ.hasAccount(p)) {
|
||||||
return parseContainer(modifierPrefix, Double.toString(this.econ.getBalance(p)));
|
return parseContainer(modifierPrefix, Double.toString(this.econ.getBalance(p)));
|
||||||
}
|
}
|
||||||
|
@ -6,16 +6,16 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.vault;
|
package com.djrapitops.pluginbridge.plan.vault;
|
||||||
|
|
||||||
import com.djrapitops.pluginbridge.plan.FakeOfflinePlayer;
|
import com.djrapitops.pluginbridge.plan.FakeOfflinePlayer;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.UUID;
|
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.HtmlUtils;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PluginData class for Vault-plugin.
|
* PluginData class for Vault-plugin.
|
||||||
*
|
*
|
||||||
@ -48,10 +48,10 @@ public class EconomyBalanceTable extends PluginData {
|
|||||||
|
|
||||||
private String getTableLines() {
|
private String getTableLines() {
|
||||||
StringBuilder html = new StringBuilder();
|
StringBuilder html = new StringBuilder();
|
||||||
Plan.getPlanAPI().getInspectCachedUserData()
|
getUUIDsBeingAnalyzed().forEach(uuid -> {
|
||||||
.forEach(data -> {
|
String name = getNameOf(uuid);
|
||||||
String link = Html.LINK.parse(HtmlUtils.getInspectUrl(data.getName()), data.getName());
|
String link = Html.LINK.parse(HtmlUtils.getRelativeInspectUrl(name), name);
|
||||||
String bal = FormatUtils.cutDecimals(econ.getBalance(new FakeOfflinePlayer(data)));
|
String bal = FormatUtils.cutDecimals(econ.getBalance(new FakeOfflinePlayer(uuid, name)));
|
||||||
html.append(Html.TABLELINE_2.parse(link, bal));
|
html.append(Html.TABLELINE_2.parse(link, bal));
|
||||||
});
|
});
|
||||||
return html.toString();
|
return html.toString();
|
||||||
|
@ -7,10 +7,9 @@ package com.djrapitops.pluginbridge.plan.vault;
|
|||||||
|
|
||||||
import com.djrapitops.plugin.utilities.Format;
|
import com.djrapitops.plugin.utilities.Format;
|
||||||
import com.djrapitops.pluginbridge.plan.FakeOfflinePlayer;
|
import com.djrapitops.pluginbridge.plan.FakeOfflinePlayer;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
import net.milkbowl.vault.permission.Permission;
|
import net.milkbowl.vault.permission.Permission;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
|
|
||||||
@ -53,8 +52,8 @@ public class PermGroupTable extends PluginData {
|
|||||||
|
|
||||||
private String getTableLines() {
|
private String getTableLines() {
|
||||||
Map<String, Integer> groups = new HashMap<>();
|
Map<String, Integer> groups = new HashMap<>();
|
||||||
List<FakeOfflinePlayer> userData = Plan.getPlanAPI().getInspectCachedUserData().stream()
|
List<FakeOfflinePlayer> userData = getUUIDsBeingAnalyzed().stream()
|
||||||
.map(FakeOfflinePlayer::new).collect(Collectors.toList());
|
.map(uuid -> new FakeOfflinePlayer(uuid, getNameOf(uuid))).collect(Collectors.toList());
|
||||||
for (OfflinePlayer p : userData) {
|
for (OfflinePlayer p : userData) {
|
||||||
String group = permSys.getPrimaryGroup(null, p);
|
String group = permSys.getPrimaryGroup(null, p);
|
||||||
if (!groups.containsKey(group)) {
|
if (!groups.containsKey(group)) {
|
||||||
|
@ -5,19 +5,18 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.pluginbridge.plan.viaversion;
|
package com.djrapitops.pluginbridge.plan.viaversion;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.UUID;
|
|
||||||
import main.java.com.djrapitops.plan.Log;
|
import main.java.com.djrapitops.plan.Log;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
import main.java.com.djrapitops.plan.Plan;
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
import main.java.com.djrapitops.plan.systems.processing.Processor;
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo;
|
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.InfoType;
|
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import us.myles.ViaVersion.api.ViaAPI;
|
import us.myles.ViaVersion.api.ViaAPI;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class responsible for listening join events for Version protocol.
|
* Class responsible for listening join events for Version protocol.
|
||||||
*
|
*
|
||||||
@ -37,20 +36,18 @@ public class PlayerVersionListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onPlayerLogin(PlayerJoinEvent event) {
|
public void onJoin(PlayerJoinEvent event) {
|
||||||
UUID uuid = event.getPlayer().getUniqueId();
|
UUID uuid = event.getPlayer().getUniqueId();
|
||||||
int playerVersion = viaAPI.getPlayerVersion(uuid);
|
int playerVersion = viaAPI.getPlayerVersion(uuid);
|
||||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.OTHER, 0) {
|
plan.addToProcessQueue(new Processor<UUID>(uuid) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process() {
|
||||||
try {
|
try {
|
||||||
table.saveProtocolVersion(uData.getUuid(), playerVersion);
|
table.saveProtocolVersion(uuid, playerVersion);
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException e) {
|
||||||
Log.toLog(this.getClass().getName(), ex);
|
Log.toLog(this.getClass().getName() + ":PlanViaVersionJoinListener", e);
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
plan.getHandler().addToPool(i);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,15 +5,16 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.pluginbridge.plan.viaversion;
|
package com.djrapitops.pluginbridge.plan.viaversion;
|
||||||
|
|
||||||
|
import main.java.com.djrapitops.plan.api.exceptions.DBCreateTableException;
|
||||||
|
import main.java.com.djrapitops.plan.database.databases.SQLDB;
|
||||||
|
import main.java.com.djrapitops.plan.database.tables.Table;
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import main.java.com.djrapitops.plan.Log;
|
|
||||||
import main.java.com.djrapitops.plan.database.databases.SQLDB;
|
|
||||||
import main.java.com.djrapitops.plan.database.tables.Table;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class responsible for version protocol information in Plan database.
|
* Class responsible for version protocol information in Plan database.
|
||||||
@ -27,24 +28,18 @@ public class ProtocolTable extends Table {
|
|||||||
private final String columnProtocolVersion;
|
private final String columnProtocolVersion;
|
||||||
|
|
||||||
public ProtocolTable(SQLDB db) {
|
public ProtocolTable(SQLDB db) {
|
||||||
super("plan_viaversion_protocol", db, db.supportsModification());
|
super("plan_viaversion_protocol", db, db.isUsingMySQL());
|
||||||
columnUUID = "uuid";
|
columnUUID = "uuid";
|
||||||
columnProtocolVersion = "protocol_version";
|
columnProtocolVersion = "protocol_version";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean createTable() {
|
public void createTable() throws DBCreateTableException {
|
||||||
try {
|
createTable("CREATE TABLE IF NOT EXISTS " + tableName + " ("
|
||||||
execute("CREATE TABLE IF NOT EXISTS " + tableName + " ("
|
|
||||||
+ columnUUID + " varchar(36) NOT NULL UNIQUE, "
|
+ columnUUID + " varchar(36) NOT NULL UNIQUE, "
|
||||||
+ columnProtocolVersion + " integer NOT NULL"
|
+ columnProtocolVersion + " integer NOT NULL"
|
||||||
+ ")"
|
+ ")"
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
Log.toLog(this.getClass().getName(), ex);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveProtocolVersion(UUID uuid, int version) throws SQLException {
|
public void saveProtocolVersion(UUID uuid, int version) throws SQLException {
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package com.djrapitops.pluginbridge.plan.viaversion;
|
package com.djrapitops.pluginbridge.plan.viaversion;
|
||||||
|
|
||||||
import com.djrapitops.pluginbridge.plan.Hook;
|
import com.djrapitops.pluginbridge.plan.Hook;
|
||||||
|
import main.java.com.djrapitops.plan.Log;
|
||||||
import main.java.com.djrapitops.plan.Plan;
|
import main.java.com.djrapitops.plan.Plan;
|
||||||
import main.java.com.djrapitops.plan.data.additional.HookHandler;
|
|
||||||
import main.java.com.djrapitops.plan.api.API;
|
import main.java.com.djrapitops.plan.api.API;
|
||||||
|
import main.java.com.djrapitops.plan.api.exceptions.DBCreateTableException;
|
||||||
|
import main.java.com.djrapitops.plan.data.additional.HookHandler;
|
||||||
import main.java.com.djrapitops.plan.database.databases.SQLDB;
|
import main.java.com.djrapitops.plan.database.databases.SQLDB;
|
||||||
import us.myles.ViaVersion.api.Via;
|
import us.myles.ViaVersion.api.Via;
|
||||||
import us.myles.ViaVersion.api.ViaAPI;
|
import us.myles.ViaVersion.api.ViaAPI;
|
||||||
@ -18,12 +20,12 @@ public class ViaVersionHook extends Hook {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Hooks the plugin and registers it's PluginData objects.
|
* Hooks the plugin and registers it's PluginData objects.
|
||||||
*
|
* <p>
|
||||||
* API#addPluginDataSource uses the same method from HookHandler.
|
* API#addPluginDataSource uses the same method from HookHandler.
|
||||||
*
|
*
|
||||||
* @param hookH HookHandler instance for registering the data sources.
|
* @param hookH HookHandler instance for registering the data sources.
|
||||||
* @see API
|
|
||||||
* @throws NoClassDefFoundError when the plugin class can not be found.
|
* @throws NoClassDefFoundError when the plugin class can not be found.
|
||||||
|
* @see API
|
||||||
*/
|
*/
|
||||||
public ViaVersionHook(HookHandler hookH) throws NoClassDefFoundError {
|
public ViaVersionHook(HookHandler hookH) throws NoClassDefFoundError {
|
||||||
super("us.myles.ViaVersion.ViaVersionPlugin");
|
super("us.myles.ViaVersion.ViaVersionPlugin");
|
||||||
@ -33,7 +35,12 @@ public class ViaVersionHook extends Hook {
|
|||||||
Plan plan = Plan.getInstance();
|
Plan plan = Plan.getInstance();
|
||||||
ViaAPI api = Via.getAPI();
|
ViaAPI api = Via.getAPI();
|
||||||
ProtocolTable table = new ProtocolTable((SQLDB) plan.getDB());
|
ProtocolTable table = new ProtocolTable((SQLDB) plan.getDB());
|
||||||
|
try {
|
||||||
table.createTable();
|
table.createTable();
|
||||||
|
} catch (DBCreateTableException e) {
|
||||||
|
Log.toLog(this.getClass().getName(), e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
PlayerVersionListener l = new PlayerVersionListener(plan, api, table);
|
PlayerVersionListener l = new PlayerVersionListener(plan, api, table);
|
||||||
plan.registerListener(l);
|
plan.registerListener(l);
|
||||||
hookH.addPluginDataSource(new ViaVersionVersionTable(table));
|
hookH.addPluginDataSource(new ViaVersionVersionTable(table));
|
||||||
|
@ -5,14 +5,15 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.pluginbridge.plan.viaversion;
|
package com.djrapitops.pluginbridge.plan.viaversion;
|
||||||
|
|
||||||
|
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
||||||
|
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
||||||
|
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import main.java.com.djrapitops.plan.data.additional.AnalysisType;
|
|
||||||
import main.java.com.djrapitops.plan.data.additional.PluginData;
|
|
||||||
import main.java.com.djrapitops.plan.ui.html.Html;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PluginData class for Vault-plugin.
|
* PluginData class for Vault-plugin.
|
||||||
|
Loading…
Reference in New Issue
Block a user