Advertisement
Guest User

abcbaafg

a guest
Sep 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.33 KB | None | 0 0
  1. package eu.blacksquad.dev.core;
  2.  
  3. import java.text.DecimalFormat;
  4. import java.util.ArrayList;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Location;
  8. import org.bukkit.Sound;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.configuration.file.FileConfiguration;
  11. import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.EventPriority;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.player.PlayerJoinEvent;
  17. import org.bukkit.event.player.PlayerMoveEvent;
  18. import org.bukkit.event.player.PlayerQuitEvent;
  19. import org.bukkit.plugin.PluginDescriptionFile;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21. import org.bukkit.scheduler.BukkitRunnable;
  22. import org.bukkit.scheduler.BukkitScheduler;
  23. import org.bukkit.scoreboard.DisplaySlot;
  24. import org.bukkit.scoreboard.Objective;
  25.  
  26. import net.md_5.bungee.api.ChatColor;
  27. import net.minecraft.server.v1_12_R1.EnumParticle;
  28. import net.minecraft.server.v1_12_R1.PacketPlayOutWorldParticles;
  29.  
  30. public class Main extends JavaPlugin implements Listener, CommandExecutor{
  31.    
  32.     ArrayList<String> particlesoff = new ArrayList<>();
  33.     ArrayList<String> sboff = new ArrayList<>();
  34.     int tps;
  35.    
  36.     @Override
  37.     public void onEnable() {
  38.         Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  39.             long sec;
  40.             long currentSec;
  41.             int ticks;
  42.             int i;
  43.             @Override
  44.             public void run() {
  45.                 if (i == 0){
  46.                 i++;
  47.                 }else{
  48.                     sec = (System.currentTimeMillis() / 1000);
  49.                     if (currentSec == sec) {
  50.                     ticks++;
  51.                     } else {
  52.                     currentSec = sec;
  53.                     tps = (tps == 0 ? ticks : ((tps + ticks) / 2));
  54.                     ticks = 0;
  55.                     }
  56.                 }
  57.             }
  58.         }, 0, 1);
  59.         getCommand("bqcore").setExecutor(new Commands(this));
  60.         getCommand("chat").setExecutor(new Chat(this));
  61.         getCommand("kick").setExecutor(new Kick(this));
  62.         getCommand("ban").setExecutor(new Ban(this));
  63.         getCommand("unban").setExecutor(new Unban(this));
  64.         getCommand("particles").setExecutor(new Particles(this));
  65.         getCommand("tp").setExecutor(new Tp(this));
  66.         getCommand("scoreboardtoggle").setExecutor(new ScoreBoard(this));
  67.         getCommand("gamemode").setExecutor(new Gamemode(this));
  68.         getCommand("say").setExecutor(new Say(this));
  69.         getCommand("pm").setExecutor(new PrivateMessages(this));
  70.         getCommand("reply").setExecutor(new PrivateMessages(this));
  71.         getCommand("heal").setExecutor(new PlayerCommands(this));
  72.         getCommand("feed").setExecutor(new PlayerCommands(this));
  73.         getCommand("helpop").setExecutor(new PlayerCommands(this));
  74.         getCommand("tpa").setExecutor(new PlayerCommands(this));
  75.         getCommand("tpyes").setExecutor(new PlayerCommands(this));
  76.         new ServerMessages(this);
  77.         Bukkit.getServer().getPluginManager().registerEvents(this, this);
  78.         Bukkit.getServer().getPluginManager().registerEvents(new Motd(this), this);
  79.         Bukkit.getServer().getPluginManager().registerEvents(new Chat(this), this);
  80.         Bukkit.getServer().getPluginManager().registerEvents(new Particles(this), this);
  81.         Bukkit.getServer().getPluginManager().registerEvents(new ScoreBoard(this), this);
  82.         Bukkit.getServer().getPluginManager().registerEvents(new Deaths(this), this);
  83.         PluginDescriptionFile pdfFile = this.getDescription();
  84.         getLogger().info("----------- ] BlackSquad.eu Core [ -----------");
  85.         getLogger().info("Core enabled.");
  86.         getLogger().info("Name: " + pdfFile.getFullName());
  87.         getLogger().info("Author: " + pdfFile.getAuthors());
  88.         getLogger().info("Website: " + pdfFile.getWebsite());
  89.         getLogger().info("Version: " + pdfFile.getVersion());
  90.         getLogger().info("----------- ] BlackSquad.eu Core [ -----------");
  91.         FileConfiguration config = getConfig();
  92.         config.options().header("----------- ] BlackSquad.eu Core - Configuration [ -----------\nConfiguration file - " + pdfFile.getFullName());
  93.         config.addDefault("visual.logo", "&8[&6BQCore&8] &8-&7 ");
  94.         config.addDefault("visual.prefix.join", "&8[&2+&8] &7");
  95.         config.addDefault("visual.prefix.quit", "&8[&4-&8] &7");
  96.         config.addDefault("visual.motd", "&6play.BlackSquad.eu &8- &eSurvival /w cuboids!");
  97.         config.addDefault("chat.chatoff.warn", "&cChat is disabled for now.");
  98.         config.addDefault("visual.chat.off", "&cChat is now disabled.");
  99.         config.addDefault("visual.chat.on", "&cChat is now enabled.");
  100.         config.addDefault("visual.chat.clear", "&cChat has been cleared.");
  101.         config.addDefault("visual.target.offline", "&cArgument isn't online player.");
  102.         config.addDefault("visual.tp.args-too-much", "&cToo much arguments.");
  103.        
  104.         config.addDefault("permissions.reload", "bqcore.reload");
  105.         config.addDefault("permissions.chat.off", "bqcore.chat.off");
  106.         config.addDefault("permissions.chat.on", "bqcore.chat.on");
  107.         config.addDefault("permissions.chat.clear", "bqcore.chat.clear");
  108.         config.addDefault("permissions.chat.bypass", "bqcore.chat.bypass");
  109.         config.addDefault("permissions.tp", "bqcore.tp");
  110.         config.addDefault("permissions.kick", "bqcore.kick");
  111.         config.addDefault("permissions.ban", "bqcore.ban");
  112.        
  113.         config.options().copyDefaults(true);
  114.         saveConfig();
  115.         reloadConfig();
  116.        
  117.         BukkitScheduler scheduler = getServer().getScheduler();
  118.         scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
  119.             @Override
  120.             public void run() {
  121.                 for(Player p : Bukkit.getOnlinePlayers()){
  122.                     if (p != null) {
  123.                         final org.bukkit.scoreboard.Scoreboard s = Bukkit.getScoreboardManager().getNewScoreboard();
  124.                         if (!(sboff.contains(p.getName()))) {
  125.                             p.setScoreboard(s);
  126.                             final Objective o = s.registerNewObjective("sidebar", "dummy");
  127.                             int ping = ((CraftPlayer) p).getHandle().ping;
  128.                             int maxplayers = (Bukkit.getOnlinePlayers().size() + 1);
  129.                             o.setDisplayName("§6" + pdfFile.getFullName());
  130.                             o.setDisplaySlot(DisplaySlot.SIDEBAR);
  131.                             o.getScore("").setScore(13);
  132.                             o.getScore("  §e§l♦ §fNick§8: §e" + p.getName()).setScore(12);
  133.                             o.getScore("  §e§l♦ §fPing§8: §e" + ping).setScore(11);
  134.                             DecimalFormat hpformat = new DecimalFormat("##");
  135.                             String hp = hpformat.format(p.getHealth());
  136.                             o.getScore("  §e§l♦ §fHealth§8: §e" + hp + "§8/§e20").setScore(10);
  137.                             DecimalFormat foodformat = new DecimalFormat("##");
  138.                             String food = foodformat.format(p.getFoodLevel());
  139.                             o.getScore("  §e§l♦ §fFood§8: §e" + food + "§8/§e20").setScore(9);
  140.                             o.getScore("  §e§l♦ §fLvL (xp)§8: §e" + p.getLevel()).setScore(8);
  141.                            
  142.                             o.getScore("   ").setScore(7);
  143.                            
  144.                             o.getScore("  §a§l♦ §fOnline§8: §a" + Bukkit.getOnlinePlayers().size() + "§8/§a" + maxplayers).setScore(6);
  145.                             o.getScore("  §a§l♦ §fTps§8: §a" + tps).setScore(5);
  146.                             o.getScore("  §a§l♦ §fServer§8: §a" + Bukkit.getServer().getServerName()).setScore(4);
  147.                            
  148.                             o.getScore("    ").setScore(3);
  149.                             o.getScore("   §2§l♦ §ftwitch.tv/blacksquad_eu").setScore(2);
  150.                             o.getScore("   §2§l♦ §fblacksquad.eu").setScore(1);
  151.                             o.getScore("   §2§l♦ §fforum.blacksquad.eu ").setScore(0);
  152.                         } else {
  153.                             p.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
  154.                         }
  155.                     }
  156.                 }
  157.             }
  158.         }, 0, 20);
  159.     }
  160.    
  161.     @Override
  162.     public void onDisable() {
  163.         PluginDescriptionFile pdfFile = this.getDescription();
  164.         getLogger().info("----------- ] BlackSquad.eu Core [ -----------");
  165.         getLogger().info("Core disabled.");
  166.         getLogger().info("Name: " + pdfFile.getFullName());
  167.         getLogger().info("Author: " + pdfFile.getAuthors());
  168.         getLogger().info("Website: " + pdfFile.getWebsite());
  169.         getLogger().info("Version: " + pdfFile.getVersion());
  170.         getLogger().info("----------- ] BlackSquad.eu Core [ -----------");
  171.     }
  172.    
  173.     class ServerMessages implements Listener {
  174.        
  175.         private final Main plugin;
  176.        
  177.         public ServerMessages(Main plugin) {
  178.             this.plugin = plugin;
  179.             this.plugin.getServer().getPluginManager().registerEvents(this, plugin);
  180.         }
  181.        
  182.         @EventHandler(priority=EventPriority.MONITOR)
  183.         public void PlayerJoin(PlayerJoinEvent e) {
  184.             e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("visual.prefix.join") + e.getPlayer().getName()));
  185.             new BukkitRunnable() {
  186.                 @Override
  187.                 public void run() {
  188.                     for (Player p : Bukkit.getOnlinePlayers()){
  189.                         p.playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 100, 1);
  190.                     }
  191.                 }
  192.             }.runTaskLater(this.plugin, 1);
  193.         }
  194.    
  195.         @EventHandler(priority=EventPriority.MONITOR)
  196.         public void PlayerQuit(PlayerQuitEvent e) {
  197.             e.setQuitMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("visual.prefix.quit") + e.getPlayer().getName()));
  198.             new BukkitRunnable() {
  199.            
  200.                 @Override
  201.                 public void run() {
  202.                     for (Player p : Bukkit.getOnlinePlayers()){
  203.                         p.playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 100, 1);
  204.                     }
  205.                 }
  206.                
  207.             }.runTaskLater(this.plugin, 1);
  208.         }
  209.     }
  210.    
  211.     @EventHandler
  212.     public void onPlayerMove(PlayerMoveEvent e){
  213.         if (e.getPlayer().isGliding()) {
  214.             if (e.getPlayer().hasPermission("bqcore.trail.admin")) {
  215.                 if (!(particlesoff.contains(e.getPlayer().getName()))) {
  216.                     Location from = e.getFrom();
  217.                     Location to = e.getTo();
  218.                     if((from.getX() != to.getX()) || (from.getY() != to.getY()) || (from.getZ() != to.getZ())){
  219.                         Location l = e.getPlayer().getLocation().add(0, 0.15, 0);
  220.                         PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.FLAME, false, (float) l.getX(), (float) l.getY(), (float) l.getZ(), 0F, 0F, 0F, 0F, 100, null);
  221.                         for(Player p : Bukkit.getOnlinePlayers()){
  222.                             ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet);
  223.                         }
  224.                     }
  225.                 }
  226.             }
  227.         }
  228.     }
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement