Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.pandaworld.api.bukkit.modules.vault;
- import org.bukkit.Bukkit;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.entity.Player;
- import ru.pandaworld.api.bukkit.modules.vault.providers.VaultChatManager;
- import ru.pandaworld.api.bukkit.modules.vault.providers.VaultEconomyManager;
- import ru.pandaworld.api.bukkit.modules.vault.providers.VaultPermissionManager;
- import ru.pandaworld.api.bukkit.types.CacheManager;
- public final class VaultManager extends CacheManager<VaultPlayer> {
- private final VaultChatManager chatManager = new VaultChatManager();
- public VaultChatManager getChatManager() {
- return this.chatManager;
- }
- private final VaultEconomyManager economyManager = new VaultEconomyManager();
- public VaultEconomyManager getEconomyManager() {
- return this.economyManager;
- }
- private final VaultPermissionManager permissionManager = new VaultPermissionManager();
- public VaultPermissionManager getPermissionManager() {
- return this.permissionManager;
- }
- public VaultPlayer getVaultPlayer(String nickname) {
- return getComputeCache(nickname.toLowerCase(), a -> new VaultPlayerImpl(a));
- }
- public VaultPlayer getVaultPlayer(Player player) {
- return getVaultPlayer(player.getName());
- }
- private class VaultPlayerImpl implements VaultPlayer {
- private final String nickname;
- private final OfflinePlayer player;
- public VaultPlayerImpl(String nickname) {
- this.nickname = nickname;
- this.player = Bukkit.getOfflinePlayer(Bukkit.getPlayer(nickname).getUniqueId());
- }
- public String getName() {
- return this.nickname;
- }
- public String getPrefix() {
- return VaultManager.this.chatManager.getChat().getPlayerPrefix((String) null, this.player);
- }
- public String getSuffix() {
- return VaultManager.this.chatManager.getChat().getPlayerSuffix((String) null, this.player);
- }
- public String getGroupPrefix() {
- return VaultManager.this.chatManager.getChat().getGroupPrefix((String) null, getPrimaryGroup());
- }
- public String getGroupSuffix() {
- return VaultManager.this.chatManager.getChat().getGroupSuffix((String) null, getPrimaryGroup());
- }
- public double getBalance() {
- return VaultManager.this.economyManager.getEconomy().getBalance(this.player);
- }
- public void setBalance(double balance) {
- if (balance > getBalance()) {
- giveMoney(balance - getBalance());
- } else if (balance < getBalance()) {
- takeMoney(getBalance() - balance);
- }
- }
- public void giveMoney(double count) {
- VaultManager.this.economyManager.getEconomy().depositPlayer(this.player, count);
- }
- public void takeMoney(double count) {
- VaultManager.this.economyManager.getEconomy().withdrawPlayer(this.player, count);
- }
- public String[] getGroups() {
- return VaultManager.this.chatManager.getChat().getPlayerGroups(null, this.player);
- }
- public String getPrimaryGroup() {
- return VaultManager.this.chatManager.getChat().getPrimaryGroup(null, this.player);
- }
- public void addPermission(String permission) {
- VaultManager.this.permissionManager.getPermission().playerAdd(null, this.player, permission);
- }
- public void removePermission(String permission) {
- VaultManager.this.permissionManager.getPermission().playerRemove(null, this.player, permission);
- }
- public void addGroup(String group) {
- VaultManager.this.permissionManager.getPermission().groupAdd((String) null, this.nickname, group);
- }
- public void removeGroup(String group) {
- VaultManager.this.permissionManager.getPermission().groupRemove((String) null, this.nickname, group);
- }
- public boolean hasGroup(String group) {
- return VaultManager.this.permissionManager.getPermission().groupHas((String) null, this.nickname, group);
- }
- public boolean hasPermission(String permission) {
- return VaultManager.this.permissionManager.getPermission().playerHas(null, this.player, permission);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment