mirror of
https://github.com/garbagemule/MobArena.git
synced 2024-11-23 11:06:14 +01:00
Make potion splash handling witch-aware.
This commit is contained in:
parent
6ae083c993
commit
5dc35728c1
@ -1,7 +1,7 @@
|
||||
name: MobArena
|
||||
author: garbagemule
|
||||
main: com.garbagemule.MobArena.MobArena
|
||||
version: 0.96.6.1
|
||||
version: 0.96.6.2
|
||||
softdepend: [Multiverse-Core,Towny,Heroes,MagicSpells,Vault]
|
||||
commands:
|
||||
ma:
|
||||
|
@ -776,20 +776,38 @@ public class ArenaListener
|
||||
|
||||
public void onPotionSplash(PotionSplashEvent event) {
|
||||
ThrownPotion potion = event.getPotion();
|
||||
if (!region.contains(potion.getLocation()) || pvpEnabled) {
|
||||
if (!region.contains(potion.getLocation())) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If a potion has harmful effects, remove all players.
|
||||
for (PotionEffect effect : potion.getEffects()) {
|
||||
PotionEffectType type = effect.getType();
|
||||
if (type.equals(PotionEffectType.HARM) || type.equals(PotionEffectType.POISON)) {
|
||||
for (LivingEntity le : event.getAffectedEntities()) {
|
||||
if (le instanceof Player) {
|
||||
event.setIntensity(le, 0.0);
|
||||
if (potion.getShooter() instanceof Player) {
|
||||
// Check for PvP stuff if the shooter is a player
|
||||
if (!pvpEnabled) {
|
||||
// If a potion has harmful effects, remove all players.
|
||||
for (PotionEffect effect : potion.getEffects()) {
|
||||
PotionEffectType type = effect.getType();
|
||||
if (type.equals(PotionEffectType.HARM) || type.equals(PotionEffectType.POISON)) {
|
||||
for (LivingEntity le : event.getAffectedEntities()) {
|
||||
if (le instanceof Player) {
|
||||
event.setIntensity(le, 0.0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (!monsterInfight) {
|
||||
// Otherwise, check for monster infighting
|
||||
for (PotionEffect effect : potion.getEffects()) {
|
||||
PotionEffectType type = effect.getType();
|
||||
if (type.equals(PotionEffectType.HARM) || type.equals(PotionEffectType.POISON)) {
|
||||
for (LivingEntity le : event.getAffectedEntities()) {
|
||||
if (!(le instanceof Player)) {
|
||||
event.setIntensity(le, 0.0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user