Advertisement
Guest User

Untitled

a guest
Mar 28th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.38 KB | None | 0 0
  1. package com.hampion.plugins;
  2.  
  3. import com.hampion.plugins.Commands.RankCommand;
  4. import com.hampion.plugins.Events.Basic;
  5. import com.hampion.plugins.Managers.FileManager;
  6. import com.hampion.plugins.Managers.PlayerManager;
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.command.ConsoleCommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.PlayerJoinEvent;
  14. import org.bukkit.event.player.PlayerQuitEvent;
  15. import org.bukkit.permissions.PermissionAttachment;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17. import org.bukkit.scoreboard.Scoreboard;
  18. import org.bukkit.scoreboard.Team;
  19.  
  20. import java.util.HashMap;
  21. import java.util.UUID;
  22. import java.util.logging.Logger;
  23.  
  24. public class Main extends JavaPlugin implements Listener {
  25.  
  26. public static Main plugin;
  27. public HashMap<UUID, PermissionAttachment> playerPermissions = new HashMap<>();
  28. FileManager FileManager = new FileManager();
  29. PlayerManager PlayerManager = new PlayerManager();
  30. Basic Basic = new Basic(PlayerManager);
  31.  
  32.  
  33. @Override
  34. public void onEnable() {
  35. // Console Messages
  36. Logger Logger = Bukkit.getLogger();
  37. ConsoleCommandSender clogger = this.getServer().getConsoleSender();
  38. clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
  39. "Loading awesome features...");
  40. clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
  41. "Plugin has been enabled successfully.");
  42. // Connecting to File Manager
  43. FileManager.Startup();
  44.  
  45. // Registering of Events
  46. getServer().getPluginManager().registerEvents(Basic, this);
  47.  
  48. // Command Listeners
  49. getCommand("rank").setExecutor(new RankCommand(PlayerManager));
  50.  
  51. // Setting up Permissions
  52. plugin = this;
  53. this.getConfig().options().copyDefaults(true);
  54. this.saveConfig();
  55. this.getServer().getPluginManager().registerEvents(this, this);
  56.  
  57. }
  58.  
  59. @Override
  60. public void onDisable() {
  61. // Console Messages
  62. Logger Logger = Bukkit.getLogger();
  63. ConsoleCommandSender clogger = this.getServer().getConsoleSender();
  64. clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
  65. "Packing-up awesome features...");
  66. clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
  67. "Plugin has been disabled successfully.");
  68. playerPermissions.clear();
  69. }
  70.  
  71. @EventHandler
  72. public void onPlayerJoin(PlayerJoinEvent e) {
  73. System.out.println();
  74. Player p = e.getPlayer();
  75. PlayerManager.SetupPlayer(p);
  76. refreshRanks();
  77. }
  78.  
  79. public void refreshRanks() {
  80. for (Player p : Bukkit.getOnlinePlayers()) {
  81. Scoreboard board = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
  82. for(Player pl : Bukkit.getOnlinePlayers()) {
  83. String prefix = PlayerManager.getRankPrefix(PlayerManager.getRank(pl));
  84. Team team = board.registerNewTeam(pl.getName());
  85. team.setPrefix(prefix);
  86. team.addEntry(pl.getName());
  87. }
  88. p.setScoreboard(board);
  89. }
  90. }
  91.  
  92. // Setting Rank & Player Permissions
  93.  
  94. @EventHandler
  95. public void join(PlayerJoinEvent e) {
  96. Player player = e.getPlayer();
  97. setupPermissions(player);
  98. }
  99. @EventHandler
  100. public void leave(PlayerQuitEvent e) {
  101. Player player = e.getPlayer();
  102. playerPermissions.remove(player.getUniqueId());
  103. }
  104.  
  105. public void setupPermissions(Player player) {
  106. PermissionAttachment attachment = player.addAttachment(this);
  107. this.playerPermissions.put(player.getUniqueId(), attachment);
  108. permissionsSetter(player.getUniqueId());
  109. }
  110.  
  111. private void permissionsSetter(UUID uuid) {
  112. PermissionAttachment attachment = this.playerPermissions.get(uuid);
  113. for (String groups : this.getConfig().getConfigurationSection("Groups").getKeys(false)) {
  114. for (String permissions : this.getConfig().getStringList("Groups." + groups + ".permissions")) {
  115. System.out.print(permissions);
  116. attachment.setPermission(permissions, true);
  117. }
  118. }
  119. }
  120.  
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement