[1.15.2.a.5] Added staff access to offline players' banks.
This commit is contained in:
parent
1f83b3989b
commit
95f105707c
@ -1,6 +1,6 @@
|
||||
name: "EnderBank"
|
||||
author: TheTealViper
|
||||
version: "1.15.2.a.4"
|
||||
version: "1.15.2.a.5"
|
||||
api-version: 1.13
|
||||
description: "Bank system from popular RPG's."
|
||||
main: me.TheTealViper.enderbank.EnderBank
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -18,7 +19,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
import me.TheTealViper.enderbank.utils.PluginFile;
|
||||
|
||||
public class BankStorage {
|
||||
public static Map<Player, BankStorage> bankDatabase = new HashMap<Player, BankStorage>(); // This links players to THEIR own bank
|
||||
public static Map<UUID, BankStorage> bankDatabase = new HashMap<UUID, BankStorage>(); // This links players to THEIR own bank
|
||||
public static Map<Player, BankStorage> openBankDatabase = new HashMap<Player, BankStorage>(); // This links players to the bank they are viewing
|
||||
public static Map<Player, BankStorage> searchDatabase = new HashMap<Player, BankStorage>(); // This links players to the last bank they tried to search
|
||||
public static EnderBank plugin;
|
||||
@ -29,23 +30,23 @@ public class BankStorage {
|
||||
public Inventory lastOpenedInventory;
|
||||
public int lastOpenedPage;
|
||||
public List<Integer> itemIdentifiers;
|
||||
public Player bankOwner;
|
||||
public UUID bankOwnerUUID;
|
||||
|
||||
public static void setup(EnderBank plugin) {
|
||||
BankStorage.plugin = plugin;
|
||||
}
|
||||
|
||||
public static BankStorage getBank(Player bankOwner) {
|
||||
public static BankStorage getBank(UUID bankOwner) {
|
||||
if(bankDatabase.containsKey(bankOwner))
|
||||
return bankDatabase.get(bankOwner);
|
||||
else
|
||||
return new BankStorage(bankOwner);
|
||||
}
|
||||
|
||||
public BankStorage(Player bankOwner) {
|
||||
bankDatabase.put(bankOwner, this);
|
||||
this.bankOwner = bankOwner;
|
||||
pf = new PluginFile(plugin, "banks/banks." + bankOwner.getUniqueId().toString() + ".yml");
|
||||
public BankStorage(UUID bankOwnerUUID) {
|
||||
bankDatabase.put(bankOwnerUUID, this);
|
||||
this.bankOwnerUUID = bankOwnerUUID;
|
||||
pf = new PluginFile(plugin, "banks/banks." + bankOwnerUUID.toString() + ".yml");
|
||||
|
||||
//Load in defaults if not saved yet
|
||||
if(!pf.contains("unlockedPages")) {
|
||||
@ -69,7 +70,7 @@ public class BankStorage {
|
||||
|
||||
public void openPage(int page, Player opener) {
|
||||
openBankDatabase.put(opener, this);
|
||||
Inventory inv = Bukkit.createInventory(null, 54, bankOwner.getName() + "'s Bank [Pg. " + page + "]");
|
||||
Inventory inv = Bukkit.createInventory(null, 54, Bukkit.getOfflinePlayer(bankOwnerUUID).getName() + "'s Bank [Pg. " + page + "]");
|
||||
|
||||
int startingIndex = (page - 1) * 42;
|
||||
// int endingIndex = page * 42 - 1;
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -127,13 +128,16 @@ public class EnderBank extends JavaPlugin implements Listener {
|
||||
String oPlayerName = args[1];
|
||||
@SuppressWarnings("deprecation")
|
||||
OfflinePlayer oPlayerOffline = Bukkit.getOfflinePlayer(oPlayerName);
|
||||
if(oPlayerOffline.isOnline()) {
|
||||
Player oPlayer = oPlayerOffline.getPlayer();
|
||||
BankStorage bank = BankStorage.getBank(oPlayer);
|
||||
UUID oPlayerUUID = oPlayerOffline.getUniqueId();
|
||||
if(BankStorage.bankDatabase.containsKey(oPlayerUUID)) {
|
||||
BankStorage bank = BankStorage.getBank(oPlayerUUID);
|
||||
bank.openPage(1, p);
|
||||
}else {
|
||||
p.sendMessage("That player is not online.");
|
||||
}
|
||||
if(!oPlayerOffline.isOnline()){
|
||||
p.sendMessage("That player is not online. Opening last save of inventory.");
|
||||
}
|
||||
}else {
|
||||
p.sendMessage("That bank does not exist yet. The player must sign in at least once.");
|
||||
}
|
||||
}else {
|
||||
warnmissingperms = true;
|
||||
}
|
||||
@ -336,7 +340,7 @@ public class EnderBank extends JavaPlugin implements Listener {
|
||||
}
|
||||
|
||||
public void openEnderBank(Player p) {
|
||||
BankStorage bank = BankStorage.getBank(p);
|
||||
BankStorage bank = BankStorage.getBank(p.getUniqueId());
|
||||
bank.openPage(1, p);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user