mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-24 22:26:45 +01:00
Started working on functions that will allow for a saved UUID cache (i.e mysql, sqlite, txt file etc...) for faster reading and in-caching.
This commit is contained in:
parent
4ba147b95f
commit
2bbcdb17bc
@ -8,42 +8,7 @@
|
||||
|
||||
package com.intellectualcrafters.plot;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DatabaseMetaData;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import me.confuser.barapi.BarAPI;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import ca.mera.CameraAPI;
|
||||
|
||||
import com.intellectualcrafters.plot.Logger.LogLevel;
|
||||
import com.intellectualcrafters.plot.Settings.Web;
|
||||
import com.intellectualcrafters.plot.commands.Camera;
|
||||
@ -60,14 +25,39 @@ import com.intellectualcrafters.plot.generator.WorldGenerator;
|
||||
import com.intellectualcrafters.plot.listeners.PlayerEvents;
|
||||
import com.intellectualcrafters.plot.listeners.WorldEditListener;
|
||||
import com.intellectualcrafters.plot.listeners.WorldGuardListener;
|
||||
import com.intellectualcrafters.plot.uuid.PlotUUIDSaver;
|
||||
import com.intellectualcrafters.plot.uuid.UUIDSaver;
|
||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import me.confuser.barapi.BarAPI;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DatabaseMetaData;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
/**
|
||||
* @awesome @author Citymonstret, Empire92 PlotMain class.
|
||||
*/
|
||||
public class PlotMain extends JavaPlugin {
|
||||
|
||||
private static UUIDSaver uuidSaver;
|
||||
|
||||
/**
|
||||
* settings.properties
|
||||
*/
|
||||
@ -162,7 +152,7 @@ public class PlotMain extends JavaPlugin {
|
||||
* - checks for '*' nodes
|
||||
*
|
||||
* @param player
|
||||
* @param perm
|
||||
* @param perms
|
||||
* @return
|
||||
*/
|
||||
public static boolean hasPermissions(Player player, String[] perms) {
|
||||
@ -193,6 +183,14 @@ public class PlotMain extends JavaPlugin {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void setUUIDSaver(UUIDSaver saver) {
|
||||
uuidSaver = saver;
|
||||
}
|
||||
|
||||
public static UUIDSaver getUUIDSaver() {
|
||||
return uuidSaver;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check a player for a permission<br>
|
||||
* - Op has all permissions <br>
|
||||
@ -684,6 +682,7 @@ public class PlotMain extends JavaPlugin {
|
||||
//Setup version + downloads, will not be updated... maybe setup runnable? TODO Let jesse decide...
|
||||
com.intellectualcrafters.plot.commands.plugin.setup(this);
|
||||
|
||||
setUUIDSaver(new PlotUUIDSaver());
|
||||
UUIDHandler.startFetch(this);
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
import com.intellectualcrafters.plot.uuid.NameFetcher;
|
||||
import com.intellectualcrafters.plot.uuid.UUIDFetcher;
|
||||
import com.intellectualcrafters.plot.uuid.UUIDSaver;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -223,4 +224,12 @@ public class UUIDHandler {
|
||||
add(name, uuid);
|
||||
return uuid;
|
||||
}
|
||||
|
||||
|
||||
/* Save UUIDS */
|
||||
public static void handleSaving() {
|
||||
UUIDSaver saver = PlotMain.getUUIDSaver();
|
||||
// Should it save per UUIDSet or all of them? TODO: Let Jesse decide xD
|
||||
saver.globalSave(getUuidMap());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
package com.intellectualcrafters.plot.uuid;
|
||||
|
||||
import com.google.common.collect.BiMap;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by Citymonstret on 2014-10-13.
|
||||
*/
|
||||
public class PlotUUIDSaver extends UUIDSaver {
|
||||
|
||||
public void globalSave(BiMap<String, UUID> map) {
|
||||
|
||||
}
|
||||
|
||||
public void save(UUIDSet set) {
|
||||
|
||||
}
|
||||
|
||||
public UUIDSet get(String name) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public UUIDSet get(UUID uuid) {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.intellectualcrafters.plot.uuid;
|
||||
|
||||
import com.google.common.collect.BiMap;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by Citymonstret on 2014-10-13.
|
||||
*/
|
||||
public abstract class UUIDSaver {
|
||||
public abstract void globalSave(BiMap<String, UUID> map);
|
||||
public abstract void save(UUIDSet set);
|
||||
public abstract UUIDSet get(String name);
|
||||
public abstract UUIDSet get(UUID uuid);
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package com.intellectualcrafters.plot.uuid;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by Citymonstret on 2014-10-13.
|
||||
*/
|
||||
public class UUIDSet {
|
||||
private String name;
|
||||
private UUID uuid;
|
||||
|
||||
public UUIDSet(String name, UUID uuid) {
|
||||
this.name = name;
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public UUID getUUID() {
|
||||
return uuid;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user