From 2ca6b429e347f444464754496269c5967c8fe433 Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Thu, 15 Jan 2015 18:56:19 -0800 Subject: [PATCH] Fixed player controlled mounts killing crops. (Even when creatures trampling crops is allowed.) --- .../GriefPrevention/EntityEventHandler.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java index f1c1c34..60bf848 100644 --- a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java @@ -92,7 +92,7 @@ class EntityEventHandler implements Listener @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEntityChangeBLock(EntityChangeBlockEvent event) { - if(!GriefPrevention.instance.config_endermenMoveBlocks && event.getEntityType() == EntityType.ENDERMAN) + if(!GriefPrevention.instance.config_endermenMoveBlocks && event.getEntityType() == EntityType.ENDERMAN) { event.setCancelled(true); } @@ -166,9 +166,21 @@ class EntityEventHandler implements Listener @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEntityInteract(EntityInteractEvent event) { - if(!GriefPrevention.instance.config_creaturesTrampleCrops && event.getBlock().getType() == Material.SOIL) - { - event.setCancelled(true); + Material material = event.getBlock().getType(); + if(material == Material.SOIL) + { + if(!GriefPrevention.instance.config_creaturesTrampleCrops) + { + event.setCancelled(true); + } + else + { + Entity rider = event.getEntity().getPassenger(); + if(rider != null && rider.getType() == EntityType.PLAYER) + { + event.setCancelled(true); + } + } } }