[API] A basic example of a custom event, more to come.

This commit is contained in:
Iaccidentally 2013-06-28 14:22:18 -04:00
parent db234b9837
commit ff8c7b3315
2 changed files with 57 additions and 2 deletions

View file

@ -0,0 +1,52 @@
package com.earth2me.essentials.api.events;
import com.earth2me.essentials.User;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
public class UserToggleGodmodeEvent extends Event implements Cancellable
{
private static final HandlerList handlers = new HandlerList();
private boolean cancelled;
private User user;
private boolean enabled;
/**
* Thrown when a user's god mode is toggled.
*
* @param user - the user whose god mode is toggled.
* @param enabled - true if god mode was enabled, false if disabled.
*/
public UserToggleGodmodeEvent (User user, boolean enabled)
{
enabled = this.enabled;
user = this.user;
this.cancelled = false;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public boolean isCancelled()
{
return cancelled;
}
@Override
public void setCancelled(boolean cancelled)
{
this.cancelled = cancelled;
}
}

View file

@ -2,6 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.events.UserToggleGodmodeEvent;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@ -35,7 +36,7 @@ public class Commandgod extends EssentialsToggleCommand
}
}
else if (args.length == 2 && user.isAuthorized(othersPermission))
{
{
toggleOtherPlayers(server, user, args);
}
else
@ -51,8 +52,10 @@ public class Commandgod extends EssentialsToggleCommand
{
enabled = !user.isGodModeEnabled();
}
user.setGodModeEnabled(enabled);
UserToggleGodmodeEvent event = new UserToggleGodmodeEvent(user, enabled);
ess.getServer().getPluginManager().callEvent(event);
if (enabled && user.getHealth() != 0)
{