geforkt von Mirrors/HeadDB
refactor and localHeads option
Dieser Commit ist enthalten in:
Ursprung
7fceb6ca59
Commit
47f4f5b2b1
6
pom.xml
6
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>tsp.headdb</groupId>
|
<groupId>tsp.headdb</groupId>
|
||||||
<artifactId>HeadDB</artifactId>
|
<artifactId>HeadDB</artifactId>
|
||||||
<version>2.4.0</version>
|
<version>2.4.1</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>HeadDB</name>
|
<name>HeadDB</name>
|
||||||
@ -92,8 +92,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.1</version>
|
<version>3.8.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>16</source>
|
<source>1.8</source>
|
||||||
<target>16</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ import tsp.headdb.listener.MenuListener;
|
|||||||
import tsp.headdb.util.Log;
|
import tsp.headdb.util.Log;
|
||||||
import tsp.headdb.util.Metrics;
|
import tsp.headdb.util.Metrics;
|
||||||
import tsp.headdb.util.Storage;
|
import tsp.headdb.util.Storage;
|
||||||
import tsp.headdb.util.Utils;
|
|
||||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
|
|
||||||
@ -48,9 +47,6 @@ public class HeadDB extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.debug("Starting metrics...");
|
|
||||||
new Metrics(this, Utils.METRICS_ID);
|
|
||||||
|
|
||||||
Log.debug("Registering listeners...");
|
Log.debug("Registering listeners...");
|
||||||
new PagedPaneListener(this);
|
new PagedPaneListener(this);
|
||||||
new MenuListener(this);
|
new MenuListener(this);
|
||||||
@ -59,6 +55,8 @@ public class HeadDB extends JavaPlugin {
|
|||||||
Log.debug("Registering commands...");
|
Log.debug("Registering commands...");
|
||||||
getCommand("headdb").setExecutor(new Command_headdb());
|
getCommand("headdb").setExecutor(new Command_headdb());
|
||||||
|
|
||||||
|
Log.debug("Starting metrics...");
|
||||||
|
new Metrics(this, 9152);
|
||||||
Log.info("Done!");
|
Log.info("Done!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package tsp.headdb.database;
|
package tsp.headdb.database;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
@ -8,8 +7,8 @@ import org.json.simple.JSONObject;
|
|||||||
import org.json.simple.parser.JSONParser;
|
import org.json.simple.parser.JSONParser;
|
||||||
import org.json.simple.parser.ParseException;
|
import org.json.simple.parser.ParseException;
|
||||||
import tsp.headdb.api.Head;
|
import tsp.headdb.api.Head;
|
||||||
import tsp.headdb.event.HeadDatabaseUpdateEvent;
|
|
||||||
import tsp.headdb.util.Log;
|
import tsp.headdb.util.Log;
|
||||||
|
import tsp.headdb.util.Utils;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -164,10 +163,11 @@ public class HeadDatabase {
|
|||||||
for (Object o : array) {
|
for (Object o : array) {
|
||||||
JSONObject obj = (JSONObject) o;
|
JSONObject obj = (JSONObject) o;
|
||||||
String uuid = obj.get("uuid").toString();
|
String uuid = obj.get("uuid").toString();
|
||||||
|
Log.debug(!Utils.isValid(uuid) + "Invalid UUID: " + uuid);
|
||||||
|
|
||||||
Head head = new Head(id)
|
Head head = new Head(id)
|
||||||
.withName(obj.get("name").toString())
|
.withName(obj.get("name").toString())
|
||||||
.withUniqueId(uuid.isEmpty() ? UUID.randomUUID() : UUID.fromString(uuid))
|
.withUniqueId(Utils.isValid(uuid) ? UUID.fromString(uuid) : UUID.randomUUID())
|
||||||
.withValue(obj.get("value").toString())
|
.withValue(obj.get("value").toString())
|
||||||
.withTags(obj.get("tags") != null ? obj.get("tags").toString() : "None")
|
.withTags(obj.get("tags") != null ? obj.get("tags").toString() : "None")
|
||||||
.withCategory(category);
|
.withCategory(category);
|
||||||
@ -207,7 +207,6 @@ public class HeadDatabase {
|
|||||||
for (Map.Entry<Category, List<Head>> entry : heads.entrySet()) {
|
for (Map.Entry<Category, List<Head>> entry : heads.entrySet()) {
|
||||||
HEADS.put(entry.getKey(), entry.getValue());
|
HEADS.put(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
Bukkit.getPluginManager().callEvent(new HeadDatabaseUpdateEvent(this));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
package tsp.headdb.event;
|
|
||||||
|
|
||||||
import org.bukkit.event.Cancellable;
|
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import tsp.headdb.database.HeadDatabase;
|
|
||||||
|
|
||||||
public class HeadDatabaseUpdateEvent extends Event implements Cancellable {
|
|
||||||
|
|
||||||
private final HandlerList handlerList = new HandlerList();
|
|
||||||
private boolean cancelled;
|
|
||||||
private final HeadDatabase database;
|
|
||||||
|
|
||||||
public HeadDatabaseUpdateEvent(HeadDatabase database) {
|
|
||||||
this.database = database;
|
|
||||||
}
|
|
||||||
|
|
||||||
public HeadDatabase getDatabase() {
|
|
||||||
return database;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isCancelled() {
|
|
||||||
return cancelled;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setCancelled(boolean b) {
|
|
||||||
this.cancelled = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public @NotNull HandlerList getHandlers() {
|
|
||||||
return handlerList;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -8,8 +8,11 @@ import tsp.headdb.HeadDB;
|
|||||||
public class JoinListener implements Listener {
|
public class JoinListener implements Listener {
|
||||||
|
|
||||||
public JoinListener(HeadDB plugin) {
|
public JoinListener(HeadDB plugin) {
|
||||||
|
// If local heads are disabled, there is no need for this listener.
|
||||||
|
if (HeadDB.getInstance().getConfiguration().getBoolean("localHeads")) {
|
||||||
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onJoin(PlayerJoinEvent e) {
|
public void onJoin(PlayerJoinEvent e) {
|
||||||
|
@ -3,9 +3,17 @@ package tsp.headdb.util;
|
|||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class Utils {
|
public class Utils {
|
||||||
|
|
||||||
public static final int METRICS_ID = 9152;
|
public static final Pattern UUID_PATTERN = Pattern.compile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$");
|
||||||
|
|
||||||
|
public static boolean isValid(String uuid) {
|
||||||
|
Matcher matcher = UUID_PATTERN.matcher(uuid);
|
||||||
|
return matcher.find();
|
||||||
|
}
|
||||||
|
|
||||||
public static void sendMessage(CommandSender sender, String message) {
|
public static void sendMessage(CommandSender sender, String message) {
|
||||||
sender.sendMessage(colorize(message));
|
sender.sendMessage(colorize(message));
|
||||||
|
@ -7,6 +7,9 @@ asyncStartup: false
|
|||||||
# If the cached heads are older than these amount of seconds, the plugin will refresh the database
|
# If the cached heads are older than these amount of seconds, the plugin will refresh the database
|
||||||
refresh: 3600
|
refresh: 3600
|
||||||
|
|
||||||
|
# If local heads should be enabled. Only keeps track of joined players when enabled!
|
||||||
|
localHeads: true
|
||||||
|
|
||||||
# Economy options
|
# Economy options
|
||||||
economy:
|
economy:
|
||||||
enable: false
|
enable: false
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren