Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.ilurch.main;
- import java.util.HashMap;
- import java.util.Random;
- import org.bukkit.Bukkit;
- import org.bukkit.Color;
- import org.bukkit.FireworkEffect;
- import org.bukkit.FireworkEffect.Type;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Firework;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.meta.FireworkMeta;
- public class Commands implements CommandExecutor {
- public HashMap<String, Long> cooldowns = new HashMap<String, Long>();
- private Main plugin;
- public Commands(Main plugin) {
- this.plugin = plugin;
- }
- private Color getColor(int i) {
- Color c = null;
- if (i == 1) {
- c = Color.AQUA;
- }
- if (i == 2) {
- c = Color.BLACK;
- }
- if (i == 3) {
- c = Color.BLUE;
- }
- if (i == 4) {
- c = Color.FUCHSIA;
- }
- if (i == 5) {
- c = Color.GRAY;
- }
- if (i == 6) {
- c = Color.GREEN;
- }
- if (i == 7) {
- c = Color.LIME;
- }
- if (i == 8) {
- c = Color.MAROON;
- }
- if (i == 9) {
- c = Color.NAVY;
- }
- if (i == 10) {
- c = Color.OLIVE;
- }
- if (i == 11) {
- c = Color.ORANGE;
- }
- if (i == 12) {
- c = Color.PURPLE;
- }
- if (i == 13) {
- c = Color.RED;
- }
- if (i == 14) {
- c = Color.SILVER;
- }
- if (i == 15) {
- c = Color.TEAL;
- }
- if (i == 16) {
- c = Color.WHITE;
- }
- if (i == 17) {
- c = Color.YELLOW;
- }
- return c;
- }
- @SuppressWarnings("unused")
- @Override
- public boolean onCommand(final CommandSender sender, Command cmd, String label, final String[] args) {
- Player p = null;
- if (sender instanceof Player) {
- p = (Player) sender;
- if (p == null) {
- sender.sendMessage(this.plugin.getConfig().getString("Firework.Message.isConsole")); // Der CMD sender ist die Console
- return true;
- } else {
- if (args.length == 0) {
- if (p.hasPermission("firework.launch")) {
- if (!p.hasPermission("firework.bypass.cooldown")) {
- if (cooldowns.containsKey(sender.getName())) { //Cooldown -
- long secondsLeft = ((cooldowns.get(sender.getName())/1000)+this.plugin.getConfig().getInt("FireworkCommand.CooldownTime")) - (System.currentTimeMillis()/1000);
- if (secondsLeft>0) {
- sender.sendMessage(this.plugin.getConfig().getString("FireworkCommand.Messages.Cooldown") + secondsLeft);
- return true;
- }
- }
- cooldowns.put(sender.getName(), System.currentTimeMillis()); // Cooldown
- }
- Firework f = (Firework) p.getWorld().spawn(p.getLocation(), Firework.class); //command -
- Random r = new Random();
- int rt = r.nextInt(5);
- Type type = Type.BALL;
- if (rt == 0)
- type = Type.BALL;
- if (rt == 1)
- type = Type.BALL_LARGE;
- if (rt == 2)
- type = Type.BURST;
- if (rt == 3)
- type = Type.CREEPER;
- if (rt == 4)
- type = Type.STAR;
- int r1i = r.nextInt(17) + 1;
- int r2i = r.nextInt(17) + 1;
- Color c1 = getColor(r1i);
- Color c2 = getColor(r2i);
- FireworkMeta fm = f.getFireworkMeta();
- fm.addEffect(FireworkEffect.builder()
- .flicker(r.nextBoolean())
- .trail(r.nextBoolean())
- .with(type)
- .withColor(c1)
- .withFade(c2)
- .build());
- fm.setPower(1);
- f.setFireworkMeta(fm);
- return true; // command
- } else {
- p.sendMessage(this.plugin.getConfig().getString("FireworkCommand.Messages.noPermission"));
- return true;
- }
- } else if (args.length == 1) {
- if (args[0].equalsIgnoreCase("reload")) {
- this.plugin.reloadConfig();
- p.sendMessage("§cFirework §3" + this.plugin.getDescription().getVersion() + "§c reloaded");
- } else if (args[0].equalsIgnoreCase("help")) { // help -
- p.sendMessage("§6Usage: §r/firework [numberOfFireworks] [speedInTicks]");
- return true; //help
- } else if (p.hasPermission("firework.multiple")) {
- try {
- if (args.length == 1 ) {
- final int i = Integer.valueOf(args[0]);
- if (i <= this.plugin.getConfig().getInt("FireworkCommand.Multiple.MaxFireworks")) {
- Bukkit.getScheduler().scheduleSyncRepeatingTask(this.plugin, new Runnable() {
- @Override
- public void run() {
- int count = 0;
- if (count < i) {
- Bukkit.dispatchCommand(sender, "spawnfirework");
- count++;
- }
- }
- }, 0, this.plugin.getConfig().getInt("FireworkCommand.Multiple.DefaultSpeedInTicks"));
- }
- }
- if (args.length == 2) {
- final int i = Integer.valueOf(args[0]);
- if (i <= this.plugin.getConfig().getInt("FireworkCommand.Multiple.MaxFireworks")) {
- if (args.length == 1) {
- final int j = Integer.valueOf(args[0]);
- if (j >= this.plugin.getConfig().getInt("FireworkCommand.Multiple.MinSpeedInTicks")) {
- if (j <= this.plugin.getConfig().getInt("FireworkCommand.Messages.MaxSpeedInTicks")) {
- Bukkit.getScheduler().scheduleSyncRepeatingTask(this.plugin, new Runnable() {
- @Override
- public void run() {
- int count = 0;
- if (count < i) {
- Bukkit.dispatchCommand(sender, "spawnfirework");
- count++;
- }
- }
- }, 0, j);
- return true;
- } else { //MaxSpeedInTicks
- p.sendMessage(this.plugin.getConfig().getString(this.plugin.getConfig().getString("FireworkCommand.Messages.MaxSpeedInTicks")));
- return true;
- }
- } else { //MinSpeedInTicks
- p.sendMessage(this.plugin.getConfig().getString(this.plugin.getConfig().getString("FireworkCommand.Messages.MinSpeedInTicks")));
- return true;
- }
- }
- } else {
- p.sendMessage("FireworkCommand.Messages.MaxFireworks " + this.plugin.getConfig().getInt("FireworkCommand.Multiple.MaxFireworks")); //MaxFireworks
- return true;
- }
- return true;
- }
- } catch (Exception exe) {
- p.sendMessage(this.plugin.getConfig().getString(this.plugin.getConfig().getString("FireworkCommand.Messages.wrongInt")));
- return true;
- }
- }
- return true;
- } else if (args.length > 3) {
- p.sendMessage("§cToo much arguments!");
- p.sendMessage("§6Usage: §r/firework [numberOfFireworks] [speedInTicks]");
- return true;
- } else if (args.length == 3) {
- p.sendMessage("§cToo less arguments!");
- p.sendMessage("§6Usage: §r/firework [numberOfFireworks] [speedInTicks]");
- }
- return true;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement