Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hampion.plugins;
- import com.hampion.plugins.Commands.RankCommand;
- import com.hampion.plugins.Events.Basic;
- import com.hampion.plugins.Managers.FileManager;
- import com.hampion.plugins.Managers.PlayerManager;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.ConsoleCommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.permissions.PermissionAttachment;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.Team;
- import java.util.HashMap;
- import java.util.UUID;
- import java.util.logging.Logger;
- public class Main extends JavaPlugin implements Listener {
- public static Main plugin;
- public HashMap<UUID, PermissionAttachment> playerPermissions = new HashMap<>();
- FileManager FileManager = new FileManager();
- PlayerManager PlayerManager = new PlayerManager();
- Basic Basic = new Basic(PlayerManager);
- @Override
- public void onEnable() {
- // Console Messages
- Logger Logger = Bukkit.getLogger();
- ConsoleCommandSender clogger = this.getServer().getConsoleSender();
- clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
- "Loading awesome features...");
- clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
- "Plugin has been enabled successfully.");
- // Connecting to File Manager
- FileManager.Startup();
- // Registering of Events
- getServer().getPluginManager().registerEvents(Basic, this);
- // Command Listeners
- getCommand("rank").setExecutor(new RankCommand(PlayerManager));
- // Setting up Permissions
- plugin = this;
- this.getConfig().options().copyDefaults(true);
- this.saveConfig();
- this.getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public void onDisable() {
- // Console Messages
- Logger Logger = Bukkit.getLogger();
- ConsoleCommandSender clogger = this.getServer().getConsoleSender();
- clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
- "Packing-up awesome features...");
- clogger.sendMessage(ChatColor.AQUA + "[RankNChat]: " + ChatColor.GOLD +
- "Plugin has been disabled successfully.");
- playerPermissions.clear();
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- System.out.println();
- Player p = e.getPlayer();
- PlayerManager.SetupPlayer(p);
- refreshRanks();
- }
- public void refreshRanks() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- Scoreboard board = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
- for(Player pl : Bukkit.getOnlinePlayers()) {
- String prefix = PlayerManager.getRankPrefix(PlayerManager.getRank(pl));
- Team team = board.registerNewTeam(pl.getName());
- team.setPrefix(prefix);
- team.addEntry(pl.getName());
- }
- p.setScoreboard(board);
- }
- }
- // Setting Rank & Player Permissions
- @EventHandler
- public void join(PlayerJoinEvent e) {
- Player player = e.getPlayer();
- setupPermissions(player);
- }
- @EventHandler
- public void leave(PlayerQuitEvent e) {
- Player player = e.getPlayer();
- playerPermissions.remove(player.getUniqueId());
- }
- public void setupPermissions(Player player) {
- PermissionAttachment attachment = player.addAttachment(this);
- this.playerPermissions.put(player.getUniqueId(), attachment);
- permissionsSetter(player.getUniqueId());
- }
- private void permissionsSetter(UUID uuid) {
- PermissionAttachment attachment = this.playerPermissions.get(uuid);
- for (String groups : this.getConfig().getConfigurationSection("Groups").getKeys(false)) {
- for (String permissions : this.getConfig().getStringList("Groups." + groups + ".permissions")) {
- System.out.print(permissions);
- attachment.setPermission(permissions, true);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement