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