From a0d66ce23049b6309090b9fcf021487fce71d75d Mon Sep 17 00:00:00 2001 From: Khyperia Date: Tue, 6 Dec 2011 06:25:54 +0800 Subject: [PATCH] New command: /find Test #278 Test #293 Test #348 --- .../essentials/commands/Commandfind.java | 25 +++++++++++++++++++ .../essentials/commands/Commandlightning.java | 23 ++++++++++++++++- .../essentials/commands/Commandnick.java | 23 ++++++++++++++++- Essentials/src/plugin.yml | 6 ++++- 4 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 Essentials/src/com/earth2me/essentials/commands/Commandfind.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfind.java b/Essentials/src/com/earth2me/essentials/commands/Commandfind.java new file mode 100644 index 000000000..40590501f --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commandfind.java @@ -0,0 +1,25 @@ +package com.earth2me.essentials.commands; + +import org.bukkit.Server; +import org.bukkit.command.CommandSender; +import org.bukkit.inventory.ItemStack; + + +public class Commandfind extends EssentialsCommand +{ + public Commandfind() + { + super("find"); + } + + @Override + protected void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception + { + if (args.length < 1) + { + throw new NotEnoughArgumentsException(); + } + ItemStack itemStack = ess.getItemDb().get(args[0]); + sender.sendMessage(itemStack.getType().toString() + "- " + itemStack.getTypeId() + ":" + Integer.toString(itemStack.getData().getData())); + } +} diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandlightning.java b/Essentials/src/com/earth2me/essentials/commands/Commandlightning.java index 582f048a1..be9ac61f5 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandlightning.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandlightning.java @@ -4,6 +4,7 @@ import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.User; import org.bukkit.Server; import org.bukkit.command.CommandSender; +import org.bukkit.entity.LightningStrike; import org.bukkit.entity.Player; @@ -34,10 +35,30 @@ public class Commandlightning extends EssentialsCommand throw new Exception(_("playerNotFound")); } + int power = 1; + if (args.length > 1) + { + try + { + power = Integer.parseInt(args[1]); + } + catch (NumberFormatException ex) + { + } + } + for (Player matchPlayer : server.matchPlayer(args[0])) { sender.sendMessage(_("lightningUse", matchPlayer.getDisplayName())); - matchPlayer.getWorld().strikeLightning(matchPlayer.getLocation()); + if (power <= 0) + { + matchPlayer.getWorld().strikeLightningEffect(matchPlayer.getLocation()); + } + else + { + LightningStrike strike = matchPlayer.getWorld().strikeLightning(matchPlayer.getLocation()); + matchPlayer.damage(power - 1, strike); + } if (!ess.getUser(matchPlayer).isGodModeEnabled()) { matchPlayer.setHealth(matchPlayer.getHealth() < 5 ? 0 : matchPlayer.getHealth() - 5); diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java b/Essentials/src/com/earth2me/essentials/commands/Commandnick.java index a1f1c77ca..95ad5ea84 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandnick.java @@ -50,7 +50,14 @@ public class Commandnick extends EssentialsCommand { throw new Exception(_("nickDisplayName")); } - setNickname(server, getPlayer(server, args, 0), formatNickname(null, args[1])); + if ((args[0].equalsIgnoreCase("*") || args[0].equalsIgnoreCase("all")) && args[1].equalsIgnoreCase("off")) + { + resetAllNicknames(server); + } + else + { + setNickname(server, getPlayer(server, args, 0), formatNickname(null, args[1])); + } sender.sendMessage(_("nickChanged")); } @@ -63,6 +70,20 @@ public class Commandnick extends EssentialsCommand return nick; } + private void resetAllNicknames(final Server server) + { + for (Player player : server.getOnlinePlayers()) + { + try + { + setNickname(server, ess.getUser(player), "off"); + } + catch (Exception ex) + { + } + } + } + private void setNickname(final Server server, final User target, final String nick) throws Exception { if (nick.matches("[^a-zA-Z_0-9]")) diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index e6bf865b7..681ff428f 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -102,6 +102,10 @@ commands: description: Satisfy the hunger. usage: / [player] aliases: [efeed] + find: + description: Searches for an item. + usage: / + aliases: [efind] fireball: description: Throw a fireball. usage: / [small] @@ -188,7 +192,7 @@ commands: aliases: [playerlist,who,online,elist,ewho,eplayerlist,eonline] lightning: description: The power of Thor. Strike at cursor or player. - usage: / [player] + usage: / [player] [power] aliases: [strike,smite,thor,shock,elightning,estrike,esmite,ethor,eshock] mail: description: Manages inter-player, intra-server mail.