Place 1v1s

Discussion in 'Plugin Requests' started by MinecraftBoxGut, May 15, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    MinecraftBoxGut

    Plugin Category: Pvp
    Name: OneArenaFight
    Ideas for commands: None
    Ideas for permissions: oaf.signc
    What I want:

    So I have made a 1v1 plugin where all players are hidden and you cant hit unless you're in a game this might be glitchy and I would like to have a game hashmap so it knows the winner even if the player killed himself and only allows the hashmap players to damage each other I would like it so there is a timer an auto-respawn and if anything happens (like a logout or going to another world) the game is cancelled. The best thing would be to have an elo counter. Here is my current code it is not like SimpleOneVOnes1 because theres one arena and elo
    Code:
    package main.mcbox.pvp;
    
    
    
    
    import java.util.ArrayList;
    import java.util.HashMap;
    
    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.WorldCreator;
    import org.bukkit.block.Sign;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.block.BlockBreakEvent;
    import org.bukkit.event.block.SignChangeEvent;
    import org.bukkit.event.entity.EntityDamageByEntityEvent;
    import org.bukkit.event.entity.ExplosionPrimeEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerInteractEntityEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin implements Listener {
        public void onEnable() {
           
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
           
            }
        ArrayList <String> in1v1 = new ArrayList<String>();
        HashMap<String, String> batalha = new HashMap<String, String>();
    
          @SuppressWarnings("rawtypes")
        ArrayList convites = new ArrayList();
        @EventHandler(priority = EventPriority.HIGHEST)
          public void onSignBreak(BlockBreakEvent e)
          {
          
            if (e.getPlayer().getWorld().getName().equals("1v1s")) {
            e.setCancelled(true);
            e.getPlayer().sendMessage(ChatColor.RED + "No Thanks!");
            }
            if ((e.getBlock().getState() instanceof Sign))
            {
            
           
           
                  if (e.getPlayer().isSneaking())
                  {
                    e.getBlock().setType(Material.AIR);
                    }
                
                  else
                  {
                    e.setCancelled(true);
                  
                    e.getPlayer().sendMessage(ChatColor.GOLD + "If you want to break this sign, please sneak + break!");
                  }
                }
          }
           
          
        
       
        
          @EventHandler(priority = EventPriority.NORMAL)
          public void onSignCreate(SignChangeEvent e)
          {
            
            Player player = e.getPlayer();
            player.sendMessage(ChatColor.GOLD + "You have placed down a sign");
          
            if (e.getLine(0).equalsIgnoreCase("1v1s")) {
              
                
           
              e.setLine(0, ChatColor.GREEN + "Join");
              e.setLine(1,ChatColor.GOLD + "[1v1s]");
                  player.sendMessage(ChatColor.GRAY + "You made a join sign for " + ChatColor.GOLD + "1v1s");
                }
              }
          
        
        
          @EventHandler(priority = EventPriority.HIGH)
          public void onSignInteract(PlayerInteractEvent e)
          {
            Player player = e.getPlayer();
          
       
             
                if (e.getAction() == Action.RIGHT_CLICK_BLOCK){
               
                 
       
                    if (e.getClickedBlock().getState() instanceof Sign) {
                     
       
                        Sign s = (Sign) e.getClickedBlock().getState();
                   
                        if(s.getLine(0).equalsIgnoreCase(ChatColor.GREEN + "Join") && s.getLine(1).equalsIgnoreCase(ChatColor.GOLD + "[1v1s]")){
                         
       
                          
                          
                                 Bukkit.createWorld(new WorldCreator("1v1s")).setMonsterSpawnLimit(0);
                              Bukkit.createWorld(new WorldCreator("1v1s")).setAmbientSpawnLimit(0);
                           Bukkit.getWorld("1v1s").setPVP(true);
                        Bukkit.getWorld("1v1s").setGameRuleValue("doEntityDrops", "false");
                              World yourworld = Bukkit.getServer().getWorld("1v1s");
                             player.getInventory().clear();
                             player.getInventory().addItem(new ItemStack(Material.BLAZE_ROD));
                           
                             player.setGameMode(GameMode.SURVIVAL);
                                 Location loc = new Location(yourworld ,0, 22 , 0);
                                 player.teleport(loc);
                                 player.setBedSpawnLocation(loc,true);
                                 player.setSaturation(10);
                         
                        }
                    }
                  
                }
              
          }
          public boolean isInMapa(String s, HashMap<String, String> lista)
          {
            if ((lista.containsKey(s)) || (lista.containsValue(s))) {
              return true;
            }
            return false;
          }
        
          public void addMapa(String k, String v, HashMap<String, String> lista)
          {
            if (lista.containsKey(k)) {
              lista.remove(k);
            }
            if (lista.containsKey(v)) {
              lista.remove(v);
            }
            lista.put(k, v);
            lista.put(v, k);
          }
        
          public void removeMapa(String k, HashMap<String, String> lista)
          {
            if (lista.containsKey(k)) {
              lista.remove(lista.remove(k));
            }
          }
         @EventHandler()
    public void playerOneCl(PlayerInteractEntityEvent e) {
             if (e.getPlayer().getInventory().getItemInHand().getType() == Material.BLAZE_ROD) {
                 e.getPlayer().sendMessage("Starting...");
             if(e.getRightClicked() instanceof Player) {
                 Player p = (Player) e.getRightClicked();
                 p.sendMessage(ChatColor.GREEN + "" + e.getPlayer() + "has started a duel");
                 e.getPlayer().sendMessage(ChatColor.GOLD + "Duel started");
                 for (Player a : getServer().getOnlinePlayers())
                  {
                    if (!p.getName().equals(p.getName())) {
                      p.hidePlayer(a);
                    }
                    if (!p.getName().equals(e.getPlayer().getName())) {
                      e.getPlayer().hidePlayer(a);
                    }
                  }
    
                 if (this.convites.contains(p.getName() + "_" + e.getPlayer().getName()))
                    {
                      addMapa(p.getName(), e.getPlayer().getName(), this.batalha);
                      while (this.convites.contains(p.getName() + "_" + e.getPlayer().getName())) {
                        this.convites.remove(p.getName() + "_" + e.getPlayer().getName());
                      }
                    }
                 Player player = e.getPlayer();
                 player.getInventory().clear();
                 ItemStack a = new ItemStack(Material.STONE_SWORD);
                 a.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack b = new ItemStack(Material.FISHING_ROD);
                 b.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack c = new ItemStack(Material.FLINT_AND_STEEL);
                 c.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack d = new ItemStack(Material.BOW);
                 d.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack ec = new ItemStack(Material.ARROW,8);
                 ItemStack j = new ItemStack(Material.LEATHER_HELMET);
                 j.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack x = new ItemStack(Material.IRON_CHESTPLATE);
                 x.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack y = new ItemStack(Material.GOLD_LEGGINGS);
                 y.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack z = new ItemStack(Material.DIAMOND_BOOTS);
                 z.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 player.getInventory().addItem(a);
                 player.getInventory().addItem(b);
                 player.getInventory().addItem(c);
                 player.getInventory().addItem(d);
                 player.getInventory().addItem(ec);
                 player.getInventory().setHelmet(j);
                 player.getInventory().setChestplate(x);
                 player.getInventory().setLeggings(y);
                 player.getInventory().setBoots(z);
                 player.getInventory().addItem(new ItemStack(Material.COOKED_BEEF,8));
              
                 p.getInventory().clear();
                 ItemStack ab = new ItemStack(Material.STONE_SWORD);
                 a.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack bb = new ItemStack(Material.FISHING_ROD);
                 b.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack cb= new ItemStack(Material.FLINT_AND_STEEL);
                 c.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack db = new ItemStack(Material.BOW);
                 d.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack ecb = new ItemStack(Material.ARROW,8);
                 ItemStack jb = new ItemStack(Material.LEATHER_HELMET);
                 j.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack xb = new ItemStack(Material.IRON_CHESTPLATE);
                 x.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack yb = new ItemStack(Material.GOLD_LEGGINGS);
                 y.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 ItemStack zb = new ItemStack(Material.DIAMOND_BOOTS);
                 z.addUnsafeEnchantment(Enchantment.DURABILITY, 20);
                 p.getInventory().addItem(ab);
                 p.getInventory().addItem(bb);
                 p.getInventory().addItem(cb);
                 p.getInventory().addItem(db);
                 p.getInventory().addItem(ecb);
                 p.getInventory().setHelmet(jb);
                 p.getInventory().setChestplate(xb);
                 p.getInventory().setLeggings(yb);
                 p.getInventory().setBoots(zb);
                 p.getInventory().addItem(new ItemStack(Material.COOKED_BEEF,8));
                 in1v1.add(p.getName());
                 in1v1.add(player.getName());
                 }}}
           
             private boolean is1v1(Player p)
              {
                return this.in1v1.contains(p.getName());
              }
         @EventHandler()
    public void playerDamage(PlayerDeathEvent event) {
             if (!is1v1(event.getEntity())) {
                  return;
                }
             Player ganhador = null;
                if ((is1v1(event.getEntity())) && (event.getEntity().getKiller() != null)) {
                  ganhador = event.getEntity().getKiller();
              
                for (Player p : getServer().getOnlinePlayers())
                {
                  ganhador.showPlayer(p);
                  event.getEntity().showPlayer(p);
                }
                ganhador.getInventory().clear();
                ganhador.setHealth(10);
                ganhador.getInventory().addItem(new ItemStack(Material.BLAZE_ROD));
    
              event.getEntity().setHealth(10);
              event.getEntity().teleport(event.getEntity().getBedSpawnLocation());
                event.getEntity().getInventory().clear();
                event.getEntity().setHealth(10);
                event.getEntity().getInventory().addItem(new ItemStack(Material.BLAZE_ROD));
                in1v1.remove(ganhador.getName());
                in1v1.remove(event.getEntity().getName());
                } 
              
             }
         @EventHandler()
    public void playerDamages(EntityDamageByEntityEvent event) {
          
                 if(event.getDamager() instanceof Player) {
                     Player p = (Player) event.getDamager();
               
                     if (!is1v1(p)) {
                          event.setCancelled(true);
                        }
                 }
             }
       
         @EventHandler()
    public void tnt(ExplosionPrimeEvent e) {
             if (e.getEntity().getWorld().getName().equals("1v1s")) {
                 e.setCancelled(true);
             }
         }
             }
    
          
       
        
    
    
    
       
                
              
              
                
          
              
    
    When I'd like it: A week
     
Thread Status:
Not open for further replies.

Share This Page