Adding delhome

Making sethome allow redefine
This commit is contained in:
KHobbits 2011-08-23 07:04:33 +01:00
parent 6ee7017603
commit bb32ec9567
10 changed files with 78 additions and 1 deletions

View File

@ -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"))

View File

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

View File

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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]