package tc.oc.lobby.bukkit.listeners; import org.bukkit.event.Event; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBurnEvent; import org.bukkit.event.block.BlockFadeEvent; import org.bukkit.event.block.BlockFormEvent; import org.bukkit.event.block.BlockFromToEvent; import org.bukkit.event.block.BlockPhysicsEvent; import org.bukkit.event.block.BlockSpreadEvent; import org.bukkit.event.block.LeavesDecayEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.player.PlayerBucketEmptyEvent; import org.bukkit.event.player.PlayerBucketFillEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerInteractAtEntityEvent; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.weather.WeatherChangeEvent; public class EnvironmentControlListener implements Listener { @EventHandler(priority = EventPriority.HIGH) public void physics(final BlockPhysicsEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.NORMAL) public void noHunger(final FoodLevelChangeEvent event) { event.setCancelled(true); } @EventHandler public void noWeather(final WeatherChangeEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noDamage(final EntityDamageEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noFire(final BlockBurnEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noSpread(final BlockSpreadEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noMelt(final BlockFromToEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noFade(final BlockFadeEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noForm(final BlockFormEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noFrames(final HangingBreakByEntityEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noBucket(final LeavesDecayEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noBucket(final PlayerBucketEmptyEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void noBucket(final PlayerBucketFillEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void interactEntity(PlayerInteractEvent event) { if(!event.getPlayer().isOp()) { event.setCancelled(true); event.setUseInteractedBlock(Event.Result.DENY); event.setUseItemInHand(Event.Result.DENY); } } @EventHandler(priority = EventPriority.HIGH) public void interactEntity(PlayerInteractEntityEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void interactAtEntity(PlayerInteractAtEntityEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void pickupItem(PlayerPickupItemEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void drop(final PlayerDropItemEvent event) { event.setCancelled(true); } @EventHandler(priority = EventPriority.HIGH) public void death(final PlayerDeathEvent event) { event.getDrops().clear(); } }