summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
diff options
context:
space:
mode:
authorkukelekuuk00 <luuk3904@hotmail.com>2012-05-17 14:39:40 +0200
committerkukelekuuk00 <luuk3904@hotmail.com>2012-05-17 14:39:40 +0200
commit853d7cb6689c459c0ef8e6c3155d58208f8ec987 (patch)
treecd0f78092163eb7db752bc544660ec89274b4156 /Essentials/src/com/earth2me/essentials/commands/Commandexp.java
parent9846362836f32d80c2d52beee729b12f9b47fdd7 (diff)
downloadEssentials-853d7cb6689c459c0ef8e6c3155d58208f8ec987.tar
Essentials-853d7cb6689c459c0ef8e6c3155d58208f8ec987.tar.gz
Essentials-853d7cb6689c459c0ef8e6c3155d58208f8ec987.tar.lz
Essentials-853d7cb6689c459c0ef8e6c3155d58208f8ec987.tar.xz
Essentials-853d7cb6689c459c0ef8e6c3155d58208f8ec987.zip
Fixes made, added /exp fix [playername] this fixes negative exp.
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/commands/Commandexp.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandexp.java154
1 files changed, 101 insertions, 53 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
index 8c2f428dd..fddcdca09 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
@@ -5,7 +5,6 @@ import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.craftbukkit.SetExpFix;
import org.bukkit.Server;
-import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandexp extends EssentialsCommand
@@ -16,70 +15,119 @@ public class Commandexp extends EssentialsCommand
}
@Override
- public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args)throws Exception
+ public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
- for (Player onlinePlayer : server.getOnlinePlayers())
+ if (args.length == 0)
+ {
+ if (user.isAuthorized("essentials.exp"))
+ {
+ int totalexp = SetExpFix.getTotalExperience(user);
+ int expleft = (int)Util.roundDouble(((((3.5 * user.getLevel()) + 6.7) - (totalexp - ((1.75 * (user.getLevel() * user.getLevel())) + (5.00 * user.getLevel())))) + 1));
+ user.sendMessage(_("exp", totalexp, expleft));
+ }
+ }
+ else if (args.length > 0)
{
- final User user = ess.getUser(onlinePlayer);
+ if (args[0].equalsIgnoreCase("set"))
{
- if (args.length < 1 && user.isAuthorized("essentials.exp"))
+ if (args.length > 1)
{
- int totalexp = SetExpFix.getTotalExperience(user);
- int expleft = (int)Util.roundDouble(((((3.5 * user.getLevel()) + 6.7) - (totalexp - ((1.75 *(user.getLevel() * user.getLevel())) + (5.00 * user.getLevel())))) + 1));
- sender.sendMessage(_("exp", SetExpFix.getTotalExperience(user), expleft));
+ for (Player p : server.matchPlayer(args[1]))
+ {
+ if ((args.length == 3) && (args[1].trim().length() > 2) && (user.isAuthorized("essentials.exp.set.others")))
+ {
+ User player = getPlayer(server, args, 1);
+ int amount = Integer.parseInt(args[2]);
+ SetExpFix.setTotalExperience(p, amount);
+ user.sendMessage(_("expsetothers", player.getDisplayName(), amount));
+ p.sendMessage(_("expsetothersreceive", amount));
+ }
+ }
+ if ((args.length == 2) && (user.isAuthorized("essentials.exp.set")))
+ {
+ int amount = Integer.parseInt(args[1]);
+ SetExpFix.setTotalExperience(user, amount);
+ user.sendMessage(_("expset", amount));
+ }
+ }
+ }
+ if (args[0].equalsIgnoreCase("give"))
+ {
+ if (args.length > 1)
+ {
+ for (Player p : server.matchPlayer(args[1]))
+ {
+ if ((args.length == 3) && (args[1].trim().length() > 2) && (user.isAuthorized("essentials.exp.give.others")))
+ {
+ User player = getPlayer(server, args, 1);
+ int amount = Integer.parseInt(args[2]);
+ p.giveExp(amount);
+ user.sendMessage(_("expgiveothers", player.getDisplayName(), amount));
+ p.sendMessage (_("expgiveothersreceive", amount));
+ }
+ }
+ if ((args.length == 2) && (user.isAuthorized("essentials.exp.give")))
+ {
+ int amount = Integer.parseInt(args[1]);
+ user.giveExp(amount);
+ user.sendMessage(_("expgive", amount));
+ }
+
}
- if (args.length == 1 && user.isAuthorized("essentials.exp.others"))
+ }
+ if (args[0].equalsIgnoreCase("player"))
+ {
+ if (args.length > 1)
{
- for (Player p : server.matchPlayer(args[0]))
+ for (Player p : server.matchPlayer(args[1]))
{
- User player = getPlayer(server, args, 1);
- int totalexp = SetExpFix.getTotalExperience(user);
- int expleft = (int)Util.roundDouble(((((3.5 * user.getLevel()) + 6.7) - (totalexp - ((1.75 *(user.getLevel() * user.getLevel())) + (5.00 * user.getLevel())))) + 1));
- sender.sendMessage(_("expothers", player.getDisplayName(), SetExpFix.getTotalExperience(p), expleft));
+ if ((args.length == 2) && (args[1].trim().length() > 2) && (user.isAuthorized("essentials.exp.others")))
+ {
+ User player = getPlayer(server, args, 1);
+ int totalexp = SetExpFix.getTotalExperience(p);
+ int expleft = (int)Util.roundDouble(((((3.5 * p.getLevel()) + 6.7) - (totalexp - ((1.75 * (player.getLevel() * player.getLevel())) + (5.00 * player.getLevel())))) + 1));
+ user.sendMessage(_("expothers", player.getDisplayName(), SetExpFix.getTotalExperience(p), expleft));
+ }
}
}
- if(args.length >= 1)
- if (args[0].equalsIgnoreCase("set"))
+ }
+ if (args[0].equalsIgnoreCase("fix"))
+ {
+ { if ((args.length == 1) && (user.isAuthorized("essentials.exp.fix")))
{
- if (args.length >= 2)
- for (Player p : server.matchPlayer(args[1]))
- if ((args.length == 3) && (user.isAuthorized("essentials.exp.set.others")))
- {
- User player = getPlayer(server, args, 1);
- int exp = Integer.parseInt(args[2]);
- SetExpFix.setTotalExperience(p, exp);
- sender.sendMessage(_("expsetothers", player.getDisplayName(), exp));
- }
- else if ((args.length == 2) && (user.isAuthorized("essentials.exp.set")))
- {
- int exp = Integer.parseInt(args[1]);
- SetExpFix.setTotalExperience(user, exp);
- sender.sendMessage(_("expset", exp));
- }
-
-
+ if (SetExpFix.getTotalExperience(user) < 0)
+ {
+ user.sendMessage(_("expfix"));
+ user.setExp(0);
+ user.setLevel(0);
+ user.setTotalExperience(0);
+ }
+ else if (SetExpFix.getTotalExperience(user) >= 0)
+ {
+ user.sendMessage(_("expfixfalse"));
+ }
}
- else if (args[0].equalsIgnoreCase("give"))
+ else if ((args.length == 2) && (user.isAuthorized("essentials.exp.fix.others")))
{
- if (args.length >= 2)
- for (Player p : server.matchPlayer(args[1]))
- if ((args.length == 3) && (user.isAuthorized("essentials.exp.give.others")))
- {
- User player = getPlayer(server, args, 1);
- int amount = Integer.parseInt(args[2]);
- p.giveExp(amount);
- sender.sendMessage(_("expgiveothers", player.getDisplayName(), amount));
- }
- else if ((args.length == 2) && (user.isAuthorized("essentials.exp.give")))
- {
- int amount = Integer.parseInt(args[1]);
- user.giveExp(amount);
- sender.sendMessage(_("expgive", amount));
- }
-
+ for (Player p : server.matchPlayer(args[1]))
+ {
+ if (SetExpFix.getTotalExperience(p) < 0)
+ {
+
+ user.sendMessage(_("expfixothers", p.getDisplayName()));
+ p.setExp(0);
+ p.setLevel(0);
+ p.setTotalExperience(0);
+ p.sendMessage(_("expfixothersreceive"));
+ }
+ else if (SetExpFix.getTotalExperience(p) >= 0)
+ {
+ user.sendMessage(_("expfixothersfalse", p.getDisplayName()));
+ }
+ }
}
-
+ }
}
- }
- }
+ }
+ }
}