From 5020f6b990e0657406d1677bd88ef4bb905dce6e Mon Sep 17 00:00:00 2001 From: kukelekuuk00 Date: Sun, 13 May 2012 13:44:41 +0200 Subject: [PATCH 1/4] Added an /exp command that shows the amount of exp you have and how much you need for the next level. Permissions are essentials.exp and essentials.exp.needed --- .../essentials/commands/Commandexp.java | 39 +++++++++++++++++++ Essentials/src/messages.properties | 2 + Essentials/src/plugin.yml | 4 ++ 3 files changed, 45 insertions(+) create mode 100644 Essentials/src/com/earth2me/essentials/commands/Commandexp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java new file mode 100644 index 000000000..15efc02f7 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java @@ -0,0 +1,39 @@ +package com.earth2me.essentials.commands; + +import static com.earth2me.essentials.I18n._; +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 +{ + public Commandexp() + { + super("exp"); + } + + @Override + public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args)throws Exception + { + for (Player onlinePlayer : server.getOnlinePlayers()) + { + final User user = ess.getUser(onlinePlayer); + { + if (user.isAuthorized("essentials.exp.needed")) + { + 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(_("expneeded", SetExpFix.getTotalExperience(user),"" + expleft)); + } + else if (user.isAuthorized("essentials.exp")) + { + sender.sendMessage(_("exp", SetExpFix.getTotalExperience(user))); + } + } + } + } +} diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 73ce00bee..21390d893 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -85,6 +85,8 @@ errorWithMessage=\u00a7cError: {0} essentialsHelp1=The file is broken and Essentials can't open it. Essentials is now disabled. If you can't fix the file yourself, go to http://tiny.cc/EssentialsChat essentialsHelp2=The file is broken and Essentials can't open it. Essentials is now disabled. If you can't fix the file yourself, either type /essentialshelp in game or go to http://tiny.cc/EssentialsChat essentialsReload=\u00a77Essentials Reloaded {0} +exp=\u00a79You have \u00a7c{0} \u00a79exp. +expneeded=\u00a79You have \u00a7c{0} \u00a79exp and you need \u00a7c{1} more to level up. extinguish=\u00a77You extinguished yourself. extinguishOthers=\u00a77You extinguished {0}. failedToCloseConfig=Failed to close config {0} diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 3e1dc52c0..6b1e8a038 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -90,6 +90,10 @@ commands: essentials: description: Reloads essentials. usage: / + exp: + description: States how much exp you have. + usage: / + aliases: [eexp] ext: description: Extinguish players. usage: / [player] From 16fc88b50cef6547c0ff4c40d292defffe49890e Mon Sep 17 00:00:00 2001 From: kukelekuuk00 Date: Mon, 14 May 2012 11:36:44 +0200 Subject: [PATCH 2/4] new command /exp [set|give|player] [player] [amount] perms are essentials.exp, essentials.exp.others, essentials.exp.set, essentials.exp.set.others, essentials.exp.give and essentials.exp.give.others --- .../essentials/commands/Commandexp.java | 56 +++++++++++++++++-- Essentials/src/messages.properties | 8 ++- Essentials/src/plugin.yml | 4 +- 3 files changed, 59 insertions(+), 9 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java index 15efc02f7..8c2f428dd 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java @@ -8,7 +8,6 @@ import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - public class Commandexp extends EssentialsCommand { public Commandexp() @@ -23,16 +22,63 @@ public class Commandexp extends EssentialsCommand { final User user = ess.getUser(onlinePlayer); { - if (user.isAuthorized("essentials.exp.needed")) + if (args.length < 1 && 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)); - sender.sendMessage(_("expneeded", SetExpFix.getTotalExperience(user),"" + expleft)); + sender.sendMessage(_("exp", SetExpFix.getTotalExperience(user), expleft)); } - else if (user.isAuthorized("essentials.exp")) + if (args.length == 1 && user.isAuthorized("essentials.exp.others")) { - sender.sendMessage(_("exp", SetExpFix.getTotalExperience(user))); + for (Player p : server.matchPlayer(args[0])) + { + 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 >= 1) + if (args[0].equalsIgnoreCase("set")) + { + 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)); + } + + + } + else if (args[0].equalsIgnoreCase("give")) + { + 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)); + } + + } + } } } diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 21390d893..dec026c52 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -85,8 +85,12 @@ errorWithMessage=\u00a7cError: {0} essentialsHelp1=The file is broken and Essentials can't open it. Essentials is now disabled. If you can't fix the file yourself, go to http://tiny.cc/EssentialsChat essentialsHelp2=The file is broken and Essentials can't open it. Essentials is now disabled. If you can't fix the file yourself, either type /essentialshelp in game or go to http://tiny.cc/EssentialsChat essentialsReload=\u00a77Essentials Reloaded {0} -exp=\u00a79You have \u00a7c{0} \u00a79exp. -expneeded=\u00a79You have \u00a7c{0} \u00a79exp and you need \u00a7c{1} more to level up. +exp=\u00a77You have \u00a7c{0} \u00a77exp and you need \u00a7c{1}\u00a77 more exp to level up. +expgive=\u00a77You have given yourself {0}\u00a77 exp. +expgiveothers=\u00a77You have given \u00a7c{0} {1}\u00a77 exp. +expothers=\u00a7c{0}\u00a77 has \u00a7c{1} \u00a77exp and needs \u00a7c{2} \u00a77more exp to level up. +expset=\u00a77You now have \u00a7c{0} \u00a77exp. +expsetothers=\u00a7c{0} \u00a77now has \u00a7c{1} \u00a77exp. extinguish=\u00a77You extinguished yourself. extinguishOthers=\u00a77You extinguished {0}. failedToCloseConfig=Failed to close config {0} diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 6b1e8a038..de5dfb81f 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -91,8 +91,8 @@ commands: description: Reloads essentials. usage: / exp: - description: States how much exp you have. - usage: / + description: States how much exp you have and how much you need to level up. + usage: / [player|set|give] [playername] [amount] aliases: [eexp] ext: description: Extinguish players. From 9846362836f32d80c2d52beee729b12f9b47fdd7 Mon Sep 17 00:00:00 2001 From: kukelekuuk00 Date: Mon, 14 May 2012 11:43:57 +0200 Subject: [PATCH 3/4] small description change --- Essentials/src/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index de5dfb81f..da0a82ee5 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -91,7 +91,7 @@ commands: description: Reloads essentials. usage: / exp: - description: States how much exp you have and how much you need to level up. + description: give, set or look at a players exp. usage: / [player|set|give] [playername] [amount] aliases: [eexp] ext: From 853d7cb6689c459c0ef8e6c3155d58208f8ec987 Mon Sep 17 00:00:00 2001 From: kukelekuuk00 Date: Thu, 17 May 2012 14:39:40 +0200 Subject: [PATCH 4/4] Fixes made, added /exp fix [playername] this fixes negative exp. --- .../essentials/commands/Commandexp.java | 176 +++++++++++------- Essentials/src/messages.properties | 9 +- Essentials/src/plugin.yml | 2 +- 3 files changed, 121 insertions(+), 66 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()) - { - final User user = ess.getUser(onlinePlayer); + if (args.length == 0) + { + if (user.isAuthorized("essentials.exp")) { - if (args.length < 1 && 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)); - sender.sendMessage(_("exp", SetExpFix.getTotalExperience(user), expleft)); - } - if (args.length == 1 && user.isAuthorized("essentials.exp.others")) - { - for (Player p : server.matchPlayer(args[0])) - { - 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 >= 1) - if (args[0].equalsIgnoreCase("set")) - { - 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)); - } - - - } - else if (args[0].equalsIgnoreCase("give")) - { - 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)); - } - - } - + 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) + { + if (args[0].equalsIgnoreCase("set")) + { + if (args.length > 1) + { + 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[0].equalsIgnoreCase("player")) + { + if (args.length > 1) + { + for (Player p : server.matchPlayer(args[1])) + { + 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[0].equalsIgnoreCase("fix")) + { + { if ((args.length == 1) && (user.isAuthorized("essentials.exp.fix"))) + { + 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.length == 2) && (user.isAuthorized("essentials.exp.fix.others"))) + { + 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())); + } + } + } + } + } + } + } } diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index dec026c52..9f18dbdac 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -86,11 +86,18 @@ essentialsHelp1=The file is broken and Essentials can't open it. Essentials is n essentialsHelp2=The file is broken and Essentials can't open it. Essentials is now disabled. If you can't fix the file yourself, either type /essentialshelp in game or go to http://tiny.cc/EssentialsChat essentialsReload=\u00a77Essentials Reloaded {0} exp=\u00a77You have \u00a7c{0} \u00a77exp and you need \u00a7c{1}\u00a77 more exp to level up. -expgive=\u00a77You have given yourself {0}\u00a77 exp. +expfix=\u00a77You have negative exp; fixing it. +expfixfalse=\u00a77You do not have negative exp. +expfixothers=\u00a7c{0} \u00a77has negative exp; fixing it. +expfixothersreceive=\u00a77Your no longer have negative exp. +expfixothersfalse=\u00a7c{0} \u00a77does not have negative exp. +expgive=\u00a77You have given yourself \u00a7c{0}\u00a77 exp. expgiveothers=\u00a77You have given \u00a7c{0} {1}\u00a77 exp. +expgiveothersreceive=\u00a77You have received \u00a7c{0}\u00a77 exp. expothers=\u00a7c{0}\u00a77 has \u00a7c{1} \u00a77exp and needs \u00a7c{2} \u00a77more exp to level up. expset=\u00a77You now have \u00a7c{0} \u00a77exp. expsetothers=\u00a7c{0} \u00a77now has \u00a7c{1} \u00a77exp. +expsetothersreceive=\u00a77You now have \u00a7c{0} \u00a77exp. extinguish=\u00a77You extinguished yourself. extinguishOthers=\u00a77You extinguished {0}. failedToCloseConfig=Failed to close config {0} diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index da0a82ee5..84d255abd 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -92,7 +92,7 @@ commands: usage: / exp: description: give, set or look at a players exp. - usage: / [player|set|give] [playername] [amount] + usage: / [player|set|give|fix] [playername] [amount] aliases: [eexp] ext: description: Extinguish players.