mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-15 11:04:29 +02:00
[API] A basic example of a custom event, more to come.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
@@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user