Advertisement
Guest User

Untitled

a guest
May 5th, 2014
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.12 KB | None | 0 0
  1. package me.taloniii.duelarena;
  2.  
  3. import java.util.HashMap;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Location;
  8. import org.bukkit.Material;
  9. import org.bukkit.World;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.enchantments.Enchantment;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.entity.PlayerDeathEvent;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.inventory.PlayerInventory;
  18. import org.bukkit.inventory.meta.ItemMeta;
  19. import org.bukkit.plugin.java.JavaPlugin;
  20.  
  21. public class DuelArena extends JavaPlugin {
  22.    
  23.     public void onEnable() {
  24.         saveDefaultConfig();
  25.     }
  26.    
  27.     public void onDisable() {
  28.         saveConfig();
  29.     }
  30.    
  31.     public void onDuelEnd(Player player) {
  32.        
  33.     }
  34.    
  35.     public HashMap<Player, Player> Duel = new HashMap<Player, Player>();
  36.     public HashMap<Player, String> arenaInUse = new HashMap<Player, String>();
  37.    
  38.     public void equipPlayer(Player player) {
  39.         ItemStack sword = new ItemStack(Material.IRON_SWORD, 1);
  40.         sword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
  41.         ItemMeta swordmeta = sword.getItemMeta();
  42.         swordmeta.setDisplayName(ChatColor.RED + "Iron Sword");
  43.        
  44.         ItemStack bow = new ItemStack(Material.BOW, 1);
  45.         bow.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
  46.         bow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
  47.         ItemMeta bowmeta = bow.getItemMeta();
  48.         bowmeta.setDisplayName(ChatColor.RED + "Bow");
  49.        
  50.         ItemStack helm = new ItemStack(Material.IRON_HELMET);
  51.         ItemStack chest = new ItemStack(Material.IRON_CHESTPLATE);
  52.         ItemStack legs = new ItemStack(Material.IRON_LEGGINGS);
  53.         ItemStack boots = new ItemStack(Material.IRON_BOOTS);
  54.         helm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  55.         chest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  56.         legs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  57.         boots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  58.        
  59.         PlayerInventory targetInventory = player.getInventory();
  60.        
  61.         targetInventory.addItem(new ItemStack(sword));
  62.         targetInventory.addItem(new ItemStack(bow));
  63.         targetInventory.addItem(new ItemStack(Material.ARROW, 1));
  64.         targetInventory.addItem(new ItemStack(Material.COOKED_BEEF, 16));
  65.         targetInventory.addItem(new ItemStack(Material.GOLDEN_APPLE, 1));
  66.         targetInventory.setHelmet(new ItemStack(helm));
  67.         targetInventory.setChestplate(new ItemStack(chest));
  68.         targetInventory.setLeggings(new ItemStack(legs));
  69.         targetInventory.setBoots(new ItemStack(boots));
  70.     }
  71.    
  72.     @EventHandler
  73.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  74.        
  75.         if (cmd.getName().equalsIgnoreCase("duel")) {
  76.             if (args.length == 0) {
  77.                 sender.sendMessage(ChatColor.RED + "You must specify a player to duel!");
  78.                 return true;
  79.             }
  80.            
  81.            
  82.             Player target = Bukkit.getServer().getPlayer(args[0]);
  83.             Player requester = (Player) sender;
  84.             if (target == null) { return false; } else {
  85.                 if (target instanceof Player && sender instanceof Player) {
  86.                     sender.sendMessage(ChatColor.GOLD + "You have requested to duel " + ChatColor.AQUA + args[0] + ChatColor.GOLD + "!" );
  87.                     target.sendMessage(ChatColor.AQUA + sender.getName() + ChatColor.GOLD + " has requested to duel you!");
  88.                     target.sendMessage(ChatColor.GOLD + "Chat '/duel accept' to begin the duel!");
  89.                
  90.                     Duel.put(requester, target);
  91.                     return true;
  92.                 }
  93.            
  94.                 else if (args[0] == "accept") {
  95.                     if(Duel.containsKey(requester)) {
  96.                         Duel.remove(requester);
  97.                    
  98.                         if (arenaInUse.containsValue("ArenaOne")) {
  99.                             if (arenaInUse.containsValue("ArenaTwo")) {
  100.                                 if (arenaInUse.containsValue("ArenaThree")) {
  101.                                     if (arenaInUse.containsValue("ArenaFour")) {
  102.                                         if (arenaInUse.containsValue("ArenaFive")) {
  103.                                             target.sendMessage(ChatColor.RED + "No Arenas are available!");
  104.                                             return true;
  105.                                         } else {
  106.                                             int x = getConfig().getInt("ArenaFive.SpawnOne.x"), y = getConfig().getInt("ArenaFive.SpawnOne.y"), z = getConfig().getInt("ArenaFive.SpawnOne.z");
  107.                                             int x2 = getConfig().getInt("ArenaFive.SpawnTwo.x"), y2 = getConfig().getInt("ArenaFive.SpawnTwo.x"), z2 = getConfig().getInt("ArenaFive.SpawnTwo.x");
  108.                                             String world = getConfig().getString("ArenaFive.world");
  109.                                             World Aworld = this.getServer().getWorld(world);
  110.                                             target.teleport(new Location(Aworld , x, y, z));
  111.                                             requester.teleport(new Location(Aworld, x2, y2, z2));
  112.                                             target.getInventory().clear();
  113.                                             requester.getInventory().clear();
  114.                                             equipPlayer(target);
  115.                                             equipPlayer(requester);
  116.                                             arenaInUse.put(target, "ArenaFive");
  117.                                             arenaInUse.put(requester, "ArenaFive");
  118.                                             return true;
  119.                                         }
  120.                                     } else {
  121.                                         int x = getConfig().getInt("ArenaFour.SpawnOne.x"), y = getConfig().getInt("ArenaFour.SpawnOne.y"), z = getConfig().getInt("ArenaFour.SpawnOne.z");
  122.                                         int x2 = getConfig().getInt("ArenaFour.SpawnTwo.x"), y2 = getConfig().getInt("ArenaFour.SpawnTwo.x"), z2 = getConfig().getInt("ArenaFour.SpawnTwo.x");
  123.                                         String world = getConfig().getString("ArenaFour.world");
  124.                                         World Aworld = this.getServer().getWorld(world);
  125.                                         target.teleport(new Location(Aworld , x, y, z));
  126.                                         requester.teleport(new Location(Aworld, x2, y2, z2));
  127.                                         target.getInventory().clear();
  128.                                         requester.getInventory().clear();
  129.                                         equipPlayer(target);
  130.                                         equipPlayer(requester);
  131.                                         arenaInUse.put(target, "ArenaFour");
  132.                                         arenaInUse.put(requester, "ArenaFour");
  133.                                         return true;
  134.                                     }
  135.                                 } else {
  136.                                     int x = getConfig().getInt("ArenaThree.SpawnOne.x"), y = getConfig().getInt("ArenaThree.SpawnOne.y"), z = getConfig().getInt("ArenaThree.SpawnOne.z");
  137.                                     int x2 = getConfig().getInt("ArenaThree.SpawnTwo.x"), y2 = getConfig().getInt("ArenaThree.SpawnTwo.x"), z2 = getConfig().getInt("ArenaThree.SpawnTwo.x");
  138.                                     String world = getConfig().getString("ArenaThree.world");
  139.                                     World Aworld = this.getServer().getWorld(world);
  140.                                     target.teleport(new Location(Aworld , x, y, z));
  141.                                     requester.teleport(new Location(Aworld, x2, y2, z2));
  142.                                     target.getInventory().clear();
  143.                                     requester.getInventory().clear();
  144.                                     equipPlayer(target);
  145.                                     equipPlayer(requester);
  146.                                     arenaInUse.put(target, "ArenaThree");
  147.                                     arenaInUse.put(requester, "ArenaThree");
  148.                                     return true;
  149.                                 }
  150.                             } else {
  151.                                 int x = getConfig().getInt("ArenaTwo.SpawnOne.x"), y = getConfig().getInt("ArenaTwo.SpawnOne.y"), z = getConfig().getInt("ArenaTwo.SpawnOne.z");
  152.                                 int x2 = getConfig().getInt("ArenaTwo.SpawnTwo.x"), y2 = getConfig().getInt("ArenaTwo.SpawnTwo.x"), z2 = getConfig().getInt("ArenaTwo.SpawnTwo.x");
  153.                                 String world = getConfig().getString("ArenaTwo.world");
  154.                                 World Aworld = this.getServer().getWorld(world);
  155.                                 target.teleport(new Location(Aworld , x, y, z));
  156.                                 requester.teleport(new Location(Aworld, x2, y2, z2));
  157.                                 target.getInventory().clear();
  158.                                 requester.getInventory().clear();
  159.                                 equipPlayer(target);
  160.                                 equipPlayer(requester);
  161.                                 arenaInUse.put(target, "ArenaTwo");
  162.                                 arenaInUse.put(requester, "ArenaTwo");
  163.                                 return true;
  164.                             }
  165.                         } else {
  166.                             int x = getConfig().getInt("ArenaOne.SpawnOne.x"), y = getConfig().getInt("ArenaOne.SpawnOne.y"), z = getConfig().getInt("ArenaOne.SpawnOne.z");
  167.                             int x2 = getConfig().getInt("ArenaOne.SpawnTwo.x"), y2 = getConfig().getInt("ArenaOne.SpawnTwo.x"), z2 = getConfig().getInt("ArenaOne.SpawnTwo.x");
  168.                             String world = getConfig().getString("ArenaOne.world");
  169.                             World Aworld = this.getServer().getWorld(world);
  170.                             target.teleport(new Location(Aworld , x, y, z));
  171.                             requester.teleport(new Location(Aworld, x2, y2, z2));
  172.                             target.getInventory().clear();
  173.                             requester.getInventory().clear();
  174.                             equipPlayer(target);
  175.                             equipPlayer(requester);
  176.                             arenaInUse.put(target, "ArenaOne");
  177.                             arenaInUse.put(requester, "ArenaOne");
  178.                             return true;
  179.                         }
  180.                
  181.                     }
  182.                     else {
  183.                         sender.sendMessage(ChatColor.RED + "You don't have any pending requests!");
  184.                         return true;
  185.                     }
  186.                 } else {
  187.                     sender.sendMessage(ChatColor.RED + "Error.");
  188.                     return true;
  189.                 }
  190.             }
  191.         }
  192.         return true;
  193.     }
  194.    
  195.     @EventHandler
  196.     public void onDeath(PlayerDeathEvent e) {
  197.         Player player = e.getEntity();
  198.         Player killer = player.getKiller();
  199.         player.getInventory().clear();
  200.         Bukkit.getServer().broadcastMessage(ChatColor.GRAY + "[" + ChatColor.AQUA + "TalonCraft" + ChatColor.GRAY + "]"
  201.                                             + ChatColor.GOLD + killer + ChatColor.GOLD + "has won the duel!");
  202.         String spawnworld = getConfig().getString("Spawn.world");
  203.         World finalspawnworld = this.getServer().getWorld(spawnworld);
  204.         killer.teleport(new Location(finalspawnworld, 0, 200, 0));
  205.         killer.sendMessage(ChatColor.GOLD + "You were teleported back to spawn.");
  206.         arenaInUse.remove(player);
  207.         arenaInUse.remove(killer);
  208.     }
  209.    
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement