⁨thevipershow⁩ avatar
TheViperShow

TrashCode

unlisted ⁨1⁩ ⁨file⁩ 2020-01-25 17:32:24 UTC

pastefile1

Raw
package me.thevipershow.simpleparticles.Particles;

import me.thevipershow.simpleparticles.Simpleparticles;
import org.bukkit.*;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector;

import java.io.IOException;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;

import static me.thevipershow.simpleparticles.Simpleparticles.*;

public class NewPlayer implements Listener, CommandExecutor {

    private void saveConfig() {
        try {
            customConfig.save(chestConfig);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String chat(String input) {

        return ChatColor.translateAlternateColorCodes('&', input);
    }

    private void drawparticle(UUID playerUUID, AtomicReference<Double> k, String particella) {

        if (Bukkit.getServer().getPlayer(playerUUID) != null) {

            Player player = Bukkit.getPlayer(playerUUID);
            Location playerLoc = player.getLocation();

            double x = (player.getLocation().getX()) + (Simpleparticles.plugin.getConfig().getDouble("main.value.radius") * Math.cos(k.get() * Simpleparticles.plugin.getConfig().getDouble("main.value.factor-spirals"))),
                    z = (player.getLocation().getZ()) + (Simpleparticles.plugin.getConfig().getDouble("main.value.radius") * Math.sin(Simpleparticles.plugin.getConfig().getDouble("main.value.factor-spirals") * k.get())),
                    y = player.getLocation().getY() + (k.get() / Simpleparticles.plugin.getConfig().getDouble("main.value.height-factor2")) + Simpleparticles.plugin.getConfig().getDouble("main.value.height-factor");

            Bukkit.broadcastMessage(String.valueOf(player.getVelocity()));
            
            Bukkit.getWorld(player.getWorld().getUID()).spawnParticle(Particle.valueOf(particella.toUpperCase()), x, y, z, 0, 0, 0, 0);
            
              
        }
    }

    private void updateConfig(JavaPlugin plugin, Player player) {
        plugin.reloadConfig();
        player.sendMessage(chat("&7» &aPlugin has been reloaded."));
    }

    private void particlesRunnableGen(UUID playerUUID, String args) {
        AtomicReference<Double> k = new AtomicReference<>(0.00);
        BukkitRunnable runnable_player = new BukkitRunnable() {
            public void run() {
                if (Bukkit.getServer().getPlayer(playerUUID) != null) {
                    Player player = Bukkit.getPlayer(playerUUID);
                    drawparticle(player.getUniqueId(), k, Simpleparticles.particles2.get(args).toUpperCase());

                    k.updateAndGet(v -> v + plugin.getConfig().getDouble("main.value.runnable2"));
                    if (k.get() > plugin.getConfig().getDouble("main.value.runnable3max")) {
                        k.set((double) 0);
                    }
                }
            }
        };

        runnable_player.runTaskTimer(plugin, 0, Simpleparticles.plugin.getConfig().getLong("main.value.runnable") * 20);
        player_runnables.put(playerUUID, runnable_player);
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

        if (!(sender instanceof Player)) {

            log.info(ANSI_RED + "» You cannot run this command from system console!");

        } else if (sender.hasPermission("simpleparticles.enable")) {

            Player player = (Player) sender;

            switch (args.length) {

                case 0:
                    player.sendMessage(chat("&7» &b&lSimpleParticles &7help page:"));
                    player.sendMessage(chat("&7» &3/particles enable &a<particle>"));
                    player.sendMessage(chat("&7» &3/particles chestcreate &a<name>"));
                    player.sendMessage(chat("&7» &3/particles chestdelete &a<name>"));
                    player.sendMessage(chat("&7» &3/particles-gui"));
                    player.sendMessage(chat("&7» &3/particles disable"));
                    player.sendMessage(chat("&7» &3/particles reload"));
                    break;

                case 1:
                    switch (args[0].toLowerCase()) {
                        case "reload":
                            if (player.hasPermission("simpleparticles.reload")) {
                                updateConfig(plugin, player);
                            } else {
                                player.sendMessage(chat(plugin.getConfig().getString("main.messages.no-permission")));
                            }
                            break;
                        case "rl":
                            updateConfig(plugin, player);
                            break;
                        case "disable":
                            if (player.hasPermission("simpleparticles.remove") && player_runnables.containsKey(player.getUniqueId())) {
                                player_runnables.get(player.getUniqueId()).cancel();
                                player_runnables.remove(player.getUniqueId());
                                player.sendMessage(chat(plugin.getConfig().getString("main.messages.disable-particles")));
                            }
                            break;
                        case "list":
                            player.sendMessage(chat(plugin.getConfig().getString("main.messages.particles-list")));
                            for (Map.Entry entry : particles2.entrySet()) {
                                player.sendMessage(chat("&8» &a" + entry.getKey()));
                            }
                            break;
                        default:
                            player.sendMessage(chat(plugin.getConfig().getString("main.messages.invalid-argument")));
                            break;
                    }
                case 2:
                    switch (args[0].toLowerCase()) {
                        case "enable":
                            if ((player.hasPermission("simpleparticles." + args[1].toLowerCase())) && (!player_runnables.containsKey(player.getUniqueId()))) {
                                if (particles2.containsKey(args[1].toLowerCase())) {
                                    player.sendMessage(chat(plugin.getConfig().getString("main.messages.enabled-particles").replace("%pname%", args[1].toUpperCase())));
                                    particlesRunnableGen(player.getUniqueId(), args[1]);
                                }
                            } else {
                                player.sendMessage(chat(plugin.getConfig().getString("main.messages.already-enabled")));
                            }
                            break;
                        case "chestcreate":
                            if (player.hasPermission("simpleparticles.chestcreate")) {
                                player.getLocation().getBlock().setType(Material.ENDER_CHEST);
                                player.teleport(player.getLocation().add(0.0, 1.05, 0.0));
                                String locationConfig = player.getLocation().getBlockX() + "#" + player.getLocation().getBlockY() + "#" + player.getLocation().getBlockZ();
                                plugin.getCustomConfig().set(args[1].toLowerCase(), locationConfig);
                                player.sendMessage(chat("&7> &aChest created in database!"));
                                saveConfig();
                            }
                            break;
                        case "chestdelete":
                            if (player.hasPermission("simpleparticles.chestremove")) {
                                if (plugin.getCustomConfig().contains(args[1].toLowerCase())) {
                                    plugin.getCustomConfig().set(args[1].toLowerCase(), null);
                                    player.sendMessage(chat("&7> &aChest succesfully removed from database."));
                                    saveConfig();
                                }
                            }
                            break;
                    }
            }
        }
        return false;
    }

}