Prevent drivers in unauthorized claims from destroying lilypads. Fixes #250

This commit is contained in:
RoboMWM 2018-09-19 01:02:37 -07:00
parent cb6a42cbc6
commit 5bb3c70b77

View File

@ -42,6 +42,7 @@ import org.bukkit.entity.Projectile;
import org.bukkit.entity.Rabbit;
import org.bukkit.entity.Tameable;
import org.bukkit.entity.ThrownPotion;
import org.bukkit.entity.Vehicle;
import org.bukkit.entity.WaterMob;
import org.bukkit.entity.minecart.ExplosiveMinecart;
import org.bukkit.event.EventHandler;
@ -157,6 +158,17 @@ public class EntityEventHandler implements Listener
}
}
}
//Prevent breaking lilypads via collision with a boat. Thanks Jikoo.
else if (event.getEntity() instanceof Vehicle && !event.getEntity().getPassengers().isEmpty()) {
Entity driver = event.getEntity().getPassengers().get(0);
if (driver instanceof Player) {
Block block = event.getBlock();
if (GriefPrevention.instance.allowBreak((Player) driver, block, block.getLocation()) != null) {
event.setCancelled(true);
}
}
}
//sand cannon fix - when the falling block doesn't fall straight down, take additional anti-grief steps
else if (event.getEntityType() == EntityType.FALLING_BLOCK)