Guest User

Untitled

a guest
Jan 10th, 2023
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.40 KB | None | 0 0
  1. package ru.pandaworld.api.bukkit.modules.vault;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.OfflinePlayer;
  5. import org.bukkit.entity.Player;
  6. import ru.pandaworld.api.bukkit.modules.vault.providers.VaultChatManager;
  7. import ru.pandaworld.api.bukkit.modules.vault.providers.VaultEconomyManager;
  8. import ru.pandaworld.api.bukkit.modules.vault.providers.VaultPermissionManager;
  9. import ru.pandaworld.api.bukkit.types.CacheManager;
  10.  
  11. public final class VaultManager extends CacheManager<VaultPlayer> {
  12.     private final VaultChatManager chatManager = new VaultChatManager();
  13.  
  14.     public VaultChatManager getChatManager() {
  15.         return this.chatManager;
  16.     }
  17.  
  18.     private final VaultEconomyManager economyManager = new VaultEconomyManager();
  19.  
  20.     public VaultEconomyManager getEconomyManager() {
  21.         return this.economyManager;
  22.     }
  23.  
  24.     private final VaultPermissionManager permissionManager = new VaultPermissionManager();
  25.  
  26.     public VaultPermissionManager getPermissionManager() {
  27.         return this.permissionManager;
  28.     }
  29.  
  30.     public VaultPlayer getVaultPlayer(String nickname) {
  31.         return getComputeCache(nickname.toLowerCase(), a -> new VaultPlayerImpl(a));
  32.     }
  33.  
  34.     public VaultPlayer getVaultPlayer(Player player) {
  35.         return getVaultPlayer(player.getName());
  36.     }
  37.  
  38.     private class VaultPlayerImpl implements VaultPlayer {
  39.         private final String nickname;
  40.  
  41.         private final OfflinePlayer player;
  42.  
  43.         public VaultPlayerImpl(String nickname) {
  44.             this.nickname = nickname;
  45.             this.player = Bukkit.getOfflinePlayer(Bukkit.getPlayer(nickname).getUniqueId());
  46.         }
  47.  
  48.         public String getName() {
  49.             return this.nickname;
  50.         }
  51.  
  52.         public String getPrefix() {
  53.             return VaultManager.this.chatManager.getChat().getPlayerPrefix((String) null, this.player);
  54.         }
  55.  
  56.         public String getSuffix() {
  57.             return VaultManager.this.chatManager.getChat().getPlayerSuffix((String) null, this.player);
  58.         }
  59.  
  60.         public String getGroupPrefix() {
  61.             return VaultManager.this.chatManager.getChat().getGroupPrefix((String) null, getPrimaryGroup());
  62.         }
  63.  
  64.         public String getGroupSuffix() {
  65.             return VaultManager.this.chatManager.getChat().getGroupSuffix((String) null, getPrimaryGroup());
  66.         }
  67.  
  68.         public double getBalance() {
  69.             return VaultManager.this.economyManager.getEconomy().getBalance(this.player);
  70.         }
  71.  
  72.         public void setBalance(double balance) {
  73.             if (balance > getBalance()) {
  74.                 giveMoney(balance - getBalance());
  75.             } else if (balance < getBalance()) {
  76.                 takeMoney(getBalance() - balance);
  77.             }
  78.         }
  79.  
  80.         public void giveMoney(double count) {
  81.             VaultManager.this.economyManager.getEconomy().depositPlayer(this.player, count);
  82.         }
  83.  
  84.         public void takeMoney(double count) {
  85.             VaultManager.this.economyManager.getEconomy().withdrawPlayer(this.player, count);
  86.         }
  87.  
  88.         public String[] getGroups() {
  89.             return VaultManager.this.chatManager.getChat().getPlayerGroups(null, this.player);
  90.         }
  91.  
  92.         public String getPrimaryGroup() {
  93.             return VaultManager.this.chatManager.getChat().getPrimaryGroup(null, this.player);
  94.         }
  95.  
  96.         public void addPermission(String permission) {
  97.             VaultManager.this.permissionManager.getPermission().playerAdd(null, this.player, permission);
  98.         }
  99.  
  100.         public void removePermission(String permission) {
  101.             VaultManager.this.permissionManager.getPermission().playerRemove(null, this.player, permission);
  102.         }
  103.  
  104.         public void addGroup(String group) {
  105.             VaultManager.this.permissionManager.getPermission().groupAdd((String) null, this.nickname, group);
  106.         }
  107.  
  108.         public void removeGroup(String group) {
  109.             VaultManager.this.permissionManager.getPermission().groupRemove((String) null, this.nickname, group);
  110.         }
  111.  
  112.         public boolean hasGroup(String group) {
  113.             return VaultManager.this.permissionManager.getPermission().groupHas((String) null, this.nickname, group);
  114.         }
  115.  
  116.         public boolean hasPermission(String permission) {
  117.             return VaultManager.this.permissionManager.getPermission().playerHas(null, this.player, permission);
  118.         }
  119.     }
  120. }
  121.  
Advertisement
Add Comment
Please, Sign In to add comment