mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2025-03-14 15:49:56 +01:00
Add some deny effects.
This commit is contained in:
parent
f776d15e03
commit
992e53856d
@ -42,6 +42,8 @@
|
||||
import com.sk89q.worldguard.bukkit.util.Materials;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
@ -141,6 +143,10 @@ public EventAbstractionListener(WorldGuardPlugin plugin) {
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onBlockBreak(BlockBreakEvent event) {
|
||||
Events.fireToCancel(event, new BreakBlockEvent(event, create(event.getPlayer()), event.getBlock()));
|
||||
|
||||
if (event.isCancelled()) {
|
||||
playDenyEffect(event.getPlayer(), event.getBlock().getLocation().add(0.5, 0.7, 0.5));
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
@ -160,6 +166,10 @@ public void onBlockPlace(BlockPlaceEvent event) {
|
||||
if (!event.isCancelled()) {
|
||||
Events.fireToCancel(event, new PlaceBlockEvent(event, create(event.getPlayer()), event.getBlock()));
|
||||
}
|
||||
|
||||
if (event.isCancelled()) {
|
||||
playDenyEffect(event.getPlayer(), event.getBlockPlaced().getLocation().add(0.5, 0.5, 0.5));
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
@ -345,6 +355,10 @@ public void onPlayerInteract(PlayerInteractEvent event) {
|
||||
}
|
||||
}
|
||||
|
||||
if (event.isCancelled()) {
|
||||
playDenyEffect(event.getPlayer(), clicked.getLocation().add(0.5, 1, 0.5));
|
||||
}
|
||||
|
||||
case LEFT_CLICK_AIR:
|
||||
case RIGHT_CLICK_AIR:
|
||||
if (item != null && !item.getType().isBlock() && Events.fireAndTestCancel(new UseItemEvent(event, cause, player.getWorld(), item))) {
|
||||
@ -402,6 +416,8 @@ public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) {
|
||||
Events.fireToCancel(event, new PlaceBlockEvent(event, create(player), blockAffected.getLocation(), blockMaterial));
|
||||
Events.fireToCancel(event, new UseItemEvent(event, create(player), player.getWorld(), item));
|
||||
}
|
||||
|
||||
playDenyEffect(event.getPlayer(), blockAffected.getLocation().add(0.5, 0.5, 0.5));
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
@ -415,6 +431,8 @@ public void onPlayerBucketFill(PlayerBucketFillEvent event) {
|
||||
Events.fireToCancel(event, new BreakBlockEvent(event, create(player), blockAffected));
|
||||
Events.fireToCancel(event, new UseItemEvent(event, create(player), player.getWorld(), item));
|
||||
}
|
||||
|
||||
playDenyEffect(event.getPlayer(), blockAffected.getLocation().add(0.5, 1, 0.5));
|
||||
}
|
||||
|
||||
// TODO: Handle EntityPortalEnterEvent
|
||||
@ -586,6 +604,11 @@ public void onEntityDamage(EntityDamageEvent event) {
|
||||
}
|
||||
}
|
||||
|
||||
if (event.isCancelled() && damager instanceof Player) {
|
||||
Player player = (Player) damager;
|
||||
playDenyEffect(player, event.getEntity().getLocation().add(0, 1, 0));
|
||||
}
|
||||
|
||||
} else {
|
||||
Events.fireToCancel(event, new DamageEntityEvent(event, Cause.unknown(), event.getEntity()));
|
||||
}
|
||||
@ -795,4 +818,9 @@ private static <T extends Event & Cancellable> void handleInventoryHolderUse(T o
|
||||
}
|
||||
}
|
||||
|
||||
private void playDenyEffect(Player player, Location location) {
|
||||
//player.playSound(location, Sound.SUCCESSFUL_HIT, 0.2f, 0.4f);
|
||||
player.playEffect(location, Effect.SMOKE, BlockFace.UP);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user