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.Rabbit;
import org.bukkit.entity.Tameable; import org.bukkit.entity.Tameable;
import org.bukkit.entity.ThrownPotion; import org.bukkit.entity.ThrownPotion;
import org.bukkit.entity.Vehicle;
import org.bukkit.entity.WaterMob; import org.bukkit.entity.WaterMob;
import org.bukkit.entity.minecart.ExplosiveMinecart; import org.bukkit.entity.minecart.ExplosiveMinecart;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -158,6 +159,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 //sand cannon fix - when the falling block doesn't fall straight down, take additional anti-grief steps
else if (event.getEntityType() == EntityType.FALLING_BLOCK) else if (event.getEntityType() == EntityType.FALLING_BLOCK)
{ {