Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.Panakotta00.Varo;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map.Entry;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.craftbukkit.v1_8_R2.CraftOfflinePlayer;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import de.Panakotta00.Varo.Event.Events;
- public class Main extends JavaPlugin {
- public static Boolean Tom = false;
- public static FileConfiguration cfg;
- public static ArrayList<Material> notAllowed = new ArrayList<Material>();
- public static ArrayList<Enchantment> notAllowedE = new ArrayList<Enchantment>();
- public static ArrayList<Player> peacePlayers = new ArrayList<Player>();
- public static ArrayList<Player> banned = new ArrayList<Player>();
- public static ArrayList<Player> wait_players = new ArrayList<Player>();
- public static HashMap<Integer, Player> players = new HashMap<Integer, Player>();
- public static HashMap<Integer, OfflinePlayer> offlineplayers = new HashMap<Integer, OfflinePlayer>();
- public static HashMap<String, CraftOfflinePlayer[]> teams = new HashMap<String, CraftOfflinePlayer[]>();
- public static HashMap<Integer, ArrayList<Integer>> lastLoc = new HashMap<Integer, ArrayList<Integer>>();
- int loop2 = 0;
- ArenaManager arenaManager;
- @SuppressWarnings("unchecked")
- public void onEnable() {
- notAllowed.add(Material.GOLDEN_APPLE);
- notAllowed.add(Material.SADDLE);
- notAllowed.add(Material.POTION);
- notAllowed.add(Material.FISHING_ROD);
- notAllowedE.add(Enchantment.FIRE_ASPECT);
- notAllowedE.add(Enchantment.ARROW_FIRE);
- notAllowedE.add(Enchantment.ARROW_INFINITE);
- loadConfig();
- getServer().getPluginManager().registerEvents((Listener)new Events(), (Plugin)this);
- if (cfg.get("Players") != null) {
- int loop = 1;
- while (true) {
- if (cfg.get("Players." + loop) != null) {
- offlineplayers.put(loop, (CraftOfflinePlayer) cfg.get("Players." + loop));
- loop++;
- } else {
- break;
- }
- }
- } if (cfg.contains("lastLoc")) {
- int loop = 1;
- while (true) {
- if (cfg.get("lastLoc." + loop) != null) {
- lastLoc.put(loop, (ArrayList<Integer>) cfg.get("lastLoc." + loop));
- loop++;
- } else {
- break;
- }
- }
- } if (cfg.getInt("Day") == 4) {
- ArrayList<Integer> locs = (ArrayList<Integer>) cfg.getList("Portal");
- Location loc = new Location((World) cfg.get("World"), Double.valueOf(locs.get(0)), Double.valueOf(locs.get(1)), Double.valueOf(locs.get(2)));
- getServer().getWorld(cfg.get("World").toString()).getBlockAt(loc).setType(Material.REDSTONE_BLOCK);
- } if (cfg.getInt("Day") >= 8) {
- cfg.set("Day", 1);
- } if (cfg.getInt("Day") >= 1 && cfg.getInt("Day") <= 4) {
- Tom = true;
- //} if (cfg.contains("Teams")) {
- // int loop = 1;
- // while (true) {
- // if (cfg.get("Teams." + loop) != null) {
- // teams.put(cfg.getString("Teams." + cfg.getloop), (CraftOfflinePlayer[]) cfg.get("Teams." + loop));
- // loop++;
- // } else {
- // break;
- // }
- // }
- }
- System.out.println("[Varo] Varo-Plugin wurde gestartet!");
- arenaManager = new ArenaManager(this);
- }
- public void onDisable() {
- if (offlineplayers.size() > 0) {
- int loop = 1;
- while (true) {
- if (offlineplayers.size() >= loop) {
- cfg.set("Players." + loop, offlineplayers.get(loop));
- loop++;
- } else {
- break;
- }
- }
- }
- //for(Entry<Integer, Player> entry : players.entrySet()) {
- // cfg.set("Players." + entry.getKey(), entry.getValue());
- //}
- if (lastLoc.size() > 0) {
- int loop = 1;
- while (true) {
- if (lastLoc.size() >= loop) {
- cfg.set("lastLoc." + loop, lastLoc.get(loop));
- loop++;
- } else {
- break;
- }
- }
- }
- if (cfg.contains("Day")) {
- cfg.set("Day", cfg.getInt("Day") + 1);
- }
- saveConfig();
- loadConfig();
- System.out.println("[Varo] Varo-Plugin wurde gestopt!");
- }
- public void loadConfig() {
- getConfig().addDefault("Null", null);
- cfg = this.getConfig();
- cfg.options().copyDefaults(true);
- saveConfig();
- }
- @SuppressWarnings({ "deprecation", "static-access" })
- public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
- Player p = (Player)sender;
- if (cmd.getName().equalsIgnoreCase("varo")) {
- if (args.length >= 1) {
- if (args[0].equalsIgnoreCase("start") && p.hasPermission("Varo.start")) {
- cfg.set("Day", 1);
- int loop = 1;
- while (loop <= players.size()) {
- players.get(loop).sendMessage(ChatColor.GREEN + "The Countdown beginns!");
- players.get(loop).sendMessage(ChatColor.GREEN +"Still "+ ChatColor.RED +"60"+ ChatColor.GREEN +" seconds!");
- loop++;
- }
- loop2 = 60;
- getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
- @Override
- public void run() {
- if (loop2 == 30) {
- int countdown = 1;
- while (countdown <= players.size()) {
- players.get(countdown).sendMessage(ChatColor.GREEN +"Still "+ ChatColor.RED +"30"+ ChatColor.GREEN +" seconds!");
- countdown++;
- }
- } else if (loop2 == 15) {
- int countdown = 1;
- while (countdown <= players.size()) {
- players.get(countdown).sendMessage(ChatColor.GREEN +"Still "+ ChatColor.RED +"15"+ ChatColor.GREEN +" seconds!");
- countdown++;
- }
- } else if (loop2 <= 10 && loop2 > 0) {
- int countdown = 1;
- while (countdown <= players.size()) {
- players.get(countdown).sendMessage(ChatColor.GREEN +"Still "+ ChatColor.GOLD + loop2 + ChatColor.GREEN +" seconds!");
- countdown++;
- }
- } else if (loop2 == 0) {
- int countdown = 1;
- while (countdown <= players.size()) {
- players.get(countdown).sendMessage(ChatColor.RED +"Run!"+ ChatColor.GREEN +" Run "+ ChatColor.UNDERLINE +"faster"+ ChatColor.UNDERLINE +" as you can!");
- players.get(countdown).sendMessage(ChatColor.GREEN +"Varo beginns!");
- wait_players.remove(players.get(countdown));
- peace(players.get(countdown));
- countdown++;
- }
- }
- loop2--;
- }
- }, 0, 20L);
- } else if (args[0].equalsIgnoreCase("addplayer") && p.hasPermission("Varo.addplayer")) {
- if (args.length == 4) {
- arenaManager.addPlayer(p, args[1], args[2], Integer.valueOf(args[3]));
- } else {
- p.sendMessage(ChatColor.GREEN +"Syntax: /varo addplayer <playername> <team> <nummer>");
- }
- } else if (args[0].equalsIgnoreCase("setspawn") && p.hasPermission("Varo.setspawn")) {
- if (args.length == 2) {
- arenaManager.setSpawn(p, Integer.valueOf(args[1].toString().intern()));
- } else {
- p.sendMessage(ChatColor.GREEN +"Syntax: /varo setspawn <spawnnumber>");
- }
- } else if (args[0].equalsIgnoreCase("setworld") && p.hasPermission("Varo.setworld")) {
- arenaManager.setWorld(p);
- } else if (args[0].equalsIgnoreCase("setportal") && p.hasPermission("Varo.setportal")) {
- arenaManager.setPortal(p);
- }
- } else {
- p.sendMessage(ChatColor.GREEN +"Syntax: /varo <subcommand>");
- }
- }
- return true;
- }
- @SuppressWarnings("deprecation")
- public void peace(Player p) {
- peacePlayers.add(p);
- p.sendMessage(ChatColor.GREEN +"Peace-Time has beginn!");
- getServer().getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
- @Override
- public void run() {
- peacePlayers.remove(p);
- p.sendMessage(ChatColor.GREEN +"Peace-Time "+ ChatColor.RED +"ends"+ ChatColor.GREEN +"!");
- dayloop(p);
- }
- }, 20L * 10);
- }
- @SuppressWarnings("deprecation")
- public void dayloop(Player p) {
- if (p.getName() != "yGravity") {
- getServer().getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
- @SuppressWarnings("static-access")
- @Override
- public void run() {
- arenaManager.saveLoc(p, p.getLocation());
- banned.add(p);
- p.kickPlayer("Your 20 minutes are done!");
- }
- }, 20L * 60 * 20);
- } else if (Tom = false) {
- getServer().getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
- @SuppressWarnings("static-access")
- @Override
- public void run() {
- arenaManager.saveLoc(p, p.getLocation());
- banned.add(p);
- p.kickPlayer("Your 20 minutes are done!");
- }
- }, 20L * 60 * 20);
- } else if (Tom = true) {
- getServer().getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
- @SuppressWarnings("static-access")
- @Override
- public void run() {
- arenaManager.saveLoc(p, p.getLocation());
- banned.add(p);
- p.kickPlayer("Your 40 minutes are done!");
- }
- }, 20L * 60 * 40);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement