NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

ScoreboardListener.java (3006B)


      1 package me.night.nullvalkyrie.ui.player;
      2 
      3 import me.night.nullvalkyrie.database.RankDataManager;
      4 import me.night.nullvalkyrie.database.UserDataManager;
      5 import me.night.nullvalkyrie.entities.miners.CryptoMiner;
      6 import me.night.nullvalkyrie.util.Rank;
      7 import me.night.nullvalkyrie.entities.npcs.NPCManager;
      8 import org.bukkit.Bukkit;
      9 import org.bukkit.ChatColor;
     10 import org.bukkit.entity.Player;
     11 import org.bukkit.event.EventHandler;
     12 import org.bukkit.event.Listener;
     13 import org.bukkit.event.player.AsyncPlayerChatEvent;
     14 import org.bukkit.event.player.PlayerJoinEvent;
     15 import org.bukkit.event.player.PlayerQuitEvent;
     16 
     17 @SuppressWarnings("ConstantConditions")
     18 public class ScoreboardListener implements Listener {
     19 
     20     public NameTagManager nameTagManager;
     21     public SideBarManager sideBarManager;
     22     private final BelowNameManager belowNameManager;
     23 
     24     public ScoreboardListener() {
     25         nameTagManager = new NameTagManager();
     26         sideBarManager = new SideBarManager();
     27         belowNameManager = new BelowNameManager();
     28     }
     29 
     30     @EventHandler
     31     public void onJoin(PlayerJoinEvent e) {
     32         Player player = e.getPlayer();
     33         if (!player.hasPlayedBefore()) {
     34             e.getPlayer().setResourcePack("https://www.dropbox.com/s/7y7p93xzhar6vvw/%C2%A7b%C2%A7lNKRP%201.19.3.zip?dl=1");
     35             e.getPlayer().sendTitle(ChatColor.RED + "Welcome to Vanadium!", ChatColor.GREEN + "LOL", 20, 100, 20);
     36             RankDataManager.setRank(player.getUniqueId(), Rank.ROOKIE, this);
     37             new UserDataManager().createUserBank(e.getPlayer().getUniqueId().toString());
     38         }
     39         e.getPlayer().setPlayerListHeaderFooter(ChatColor.AQUA + "You are playing on " + ChatColor.GREEN + "127.0.0.1", ChatColor.GOLD + "Ranks, boosters, & more!" + ChatColor.AQUA + "127.0.0.1");
     40         nameTagManager.setNametags(player);
     41         nameTagManager.newTag(player);
     42         sideBarManager.setSideBar(player);
     43         sideBarManager.start(player);
     44         belowNameManager.setBelowName(player);
     45         e.setJoinMessage(RankDataManager.getRank(e.getPlayer().getUniqueId()).getDisplay() + " " + e.getPlayer().getName() + ChatColor.WHITE + " joined the server!");
     46         if (NPCManager.getNPCs() == null) return;
     47         if (NPCManager.getNPCs().isEmpty()) return;
     48         NPCManager.addJoinPacket(e.getPlayer());
     49         CryptoMiner.onJoin(e.getPlayer());
     50     }
     51 
     52     @EventHandler
     53     public void onQuit(PlayerQuitEvent e) {
     54         e.setQuitMessage(null);
     55         nameTagManager.removeTag(e.getPlayer());
     56         e.getPlayer().setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
     57         AnimatedSideBar board = sideBarManager.board;
     58         if (board.hasID()) board.stop();
     59     }
     60 
     61     @EventHandler
     62     public void onChat(AsyncPlayerChatEvent e) {
     63         e.setCancelled(true);
     64         Player player = e.getPlayer();
     65         Bukkit.broadcastMessage(RankDataManager.getRank(player.getUniqueId()).getDisplay() + " " + player.getName() + ChatColor.WHITE + ": " + e.getMessage());
     66     }
     67 }