diff options
-rw-r--r-- | Essentials/src/com/earth2me/essentials/UserData.java | 14 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commanddelhome.java | 42 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandsethome.java | 7 | ||||
-rw-r--r-- | Essentials/src/messages.properties | 2 | ||||
-rw-r--r-- | Essentials/src/messages_da.properties | 2 | ||||
-rw-r--r-- | Essentials/src/messages_de.properties | 2 | ||||
-rw-r--r-- | Essentials/src/messages_en.properties | 2 | ||||
-rw-r--r-- | Essentials/src/messages_fr.properties | 2 | ||||
-rw-r--r-- | Essentials/src/messages_nl.properties | 2 | ||||
-rw-r--r-- | Essentials/src/plugin.yml | 4 |
10 files changed, 78 insertions, 1 deletions
diff --git a/Essentials/src/com/earth2me/essentials/UserData.java b/Essentials/src/com/earth2me/essentials/UserData.java index 80f23cc05..030b5a479 100644 --- a/Essentials/src/com/earth2me/essentials/UserData.java +++ b/Essentials/src/com/earth2me/essentials/UserData.java @@ -158,6 +158,20 @@ public abstract class UserData extends PlayerExtension implements IConf config.save(); } + public void delHome(String name) throws Exception + { + if (getHome(name) != null) + { + homes.remove(name); + config.removeProperty("homes." + name); + config.save(); + } + else { + //TODO: move this message to messages file + throw new Exception("Home "+name+" doesn't exist"); + } + } + public boolean hasHome() { if (config.hasProperty("home")) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddelhome.java b/Essentials/src/com/earth2me/essentials/commands/Commanddelhome.java new file mode 100644 index 000000000..7385268d9 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commanddelhome.java @@ -0,0 +1,42 @@ +package com.earth2me.essentials.commands; + +import com.earth2me.essentials.User; +import org.bukkit.Server; +import org.bukkit.command.CommandSender; +import com.earth2me.essentials.Util; + + +public class Commanddelhome extends EssentialsCommand +{ + public Commanddelhome() + { + super("delhome"); + } + + @Override + public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception + { + User user; + String name; + if (args.length < 1) + { + throw new NotEnoughArgumentsException(); + } + else if (args.length < 2) + { + user = ess.getUser(sender); + if (user == null) + { + throw new NotEnoughArgumentsException(); + } + name = args[0]; + } + else + { + user = getPlayer(server, args, 0); + name = args[1]; + } + user.delHome(name); + sender.sendMessage(Util.format("deleteHome", args[0])); + } +} diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java b/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java index bb0d136c5..5461172d3 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java @@ -21,10 +21,15 @@ public class Commandsethome extends EssentialsCommand { if (user.isAuthorized("essentials.sethome.multiple")) { - if (user.isAuthorized("essentials.sethome.multiple.unlimited") || user.getHomes().size() <= ess.getSettings().getMultipleHomes()) + if ((user.isAuthorized("essentials.sethome.multiple.unlimited")) || (user.getHomes().size() <= ess.getSettings().getMultipleHomes()) + || (user.getHomes().contains(args[0]))) { user.setHome(args[0]); } + else + { + throw new Exception(Util.format("maxHomes", ess.getSettings().getMultipleHomes())); + } } } diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index aa4808268..c382a449f 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -48,6 +48,7 @@ day = day days = days defaultBanReason = The Ban Hammer has spoken! deleteFileError = Could not delete file: {0} +deleteHome = \u00a77Home {0} has been removed. deleteJail = \u00a77Jail {0} has been removed. deleteWarp = \u00a77Warp {0} has been removed. deniedAccessCommand = {0} was denied access to command. @@ -154,6 +155,7 @@ mailSent = \u00a77Mail sent! markMailAsRead = \u00a7cTo mark your mail as read, type /mail clear markedAsAway = \u00a77You are now marked as away. markedAsNotAway = \u00a77You are no longer marked as away. +maxHomes=You cannot set more than {0} homes. mayNotJail = \u00a7cYou may not jail that person me = me minute = minute diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties index 2b4a9d28e..2000c0c3b 100644 --- a/Essentials/src/messages_da.properties +++ b/Essentials/src/messages_da.properties @@ -48,6 +48,7 @@ day = dag days = dage defaultBanReason = Ban hammeren har talt! deleteFileError = Kunne ikke slette fil: {0} +deleteHome = \u00a77Home {0} has been removed. deleteJail = \u00a77F\u00e6ngsel {0} er fjernet. deleteWarp = \u00a77Warp {0} er fjernet. deniedAccessCommand = {0} var n\u00e6gtet adgang til kommando. @@ -154,6 +155,7 @@ mailSent = \u00a77Post sendt! markMailAsRead = \u00a7cTo marker din post som l\u00e6st, skriv /post ryd markedAsAway = \u00a77Du er nu markeret som v\u00e6k. markedAsNotAway = \u00a77Du er ikke l\u00e6ngere markeret som v\u00e6k. +maxHomes=You cannot set more than {0} homes. mayNotJail = \u00a7cDu m\u00e5 ikke f\u00e6ngsle den person me = mig minute = minut diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties index ab36074af..02e015b15 100644 --- a/Essentials/src/messages_de.properties +++ b/Essentials/src/messages_de.properties @@ -48,6 +48,7 @@ day = Tag days = Tage defaultBanReason = Der Bann-Hammer hat gesprochen! deleteFileError = Konnte Datei nicht l\u00f6schen: {0} +deleteHome = \u00a77Home {0} has been removed. deleteJail = \u00a77Gef\u00e4ngnis {0} wurde gel\u00f6scht. deleteWarp = \u00a77Warp-Punkt {0} wurde gel\u00f6scht. deniedAccessCommand = {0} hat keinen Zugriff auf diesen Befehl. @@ -154,6 +155,7 @@ mailSent = \u00a77Nachricht gesendet! markMailAsRead = \u00a7cUm deine Nachrichten zu l\u00f6schen, schreibe /mail clear markedAsAway = \u00a77Du wirst als abwesend angezeigt. markedAsNotAway = \u00a77Du wirst nicht mehr als abwesend angezeigt. +maxHomes=You cannot set more than {0} homes. mayNotJail = \u00a7cDu kannst diese Person nicht einsperren. me = mir minute = Minute diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index 3a4b5b9cf..288500947 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -48,6 +48,7 @@ day = day days = days defaultBanReason = The Ban Hammer has spoken! deleteFileError = Could not delete file: {0} +deleteHome = \u00a77Home {0} has been removed. deleteJail = \u00a77Jail {0} has been removed. deleteWarp = \u00a77Warp {0} has been removed. deniedAccessCommand = {0} was denied access to command. @@ -154,6 +155,7 @@ mailSent = \u00a77Mail sent! markMailAsRead = \u00a7cTo mark your mail as read, type /mail clear markedAsAway = \u00a77You are now marked as away. markedAsNotAway = \u00a77You are no longer marked as away. +maxHomes=You cannot set more than {0} homes. mayNotJail = \u00a7cYou may not jail that person me = me minute = minute diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties index d58a84f65..79016f02d 100644 --- a/Essentials/src/messages_fr.properties +++ b/Essentials/src/messages_fr.properties @@ -48,6 +48,7 @@ day = jour days = jours defaultBanReason = Le marteau du ban a frapp\u00e9! deleteFileError = Le fichier n''a pas pu \u00eatre supprim\u00e9: {0} +deleteHome = \u00a77Home {0} has been removed. deleteJail = \u00a77La prison {0} a \u00e9t\u00e9 supprim\u00e9e. deleteWarp = \u00a77Warp {0} supprim\u00e9. deniedAccessCommand = L''acc\u00e8s \u00e0 la commande a \u00e9t\u00e9 refus\u00e9 pour {0}. @@ -154,6 +155,7 @@ mailSent = \u00a77Courrier envoy\u00e9 ! markMailAsRead = \u00a7cPour marquer votre courrier en tant que lu, entrez /mail clear markedAsAway = \u00a77Vous \u00eates d\u00e9sormais AFK. markedAsNotAway = \u00a77Vous n''\u00eates d\u00e9sormais plus AFK. +maxHomes=You cannot set more than {0} homes. mayNotJail = \u00a7cVous ne pouvez pas emprisonner cette personne. me = moi minute = minute diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties index d73a9e508..c9fa21273 100644 --- a/Essentials/src/messages_nl.properties +++ b/Essentials/src/messages_nl.properties @@ -48,6 +48,7 @@ day = dag days = dagen defaultBanReason = De Ban Hamer heeft gesproken! deleteFileError = Het bestand kon niet verwijderd worden: {0} +deleteHome = \u00a77Home {0} has been removed. deleteJail = \u00a77Gevangenis {0} is verwijderd. deleteWarp = \u00a77Warp {0} is verwijderd. deniedAccessCommand = {0} was de toegang verboden tot het commando. @@ -154,6 +155,7 @@ mailSent = \u00a77Bericht verzonden! markMailAsRead = \u00a7cType /mail clear, om je berichten als gelezen te markeren markedAsAway = \u00a77Je staat nu als afwezig gemeld. markedAsNotAway = \u00a77Je staat niet meer als afwezig gemeld. +maxHomes=You cannot set more than {0} homes. mayNotJail = \u00a7cJe mag die speler niet in de gevangenis zetten. me = me minute = minuut diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 5d180763f..2e250d9aa 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -59,6 +59,10 @@ commands: description: Describes your current bearing. usage: /<command> aliases: [ecompass] + delhome: + description: Removes a home + usage: /<command> [player] <name> + aliases: [edelhome,remhome,rmhome,eremhome,ermhome] deljail: description: Removes a jail usage: /<command> [jailname] |