mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-16 03:24:31 +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 static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
import com.earth2me.essentials.api.events.UserToggleGodmodeEvent;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
@@ -53,6 +54,8 @@ public class Commandgod extends EssentialsToggleCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
user.setGodModeEnabled(enabled);
|
user.setGodModeEnabled(enabled);
|
||||||
|
UserToggleGodmodeEvent event = new UserToggleGodmodeEvent(user, enabled);
|
||||||
|
ess.getServer().getPluginManager().callEvent(event);
|
||||||
|
|
||||||
if (enabled && user.getHealth() != 0)
|
if (enabled && user.getHealth() != 0)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user