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.
|
* @param event The event.
|
||||||
*/
|
*/
|
||||||
@EventHandler
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onEntityDamageByEntity(final EntityDamageByEntityEvent event){
|
public void onEntityDamageByEntity(final EntityDamageByEntityEvent event){
|
||||||
final Arena arena = this.getArenaByLocation(event.getEntity().getLocation());
|
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.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.*;
|
import org.bukkit.event.block.*;
|
||||||
import org.bukkit.event.entity.EntityPickupItemEvent;
|
import org.bukkit.event.entity.*;
|
||||||
import org.bukkit.event.entity.EntityPlaceEvent;
|
|
||||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
|
||||||
import org.bukkit.event.player.*;
|
import org.bukkit.event.player.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
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.
|
* 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.BarColor;
|
||||||
import org.bukkit.boss.BarStyle;
|
import org.bukkit.boss.BarStyle;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
@@ -362,6 +363,17 @@ public class Match {
|
|||||||
victimPlayer.updateInventory();
|
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.
|
* Changes the respawn point of dying match participants to a random spawn point in the arena.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user