mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-11-01 00:10:12 +01:00
Changed permissions for PlanLite plan. > planlite. Begun working on PlanLite features
Analysis and html creation untested for new planlite when planlite is enabled.
This commit is contained in:
parent
3ab14a6dd5
commit
2538e32e6d
@ -3,7 +3,6 @@ package com.djrapitops.planlite;
|
|||||||
import com.djrapitops.planlite.command.CommandType;
|
import com.djrapitops.planlite.command.CommandType;
|
||||||
import com.djrapitops.planlite.command.SubCommand;
|
import com.djrapitops.planlite.command.SubCommand;
|
||||||
import com.djrapitops.planlite.command.commands.AnalyzeCommand;
|
import com.djrapitops.planlite.command.commands.AnalyzeCommand;
|
||||||
import com.djrapitops.planlite.command.commands.DebugCommand;
|
|
||||||
import com.djrapitops.planlite.command.commands.HelpCommand;
|
import com.djrapitops.planlite.command.commands.HelpCommand;
|
||||||
import com.djrapitops.planlite.command.commands.InfoCommand;
|
import com.djrapitops.planlite.command.commands.InfoCommand;
|
||||||
import com.djrapitops.planlite.command.commands.InspectCommand;
|
import com.djrapitops.planlite.command.commands.InspectCommand;
|
||||||
@ -33,7 +32,6 @@ public class PlanCommand implements CommandExecutor {
|
|||||||
commands.add(new SearchCommand(plugin));
|
commands.add(new SearchCommand(plugin));
|
||||||
commands.add(new InfoCommand(plugin));
|
commands.add(new InfoCommand(plugin));
|
||||||
commands.add(new ReloadCommand(plugin));
|
commands.add(new ReloadCommand(plugin));
|
||||||
commands.add(new DebugCommand(plugin));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SubCommand> getCommands() {
|
public List<SubCommand> getCommands() {
|
||||||
|
@ -32,6 +32,7 @@ public class PlanLite extends JavaPlugin {
|
|||||||
private final Map<String, Hook> hooks;
|
private final Map<String, Hook> hooks;
|
||||||
private API api;
|
private API api;
|
||||||
private final Map<String, Hook> extraHooks;
|
private final Map<String, Hook> extraHooks;
|
||||||
|
private PlanCommand planCommand;
|
||||||
|
|
||||||
public PlanLite() {
|
public PlanLite() {
|
||||||
this.hooks = new HashMap<>();
|
this.hooks = new HashMap<>();
|
||||||
@ -78,8 +79,9 @@ public class PlanLite extends JavaPlugin {
|
|||||||
if (!hookFail.isEmpty()) {
|
if (!hookFail.isEmpty()) {
|
||||||
Bukkit.getServer().getConsoleSender().sendMessage("[PlanLite] " + failedMsg);
|
Bukkit.getServer().getConsoleSender().sendMessage("[PlanLite] " + failedMsg);
|
||||||
}
|
}
|
||||||
|
planCommand = new PlanCommand(this);
|
||||||
|
|
||||||
getCommand("plan").setExecutor(new PlanCommand(this));
|
getCommand("planlite").setExecutor(planCommand);
|
||||||
|
|
||||||
log("Player Analytics Enabled.");
|
log("Player Analytics Enabled.");
|
||||||
}
|
}
|
||||||
@ -170,4 +172,8 @@ public class PlanLite extends JavaPlugin {
|
|||||||
logToFile("Failed to hook " + name + "\n" + e);
|
logToFile("Failed to hook " + name + "\n" + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PlanCommand getPlanCommand() {
|
||||||
|
return planCommand;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.djrapitops.planlite.command;
|
package com.djrapitops.planlite.command;
|
||||||
|
|
||||||
//import com.djrapitops.plan.Phrase;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ public class AnalyzeCommand extends SubCommand {
|
|||||||
private Date refreshDate;
|
private Date refreshDate;
|
||||||
|
|
||||||
public AnalyzeCommand(PlanLite plugin) {
|
public AnalyzeCommand(PlanLite plugin) {
|
||||||
super("analyze", "plan.analyze", "Analyze data of all players /plan analyze [-refresh]", CommandType.CONSOLE);
|
super("analyze", "planlite.analyze", "Analyze data of all players /plan analyze [-refresh]", CommandType.CONSOLE);
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ public class AnalyzeCommand extends SubCommand {
|
|||||||
ChatColor textColor = ChatColor.GRAY;
|
ChatColor textColor = ChatColor.GRAY;
|
||||||
for (String arg : args) {
|
for (String arg : args) {
|
||||||
if (arg.toLowerCase().equals("-refresh")) {
|
if (arg.toLowerCase().equals("-refresh")) {
|
||||||
if (sender.hasPermission("plan.analyze.refresh") || !(sender instanceof Player)) {
|
if (sender.hasPermission("planlite.analyze.refresh") || !(sender instanceof Player)) {
|
||||||
refreshAnalysisData(sender);
|
refreshAnalysisData(sender);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
package com.djrapitops.planlite.command.commands;
|
|
||||||
|
|
||||||
import com.djrapitops.planlite.PlanLite;
|
|
||||||
import com.djrapitops.planlite.command.CommandType;
|
|
||||||
import com.djrapitops.planlite.command.SubCommand;
|
|
||||||
import com.djrapitops.planlite.command.utils.DataUtils;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
|
|
||||||
public class DebugCommand extends SubCommand {
|
|
||||||
|
|
||||||
private PlanLite plugin;
|
|
||||||
|
|
||||||
public DebugCommand(PlanLite plugin) {
|
|
||||||
super("debug", "plan.debug", "Test plugin for possible errors (debug feature)", CommandType.PLAYER);
|
|
||||||
this.plugin = plugin;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
|
||||||
if (!plugin.getConfig().getBoolean("debug")) {
|
|
||||||
sender.sendMessage(ChatColor.RED+"[PlanLite] Debug disabled in config");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
String[] commands = {"plan", "plan info", "plan reload", "plan inspect",
|
|
||||||
"plan inspect "+sender.getName()+"-a", "plan inspect reinogiern",
|
|
||||||
"plan analyze", "plan search", "plan search "+sender.getName()+" -p"};
|
|
||||||
for (String command : commands) {
|
|
||||||
Bukkit.dispatchCommand(sender, command);
|
|
||||||
}
|
|
||||||
sender.sendMessage(ChatColor.GREEN+"[PlanLite] Debug successful, possible errors written in file.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
package com.djrapitops.planlite.command.commands;
|
package com.djrapitops.planlite.command.commands;
|
||||||
|
|
||||||
//import com.djrapitops.plan.Phrase;
|
|
||||||
import com.djrapitops.planlite.PlanLite;
|
import com.djrapitops.planlite.PlanLite;
|
||||||
import com.djrapitops.planlite.PlanCommand;
|
import com.djrapitops.planlite.PlanCommand;
|
||||||
import com.djrapitops.planlite.command.CommandType;
|
import com.djrapitops.planlite.command.CommandType;
|
||||||
@ -16,7 +15,7 @@ public class HelpCommand extends SubCommand {
|
|||||||
private final PlanCommand command;
|
private final PlanCommand command;
|
||||||
|
|
||||||
public HelpCommand(PlanLite plugin, PlanCommand command) {
|
public HelpCommand(PlanLite plugin, PlanCommand command) {
|
||||||
super("help,?", "plan.?", "Show command list.", CommandType.CONSOLE);
|
super("help,?", "planlite.?", "Show command list.", CommandType.CONSOLE);
|
||||||
|
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.command = command;
|
this.command = command;
|
||||||
@ -29,7 +28,7 @@ public class HelpCommand extends SubCommand {
|
|||||||
|
|
||||||
ChatColor textColor = ChatColor.GRAY;
|
ChatColor textColor = ChatColor.GRAY;
|
||||||
|
|
||||||
sender.sendMessage(textColor + "-- [" + operatorColor + "PLAN - Player Analytics" + textColor + "] --");
|
sender.sendMessage(textColor + "-- [" + operatorColor + "Plan Lite - Player Analytics Lite" + textColor + "] --");
|
||||||
|
|
||||||
for (SubCommand command : this.command.getCommands()) {
|
for (SubCommand command : this.command.getCommands()) {
|
||||||
if (command.getName().equalsIgnoreCase(getName())) {
|
if (command.getName().equalsIgnoreCase(getName())) {
|
||||||
@ -44,7 +43,7 @@ public class HelpCommand extends SubCommand {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.sendMessage(operatorColor + "/plan " + command.getFirstName() + textColor + " - " + command.getUsage());
|
sender.sendMessage(operatorColor + "/planlite " + command.getFirstName() + textColor + " - " + command.getUsage());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -13,7 +13,7 @@ public class InfoCommand extends SubCommand {
|
|||||||
private PlanLite plugin;
|
private PlanLite plugin;
|
||||||
|
|
||||||
public InfoCommand(PlanLite plugin) {
|
public InfoCommand(PlanLite plugin) {
|
||||||
super("info", "plan.info", "View version and enabled hooks", CommandType.CONSOLE);
|
super("info", "planlite.info", "View version and enabled hooks", CommandType.CONSOLE);
|
||||||
|
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class InspectCommand extends SubCommand {
|
|||||||
private PlanLite plugin;
|
private PlanLite plugin;
|
||||||
|
|
||||||
public InspectCommand(PlanLite plugin) {
|
public InspectCommand(PlanLite plugin) {
|
||||||
super("inspect", "plan.inspect", "Inspect data /plan <player> [-a, -r].", CommandType.CONSOLE_WITH_ARGUMENTS);
|
super("inspect", "planlite.inspect", "Inspect data /plan <player> [-a, -r].", CommandType.CONSOLE_WITH_ARGUMENTS);
|
||||||
|
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ public class ReloadCommand extends SubCommand {
|
|||||||
private PlanLite plugin;
|
private PlanLite plugin;
|
||||||
|
|
||||||
public ReloadCommand(PlanLite plugin) {
|
public ReloadCommand(PlanLite plugin) {
|
||||||
super("reload", "plan.reload", "Reload plugin config & Hooks", CommandType.CONSOLE);
|
super("reload", "planlite.reload", "Reload plugin config & Hooks", CommandType.CONSOLE);
|
||||||
|
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ public class SearchCommand extends SubCommand {
|
|||||||
private final PlanLite plugin;
|
private final PlanLite plugin;
|
||||||
|
|
||||||
public SearchCommand(PlanLite plugin) {
|
public SearchCommand(PlanLite plugin) {
|
||||||
super("search", "plan.search", "Inspect specific data /plan <search terms> [-p]", CommandType.CONSOLE_WITH_ARGUMENTS);
|
super("search", "planlite.search", "Inspect specific data /plan <search terms> [-p]", CommandType.CONSOLE_WITH_ARGUMENTS);
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ import com.djrapitops.planlite.api.DataType;
|
|||||||
import io.minimum.minecraft.superbvote.SuperbVote;
|
import io.minimum.minecraft.superbvote.SuperbVote;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
import static org.bukkit.Bukkit.getOfflinePlayer;
|
||||||
|
|
||||||
|
@ -16,8 +16,6 @@ import com.palmergames.bukkit.util.BukkitTools;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
||||||
import static com.palmergames.bukkit.towny.TownyFormatter.getFormattedResidents;
|
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import static com.palmergames.bukkit.towny.TownyFormatter.getFormattedResidents;
|
import static com.palmergames.bukkit.towny.TownyFormatter.getFormattedResidents;
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
import static org.bukkit.Bukkit.getOfflinePlayer;
|
||||||
|
@ -9,7 +9,6 @@ import java.util.HashMap;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
|
||||||
import static org.bukkit.Bukkit.getServer;
|
import static org.bukkit.Bukkit.getServer;
|
||||||
import static org.bukkit.Bukkit.getOfflinePlayer;
|
import static org.bukkit.Bukkit.getOfflinePlayer;
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ public class DataUtils {
|
|||||||
|
|
||||||
plugin.logToFile("INSPECT-GETNAME\nNo username given, returned empty username.\n" + args[0]);
|
plugin.logToFile("INSPECT-GETNAME\nNo username given, returned empty username.\n" + args[0]);
|
||||||
|
|
||||||
} else if (sender.hasPermission("plan.inspect.other") || !(sender instanceof Player)) {
|
} else if (sender.hasPermission("planlite.inspect.other") || !(sender instanceof Player)) {
|
||||||
playerName = args[0];
|
playerName = args[0];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -34,50 +34,50 @@ softdepend:
|
|||||||
- PlayerLogger
|
- PlayerLogger
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
plan.?:
|
planlite.?:
|
||||||
description: Help command
|
description: Help command
|
||||||
default: true
|
default: true
|
||||||
plan.inspect:
|
planlite.inspect:
|
||||||
description: Allows you to check your player data.
|
description: Allows you to check your player data.
|
||||||
default: true
|
default: true
|
||||||
plan.inspect.other:
|
planlite.inspect.other:
|
||||||
description: Allows you to check other players' player data.
|
description: Allows you to check other players' player data.
|
||||||
default: true
|
default: true
|
||||||
plan.analyze:
|
planlite.analyze:
|
||||||
description: Allows you to check analysed data about all players.
|
description: Allows you to check analysed data about all players.
|
||||||
default: true
|
default: true
|
||||||
plan.analyze.refresh:
|
planlite.analyze.refresh:
|
||||||
description: Allows you to refresh the analyse result with -r argument
|
description: Allows you to refresh the analyse result with -r argument
|
||||||
default: op
|
default: op
|
||||||
plan.reload:
|
planlite.reload:
|
||||||
description: Allows to reload plugin config
|
description: Allows to reload plugin config
|
||||||
default: true
|
default: true
|
||||||
plan.search:
|
planlite.search:
|
||||||
description: Allows search
|
description: Allows search
|
||||||
default: true
|
default: true
|
||||||
plan.info:
|
planlite.info:
|
||||||
description: Allows to view info
|
description: Allows to view info
|
||||||
default: true
|
default: true
|
||||||
plan.debug:
|
planlite.debug:
|
||||||
description: Allows debug command
|
description: Allows debug command
|
||||||
default: op
|
default: op
|
||||||
plan.basic:
|
planlite.basic:
|
||||||
children:
|
children:
|
||||||
plan.?: true
|
planlite.?: true
|
||||||
plan.inspect: true
|
planlite.inspect: true
|
||||||
plan.info: true
|
planlite.info: true
|
||||||
plan.search: true
|
planlite.search: true
|
||||||
plan.advanced:
|
planlite.advanced:
|
||||||
childer:
|
childer:
|
||||||
plan.basic: true
|
planlite.basic: true
|
||||||
plan.analyze: true
|
planlite.analyze: true
|
||||||
plan.staff:
|
planlite.staff:
|
||||||
children:
|
children:
|
||||||
plan.debug: true
|
planlite.debug: true
|
||||||
plan.advanced: true
|
planlite.advanced: true
|
||||||
plan.inspect.other: true
|
planlite.inspect.other: true
|
||||||
plan.analyze.refresh: true
|
planlite.analyze.refresh: true
|
||||||
plan.reload: true
|
planlite.reload: true
|
||||||
plan.*:
|
planlite.*:
|
||||||
children:
|
children:
|
||||||
plan.staff: true
|
planlite.staff: true
|
@ -108,19 +108,12 @@ public class Plan extends JavaPlugin {
|
|||||||
|
|
||||||
public void hookPlanLite() {
|
public void hookPlanLite() {
|
||||||
try {
|
try {
|
||||||
if (getConfig().getBoolean("Settings.PlanLite.Enabled")) {
|
|
||||||
planLiteHook = new PlanLiteHook(this);
|
planLiteHook = new PlanLiteHook(this);
|
||||||
}
|
|
||||||
} catch (NoClassDefFoundError | Exception e) {
|
} catch (NoClassDefFoundError | Exception e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public List<String> hookInit() {
|
|
||||||
return new ArrayList<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
uiServer.stop();
|
uiServer.stop();
|
||||||
@ -169,14 +162,6 @@ public class Plan extends JavaPlugin {
|
|||||||
return api;
|
return api;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addExtraHook(String name, Hook hook) {
|
|
||||||
if (planLiteHook != null) {
|
|
||||||
planLiteHook.addExtraHook(name, hook);
|
|
||||||
} else {
|
|
||||||
logError(Phrase.ERROR_PLANLITE.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void registerListeners() {
|
private void registerListeners() {
|
||||||
getServer().getPluginManager().registerEvents(new PlanChatListener(this), this);
|
getServer().getPluginManager().registerEvents(new PlanChatListener(this), this);
|
||||||
getServer().getPluginManager().registerEvents(new PlanPlayerListener(this), this);
|
getServer().getPluginManager().registerEvents(new PlanPlayerListener(this), this);
|
||||||
|
@ -3,8 +3,9 @@ package com.djrapitops.plan;
|
|||||||
import com.djrapitops.planlite.PlanLite;
|
import com.djrapitops.planlite.PlanLite;
|
||||||
import com.djrapitops.planlite.api.API;
|
import com.djrapitops.planlite.api.API;
|
||||||
import com.djrapitops.planlite.api.DataPoint;
|
import com.djrapitops.planlite.api.DataPoint;
|
||||||
import com.djrapitops.planlite.api.Hook;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Set;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,105 +18,47 @@ public class PlanLiteHook {
|
|||||||
private Plan plugin;
|
private Plan plugin;
|
||||||
private API planLiteApi;
|
private API planLiteApi;
|
||||||
|
|
||||||
|
private boolean enabled;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Constructor.
|
* Class Constructor.
|
||||||
*
|
*
|
||||||
* Attempts to hook to PlanLite, if not present logs error.
|
* Attempts to hook to PlanLite, if not present sets enabled to false
|
||||||
*
|
*
|
||||||
* @param plugin
|
* @param plugin
|
||||||
*/
|
*/
|
||||||
public PlanLiteHook(Plan plugin) {
|
public PlanLiteHook(Plan plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
if (plugin.getConfig().getBoolean("Settings.PlanLite.Enabled")) {
|
||||||
|
if (Bukkit.getPluginManager().isPluginEnabled("PlanLite")) {
|
||||||
try {
|
try {
|
||||||
this.planLite = getPlugin(PlanLite.class);
|
this.planLite = getPlugin(PlanLite.class);
|
||||||
if (planLite == null) {
|
if (planLite == null) {
|
||||||
throw new Exception(Phrase.ERROR_PLANLITE.toString());
|
throw new Exception(Phrase.ERROR_PLANLITE.toString());
|
||||||
}
|
}
|
||||||
|
enabled = true;
|
||||||
planLiteApi = planLite.getAPI();
|
planLiteApi = planLite.getAPI();
|
||||||
|
return;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
void addExtraHook(String name, Hook hook) {
|
public Set<String> getEnabledHooksNames() {
|
||||||
try {
|
return planLite.getHooks().keySet();
|
||||||
if (planLite == null) {
|
|
||||||
throw new Exception(Phrase.ERROR_PLANLITE.toString());
|
|
||||||
}
|
|
||||||
planLite.addExtraHook(name, hook);
|
|
||||||
plugin.log(Phrase.PLANLITE_REG_HOOK.toString() + name);
|
|
||||||
} catch (Exception | NoClassDefFoundError e) {
|
|
||||||
plugin.logError("Failed to hook " + name + "\n " + e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getDebug() {
|
|
||||||
return planLiteApi.getDebug();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleEssentials() {
|
|
||||||
return planLiteApi.getVisibleEssentials();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleOnTime() {
|
|
||||||
return planLiteApi.getVisibleOnTime();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleFactions() {
|
|
||||||
return planLiteApi.getVisibleFactions();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleSuperbVote() {
|
|
||||||
return planLiteApi.getVisibleSuperbVote();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleTowny() {
|
|
||||||
return planLiteApi.getVisibleTowny();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleVault() {
|
|
||||||
return planLiteApi.getVisibleVault();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleAdvancedAchievements() {
|
|
||||||
return planLiteApi.getVisibleAdvancedAchievements();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisiblePlaceholderAPI() {
|
|
||||||
return planLiteApi.getVisiblePlaceholderAPI();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, DataPoint> getData(String playerName, boolean dataPoint) {
|
public HashMap<String, DataPoint> getData(String playerName, boolean dataPoint) {
|
||||||
return planLiteApi.getData(playerName, dataPoint);
|
return planLiteApi.getData(playerName, dataPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, String> getData(String playerName) {
|
|
||||||
return planLiteApi.getData(playerName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, DataPoint> getAllData(String playerName, boolean dataPoint) {
|
public HashMap<String, DataPoint> getAllData(String playerName, boolean dataPoint) {
|
||||||
return planLiteApi.getAllData(playerName, dataPoint);
|
return planLiteApi.getAllData(playerName, dataPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
public boolean isEnabled() {
|
||||||
public HashMap<String, String> getAllData(String playerName) {
|
return enabled;
|
||||||
return planLiteApi.getAllData(playerName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, DataPoint> transformOldDataFormat(HashMap<String, String> oldData) {
|
|
||||||
return planLiteApi.transformOldDataFormat(oldData);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,8 @@ package com.djrapitops.plan.api;
|
|||||||
|
|
||||||
import com.djrapitops.plan.Plan;
|
import com.djrapitops.plan.Plan;
|
||||||
import com.djrapitops.plan.PlanLiteHook;
|
import com.djrapitops.plan.PlanLiteHook;
|
||||||
import com.djrapitops.planlite.api.DataPoint;
|
|
||||||
import com.djrapitops.planlite.api.Hook;
|
|
||||||
import com.djrapitops.plan.utilities.FormatUtils;
|
import com.djrapitops.plan.utilities.FormatUtils;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -68,150 +65,4 @@ public class API {
|
|||||||
public static String formatTimeStamp(String timeInMs) {
|
public static String formatTimeStamp(String timeInMs) {
|
||||||
return FormatUtils.formatTimeStamp(timeInMs);
|
return FormatUtils.formatTimeStamp(timeInMs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getDebug() throws NullPointerException {
|
|
||||||
return hook.getDebug();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleEssentials() throws NullPointerException {
|
|
||||||
return hook.getVisibleEssentials();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleOnTime() throws NullPointerException {
|
|
||||||
return hook.getVisibleOnTime();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleFactions() throws NullPointerException {
|
|
||||||
return hook.getVisibleFactions();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleSuperbVote() throws NullPointerException {
|
|
||||||
return hook.getVisibleSuperbVote();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleTowny() throws NullPointerException {
|
|
||||||
return hook.getVisibleTowny();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleVault() throws NullPointerException {
|
|
||||||
return hook.getVisibleVault();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisibleAdvancedAchievements() throws NullPointerException {
|
|
||||||
return hook.getVisibleAdvancedAchievements();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public boolean getVisiblePlaceholderAPI() throws NullPointerException {
|
|
||||||
return hook.getVisiblePlaceholderAPI();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param playerName
|
|
||||||
* @param dataPoint variable to differentiate between DataPoint and String
|
|
||||||
* return
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, DataPoint> getData(String playerName, boolean dataPoint) throws NullPointerException {
|
|
||||||
return hook.getData(playerName, dataPoint);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param playerName
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, String> getData(String playerName) throws NullPointerException {
|
|
||||||
return hook.getData(playerName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param playerName
|
|
||||||
* @param dataPoint variable to differentiate between DataPoint and String
|
|
||||||
* return
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, DataPoint> getAllData(String playerName, boolean dataPoint) throws NullPointerException {
|
|
||||||
return hook.getAllData(playerName, dataPoint);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param playerName
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, String> getAllData(String playerName) throws NullPointerException {
|
|
||||||
return hook.getAllData(playerName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param oldData
|
|
||||||
* @return @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public HashMap<String, DataPoint> transformOldDataFormat(HashMap<String, String> oldData) throws NullPointerException {
|
|
||||||
return hook.transformOldDataFormat(oldData);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name name of the plugin registering the hook
|
|
||||||
* @param hook Hook that is registered
|
|
||||||
* @throws NullPointerException if PlanLite not installed
|
|
||||||
* @deprecated Moved to PlanLite
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public void addExtraHook(String name, Hook hook) throws NullPointerException {
|
|
||||||
plugin.addExtraHook(name, hook);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.djrapitops.plan.data;
|
package com.djrapitops.plan.data;
|
||||||
|
|
||||||
|
import main.java.com.djrapitops.plan.data.PlanLiteAnalyzedData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
@ -32,10 +34,30 @@ public class AnalysisData {
|
|||||||
private long totalLoginTimes;
|
private long totalLoginTimes;
|
||||||
private int ops;
|
private int ops;
|
||||||
|
|
||||||
|
private boolean planLiteEnabled;
|
||||||
|
private PlanLiteAnalyzedData planLiteData;
|
||||||
|
|
||||||
public AnalysisData() {
|
public AnalysisData() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Getters and setters v---------------------------------v
|
// Getters and setters v---------------------------------v
|
||||||
|
|
||||||
|
public boolean isPlanLiteEnabled() {
|
||||||
|
return planLiteEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlanLiteEnabled(boolean planLiteEnabled) {
|
||||||
|
this.planLiteEnabled = planLiteEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanLiteAnalyzedData getPlanLiteData() {
|
||||||
|
return planLiteData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlanLiteData(PlanLiteAnalyzedData planLiteData) {
|
||||||
|
this.planLiteData = planLiteData;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPlayersChartImgHtmlMonth() {
|
public String getPlayersChartImgHtmlMonth() {
|
||||||
return playersChartImgHtmlMonth;
|
return playersChartImgHtmlMonth;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
package main.java.com.djrapitops.plan.data;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Rsl1122
|
||||||
|
*/
|
||||||
|
public class PlanLiteAnalyzedData {
|
||||||
|
|
||||||
|
private HashMap<String, Integer> townMap;
|
||||||
|
private HashMap<String, Integer> factionMap;
|
||||||
|
private int totalVotes;
|
||||||
|
private int totalMoney;
|
||||||
|
|
||||||
|
public PlanLiteAnalyzedData() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public HashMap<String, Integer> getTownMap() {
|
||||||
|
return townMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTownMap(HashMap<String, Integer> townMap) {
|
||||||
|
this.townMap = townMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HashMap<String, Integer> getFactionMap() {
|
||||||
|
return factionMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFactionMap(HashMap<String, Integer> factionMap) {
|
||||||
|
this.factionMap = factionMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTotalVotes() {
|
||||||
|
return totalVotes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotalVotes(int totalVotes) {
|
||||||
|
this.totalVotes = totalVotes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTotalMoney() {
|
||||||
|
return totalMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotalMoney(int totalMoney) {
|
||||||
|
this.totalMoney = totalMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,137 @@
|
|||||||
|
package main.java.com.djrapitops.plan.data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Rsl1122
|
||||||
|
*/
|
||||||
|
public class PlanLitePlayerData {
|
||||||
|
|
||||||
|
private boolean towny;
|
||||||
|
private boolean factions;
|
||||||
|
private boolean superbVote;
|
||||||
|
private boolean vault;
|
||||||
|
|
||||||
|
private String town;
|
||||||
|
private String friends;
|
||||||
|
private String plotPerms;
|
||||||
|
private String plotOptions;
|
||||||
|
|
||||||
|
private String faction;
|
||||||
|
|
||||||
|
private int votes;
|
||||||
|
|
||||||
|
private double money;
|
||||||
|
|
||||||
|
public PlanLitePlayerData() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTowny(boolean towny) {
|
||||||
|
this.towny = towny;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFactions(boolean factions) {
|
||||||
|
this.factions = factions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSuperbVote(boolean superbVote) {
|
||||||
|
this.superbVote = superbVote;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVault(boolean vault) {
|
||||||
|
this.vault = vault;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTown(String town) {
|
||||||
|
this.town = town;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFriends(String friends) {
|
||||||
|
this.friends = friends;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlotPerms(String plotPerms) {
|
||||||
|
this.plotPerms = plotPerms;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlotOptions(String plotOptions) {
|
||||||
|
this.plotOptions = plotOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFaction(String faction) {
|
||||||
|
this.faction = faction;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVotes(int votes) {
|
||||||
|
this.votes = votes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMoney(double money) {
|
||||||
|
this.money = money;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasTowny() {
|
||||||
|
return towny;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasFactions() {
|
||||||
|
return factions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasSuperbVote() {
|
||||||
|
return superbVote;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasVault() {
|
||||||
|
return vault;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTown() {
|
||||||
|
if (towny) {
|
||||||
|
return town;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFriends() {
|
||||||
|
if (towny) {
|
||||||
|
return friends;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPlotPerms() {
|
||||||
|
if (towny) {
|
||||||
|
return plotPerms;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPlotOptions() {
|
||||||
|
if (towny) {
|
||||||
|
return plotOptions;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFaction() {
|
||||||
|
if (factions) {
|
||||||
|
return faction;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getVotes() {
|
||||||
|
if (superbVote) {
|
||||||
|
return votes;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getMoney() {
|
||||||
|
if (vault) {
|
||||||
|
return money;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -8,6 +8,7 @@ import java.util.HashMap;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import main.java.com.djrapitops.plan.data.PlanLitePlayerData;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -36,6 +37,9 @@ public class UserData {
|
|||||||
private boolean isBanned;
|
private boolean isBanned;
|
||||||
private DemographicsData demData;
|
private DemographicsData demData;
|
||||||
|
|
||||||
|
private boolean planLiteFound;
|
||||||
|
private PlanLitePlayerData planLiteData;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
public UserData(Player player, DemographicsData demData, Database db) {
|
public UserData(Player player, DemographicsData demData, Database db) {
|
||||||
@ -144,6 +148,23 @@ public class UserData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Getters -------------------------------------------------------------
|
// Getters -------------------------------------------------------------
|
||||||
|
|
||||||
|
public boolean isPlanLiteFound() {
|
||||||
|
return planLiteFound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlanLiteFound(boolean planLiteFound) {
|
||||||
|
this.planLiteFound = planLiteFound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanLitePlayerData getPlanLiteData() {
|
||||||
|
return planLiteData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlanLiteData(PlanLitePlayerData planLiteData) {
|
||||||
|
this.planLiteData = planLiteData;
|
||||||
|
}
|
||||||
|
|
||||||
public UUID getUuid() {
|
public UUID getUuid() {
|
||||||
return uuid;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,11 @@ public class DataCacheHandler {
|
|||||||
public UserData getCurrentData(UUID uuid, boolean cache) {
|
public UserData getCurrentData(UUID uuid, boolean cache) {
|
||||||
if (cache) {
|
if (cache) {
|
||||||
if (dataCache.get(uuid) == null) {
|
if (dataCache.get(uuid) == null) {
|
||||||
dataCache.put(uuid, db.getUserData(uuid));
|
UserData uData = db.getUserData(uuid);
|
||||||
|
if (uData.getPlanLiteData() == null) {
|
||||||
|
getPlanLiteHandler().handleEvents(uData.getName(), uData);
|
||||||
|
}
|
||||||
|
dataCache.put(uuid, uData);
|
||||||
plugin.log("Added " + uuid.toString() + " to Cache.");
|
plugin.log("Added " + uuid.toString() + " to Cache.");
|
||||||
}
|
}
|
||||||
return dataCache.get(uuid);
|
return dataCache.get(uuid);
|
||||||
@ -108,7 +112,11 @@ public class DataCacheHandler {
|
|||||||
if (dataCache.get(uuid) != null) {
|
if (dataCache.get(uuid) != null) {
|
||||||
return dataCache.get(uuid);
|
return dataCache.get(uuid);
|
||||||
}
|
}
|
||||||
return db.getUserData(uuid);
|
UserData uData = db.getUserData(uuid);
|
||||||
|
if (uData.getPlanLiteData() == null) {
|
||||||
|
getPlanLiteHandler().handleEvents(uData.getName(), uData);
|
||||||
|
}
|
||||||
|
return uData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,6 +193,12 @@ public class DataCacheHandler {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Saves a single player's data to the cache from the handler if the player
|
||||||
|
* is online.
|
||||||
|
*
|
||||||
|
* @param uuid UUID of the Player to save
|
||||||
|
*/
|
||||||
public void saveHandlerDataToCache(UUID uuid) {
|
public void saveHandlerDataToCache(UUID uuid) {
|
||||||
Player p = getPlayer(uuid);
|
Player p = getPlayer(uuid);
|
||||||
if (p != null) {
|
if (p != null) {
|
||||||
@ -294,6 +308,13 @@ public class DataCacheHandler {
|
|||||||
return gamemodeTimesHandler;
|
return gamemodeTimesHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Current instance of PlanLiteHandler
|
||||||
|
*/
|
||||||
|
public PlanLiteHandler getPlanLiteHandler() {
|
||||||
|
return planLiteHandler;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the same value as Plan#getDB().
|
* Returns the same value as Plan#getDB().
|
||||||
*
|
*
|
||||||
@ -341,6 +362,11 @@ public class DataCacheHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by Analysis for Player activity graphs.
|
||||||
|
*
|
||||||
|
* @return Maximum number of players defined in server.properties.
|
||||||
|
*/
|
||||||
public int getMaxPlayers() {
|
public int getMaxPlayers() {
|
||||||
return maxPlayers;
|
return maxPlayers;
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,81 @@ package com.djrapitops.plan.data.handlers;
|
|||||||
|
|
||||||
import com.djrapitops.plan.Plan;
|
import com.djrapitops.plan.Plan;
|
||||||
import com.djrapitops.plan.PlanLiteHook;
|
import com.djrapitops.plan.PlanLiteHook;
|
||||||
|
import com.djrapitops.plan.data.UserData;
|
||||||
|
import com.djrapitops.plan.data.cache.DataCacheHandler;
|
||||||
|
import com.djrapitops.plan.utilities.FormatUtils;
|
||||||
|
import com.djrapitops.planlite.api.DataPoint;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Set;
|
||||||
|
import main.java.com.djrapitops.plan.data.PlanLitePlayerData;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
|
||||||
public class PlanLiteHandler {
|
public class PlanLiteHandler {
|
||||||
|
|
||||||
private Plan plugin;
|
private Plan plugin;
|
||||||
private PlanLiteHook hook;
|
private PlanLiteHook hook;
|
||||||
|
private DataCacheHandler handler;
|
||||||
|
private boolean enabled;
|
||||||
|
|
||||||
public PlanLiteHandler(Plan plugin) {
|
public PlanLiteHandler(Plan plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
hook = plugin.getPlanLiteHook();
|
PlanLiteHook planLiteHook = plugin.getPlanLiteHook();
|
||||||
|
enabled = planLiteHook.isEnabled();
|
||||||
|
if (enabled) {
|
||||||
|
hook = planLiteHook;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleLogin(PlayerJoinEvent event, UserData data) {
|
||||||
|
if (!enabled) {
|
||||||
|
data.setPlanLiteFound(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Player p = event.getPlayer();
|
||||||
|
String playerName = p.getName();
|
||||||
|
|
||||||
|
handleEvents(playerName, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleEvents(String playerName, UserData data) {
|
||||||
|
if (!enabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Set<String> enabledHooks = hook.getEnabledHooksNames();
|
||||||
|
HashMap<String, DataPoint> liteData = hook.getAllData(playerName, true);
|
||||||
|
PlanLitePlayerData plData = new PlanLitePlayerData();
|
||||||
|
|
||||||
|
plData.setTowny(enabledHooks.contains("Towny"));
|
||||||
|
plData.setFactions(enabledHooks.contains("Factions"));
|
||||||
|
plData.setSuperbVote(enabledHooks.contains("SuperbVote"));
|
||||||
|
plData.setVault(enabledHooks.contains("Vault"));
|
||||||
|
if (plData.hasTowny()) {
|
||||||
|
DataPoint town = liteData.get("TOW-TOWN");
|
||||||
|
plData.setTown((town != null) ? town.data() : "Not in a town");
|
||||||
|
plData.setFriends(liteData.get("TOW-FRIENDS").data());
|
||||||
|
plData.setPlotPerms(liteData.get("TOW-PLOT PERMS").data());
|
||||||
|
plData.setPlotOptions(liteData.get("TOW-PLOT OPTIONS").data());
|
||||||
|
}
|
||||||
|
if (plData.hasFactions()) {
|
||||||
|
DataPoint faction = liteData.get("FAC-FACTION");
|
||||||
|
plData.setFaction((faction != null) ? faction.data() : "Not in a faction");
|
||||||
|
}
|
||||||
|
if (plData.hasSuperbVote()) {
|
||||||
|
try {
|
||||||
|
plData.setVotes(Integer.parseInt(liteData.get("SVO-VOTES").data()));
|
||||||
|
} catch (Exception e) {
|
||||||
|
plData.setVotes(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (plData.hasVault()) {
|
||||||
|
try {
|
||||||
|
plData.setMoney(Double.parseDouble(FormatUtils.removeLetters(liteData.get("ECO-BALANCE").data())));
|
||||||
|
} catch (Exception e) {
|
||||||
|
plData.setMoney(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.setPlanLiteFound(true);
|
||||||
|
data.setPlanLiteData(plData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@ import org.bukkit.event.Listener;
|
|||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerKickEvent;
|
import org.bukkit.event.player.PlayerKickEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,6 +28,7 @@ public class PlanPlayerListener implements Listener {
|
|||||||
private final LocationHandler locationH;
|
private final LocationHandler locationH;
|
||||||
private final DemographicsHandler demographicH;
|
private final DemographicsHandler demographicH;
|
||||||
private final RuleBreakingHandler rulebreakH;
|
private final RuleBreakingHandler rulebreakH;
|
||||||
|
private final PlanLiteHandler planLiteH;
|
||||||
private final ServerDataHandler serverHandler;
|
private final ServerDataHandler serverHandler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,6 +48,7 @@ public class PlanPlayerListener implements Listener {
|
|||||||
demographicH = handler.getDemographicsHandler();
|
demographicH = handler.getDemographicsHandler();
|
||||||
locationH = handler.getLocationHandler();
|
locationH = handler.getLocationHandler();
|
||||||
rulebreakH = handler.getRuleBreakingHandler();
|
rulebreakH = handler.getRuleBreakingHandler();
|
||||||
|
planLiteH = handler.getPlanLiteHandler();
|
||||||
serverHandler = handler.getServerDataHandler();
|
serverHandler = handler.getServerDataHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,6 +74,7 @@ public class PlanPlayerListener implements Listener {
|
|||||||
basicInfoH.handleLogin(event, data);
|
basicInfoH.handleLogin(event, data);
|
||||||
gmTimesH.handleLogin(event, data);
|
gmTimesH.handleLogin(event, data);
|
||||||
demographicH.handleLogin(event, data);
|
demographicH.handleLogin(event, data);
|
||||||
|
planLiteH.handleLogin(event, data);
|
||||||
(new BukkitRunnable() {
|
(new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -11,7 +11,8 @@ import java.util.Date;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import org.bukkit.Bukkit;
|
import main.java.com.djrapitops.plan.data.PlanLiteAnalyzedData;
|
||||||
|
import main.java.com.djrapitops.plan.data.PlanLitePlayerData;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
@ -96,7 +97,30 @@ public class Analysis {
|
|||||||
int ops = 0;
|
int ops = 0;
|
||||||
List<Integer> ages = new ArrayList<>();
|
List<Integer> ages = new ArrayList<>();
|
||||||
|
|
||||||
|
boolean planLiteEnabled = plugin.getPlanLiteHook().isEnabled();
|
||||||
|
|
||||||
|
PlanLiteAnalyzedData plData = new PlanLiteAnalyzedData();
|
||||||
|
HashMap<String, Integer> townMap = new HashMap<>();
|
||||||
|
HashMap<String, Integer> factionMap = new HashMap<>();
|
||||||
|
int totalVotes = 0;
|
||||||
|
int totalMoney = 0;
|
||||||
|
|
||||||
for (UserData uData : rawData) {
|
for (UserData uData : rawData) {
|
||||||
|
if (planLiteEnabled) {
|
||||||
|
PlanLitePlayerData litePlayerData = uData.getPlanLiteData();
|
||||||
|
String town = litePlayerData.getTown();
|
||||||
|
if (!townMap.containsKey(town)) {
|
||||||
|
townMap.put(town, 0);
|
||||||
|
}
|
||||||
|
townMap.replace(town, townMap.get(town) + 1);
|
||||||
|
String faction = litePlayerData.getFaction();
|
||||||
|
if (!factionMap.containsKey(faction)) {
|
||||||
|
factionMap.put(faction, 0);
|
||||||
|
}
|
||||||
|
factionMap.replace(faction, factionMap.get(faction) + 1);
|
||||||
|
totalVotes += litePlayerData.getVotes();
|
||||||
|
totalMoney += litePlayerData.getMoney();
|
||||||
|
}
|
||||||
HashMap<GameMode, Long> gmTimes = uData.getGmTimes();
|
HashMap<GameMode, Long> gmTimes = uData.getGmTimes();
|
||||||
gmZero += gmTimes.get(GameMode.SURVIVAL);
|
gmZero += gmTimes.get(GameMode.SURVIVAL);
|
||||||
gmOne += gmTimes.get(GameMode.CREATIVE);
|
gmOne += gmTimes.get(GameMode.CREATIVE);
|
||||||
@ -119,7 +143,20 @@ public class Analysis {
|
|||||||
} else {
|
} else {
|
||||||
inactive++;
|
inactive++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (planLiteEnabled) {
|
||||||
|
plData.setFactionMap(factionMap);
|
||||||
|
plData.setTownMap(townMap);
|
||||||
|
plData.setTotalVotes(totalVotes);
|
||||||
|
plData.setTotalMoney(totalMoney);
|
||||||
|
data.setPlanLiteEnabled(true);
|
||||||
|
data.setPlanLiteData(plData);
|
||||||
|
} else {
|
||||||
|
data.setPlanLiteEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
data.setTotalLoginTimes(totalLoginTimes);
|
data.setTotalLoginTimes(totalLoginTimes);
|
||||||
|
|
||||||
String activityPieChartHtml = AnalysisUtils.createActivityPieChart(totalBanned, active, inactive);
|
String activityPieChartHtml = AnalysisUtils.createActivityPieChart(totalBanned, active, inactive);
|
||||||
|
@ -9,6 +9,7 @@ import java.util.Collections;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import main.java.com.djrapitops.plan.data.PlanLiteAnalyzedData;
|
||||||
import main.java.com.djrapitops.plan.ui.graphs.ActivityPieChartCreator;
|
import main.java.com.djrapitops.plan.ui.graphs.ActivityPieChartCreator;
|
||||||
import main.java.com.djrapitops.plan.ui.graphs.PlayerActivityGraphCreator;
|
import main.java.com.djrapitops.plan.ui.graphs.PlayerActivityGraphCreator;
|
||||||
import main.java.com.djrapitops.plan.utilities.comparators.MapComparator;
|
import main.java.com.djrapitops.plan.utilities.comparators.MapComparator;
|
||||||
@ -93,6 +94,12 @@ public class AnalysisUtils {
|
|||||||
replaceMap.put("%ops%", "" + data.getOps());
|
replaceMap.put("%ops%", "" + data.getOps());
|
||||||
replaceMap.put("%refresh%", FormatUtils.formatTimeAmountSinceString("" + data.getRefreshDate(), new Date()));
|
replaceMap.put("%refresh%", FormatUtils.formatTimeAmountSinceString("" + data.getRefreshDate(), new Date()));
|
||||||
replaceMap.put("%totallogins%", "" + data.getTotalLoginTimes());
|
replaceMap.put("%totallogins%", "" + data.getTotalLoginTimes());
|
||||||
|
if (data.isPlanLiteEnabled()) {
|
||||||
|
replaceMap.put("%planlite%", getPlanLiteAnalysisHtml(data.getPlanLiteData()));
|
||||||
|
} else {
|
||||||
|
replaceMap.put("%planlite%", "");
|
||||||
|
}
|
||||||
|
|
||||||
return replaceMap;
|
return replaceMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,4 +141,45 @@ public class AnalysisUtils {
|
|||||||
html += "</table>";
|
html += "</table>";
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getPlanLiteAnalysisHtml(PlanLiteAnalyzedData planLiteData) {
|
||||||
|
List<String[]> sortedTowns = MapComparator.sortByValue(planLiteData.getTownMap());
|
||||||
|
Collections.reverse(sortedTowns);
|
||||||
|
List<String[]> sortedFactions = MapComparator.sortByValue(planLiteData.getFactionMap());
|
||||||
|
Collections.reverse(sortedFactions);
|
||||||
|
String html = "<tr>"
|
||||||
|
+ "<td style=\"margin-left: 3px; margin-right: auto; "
|
||||||
|
+ "border-style: groove; border-width: 3px; border-radius: 12px; padding: 2px 4px 2px 3px; "
|
||||||
|
+ "box-shadow: 5px 5px 4px 0px #888888;\">";
|
||||||
|
|
||||||
|
html += "<table style=\"border-collapse: collapse;table-layout: fixed; border-style: solid; border-width: 1px; width: 100%;\">";
|
||||||
|
|
||||||
|
int i = 1;
|
||||||
|
for (String[] values : sortedTowns) {
|
||||||
|
if (i >= 20) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
html += "<tr style=\"text-align: center;border-style: solid; border-width: 1px;height: 28px;\"><td><b>" + values[1] + "</b></td>\r\n<td>" + values[0] + "</td></tr>";
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
html += "</table><table style=\"border-collapse: collapse;table-layout: fixed; border-style: solid; border-width: 1px; width: 100%;\">";
|
||||||
|
int j = 1;
|
||||||
|
for (String[] values : sortedFactions) {
|
||||||
|
if (j >= 20) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
html += "<tr style=\"text-align: center;border-style: solid; border-width: 1px;height: 28px;\"><td><b>" + values[1] + "</b></td>\r\n<td>" + values[0] + "</td></tr>";
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
html += "</table></tr>" + "<tr>"
|
||||||
|
+ " <td style=\"margin-left: 3px; margin-right: auto; "
|
||||||
|
+ " border-style: groove; border-width: 3px; border-radius: 12px; padding: 2px 4px 2px 3px;"
|
||||||
|
+ " box-shadow: 5px 5px 4px 0px #888888;\">"
|
||||||
|
+ "<h4>Information</h4>"
|
||||||
|
+ "<p>Total Money on the server: " + planLiteData.getTotalMoney() + "<br/>Players have voted the server "
|
||||||
|
+ planLiteData.getTotalVotes() + " times.</p>"
|
||||||
|
+ "</td>";
|
||||||
|
html += "</tr>";
|
||||||
|
return html;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,18 +47,7 @@
|
|||||||
%top50commands%
|
%top50commands%
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
%planlite%
|
||||||
<td style="margin-left: 3px; margin-right: auto;
|
|
||||||
border-style: groove; border-width: 3px; border-radius: 12px; padding: 2px 4px 2px 3px;
|
|
||||||
box-shadow: 5px 5px 4px 0px #888888;text-align: center;">
|
|
||||||
<p>Empty wrapper</p>
|
|
||||||
</td>
|
|
||||||
<td style="margin-left: 3px; margin-right: auto;
|
|
||||||
border-style: groove; border-width: 3px; border-radius: 12px; padding: 2px 4px 2px 3px;
|
|
||||||
box-shadow: 5px 5px 4px 0px #888888;text-align: center;">
|
|
||||||
<p>Empty wrapper</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
Loading…
Reference in New Issue
Block a user