Add PlayerKickBanEvent (#103)

This commit is contained in:
BillyGalbreath 2017-03-22 13:26:22 -05:00 committed by RoboMWM
parent 73fcd9a674
commit 8fdb6e07ee
2 changed files with 99 additions and 0 deletions

View File

@ -18,6 +18,8 @@
package me.ryanhamshire.GriefPrevention;
import me.ryanhamshire.GriefPrevention.events.PlayerKickBanEvent;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
//kicks or bans a player
@ -48,6 +50,14 @@ class PlayerKickBanTask implements Runnable
@Override
public void run()
{
PlayerKickBanEvent kickBanEvent = new PlayerKickBanEvent(player, reason, source, ban);
Bukkit.getPluginManager().callEvent(kickBanEvent);
if (kickBanEvent.isCancelled())
{
return; // cancelled by a plugin
}
if(this.ban)
{
//ban

View File

@ -0,0 +1,89 @@
package me.ryanhamshire.GriefPrevention.events;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
/**
* Called when GP is about to kick or ban a player
*
* @author BillyGalbreath
* 03/10/2017.
*/
public class PlayerKickBanEvent extends Event
{
private static final HandlerList handlers = new HandlerList();
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
private Player player;
private String reason;
private String source;
private boolean ban;
private boolean cancelled = false;
/**
* @param player Player getting kicked and/or banned
* @param reason Reason message for kick/ban
* @param source What caused the kick/ban
* @param ban True if player is getting banned
*/
public PlayerKickBanEvent(Player player, String reason, String source, boolean ban)
{
this.player = player;
this.reason = reason;
this.source = source;
this.ban = ban;
}
/**
* @return player getting kicked/banned
*/
public Player getPlayer()
{
return this.player;
}
/**
* @return reason player is getting kicked/banned
*/
public String getReason()
{
return this.reason;
}
/**
* @return source that is kicking/banning the player
*/
public String getSource()
{
return this.source;
}
/**
* @return is player getting banned
*/
public boolean getBan()
{
return this.ban;
}
public boolean isCancelled()
{
return this.cancelled;
}
public void setCancelled(boolean cancel)
{
this.cancelled = cancel;
}
}