GroupManager/src/main/java/org/anjocaido/groupmanager/events/GMUserEvent.java

75 lines
2.0 KiB
Java

package org.anjocaido.groupmanager.events;
import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.data.User;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
/**
* @author ElgarL
*
*/
public class GMUserEvent extends Event {
private static final HandlerList handlers = new HandlerList();
protected User user;
protected String userName;
//////////////////////////////
protected Action action;
public GMUserEvent(final String userName, final Action action) {
super();
this.userName = userName;
this.action = action;
}
public GMUserEvent(final User user, final Action action) {
super();
this.user = user;
this.action = action;
this.userName = user.getLastName();
}
public static HandlerList getHandlerList() {
return handlers;
}
public Action getAction() {
return this.action;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public User getUser() {
return user;
}
public String getUserName() {
return userName;
}
public void schedule(final GMUserEvent event) {
synchronized (GroupManager.getGMEventHandler().getServer()) {
if (GroupManager.getGMEventHandler().getServer().getScheduler().scheduleSyncDelayedTask(GroupManager.getGMEventHandler().getPlugin(), new Runnable() {
@Override
public void run() {
GroupManager.getGMEventHandler().getServer().getPluginManager().callEvent(event);
}
}, 1) == -1)
GroupManager.logger.warning("Could not schedule GM Event.");
}
}
public enum Action {
USER_PERMISSIONS_CHANGED,
USER_INHERITANCE_CHANGED,
USER_INFO_CHANGED,
USER_GROUP_CHANGED,
USER_SUBGROUP_CHANGED,
USER_ADDED,
USER_REMOVED,
}
}