Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.Panakotta00.CrashGames;
- import de.Panakotta00.CrashGames.ArenaManager;
- import de.Panakotta00.CrashGames.Event.Events;
- import de.Panakotta00.CrashGames.Game.GamePlay;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.bukkit.Location;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- public class main extends JavaPlugin {
- public static HashMap<String, GamePlay> arenas = new HashMap<String, GamePlay>();
- public static HashMap<Player, String> inGame = new HashMap<Player, String>();
- public static List<String> waiting_players = new ArrayList<String>();
- public static List<String> room_players = new ArrayList<String>();
- public static List<String> vote_players = new ArrayList<String>();
- public static Location xyz;
- public static Location x2y2z2;
- public FileConfiguration cfg;
- public Player p;
- ArenaManager arenaManager;
- public void onEnable() {
- loadConfig();
- arenaManager = new ArenaManager(this);
- getServer().getPluginManager().registerEvents((Listener)new Events(), (Plugin)this);
- System.out.println("[CrashGames] GrashGames wurde gestartet!");
- }
- public void onDisable() {
- System.out.println("[CrashGames] GrashGames wurde gestopt!");
- }
- public void loadConfig() {
- this.getConfig().addDefault("Arenas.null", null);
- this.cfg = this.getConfig();
- this.cfg.options().copyDefaults(true);
- this.saveConfig();
- }
- public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
- this.p = (Player)sender;
- if (cmd.getName().equalsIgnoreCase("cg")) {
- if (this.p.hasPermission("CrashGames.cg")) {
- if (args.length >= 1) {
- if (args[0].equalsIgnoreCase("load")) {
- this.loadConfig();
- this.p.sendMessage("Config hase ben load!");
- } else if (args[0].equalsIgnoreCase("create")) {
- if (args.length == 3) {
- arenaManager.createArena(args[1].intern(), args[2].intern());
- } else {
- this.p.sendMessage("Syntax: /cg create <ArenaName> <Player>");
- }
- } else if (args[0].equalsIgnoreCase("remove")) {
- if (args.length == 2) {
- this.arenaManager.removeArena(args[1]);
- } else {
- this.p.sendMessage("Syntax: /cg remove <ArenaName>");
- }
- // Config
- } else if (args[0].equalsIgnoreCase("edit")) {
- if (args.length >= 3) {
- if (cfg.getConfigurationSection("Arenas").contains(args[1])) {
- if (args[2].equalsIgnoreCase("playervalue")) {
- if (args.length == 4) {
- arenaManager.changePlayerValue(args[1].intern(), args[2].intern());
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> playervalue <playervalue>");
- }
- } else if (args[2].equalsIgnoreCase("waitingspawn")) {
- arenaManager.changeWaitingroomSpawn(args[1].intern(), p.getLocation());
- // JumpAndRun
- } else if (args[2].equalsIgnoreCase("JumpAndRun")) {
- if (args.length == 4) {
- if (args[3].equalsIgnoreCase("spawn")) {
- arenaManager.jumpAndRunSetSpawn(args[1], p.getLocation());
- } else if (args[3].equalsIgnoreCase("losezone")) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.jumpAndRunSetLosezone(args[1], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else if (args[3].equalsIgnoreCase("winzone")) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.jumpAndRunSetWinzone(args[1], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else if (args[3].equalsIgnoreCase("checkpoint")) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.jumpAndRunSetCheckpoint(args[1], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> JumpAndRun <edit>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> JumpAndRun <edit>");
- }
- // MobArena
- } else if (args[2].equalsIgnoreCase("MobArena")) {
- if (args.length >= 4) {
- if (args[3].equalsIgnoreCase("spawn")) {
- if (args.length == 5) {
- arenaManager.mobArenaSetSpawn(args[1], args[4], p.getLocation());
- } else {
- p.sendMessage("Sytax: /cg edit <arenaname> MobArena spawn <player>");
- }
- } else if (args[3].equalsIgnoreCase("mobspawn")) {
- if (args.length == 5) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.mobArenaSetMobspawn(args[1], args[4], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> MobArena mobspawn <player>");
- }
- } else {
- p.sendMessage("Sytax: /cg edit <arenaname> MobArena <edit>");
- }
- } else {
- p.sendMessage("Sytax: /cg edit <arenaname> MobArena <edit>");
- }
- // PvP
- } else if (args[2].equalsIgnoreCase("pvpspawn")) {
- if (args.length == 4) {
- arenaManager.PvPSetSpawn(args[1], args[3], p.getLocation());
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> pvpspawn <player>");
- }
- // SpeedRun
- } else if (args[2].equalsIgnoreCase("speedrun")) {
- if (args.length >= 4) {
- if (args[3].equalsIgnoreCase("spawn")) {
- if (args.length == 5) {
- arenaManager.speedRunSetSpawn(args[1], args[4], p.getLocation());
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> speedrun spawn <player>");
- }
- } else if (args[3].equalsIgnoreCase("time")) {
- if (args.length == 6) {
- arenaManager.speedRunSetTime(args[1], args[4], args[5]);
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> speedrun time <player> <time>");
- }
- } else if (args[3].equalsIgnoreCase("okzone")) {
- if (args.length == 5) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.speedRunSetOkzone(args[1], args[4], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> speedrun okzone <player>");
- }
- } else if (args[3].equalsIgnoreCase("winzone")) {
- if (args.length == 5) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.speedRunSetWinzone(args[1], args[4], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> speedrun winzone <player>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> speedrun <edit>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> speedrun <edit>");
- }
- // 4Arena
- } else if (args[2].equalsIgnoreCase("4arena")) {
- if (args.length >= 4) {
- if (args[3].equalsIgnoreCase("spawn")) {
- if (args.length == 5) {
- arenaManager.ArenaSetSpawn(args[1], args[4], p.getLocation());
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> 4arena spawn <player>");
- }
- } else if (args[3].equalsIgnoreCase("chest")) {
- if (args.length == 5) {
- if (xyz != null) {
- arenaManager.ArenaSetSpawn(args[1], args[4], xyz);
- } else {
- p.sendMessage("Set 1.Mark(With Paper R-Click) on the Chest!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> 4arena chest <player>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> 4arena <edit>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> 4arena <edit>");
- }
- // LongShoot
- } else if (args[2].equalsIgnoreCase("longshoot")) {
- if (args.length >= 4) {
- if (args[3].equalsIgnoreCase("spawn")) {
- if (args.length == 5) {
- arenaManager.longShootSetSpawn(args[1], args[4], p.getLocation());
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> longshoot spawn <player>");
- }
- } else if (args[3].equalsIgnoreCase("winzone")) {
- if (args.length == 5) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.longShootSetWinzone(args[1], args[4], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> longshoot winzone <player>");
- }
- } else if (args[3].equalsIgnoreCase("1fail")) {
- if (args.length == 5) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.longShootSet1Fail(args[1], args[4], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> longshoot 1fail <player>");
- }
- } else if (args[3].equalsIgnoreCase("2fail")) {
- if (args.length == 5) {
- if (xyz != null && x2y2z2 != null) {
- arenaManager.longShootSet2Fail(args[1], args[4], xyz, x2y2z2);
- } else {
- p.sendMessage("You must mark a Area with Paper!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> longshoot 2fail <player>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> longshoot <edit>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> longshoot <edit>");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> <edit>");
- }
- } else {
- p.sendMessage("Arena not in use!");
- }
- } else {
- p.sendMessage("Syntax: /cg edit <arenaname> <edit>");
- }
- } else if (args[0].equalsIgnoreCase("waittest")) {
- waiting_players.add(args[1]);
- } else if (args[0].equalsIgnoreCase("vote")) {
- if (room_players.contains(this.p.getName())) {
- vote_players.add(this.p.getName());
- } else {
- this.p.sendMessage("You not in a Waitingroom!");
- }
- } else if (args[0].equalsIgnoreCase("join")) {
- if (args.length == 2) {
- if (cfg.getConfigurationSection("Arenas").contains(args[1])) {
- if (!inGame.containsKey(this.p.getName())) {
- int maxplayers = cfg.getInt("Arenas." + args[1] + ".playervalue");
- int playervalue = 0;
- for (Map.Entry<Player, String> entry : inGame.entrySet()) {
- if (!entry.getValue().equals(args[1])) continue;
- playervalue = playervalue + 1;
- }
- if (playervalue == 0) {
- inGame.put(p, args[1]);
- arenas.get(args[1]).join(p);
- } else if (playervalue == maxplayers) {
- p.sendMessage("The Arena is full!");
- } else {
- inGame.put(p, args[1]);
- }
- } else {
- this.p.sendMessage("You are in a Arena!");
- }
- } else {
- p.sendMessage("Arena not in use!");
- }
- } else {
- p.sendMessage("Syntax: /cg join <arenaname>");
- }
- } else if (args[0].equalsIgnoreCase("leave")) {
- if (inGame.containsKey(this.p.getName())) {
- main.stop(inGame.get(this.p.getName()));
- System.out.println("CrashGames Arena'" + inGame.get(this.p.getName()) + "' Stops while " + this.p.getName() + " has left!");
- } else {
- this.p.sendMessage("You are not in a Arena!");
- }
- } else if (args[0].equalsIgnoreCase("stop")) {
- if (args.length == 2) {
- if (inGame.containsValue(args[1])) {
- main.stop(args[1]);
- p.sendMessage("CrashGames Arena '" + inGame.get(this.p.getName()) + "' Stops!");
- } else {
- p.sendMessage("Arena is not in game!");
- }
- } else {
- System.out.println("Syntax: /cg stop <arenaname>");
- }
- } else {
- this.p.sendMessage("/cg help for help");
- }
- } else {
- this.p.sendMessage("/cg help for help");
- }
- } else {
- this.p.sendMessage("You have not the Premission for that!");
- }
- }
- return true;
- }
- public static void stop(String arena) {
- List<String> players = new ArrayList<String>();
- for (Map.Entry<Player, String> entry : inGame.entrySet()) {
- if (!entry.getValue().equals(arena)) continue;
- players.add(entry.getKey().getName());
- }
- waiting_players.remove(players);
- room_players.remove(players);
- vote_players.remove(players);
- for (Map.Entry<Player, String> entry : inGame.entrySet()) {
- if (!entry.getValue().equals(arena)) continue;
- inGame.remove(entry.getKey());
- }
- arenas.remove(arena);
- }
- public List<Player> getAllPlayers(String arenaname) {
- List<Player> players = new ArrayList<Player>();
- for (Map.Entry<Player, String> entry : inGame.entrySet()) {
- if (!entry.getValue().equals(arenaname)) continue;
- players.add(entry.getKey());
- }
- return players;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement