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