summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIaccidentally <coryhuckaby@gmail.com>2013-06-28 14:22:18 -0400
committerIaccidentally <coryhuckaby@gmail.com>2013-06-28 14:22:18 -0400
commit2a9d283a886dce4d3c6f5ac04cb5854496a8d7fa (patch)
tree4fb9e31a541c9d7a8daf978053ad051994b57ffb
parent9e11a4a381fd0a145a865ebf4b2a04afe4dc6825 (diff)
downloadEssentials-2a9d283a886dce4d3c6f5ac04cb5854496a8d7fa.tar
Essentials-2a9d283a886dce4d3c6f5ac04cb5854496a8d7fa.tar.gz
Essentials-2a9d283a886dce4d3c6f5ac04cb5854496a8d7fa.tar.lz
Essentials-2a9d283a886dce4d3c6f5ac04cb5854496a8d7fa.tar.xz
Essentials-2a9d283a886dce4d3c6f5ac04cb5854496a8d7fa.zip
[API] A basic example of a custom event, more to come.
-rw-r--r--Essentials/src/com/earth2me/essentials/api/events/UserToggleGodmodeEvent.java52
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandgod.java7
2 files changed, 57 insertions, 2 deletions
diff --git a/Essentials/src/com/earth2me/essentials/api/events/UserToggleGodmodeEvent.java b/Essentials/src/com/earth2me/essentials/api/events/UserToggleGodmodeEvent.java
new file mode 100644
index 000000000..79f858fd4
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/api/events/UserToggleGodmodeEvent.java
@@ -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;
+ }
+
+}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgod.java b/Essentials/src/com/earth2me/essentials/commands/Commandgod.java
index 8566e47d6..8da670ca8 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandgod.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandgod.java
@@ -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)
{