Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Java by ssssssku ( 6 years ago )
package net.zephiralduels.events;

import net.zephiralduels.Main;
import net.zephiralduels.utils.Utils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
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.entity.PlayerDeathEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitRunnable;

import java.util.ArrayList;
import java.util.HashMap;


public class events implements Listener {


    Main plugin;
    public events(Main main){
        plugin = main;
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
    }

    ArrayList<Player>  ps = new ArrayList<>();
    HashMap<Player, Player> players = new HashMap<>();
    HashMap<HashMap<Player, Player>, String> arene = new HashMap<>();
    Utils utils;

    static Player p1;
    static Player p2;

    Location loc1 = null;
    Location loc2 = null;




    @EventHandler
    public void onClick(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();
        if (e.getInventory().equals(Utils.inv)) e.setCancelled(true);
       if(e.getCurrentItem() != null) return;
        if (e.getCurrentItem().equals(Utils.item)) {
            if(!ps.contains(p)){
                ps.add(p);
                Bukkit.broadcastMessage("Player aggiunto");
            }
            if(ps.contains(p)){
                if(ps.size() == 1)  p1 = ps.get(0);
                if(ps.size() == 2) p2 = ps.get(1);
                ps.clear();
                players.put(p1, p2);
                arene.put(players, utils.arena);
                loc1 = getLocation(plugin.arenas.getString("menu." + utils.arena + ".loc1"));
                loc2  = getLocation(plugin.arenas.getString("menu." + utils.arena + ".loc2"));
                new BukkitRunnable() {
                    int cont = 30;
                    @Override
                    public void run() {
                        cont--;
                        while(cont<=10){
                            p1.sendMessage("§9Fazioni> §7Il combattiento inzierà tra §b" + cont + "§7secondi");
                            p2.sendMessage("§9Fazioni> §7Il combattiento inzierà tra §b" + cont + "§7secondi");
                            if(cont==0){
                                TeleportArene(loc1, loc2, p1, p2);
                               cancel();
                            }

                        }

                    }
                }.runTaskTimer(plugin, 0L, 20L);
            }
        }
    }
    @EventHandler
    public void onDeath(PlayerDeathEvent e){
        Player victim = e.getEntity();
        Player killer = victim.getKiller();

        if(players.containsKey(victim) && players.containsKey(killer)){
            assert killer != null;
            killer.sendMessage("§9Fazioni> Congratulazioni, hai vinto il combattimento contro: " + victim.getName());
            e.getDrops().clear();
            e.setDeathMessage(null);
            if (!plugin.data.getConfigurationSection("Data").getKeys(false).contains(victim.getUniqueId().toString())) {
                plugin.data.set("Data." + victim.getUniqueId().toString() + ".wins", 0);
                plugin.data.set("Data." + victim.getUniqueId().toString() + ".loses", 1);
                plugin.saveData();
            } else {
                int loses = plugin.data.getInt("Data." + p.getUniqueId().toString() + ".loses");
                plugin.data.set("Data." + p.getUniqueId().toString() + ".loses", loses++);
                plugin.saveData();
            }
            if (!plugin.data.getConfigurationSection("Data").getKeys(false).contains(killer.getUniqueId().toString())) {
                plugin.data.set("Data." + p.getUniqueId().toString() + ".wins", 1);
                plugin.data.set("Data." + p.getUniqueId().toString() + ".loses", 0);
                plugin.saveData();
            }else {
                int wins = plugin.data.getInt("Data." + p.getUniqueId().toString() + ".wins");
                plugin.data.set("Data." + p.getUniqueId().toString() + ".wins", wins++);
                plugin.saveData();
            }
            players.remove(killer);
            players.remove(victim);
        }
    }
    public Location getLocation(String s) {
        String [] loc = s.split(";");
        return new Location(Bukkit.getWorld(loc[0]),
                Double.parseDouble(loc[1]),
                Double.parseDouble(loc[2]),
                Double.parseDouble(loc[3]),
                Float.parseFloat(loc[4]),
                Float.parseFloat(loc[5]));
    }
    public String getStringLocation(Location loc) {
        return loc.getWorld().getName()+";"+loc.getX()+";"+loc.getY()+";"+loc.getZ()+";"+loc.getYaw()+";"+loc.getPitch() ;
    }
    public void TeleportArene(Location loc1, Location loc2, final Player p1, final Player p2){
        p1.teleportAsync(loc1);
        p2.teleportAsync(loc2);
    }
}

 

Revise this Paste

Your Name: Code Language: