From 384599164ddd672f9c3f2d5dfc0172a1339ef052 Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Wed, 20 Jan 2016 11:10:55 -0800 Subject: [PATCH] No projectiles in creative mode worlds. Prevents some grief strats which result in crippling server lag or crashes. --- .../GriefPrevention/EntityEventHandler.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java index 65c4487..520af1d 100644 --- a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java @@ -73,6 +73,7 @@ import org.bukkit.event.entity.EntityInteractEvent; import org.bukkit.event.entity.ExpBottleEvent; import org.bukkit.event.entity.ItemSpawnEvent; import org.bukkit.event.entity.PotionSplashEvent; +import org.bukkit.event.entity.ProjectileLaunchEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause; @@ -97,6 +98,15 @@ public class EntityEventHandler implements Listener this.dataStore = dataStore; } + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) + public void onProjectileFire(ProjectileLaunchEvent event) + { + if(GriefPrevention.instance.creativeRulesApply(event.getEntity().getLocation())) + { + event.setCancelled(true); + } + } + //don't allow endermen to change blocks @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEntityChangeBLock(EntityChangeBlockEvent event)