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