diff --git a/src/com/garbagemule/MobArena/ArenaImpl.java b/src/com/garbagemule/MobArena/ArenaImpl.java index 64c0f47..64e22c4 100644 --- a/src/com/garbagemule/MobArena/ArenaImpl.java +++ b/src/com/garbagemule/MobArena/ArenaImpl.java @@ -622,6 +622,12 @@ public class ArenaImpl implements Arena @Override public void playerReady(Player p) { + ArenaPlayerReadyEvent event = new ArenaPlayerReadyEvent(p, this); + plugin.getServer().getPluginManager().callEvent(event); + if (event.isCancelled()) { + return; + } + readyPlayers.add(p); int minPlayers = getMinPlayers(); diff --git a/src/com/garbagemule/MobArena/events/ArenaPlayerReadyEvent.java b/src/com/garbagemule/MobArena/events/ArenaPlayerReadyEvent.java new file mode 100644 index 0000000..bae80d3 --- /dev/null +++ b/src/com/garbagemule/MobArena/events/ArenaPlayerReadyEvent.java @@ -0,0 +1,48 @@ +package com.garbagemule.MobArena.events; + +import org.bukkit.entity.Player; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +import com.garbagemule.MobArena.framework.Arena; + +public class ArenaPlayerReadyEvent extends Event implements Cancellable +{ + private static final HandlerList handlers = new HandlerList(); + private Player player; + private Arena arena; + private boolean cancelled; + + public ArenaPlayerReadyEvent(Player player, Arena arena) { + this.player = player; + this.arena = arena; + this.cancelled = false; + } + + public Player getPlayer() { + return player; + } + + public Arena getArena() { + return arena; + } + + @Override + public boolean isCancelled() { + return cancelled; + } + + @Override + public void setCancelled(boolean cancelled) { + this.cancelled = cancelled; + } + + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } +} \ No newline at end of file