summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-10-05 02:11:39 +0100
committerKHobbits <rob@khobbits.co.uk>2013-10-05 02:11:39 +0100
commit1563cec8c64a751163546f42107049418450a573 (patch)
treeeeb083d97706f56da4918337cc575b0cb6528b30
parent37d86ea48f40d90b4bf31bf38b100a0a051d945a (diff)
downloadEssentials-1563cec8c64a751163546f42107049418450a573.tar
Essentials-1563cec8c64a751163546f42107049418450a573.tar.gz
Essentials-1563cec8c64a751163546f42107049418450a573.tar.lz
Essentials-1563cec8c64a751163546f42107049418450a573.tar.xz
Essentials-1563cec8c64a751163546f42107049418450a573.zip
Add more API template and implement nick change event.
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandnick.java23
-rw-r--r--Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java6
-rw-r--r--Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java6
-rw-r--r--Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java6
-rw-r--r--Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java6
-rw-r--r--Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java8
-rw-r--r--Essentials/src/net/ess3/api/events/NickChangeEvent.java25
-rw-r--r--Essentials/src/net/ess3/api/events/StateChangeEvent.java65
-rw-r--r--Essentials/src/net/ess3/api/events/StatusChangeEvent.java58
9 files changed, 146 insertions, 57 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java b/Essentials/src/com/earth2me/essentials/commands/Commandnick.java
index 44be445b9..25c7207a0 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandnick.java
@@ -4,6 +4,8 @@ import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.utils.FormatUtil;
import java.util.Locale;
+import net.ess3.api.events.LocalChatSpyEvent;
+import net.ess3.api.events.NickChangeEvent;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -62,14 +64,12 @@ public class Commandnick extends EssentialsLoopCommand
final String nick = args[0];
if (target.getName().equalsIgnoreCase(nick))
{
- target.setNickname(nick);
- target.setDisplayNick();
+ setNickname(server, sender, target, nick);
target.sendMessage(_("nickNoMore"));
}
else if ("off".equalsIgnoreCase(nick))
{
- target.setNickname(null);
- target.setDisplayNick();
+ setNickname(server, sender, target, null);
target.sendMessage(_("nickNoMore"));
}
else if (nickInUse(server, target, nick))
@@ -78,8 +78,7 @@ public class Commandnick extends EssentialsLoopCommand
}
else
{
- target.setNickname(nick);
- target.setDisplayNick();
+ setNickname(server, sender, target, nick);
target.sendMessage(_("nickSet", target.getDisplayName()));
}
}
@@ -115,4 +114,16 @@ public class Commandnick extends EssentialsLoopCommand
}
return false;
}
+
+ private void setNickname(final Server server, final CommandSender sender, final User target, final String nickname)
+ {
+ final User controller = sender instanceof Player ? ess.getUser(sender) : null;
+ final NickChangeEvent nickEvent = new NickChangeEvent(controller, target, nickname);
+ server.getPluginManager().callEvent(nickEvent);
+ if (!nickEvent.isCancelled())
+ {
+ target.setNickname(nickname);
+ target.setDisplayNick();
+ }
+ }
}
diff --git a/Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java b/Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java
index 2d76b46d5..18110178d 100644
--- a/Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java
+++ b/Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java
@@ -1,10 +1,12 @@
package net.ess3.api.events;
+import net.ess3.api.IUser;
+
public class AfkStatusChangeEvent extends StatusChangeEvent
{
- public AfkStatusChangeEvent()
+ public AfkStatusChangeEvent(IUser affected, IUser controller, boolean value)
{
-
+ super(affected, controller, value);
}
}
diff --git a/Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java b/Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java
index 857abf818..2d141cf6d 100644
--- a/Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java
+++ b/Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java
@@ -1,10 +1,12 @@
package net.ess3.api.events;
+import net.ess3.api.IUser;
+
public class GodStatusChangeEvent extends StatusChangeEvent
{
- public GodStatusChangeEvent()
+ public GodStatusChangeEvent(IUser affected, IUser controller, boolean value)
{
-
+ super(affected, controller, value);
}
}
diff --git a/Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java b/Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java
index 14baf6c4a..27c23b50c 100644
--- a/Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java
+++ b/Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java
@@ -1,11 +1,13 @@
package net.ess3.api.events;
+import net.ess3.api.IUser;
+
public class IgnoreStatusChangeEvent extends StatusChangeEvent
{
- public IgnoreStatusChangeEvent()
+ public IgnoreStatusChangeEvent(IUser affected, IUser controller, boolean value)
{
-
+ super(affected, controller, value);
}
}
diff --git a/Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java b/Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java
index 25947f863..ff884d1a2 100644
--- a/Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java
+++ b/Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java
@@ -1,10 +1,12 @@
package net.ess3.api.events;
+import net.ess3.api.IUser;
+
public class JailStatusChangeEvent extends StatusChangeEvent
{
- public JailStatusChangeEvent()
+ public JailStatusChangeEvent(IUser affected, IUser controller, boolean value)
{
-
+ super(affected, controller, value);
}
} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java b/Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java
index f5d4bf866..3eb8885b2 100644
--- a/Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java
+++ b/Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java
@@ -1,10 +1,14 @@
package net.ess3.api.events;
+import net.ess3.api.IUser;
+
public class MuteStatusChangeEvent extends StatusChangeEvent
{
- public MuteStatusChangeEvent()
+
+ public MuteStatusChangeEvent(IUser affected, IUser controller, boolean value)
{
-
+ super(affected, controller, value);
}
+
}
diff --git a/Essentials/src/net/ess3/api/events/NickChangeEvent.java b/Essentials/src/net/ess3/api/events/NickChangeEvent.java
new file mode 100644
index 000000000..61222ca04
--- /dev/null
+++ b/Essentials/src/net/ess3/api/events/NickChangeEvent.java
@@ -0,0 +1,25 @@
+package net.ess3.api.events;
+
+import net.ess3.api.IUser;
+import org.bukkit.event.Cancellable;
+
+public class NickChangeEvent extends StateChangeEvent implements Cancellable
+{
+ private String newValue;
+
+ public NickChangeEvent(IUser affected, IUser controller, String value) {
+ super(affected, controller);
+ this.newValue = value;
+ }
+
+ public NickChangeEvent(boolean isAsync, IUser affected, IUser controller, String value) {
+ super(isAsync, affected, controller);
+ this.newValue = value;
+ }
+
+ public String getValue()
+ {
+ return newValue;
+ }
+
+}
diff --git a/Essentials/src/net/ess3/api/events/StateChangeEvent.java b/Essentials/src/net/ess3/api/events/StateChangeEvent.java
new file mode 100644
index 000000000..db7576d31
--- /dev/null
+++ b/Essentials/src/net/ess3/api/events/StateChangeEvent.java
@@ -0,0 +1,65 @@
+package net.ess3.api.events;
+
+import net.ess3.api.IUser;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
+
+
+/**
+ * This handles common boilerplate for other StatusChangeEvents
+ *
+ */
+public class StateChangeEvent extends Event implements Cancellable
+{
+ private static final HandlerList handlers = new HandlerList();
+ private boolean cancelled = false;
+ IUser affected;
+ IUser controller;
+
+ public StateChangeEvent(IUser affected, IUser controller) {
+ super();
+ this.affected = affected;
+ this.controller = controller;
+ }
+
+ public StateChangeEvent(boolean isAsync, IUser affected, IUser controller) {
+ super(isAsync);
+ this.affected = affected;
+ this.controller = controller;
+ }
+
+ public IUser getAffected()
+ {
+ return this.affected;
+ }
+
+ public IUser getController()
+ {
+ return controller;
+ }
+
+ @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/net/ess3/api/events/StatusChangeEvent.java b/Essentials/src/net/ess3/api/events/StatusChangeEvent.java
index f83277470..8fc1316c4 100644
--- a/Essentials/src/net/ess3/api/events/StatusChangeEvent.java
+++ b/Essentials/src/net/ess3/api/events/StatusChangeEvent.java
@@ -1,53 +1,29 @@
package net.ess3.api.events;
-import com.earth2me.essentials.User;
+import net.ess3.api.IUser;
import org.bukkit.event.Cancellable;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-
/**
* This handles common boilerplate for other StatusChangeEvents
*
*/
-public class StatusChangeEvent extends Event implements Cancellable
+public class StatusChangeEvent extends StateChangeEvent implements Cancellable
{
- private static final HandlerList handlers = new HandlerList();
- private boolean cancelled;
- User affected;
- User controller;
-
- public User getAffected()
- {
- return this.affected;
- }
-
- public User getController()
- {
- return controller;
- }
-
- @Override
- public HandlerList getHandlers()
- {
- return handlers;
- }
-
- public static HandlerList getHandlerList()
- {
- return handlers;
- }
-
- @Override
- public boolean isCancelled()
+ private boolean newValue;
+
+ public StatusChangeEvent(IUser affected, IUser controller, boolean value) {
+ super(affected, controller);
+ this.newValue = value;
+ }
+
+ public StatusChangeEvent(boolean isAsync, IUser affected, IUser controller, boolean value) {
+ super(isAsync, affected, controller);
+ this.newValue = value;
+ }
+
+ public boolean getValue()
{
- return cancelled;
+ return newValue;
}
-
- @Override
- public void setCancelled(boolean cancelled)
- {
- this.cancelled = cancelled;
- }
-
+
}