No projectiles in creative mode worlds.

Prevents some grief strats which result in crippling server lag or
crashes.
This commit is contained in:
ryanhamshire 2016-01-20 11:10:55 -08:00
parent 2ed62512b6
commit 384599164d

View File

@ -73,6 +73,7 @@ import org.bukkit.event.entity.EntityInteractEvent;
import org.bukkit.event.entity.ExpBottleEvent; import org.bukkit.event.entity.ExpBottleEvent;
import org.bukkit.event.entity.ItemSpawnEvent; import org.bukkit.event.entity.ItemSpawnEvent;
import org.bukkit.event.entity.PotionSplashEvent; import org.bukkit.event.entity.PotionSplashEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.hanging.HangingBreakEvent;
import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause; import org.bukkit.event.hanging.HangingBreakEvent.RemoveCause;
@ -97,6 +98,15 @@ public class EntityEventHandler implements Listener
this.dataStore = dataStore; 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 //don't allow endermen to change blocks
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
public void onEntityChangeBLock(EntityChangeBlockEvent event) public void onEntityChangeBLock(EntityChangeBlockEvent event)