Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.taloniii.duelarena;
- import java.util.HashMap;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- 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.entity.PlayerDeathEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.PlayerInventory;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class DuelArena extends JavaPlugin {
- public void onEnable() {
- saveDefaultConfig();
- }
- public void onDisable() {
- saveConfig();
- }
- public void onDuelEnd(Player player) {
- }
- public HashMap<Player, Player> Duel = new HashMap<Player, Player>();
- public HashMap<Player, String> arenaInUse = new HashMap<Player, String>();
- public void equipPlayer(Player player) {
- ItemStack sword = new ItemStack(Material.IRON_SWORD, 1);
- sword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
- ItemMeta swordmeta = sword.getItemMeta();
- swordmeta.setDisplayName(ChatColor.RED + "Iron Sword");
- ItemStack bow = new ItemStack(Material.BOW, 1);
- bow.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
- bow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
- ItemMeta bowmeta = bow.getItemMeta();
- bowmeta.setDisplayName(ChatColor.RED + "Bow");
- ItemStack helm = new ItemStack(Material.IRON_HELMET);
- ItemStack chest = new ItemStack(Material.IRON_CHESTPLATE);
- ItemStack legs = new ItemStack(Material.IRON_LEGGINGS);
- ItemStack boots = new ItemStack(Material.IRON_BOOTS);
- helm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
- chest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
- legs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
- boots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
- PlayerInventory targetInventory = player.getInventory();
- targetInventory.addItem(new ItemStack(sword));
- targetInventory.addItem(new ItemStack(bow));
- targetInventory.addItem(new ItemStack(Material.ARROW, 1));
- targetInventory.addItem(new ItemStack(Material.COOKED_BEEF, 16));
- targetInventory.addItem(new ItemStack(Material.GOLDEN_APPLE, 1));
- targetInventory.setHelmet(new ItemStack(helm));
- targetInventory.setChestplate(new ItemStack(chest));
- targetInventory.setLeggings(new ItemStack(legs));
- targetInventory.setBoots(new ItemStack(boots));
- }
- @EventHandler
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
- if (cmd.getName().equalsIgnoreCase("duel")) {
- if (args.length == 0) {
- sender.sendMessage(ChatColor.RED + "You must specify a player to duel!");
- return true;
- }
- Player target = Bukkit.getServer().getPlayer(args[0]);
- Player requester = (Player) sender;
- if (target == null) { return false; } else {
- if (target instanceof Player && sender instanceof Player) {
- sender.sendMessage(ChatColor.GOLD + "You have requested to duel " + ChatColor.AQUA + args[0] + ChatColor.GOLD + "!" );
- target.sendMessage(ChatColor.AQUA + sender.getName() + ChatColor.GOLD + " has requested to duel you!");
- target.sendMessage(ChatColor.GOLD + "Chat '/duel accept' to begin the duel!");
- Duel.put(requester, target);
- return true;
- }
- else if (args[0] == "accept") {
- if(Duel.containsKey(requester)) {
- Duel.remove(requester);
- if (arenaInUse.containsValue("ArenaOne")) {
- if (arenaInUse.containsValue("ArenaTwo")) {
- if (arenaInUse.containsValue("ArenaThree")) {
- if (arenaInUse.containsValue("ArenaFour")) {
- if (arenaInUse.containsValue("ArenaFive")) {
- target.sendMessage(ChatColor.RED + "No Arenas are available!");
- return true;
- } else {
- int x = getConfig().getInt("ArenaFive.SpawnOne.x"), y = getConfig().getInt("ArenaFive.SpawnOne.y"), z = getConfig().getInt("ArenaFive.SpawnOne.z");
- int x2 = getConfig().getInt("ArenaFive.SpawnTwo.x"), y2 = getConfig().getInt("ArenaFive.SpawnTwo.x"), z2 = getConfig().getInt("ArenaFive.SpawnTwo.x");
- String world = getConfig().getString("ArenaFive.world");
- World Aworld = this.getServer().getWorld(world);
- target.teleport(new Location(Aworld , x, y, z));
- requester.teleport(new Location(Aworld, x2, y2, z2));
- target.getInventory().clear();
- requester.getInventory().clear();
- equipPlayer(target);
- equipPlayer(requester);
- arenaInUse.put(target, "ArenaFive");
- arenaInUse.put(requester, "ArenaFive");
- return true;
- }
- } else {
- int x = getConfig().getInt("ArenaFour.SpawnOne.x"), y = getConfig().getInt("ArenaFour.SpawnOne.y"), z = getConfig().getInt("ArenaFour.SpawnOne.z");
- int x2 = getConfig().getInt("ArenaFour.SpawnTwo.x"), y2 = getConfig().getInt("ArenaFour.SpawnTwo.x"), z2 = getConfig().getInt("ArenaFour.SpawnTwo.x");
- String world = getConfig().getString("ArenaFour.world");
- World Aworld = this.getServer().getWorld(world);
- target.teleport(new Location(Aworld , x, y, z));
- requester.teleport(new Location(Aworld, x2, y2, z2));
- target.getInventory().clear();
- requester.getInventory().clear();
- equipPlayer(target);
- equipPlayer(requester);
- arenaInUse.put(target, "ArenaFour");
- arenaInUse.put(requester, "ArenaFour");
- return true;
- }
- } else {
- int x = getConfig().getInt("ArenaThree.SpawnOne.x"), y = getConfig().getInt("ArenaThree.SpawnOne.y"), z = getConfig().getInt("ArenaThree.SpawnOne.z");
- int x2 = getConfig().getInt("ArenaThree.SpawnTwo.x"), y2 = getConfig().getInt("ArenaThree.SpawnTwo.x"), z2 = getConfig().getInt("ArenaThree.SpawnTwo.x");
- String world = getConfig().getString("ArenaThree.world");
- World Aworld = this.getServer().getWorld(world);
- target.teleport(new Location(Aworld , x, y, z));
- requester.teleport(new Location(Aworld, x2, y2, z2));
- target.getInventory().clear();
- requester.getInventory().clear();
- equipPlayer(target);
- equipPlayer(requester);
- arenaInUse.put(target, "ArenaThree");
- arenaInUse.put(requester, "ArenaThree");
- return true;
- }
- } else {
- int x = getConfig().getInt("ArenaTwo.SpawnOne.x"), y = getConfig().getInt("ArenaTwo.SpawnOne.y"), z = getConfig().getInt("ArenaTwo.SpawnOne.z");
- int x2 = getConfig().getInt("ArenaTwo.SpawnTwo.x"), y2 = getConfig().getInt("ArenaTwo.SpawnTwo.x"), z2 = getConfig().getInt("ArenaTwo.SpawnTwo.x");
- String world = getConfig().getString("ArenaTwo.world");
- World Aworld = this.getServer().getWorld(world);
- target.teleport(new Location(Aworld , x, y, z));
- requester.teleport(new Location(Aworld, x2, y2, z2));
- target.getInventory().clear();
- requester.getInventory().clear();
- equipPlayer(target);
- equipPlayer(requester);
- arenaInUse.put(target, "ArenaTwo");
- arenaInUse.put(requester, "ArenaTwo");
- return true;
- }
- } else {
- int x = getConfig().getInt("ArenaOne.SpawnOne.x"), y = getConfig().getInt("ArenaOne.SpawnOne.y"), z = getConfig().getInt("ArenaOne.SpawnOne.z");
- int x2 = getConfig().getInt("ArenaOne.SpawnTwo.x"), y2 = getConfig().getInt("ArenaOne.SpawnTwo.x"), z2 = getConfig().getInt("ArenaOne.SpawnTwo.x");
- String world = getConfig().getString("ArenaOne.world");
- World Aworld = this.getServer().getWorld(world);
- target.teleport(new Location(Aworld , x, y, z));
- requester.teleport(new Location(Aworld, x2, y2, z2));
- target.getInventory().clear();
- requester.getInventory().clear();
- equipPlayer(target);
- equipPlayer(requester);
- arenaInUse.put(target, "ArenaOne");
- arenaInUse.put(requester, "ArenaOne");
- return true;
- }
- }
- else {
- sender.sendMessage(ChatColor.RED + "You don't have any pending requests!");
- return true;
- }
- } else {
- sender.sendMessage(ChatColor.RED + "Error.");
- return true;
- }
- }
- }
- return true;
- }
- @EventHandler
- public void onDeath(PlayerDeathEvent e) {
- Player player = e.getEntity();
- Player killer = player.getKiller();
- player.getInventory().clear();
- Bukkit.getServer().broadcastMessage(ChatColor.GRAY + "[" + ChatColor.AQUA + "TalonCraft" + ChatColor.GRAY + "]"
- + ChatColor.GOLD + killer + ChatColor.GOLD + "has won the duel!");
- String spawnworld = getConfig().getString("Spawn.world");
- World finalspawnworld = this.getServer().getWorld(spawnworld);
- killer.teleport(new Location(finalspawnworld, 0, 200, 0));
- killer.sendMessage(ChatColor.GOLD + "You were teleported back to spawn.");
- arenaInUse.remove(player);
- arenaInUse.remove(killer);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement