package tv.mineinthebox.essentials.events.customevents;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import tv.mineinthebox.essentials.interfaces.XPlayer;
public class VanishChangeEvent extends PlayerEvent implements Cancellable{
private static final HandlerList handlers = new HandlerList();
private boolean canceled = false;
private XPlayer p;
public VanishChangeEvent(Player who, XPlayer xp) {
super(who);
this.p = xp;
}
@Override
public boolean isCancelled() {
return canceled;
}
/**
* @author xize
* @param returns true if the player whas vanished before
* @return boolean
*/
public boolean getStateIsVanishedBefore() {
if(p.isVanished()) {
return false;
} else {
return true;
}
}
/**
* @author xize
* @param returns true when the player is vanished now
* @return boolean
*/
public boolean getStateIsVanishedNow() {
if(p.isVanished()) {
return true;
}
return false;
}
/**
* @author xize
* @param returns the xEssentialsPlayer interface associated in this event
* @return
*/
public XPlayer getxEssentialsPlayer() {
return p;
}
/**
* @author xize
* @param when set to cancel, we revert the players vanish mode to the old state
* @return void
*/
@Override
public void setCancelled(boolean cancel) {
if(cancel) {
if(p.isVanished()) {
p.unvanish();
p.setNoPickUp(false);
} else {
p.vanish();
p.setNoPickUp(true);
}
canceled = true;
} else {
canceled = false;
}
}
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}