Advertisement
thevipershowita

Untitled

Dec 1st, 2019
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.91 KB | None | 0 0
  1. package me.thevipershow.simpleparticles.Particles;
  2.  
  3. import me.thevipershow.simpleparticles.Simpleparticles;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.ChatColor;
  6. import org.bukkit.Location;
  7. import org.bukkit.Particle;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.player.PlayerJoinEvent;
  15. import org.bukkit.event.player.PlayerQuitEvent;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17. import org.bukkit.scheduler.BukkitRunnable;
  18.  
  19. import java.util.HashMap;
  20. import java.util.Map;
  21. import java.util.Objects;
  22. import java.util.concurrent.atomic.AtomicReference;
  23.  
  24. import static me.thevipershow.simpleparticles.Simpleparticles.*;
  25.  
  26. public class NewPlayer implements Listener, CommandExecutor {
  27.  
  28.     private String chat(String input) {
  29.         return ChatColor.translateAlternateColorCodes('&', input);
  30.     }
  31.  
  32.     private void drawparticle(Player player, AtomicReference<Double> k, String particella) {
  33.  
  34.         if (player.isOnline()) {
  35.  
  36.             /*Location loc = player.getLocation();
  37.             double px = loc.getX();
  38.             double py = loc.getY();
  39.             double pz = loc.getZ();*/
  40.             double x = (player.getLocation().getX()) + (Simpleparticles.plugin.getConfig().getDouble("main.value.radius") * Math.cos(k.get() * Simpleparticles.plugin.getConfig().getDouble("main.value.factor-spirals"))),
  41.                     z = (player.getLocation().getZ()) + (Simpleparticles.plugin.getConfig().getDouble("main.value.radius") * Math.sin(Simpleparticles.plugin.getConfig().getDouble("main.value.factor-spirals") * k.get())),
  42.                     y = player.getLocation().getY() + (k.get() / Simpleparticles.plugin.getConfig().getDouble("main.value.height-factor2")) + Simpleparticles.plugin.getConfig().getDouble("main.value.height-factor");
  43.  
  44.             Objects.requireNonNull(Bukkit.getWorld(player.getWorld().getUID())).spawnParticle(Particle.valueOf(particella.toUpperCase()), x, y, z, 0, 0, 0, 0);
  45.         }
  46.     }
  47.  
  48.     private void updateConfig(JavaPlugin plugin, Player player) {
  49.         plugin.reloadConfig();
  50.         player.sendMessage(chat("&7» &aPlugin has been reloaded."));
  51.     }
  52.  
  53.     @Override
  54.     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  55.  
  56.         if (!(sender instanceof Player)) {
  57.  
  58.             log.info(ANSI_RED + "» You cannot run this command from system console!");
  59.  
  60.         } else if (sender.hasPermission("simpleparticles.enable")) {
  61.  
  62.             Player player = (Player) sender;
  63.  
  64.             switch (args.length) {
  65.  
  66.                 case 0:
  67.                     player.sendMessage(chat("&7» &b&lSimpleParticles &7help page:"));
  68.                     player.sendMessage(chat("&7» &3/particles enable &a<particle>"));
  69.                     player.sendMessage(chat("&7» &3/particles disable"));
  70.                     player.sendMessage(chat("&7» &3/particles reload"));
  71.                     break;
  72.  
  73.                 case 1:
  74.                     switch (args[0].toLowerCase()) {
  75.                         case "reload":
  76.                             if (player.hasPermission("simpleparticles.reload")) {
  77.                                 updateConfig(plugin, player);
  78.                             } else {
  79.                                 player.sendMessage(chat(plugin.getConfig().getString("main.messages.no-permission")));
  80.                             }
  81.                             break;
  82.                         case "rl":
  83.                             updateConfig(plugin, player);
  84.                             break;
  85.                         case "disable":
  86.                             if (player.hasPermission("simpleparticles.remove") && player_runnables.containsKey(player)) {
  87.                                 player.sendMessage(chat(plugin.getConfig().getString("main.messages.disable-particles")));
  88.                                 player_runnables.get(player).cancel();
  89.                                 player_runnables.remove(player);
  90.                             }
  91.                             break;
  92.                         case "list":
  93.                             player.sendMessage(chat(plugin.getConfig().getString("main.messages.particles-list")));
  94.                             for (Map.Entry entry : particles2.entrySet()) {
  95.                                 player.sendMessage(chat("&8» &a" + entry.getKey()));
  96.                             }
  97.                             break;
  98.                         default:
  99.                             player.sendMessage(chat(plugin.getConfig().getString("main.messages.invalid-argument")));
  100.                             break;
  101.                     }
  102.                 case 2:
  103.                     switch (args[0].toLowerCase()) {
  104.                         case "enable":
  105.                             if (player.hasPermission("simpleparticles." + args[1].toLowerCase()) && !player_runnables.containsKey(player) && player.isOnline()) {
  106.                                 if (particles2.containsKey(args[1].toLowerCase())) {
  107.                                     player.sendMessage(chat(plugin.getConfig().getString("main.messages.enabled-particles").replace("%pname%", args[1].toUpperCase())));
  108.  
  109.                                     AtomicReference<Double> k = new AtomicReference<>(0.00);
  110.                                     BukkitRunnable runnable_player = new BukkitRunnable() {
  111.                                         public void run() {
  112.  
  113.                                             drawparticle(player, k, Simpleparticles.particles2.get(args[1]).toUpperCase());
  114.  
  115.                                             k.updateAndGet(v -> v + plugin.getConfig().getDouble("main.value.runnable2"));
  116.                                             if (k.get() > plugin.getConfig().getDouble("main.value.runnable3max")) {
  117.                                                 k.set((double) 0);
  118.                                             }
  119.                                         }
  120.                                     };
  121.                                     runnable_player.runTaskTimer(plugin, 0, Simpleparticles.plugin.getConfig().getLong("main.value.runnable") * 20);
  122.                                     player_runnables.put(player, runnable_player);
  123.                                 }
  124.                             } else {
  125.                                 player.sendMessage(chat(plugin.getConfig().getString("main.messages.no-permission")));
  126.                             }
  127.                             break;
  128.                     }
  129.             }
  130.         }
  131.         return false;
  132.     }
  133.  
  134.  
  135.     @EventHandler
  136.     public void quit(PlayerQuitEvent event) {
  137.         Player player = event.getPlayer();
  138.         if (player_runnables.containsKey(player)) {
  139.             //player_runnables.get(player).cancel();
  140.             //player_runnables.remove(player);
  141.         }
  142.     }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement