mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-11-24 03:25:24 +01:00
Fixed a compilation error due to a sort-of-but-not-really-breaking bukkit change.
This commit is contained in:
parent
1f40908c04
commit
4422d536b7
@ -70,6 +70,7 @@
|
|||||||
import org.bukkit.event.entity.PotionSplashEvent;
|
import org.bukkit.event.entity.PotionSplashEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
|
import org.bukkit.projectiles.ProjectileSource;
|
||||||
|
|
||||||
import com.sk89q.worldedit.Vector;
|
import com.sk89q.worldedit.Vector;
|
||||||
import com.sk89q.worldedit.blocks.BlockID;
|
import com.sk89q.worldedit.blocks.BlockID;
|
||||||
@ -330,7 +331,7 @@ private void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
|
|||||||
RegionManager mgr = plugin.getGlobalRegionManager().get(player.getWorld());
|
RegionManager mgr = plugin.getGlobalRegionManager().get(player.getWorld());
|
||||||
ApplicableRegionSet set = mgr.getApplicableRegions(pt);
|
ApplicableRegionSet set = mgr.getApplicableRegions(pt);
|
||||||
if (fireball.getShooter() instanceof Player) {
|
if (fireball.getShooter() instanceof Player) {
|
||||||
Vector pt2 = toVector(fireball.getShooter().getLocation());
|
Vector pt2 = toVector(((Player) fireball.getShooter()).getLocation());
|
||||||
if (!mgr.getApplicableRegions(pt2).allows(DefaultFlag.PVP, plugin.wrapPlayer((Player) fireball.getShooter()))) {
|
if (!mgr.getApplicableRegions(pt2).allows(DefaultFlag.PVP, plugin.wrapPlayer((Player) fireball.getShooter()))) {
|
||||||
tryCancelPVPEvent((Player) fireball.getShooter(), player, event, true);
|
tryCancelPVPEvent((Player) fireball.getShooter(), player, event, true);
|
||||||
} else if (!set.allows(DefaultFlag.PVP, localPlayer)) {
|
} else if (!set.allows(DefaultFlag.PVP, localPlayer)) {
|
||||||
@ -399,7 +400,13 @@ private void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
|
|||||||
|
|
||||||
private void onEntityDamageByProjectile(EntityDamageByEntityEvent event) {
|
private void onEntityDamageByProjectile(EntityDamageByEntityEvent event) {
|
||||||
Entity defender = event.getEntity();
|
Entity defender = event.getEntity();
|
||||||
Entity attacker = ((Projectile) event.getDamager()).getShooter();
|
Entity attacker;
|
||||||
|
ProjectileSource source = ((Projectile) event.getDamager()).getShooter();
|
||||||
|
if (source instanceof LivingEntity) {
|
||||||
|
attacker = (LivingEntity) source;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (defender instanceof Player) {
|
if (defender instanceof Player) {
|
||||||
Player player = (Player) defender;
|
Player player = (Player) defender;
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Hanging;
|
import org.bukkit.entity.Hanging;
|
||||||
import org.bukkit.entity.ItemFrame;
|
import org.bukkit.entity.ItemFrame;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Painting;
|
import org.bukkit.entity.Painting;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.Projectile;
|
import org.bukkit.entity.Projectile;
|
||||||
@ -39,6 +40,7 @@
|
|||||||
import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause;
|
import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause;
|
||||||
import org.bukkit.event.hanging.HangingPlaceEvent;
|
import org.bukkit.event.hanging.HangingPlaceEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
|
import org.bukkit.projectiles.ProjectileSource;
|
||||||
|
|
||||||
import com.sk89q.worldedit.blocks.ItemID;
|
import com.sk89q.worldedit.blocks.ItemID;
|
||||||
import com.sk89q.worldguard.blacklist.events.BlockBreakBlacklistEvent;
|
import com.sk89q.worldguard.blacklist.events.BlockBreakBlacklistEvent;
|
||||||
@ -81,8 +83,9 @@ public void onHangingingBreak(HangingBreakEvent event) {
|
|||||||
HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event;
|
HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event;
|
||||||
Entity removerEntity = entityEvent.getRemover();
|
Entity removerEntity = entityEvent.getRemover();
|
||||||
if (removerEntity instanceof Projectile) {
|
if (removerEntity instanceof Projectile) {
|
||||||
Projectile projectile = (Projectile) removerEntity;
|
Projectile projectile = (Projectile) removerEntity;
|
||||||
removerEntity = projectile.getShooter() != null ? projectile.getShooter() : removerEntity;
|
ProjectileSource remover = projectile.getShooter();
|
||||||
|
removerEntity = (remover instanceof LivingEntity ? (LivingEntity) remover : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (removerEntity instanceof Player) {
|
if (removerEntity instanceof Player) {
|
||||||
@ -123,6 +126,8 @@ public void onHangingingBreak(HangingBreakEvent event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// this now covers dispensers as well, if removerEntity is null above,
|
||||||
|
// due to a non-LivingEntity ProjectileSource
|
||||||
if (hanging instanceof Painting
|
if (hanging instanceof Painting
|
||||||
&& (wcfg.blockEntityPaintingDestroy
|
&& (wcfg.blockEntityPaintingDestroy
|
||||||
|| (wcfg.useRegions
|
|| (wcfg.useRegions
|
||||||
|
Loading…
Reference in New Issue
Block a user