Prevent boats breaking lily pads

This commit is contained in:
destro174 2022-02-14 09:52:08 +01:00
parent af91fbe5b4
commit 3757b00fbf

View File

@ -61,6 +61,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
@ -2349,4 +2350,22 @@ class PlayerEventHandler implements Listener
}
}
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onPlayerBoatBlockBreak(EntityChangeBlockEvent event)
{
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);
return;
}
}
}
}
}