diff --git a/src/main/java/com/sk89q/worldguard/bukkit/listener/BlockedPotionsListener.java b/src/main/java/com/sk89q/worldguard/bukkit/listener/BlockedPotionsListener.java index e8900433..6ca37d02 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/listener/BlockedPotionsListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/listener/BlockedPotionsListener.java @@ -28,7 +28,6 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; -import org.bukkit.event.entity.PotionSplashEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.potion.Potion; import org.bukkit.potion.PotionEffect; @@ -49,21 +48,10 @@ public BlockedPotionsListener(WorldGuardPlugin plugin) { @EventHandler public void onItemInteract(UseItemEvent event) { - // We only care about player caused events - if (event.getCause().getFirstPlayer() == null) { - return; - } - ConfigurationManager cfg = getPlugin().getGlobalStateManager(); WorldConfiguration wcfg = cfg.get(event.getWorld()); ItemStack item = event.getItemStack(); - // Only block potions via PotionSplashEvent if "over reliable potion - // blocking" is enabled - if (!wcfg.blockPotionsAlways && event.getOriginalEvent() instanceof PotionSplashEvent) { - return; - } - // We only care about portions if (item.getType() != Material.POTION || BukkitUtil.isWaterPotion(item)) { return; diff --git a/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java b/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java index 033df0ab..69d01a42 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java @@ -43,56 +43,19 @@ import com.sk89q.worldguard.bukkit.util.Events; import com.sk89q.worldguard.bukkit.util.Materials; import org.bukkit.*; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.block.BlockState; -import org.bukkit.block.DoubleChest; -import org.bukkit.block.Hopper; +import org.bukkit.block.*; import org.bukkit.entity.*; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.Event.Result; import org.bukkit.event.EventHandler; -import org.bukkit.event.block.Action; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockBurnEvent; -import org.bukkit.event.block.BlockDamageEvent; -import org.bukkit.event.block.BlockDispenseEvent; -import org.bukkit.event.block.BlockExpEvent; -import org.bukkit.event.block.BlockFromToEvent; -import org.bukkit.event.block.BlockIgniteEvent; -import org.bukkit.event.block.BlockPistonExtendEvent; -import org.bukkit.event.block.BlockPistonRetractEvent; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.event.block.SignChangeEvent; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.EntityChangeBlockEvent; -import org.bukkit.event.entity.EntityCombustByBlockEvent; -import org.bukkit.event.entity.EntityCombustByEntityEvent; -import org.bukkit.event.entity.EntityCombustEvent; -import org.bukkit.event.entity.EntityDamageByBlockEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.event.entity.EntityTameEvent; -import org.bukkit.event.entity.EntityUnleashEvent; -import org.bukkit.event.entity.ExpBottleEvent; -import org.bukkit.event.entity.PotionSplashEvent; +import org.bukkit.event.block.*; +import org.bukkit.event.entity.*; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.hanging.HangingPlaceEvent; import org.bukkit.event.inventory.InventoryMoveItemEvent; -import org.bukkit.event.player.PlayerBedEnterEvent; -import org.bukkit.event.player.PlayerBucketEmptyEvent; -import org.bukkit.event.player.PlayerBucketFillEvent; -import org.bukkit.event.player.PlayerDropItemEvent; -import org.bukkit.event.player.PlayerFishEvent; -import org.bukkit.event.player.PlayerInteractEntityEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.event.player.PlayerPickupItemEvent; -import org.bukkit.event.player.PlayerShearEntityEvent; -import org.bukkit.event.player.PlayerUnleashEntityEvent; +import org.bukkit.event.player.*; import org.bukkit.event.vehicle.VehicleDamageEvent; import org.bukkit.event.vehicle.VehicleDestroyEvent; import org.bukkit.event.world.StructureGrowEvent; @@ -722,6 +685,11 @@ public void onVehicleEnter(VehicleDamageEvent event) { // Composite events //------------------------------------------------------------------------- + @EventHandler(ignoreCancelled = true) + public void onPlayerItemConsume(PlayerItemConsumeEvent event) { + Events.fireToCancel(event, new UseItemEvent(event, create(event.getPlayer()), event.getPlayer().getWorld(), event.getItem())); + } + @EventHandler(ignoreCancelled = true) public void onInventoryMoveItem(InventoryMoveItemEvent event) { final InventoryHolder causeHolder = event.getInitiator().getHolder();