Add more API template and implement nick change event.

This commit is contained in:
KHobbits 2013-10-05 02:11:39 +01:00
parent 03368e45df
commit 122232a0e7
9 changed files with 146 additions and 57 deletions

View file

@ -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();
}
}
}