@@ -1,48 +0,0 @@
|
||||
package com.drtshock.playervaults.vaultmanagement;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class CachedVaults extends HashMap<UUID, CachedVaultsMap> {
|
||||
public void setCachedVault(UUID playerUUID, int id, Inventory inventory){
|
||||
CachedVaultsMap vaultCacheMap = this.containsKey(playerUUID) ? this.get(playerUUID) : new CachedVaultsMap();
|
||||
vaultCacheMap.setCachedVault(id, inventory);
|
||||
this.put(playerUUID, vaultCacheMap);
|
||||
}
|
||||
|
||||
public Inventory getCachedVault(UUID playerUUID, int id){
|
||||
return this.containsKey(playerUUID) ? this.get(playerUUID).getCachedVault(id) : null;
|
||||
}
|
||||
|
||||
public boolean hasVaultCached(UUID playerUUID, int id){
|
||||
return this.containsKey(playerUUID) && this.get(playerUUID).getCachedVault(id) != null;
|
||||
}
|
||||
|
||||
public void clearVaultCache(UUID playerUUID){
|
||||
if(this.containsKey(playerUUID)){
|
||||
this.get(playerUUID).clear();
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteVaultCache(UUID playerUUID){
|
||||
this.remove(playerUUID);
|
||||
}
|
||||
|
||||
public void flushVaultCacheToFile(UUID playerUUID){
|
||||
if(this.containsKey(playerUUID)){
|
||||
for(java.util.Map.Entry<Integer, Inventory> data : this.get(playerUUID).entrySet()){
|
||||
try {
|
||||
UUIDVaultManager.getInstance().saveVault(data.getValue(), playerUUID, data.getKey());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
this.deleteVaultCache(playerUUID);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.drtshock.playervaults.vaultmanagement;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class CachedVaultsMap extends HashMap<Integer, Inventory> {
|
||||
public void setCachedVault(int id, Inventory inventory){
|
||||
this.put(id, inventory);
|
||||
}
|
||||
|
||||
public Inventory getCachedVault(int id){
|
||||
return this.containsKey(id) ? this.get(id) : null;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,7 @@
|
||||
package com.drtshock.playervaults.vaultmanagement;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.drtshock.playervaults.PlayerVaults;
|
||||
import com.drtshock.playervaults.util.Lang;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -15,8 +10,11 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
import com.drtshock.playervaults.PlayerVaults;
|
||||
import com.drtshock.playervaults.util.Lang;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Class to handle vault operations with new UUIDs.
|
||||
@@ -24,19 +22,13 @@ import com.drtshock.playervaults.util.Lang;
|
||||
public class UUIDVaultManager {
|
||||
|
||||
private static UUIDVaultManager instance;
|
||||
private static CachedVaults cachedVaults;
|
||||
|
||||
public UUIDVaultManager() {
|
||||
instance = this;
|
||||
cachedVaults = new CachedVaults();
|
||||
}
|
||||
|
||||
private final File directory = PlayerVaults.getInstance().getVaultData();
|
||||
|
||||
public CachedVaults getCachedVaults(){
|
||||
return cachedVaults;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the inventory to the specified player and vault number.
|
||||
*
|
||||
@@ -73,10 +65,6 @@ public class UUIDVaultManager {
|
||||
* @param number The vault number.
|
||||
*/
|
||||
public Inventory loadOwnVault(Player player, int number, int size) {
|
||||
if(cachedVaults.hasVaultCached(player.getUniqueId(), number)){
|
||||
return cachedVaults.getCachedVault(player.getUniqueId(), number);
|
||||
}
|
||||
|
||||
if (size % 9 != 0) {
|
||||
size = 54;
|
||||
}
|
||||
@@ -108,7 +96,6 @@ public class UUIDVaultManager {
|
||||
PlayerVaults.getInstance().getOpenInventories().put(info.toString(), inv);
|
||||
}
|
||||
|
||||
cachedVaults.setCachedVault(player.getUniqueId(), number, inv);
|
||||
return inv;
|
||||
}
|
||||
|
||||
@@ -119,10 +106,6 @@ public class UUIDVaultManager {
|
||||
* @param number The vault number.
|
||||
*/
|
||||
public Inventory loadOtherVault(UUID holder, int number, int size) {
|
||||
if(cachedVaults.hasVaultCached(holder, number)){
|
||||
return cachedVaults.getCachedVault(holder, number);
|
||||
}
|
||||
|
||||
if (size % 9 != 0) {
|
||||
size = 54;
|
||||
}
|
||||
@@ -145,8 +128,6 @@ public class UUIDVaultManager {
|
||||
}
|
||||
PlayerVaults.getInstance().getOpenInventories().put(info.toString(), inv);
|
||||
}
|
||||
|
||||
cachedVaults.setCachedVault(holder, number, inv);
|
||||
return inv;
|
||||
}
|
||||
|
||||
@@ -212,12 +193,10 @@ public class UUIDVaultManager {
|
||||
* @throws IOException Uh oh!
|
||||
*/
|
||||
public void deleteVault(CommandSender sender, UUID holder, int number) throws IOException {
|
||||
File file = new File(directory, holder.toString() + ".yml");
|
||||
File file = new File(directory, holder.toString() + ".yml");
|
||||
if (!file.exists()) {
|
||||
return;
|
||||
}
|
||||
|
||||
cachedVaults.clearVaultCache(holder);
|
||||
|
||||
FileConfiguration playerFile = YamlConfiguration.loadConfiguration(file);
|
||||
if (file.exists()) {
|
||||
|
||||
Reference in New Issue
Block a user