diff options
author | KHobbits <rob@khobbits.co.uk> | 2012-08-28 02:55:02 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2012-08-28 02:55:02 +0100 |
commit | d201286fc54719bfb22e3a4028b065baeb97f23e (patch) | |
tree | d29d630384bd7244061d67977cbaeaf25c966073 | |
parent | 44e9c6ebfc2bb6c86f61e46d03574920d5e2fddb (diff) | |
parent | 12b527be993a3f12f37f5e97c1d0b40095d4efbb (diff) | |
download | Essentials-d201286fc54719bfb22e3a4028b065baeb97f23e.tar Essentials-d201286fc54719bfb22e3a4028b065baeb97f23e.tar.gz Essentials-d201286fc54719bfb22e3a4028b065baeb97f23e.tar.lz Essentials-d201286fc54719bfb22e3a4028b065baeb97f23e.tar.xz Essentials-d201286fc54719bfb22e3a4028b065baeb97f23e.zip |
Merge branch '2.9' of github.com:essentials/Essentials into release
30 files changed, 649 insertions, 233 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java index 1a0820105..c7f7cf051 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java @@ -68,17 +68,21 @@ public class EssentialsEntityListener implements Listener } } } - else if (eDefend instanceof Ageable && eAttack instanceof Player) + else if (eAttack instanceof Player) { - final Player player = (Player)eAttack; - final ItemStack hand = player.getItemInHand(); - if (hand != null && hand.getType() == Material.MILK_BUCKET) + final User player = ess.getUser(eAttack); + player.updateActivity(true); + if (eDefend instanceof Ageable) { - ((Ageable)eDefend).setBaby(); - hand.setType(Material.BUCKET); - player.setItemInHand(hand); - player.updateInventory(); - event.setCancelled(true); + final ItemStack hand = player.getItemInHand(); + if (hand != null && hand.getType() == Material.MILK_BUCKET) + { + ((Ageable)eDefend).setBaby(); + hand.setType(Material.BUCKET); + player.setItemInHand(hand); + player.updateInventory(); + event.setCancelled(true); + } } } } diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java index 2fe03ebce..c84541405 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.Locale; import java.util.logging.Level; import java.util.logging.Logger; +import net.minecraft.server.InventoryEnderChest; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.HumanEntity; @@ -25,6 +26,7 @@ import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerLoginEvent.Result; import org.bukkit.event.player.*; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; @@ -87,7 +89,12 @@ public class EssentialsPlayerListener implements Listener if (user.isAfk() && ess.getSettings().getFreezeAfkPlayers()) { final Location from = event.getFrom(); - final Location to = event.getTo().clone(); + final Location origTo = event.getTo(); + final Location to = origTo.clone(); + if (ess.getSettings().cancelAfkOnMove() && origTo.getY() >= from.getBlockY() + 1) { + user.updateActivity(true); + return; + } to.setX(from.getX()); to.setY(from.getY()); to.setZ(from.getZ()); @@ -120,7 +127,9 @@ public class EssentialsPlayerListener implements Listener { user.toggleVanished(); } - user.setLastLocation(); + if (!user.isJailed()) { + user.setLastLocation(); + } user.updateActivity(false); user.dispose(); } @@ -448,6 +457,14 @@ public class EssentialsPlayerListener implements Listener } } } + else if (event.getView().getTopInventory().getType() == InventoryType.ENDER_CHEST) + { + final User user = ess.getUser(event.getWhoClicked()); + if (user.isEnderSee() && (!user.isAuthorized("essentials.enderchest.modify"))) + { + event.setCancelled(true); + } + } } @EventHandler(priority = EventPriority.MONITOR) @@ -458,5 +475,10 @@ public class EssentialsPlayerListener implements Listener final User user = ess.getUser(event.getPlayer()); user.setInvSee(false); } + else if (event.getView().getTopInventory().getType() == InventoryType.ENDER_CHEST) + { + final User user = ess.getUser(event.getPlayer()); + user.setEnderSee(false); + } } -} +}
\ No newline at end of file diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/com/earth2me/essentials/ISettings.java index 71fc7f5dd..e1781cb46 100644 --- a/Essentials/src/com/earth2me/essentials/ISettings.java +++ b/Essentials/src/com/earth2me/essentials/ISettings.java @@ -159,7 +159,7 @@ public interface ISettings extends IConf boolean getRepairEnchanted(); boolean isWorldTeleportPermissions(); - + boolean isWorldHomePermissions(); boolean registerBackInListener(); @@ -177,8 +177,12 @@ public interface ISettings extends IConf long getTeleportInvulnerability(); boolean isTeleportInvulnerability(); - + long getLoginAttackDelay(); - + int getSignUsePerSecond(); + + double getMaxFlySpeed(); + + double getMaxWalkSpeed(); } diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/com/earth2me/essentials/Kit.java index 136c1d6f5..8ccef0024 100644 --- a/Essentials/src/com/earth2me/essentials/Kit.java +++ b/Essentials/src/com/earth2me/essentials/Kit.java @@ -39,6 +39,10 @@ public class Kit public static void checkTime(final User user, final String kitName, final Map<String, Object> els) throws NoChargeException { + if (user.isAuthorized("essentials.kit.exemptdelay")) { + return; + } + final Calendar time = new GregorianCalendar(); // Take the current time, and remove the delay from it. diff --git a/Essentials/src/com/earth2me/essentials/OfflinePlayer.java b/Essentials/src/com/earth2me/essentials/OfflinePlayer.java index e7241f0f8..eb9729fa3 100644 --- a/Essentials/src/com/earth2me/essentials/OfflinePlayer.java +++ b/Essentials/src/com/earth2me/essentials/OfflinePlayer.java @@ -1068,5 +1068,35 @@ public class OfflinePlayer implements Player public boolean isValid() { throw new UnsupportedOperationException("Not supported yet."); - } + } + + @Override + public void setFlySpeed(float value) throws IllegalArgumentException + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setWalkSpeed(float value) throws IllegalArgumentException + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFlySpeed() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getWalkSpeed() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Inventory getEnderChest() + { + throw new UnsupportedOperationException("Not supported yet."); + } } diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java index 30cfc9dab..73beb1891 100644 --- a/Essentials/src/com/earth2me/essentials/Settings.java +++ b/Essentials/src/com/earth2me/essentials/Settings.java @@ -431,6 +431,7 @@ public class Settings implements ISettings disablePrefix = _disablePrefix(); disableSuffix = _disableSuffix(); chatRadius = _getChatRadius(); + warnOnBuildDisallow = _warnOnBuildDisallow(); } private List<Integer> itemSpawnBl = new ArrayList<Integer>(); @@ -511,12 +512,21 @@ public class Settings implements ISettings { return config.getBoolean("spawn-if-no-home", false); } + + private boolean warnOnBuildDisallow; + private boolean _warnOnBuildDisallow() + { + return config.getBoolean("protect.disable.warn-on-build-disallow", false); + } + @Override public boolean warnOnBuildDisallow() { - return config.getBoolean("protect.disable.warn-on-build-disallow", false); + return warnOnBuildDisallow; } + + private boolean debug = false; private boolean configDebug = false; @@ -912,4 +922,18 @@ public class Settings implements ISettings { return signUsePerSecond; } + + @Override + public double getMaxFlySpeed() + { + double maxSpeed = config.getDouble("max-fly-speed", 1.0); + return maxSpeed > 1.0 ? 1.0 : Math.abs(maxSpeed); + } + + @Override + public double getMaxWalkSpeed() + { + double maxSpeed = config.getDouble("max-walk-speed", 0.8); + return maxSpeed > 1.0 ? 1.0 : Math.abs(maxSpeed); + } } diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index 5b6eff1fb..a66f3dadf 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -11,6 +11,7 @@ import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; public class User extends UserData implements Comparable<User>, IReplyTo, IUser @@ -27,6 +28,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser private boolean hidden = false; private transient Location afkPosition = null; private boolean invSee = false; + private boolean enderSee = false; private static final Logger logger = Logger.getLogger("Minecraft"); User(final Player base, final IEssentials ess) @@ -175,6 +177,10 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser public boolean canAfford(final double cost, final boolean permcheck) { + if (cost <= 0.0) + { + return true; + } final double mon = getMoney(); if (!permcheck || isAuthorized("essentials.eco.loan")) { @@ -484,6 +490,13 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser } catch (Exception ex) { + try + { + getTeleport().respawn(null, TeleportCause.PLUGIN); + } + catch (Exception ex1) + { + } } return true; } @@ -612,6 +625,16 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser { invSee = set; } + + public boolean isEnderSee() + { + return enderSee; + } + + public void setEnderSee(final boolean set) + { + enderSee = set; + } private transient long teleportInvulnerabilityTimestamp = 0; public void enableInvulnerabilityAfterTeleport() diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandenderchest.java b/Essentials/src/com/earth2me/essentials/commands/Commandenderchest.java new file mode 100644 index 000000000..bd707d392 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commandenderchest.java @@ -0,0 +1,30 @@ +package com.earth2me.essentials.commands; + +import com.earth2me.essentials.User; +import org.bukkit.Server; + + +public class Commandenderchest extends EssentialsCommand +{ + public Commandenderchest() + { + super("enderchest"); + } + + @Override + protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception + { + if (args.length > 0 && user.isAuthorized("essentials.enderchest.others")) + { + final User invUser = getPlayer(server, args, 0); + user.openInventory(invUser.getEnderChest()); + user.setEnderSee(true); + } + else + { + user.openInventory(user.getEnderChest()); + user.setEnderSee(false); + } + + } +} diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java b/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java index a4a659e97..3964dbe67 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java @@ -1,10 +1,7 @@ package com.earth2me.essentials.commands; -import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.User; -import java.util.Arrays; import org.bukkit.Server; -import org.bukkit.inventory.ItemStack; public class Commandinvsee extends EssentialsCommand @@ -21,8 +18,8 @@ public class Commandinvsee extends EssentialsCommand { throw new NotEnoughArgumentsException(); } - final User invUser = getPlayer(server, args, 0); + final User invUser = getPlayer(server, args, 0); user.setInvSee(true); - user.openInventory(invUser.getInventory()); + user.openInventory(invUser.getInventory()); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspeed.java b/Essentials/src/com/earth2me/essentials/commands/Commandspeed.java new file mode 100644 index 000000000..8415241b1 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commandspeed.java @@ -0,0 +1,153 @@ +package com.earth2me.essentials.commands; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.User; +import org.bukkit.Server; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + + +public class Commandspeed extends EssentialsCommand +{ + public Commandspeed() + { + super("speed"); + } + + @Override + protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception + { + if (args.length < 2) + { + throw new NotEnoughArgumentsException(); + } + final boolean isFly = isFlyMode(args[0]); + final float speed = getMoveSpeed(args[1]); + speedOtherPlayers(server, sender, isFly, true, speed, args[2]); + } + + @Override + protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception + { + if (args.length < 1) + { + throw new NotEnoughArgumentsException(); + } + + boolean isFly; + float speed; + boolean isBypass = user.isAuthorized("essentials.speed.bypass"); + if (args.length == 1) + { + //isFly = user.isFlying(); + isFly = true; + speed = getMoveSpeed(args[0]); + } + else + { + //isFly = isFlyMode(args[0]); + //speed = getMoveSpeed(args[1]); + //if (args.length > 2 && user.isAuthorized("essentials.speed.others")) + //{ + // speedOtherPlayers(server, user, isFly, isBypass, speed, args[2]); + // return; + //} + isFly = true; + speed = getMoveSpeed(args[0]); + if (user.isAuthorized("essentials.speed.others")) + { + speedOtherPlayers(server, user, isFly, isBypass, speed, args[1]); + return; + } + } + + //if (isFly) + //{ + user.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); + user.sendMessage(_("moveSpeed", _("flying"), speed, user.getDisplayName())); + //} + //else + //{ + // user.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass)); + // user.sendMessage(_("moveSpeed", _("walking"), speed, user.getDisplayName())); + //} + } + + private void speedOtherPlayers(final Server server, final CommandSender sender, final boolean isFly, final boolean isBypass, final float speed, final String target) + { + for (Player matchPlayer : server.matchPlayer(target)) + { + if (isFly) + { + matchPlayer.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); + sender.sendMessage(_("moveSpeed", _("flying"), speed, matchPlayer.getDisplayName())); + } + else + { + matchPlayer.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass)); + sender.sendMessage(_("moveSpeed", _("walking"), speed, matchPlayer.getDisplayName())); + } + } + } + + private boolean isFlyMode(final String modeString) throws NotEnoughArgumentsException + { + boolean isFlyMode; + if (modeString.contains("fly") || modeString.equalsIgnoreCase("f")) + { + isFlyMode = true; + } + else if (modeString.contains("walk") || modeString.contains("run") + || modeString.equalsIgnoreCase("w") || modeString.equalsIgnoreCase("r")) + { + isFlyMode = false; + } + else + { + throw new NotEnoughArgumentsException(); + } + return isFlyMode; + } + + private float getMoveSpeed(final String moveSpeed) throws NotEnoughArgumentsException + { + float userSpeed; + try + { + userSpeed = Float.parseFloat(moveSpeed); + if (userSpeed > 10f) + { + userSpeed = 10f; + } + else if (userSpeed < 0f) + { + userSpeed = 0f; + } + } + catch (NumberFormatException e) + { + throw new NotEnoughArgumentsException(); + } + return userSpeed; + } + + private float getRealMoveSpeed(final float userSpeed, final boolean isFly, final boolean isBypass) + { + final float defaultSpeed = isFly ? 0.1f : 0.2f; + float maxSpeed = 1f; + if (!isBypass) + { + maxSpeed = (float)(isFly ? ess.getSettings().getMaxFlySpeed() : ess.getSettings().getMaxWalkSpeed()); + } + + if (userSpeed < 1f) + { + return defaultSpeed * userSpeed; + } + else + { + float ratio = ((userSpeed - 1) / 9) * (maxSpeed - defaultSpeed); + return ratio + defaultSpeed; + } + } +} diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/FakeWorld.java b/Essentials/src/com/earth2me/essentials/craftbukkit/FakeWorld.java index 93a33fcea..c08dc08b8 100644 --- a/Essentials/src/com/earth2me/essentials/craftbukkit/FakeWorld.java +++ b/Essentials/src/com/earth2me/essentials/craftbukkit/FakeWorld.java @@ -675,4 +675,22 @@ public class FakeWorld implements World { throw new UnsupportedOperationException("Not supported yet."); } + + @Override + public boolean isChunkInUse(int x, int z) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public FallingBlock spawnFallingBlock(Location location, Material material, byte data) throws IllegalArgumentException + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public FallingBlock spawnFallingBlock(Location location, int blockId, byte blockData) throws IllegalArgumentException + { + throw new UnsupportedOperationException("Not supported yet."); + } } diff --git a/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java b/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java index 0ea692cc9..9638d8d5e 100644 --- a/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java +++ b/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java @@ -18,6 +18,7 @@ public class MetricsStarter implements Runnable private enum Modules { Essentials, + EssentialsAntiBuild, EssentialsAntiCheat, EssentialsChat, EssentialsSpawn, diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index e7813af8b..cddbc1c48 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -233,7 +233,7 @@ enabledSigns: # Lower numbers will reduce the possibility of lag, but may annoy players. sign-use-per-second: 4 -# Backup runs a command while saving is disabled +# Backup runs a batch/bash command while saving is disabled backup: # Interval in minutes interval: 30 @@ -321,6 +321,9 @@ register-back-in-listener: false #Delay to wait before people can cause attack damage after logging in login-attack-delay: 5 +#Set the max fly speed, values range from 0.1 to 1.0 +max-fly-speed: 1.0 + ############################################################ # +------------------------------------------------------+ # # | EssentialsHome | # diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 9e274c165..a00ea1e7f 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77You have been healed. youHaveNewMail=\u00a7cYou have {0} messages!\u00a7f Type \u00a77/mail read\u00a7f to view your mail. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/messages_cs.properties index 5a85918c6..4b0879747 100644 --- a/Essentials/src/messages_cs.properties +++ b/Essentials/src/messages_cs.properties @@ -446,3 +446,9 @@ year=rok years=roky youAreHealed=\u00a77Byl jsi uzdraven. youHaveNewMail=\u00a7cMas {0} zprav!\u00a7f Napis \u00a77/mail read\u00a7f aby jsi si precetl sve zpravy. +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties index b33fa99e2..7a23abb8a 100644 --- a/Essentials/src/messages_da.properties +++ b/Essentials/src/messages_da.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Du er blevet healed. Halleluja! youHaveNewMail=\u00a7cDu har {0} flaskeposter!\u00a7f Type \u00a77/mail read for at se din flaskepost. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties index 22a6d84f9..8048bb599 100644 --- a/Essentials/src/messages_de.properties +++ b/Essentials/src/messages_de.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Du wurdest geheilt. youHaveNewMail=\u00a7cDu hast {0} Nachrichten!\u00a7f Schreibe \u00a77/mail read\u00a7f um deine Nachrichten anzuzeigen. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index 9e274c165..a00ea1e7f 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77You have been healed. youHaveNewMail=\u00a7cYou have {0} messages!\u00a7f Type \u00a77/mail read\u00a7f to view your mail. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties index 9cbaa9dfc..b4e8bd73a 100644 --- a/Essentials/src/messages_es.properties +++ b/Essentials/src/messages_es.properties @@ -3,60 +3,60 @@ # Translations start here # by: action=* {0} {1} -addedToAccount=\u00a7a{0} ha sido agregado a tu cuenta. -addedToOthersAccount=\u00a7a{0} added to {1}\u00a7a account. New balance: {2} -adventure = adventure -alertBroke=roto: +addedToAccount=\u00a7a{0} han sido agregados a tu cuenta. +addedToOthersAccount=\u00a7a{0} han sidos agregados a la cuenta de {1}\u00a7a. Nuevo presupuesto: {2} +adventure = Aventura +alertBroke=Roto: alertFormat=\u00a73[{0}] \u00a7f {1} \u00a76 {2} en: {3} -alertPlaced=situado: -alertUsed=usado: +alertPlaced=Situado: +alertUsed=Usado: autoAfkKickReason=Has sido echado por ausentarte mas de {0} minutos. backAfterDeath=\u00a77Usa el comando /back para volver al punto en el que moriste. backUsageMsg=\u00a77Volviendo a la localizacion anterior. -backupDisabled=An external backup script has not been configured. -backupFinished=Copia de seguridad completada -backupStarted=Comenzando copia de seguridad +backupDisabled=Un codigo externo de recuperacion no ha sido configurado. +backupFinished=Copia de seguridad completada. +backupStarted=Comenzando copia de seguridad... balance=\u00a77Cantidad: {0} -balanceTop=\u00a77Top cantidades ({0}) -banExempt=\u00a7cNo puedes banear a ese jugador -banIpAddress=\u00a77Direccion IP baneada -bannedIpsFileError=Error leyendo banned-ips.txt -bannedIpsFileNotFound=banned-ips.txt no encontrado -bannedPlayersFileError=Error leyendo banned-players.txt -bannedPlayersFileNotFound=banned-players.txt no encontrado +balanceTop=\u00a77Ranking de cantidades ({0}) +banExempt=\u00a7cNo puedes bannear a ese jugador. +banIpAddress=\u00a77Direccion IP baneada. +bannedIpsFileError=Error leyendo banned-ips.txt. +bannedIpsFileNotFound=banned-ips.txt no encontrado. +bannedPlayersFileError=Error leyendo banned-players.txt. +bannedPlayersFileNotFound=banned-players.txt no encontrado. bigTreeFailure=\u00a7cBig Generacion de arbol fallida. Prueba de nuevo en hierba o arena. bigTreeSuccess= \u00a77Big Arbol generado. -blockList=Essentials relayed the following commands to another plugin: -broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0} -buildAlert=\u00a7cNo tienes permisos para construir +blockList=Essentials le ha cedido los siguientes comandos a otros plugins: +broadcast=[\u00a7cAnuncio\u00a7f]\u00a7a {0} +buildAlert=\u00a7cNo tienes permisos para construir. bukkitFormatChanged=Version de formato de Bukkit cambiado. Version no comprobada. burnMsg=\u00a77Has puesto {0} en fuego durante {1} segundos. -canTalkAgain=\u00a77Ya puedes hablar de nuevo -cantFindGeoIpDB=No se puede encontrar la bases de datos del Geo IP -cantReadGeoIpDB=Error al intentar leer la base de datos del Geo IP +canTalkAgain=\u00a77Ya puedes hablar de nuevo. +cantFindGeoIpDB=No se puede encontrar la base de datos del Geo IP. +cantReadGeoIpDB=Error al intentar leer la base de datos del Geo IP. cantSpawnItem=\u00a7cNo tienes acceso para producir este objeto {0} chatTypeLocal=[L] chatTypeAdmin=[A] -chatTypeSpy=[Spy] -commandFailed=Command {0} fallado: +chatTypeSpy=[Espia] +commandFailed=Comando {0} fallado: commandHelpFailedForPlugin=Error obteniendo ayuda para: {0} commandNotLoaded=\u00a7cCommand {0} esta cargado incorrectamente. compassBearing=\u00a77Bearing: {0} ({1} grados). configFileMoveError=Error al mover config.yml para hacer una copia de seguridad de la localizacion. -configFileRenameError=Error al renombrar archivo temp a config.yml +configFileRenameError=Error al renombrar archivo temp a config.yml. connectedPlayers=Jugadores conectados: connectionFailed=Error al abrir conexion. -cooldownWithMessage=\u00a7cCooldown: {0} +cooldownWithMessage=\u00a7cTiempo restante: {0} corruptNodeInConfig=\u00a74Notice: Tu archivo de configuracion tiene un nodo {0} incorrecto. couldNotFindTemplate=No se puede encontrar el template {0} creatingConfigFromTemplate=Creando configuracion desde el template: {0} creatingEmptyConfig=Creando configuracion vacia: {0} -creative=creative +creative=creativo currency={0}{1} -currentWorld=Current World: {0} +currentWorld=Mundo actual: {0} day=dia days=dias -defaultBanReason=Baneado por incumplir las normas! +defaultBanReason=Baneado por desobedecer las normas! deleteFileError=No se puede borrar el archivo: {0} deleteHome=\u00a77Home {0} ha sido borrado. deleteJail=\u00a77Jail {0} ha sido borrado. @@ -64,90 +64,90 @@ deleteWarp=\u00a77Warp {0} ha sido borrado. deniedAccessCommand={0} ha denegado el acceso al comando. dependancyDownloaded=[Essentials] Dependencia {0} descargada correctamente. dependancyException=[Essentials] Error al intentar descargar la dependencia. -dependancyNotFound=[Essentials] La dependencia necesitada no se encontro, descargandola... +dependancyNotFound=[Essentials] La dependencia necesitada no se encontro, descargando... depth=\u00a77Estas al nivel del mar. depthAboveSea=\u00a77Estas {0} bloque(s) por encima del mar. depthBelowSea=\u00a77Estas {0} bloque(s) por debajo del mar. destinationNotSet=Destino no establecido. disableUnlimited=\u00a77Desactivando colocacion ilimitada de {0} para {1}. disabled=desactivado -disabledToSpawnMob=Spawning this mob was disabled in the config file. +disabledToSpawnMob=El spawn de este mob esta deshabilitado en la configuracion. dontMoveMessage=\u00a77Teletransporte comenzara en {0}. No te muevas. downloadingGeoIp=Descargando base de datos de GeoIP ... puede llevar un tiempo (pais: 0.6 MB, ciudad: 20MB) duplicatedUserdata=Datos de usuario duplicados: {0} y {1} -durability=\u00a77This tool has \u00a7c{0}\u00a77 uses left +durability=\u00a77Esta herramienta tiene \u00a7c{0}\u00a77 usos restantes. enableUnlimited=\u00a77Dando cantidad ilimitada de {0} a {1}. enabled=activado -enchantmentApplied = \u00a77The enchantment {0} has been applied to your item in hand. -enchantmentNotFound = \u00a7cEnchantment not found -enchantmentPerm = \u00a7cYou do not have the permission for {0} -enchantmentRemoved = \u00a77The enchantment {0} has been removed from your item in hand. -enchantments = \u00a77Enchantments: {0} +enchantmentApplied = \u00a77El encantamiento {0} fue aplicado al item en tu mano. +enchantmentNotFound = \u00a7cEncantamiento no encontrado. +enchantmentPerm = \u00a7cNo tienes permisos para {0} +enchantmentRemoved = \u00a77El encantamiento {0} fue removido del item en tu mano. +enchantments = \u00a77Encantamiento: {0} errorCallingCommand=Error al ejecutar el comando /{0} 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 +essentialsHelp1=Archivo corrompido, no es posible abrirlo. Essentials esta ahora desactivado. Si no puedes arreglar el archivo, ve a http://tiny.cc/EssentialsChat +essentialsHelp2=Archivo corrompido, no es posible abrirlo. Essentials esta ahora desactivado. Si no puedes arreglar el archivo, escribe /essentialshelp ingame o ve a http://tiny.cc/EssentialsChat essentialsReload=\u00a77Essentials Recargado {0} -exp=\u00a7c{0} \u00a77has\u00a7c {1} \u00a77exp (level\u00a7c {2}\u00a77) and needs\u00a7c {3} \u00a77more exp to level up. -expSet=\u00a7c{0} \u00a77now has\u00a7c {1} \u00a77exp. +exp=\u00a7c{0} \u00a77tiene\u00a7c {1} \u00a77 de exp. (nivel\u00a7c {2}\u00a77) y necesita\u00a7c {3} \u00a77de exp para subir su nivel. +expSet=\u00a7c{0} \u00a77ahora tiene\u00a7c {1} \u00a77de exp. extinguish=\u00a77Te has suicidado. extinguishOthers=\u00a77Has matado a {0}. failedToCloseConfig=Error al cerrar configuracion {0} failedToCreateConfig=Error al crear configuracion {0} failedToWriteConfig=Error al escribir configuracion {0} false=\u00a74false\u00a7f -feed=\u00a77Your appetite was sated. -feedOther=\u00a77Satisfied {0}. +feed=\u00a77Apetito satisfecho. +feedOther=\u00a77Satisfecho {0}. fileRenameError=Error al renombrar el archivo {0} -flyMode=\u00a77Set fly mode {0} for {1}. -flying=flying +flyMode=\u00a77Modo de vuelo activado {0} para {1}. +flying=volando foreverAlone=\u00a7cNo tienes nadie a quien puedas responder. freedMemory= {0} MB libres. -gameMode=\u00a77Set game mode {0} for {1}. -gcchunks= pixeles, +gameMode=\u00a77Modo de juego {0} activado para {1}. +gcchunks= pixeles gcentities= entidades gcfree=Memoria libre: {0} MB gcmax=Memoria maxima: {0} MB gctotal=Memoria localizada: {0} MB -geoIpUrlEmpty=Link para descargar GeoIP esta vacio. -geoIpUrlInvalid=Link para descargar GeoIP es invalido. +geoIpUrlEmpty=El link para descargar GeoIP esta vacio. +geoIpUrlInvalid=El link para descargar GeoIP es invalido. geoipJoinFormat=El jugador {0} viene de {1} -godDisabledFor=Desactivado para {0} -godEnabledFor=Activado para {0} -godMode=\u00a77Modo Dios {0}. -hatArmor=\u00a7cError, you cannot use this item as a hat! -hatEmpty=\u00a7cYou are not wearing a hat. -hatFail=\u00a7cYou must have something to wear in your hand. -hatPlaced=\u00a7eEnjoy your new hat! -haveBeenReleased=\u00a77Has sido liberado +godDisabledFor=desactivado para {0} +godEnabledFor=activado para {0} +godMode=\u00a77Modo de dios {0}. +hatArmor=\u00a7cNo puedes usar este item como sombrero! +hatEmpty=\u00a7cNo estas usando un sombrero. +hatFail=\u00a7cDebes tener un item en tu mano para usarlo de sombrero. +hatPlaced=\u00a7eDisfruta tu nuevo sombrero! +haveBeenReleased=\u00a77Has sido liberado. heal=\u00a77Has sido curado. healOther=\u00a77Has curado a {0}. helpConsole=Para obtener ayuda de la consola, escribe ?. -helpFrom=\u00a77Commands from {0}: +helpFrom=\u00a77Comandos de {0}: helpLine=\u00a76/{0}\u00a7f: {1} -helpMatching=\u00a77Commands matching "{0}": -helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1} +helpMatching=\u00a77Comandos que coinciden con "{0}": +helpOp=\u00a7c[AyudaOp]\u00a7f \u00a77{0}:\u00a7f {1} helpPages=Pagina \u00a7c{0}\u00a7f de \u00a7c{1}\u00a7f: -helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1} -holeInFloor=Agujero en el suelo +helpPlugin=\u00a74{0}\u00a7f: Ayuda con los plugins: /help {1} +holeInFloor=Agujero en el suelo. homeSet=\u00a77Hogar establecido. -homeSetToBed=\u00a77Tu hogar esta ahora establecido a esta cama. +homeSetToBed=\u00a77Tu hogar esta ahora establecido en esta cama. homes=Hogares: {0} hour=hora hours=horas ignorePlayer=A partir de ahora ignoras al jugador {0}. illegalDate=Forma de fecha ilegal. infoChapter=Selecciona una seccion: -infoChapterPages=Seccion {0}, pagina \u00a7c{1}\u00a7f of \u00a7c{2}\u00a7f: +infoChapterPages=Seccion {0}, pagina \u00a7c{1}\u00a7f de \u00a7c{2}\u00a7f: infoFileDoesNotExist=El archivo info.txt no existe. Creando uno para ti. infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Pagina \u00a74{0}\u00a76/\u00a74{1} \u00a7e---- infoUnknownChapter=Seccion desconocida. -invBigger=El inventario del otro usuario es mas grande que el tuyo +invBigger=El inventario del otro usuario es mas grande que el tuyo. invRestored=Tu inventario ha sido recuperado. invSee=Estas viendo el inventario de {0}. invSeeHelp=Usa /invsee para recuperar tu inventario. invalidCharge=\u00a7cCargo invalido. -invalidHome=Home {0} doesn't exist +invalidHome=El hogar {0} no existe. invalidMob=Mob invalido. invalidServer=Servidor invalido! invalidSignLine=Linea {0} en el signo es invalida. @@ -168,49 +168,49 @@ itemsCsvNotLoaded=Error al leer items.csv. jailAlreadyIncarcerated=\u00a7cLa persona ya esta en la carcel: {0} jailMessage=\u00a7cPor hacer el mal, tiempo en la carcel estaras. jailNotExist=Esa carcel no existe. -jailReleased=\u00a77Player \u00a7e{0}\u00a77 liberado. +jailReleased=\u00a77Jugador \u00a7e{0}\u00a77 liberado. jailReleasedPlayerNotify=\u00a77 Has sido liberado!! jailSentenceExtended=El tiempo en la carcel se alarga hasta: {0) -jailSet=\u00a77Carcel {0} ha sido puesta +jailSet=\u00a77La carcel {0} ha sido activada. jumpError=Eso es demasiado para tu ordenador! kickDefault=Echado del servidor. kickExempt=\u00a7cNo puedes echar a esa persona. -kickedAll=\u00a7cKicked all players from server +kickedAll=\u00a7cTodos los jugadores fueron kickeados. kill=\u00a77ha matado a {0}. kitError2=\u00a7cEse kit no existe o esta mal escrito. kitError=\u00a7cNo hay ningun kit valido. -kitErrorHelp=\u00a7cPerhaps an item is missing a quantity in the configuration? +kitErrorHelp=\u00a7cLe falta especificar la cantidad a un item en la configuracion? kitGive=\u00a77Dando kit a {0}. -kitInvFull=\u00a7cTu inventario esta lleno, su kit se pondra en el suelo +kitInvFull=\u00a7cTu inventario esta lleno, el kit se pondra en el suelo. kitTimed=\u00a7c No puedes usar ese kit de nuevo para otro{0}. kits=\u00a77Kits: {0} -lightningSmited=\u00a77Acabas de ser golpeado +lightningSmited=\u00a77Acabas de ser golpeado. lightningUse=\u00a77Golpeando a {0} listAfkTag = \u00a77[AFK]\u00a7f -listAmount = \u00a79There are \u00a7c{0}\u00a79 out of maximum \u00a7c{1}\u00a79 players online. -listAmountHidden = \u00a79There are \u00a7c{0}\u00a77/{1}\u00a79 out of maximum \u00a7c{2}\u00a79 players online. +listAmount = \u00a79Hay \u00a7c{0}\u00a79 jugadores de un maximo de \u00a7c{1}\u00a79 jugadores online. +listAmountHidden = \u00a79Hay \u00a7c{0}\u00a79 jugadores de un maximo de \u00a7c{1}\u00a79 jugadores online. listGroupTag={0}\u00a7f: -listHiddenTag = \u00a77[HIDDEN]\u00a7f -loadWarpError=Error al cargar el tenetransporte {0} +listHiddenTag = \u00a77[ESCONDIDO]\u00a7f +loadWarpError=Error al cargar el teletransporte {0} localFormat=Local: <{0}> {1} mailClear=\u00a7cPara marcar tu email como leido, escribe /mail clear mailCleared=\u00a77Email limpiado! mailSent=\u00a77Email enviado!! markMailAsRead=\u00a7cPara marcar tu email como leido, escribe /mail clear -markedAsAway=\u00a77Has sido puesto como AFK. +markedAsAway=\u00a77Has sido anunciado como AFK. markedAsNotAway=\u00a77Ya no estas AFK. maxHomes=No puedes establecer mas de {0} hogares. -mayNotJail=\u00a7cNo puedes encarcelar a esa persona +mayNotJail=\u00a7cNo puedes encarcelar a esa persona. me=yo minute=minuto minutes=minutos missingItems=No tienes {0}x de {1}. missingPrefixSuffix=Falta un prefijo o un sufijo para {0} mobSpawnError=Error al cambiar la localizacion para el nacimiento de los mobs. -mobSpawnLimit=Cantidad de Mobs limitados al limite del server +mobSpawnLimit=Cantidad de Mobs limitados al limite del server. mobSpawnTarget=El block seleccionado sera el lugar donde van a nacer los mobs. mobsAvailable=\u00a77Mobs: {0} -moneyRecievedFrom=\u00a7a{0} ha sido recivido de {1} +moneyRecievedFrom=\u00a7a{0} ha sido recibido de {1} moneySentTo=\u00a7a{0} ha sido enviado a {1} moneyTaken={0} han sido sacados de tu cuenta bancaria. month=mes @@ -221,52 +221,52 @@ muteExempt=\u00a7cNo puedes silenciar a ese jugador. mutedPlayer=Player {0} silenciado. mutedPlayerFor=Player {0} silenciado durante {1}. mutedUserSpeaks={0} intento hablar, pero esta silenciado. -nearbyPlayers=Players nearby: {0} +nearbyPlayers=Jugadores cercanos: {0} negativeBalanceError=El usuario no tiene permitido tener un saldo negativo. nickChanged=Nombre de jugador cambiado. nickDisplayName=\u00a77Tienes que habilitar cambio de nombre de usuario en la configuracion de Essentials. nickInUse=\u00a7cEse nombre ya esta en uso. nickNamesAlpha=\u00a7cLos nombres tienen que ser alfanumericos. -nickNoMore=\u00a77Ya no tienes un nombre de usuario +nickNoMore=\u00a77Ya no tienes un nombre de usuario. nickOthersPermission=\u00a7cNo tienes permiso para cambiar el nombre de usuario de otros. -nickSet=\u00a77Tu nombre es ahora \u00a7c{0} +nickSet=\u00a77Tu nombre es ahora \u00a7c{0} . noAccessCommand=\u00a7cNo tienes acceso a ese comando. -noAccessPermission=\u00a7cNo tienes permisos para hacer eso {0}. -noBreakBedrock=You are not allowed to destroy bedrock. +noAccessPermission=\u00a7cNo tienes permisos para eso {0} . +noBreakBedrock=No puedes romper roca madre. noDestroyPermission=\u00a7cNo tienes permisos para destrozar eso {0}. -noDurability=\u00a7cThis item does not have a durability. -noGodWorldWarning=\u00a7cWarning! God mode in this world disabled. +noDurability=\u00a7cEste item no tiene durabilidad. +noGodWorldWarning=\u00a7cAdvertencia! El Modo de dios ha sido desactivado en este mundo. noHelpFound=\u00a7cNo hay comandos relacionados. noHomeSet=No has establecido un hogar. noHomeSetPlayer=El jugador no ha establecido un hogar. noKitPermission=\u00a7cNecesitas los \u00a7c{0}\u00a7c permisos para usar ese kit. -noKits=\u00a77No hay kits disponibles todavia -noMail=No tienes ningun email recivido +noKits=\u00a77No hay kits disponibles aun. +noMail=No has recibido ningun email. noMotd=\u00a7cNo hay ningun mensaje del dia. noNewMail=\u00a77No tienes ningun correo nuevo. noPendingRequest=No tienes ninguna peticion pendiente. noPerm=\u00a7cNo tienes el permiso de \u00a7f{0}\u00a7c. -noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob. +noPermToSpawnMob=\u00a7cNo tienes permisos para spawnear a este mob. noPlacePermission=\u00a7cNo tienes permiso para situar ese bloque en ese lugar. noPowerTools=You have no power tools assigned. noRules=\u00a7cNo hay reglas especificadas todavia. -noWarpsDefined=No hay teletransportes definidos aun +noWarpsDefined=No hay teletransportes definidos aun. none=ninguno -notAllowedToQuestion=\u00a7cYou estas autorizado para usar las preguntas. +notAllowedToQuestion=\u00a7cNo estas autorizado para usar las preguntas. notAllowedToShout=\u00a7cNo estas autorizado para gritar. -notEnoughExperience=You do not have enough experience. +notEnoughExperience=No tienes suficiente experiencia. notEnoughMoney=No tienes el dinero suficiente. -notFlying=not flying +notFlying=no volando notRecommendedBukkit=* ! * La version de bukkit no es la recomendada para esta version de Essentials. -notSupportedYet=No esta soportado aun. -nothingInHand = \u00a7cYou have nothing in your hand. +notSupportedYet=No tiene soporte por el momento. +nothingInHand = \u00a7cNo tienes anda en tu mano. now=ahora -nuke=May death rain upon them -numberRequired=Un numero es necesario, amigo. -onlyDayNight=/time solo soporta day/night. (dia/noche) +nuke=Que la muerta afecte al que no despierte. +numberRequired=Un numero es necesario, amigo . +onlyDayNight=/time solo se utiliza con los valores day o night. (dia/noche) onlyPlayers=Solo los jugadores conectados pueden usar {0}. -onlySunStorm=/weather solo soporta sun/storm. (sol/tormenta) -orderBalances=Ordering balances of {0} users, please wait ... +onlySunStorm=/weather solo acepta los valores sun o storm. (sol/tormenta) +orderBalances=Creando un ranking de {0} usuarios segun su presupuesto, espera... pTimeCurrent=\u00a7e{0}''s\u00a7f la hora es {1}. pTimeCurrentFixed=\u00a7e{0}''s\u00a7f la hora ha sido cambiada a {1}. pTimeNormal=\u00a7e{0}''s\u00a7f el tiempo es normal y coincide con el servidor. @@ -288,7 +288,7 @@ playerMutedFor=\u00a77Has sido silenciado durante {0} playerNeverOnServer=\u00a7cEl jugador {0} nunca estuvo en este servidor. playerNotFound=\u00a7cJugador no encontrado. playerUnmuted=\u00a77Has sido desmuteado. -pong=Tkm mi ninio! +pong=Te quiero mucho! possibleWorlds=\u00a77Los mundos posibles son desde el numero 0 hasta el {0}. powerToolAir=El comando no se puede ejecutar en el aire. powerToolAlreadySet=El comando \u00a7c{0}\u00a7f ya esta asignado a {1}. @@ -299,33 +299,33 @@ powerToolListEmpty={0} no tiene comandos asignados. powerToolNoSuchCommandAssigned=El comando \u00a7c{0}\u00a7f no ha sido asignado a {1}. powerToolRemove=Comando \u00a7c{0}\u00a7f borrado desde {1}. powerToolRemoveAll=Todos los comandos borrados desde {0}. -powerToolsDisabled=All of your power tools have been disabled. -powerToolsEnabled=All of your power tools have been enabled. +powerToolsDisabled=Todas tus herramientas de poder han sido desactivadas. +powerToolsEnabled=Todas tus herramientas de poder han sido activadas. protectionOwner=\u00a76[EssentialsProtect] Dueño de la proteccion: {0} questionFormat=\u00a77[Pregunta]\u00a7f {0} -readNextPage=Type /{0} {1} to read the next page +readNextPage=escribe /{0} {1} para leer la prox. pagina. reloadAllPlugins=\u00a77Todos los plugins recargados. -removed=\u00a77Removed {0} entities. +removed=\u00a77{0} entidades removidas. repair=Has reparado satisfactoriamente tu: \u00a7e{0}. -repairAlreadyFixed=\u00a77Este objeto no necesita de reparado. -repairEnchanted=\u00a77You are not allowed to repair enchanted items. -repairInvalidType=\u00a7cEste objeto no puede ser reparado. -repairNone=No habia objetos que necesitasen ser reparados. +repairAlreadyFixed=\u00a77Este objeto no necesita ser reparado. +repairEnchanted=\u00a77No tienes permisos para reparar items encantados. +repairInvalidType=\u00a7cError: tipo de item invalido. +repairNone=No hay objetos que necesiten reparacion. requestAccepted=\u00a77Peticion de teletransporte aceptada. -requestAcceptedFrom=\u00a77{0} acepto tu peticion de teletransporte. +requestAcceptedFrom=\u00a77{0} ha aceptado tu peticion de teletransporte. requestDenied=\u00a77Peticion de teletransporte denegada. requestDeniedFrom=\u00a77{0} ha denegado tu peticion de teletransporte. requestSent=\u00a77Peticion enviada a {0}\u00a77. -requestTimedOut=\u00a7cTeleport request has timed out -requiredBukkit= * ! * You need atleast build {0} of CraftBukkit, download it from http://dl.bukkit.org/downloads/craftbukkit/ -returnPlayerToJailError=Error occurred when trying to return player {0} to jail: {1} +requestTimedOut=\u00a7cA la solicitud de teletransporte se le ha acabado el tiempo. +requiredBukkit= * ! * Necesitas al menos el build {0} de CraftBukkit, descargalo de http://dl.bukkit.org/downloads/craftbukkit/ +returnPlayerToJailError=Error al intentar regresar a un jugador {0} a la carcel: {1} second=segundo seconds=segundos seenOffline=El jugador {0} esta desconectado desde {1} -seenOnline=El jugador {0} lleva conectado desde {1} -serverFull=Servidor lleno +seenOnline=El jugador {0} esta conectado desde {1} +serverFull=Servidor lleno. serverTotal=Server Total: {0} -setSpawner=Cambiado tipo de lugar de nacimiento a {0} +setSpawner=Cambiado tipo de spawner a {0} sheepMalformedColor=Color malformado. shoutFormat=\u00a77[Shout]\u00a7f {0} signFormatFail=\u00a74[{0}] @@ -337,13 +337,13 @@ slimeMalformedSize=Medidas malformadas. soloMob=A este mob le gusta estar solo spawnSet=\u00a77El lugar de nacimiento ha sido puesto para el grupo {0}. spawned=nacido -sudoExempt=You cannot sudo this user -sudoRun=Forcing {0} to run: /{1} {2} +sudoExempt=No puedes usar el comando sudo con este user. +sudoRun=Forzando {0} a ejecutar: /{1} {2} suicideMessage=\u00a77Adios mundo cruel... -suicideSuccess= \u00a77{0} se quito su propia vida -survival=survival -takenFromAccount=\u00a7c{0} ha sido sacado de tu cuenta. -takenFromOthersAccount=\u00a7c{0} taken from {1}\u00a7c account. New balance: {2} +suicideSuccess= \u00a77{0} se quito su propia vida. +survival=supervivencia +takenFromAccount=\u00a7c{0} han sido sacados de tu cuenta. +takenFromOthersAccount=\u00a7c{0} han sidos sacados de la cuenta de {1}\u00a7c . Nuevo presupuesto: {2} teleportAAll=\u00a77Peticion de teletransporte enviada a todos los jugadores... teleportAll=\u00a77Teletransportando a todos los jugadores... teleportAtoB=\u00a77{0}\u00a77 te teletransporto a {1}\u00a77. @@ -351,7 +351,7 @@ teleportDisabled={0} tiene desactivado los teletransportes. teleportHereRequest=\u00a7c{0}\u00a7c ha pedido que te teletransportes con el. teleportNewPlayerError=Error al teletransportar al nuevo jugador teleportRequest=\u00a7c{0}\u00a7c te ha pedido teletransportarse contigo. -teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds. +teleportRequestTimeoutInfo=\u00a77A esta solicitud se le acabara el tiempo despues de {0} segundos. teleportTop=\u00a77Teletransportandote a la cima. teleportationCommencing=\u00a77Comenzando teletransporte... teleportationDisabled=\u00a77Teletransporte desactivado. @@ -359,29 +359,29 @@ teleportationEnabled=\u00a77Teletransporte activado. teleporting=\u00a77Teletransportando... teleportingPortal=\u00a77Teletransportando via portal. tempBanned=Baneado temporalmente del servidor por {0} -tempbanExempt=\u00a77No puedes banear temporalmente a ese jugador +tempbanExempt=\u00a77No puedes banear temporalmente a ese jugador. thunder= Tu has {0} los truenos en tu mundo. thunderDuration=Tu has {0} los truenos en tu mundo durante {1} seconds. timeBeforeHeal=Tiempo antes de la siguiente curacion: {0} timeBeforeTeleport=Tiempo antes del proximo teletransporte: {0} -timeFormat=\u00a73{0}\u00a7f or \u00a73{1}\u00a7f or \u00a73{2}\u00a7f +timeFormat=\u00a73{0}\u00a7f o \u00a73{1}\u00a7f o \u00a73{2}\u00a7f timePattern=(?:([0-9]+)\\s*y[a-z]*[,\\s]*)?(?:([0-9]+)\\s*mo[a-z]*[,\\s]*)?(?:([0-9]+)\\s*w[a-z]*[,\\s]*)?(?:([0-9]+)\\s*d[a-z]*[,\\s]*)?(?:([0-9]+)\\s*h[a-z]*[,\\s]*)?(?:([0-9]+)\\s*m[a-z]*[,\\s]*)?(?:([0-9]+)\\s*(?:s[a-z]*)?)? -timeSet=Time establecido en todos los mundos. +timeSet=Tiempo establecido en todos los mundos. timeSetPermission=\u00a7cNo estas autorizado para establecer la hora. timeWorldCurrent=La hora actual en {0} es \u00a73{1} -timeWorldSet=La hora ha sido establecido a {0} en: \u00a7c{1} -tps=Current TPS = {0} +timeWorldSet=La hora ha sido establecida a {0} en: \u00a7c{1} +tps=TPS actual = {0} tradeCompleted=\u00a77Intercambio completado. tradeSignEmpty=Esta tienda no tiene nada disponible para ti. tradeSignEmptyOwner=No hay nada que recojer de esta tienda. treeFailure=\u00a7cError al generar arbol. Prueba de nuevo en tierra o hierba. -treeSpawned=\u00a77Arbol puesto. +treeSpawned=\u00a77Arbol generado. true=\u00a72true\u00a7f typeTpaccept=\u00a77Para teletransportarte, escribe \u00a7c/tpaccept\u00a77. typeTpdeny=\u00a77Para denegar esta peticion, escribe \u00a7c/tpdeny\u00a77. typeWorldName=\u00a77Tu tambien puedes escribir el nombre de un mundo especifico. unableToSpawnMob=No se puede generar Mobs. -unbannedIP=IP Adress desbaneada. +unbannedIP=Direccion IP desbaneada. unbannedPlayer=Jugador desbaneado. unignorePlayer=Ya no estas ignorando al jugador {0}. unknownItemId=ID de objeto desconocido: {0} @@ -390,8 +390,8 @@ unknownItemName=Nombre de objeto desconocido: {0} unlimitedItemPermission=\u00a7cNo tienes permiso para objetos ilimitados {0}. unlimitedItems=Objetos ilimitados. unmutedPlayer=Jugador {0} desmuteado. -unvanished=\u00a7aYou are once again visible. -unvanishedReload=\u00a7cA reload has forced you to become visible. +unvanished=\u00a7aEres visible nuevamente. +unvanishedReload=\u00a7cUn reinicio te ha forzado a ser visible. upgradingFilesError=Error mientras se actualizaban los archivos userDoesNotExist=El usuario {0} no existe userIsAway={0} esta ahora ausente! @@ -401,30 +401,30 @@ userUsedPortal={0} uso un portal de salida existente. userdataMoveBackError=Error al mover userdata/{0}.tmp a userdata/{1} userdataMoveError=Error al mover userdata/{0} a userdata/{1}.tmp usingTempFolderForTesting=Usando carpeta temporal para pruebas: -vanished=\u00a7aYou have now been vanished. +vanished=\u00a7aHas desaparecido. versionMismatch=La version no coincide! Por favor actualiza {0} a la misma version. versionMismatchAll=La version no coincide! Por favor actualiza todos los jars de Essentials a la misma version. voiceSilenced=\u00a77Tu voz ha sido silenciada warpDeleteError=Problema al borrar el archivo de teletransporte. warpListPermission=\u00a7cNo tienes permiso para listar esos teletransportes. warpNotExist=Ese teletransporte no existe. -warpOverwrite=\u00a7cYou cannot overwrite that warp. -warpSet=\u00a77Teletransporte {0} establecido. +warpOverwrite=\u00a7cNo puedes sobreescribir ese atajo. +warpSet=\u00a77Atajo {0} establecido. warpUsePermission=\u00a7cNo tienes permisos para usar ese teletransporte. warpingTo=\u00a77Teletransportandote a {0}. warps=Warps: {0} warpsCount=\u00a77Hay {0} teletransportes. Mostrando pagina {1} de {2}. -weatherStorm=\u00a77Has establecido el tiempo a tormenta en este mundo. -weatherStormFor=\u00a77Has establecido el tiempo a tormenta en este {1} durante {0} segundos. -weatherSun=\u00a77Has establecido el tiempo a sol en este mundo. -weatherSunFor=\u00a77Has establecido el tiempo a sol en este {1} durante {0} segundos. +weatherStorm=\u00a77Has establecido el tiempo como tormenta en este mundo. +weatherStormFor=\u00a77Has establecido el tiempo como tormenta en este {1} durante {0} segundos. +weatherSun=\u00a77Has establecido el tiempo como sol en este mundo. +weatherSunFor=\u00a77Has establecido el tiempo como sol en este {1} durante {0} segundos. whoisAFK=\u00a76 - AFK:\u00a7f {0} whoisBanned=\u00a76 - Banned:\u00a7f {0} -whoisExp=\u00a76 - Exp:\u00a7f {0} (Level {1}) -whoisFly=\u00a76 - Fly mode:\u00a7f {0} ({1}) -whoisGamemode=\u00a76 - Gamemode:\u00a7f {0} +whoisExp=\u00a76 - Exp:\u00a7f {0} (Nivel {1}) +whoisFly=\u00a76 - Modo de vuelo:\u00a7f {0} ({1}) +whoisGamemode=\u00a76 - Modo de juego:\u00a7f {0} whoisGeoLocation=\u00a76 - Localizacion:\u00a7f {0} -whoisGod=\u00a76 - God mode:\u00a7f {0} +whoisGod=\u00a76 - Modo de dios:\u00a7f {0} whoisHealth=\u00a76 - Salud:\u00a7f {0}/20 whoisIPAddress=\u00a76 - Direccion IP:\u00a7f {0} whoisJail=\u00a76 - Jail:\u00a7f {0} @@ -443,3 +443,9 @@ youAreHealed=\u00a77Has sido curado. youHaveNewMail=\u00a7cTienes {0} mensajes!\u00a7f Pon \u00a77/mail read\u00a7f para ver tus emails no leidos!. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_fi.properties b/Essentials/src/messages_fi.properties index a2ce13b34..16173d6f2 100644 --- a/Essentials/src/messages_fi.properties +++ b/Essentials/src/messages_fi.properties @@ -414,20 +414,16 @@ weatherStorm=\u00a77Laitoit myrskyn maailmaan {0} weatherStormFor=\u00a77Laitoit myrskyn maailmaan {0} {1} sekunniksi weatherSun=\u00a77Laitoit auringon paistamaan maailmaan {0} weatherSunFor=\u00a77Laitoit auringon paistamaan maailmaan {0} {1} sekunniksi -whoisBanned=\u00a79 - Bannattu: {0} -whoisExp=\u00a79 - Exp: {0} (Taso {1}) -whoisGamemode=\u00a79 - Pelimuoto: {0} -whoisGeoLocation=\u00a79 - Sijainti: {0} -whoisGod=\u00a79 - God muoto: {0} -whoisHealth=\u00a79 - Terveys: {0}/20 -whoisIPAddress=\u00a79 - IP Osoite: {0} -whoisIs={0} on {1} -whoisJail=\u00a79 - Vankila: {0} -whoisLocation=\u00a79 - Sijainti: ({0}, {1}, {2}, {3}) -whoisMoney=\u00a79 - Raha: {0} -whoisOP=\u00a79 - OP: {0} -whoisStatusAvailable=\u00a79 - Tilanne: Saatavilla -whoisStatusAway=\u00a79 - Tilanne: \u00a7cPoissa\u00a7f +whoisBanned=\u00a76 - Banned:\u00a7f {0} +whoisExp=\u00a76 - Exp:\u00a7f {0} (Level {1}) +whoisGamemode=\u00a76 - Gamemode:\u00a7f {0} +whoisGeoLocation=\u00a76 - Location:\u00a7f {0} +whoisGod=\u00a76 - God mode:\u00a7f {0} +whoisHealth=\u00a76 - Health:\u00a7f {0}/20 +whoisIPAddress=\u00a76 - IP Address:\u00a7f {0} +whoisJail=\u00a76 - Jail:\u00a7f {0} +whoisLocation=\u00a76 - Location:\u00a7f ({0}, {1}, {2}, {3}) +whoisMoney=\u00a76 - Money:\u00a7f {0} worth=\u00a77Pino tavaraa "{0}" on arvoltaan \u00a7c{1}\u00a77 ({2} tavara(a) = {3} kappale) worthMeta=\u00a77Pino tavaraa "{0}" metadatan kanssa {1} on arvoltaan \u00a7c{2}\u00a77 ({3} tavara(a) = {4} kappale) worthSet=Arvo asetettu @@ -437,3 +433,19 @@ youAreHealed=\u00a77Sinut on parannettu. youHaveNewMail=\u00a7cSinulla on {0} viesti(\u00e4)!\u00a7f Kirjoita \u00a77/mail read\u00a7f lukeaksesi viestit. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +whoisAFK=\u00a76 - AFK:\u00a7f {0} +whoisFly=\u00a76 - Fly mode:\u00a7f {0} ({1}) +whoisMuted=\u00a76 - Muted:\u00a7f {0} +whoisNick=\u00a76 - Nick:\u00a7f {0} +whoisOp=\u00a76 - OP:\u00a7f {0} +whoisTop=\u00a76 ====== WhoIs:\u00a7f {0} \u00a76====== +walking=walking +chatTypeAdmin=[A] +flying=flying +hatEmpty=\u00a7cYou are not wearing a hat. +notFlying=not flying +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties index 33fbc4356..46053ad6c 100644 --- a/Essentials/src/messages_fr.properties +++ b/Essentials/src/messages_fr.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Vous avez \u00e9t\u00e9 soign\u00e9. youHaveNewMail=\u00a7cVous avez {0} messages ! \u00a7fEntrez \u00a77/mail read\u00a7f pour voir votre courrier. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_it.properties b/Essentials/src/messages_it.properties index b5be7ff6c..c3634eaad 100644 --- a/Essentials/src/messages_it.properties +++ b/Essentials/src/messages_it.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Sei stato curato. youHaveNewMail=\u00a7cHai {0} messaggi!\u00a7f digita \u00a77/mail read\u00a7f per consultare la tua mail. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties index fcf90035d..a56888081 100644 --- a/Essentials/src/messages_nl.properties +++ b/Essentials/src/messages_nl.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Je bent genezen. youHaveNewMail=\u00a7cJe hebt {0} berichten!\u00a7f Type \u00a77/mail read\u00a7f om je berichten te bekijken. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties index 8c177f987..9dc4d541f 100644 --- a/Essentials/src/messages_pl.properties +++ b/Essentials/src/messages_pl.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Zostales/as uleczony/na. youHaveNewMail=\u00a7cMasz {0} wiadomosci!\u00a7f napisz \u00a77/mail read\u00a7f aby je przeczytac. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/messages_pt.properties index 056428eb2..43dfa69cf 100644 --- a/Essentials/src/messages_pt.properties +++ b/Essentials/src/messages_pt.properties @@ -443,3 +443,9 @@ youAreHealed=\u00a77Voc\u00ea foi curado. youHaveNewMail=\u00a7cVoc\u00ea tem {0} mensagens!\u00a7f Digite \u00a77/mail read\u00a7f para ver seu email. hatRemoved=\u00a7eYour hat has been removed. banFormat=Banned: {0} +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +walking=walking +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/messages_se.properties b/Essentials/src/messages_se.properties index dd7bf3846..2b339f037 100644 --- a/Essentials/src/messages_se.properties +++ b/Essentials/src/messages_se.properties @@ -414,24 +414,38 @@ weatherStorm=\u00a77Du har st\u00e4llt in v\u00e4dret till storm i {0} weatherStormFor=\u00a77Du har st\u00e4llt in v\u00e4dret till storm i {0} f\u00f6r {1} sekunder weatherSun=\u00a77Du har st\u00e4llt in v\u00e4dret till sol i {0} weatherSunFor=\u00a77Du har st\u00e4llt in v\u00e4dret till sol i {0} f\u00f6r {1} sekunder -whoisBanned=\u00a79 - Bannade spelare: {0} -whoisExp=\u00a79 - Erfarenhet: {0} (Niv\u00e5 {1}) -whoisGamemode=\u00a79 - Spell\u00e4ge: {0} -whoisGeoLocation=\u00a79 - Plats: {0} -whoisGod=\u00a79 - Od\u00f6dlighet: {0} -whoisHealth=\u00a79 - H\u00e4lsa: {0}/20 -whoisIPAddress=\u00a79 - IP-Adress: {0} -whoisIs={0} \u00e4r {1} -whoisJail=\u00a79 - F\u00e4ngelse: {0} -whoisLocation=\u00a79 - Plats: ({0}, {1}, {2}, {3}) -whoisMoney=\u00a79 - Pengar: {0} -whoisOP=\u00a79 - Operat\u00f6rer: {0} -whoisStatusAvailable=\u00a79 - Status: Tillg\u00e4nglig -whoisStatusAway=\u00a79 - Status: \u00a7cBorta\u00a7f +whoisBanned=\u00a76 - Banned:\u00a7f {0} +whoisExp=\u00a76 - Exp:\u00a7f {0} (Level {1}) +whoisGamemode=\u00a76 - Gamemode:\u00a7f {0} +whoisGeoLocation=\u00a76 - Location:\u00a7f {0} +whoisGod=\u00a76 - God mode:\u00a7f {0} +whoisHealth=\u00a76 - Health:\u00a7f {0}/20 +whoisIPAddress=\u00a76 - IP Address:\u00a7f {0} +whoisJail=\u00a76 - Jail:\u00a7f {0} +whoisLocation=\u00a76 - Location:\u00a7f ({0}, {1}, {2}, {3}) +whoisMoney=\u00a76 - Money:\u00a7f {0} worth=\u00a77Stapeln med {0} ({2} objekt) \u00e4r v\u00e4rd \u00a7c{1}\u00a77 ({3} styck) worthMeta=\u00a77Stapeln med {0} av typ {1} ({3} objekt) \u00e4r v\u00e4rd \u00a7c{2}\u00a77 ({4} styck) worthSet=V\u00e4rdet inst\u00e4llt year=\u00e5r years=\u00e5r youAreHealed=\u00a77Du har blivit l\u00e4kt. -youHaveNewMail=\u00a7cDu har {0} meddelanden!\u00a7f Skriv \u00a77/mail read\u00a7f f\u00f6r att l\u00e4sa dina meddelanden.
\ No newline at end of file +youHaveNewMail=\u00a7cDu har {0} meddelanden!\u00a7f Skriv \u00a77/mail read\u00a7f f\u00f6r att l\u00e4sa dina meddelanden. +moveSpeed=\u00a77Set {0} speed to {1} for {2}. +whoisMuted=\u00a76 - Muted:\u00a7f {0} +whoisNick=\u00a76 - Nick:\u00a7f {0} +whoisOp=\u00a76 - OP:\u00a7f {0} +whoisTop=\u00a76 ====== WhoIs:\u00a7f {0} \u00a76====== +whoisAFK=\u00a76 - AFK:\u00a7f {0} +whoisFly=\u00a76 - Fly mode:\u00a7f {0} ({1}) +hatRemoved=\u00a7eYour hat has been removed. +banFormat=Banned: {0} +walking=walking +chatTypeAdmin=[A] +flying=flying +hatEmpty=\u00a7cYou are not wearing a hat. +notFlying=not flying +antiBuildPlace=\u00a74You are not permitted to place {0} here. +antiBuildBreak=\u00a74You are not permitted to break {0} blocks here. +antiBuildUse=\u00a74You are not permitted to use {0}. +antiBuildInteract=\u00a74You are not permitted to interact with {0}. diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 1ef0a0aee..899c20de6 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -9,7 +9,7 @@ authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xe commands: afk: description: Marks you as away-from-keyboard. - usage: /<command> + usage: /<command> [player] aliases: [eafk] antioch: description: 'A little surprise for operators.' @@ -87,6 +87,10 @@ commands: description: Enchants the item the user is holding. usage: /<command> <enchantmentname> [level] aliases: [enchantment,eenchant,eenchantment] + enderchest: + description: Lets you see inside an enderchest. + usage: /<command> [player] + aliases: [endersee,echest,eenderchest,eendersee,eechest] essentials: description: Reloads essentials. usage: /<command> @@ -322,6 +326,10 @@ commands: description: Spawns a mob. usage: /<command> <mob>[:data][,<mount>[:data]] [amount] [player] aliases: [espawnmob,mob,emob] + speed: + description: Change your speed limits + usage: /<command> <speed> [player] + aliases: [flyspeed,walkspeed,fspeed,wspeed,eflyspeed,ewalkspeed,efspeed,ewspeed,espeed] sudo: description: Make another user perform a command. usage: /<command> <player> <command [args]> @@ -417,7 +425,7 @@ commands: vanish: description: Hide yourself from other players. usage: /<command> [on|off] - aliases: [evanish] + aliases: [v,evanish,ev] warp: description: List all warps or warp to the specified location. usage: /<command> <pagenumber|warp> [player] diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java index 3c5d9b889..7a1052cce 100644 --- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java +++ b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java @@ -6,7 +6,6 @@ import com.earth2me.essentials.User; import java.util.logging.Level; import org.bukkit.Material; import org.bukkit.block.Block; -import org.bukkit.event.Event.Result; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -48,7 +47,7 @@ public class EssentialsAntiBuildListener implements Listener { if (ess.getSettings().isDebug()) { - ess.getLogger().log(Level.INFO, "abort checking if " + user.getName() + " has " + dataPerm + " - not directly set"); + ess.getLogger().log(Level.INFO, "DataValue perm on " + user.getName() + " is not directly set: " + dataPerm); } } @@ -64,31 +63,35 @@ public class EssentialsAntiBuildListener implements Listener } final User user = ess.getUser(event.getPlayer()); + final Block block = event.getBlockPlaced(); + final int typeId = block.getTypeId(); + final Material type = block.getType(); if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build") - && !metaPermCheck(user, "place", event.getBlock())) + && !metaPermCheck(user, "place", block)) { if (ess.getSettings().warnOnBuildDisallow()) { - user.sendMessage(_("buildAlert")); + user.sendMessage(_("antiBuildPlace", type.toString())); } event.setCancelled(true); return; } - final Block blockPlaced = event.getBlockPlaced(); - final int id = blockPlaced.getTypeId(); - - if (prot.checkProtectionItems(AntiBuildConfig.blacklist_placement, id) && !user.isAuthorized("essentials.protect.exemptplacement")) + if (prot.checkProtectionItems(AntiBuildConfig.blacklist_placement, typeId) && !user.isAuthorized("essentials.protect.exemptplacement")) { + if (ess.getSettings().warnOnBuildDisallow()) + { + user.sendMessage(_("antiBuildPlace", type.toString())); + } event.setCancelled(true); return; } - if (prot.checkProtectionItems(AntiBuildConfig.alert_on_placement, id) + if (prot.checkProtectionItems(AntiBuildConfig.alert_on_placement, typeId) && !user.isAuthorized("essentials.protect.alerts.notrigger")) { - prot.getEssentialsConnect().alert(user, blockPlaced.getType().toString(), _("alertPlaced")); + prot.getEssentialsConnect().alert(user, type.toString(), _("alertPlaced")); } } @@ -100,27 +103,31 @@ public class EssentialsAntiBuildListener implements Listener return; } final User user = ess.getUser(event.getPlayer()); + final Block block = event.getBlock(); + final int typeId = block.getTypeId(); + final Material type = block.getType(); if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build") - && !metaPermCheck(user, "break", event.getBlock())) + && !metaPermCheck(user, "break", block)) { if (ess.getSettings().warnOnBuildDisallow()) { - user.sendMessage(_("buildAlert")); + user.sendMessage(_("antiBuildBreak", type.toString())); } event.setCancelled(true); return; } - final Block block = event.getBlock(); - final int typeId = block.getTypeId(); if (prot.checkProtectionItems(AntiBuildConfig.blacklist_break, typeId) && !user.isAuthorized("essentials.protect.exemptbreak")) { + if (ess.getSettings().warnOnBuildDisallow()) + { + user.sendMessage(_("antiBuildBreak", type.toString())); + } event.setCancelled(true); return; } - final Material type = block.getType(); if (prot.checkProtectionItems(AntiBuildConfig.alert_on_break, typeId) && !user.isAuthorized("essentials.protect.alerts.notrigger")) @@ -166,25 +173,16 @@ public class EssentialsAntiBuildListener implements Listener { // Do not return if cancelled, because the interact event has 2 cancelled states. final User user = ess.getUser(event.getPlayer()); - - if (event.hasItem() - && (event.getItem().getType() == Material.WATER_BUCKET - || event.getItem().getType() == Material.LAVA_BUCKET) - && prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build")) - { - if (ess.getSettings().warnOnBuildDisallow()) - { - user.sendMessage(_("buildAlert")); - } - event.setCancelled(true); - return; - } - final ItemStack item = event.getItem(); + if (item != null && prot.checkProtectionItems(AntiBuildConfig.blacklist_usage, item.getTypeId()) && !user.isAuthorized("essentials.protect.exemptusage")) { + if (ess.getSettings().warnOnBuildDisallow()) + { + user.sendMessage(_("antiBuildUse", item.getType().toString())); + } event.setCancelled(true); return; } @@ -196,19 +194,24 @@ public class EssentialsAntiBuildListener implements Listener prot.getEssentialsConnect().alert(user, item.getType().toString(), _("alertUsed")); } - if (prot.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.interact") && !user.isAuthorized("essentials.build")) + if (prot.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build")) { - if (!metaPermCheck(user, "interact", event.getClickedBlock())) + if (event.hasItem() && !metaPermCheck(user, "interact", item.getTypeId(), item.getData().getData())) { - event.setUseInteractedBlock(Result.DENY); + event.setCancelled(true); if (ess.getSettings().warnOnBuildDisallow()) { - user.sendMessage(_("buildAlert")); + user.sendMessage(_("antiBuildUse", item.getType().toString())); } + return; } - if (event.hasItem() && !metaPermCheck(user, "use", event.getItem().getTypeId(), event.getItem().getData().getData())) + if (event.hasBlock() && !metaPermCheck(user, "interact", event.getClickedBlock())) { - event.setUseItemInHand(Result.DENY); + event.setCancelled(true); + if (ess.getSettings().warnOnBuildDisallow()) + { + user.sendMessage(_("antiBuildInteract", event.getClickedBlock().getType().toString())); + } } } } diff --git a/lib/bukkit.jar b/lib/bukkit.jar Binary files differindex 393018b17..2ba5130a8 100644 --- a/lib/bukkit.jar +++ b/lib/bukkit.jar diff --git a/lib/craftbukkit.jar b/lib/craftbukkit.jar Binary files differindex bfde8874f..af761eebc 100644 --- a/lib/craftbukkit.jar +++ b/lib/craftbukkit.jar |