Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.josh014.Event;
- import java.util.HashSet;
- import java.util.Set;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerLoginEvent;
- import org.bukkit.event.player.PlayerRespawnEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.PlayerInventory;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Commands extends JavaPlugin implements Listener {
- static Main plugin;
- public Commands(Main instance){
- plugin = instance;
- }
- Set<String> host = new HashSet<String>();
- Set<String> join = new HashSet<String>();
- boolean PvP = false;
- String Event = ChatColor.AQUA +"[" + ChatColor.GREEN + "MCPEvent" + ChatColor.AQUA + "] ";
- String Create = Event + ChatColor.GREEN + "You are starting to host the game: ";
- String SL = Event + ChatColor.RED + "Now you need to set the lobby of the event. '/event setlobby'.";
- String setLobby = Event + ChatColor.RED + "You have set the lobby.";
- String setEnd = Event + ChatColor.RED + "You have set the end.";
- String NoGame = Event + ChatColor.RED + "There is no game atm.";
- String noGame = Event + ChatColor.RED + "There is no game atm.";
- String Game = Event + ChatColor.RED + "There is an event.";
- String stop = Event + ChatColor.RED + "You have stopped the event.";
- String alreadyEvent = Event + ChatColor.RED + "There is already an event!";
- String clearInv = Event + ChatColor.RED + "You need to have a clean inventory to be able to join!";
- String End = Event + ChatColor.RED + "There needs to set an end first. '/event setend'.";
- String No1 = Event + ChatColor.RED + "There is no one to start with.";
- String NoPerms = Event + ChatColor.RED + "You don't have the permissions to perform this command.";
- String NR = Event + ChatColor.RED + "You are not the creator of the event!";
- String Hoster = Event + ChatColor.RED + "You can't join the game! You are the host.";
- String hoster = Event + ChatColor.RED + "You can't leave the game! You are the host.";
- String AlreadyIG = Event + ChatColor.RED + "You are already in an event. Use '/event leave' to leave.";
- String NotIG = Event + ChatColor.RED + "You are not in a game.";
- String NotHost = Event + ChatColor.RED + "You are not the host of the event!";
- String full = Event + ChatColor.RED + "The event has already started";
- String HelpHeader ="§8]§6«§4-§6»§8[§6-=-§8]§6-§8[ §bMCPEvent §8]§6-§8[§6-=-§8]§6«§4-§6»§8[";
- String Cmd_Join = "§8]§6«§4-§6»§8[ §0§l¤ §a/event join";
- String Cmd_Leave = "§8]§6«§4-§6»§8[ §0§l¤ §a/event leave";
- String Cmd_Host = "§8]§6«§4-§6»§8[ §0§l¤ §a/event host";
- String Cmd_Stop = "§8]§6«§4-§6»§8[ §0§l¤ §a/event stop";
- String Cmd_ForceStop = "§8]§6«§4-§6»§8[ §0§l¤ §a/event forcestop";
- String Cmd_Help = "§8]§6«§4-§6»§8[ §0§l¤ §a/event help";
- String Cmd_SetLobby = "§8]§6«§4-§6»§8[ §0§l¤ §a/event setlobby";
- String Cmd_SetEnd = "§8]§6«§4-§6»§8[ §0§l¤ §a/event setend";
- String Cmd_broadcast = "§8]§6«§4-§6»§8[ §0§l¤ §a/event broadcast";
- String Cmd_start = "§8]§6«§4-§6»§8[ §0§l¤ §a/event start";
- String Cmd_Left = "§8]§6«§4-§6»§8[ §0§l¤ §a/event left";
- String Cmd_Current = "§8]§6«§4-§6»§8[ §0§l¤ §a/event current";
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
- Player player = (Player) sender;
- Location loc = player.getLocation();
- World world = player.getWorld();
- PlayerInventory pi = player.getInventory();
- String BEvent = Event + ChatColor.RED + "There has been opened an event by: " + ChatColor.YELLOW + player.getName();
- String BStop = Event + ChatColor.RED + "The event has been stopped by: " + ChatColor.YELLOW + player.getName();
- String BStart = Event + ChatColor.RED + "The event has been started by: " + ChatColor.YELLOW + player.getName();
- String BLeave = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " left the event.";
- String BJoin = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " joined the event.";
- String LeftHost = "§6Host: §7" + plugin.getConfig().get("Game.Host");
- String LeftPlayers = "§ePlayers: §8" + plugin.getConfig().get("Game.Players.Names.");
- String LeftPlayersNull = "§ePlayers: §8-";
- final int x = plugin.getConfig().getInt("Game.Coords.x");
- final int y = plugin.getConfig().getInt("Game.Coords.y");
- final int z = plugin.getConfig().getInt("Game.Coords.z");
- final int pitch = plugin.getConfig().getInt("Game.Coords.pitch");
- final int yaw = plugin.getConfig().getInt("Game.Coords.yaw");
- final int xe = plugin.getConfig().getInt("End.Coords.x");
- final int ye = plugin.getConfig().getInt("End.Coords.y");
- final int ze = plugin.getConfig().getInt("End.Coords.z");
- final int pitche = plugin.getConfig().getInt("End.Coords.pitch");
- final int yawe = plugin.getConfig().getInt("End.Coords.yaw");
- int intlives = 5;
- int intleave = 5;
- ItemStack stick = new ItemStack(Material.STICK, 1);
- stick.addUnsafeEnchantment(Enchantment.KNOCKBACK, 10);
- if(commandLabel.equalsIgnoreCase("event") || commandLabel.equalsIgnoreCase("e")){
- if(args.length == 0){
- String NEA = ChatColor.RED + "Use: '/event help', for help.";
- player.sendMessage(NEA);
- }
- if(args.length == 1 || args.length >= 1){
- if(player.hasPermission("mcpevent.help")){
- if(args[0].equalsIgnoreCase("help")){
- player.sendMessage(HelpHeader);
- player.sendMessage(Cmd_Join);
- player.sendMessage(Cmd_Leave);
- player.sendMessage(Cmd_Host);
- player.sendMessage(Cmd_Stop);
- player.sendMessage(Cmd_ForceStop);
- player.sendMessage(Cmd_Help);
- player.sendMessage(Cmd_SetLobby);
- player.sendMessage(Cmd_SetEnd);
- player.sendMessage(Cmd_broadcast);
- player.sendMessage(Cmd_start);
- player.sendMessage(Cmd_Left);
- player.sendMessage(Cmd_Current);
- }
- else if(!player.hasPermission("mcpevent.help")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("join")){
- if(player.hasPermission("mcpevent.join")){
- if(plugin.getConfig().get("Game") != null){
- if(!join.contains(player.getName())){
- if(host.contains(player.getName())){
- player.sendMessage(Hoster);
- }
- boolean empty = true;
- for(ItemStack slot : pi.getContents()){
- if(slot != null) empty = false;
- }
- for(ItemStack slot : pi.getArmorContents()){
- if(slot == new ItemStack(Material.AIR)) empty = false;
- }
- if(empty){
- /*
- * Code when join \/
- */
- plugin.getConfig().set("Game.Players.Names." + player.getName(), "");
- join.add(player.getName());
- Bukkit.broadcastMessage(BJoin);
- player.teleport(new Location(world, x, y, z, yaw, pitch));
- player.setLevel(intlives);
- pi.addItem(stick);
- plugin.saveConfig();
- player.setGameMode(GameMode.ADVENTURE);
- /*
- * Code when join /\
- */
- }
- else if(!empty){
- player.sendMessage(clearInv);
- }
- }
- else if(join.contains(player.getName())){
- player.sendMessage(AlreadyIG);
- }
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(NoGame);
- }
- }
- else if(!player.hasPermission("mcpevent.join")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("leave")){
- if(player.hasPermission("mcpevent.leave")){
- if(host.contains(player.getName())){
- player.sendMessage(hoster);
- }
- else if(!host.contains(player.getName())){
- if(join.contains(player.getName())){
- /*
- * Code when Leave \/
- */
- plugin.getConfig().set("Game.Players.Names." + player.getName(), null);
- join.remove(player.getName());
- pi.clear();
- pi.setArmorContents(null);
- player.teleport(new Location(world, xe, ye, ze, yawe, pitche));
- player.setLevel(0);
- Bukkit.broadcastMessage(BLeave);
- player.setGameMode(GameMode.SURVIVAL);
- plugin.saveConfig();
- /*
- * Code when Leave /\
- */
- }
- else if(!join.contains(player.getName())){
- player.sendMessage(NotIG);
- }
- }
- }
- else if(player.hasPermission("mcpevent.leave")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("stop")){
- if(player.hasPermission("mcpevent.stop")){
- if(plugin.getConfig().get("Game") != null){
- if(plugin.getConfig().get("Game.Host") == player.getName()){
- /*
- * Code when stopped \/
- */
- for (String playername : join) {
- Player Gamer = plugin.getServer().getPlayerExact(playername);
- if (Gamer != null) {
- Gamer.teleport(new Location(world, xe, ye, ze, yawe, pitche));
- Gamer.setLevel(0);
- Gamer.setGameMode(GameMode.SURVIVAL);
- }
- else if(Gamer == null){
- player.sendMessage("Nope");
- }
- }
- player.sendMessage(stop);
- host.clear();
- join.clear();
- PvP = false;
- plugin.getConfig().set("Game", null);
- plugin.saveConfig();
- Bukkit.broadcastMessage(BStop);
- /*
- * Code when stopped /\
- */
- }
- else if(plugin.getConfig().get("Game.Host") != player.getName()){
- player.sendMessage(NotHost);
- }
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(noGame);
- }
- }
- else if(!player.hasPermission("mcpevent.stop")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("host")){
- if(player.hasPermission("mcpevent.host")){
- if(plugin.getConfig().get("Game") == null){
- if(args.length == 1){
- String NEA = ChatColor.RED + "Use: /event host [name]";
- player.sendMessage(NEA);
- }
- else if(args.length == 2){
- String name = "";
- for (int i = 1; i < args.length; i++) {
- name += args[i];
- }
- if(plugin.getConfig().get("End") != null){
- String Name = ChatColor.RED + "[" + ChatColor.AQUA + name + ChatColor.RED + "]";
- player.sendMessage(Create + Name);
- player.sendMessage(SL);
- host.add(player.getName());
- plugin.getConfig().set("Game.Name", name);
- plugin.getConfig().set("Game.Host", player.getName());
- plugin.saveConfig();
- }
- else if(plugin.getConfig().get("End") == null){
- player.sendMessage(End);
- }
- }
- else if(args.length >= 2){
- String NEA = ChatColor.RED + "Use: /event host [name]";
- player.sendMessage(NEA);
- }
- }
- else if(plugin.getConfig().get("Game") != null){
- player.sendMessage(alreadyEvent);
- }
- }
- else if(!player.hasPermission("mcpevent.host")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("setlobby")){
- if(player.hasPermission("mcpevent.host")){
- if(plugin.getConfig().get("Game") != null){
- if(host.contains(player.getName())){
- player.sendMessage(setLobby);
- plugin.getConfig().set("Game.Coords.x", loc.getX());
- plugin.getConfig().set("Game.Coords.y", loc.getY());
- plugin.getConfig().set("Game.Coords.z", loc.getZ());
- plugin.getConfig().set("Game.Coords.pitch", loc.getPitch());
- plugin.getConfig().set("Game.Coords.yaw", loc.getYaw());
- plugin.saveConfig();
- }
- else if(!host.contains(player.getName())){
- player.sendMessage(NR);
- }
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(noGame);
- }
- }
- else if(!player.hasPermission("mcpevent.join")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("forcestop")){
- if(player.hasPermission("mcpevent.forcestop")){
- if(plugin.getConfig().get("Game") != null){
- for (String playername : join) {
- Player Gamer = plugin.getServer().getPlayerExact(playername);
- if (Gamer != null) {
- Gamer.teleport(new Location(world, xe, ye, ze, yawe, pitche));
- Gamer.setLevel(0);
- Gamer.setGameMode(GameMode.SURVIVAL);
- }
- else if(Gamer == null){
- player.sendMessage("Nope");
- }
- }
- player.sendMessage(stop);
- host.clear();
- join.clear();
- PvP = false;
- plugin.getConfig().set("Game", null);
- plugin.saveConfig();
- Bukkit.broadcastMessage(BStop);
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(noGame);
- }
- }
- else if(!player.hasPermission("mcpevent.forcestop")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("setend")){
- if(player.hasPermission("mcpevent.setend")){
- player.sendMessage(setEnd);
- plugin.getConfig().set("End.Coords.x", loc.getX());
- plugin.getConfig().set("End.Coords.y", loc.getY());
- plugin.getConfig().set("End.Coords.z", loc.getZ());
- plugin.getConfig().set("End.Coords.pitch", loc.getPitch());
- plugin.getConfig().set("End.Coords.yaw", loc.getYaw());
- plugin.saveConfig();
- }
- else if(!player.hasPermission("mcpevent.setend")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("start")){
- if(player.hasPermission("mcpevent.host")){
- if(!join.isEmpty()){
- if(host.contains(player.getName())){
- for (String playername : join) {
- Player Gamer = plugin.getServer().getPlayerExact(playername);
- if (Gamer != null) {
- Gamer.teleport(new Location(world, x, y, z, yaw, pitch));
- PvP = true;
- Bukkit.broadcastMessage(BStart);
- }
- else if(Gamer == null){
- player.sendMessage("Nope");
- }
- }
- }
- else if(!host.contains(player.getName())){
- player.sendMessage(NotHost);
- }
- }
- else if(join.isEmpty()){
- player.sendMessage(No1);
- }
- }
- else if(!player.hasPermission("mcpevent.host")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("broadcast")){
- if(player.hasPermission("mcpevent.host")){
- if(plugin.getConfig().get("Game") != null){
- if(host.contains(player.getName())){
- Bukkit.broadcastMessage(BEvent);
- }
- }
- else if(!host.contains(player.getName())){
- player.sendMessage(NotHost);
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(NoGame);
- }
- }
- else if(!player.hasPermission("mcpevent.host")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("left")){
- if(player.hasPermission("mcpevent.left")){
- if(plugin.getConfig().get("Game") != null){
- if(plugin.getConfig().get("Game.Players.Names.") != null){
- player.sendMessage(LeftHost);
- player.sendMessage(LeftPlayers);
- }
- else if(plugin.getConfig().get("Game.Players.Names.") == null){
- player.sendMessage(LeftHost);
- player.sendMessage(LeftPlayersNull);
- }
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(NoGame);
- }
- }
- else if(!player.hasPermission("mcpevent.left")){
- player.sendMessage(NoPerms);
- }
- }
- if(args[0].equalsIgnoreCase("current")){
- if(player.hasPermission("mcpevent.current")){
- if(plugin.getConfig().get("Game") != null){
- player.sendMessage(Game);
- }
- else if(plugin.getConfig().get("Game") == null){
- player.sendMessage(NoGame);
- }
- }
- else if(!player.hasPermission("mcpevent.current")){
- player.sendMessage(NoPerms);
- }
- }
- }
- }
- else if(!sender.equals(player)){
- sender.sendMessage("Nope");
- }
- return false;
- }
- @EventHandler
- public void onPlayerDamage(EntityDamageByEntityEvent event){
- Player player = (Player) event.getEntity();
- Player damager = (Player) event.getDamager();
- Boolean PvP = false;
- if(join.contains(player.getName()) || join.contains(damager.getName())){
- if(PvP){
- event.setCancelled(false);
- }
- else if(!PvP){
- event.setCancelled(true);
- }
- }
- else if(!join.contains(player.getName()) || !join.contains(damager.getName())){
- event.setCancelled(true);
- }
- }
- @EventHandler
- public void onPlayerDeath(PlayerRespawnEvent event){
- final Player player = event.getPlayer();
- final World world = player.getWorld();
- final PlayerInventory pi = player.getInventory();
- final String BPlayerDead = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " Died!";
- final String BLives = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " Has (" + ChatColor.RED + player.getLevel() + ChatColor.GREEN +") lives left.";
- final String BLeave = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " left the event.";
- final int x = plugin.getConfig().getInt("Game.Coords.x");
- final int y = plugin.getConfig().getInt("Game.Coords.y");
- final int z = plugin.getConfig().getInt("Game.Coords.z");
- final int pitch = plugin.getConfig().getInt("Game.Coords.pitch");
- final int yaw = plugin.getConfig().getInt("Game.Coords.yaw");
- final int xe = plugin.getConfig().getInt("End.Coords.x");
- final int ye = plugin.getConfig().getInt("End.Coords.y");
- final int ze = plugin.getConfig().getInt("End.Coords.z");
- final int pitche = plugin.getConfig().getInt("End.Coords.pitch");
- final int yawe = plugin.getConfig().getInt("End.Coords.yaw");
- final int intleave = 5;
- final int Respawn = player.getLevel() - 1;
- if(join.contains(player.getName())){
- if(player.getLevel() >= 0){
- Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
- @Override
- public void run(){
- player.teleport(new Location(world, x, y, z, yaw, pitch));
- player.setLevel(Respawn);
- Bukkit.broadcastMessage(BLives);
- }
- },2L);
- }
- else if(!(player.getLevel() >= 0)){
- Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
- @Override
- public void run(){
- Bukkit.broadcastMessage(BPlayerDead);
- plugin.getConfig().set("Game.Players.Names." + player.getName(), null);
- join.remove(player.getName());
- pi.clear();
- pi.setArmorContents(null);
- player.teleport(new Location(world, xe, ye, ze, yawe, pitche));
- player.setLevel(intleave);
- player.sendMessage(BLeave);
- plugin.saveConfig();
- }
- },2L);
- }
- }
- else if(!join.contains(player.getName())){
- }
- }
- @EventHandler
- public void PlayerJoinInGame(PlayerLoginEvent event){
- final Player player = event.getPlayer();
- final World world = player.getWorld();
- final PlayerInventory pi = player.getInventory();
- final String BPlayerDead = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " Died!";
- final String BLeave = Event + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + " left the event.";
- final int xe = plugin.getConfig().getInt("End.Coords.x");
- final int ye = plugin.getConfig().getInt("End.Coords.y");
- final int ze = plugin.getConfig().getInt("End.Coords.z");
- final int pitche = plugin.getConfig().getInt("End.Coords.pitch");
- final int yawe = plugin.getConfig().getInt("End.Coords.yaw");
- final int intleave = 5;
- if(join.contains(player.getName())){
- Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
- @Override
- public void run(){
- Bukkit.broadcastMessage(BPlayerDead);
- plugin.getConfig().set("Game.Players.Names." + player.getName(), null);
- join.remove(player.getName());
- pi.clear();
- pi.setArmorContents(null);
- player.teleport(new Location(world, xe, ye, ze, yawe, pitche));
- player.setLevel(intleave);
- player.sendMessage(BLeave);
- plugin.saveConfig();
- }
- },2L);
- }
- }
- @EventHandler
- public void PlayerInGame(InventoryClickEvent event){
- Player player = (Player) event.getWhoClicked();
- if(join.contains(player.getName())){
- event.setCancelled(true);
- }
- else if(!join.contains(player.getName())){
- event.setCancelled(false);
- }
- }
- @EventHandler
- public void PlayerInGameCmd(PlayerCommandPreprocessEvent event, String[] args){
- Player player = event.getPlayer();
- if(join.contains(player.getName())){
- if(event.getMessage().equalsIgnoreCase("e")){
- if(args[0].equalsIgnoreCase("leave")){
- event.setCancelled(false);
- }
- else if(args[0].equalsIgnoreCase("leave")){
- event.setCancelled(true);
- }
- }
- }
- else if(!join.contains(player.getName())){
- event.setCancelled(false);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement