Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.timlampen.onevsone;
- import java.util.Locale;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.event.player.PlayerRespawnEvent;
- import org.bukkit.event.player.PlayerToggleFlightEvent;
- import org.bukkit.inventory.ItemStack;
- public class ArenaListener implements Listener{
- Main p;
- public ArenaListener(Main p){
- this.p = p;
- }
- @EventHandler
- public void onFly(PlayerToggleFlightEvent event){
- Player player = event.getPlayer();
- if(p.inarena.contains(player.getUniqueId())){
- event.setCancelled(true);
- player.sendMessage(p.prefix + ChatColor.RED + "Error: You are not allowed to fly during the 1v1!");
- }
- }
- @EventHandler
- public void onDeath(PlayerDeathEvent event){
- final Player player = event.getEntity();
- if(p.inarena.contains(player.getUniqueId()) && event.getEntity().getKiller() instanceof Player){
- final Arena a = p.playertoarena.get(player.getUniqueId());
- event.getDrops().clear();
- Bukkit.getScheduler().runTaskLater(p, new Runnable(){
- @Override
- public void run() {
- player.spigot().respawn();
- UUID uuid;
- if(p.partner.containsKey(player.getUniqueId())){
- uuid = p.partner.get(player.getUniqueId());
- }
- else{
- uuid = p.getKeyByValue(p.partner, player.getUniqueId());
- }
- Player winner = Bukkit.getPlayer(uuid);
- if(p.scores.containsKey(winner.getUniqueId())){
- p.scores.put(winner.getUniqueId(), p.scores.get(winner.getUniqueId())+1);
- }
- else{
- p.scores.put(winner.getUniqueId(), 1);
- }
- Player[] players = new Player[]{player, winner};
- a.removePlayers(players);
- Bukkit.broadcastMessage(p.prefix + ChatColor.GREEN + winner.getName() + " has won against " + player.getName() + " in an 1v1 battle!");
- }}, 10);
- }
- }
- @EventHandler
- public void onLeave(PlayerQuitEvent event){
- final Player player = event.getPlayer();
- if(p.inarena.contains(player.getUniqueId())){
- final Arena a = p.playertoarena.get(player.getUniqueId());
- UUID uuid;
- if(p.partner.containsKey(player.getUniqueId())){
- uuid = p.partner.get(player.getUniqueId());
- }
- else{
- uuid = p.getKeyByValue(p.partner, player.getUniqueId());
- }
- Player winner = Bukkit.getPlayer(uuid);
- if(p.scores.containsKey(winner.getUniqueId())){
- p.scores.put(winner.getUniqueId(), p.scores.get(winner.getUniqueId())+1);
- }
- else{
- p.scores.put(winner.getUniqueId(), 1);
- }
- Player[] players = new Player[]{player, winner};
- a.removePlayers(players);
- Bukkit.broadcastMessage(p.prefix + ChatColor.GREEN + winner.getName() + " has won against " + player.getName() + " in an 1v1 battle!");
- }
- }
- @EventHandler
- public void onCommand(PlayerCommandPreprocessEvent event){
- Player player = event.getPlayer();
- if(p.inarena.contains(player.getUniqueId())){
- if(!event.getMessage().equals("/1v1 quit") && !player.isOp()){
- event.setCancelled(true);
- player.sendMessage(p.prefix + ChatColor.RED + "Error: You are not able to perform this command while in the arena, type /1v1 quit to do commands");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement