Added cancellation of entity damage by entities during match grace time.
This commit is contained in:
@@ -404,7 +404,7 @@ public class ArenaManager implements Listener {
|
||||
*
|
||||
* @param event The event.
|
||||
*/
|
||||
@EventHandler
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onEntityDamageByEntity(final EntityDamageByEntityEvent event){
|
||||
final Arena arena = this.getArenaByLocation(event.getEntity().getLocation());
|
||||
|
||||
|
||||
@@ -21,10 +21,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.*;
|
||||
import org.bukkit.event.entity.EntityPickupItemEvent;
|
||||
import org.bukkit.event.entity.EntityPlaceEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.entity.*;
|
||||
import org.bukkit.event.player.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -425,6 +422,22 @@ public class MatchManager implements Listener, Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies appropriate matches of entity damages by players.
|
||||
*
|
||||
* @param event The event.
|
||||
*/
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onEntityDamageByEntity(final EntityDamageByEntityEvent event){
|
||||
final Arena arena = this.snowbrawl.getArenaManager().getArenaByLocation(event.getEntity().getLocation());
|
||||
if (arena != null){
|
||||
final Match match = this.getMatchFromArena(arena);
|
||||
if (match != null){
|
||||
match.onEntityDamageByEntity(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevents match participants from picking up items except snowballs.
|
||||
*
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.bukkit.*;
|
||||
import org.bukkit.boss.BarColor;
|
||||
import org.bukkit.boss.BarStyle;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
@@ -362,6 +363,17 @@ public class Match {
|
||||
victimPlayer.updateInventory();
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevents entities from damaging each other during grace time.
|
||||
*
|
||||
* @param event The event.
|
||||
*/
|
||||
public void onEntityDamageByEntity(final EntityDamageByEntityEvent event){
|
||||
if (this.graceTimeTicksRemaining > 0){
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the respawn point of dying match participants to a random spawn point in the arena.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user