diff options
60 files changed, 2278 insertions, 265 deletions
diff --git a/Essentials/src/com/earth2me/essentials/DescParseTickFormat.java b/Essentials/src/com/earth2me/essentials/DescParseTickFormat.java index bf3037e59..9c40acacc 100644 --- a/Essentials/src/com/earth2me/essentials/DescParseTickFormat.java +++ b/Essentials/src/com/earth2me/essentials/DescParseTickFormat.java @@ -6,12 +6,11 @@ import java.util.*; /** - * This utility class is used for converting between the ingame - * time in ticks to ingame time as a friendly string. - * Note that the time is INGAME. - * + * This utility class is used for converting between the ingame time in ticks to ingame time as a friendly string. Note + * that the time is INGAME. + * * http://www.minecraftwiki.net/wiki/Day/night_cycle - * + * * @author Olof Larsson */ public final class DescParseTickFormat @@ -156,30 +155,31 @@ public final class DescParseTickFormat int hours = 0; int minutes = 0; - desc = desc.toLowerCase(Locale.ENGLISH).replaceAll("[^0-9]", ""); + desc = desc.toLowerCase(Locale.ENGLISH); + String parsetime = desc.replaceAll("[^0-9]", ""); - if (desc.length() > 4) + if (parsetime.length() > 4) { throw new NumberFormatException(); } - if (desc.length() == 4) + if (parsetime.length() == 4) { - hours += Integer.parseInt(desc.substring(0, 2)); - minutes += Integer.parseInt(desc.substring(2, 4)); + hours += Integer.parseInt(parsetime.substring(0, 2)); + minutes += Integer.parseInt(parsetime.substring(2, 4)); } - else if (desc.length() == 3) + else if (parsetime.length() == 3) { - hours += Integer.parseInt(desc.substring(0, 1)); - minutes += Integer.parseInt(desc.substring(1, 3)); + hours += Integer.parseInt(parsetime.substring(0, 1)); + minutes += Integer.parseInt(parsetime.substring(1, 3)); } - else if (desc.length() == 2) + else if (parsetime.length() == 2) { - hours += Integer.parseInt(desc.substring(0, 2)); + hours += Integer.parseInt(parsetime.substring(0, 2)); } - else if (desc.length() == 1) + else if (parsetime.length() == 1) { - hours += Integer.parseInt(desc.substring(0, 1)); + hours += Integer.parseInt(parsetime.substring(0, 1)); } else { diff --git a/Essentials/src/com/earth2me/essentials/Enchantments.java b/Essentials/src/com/earth2me/essentials/Enchantments.java index 5ce10d75d..ed0051c46 100644 --- a/Essentials/src/com/earth2me/essentials/Enchantments.java +++ b/Essentials/src/com/earth2me/essentials/Enchantments.java @@ -19,47 +19,72 @@ public class Enchantments ENCHANTMENTS.put("alldamage", Enchantment.DAMAGE_ALL); ENCHANTMENTS.put("alldmg", Enchantment.DAMAGE_ALL); ENCHANTMENTS.put("sharpness", Enchantment.DAMAGE_ALL); + ENCHANTMENTS.put("arthropodsdamage", Enchantment.DAMAGE_ARTHROPODS); ENCHANTMENTS.put("ardmg", Enchantment.DAMAGE_ARTHROPODS); ENCHANTMENTS.put("baneofarthropods", Enchantment.DAMAGE_ARTHROPODS); + ENCHANTMENTS.put("undeaddamage", Enchantment.DAMAGE_UNDEAD); ENCHANTMENTS.put("smite", Enchantment.DAMAGE_UNDEAD); + ENCHANTMENTS.put("digspeed", Enchantment.DIG_SPEED); ENCHANTMENTS.put("efficiency", Enchantment.DIG_SPEED); + ENCHANTMENTS.put("durability", Enchantment.DURABILITY); ENCHANTMENTS.put("dura", Enchantment.DURABILITY); ENCHANTMENTS.put("unbreaking", Enchantment.DURABILITY); + ENCHANTMENTS.put("fireaspect", Enchantment.FIRE_ASPECT); ENCHANTMENTS.put("fire", Enchantment.FIRE_ASPECT); + ENCHANTMENTS.put("knockback", Enchantment.KNOCKBACK); + ENCHANTMENTS.put("blockslootbonus", Enchantment.LOOT_BONUS_BLOCKS); ENCHANTMENTS.put("fortune", Enchantment.LOOT_BONUS_BLOCKS); + ENCHANTMENTS.put("mobslootbonus", Enchantment.LOOT_BONUS_MOBS); ENCHANTMENTS.put("mobloot", Enchantment.LOOT_BONUS_MOBS); ENCHANTMENTS.put("looting", Enchantment.LOOT_BONUS_MOBS); + ENCHANTMENTS.put("oxygen", Enchantment.OXYGEN); ENCHANTMENTS.put("respiration", Enchantment.OXYGEN); + ENCHANTMENTS.put("protection", Enchantment.PROTECTION_ENVIRONMENTAL); ENCHANTMENTS.put("prot", Enchantment.PROTECTION_ENVIRONMENTAL); - ENCHANTMENTS.put("explosionsprotection", Enchantment.PROTECTION_EXPLOSIONS); + + ENCHANTMENTS.put("explosionsprotection", Enchantment.PROTECTION_EXPLOSIONS); ENCHANTMENTS.put("expprot", Enchantment.PROTECTION_EXPLOSIONS); ENCHANTMENTS.put("blastprotection", Enchantment.PROTECTION_EXPLOSIONS); + ENCHANTMENTS.put("fallprotection", Enchantment.PROTECTION_FALL); ENCHANTMENTS.put("fallprot", Enchantment.PROTECTION_FALL); + ENCHANTMENTS.put("featherfall", Enchantment.PROTECTION_FALL); ENCHANTMENTS.put("featherfalling", Enchantment.PROTECTION_FALL); + ENCHANTMENTS.put("fireprotection", Enchantment.PROTECTION_FIRE); ENCHANTMENTS.put("fireprot", Enchantment.PROTECTION_FIRE); + ENCHANTMENTS.put("projectileprotection", Enchantment.PROTECTION_PROJECTILE); ENCHANTMENTS.put("projprot", Enchantment.PROTECTION_PROJECTILE); + ENCHANTMENTS.put("silktouch", Enchantment.SILK_TOUCH); + ENCHANTMENTS.put("waterworker", Enchantment.WATER_WORKER); ENCHANTMENTS.put("aquaaffinity", Enchantment.WATER_WORKER); + ENCHANTMENTS.put("firearrow", Enchantment.ARROW_FIRE); + ENCHANTMENTS.put("flame", Enchantment.ARROW_FIRE); + ENCHANTMENTS.put("arrowdamage", Enchantment.ARROW_DAMAGE); + ENCHANTMENTS.put("power", Enchantment.ARROW_DAMAGE); + ENCHANTMENTS.put("arrowknockback", Enchantment.ARROW_KNOCKBACK); ENCHANTMENTS.put("arrowkb", Enchantment.ARROW_KNOCKBACK); + ENCHANTMENTS.put("punch", Enchantment.ARROW_KNOCKBACK); + ENCHANTMENTS.put("infinitearrows", Enchantment.ARROW_INFINITE); ENCHANTMENTS.put("infarrows", Enchantment.ARROW_INFINITE); + ENCHANTMENTS.put("infinity", Enchantment.ARROW_INFINITE); } public static Enchantment getByName(String name) { diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java index c3dac9b50..5a82a9fb1 100644 --- a/Essentials/src/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/com/earth2me/essentials/Essentials.java @@ -66,7 +66,7 @@ import org.yaml.snakeyaml.error.YAMLException; public class Essentials extends JavaPlugin implements IEssentials { - public static final int BUKKIT_VERSION = 2122; + public static final int BUKKIT_VERSION = 2149; private static final Logger LOGGER = Logger.getLogger("Minecraft"); private transient ISettings settings; private final transient TNTExplodeListener tntListener = new TNTExplodeListener(this); diff --git a/Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java b/Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java index 17f0f1778..3423da9d0 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java @@ -20,14 +20,14 @@ public class EssentialsBlockListener implements Listener @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onBlockPlace(final BlockPlaceEvent event) { - final User user = ess.getUser(event.getPlayer()); // Do not rely on getItemInHand(); - // http://leaky.bukkit.org/issues/663 + // http://leaky.bukkit.org/issues/663 final ItemStack is = Util.convertBlockToItem(event.getBlockPlaced()); if (is == null) { return; } + final User user = ess.getUser(event.getPlayer()); final boolean unlimitedForUser = user.hasUnlimited(is); if (unlimitedForUser && user.getGameMode() == GameMode.SURVIVAL) { diff --git a/Essentials/src/com/earth2me/essentials/EssentialsConf.java b/Essentials/src/com/earth2me/essentials/EssentialsConf.java index 85c2bbd8c..b2cb1fd12 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsConf.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsConf.java @@ -39,7 +39,7 @@ public class EssentialsConf extends YamlConfiguration this.configFile = configFile; } - public void load() + public synchronized void load() { configFile = configFile.getAbsoluteFile(); if (!configFile.getParentFile().exists()) @@ -356,7 +356,7 @@ public class EssentialsConf extends YamlConfiguration } @Override - public void save(final File file) throws IOException + public synchronized void save(final File file) throws IOException { if (file == null) { diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java index 36adf37e2..604703770 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java @@ -123,14 +123,25 @@ public class EssentialsPlayerListener implements Listener @EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(final PlayerJoinEvent event) { - ess.getBackup().onPlayerJoin(); - final User user = ess.getUser(event.getPlayer()); + ess.scheduleAsyncDelayedTask(new Runnable() + { + @Override + public void run() + { + delayedJoin(event.getPlayer()); + } + }); + } + public void delayedJoin(final Player player) + { + ess.getBackup().onPlayerJoin(); + final User user = ess.getUser(player); user.setDisplayNick(); + updateCompass(user); user.setLastLogin(System.currentTimeMillis()); - user.updateActivity(false); - updateCompass(user); + if (user.isAuthorized("essentials.sleepingignored")) { user.setSleepingIgnored(true); @@ -172,6 +183,27 @@ public class EssentialsPlayerListener implements Listener } } + private void updateCompass(final User user) + { + Location loc = user.getHome(user.getLocation()); + if (loc == null) + { + loc = user.getBedSpawnLocation(); + } + if (loc != null) + { + final Location updateLoc = loc; + ess.scheduleSyncDelayedTask(new Runnable() + { + @Override + public void run() + { + user.setCompassTarget(updateLoc); + } + }); + } + } + @EventHandler(priority = EventPriority.HIGH) public void onPlayerLogin(final PlayerLoginEvent event) { @@ -211,30 +243,24 @@ public class EssentialsPlayerListener implements Listener event.allow(); } - private void updateCompass(final User user) - { - Location loc = user.getHome(user.getLocation()); - if (loc == null) - { - loc = user.getBedSpawnLocation(); - } - if (loc != null) - { - user.setCompassTarget(loc); - } - } - @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onPlayerTeleport(final PlayerTeleportEvent event) { - //TODO: Don't fetch user unless one of these features are enabled. - final User user = ess.getUser(event.getPlayer()); - //There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports. - if ((event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND) && ess.getSettings().registerBackInListener()) + boolean backListener = ess.getSettings().registerBackInListener(); + boolean teleportInvulnerability = ess.getSettings().isTeleportInvulnerability(); + if (backListener || teleportInvulnerability) { - user.setLastLocation(); + final User user = ess.getUser(event.getPlayer()); + //There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports. + if (backListener && (event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) + { + user.setLastLocation(); + } + if (teleportInvulnerability) + { + user.enableInvulnerabilityAfterTeleport(); + } } - user.enableInvulnerabilityAfterTeleport(); } @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) @@ -309,8 +335,6 @@ public class EssentialsPlayerListener implements Listener @EventHandler(priority = EventPriority.NORMAL) public void onPlayerInteract(final PlayerInteractEvent event) { - final User user = ess.getUser(event.getPlayer()); - user.updateActivity(true); switch (event.getAction()) { case RIGHT_CLICK_BLOCK: @@ -318,16 +342,20 @@ public class EssentialsPlayerListener implements Listener { return; } - if (event.getClickedBlock().getType() == Material.BED_BLOCK && ess.getSettings().getUpdateBedAtDaytime()) + if (event.getClickedBlock().getTypeId() == Material.BED_BLOCK.getId() && ess.getSettings().getUpdateBedAtDaytime()) { event.getPlayer().setBedSpawnLocation(event.getClickedBlock().getLocation()); } break; - case LEFT_CLICK_BLOCK: case LEFT_CLICK_AIR: - if (user.hasPowerTools() && user.arePowerToolsEnabled() && usePowertools(user, event.getItem())) + case LEFT_CLICK_BLOCK: + if (event.getItem() != null && event.getMaterial() != Material.AIR) { - event.setCancelled(true); + final User user = ess.getUser(event.getPlayer()); + if (user.hasPowerTools() && user.arePowerToolsEnabled() && usePowertools(user, event.getItem().getTypeId())) + { + event.setCancelled(true); + } } break; default: @@ -335,13 +363,8 @@ public class EssentialsPlayerListener implements Listener } } - private boolean usePowertools(final User user, final ItemStack is) + private boolean usePowertools(final User user, final int id) { - int id; - if (is == null || (id = is.getTypeId()) == 0) - { - return false; - } final List<String> commandList = user.getPowertool(id); if (commandList == null || commandList.isEmpty()) { @@ -351,9 +374,8 @@ public class EssentialsPlayerListener implements Listener // We need to loop through each command and execute for (final String command : commandList) { - if (command.matches(".*\\{player\\}.*")) + if (command.contains("{player}")) { - //user.sendMessage("Click a player to use this command"); continue; } else if (command.startsWith("c:")) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java index 11f42e701..2ec8538ca 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java @@ -24,7 +24,7 @@ public class EssentialsPluginListener implements Listener, IConf ess.getAlternativeCommandsHandler().addPlugin(event.getPlugin()); if (!ess.getPaymentMethod().hasMethod() && ess.getPaymentMethod().setMethod(ess.getServer().getPluginManager())) { - ess.getLogger().log(Level.INFO, "Payment method found (" + ess.getPaymentMethod().getMethod().getName() + " version: " + ess.getPaymentMethod().getMethod().getVersion() + ")"); + ess.getLogger().log(Level.INFO, "Payment method found (" + ess.getPaymentMethod().getMethod().getLongName() + " version: " + ess.getPaymentMethod().getMethod().getVersion() + ")"); } } diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/com/earth2me/essentials/ISettings.java index 74942640e..2c07ccd58 100644 --- a/Essentials/src/com/earth2me/essentials/ISettings.java +++ b/Essentials/src/com/earth2me/essentials/ISettings.java @@ -170,5 +170,7 @@ public interface ISettings extends IConf void setMetricsEnabled(boolean metricsEnabled); - public long getTeleportInvulnerability(); + long getTeleportInvulnerability(); + + boolean isTeleportInvulnerability(); } diff --git a/Essentials/src/com/earth2me/essentials/Jails.java b/Essentials/src/com/earth2me/essentials/Jails.java index 00c9d8999..0aa90e08c 100644 --- a/Essentials/src/com/earth2me/essentials/Jails.java +++ b/Essentials/src/com/earth2me/essentials/Jails.java @@ -9,12 +9,16 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.bukkit.Bukkit; import org.bukkit.Location; +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockDamageEvent; import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerRespawnEvent; @@ -38,10 +42,8 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett { enabled = true; final PluginManager pluginManager = ess.getServer().getPluginManager(); - final JailBlockListener blockListener = new JailBlockListener(); - final JailPlayerListener playerListener = new JailPlayerListener(); + final JailListener blockListener = new JailListener(); pluginManager.registerEvents(blockListener, ess); - pluginManager.registerEvents(playerListener, ess); } @Override @@ -179,7 +181,7 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett } - private class JailBlockListener implements Listener + private class JailListener implements Listener { @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onBlockBreak(final BlockBreakEvent event) @@ -210,11 +212,25 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett event.setCancelled(true); } } - } + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) + public void onEntityDamageByEntity(final EntityDamageByEntityEvent event) + { + if (event.getCause() != DamageCause.ENTITY_ATTACK || event.getEntity().getType() != EntityType.PLAYER) + { + return; + } + final Entity damager = event.getDamager(); + if (damager.getType() == EntityType.PLAYER) + { + final User user = ess.getUser(damager); + if (user != null && user.isJailed()) + { + event.setCancelled(true); + } + } + } - private class JailPlayerListener implements Listener - { @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerInteract(final PlayerInteractEvent event) { diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/com/earth2me/essentials/Kit.java index 36a2e60b0..5edd40776 100644 --- a/Essentials/src/com/earth2me/essentials/Kit.java +++ b/Essentials/src/com/earth2me/essentials/Kit.java @@ -5,6 +5,7 @@ import static com.earth2me.essentials.I18n.capitalCase; import com.earth2me.essentials.commands.NoChargeException; import com.earth2me.essentials.craftbukkit.InventoryWorkaround; import java.util.*; +import java.util.logging.Level; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.enchantments.Enchantment; @@ -22,7 +23,7 @@ public class Kit final StringBuilder list = new StringBuilder(); for (String kiteItem : kits.getKeys(false)) { - if (user.isAuthorized("essentials.kit." + kiteItem.toLowerCase(Locale.ENGLISH))) + if (user == null || user.isAuthorized("essentials.kit." + kiteItem.toLowerCase(Locale.ENGLISH))) { list.append(" ").append(capitalCase(kiteItem)); } @@ -31,7 +32,7 @@ public class Kit } catch (Exception ex) { - throw new Exception(_("kitError")); + throw new Exception(_("kitError"), ex); } } @@ -76,7 +77,7 @@ public class Kit catch (Exception e) { user.sendMessage(_("kitError2")); - throw new Exception(_("kitErrorHelp")); + throw new Exception(_("kitErrorHelp"),e); } } @@ -104,6 +105,10 @@ public class Kit continue; } final Enchantment enchantment = Enchantments.getByName(split[0]); + if (enchantment == null) + { + throw new Exception("Enchantment not found: " + split[0]); + } int level; if (split.length > 1) { @@ -113,7 +118,14 @@ public class Kit { level = enchantment.getMaxLevel(); } - stack.addEnchantment(enchantment, level); + try + { + stack.addEnchantment(enchantment, level); + } + catch (Exception ex) + { + throw new Exception("Enchantment " + enchantment.getName() + ": " + ex.getMessage(), ex); + } } } @@ -141,7 +153,15 @@ public class Kit catch (Exception e) { user.updateInventory(); - throw new Exception(_("kitError2")); + if (ess.getSettings().isDebug()) + { + ess.getLogger().log(Level.WARNING, e.getMessage()); + } + else + { + ess.getLogger().log(Level.WARNING, e.getMessage()); + } + throw new Exception(_("kitError2"), e); } } } diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java index 9dee4e990..7ee6a7057 100644 --- a/Essentials/src/com/earth2me/essentials/Settings.java +++ b/Essentials/src/com/earth2me/essentials/Settings.java @@ -382,6 +382,8 @@ public class Settings implements ISettings config.load(); noGodWorlds = new HashSet<String>(config.getStringList("no-god-in-worlds")); enabledSigns = _getEnabledSigns(); + teleportInvulnerability = _isTeleportInvulnerability(); + disableItemPickupWhileAfk = _getDisableItemPickupWhileAfk(); itemSpawnBl = _getItemSpawnBlacklist(); kits = _getKits(); chatFormats.clear(); @@ -694,10 +696,16 @@ public class Settings implements ISettings { return config.getBoolean("register-back-in-listener", false); } + private boolean disableItemPickupWhileAfk; @Override public boolean getDisableItemPickupWhileAfk() { + return disableItemPickupWhileAfk; + } + + private boolean _getDisableItemPickupWhileAfk() + { return config.getBoolean("disable-item-pickup-while-afk", true); } @@ -745,10 +753,22 @@ public class Settings implements ISettings { this.metricsEnabled = metricsEnabled; } + private boolean teleportInvulnerability; @Override public long getTeleportInvulnerability() { return config.getLong("teleport-invulnerability", 0) * 1000; } + + private boolean _isTeleportInvulnerability() + { + return (config.getLong("teleport-invulnerability", 0) > 0); + } + + @Override + public boolean isTeleportInvulnerability() + { + return teleportInvulnerability; + } } diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/com/earth2me/essentials/Trade.java index 730037d9a..3d3f36d8c 100644 --- a/Essentials/src/com/earth2me/essentials/Trade.java +++ b/Essentials/src/com/earth2me/essentials/Trade.java @@ -20,6 +20,7 @@ import org.bukkit.inventory.ItemStack; public class Trade { private final transient String command; + private final transient String fallbackCommand; private final transient Double money; private final transient ItemStack itemStack; private final transient Integer exp; @@ -27,27 +28,33 @@ public class Trade public Trade(final String command, final IEssentials ess) { - this(command, null, null, null, ess); + this(command, null, null, null, null, ess); + } + + public Trade(final String command, final String fallback, final IEssentials ess) + { + this(command, fallback, null, null, null, ess); } public Trade(final double money, final IEssentials ess) { - this(null, money, null, null, ess); + this(null, null, money, null, null, ess); } public Trade(final ItemStack items, final IEssentials ess) { - this(null, null, items, null, ess); + this(null, null, null, items, null, ess); } public Trade(final int exp, final IEssentials ess) { - this(null, null, null, exp, ess); + this(null, null, null, null, exp, ess); } - private Trade(final String command, final Double money, final ItemStack item, final Integer exp, final IEssentials ess) + private Trade(final String command, final String fallback, final Double money, final ItemStack item, final Integer exp, final IEssentials ess) { this.command = command; + this.fallbackCommand = fallback; this.money = money; this.itemStack = item; this.exp = exp; @@ -197,6 +204,10 @@ public class Trade && !user.isAuthorized("essentials.nocommandcost." + command)) { cost = ess.getSettings().getCommandCost(command.charAt(0) == '/' ? command.substring(1) : command); + if (cost == 0.0 && fallbackCommand != null && !fallbackCommand.isEmpty()) + { + cost = ess.getSettings().getCommandCost(fallbackCommand.charAt(0) == '/' ? fallbackCommand.substring(1) : fallbackCommand); + } } return cost; } diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index f931b07d9..a8149e773 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -453,6 +453,10 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser public void setHidden(final boolean hidden) { this.hidden = hidden; + if (hidden == true) + { + setLastLogout(getLastOnlineActivity()); + } } //Returns true if status expired during this check @@ -626,7 +630,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser teleportInvulnerabilityTimestamp = 0; } } - + public boolean hasInvulnerabilityAfterTeleport() { return teleportInvulnerabilityTimestamp != 0 && teleportInvulnerabilityTimestamp >= System.currentTimeMillis(); diff --git a/Essentials/src/com/earth2me/essentials/Util.java b/Essentials/src/com/earth2me/essentials/Util.java index 510ab8a9a..73817f645 100644 --- a/Essentials/src/com/earth2me/essentials/Util.java +++ b/Essentials/src/com/earth2me/essentials/Util.java @@ -80,11 +80,17 @@ public class Util _("second"), _("seconds") }; + int accuracy = 0; for (int i = 0; i < types.length; i++) { + if (accuracy > 2) + { + break; + } int diff = dateDiff(types[i], fromDate, toDate, future); if (diff > 0) { + accuracy++; sb.append(" ").append(diff).append(" ").append(names[i * 2 + (diff > 1 ? 1 : 0)]); } } @@ -92,7 +98,7 @@ public class Util { return "now"; } - return sb.toString(); + return sb.toString().trim(); } private static int dateDiff(int type, Calendar fromDate, Calendar toDate, boolean future) @@ -209,6 +215,12 @@ public class Util { c.add(Calendar.SECOND, seconds * (future ? 1 : -1)); } + + Calendar max = new GregorianCalendar(); + max.add(Calendar.YEAR, 10); + if (c.after(max)) { + return max.getTimeInMillis(); + } return c.getTimeInMillis(); } // The player can stand inside these materials @@ -242,6 +254,7 @@ public class Util AIR_MATERIALS.add(Material.REDSTONE_TORCH_OFF.getId()); AIR_MATERIALS.add(Material.REDSTONE_TORCH_ON.getId()); AIR_MATERIALS.add(Material.STONE_BUTTON.getId()); + AIR_MATERIALS.add(Material.SNOW.getId()); AIR_MATERIALS.add(Material.SUGAR_CANE_BLOCK.getId()); AIR_MATERIALS.add(Material.DIODE_BLOCK_OFF.getId()); AIR_MATERIALS.add(Material.DIODE_BLOCK_ON.getId()); @@ -249,8 +262,10 @@ public class Util AIR_MATERIALS.add(Material.PUMPKIN_STEM.getId()); AIR_MATERIALS.add(Material.MELON_STEM.getId()); AIR_MATERIALS.add(Material.VINE.getId()); - AIR_MATERIALS.add(Material.NETHER_WARTS.getId()); + AIR_MATERIALS.add(Material.FENCE_GATE.getId()); AIR_MATERIALS.add(Material.WATER_LILY.getId()); + AIR_MATERIALS.add(Material.NETHER_FENCE.getId()); + AIR_MATERIALS.add(Material.NETHER_WARTS.getId()); for (Integer integer : AIR_MATERIALS) { diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandban.java b/Essentials/src/com/earth2me/essentials/commands/Commandban.java index bc09cbba8..ca6707088 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandban.java @@ -50,7 +50,9 @@ public class Commandban extends EssentialsCommand else { banReason = _("defaultBanReason"); + user.setBanReason(""); } + user.setBanned(true); user.kickPlayer(banReason); final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java index 62ace9357..aad79d616 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java @@ -24,7 +24,7 @@ public class Commandgamemode extends EssentialsCommand throw new NotEnoughArgumentsException(); } - gamemodeOtherPlayers(server, sender, args[0]); + gamemodeOtherPlayers(server, sender, args); } @Override @@ -32,7 +32,7 @@ public class Commandgamemode extends EssentialsCommand { if (args.length > 0 && !args[0].trim().isEmpty() && user.isAuthorized("essentials.gamemode.others")) { - gamemodeOtherPlayers(server, user, args[0]); + gamemodeOtherPlayers(server, user, args); return; } @@ -40,9 +40,9 @@ public class Commandgamemode extends EssentialsCommand user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName())); } - private void gamemodeOtherPlayers(final Server server, final CommandSender sender, final String name) + private void gamemodeOtherPlayers(final Server server, final CommandSender sender, final String[] args) { - for (Player matchPlayer : server.matchPlayer(name)) + for (Player matchPlayer : server.matchPlayer(args[0])) { final User player = ess.getUser(matchPlayer); if (player.isHidden()) @@ -50,7 +50,21 @@ public class Commandgamemode extends EssentialsCommand continue; } - player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL); + if (args.length > 1) + { + if (args[1].contains("creat") || args[1].equalsIgnoreCase("1")) + { + player.setGameMode(GameMode.CREATIVE); + } + else + { + player.setGameMode(GameMode.SURVIVAL); + } + } + else + { + player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL); + } sender.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName())); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java b/Essentials/src/com/earth2me/essentials/commands/Commandgive.java index 701fa6577..106efa6e9 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandgive.java @@ -3,6 +3,7 @@ package com.earth2me.essentials.commands; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.craftbukkit.InventoryWorkaround; import com.earth2me.essentials.User; +import com.earth2me.essentials.Util; import java.util.Locale; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -44,7 +45,12 @@ public class Commandgive extends EssentialsCommand final User giveTo = getPlayer(server, args, 0); - if (args.length > 2 && Integer.parseInt(args[2]) > 0) + if (args.length > 3 && Util.isInt(args[2]) && Util.isInt(args[3])) + { + stack.setDurability(Short.parseShort(args[2])); + stack.setAmount(Integer.parseInt(args[3])); + } + else if (args.length > 2 && Integer.parseInt(args[2]) > 0) { stack.setAmount(Integer.parseInt(args[2])); } @@ -59,7 +65,7 @@ public class Commandgive extends EssentialsCommand if (args.length > 3) { - for (int i = 3; i < args.length; i++) + for (int i = Util.isInt(args[3]) ? 4 : 3; i < args.length; i++) { final String[] split = args[i].split("[:+',;.]", 2); if (split.length < 1) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkick.java b/Essentials/src/com/earth2me/essentials/commands/Commandkick.java index ae5db48fb..3e2e08b50 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandkick.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandkick.java @@ -24,7 +24,7 @@ public class Commandkick extends EssentialsCommand } final User user = getPlayer(server, args, 0); - if (user.isAuthorized("essentials.kick.exempt")) + if (sender instanceof Player && user.isAuthorized("essentials.kick.exempt")) { throw new Exception(_("kickExempt")); } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkillall.java b/Essentials/src/com/earth2me/essentials/commands/Commandkillall.java index c0b47d20f..a455ccc20 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandkillall.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandkillall.java @@ -61,7 +61,7 @@ public class Commandkillall extends EssentialsCommand } catch (NumberFormatException e) { - throw new Exception(_("numberRequired")); + throw new Exception(_("numberRequired"), e); } } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java index 67f0fafd0..514a5acca 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java @@ -4,6 +4,7 @@ import com.earth2me.essentials.*; import static com.earth2me.essentials.I18n._; import java.util.*; import org.bukkit.Server; +import org.bukkit.command.CommandSender; public class Commandkit extends EssentialsCommand @@ -18,39 +19,75 @@ public class Commandkit extends EssentialsCommand { if (args.length < 1) { - final String kitList = Kit.listKits(ess, user); - if (kitList.length() > 0) - { - user.sendMessage(_("kits", kitList)); - } - else - { - user.sendMessage(_("noKits")); - } + listKits(user); throw new NoChargeException(); } + else if (args.length > 1 && user.isAuthorized("essentials.kit.others")) + { + final User userTo = getPlayer(server, args, 1, true); + final String kitName = args[0].toLowerCase(Locale.ENGLISH); + giveKit(userTo, user, kitName); + } else { final String kitName = args[0].toLowerCase(Locale.ENGLISH); + giveKit(user, user, kitName); + } + } + + @Override + public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception + { + if (args.length < 2) + { + listKits(sender); + throw new NoChargeException(); + } + else + { + final User userTo = getPlayer(server, args, 1, true); + final String kitName = args[0].toLowerCase(Locale.ENGLISH); + final Map<String, Object> kit = ess.getSettings().getKit(kitName); + final List<String> items = Kit.getItems(userTo, kit); + Kit.expandItems(ess, userTo, items); - if (!user.isAuthorized("essentials.kit." + kitName)) - { - throw new Exception(_("noKitPermission", "essentials.kit." + kitName)); - } + sender.sendMessage(_("kitGive", kitName)); + } + } - final List<String> items = Kit.getItems(user, kit); + private void listKits(CommandSender sender) throws Exception + { + final String kitList = Kit.listKits(ess, null); + if (kitList.length() > 0) + { + sender.sendMessage(_("kits", kitList)); + } + else + { + sender.sendMessage(_("noKits")); + } + } - Kit.checkTime(user, kitName, kit); + private void giveKit(User userTo, User userFrom, String kitName) throws Exception + { + final Map<String, Object> kit = ess.getSettings().getKit(kitName); - final Trade charge = new Trade("kit-" + kitName, ess); - charge.isAffordableFor(user); + if (!userFrom.isAuthorized("essentials.kit." + kitName)) + { + throw new Exception(_("noKitPermission", "essentials.kit." + kitName)); + } - Kit.expandItems(ess, user, items); + final List<String> items = Kit.getItems(userTo, kit); - charge.charge(user); - user.sendMessage(_("kitGive", kitName)); + Kit.checkTime(userFrom, kitName, kit); - } + final Trade charge = new Trade("kit-" + kitName, ess); + charge.isAffordableFor(userFrom); + + Kit.expandItems(ess, userTo, items); + + charge.charge(userFrom); + userTo.sendMessage(_("kitGive", kitName)); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java b/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java index ca03364b2..d1d0fb582 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java @@ -51,26 +51,18 @@ public class Commandpowertool extends EssentialsCommand { user.sendMessage(_("powerToolList", Util.joinList(powertools), itemName)); } - return; + throw new NoChargeException(); } if (command.startsWith("r:")) { - try + command = command.substring(2); + if (!powertools.contains(command)) { - command = command.substring(2); - if (!powertools.contains(command)) - { - throw new Exception(_("powerToolNoSuchCommandAssigned", command, itemName)); - } - - powertools.remove(command); - user.sendMessage(_("powerToolRemove", command, itemName)); - } - catch (Exception e) - { - user.sendMessage(e.getMessage()); - return; + throw new Exception(_("powerToolNoSuchCommandAssigned", command, itemName)); } + + powertools.remove(command); + user.sendMessage(_("powerToolRemove", command, itemName)); } else { @@ -85,7 +77,6 @@ public class Commandpowertool extends EssentialsCommand { throw new Exception(_("powerToolAlreadySet", command, itemName)); } - } else if (powertools != null && !powertools.isEmpty()) { @@ -110,6 +101,11 @@ public class Commandpowertool extends EssentialsCommand user.sendMessage(_("powerToolRemoveAll", itemName)); } + if (!user.arePowerToolsEnabled()) + { + user.setPowerToolsEnabled(true); + user.sendMessage(_("powerToolsEnabled")); + } user.setPowertool(itemStack, powertools); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandptime.java b/Essentials/src/com/earth2me/essentials/commands/Commandptime.java index b16cbdc34..738b8db1a 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandptime.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandptime.java @@ -79,7 +79,7 @@ public class Commandptime extends EssentialsCommand } catch (NumberFormatException e) { - throw new NotEnoughArgumentsException(); + throw new NotEnoughArgumentsException(e); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandremove.java b/Essentials/src/com/earth2me/essentials/commands/Commandremove.java index d245d1239..912434f08 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandremove.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandremove.java @@ -47,7 +47,7 @@ public class Commandremove extends EssentialsCommand } catch (NumberFormatException e) { - throw new Exception(_("numberRequired")); + throw new Exception(_("numberRequired"), e); } } @@ -57,7 +57,7 @@ public class Commandremove extends EssentialsCommand } catch (IllegalArgumentException e) { - throw new NotEnoughArgumentsException(); //TODO: translate and list types + throw new NotEnoughArgumentsException(e); //TODO: translate and list types } removeEntities(user, world, toRemove, radius); @@ -84,7 +84,7 @@ public class Commandremove extends EssentialsCommand } catch (IllegalArgumentException e) { - throw new NotEnoughArgumentsException(); //TODO: translate and list types + throw new NotEnoughArgumentsException(e); //TODO: translate and list types } removeEntities(sender, world, toRemove, 0); } @@ -92,8 +92,9 @@ public class Commandremove extends EssentialsCommand protected void removeEntities(final CommandSender sender, final World world, final ToRemove toRemove, int radius) throws Exception { int removed = 0; - if (radius > 0) { - radius*=radius; + if (radius > 0) + { + radius *= radius; } for (Chunk chunk : world.getLoadedChunks()) { diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrepair.java b/Essentials/src/com/earth2me/essentials/commands/Commandrepair.java index 8d1278fd0..d621109f7 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandrepair.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandrepair.java @@ -53,6 +53,8 @@ public class Commandrepair extends EssentialsCommand } else if (args[0].equalsIgnoreCase("all")) { + final Trade charge = new Trade("repair-all", ess); + charge.isAffordableFor(user); final List<String> repaired = new ArrayList<String>(); repairItems(user.getInventory().getContents(), user, repaired); @@ -69,6 +71,7 @@ public class Commandrepair extends EssentialsCommand { user.sendMessage(_("repair", Util.joinList(repaired))); } + charge.charge(user); } else @@ -102,7 +105,7 @@ public class Commandrepair extends EssentialsCommand continue; } final String itemName = item.getType().toString().toLowerCase(Locale.ENGLISH); - final Trade charge = new Trade("repair-" + itemName.replace('_', '-'), ess); + final Trade charge = new Trade("repair-" + itemName.replace('_', '-'), "repair-item", ess); try { charge.isAffordableFor(user); diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java b/Essentials/src/com/earth2me/essentials/commands/Commandseen.java index 38abb2dab..75f04da33 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandseen.java @@ -3,6 +3,7 @@ package com.earth2me.essentials.commands; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.User; import com.earth2me.essentials.Util; +import org.bukkit.Location; import org.bukkit.Server; import org.bukkit.command.CommandSender; @@ -17,16 +18,16 @@ public class Commandseen extends EssentialsCommand @Override protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { - seen(server, sender, args, true); + seen(server, sender, args, true, true); } @Override protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { - seen(server, user, args, user.isAuthorized("essentials.seen.banreason")); + seen(server, user, args, user.isAuthorized("essentials.seen.banreason"), user.isAuthorized("essentials.seen.extra")); } - protected void seen(final Server server, final CommandSender sender, final String[] args, final boolean show) throws Exception + protected void seen(final Server server, final CommandSender sender, final String[] args, final boolean showBan, final boolean extra) throws Exception { if (args.length < 1) { @@ -37,6 +38,10 @@ public class Commandseen extends EssentialsCommand User player = getPlayer(server, args, 0); player.setDisplayNick(); sender.sendMessage(_("seenOnline", player.getDisplayName(), Util.formatDateDiff(player.getLastLogin()))); + if (extra) + { + sender.sendMessage(_("whoisIPAddress", player.getAddress().getAddress().toString())); + } } catch (NoSuchFieldException e) { @@ -46,10 +51,16 @@ public class Commandseen extends EssentialsCommand throw new Exception(_("playerNotFound")); } player.setDisplayNick(); - sender.sendMessage(_("seenOffline", player.getDisplayName(), Util.formatDateDiff(player.getLastLogout()))); + sender.sendMessage(_("seenOffline", player.getName(), Util.formatDateDiff(player.getLastLogout()))); if (player.isBanned()) { - sender.sendMessage(_("whoisBanned", show ? player.getBanReason() : _("true"))); + sender.sendMessage(_("whoisBanned", showBan ? player.getBanReason() : _("true"))); + } + if (extra) + { + sender.sendMessage(_("whoisIPAddress", player.getLastLoginAddress())); + final Location loc = player.getLastLocation(); + sender.sendMessage(_("whoisLocation", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())); } } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java b/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java index ec19ca678..d59ac4a31 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java @@ -77,7 +77,7 @@ public class Commandsethome extends EssentialsCommand { user.setHome(); } - user.sendMessage(_("homeSet")); + user.sendMessage(_("homeSet", user.getLocation().getWorld().getName(), user.getLocation().getBlockX(), user.getLocation().getBlockY(), user.getLocation().getBlockZ())); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java b/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java index fdaa0eb9e..2546a76dd 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java @@ -103,7 +103,7 @@ public class Commandspawnmob extends EssentialsCommand } catch (MobException e) { - throw new Exception(_("unableToSpawnMob")); + throw new Exception(_("unableToSpawnMob"), e); } if (mountType != null) @@ -129,7 +129,7 @@ public class Commandspawnmob extends EssentialsCommand } catch (MobException e) { - throw new Exception(_("unableToSpawnMob")); + throw new Exception(_("unableToSpawnMob"), e); } spawnedMob.setPassenger(spawnedMount); } @@ -164,7 +164,7 @@ public class Commandspawnmob extends EssentialsCommand } catch (MobException e) { - throw new Exception(_("unableToSpawnMob")); + throw new Exception(_("unableToSpawnMob"), e); } spawnedMob.setPassenger(spawnedMount); } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java b/Essentials/src/com/earth2me/essentials/commands/Commandtime.java index c49f34fbd..8e5b7c017 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtime.java @@ -3,6 +3,7 @@ package com.earth2me.essentials.commands; import com.earth2me.essentials.DescParseTickFormat; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.User; +import com.earth2me.essentials.Util; import java.util.*; import org.bukkit.Server; import org.bukkit.World; @@ -19,16 +20,23 @@ public class Commandtime extends EssentialsCommand @Override public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { + final List<String> argList = new ArrayList<String>(Arrays.asList(args)); + if ((argList.remove("set") || argList.remove("add")) && Util.isInt(argList.get(0))) + { + ess.getLogger().info("debug edited 0" + argList.get(0).toString()); + } + final String[] validArgs = argList.toArray(new String[0]); + // Which World(s) are we interested in? String worldSelector = null; - if (args.length == 2) + if (validArgs.length == 2) { - worldSelector = args[1]; + worldSelector = validArgs[1]; } final Set<World> worlds = getWorlds(server, sender, worldSelector); // If no arguments we are reading the time - if (args.length == 0) + if (validArgs.length == 0) { getWorldsTime(sender, worlds); return; @@ -45,11 +53,11 @@ public class Commandtime extends EssentialsCommand long ticks; try { - ticks = DescParseTickFormat.parse(args[0]); + ticks = DescParseTickFormat.parse(validArgs[0]); } catch (NumberFormatException e) { - throw new NotEnoughArgumentsException(); + throw new NotEnoughArgumentsException(e); } setWorldsTime(sender, worlds, ticks); diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java b/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java index 53204114e..4d7ced478 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java @@ -34,6 +34,7 @@ public class Commandtpo extends EssentialsCommand } user.sendMessage(_("teleporting")); user.getTeleport().now(player, false, TeleportCause.COMMAND); + break; default: if (!user.isAuthorized("essentials.tp.others")) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java b/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java index 226fa44e3..75910cd85 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java @@ -5,6 +5,7 @@ import com.earth2me.essentials.Trade; import com.earth2me.essentials.User; import org.bukkit.Location; import org.bukkit.Server; +import org.bukkit.command.CommandSender; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -41,4 +42,30 @@ public class Commandtppos extends EssentialsCommand user.getTeleport().teleport(location, charge, TeleportCause.COMMAND); throw new NoChargeException(); } + + @Override + public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception + { + if (args.length < 4) + { + throw new NotEnoughArgumentsException(); + } + + User user = ess.getUser(server.getPlayer(args[0])); + final int x = Integer.parseInt(args[1]); + final int y = Integer.parseInt(args[2]); + final int z = Integer.parseInt(args[3]); + final Location location = new Location(user.getWorld(), x, y, z); + if (args.length > 4) + { + location.setYaw((Float.parseFloat(args[4]) + 180 + 360) % 360); + } + if (args.length > 5) + { + location.setPitch(Float.parseFloat(args[5])); + } + sender.sendMessage(_("teleporting")); + user.sendMessage(_("teleporting")); + user.getTeleport().teleport(location, null, TeleportCause.COMMAND); + } }
\ No newline at end of file diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunban.java b/Essentials/src/com/earth2me/essentials/commands/Commandunban.java index 8bc3ad068..dda1475d0 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandunban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandunban.java @@ -29,7 +29,7 @@ public class Commandunban extends EssentialsCommand } catch (NoSuchFieldException e) { - throw new Exception(_("playerNotFound")); + throw new Exception(_("playerNotFound"), e); } } } diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java b/Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java index 70d15b856..b788fa7ee 100644 --- a/Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java +++ b/Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java @@ -53,7 +53,7 @@ public class SetExpFix //Without this people would be able to use exp and then still sell it. public static int getTotalExperience(final Player player) { - int exp = (int) (getExpToLevel(player) * player.getExp()); + int exp = (int)Math.round(getExpToLevel(player) * player.getExp()); int currentLevel = player.getLevel(); while (currentLevel > 0) { diff --git a/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java b/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java index 6380b7f6c..0ea692cc9 100644 --- a/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java +++ b/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java @@ -4,6 +4,7 @@ import com.earth2me.essentials.IEssentials; import com.earth2me.essentials.metrics.Metrics.Graph; import com.earth2me.essentials.metrics.Metrics.Plotter; import com.earth2me.essentials.register.payment.Method; +import com.earth2me.essentials.register.payment.methods.VaultEco; import java.util.Locale; import java.util.logging.Level; @@ -150,11 +151,19 @@ public class MetricsStarter implements Runnable final Method method = ess.getPaymentMethod().getMethod(); if (method != null) { - String version = method.getVersion(); - final int dashPosition = version.indexOf('-'); - if (dashPosition > 0) + String version; + if (method instanceof VaultEco) { - version = version.substring(0, dashPosition); + version = ((VaultEco)method).getEconomy(); + } + else + { + version = method.getVersion(); + final int dashPosition = version.indexOf('-'); + if (dashPosition > 0) + { + version = version.substring(0, dashPosition); + } } depGraph.addPlotter(new SimplePlotter(method.getName() + " " + version)); } diff --git a/Essentials/src/com/earth2me/essentials/perm/PermissionsBukkitHandler.java b/Essentials/src/com/earth2me/essentials/perm/PermissionsBukkitHandler.java index b3cc62979..aef6401d9 100644 --- a/Essentials/src/com/earth2me/essentials/perm/PermissionsBukkitHandler.java +++ b/Essentials/src/com/earth2me/essentials/perm/PermissionsBukkitHandler.java @@ -78,6 +78,6 @@ public class PermissionsBukkitHandler extends SuperpermsHandler @Override public boolean canBuild(Player base, String group) { - return base.hasPermission("essentials.build") || base.hasPermission("permissions.build"); + return hasPermission(base, "essentials.build") || hasPermission(base, "permissions.build"); } } diff --git a/Essentials/src/com/earth2me/essentials/perm/PrivilegesHandler.java b/Essentials/src/com/earth2me/essentials/perm/PrivilegesHandler.java index c81f93cbc..6cc97f30e 100644 --- a/Essentials/src/com/earth2me/essentials/perm/PrivilegesHandler.java +++ b/Essentials/src/com/earth2me/essentials/perm/PrivilegesHandler.java @@ -55,7 +55,7 @@ public class PrivilegesHandler extends SuperpermsHandler @Override public boolean canBuild(Player base, String group) { - return base.hasPermission("essentials.build") || base.hasPermission("privileges.build"); + return hasPermission(base, "essentials.build") || hasPermission(base, "privileges.build"); } } diff --git a/Essentials/src/com/earth2me/essentials/register/payment/Method.java b/Essentials/src/com/earth2me/essentials/register/payment/Method.java index a942667e8..c4c9d401a 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/Method.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/Method.java @@ -33,6 +33,13 @@ public interface Method * @return <code>String</code> Plugin name. */ public String getName(); + + /** + * Returns the reported name of this method. + * + * @return <code>String</code> Plugin name. + */ + public String getLongName(); /** * Returns the actual version of this method. diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java index c3b71d4e3..a77a1d3b0 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java @@ -8,9 +8,8 @@ import org.bukkit.plugin.Plugin; /** * BOSEconomy 6 Implementation of Method * - * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) - * @copyright (c) 2011 - * @license AOL license <http://aol.nexua.org> + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) @copyright (c) 2011 @license AOL license + * <http://aol.nexua.org> */ @SuppressWarnings("deprecation") public class BOSE6 implements Method @@ -30,6 +29,12 @@ public class BOSE6 implements Method } @Override + public String getLongName() + { + return getName(); + } + + @Override public String getVersion() { return "0.6.2"; diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java index d21ea6244..7aab8c459 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java @@ -9,9 +9,8 @@ import org.bukkit.plugin.Plugin; * BOSEconomy 7 Implementation of Method * * @author Acrobot - * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) - * @copyright (c) 2011 - * @license AOL license <http://aol.nexua.org> + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) @copyright (c) 2011 @license AOL license + * <http://aol.nexua.org> */ public class BOSE7 implements Method { @@ -30,6 +29,12 @@ public class BOSE7 implements Method } @Override + public String getLongName() + { + return getName(); + } + + @Override public String getVersion() { return "0.7.0"; diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/MCUR.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/MCUR.java index 87d633b5c..92c4f4f19 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/MCUR.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/MCUR.java @@ -9,9 +9,7 @@ import org.bukkit.plugin.Plugin; /** * MultiCurrency Method implementation. * - * @author Acrobot - * @copyright (c) 2011 - * @license AOL license <http://aol.nexua.org> + * @author Acrobot @copyright (c) 2011 @license AOL license <http://aol.nexua.org> */ public class MCUR implements Method { @@ -30,6 +28,12 @@ public class MCUR implements Method } @Override + public String getLongName() + { + return getName(); + } + + @Override public String getVersion() { return "0.09"; diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/VaultEco.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/VaultEco.java index 84ce816cf..f0a8171f3 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/VaultEco.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/VaultEco.java @@ -34,8 +34,18 @@ public class VaultEco implements Method @Override public String getName() { - - return this.vault.getDescription().getName().concat(" - Economy: ").concat(economy == null ? "NoEco" : economy.getName()); + return this.vault.getDescription().getName(); + } + + public String getEconomy() + { + return economy == null ? "NoEco" : economy.getName(); + } + + @Override + public String getLongName() + { + return getName().concat(" - Economy: ").concat(getEconomy()); } @Override diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo4.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo4.java index 52fb36e15..4542f6743 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo4.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo4.java @@ -9,9 +9,8 @@ import org.bukkit.plugin.Plugin; /** * iConomy 4 Implementation of Method * - * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) - * @copyright (c) 2011 - * @license AOL license <http://aol.nexua.org> + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) @copyright (c) 2011 @license AOL license + * <http://aol.nexua.org> */ public class iCo4 implements Method { @@ -30,6 +29,12 @@ public class iCo4 implements Method } @Override + public String getLongName() + { + return getName(); + } + + @Override public String getVersion() { return "4"; diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java index 3b2fb2f6d..87144fa34 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java @@ -12,9 +12,8 @@ import org.bukkit.plugin.Plugin; /** * iConomy 5 Implementation of Method * - * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) - * @copyright (c) 2011 - * @license AOL license <http://aol.nexua.org> + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) @copyright (c) 2011 @license AOL license + * <http://aol.nexua.org> */ public class iCo5 implements Method { @@ -33,6 +32,12 @@ public class iCo5 implements Method } @Override + public String getLongName() + { + return getName(); + } + + @Override public String getVersion() { return "5"; diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo6.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo6.java index 1a2950847..ecd1d6aae 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo6.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo6.java @@ -11,9 +11,8 @@ import org.bukkit.plugin.Plugin; /** * iConomy 6 Implementation of Method * - * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) - * @copyright (c) 2011 - * @license AOL license <http://aol.nexua.org> + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) @copyright (c) 2011 @license AOL license + * <http://aol.nexua.org> */ public class iCo6 implements Method { @@ -32,6 +31,12 @@ public class iCo6 implements Method } @Override + public String getLongName() + { + return getName(); + } + + @Override public String getVersion() { return "6"; diff --git a/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java b/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java index 8acca9804..79e5bf2be 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java @@ -19,16 +19,18 @@ public class SignBlockListener implements Listener { private final transient IEssentials ess; private final static Logger LOGGER = Logger.getLogger("Minecraft"); + private final static int WALL_SIGN = Material.WALL_SIGN.getId(); + private final static int SIGN_POST = Material.SIGN_POST.getId(); public SignBlockListener(IEssentials ess) { this.ess = ess; } - @EventHandler(priority = EventPriority.HIGHEST) + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onBlockBreak(final BlockBreakEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } @@ -42,7 +44,7 @@ public class SignBlockListener implements Listener public boolean protectSignsAndBlocks(final Block block, final Player player) { final int mat = block.getTypeId(); - if (mat == Material.SIGN_POST.getId() || mat == Material.WALL_SIGN.getId()) + if (mat == SIGN_POST || mat == WALL_SIGN) { final Sign csign = (Sign)block.getState(); @@ -76,10 +78,10 @@ public class SignBlockListener implements Listener return false; } - @EventHandler(priority = EventPriority.HIGHEST) + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onSignChange(final SignChangeEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } @@ -107,25 +109,25 @@ public class SignBlockListener implements Listener } } - @EventHandler(priority = EventPriority.LOW) + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onBlockPlace(final BlockPlaceEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } final Block against = event.getBlockAgainst(); - if ((against.getType() == Material.WALL_SIGN - || against.getType() == Material.SIGN_POST) + if ((against.getTypeId() == WALL_SIGN + || against.getTypeId() == SIGN_POST) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(against))) { event.setCancelled(true); return; } final Block block = event.getBlock(); - if (block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (block.getTypeId() == WALL_SIGN + || block.getTypeId() == SIGN_POST) { return; } @@ -141,17 +143,17 @@ public class SignBlockListener implements Listener } } - @EventHandler(priority = EventPriority.LOW) + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onBlockBurn(final BlockBurnEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } final Block block = event.getBlock(); - if (((block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (((block.getTypeId() == WALL_SIGN + || block.getTypeId() == SIGN_POST) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) || EssentialsSign.checkIfBlockBreaksSigns(block)) { @@ -169,17 +171,17 @@ public class SignBlockListener implements Listener } } - @EventHandler(priority = EventPriority.LOW) + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onBlockIgnite(final BlockIgniteEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } final Block block = event.getBlock(); - if (((block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (((block.getTypeId() == WALL_SIGN + || block.getTypeId() == SIGN_POST) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) || EssentialsSign.checkIfBlockBreaksSigns(block)) { @@ -202,8 +204,8 @@ public class SignBlockListener implements Listener { for (Block block : event.getBlocks()) { - if (((block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (((block.getTypeId() == WALL_SIGN + || block.getTypeId() == SIGN_POST) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) || EssentialsSign.checkIfBlockBreaksSigns(block)) { @@ -228,8 +230,8 @@ public class SignBlockListener implements Listener if (event.isSticky()) { final Block block = event.getBlock(); - if (((block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (((block.getTypeId() == WALL_SIGN + || block.getTypeId() == SIGN_POST) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) || EssentialsSign.checkIfBlockBreaksSigns(block)) { diff --git a/Essentials/src/com/earth2me/essentials/signs/SignEnchant.java b/Essentials/src/com/earth2me/essentials/signs/SignEnchant.java index 5907442d9..a50ce967a 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignEnchant.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignEnchant.java @@ -41,7 +41,7 @@ public class SignEnchant extends EssentialsSign } catch (NumberFormatException ex) { - throw new SignException(ex.getMessage()); + throw new SignException(ex.getMessage(), ex); } if (level < 1 || level > enchantment.getMaxLevel()) { @@ -57,7 +57,7 @@ public class SignEnchant extends EssentialsSign } catch (Throwable ex) { - throw new SignException(ex.getMessage()); + throw new SignException(ex.getMessage(), ex); } getTrade(sign, 3, ess); return true; diff --git a/Essentials/src/com/earth2me/essentials/signs/SignEntityListener.java b/Essentials/src/com/earth2me/essentials/signs/SignEntityListener.java index a0446179f..5a6ee177d 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignEntityListener.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignEntityListener.java @@ -24,8 +24,8 @@ public class SignEntityListener implements Listener { for (Block block : event.blockList()) { - if (((block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (((block.getTypeId() == Material.WALL_SIGN.getId() + || block.getTypeId() == Material.SIGN_POST.getId()) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) || EssentialsSign.checkIfBlockBreaksSigns(block)) { @@ -43,17 +43,17 @@ public class SignEntityListener implements Listener } } - @EventHandler(priority = EventPriority.LOW) + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onEntityChangeBlock(final EntityChangeBlockEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } final Block block = event.getBlock(); - if (((block.getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST) + if (((block.getTypeId() == Material.WALL_SIGN.getId() + || block.getTypeId() == Material.SIGN_POST.getId()) && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) || EssentialsSign.checkIfBlockBreaksSigns(block)) { diff --git a/Essentials/src/com/earth2me/essentials/signs/SignPlayerListener.java b/Essentials/src/com/earth2me/essentials/signs/SignPlayerListener.java index f891c0fdb..561d8dffc 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignPlayerListener.java @@ -20,10 +20,10 @@ public class SignPlayerListener implements Listener this.ess = ess; } - @EventHandler(priority = EventPriority.LOW) + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerInteract(final PlayerInteractEvent event) { - if (event.isCancelled() || ess.getSettings().areSignsDisabled()) + if (ess.getSettings().areSignsDisabled()) { return; } @@ -33,6 +33,7 @@ public class SignPlayerListener implements Listener { return; } + final int mat = block.getTypeId(); if (mat == Material.SIGN_POST.getId() || mat == Material.WALL_SIGN.getId()) { diff --git a/Essentials/src/com/earth2me/essentials/signs/SignTrade.java b/Essentials/src/com/earth2me/essentials/signs/SignTrade.java index 6ea4f5e80..41f9fb2a5 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignTrade.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignTrade.java @@ -224,7 +224,7 @@ public class SignTrade extends EssentialsSign } catch (SignException e) { - throw new SignException(_("tradeSignEmpty")); + throw new SignException(_("tradeSignEmpty"), e); } } diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index ec1f3fc8d..70433b5b0 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -152,8 +152,11 @@ player-commands: - signs.use.balance - signs.use.buy - signs.use.disposal + - signs.use.enchant - signs.use.free + - signs.use.gamemode - signs.use.heal + - signs.use.kit - signs.use.mail - signs.use.protection - signs.use.sell diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 7707ac09a..df0706ea8 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -137,7 +137,7 @@ invSee=You see the inventory of {0}. invSeeHelp=Use /invsee to restore your inventory. invalidCharge=\u00a7cInvalid charge. invalidHome=Home {0} doesn't exist -invalidMob=Invalid mob type.& +invalidMob=Invalid mob type. invalidServer=Invalid server! invalidSignLine=Line {0} on sign is invalid. invalidWorld=\u00a7cInvalid world. diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/messages_cs.properties new file mode 100644 index 000000000..aceb622ee --- /dev/null +++ b/Essentials/src/messages_cs.properties @@ -0,0 +1,423 @@ +#version: TeamCity +# Single quotes have to be doubled: '' +# Translations start here +# by: tomasara413 - Tento preklad neni 100% presny to se opravi v dalsich verzich prekladu +action=* {0} {1} +addedToAccount=\u00a7a{0} byl p\u00f8id\u00e1n na tvuj ucet. +addedToOthersAccount=\u00a7a{0} bylo pridano na ucet hrace {1}\u00a7a. Novy obnos: {2} +alertBroke=Zlomeno: +alertFormat=\u00a73[{0}] \u00a7f {1} \u00a76 {2} na: {3} +alertPlaced=Polozeno: +alertUsed=Pouzito: +autoAfkKickReason=BYls kopnut pro {0} minut AFK. +backAfterDeath=\u00a77Pouzij prokaz /back pro navraceni do mista umrti. +backUsageMsg=\u00a77Navraceni do puvodni lokace. +backupDisabled=An external backup script has not been configured. +backupFinished=Zaloha ukoncena +backupStarted=Probiha zaloha +balance=\u00a77Obnos: {0} +balanceTop=\u00a77Nejvyssi obnosy ({0}) +banExempt=\u00a7cNemuzes zabanovat tohoto hrace. +banIpAddress=\u00a77IP zabanovana +bannedIpsFileError=Chyba pri cteni banned-ips.txt +bannedIpsFileNotFound=Soubor banned-ips.txt nenalezen +bannedPlayersFileError=Chyba pri cteni banned-players.txt +bannedPlayersFileNotFound=Soubor banned-players.txt nenalezen +bigTreeFailure=\u00a7cGenerovani velkeho stromu selhalo. Zopakuj na hline ci trave. +bigTreeSuccess= \u00a77Velky strom vygenerovan. +blockList=Essentials predavaji tyto prikazy do jin\u00e9ho pluginu: +broadcast=[\u00a7cPrenos\u00a7f]\u00a7a {0} +buildAlert=\u00a7cNemate opravneni stavet +bukkitFormatChanged=Verze bukkitu je zmnenena. Verze neni kontrolovana. +burnMsg=\u00a77Nastavils {0} do ohne po {1} sekund. +canTalkAgain=\u00a77Ted nemuzes mluvit +cantFindGeoIpDB=Nelze najit GeoIP databazi! +cantReadGeoIpDB=Nelze precist GeoIP databazi! +cantSpawnItem=\u00a7cNemas povoleno davat si {0} +chatTypeLocal=[L] +chatTypeSpy=[Spy] +commandFailed=Prikaz {0} selhal: +commandHelpFailedForPlugin=Chyba pri ziskavani napovedy: {0} +commandNotLoaded=\u00a7cPrikaz {0} je nezpravne nacten. +compassBearing=\u00a77Lozisko: {0} ({1} stupnu). +configFileMoveError=Premistovani config.yml do zalohove lokace selhalo. +configFileRenameError=Selhalo prejmenovavani souboru config.yml +connectedPlayers=Pripojeni hraci: +connectionFailed=Nepodarilo se otevrit spojeni. +cooldownWithMessage=\u00a7cPrestavka: {0} +corruptNodeInConfig=\u00a74Poznamka: vas konfiguracni soubor je poskozeny na {0} radku. +couldNotFindTemplate=Nelze najit sablonu {0} +creatingConfigFromTemplate=Vytvari se nastaveni podle sablony: {0} +creatingEmptyConfig=Vytvari se prazdne nastaveni: {0} +creative=kreativ +currency={0}{1} +day=den +days=dny +defaultBanReason=Ban promluvil! +deleteFileError=Nelze smazat soubor: {0} +deleteHome=\u00a77Domov {0} byl odstranen. +deleteJail=\u00a77Veznice {0} byla odstranena. +deleteWarp=\u00a77Warp {0} byl odstranen. +deniedAccessCommand={0} byl odepren pristup k prikazu. +dependancyDownloaded=[Essentials] Zavyslost {0} uspesne stazena. +dependancyException=[Essentials] Chyba pri stahovani zavyslosti +dependancyNotFound=[Essentials] Doporucena zavyslost nenalezena, nyni se stahuje. +depth=\u00a77Jsi na urovni more. +depthAboveSea=\u00a77Jsi {0} bloku nad urovni more. +depthBelowSea=\u00a77Jsi {0} bloku pod urovni more. +destinationNotSet=Destinace neni nastavena +disableUnlimited=\u00a77Zakazano neomoezene staveni {0} pro {1}. +disabled=Zakazano +disabledToSpawnMob=Spawnovani tohoto zivocicha neni povolane v souboru config.yml. +dontMoveMessage=\u00a77Teleportuje vas za {0}. Nehybejte se. +downloadingGeoIp=Stahovani GeoIP databaze ... to muze chvili trvat (zeme: 0.6 MB, mesto: 20MB) +duplicatedUserdata=Duplicicitni uzivatelska data: {0} a {1} +enableUnlimited=\u00a77Davani neomezeneho mnozstvi {0} hraci {1}. +enabled=Povoleno +enchantmentApplied = \u00a77Kouzlo {0} bylo aplikovano na predmnet ve vasi ruce. +enchantmentNotFound = \u00a7cKouzlo nenalezeno +enchantmentPerm = \u00a7cNemate opravneni pro {0} +enchantmentRemoved = \u00a77Kouzlo {0} bylo odstraneno z predmnetu ve vasi ruce. +enchantments = \u00a77Kouzla: {0} +errorCallingCommand=Chyba pri volani prikazu /{0} +errorWithMessage=\u00a7cChyba: {0} +essentialsHelp1=Soubor je poskozeny a Essentials ho nemuzou otevrit. Essentials jsou nyni neaktivni. Jesli soubor neumite opravit sami, bezte na http://tiny.cc/EssentialsChat +essentialsHelp2=Soubor je poskozeny a Essentials ho nemuzou otevrit. Essentials jsou nyni neaktivni. Jesli soubor neumite opravit sami, zadejte prikaz /essentialshelp ve hre nebo bezte na http://tiny.cc/EssentialsChat +essentialsReload=\u00a77Essentials Reloaded {0} +extinguish=\u00a77Uhaste se sam. +extinguishOthers=\u00a77Jsi uhasen {0}. +failedToCloseConfig=Selhalo zavirani nastaveni {0} +failedToCreateConfig=Selhalo vytvareni nastaveni {0} +failedToWriteConfig=Selhalo psani nastaveni {0} +false=falesny +feed=\u00a77Tvuj apetit byl zasycen. +feedOther=\u00a77Nasytils hrace {0}. +fileRenameError=Prejmenovavani souboru {0} selhalo +flyMode=\u00a77Set fly mode {0} for {1}. +foreverAlone=\u00a7cNeni nikdo kdo by vam mohl odpovedet. +freedMemory=Uvolneno {0} MB. +gameMode=\u00a77Nastavil herni mod {0} hraci {1}. +gcchunks= chunky, +gcentities= entity +gcfree=Volna pamet: {0} MB +gcmax=Maximalni pamet: {0} MB +gctotal=Pouzita pamet: {0} MB +geoIpUrlEmpty=GeoIP stahovaci URL je prazdna. +geoIpUrlInvalid=GeoIP stahovaci URL je chybna. +geoipJoinFormat=Hrac {0} pochazi z {1} +godDisabledFor=Zakazan pro {0} +godEnabledFor=Povolan pro {0} +godMode=\u00a77Bozsky mod {0}. +haveBeenReleased=\u00a77Byls propusten +heal=\u00a77Byls uzdraven. +healOther=\u00a77Uzdraveno {0}. +helpConsole=Pro zobrazeni napovedy pro konzoli, typ ?. +helpFrom=\u00a77Commands from {0}: +helpLine=\u00a76/{0}\u00a7f: {1} +helpMatching=\u00a77Commands matching "{0}": +helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1} +helpPages=Strana \u00a7c{0}\u00a7f z \u00a7c{1}\u00a7f: +helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1} +holeInFloor=Dira v podlaze +homeSet=\u00a77Domov nastaven. +homeSetToBed=\u00a77Tvuj domov je nyni nastaven v tve posteli. +homes=Domy: {0} +hour=hodina +hours=hodiny +ignorePlayer=Nyni ignorujes hrace {0}. +illegalDate=Nelegalni format dat. +infoChapter=Vyberte kapitolu: +infoChapterPages=Kapitol {0}, strana \u00a7c{1}\u00a7f z \u00a7c{2}\u00a7f: +infoFileDoesNotExist=Soubor info.txt neexistuje. Vytvarim jeden pro tebe. +infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Strana \u00a74{0}\u00a76/\u00a74{1} \u00a7e---- +infoUnknownChapter=Neznama kapitola. +invBigger=Ostatni uzivatelske zasoby jsou vyssi nez vase. +invRestored=Tvuj inventar byl obnoven. +invSee=Ty prohlizis inventar hrace {0}. +invSeeHelp=Pouzij prikaz /invsee pro obnoveni tveho inventare. +invalidCharge=\u00a7cNeplatny poplatek. +invalidHome=Dum {0} neexistuje +invalidMob=Neplatny typ zivocicha. +invalidServer=Neplatny server! +invalidSignLine=Linka {0} na cedulce je neplatna. +invalidWorld=\u00a7cNeplatny svet. +inventoryCleared=\u00a77Inventar vymazan. +inventoryClearedOthers=\u00a77Inventar hrace \u00a7c{0}\u00a77 vymazan. +is=je +itemCannotBeSold=Tuto vec nelze prodat hraci. +itemMustBeStacked=Vec musi byt prodavana v stacich. Mnozstvi 2s, dvou stacku, atd. +itemNotEnough1=\u00a7cNem\u00e1te dostatek t\u00e9to v\u00ecdi k prodeji. +itemNotEnough2=\u00a77Pokud chcete prodat vsechny sv\u00e9 polozky tohoto tipu typ, /sell jmeno veci +itemNotEnough3=\u00a77/sell jmeno veci -1 proda jednu vec tohoto typu. +itemSellAir=Opravdu se snazis prodat vzduch? Vem vec do ruky. +itemSold=\u00a77Prodano za \u00a7c{0} \u00a77({1} {2} v {3} kazdem) +itemSoldConsole={0} prodan {1} pro \u00a77{2} \u00a77({3} veci na {4} kazdem) +itemSpawn=\u00a77Davani {0} {1} +itemsCsvNotLoaded=Nelze nacist items.csv. +jailAlreadyIncarcerated=\u00a7cOsoba je jiz uveznena: {0} +jailMessage=\u00a7cUdelal jste zlocin, tak si dejte na cas. +jailNotExist=Tato veznice neexistuje. +jailReleased=\u00a77Hrac \u00a7e{0}\u00a77 propusten. +jailReleasedPlayerNotify=\u00a77Byls propusten! +jailSentenceExtended=Cas ve vezeni prodlouzen na: {0) +jailSet=\u00a77Vezeni {0} nastaveno +jumpError=Toto poskodi mozek vaseho pocitace. +kickDefault=Kopnut ze serveru! +kickExempt=\u00a7cNemuzes kopnout tuto osobu. +kill=\u00a77Zabito {0}. +kitError2=\u00a7cTato sada neexistuje nebo neni uplne definovana. +kitError=\u00a7cToto neni platna sada. +kitErrorHelp=\u00a7cNechybi polozka v konfiguraci? +kitGive=\u00a77Davani sady {0}. +kitInvFull=\u00a7cTvuj inventar je plny, umistuji sadu na podlahu. +kitTimed=\u00a7cNemuzete pouzit sadu pro jinou {0}. +kits=\u00a77Sady: {0} +lightningSmited=\u00a77Byls sejmut +lightningUse=\u00a77Sejimani {0} +listAfkTag = \u00a77[AFK]\u00a7f +listAmount = \u00a79Jsou tam \u00a7c{0}\u00a79 vsichni ze maximalniho poctu \u00a7c{1}\u00a79 hracu online. +listAmountHidden = \u00a79Jsou tam, \u00a7c{0}\u00a77/{1}\u00a79 vsichni z maximalniho poctu \u00a7c{2}\u00a79 hracu online. +listGroupTag={0}\u00a7f: +listHiddenTag = \u00a77[HIDDEN]\u00a7f +loadWarpError=Selhalo nacitani warpu {0} +localFormat=Lokalni: <{0}> {1} +mailClear=\u00a7cPro oznaceni prectenyh zprav, typ /mail clear +mailCleared=\u00a77Schranka vyprazdnena! +mailSent=\u00a77Zprava odeslana! +markMailAsRead=\u00a7cPro oznaceni prectenych zprav, typ /mail clear +markedAsAway=\u00a77Nyni mate ozna\u00e8eno. +markedAsNotAway=\u00a77Nyni nemate ozna\u00e8eno. +maxHomes=Nelze nastavit vice nez {0} domovu. +mayNotJail=\u00a7cNemuzes zajmout tuto osobu +me=ja +minute=minuta +minutes=minuty +missingItems=Nemate {0}x {1}. +missingPrefixSuffix=Chybi predpone nebo pripona pro {0} +mobSpawnError=Chyba pri mneneni mob spawneru. +mobSpawnLimit=Mnozstvi zivocichu bylo omezeno na limit serveru +mobSpawnTarget=Cilovy blok musi byt mob spawner. +mobsAvailable=\u00a77Zivocichove: {0} +moneyRecievedFrom=\u00a7a{0} nebyla prijata {1} +moneySentTo=\u00a7a{0} byla odeslana {1} +moneyTaken={0} prevzato z vaseho bankovniho ucty. +month=mesic +months=mesice +moreThanZero=Mnozstvi musi byt vetsi nez 0. +msgFormat=\u00a77[{0}\u00a77 -> {1}\u00a77] \u00a7f{2} +muteExempt=\u00a7cZtlumils tohoto hrace. +mutedPlayer=Hrac {0} ztlumen. +mutedPlayerFor=Hrac {0} ztlumen po dobu {1}. +mutedUserSpeaks={0} se pokusil(a) promluvit, ale je ztiseny(a). +nearbyPlayers=Hraci v blizkosti: {0} +negativeBalanceError=Uzivatel nesmi mit zaporny obnos. +nickChanged=Prezdivka zmnenena. +nickDisplayName=\u00a77Pro povoleni zmnenu nicku bezte do Essentials config. +nickInUse=\u00a7cToto jmeno je pouzivano. +nickNamesAlpha=\u00a7cPrezdivky musi byt alfanumericke. +nickNoMore=\u00a77UZ nemate prezdivku. +nickOthersPermission=\u00a7cNemate opravneni pro zmnenu nicku ostatnich hracu +nickSet=\u00a77Tvuj nickname je nyni \u00a7c{0} +noAccessCommand=\u00a7cNemate pristup k tomuto prikazu. +noAccessPermission=\u00a7cNemate opravneni pro toto {0}. +noBreakBedrock=Nemas povoleno znicit bedrock. +noDestroyPermission=\u00a7cNemas opravneni k zniceni {0}. +noGodWorldWarning=\u00a7cVarovani! Bozsky mod neni povolen v tomto svete. +noHelpFound=\u00a7cZadne odpovidajici prikazy. +noHomeSet=Nemas nastaveny domov. +noHomeSetPlayer=Tento hrac nema nastaveny domov. +noKitPermission=\u00a7cBudete potrebovat \u00a7c{0}\u00a7c opravneni pro pouzivani teto sady. +noKits=\u00a77Neni zadna dostupna sada +noMail=Nemate zadne nove zpravy +noMotd=\u00a7cNeexistuje zadna zprava ze dne. +noNewMail=\u00a77Nemas zadne nove zpravy. +noPendingRequest=Nemate cekajici zadost. +noPerm=\u00a7cNemate \u00a7f{0}\u00a7c opravneni. +noPermToSpawnMob=\u00a7cNemate opravneni pro spawnuti tohoto zivocicha. +noPlacePermission=\u00a7cNemate opravneni k polozeni tohoto bloku u teto cedulky. +noPowerTools=Nemate zadne pohonene nastroje. +noRules=\u00a7cNejsou zadna specificka pravidla. +noWarpsDefined=Zadny warp nedefinovan +none=zadny +notAllowedToQuestion=\u00a7cNejste opravneni pouzivat otazku. +notAllowedToShout=\u00a7cNemate opravneni kricet. +notEnoughExperience=Nemate dostatek skusenosti. +notEnoughMoney=Nemate dostatek financnich prostredku. +notRecommendedBukkit= * ! * Verze bukkitu neni doporucena pro Essentials. +notSupportedYet=Zatim nepodporovany. +nothingInHand = \u00a7cNemate nic v ruce. +now=nyni +nuke=Muze na ne prset smrt? +numberRequired=Cislo tam jde, hloupe. +onlyDayNight=/time podporuje pouze day/night. +onlyPlayers=Pouzivat mohou pouze hraci ve hre {0}. +onlySunStorm=/weather podporuje pouze sun/storm. +orderBalances=Razeni obnosu {0} uzivatelu, prosim cekejte ... +pTimeCurrent=\u00a7e{0}\u00a7f cas je {1}. +pTimeCurrentFixed=\u00a7e{0}\u00a7f cas je opraven na {1}. +pTimeNormal=\u00a7e{0}''s\u00a7f cas je normalni a server odpovida. +pTimeOthersPermission=\u00a7cNejste dostatecne opravnen nastavit cas ostatnim hracum. +pTimePlayers=Tito hraci maji svuj vlastni cas: +pTimeReset=Cas hracu byl obnoven pro: \u00a7e{0} +pTimeSet=Cas hracu je nastaven na \u00a73{0}\u00a7f pro: \u00a7e{1} +pTimeSetFixed=Cas hracu je opraven na \u00a73{0}\u00a7f pro: \u00a7e{1} +parseError=Chyba pri analize {0} na radku {1} +pendingTeleportCancelled=\u00a7cZadost o teleport byla zrusena. +permissionsError=Ztracene Permissions/GroupManager; chatove predpony/pripony jsou nyni mimo provoz. +playerBanned=\u00a7cHrac {0} zabanovan {1} za {2} +playerInJail=\u00a7cHrac jiz je uveznen {0}. +playerJailed=\u00a77Hrac {0} uveznen. +playerJailedFor= \u00a77Hrac {0} uveznen za {1}. +playerKicked=\u00a7cHrac {0} kopnut {1} za {2} +playerMuted=\u00a77Byls ztlumen +playerMutedFor=\u00a77Byls ztlumen za {0} +playerNeverOnServer=\u00a7cHrac {0} nikdy nebyl na tomto serveru. +playerNotFound=\u00a7cHrac nenalezen. +playerUnmuted=\u00a77Byls zesilen. +pong=Pong! +possibleWorlds=\u00a77Mozne svety jsou 0 az {0}. +powerToolAir=Prikaz nemuze byt pouzit do ovzdusi. +powerToolAlreadySet=Prikaz \u00a7c{0}\u00a7f je jiz prirazen k {1}. +powerToolAttach=\u00a7c{0}\u00a7f prikaz prirazen k {1}. +powerToolClearAll=Vsechny prikazy pro elektricke naradi byli vymazany. +powerToolList={1} ma nasledujici prikazy: \u00a7c{0}\u00a7f. +powerToolListEmpty={0} nema prizazene prikazy. +powerToolNoSuchCommandAssigned=Prikaz \u00a7c{0}\u00a7f neni prirazen {1}. +powerToolRemove=Prikaz \u00a7c{0}\u00a7f odebran od {1}. +powerToolRemoveAll=Vsechny prikazy odebrany od {0}. +powerToolsDisabled=Vsechny z tvych elektrickych nastroju jsou vyrazeny. +powerToolsEnabled=Vsechny z tvych elektrickych nastroju jsou povoleny. +protectionOwner=\u00a76[EssentialsProtect] Majitel ochrany: {0} +questionFormat=\u00a77[Otazka]\u00a7f {0} +readNextPage=Typ /{0} {1} pro precteni dalsi stranky +reloadAllPlugins=\u00a77Pluginy obnoveny. +removed=\u00a77Odstraneno {0} entit. +repair=Uspesne si opravil tvuj: \u00a7e{0}. +repairAlreadyFixed=\u00a77Tato vec je jiz opravena. +repairEnchanted=\u00a77Nemas povoleno opravovat okouzlene veci. +repairInvalidType=\u00a7cTuto vec nelze opravit. +repairNone=Tato vec nepotrebuje opravit. +requestAccepted=\u00a77Zadost o teleport prijmuta. +requestAcceptedFrom=\u00a77{0} prijmul tvou zadost o teleport. +requestDenied=\u00a77Zadost o teleport zamitnuta. +requestDeniedFrom=\u00a77{0} zamitl tvou zadoust o teleport. +requestSent=\u00a77Zadost zaslana hraci {0}\u00a77. +requestTimedOut=\u00a7cZadost o teleport vyprsela +requiredBukkit= * ! * Potrebujete alespon build {0} CraftBukkitu, stahnete jej z http://dl.bukkit.org/downloads/craftbukkit/ +returnPlayerToJailError=Chyba pri navraceni hrace {0} do veznice: {1} +second=sekunda +seconds=sekundy +seenOffline=Hrac {0} je offline, protoze {1} +seenOnline=Hrac {0} je online, protoze {1} +serverFull=Server je plny. +serverTotal=Serverova kapacita: {0} +setSpawner=Zmnenils tento mobspawner na {0} spawner +sheepMalformedColor=Poskozena barva. +shoutFormat=\u00a77[Krik]\u00a7f {0} +signFormatFail=\u00a74[{0}] +signFormatSuccess=\u00a71[{0}] +signFormatTemplate=[{0}] +signProtectInvalidLocation=\u00a74Nemas povoleno vytvaret cedule zde. +similarWarpExist=Warp s podobnym nazvem jiz existuje. +slimeMalformedSize=Poskozena velikost. +soloMob=Tento zivocich je rad sam. +spawnSet=\u00a77Spawnovaci lokace pro skupinu {0}. +spawned=spawnut +sudoExempt=Nemuzete sudo tohoto uzivatele +sudoRun=Nuti {0} pro beh: /{1} {2} +suicideMessage=\u00a77Zbohem kruty svete... +suicideSuccess= \u00a77{0} si vzal svuj vlastni zivot +survival=survival +takenFromAccount=\u00a7c{0} byli prevzaty z vaseho uctu. +takenFromOthersAccount=\u00a7c{0} prevzato z {1}\u00a7c uctu. Novy obnos: {2} +teleportAAll=\u00a77Zadost o teleport byla odeslana vsem hracum... +teleportAll=\u00a77Teleportuji vsechny hrace... +teleportAtoB=\u00a77{0}\u00a77 te teleportoval k hraci {1}\u00a77. +teleportDisabled={0} teleportovani je zakazano. +teleportHereRequest=\u00a7c{0}\u00a7c pozadal(a) aby ses k nim teleportoval(a). +teleportNewPlayerError=Selhal teleport k novemu hraci +teleportRequest=\u00a7c{0}\u00a7c Pozadal(a) aby byl(a) teleportovan(a) k vam. +teleportRequestTimeoutInfo=\u00a77Tato zadost vyprsi po {0} sekundach. +teleportTop=\u00a77Teleportuji te nahoru. +teleportationCommencing=\u00a77Zahajuje se telepotovani... +teleportationDisabled=\u00a77Teleportace zakazany. +teleportationEnabled=\u00a77Teleportace povoleny. +teleporting=\u00a77Teleportovani... +teleportingPortal=\u00a77Teleportace prez portal. +tempBanned=Docasne zabanovan na serveru pro {0} +tempbanExempt=\u00a77Nemuzete docasne zabanovat tohoto hrace. +thunder=Ty si nastavil {0} pocasi ve svete +thunderDuration=Ty si nastavil {0} pocasi na tvem svete po dobu {1} sekund. +timeBeforeHeal=Cas do dalsiho vyleceni: {0} +timeBeforeTeleport=Cas do dalsi teleportace: {0} +timeFormat=\u00a73{0}\u00a7f nebo \u00a73{1}\u00a7f nebo \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=Cas nastaven ve vsech svetech. +timeSetPermission=\u00a7cNejte autorizovan k nastavovani casu. +timeWorldCurrent=Aktualni cas v {0} je \u00a73{1} +timeWorldSet=cas nastaven na {0} ve: \u00a7c{1} +tradeCompleted=\u00a77Obchod dokoncen. +tradeSignEmpty=Obchodni znaceni pro vas nema nic k dispozici. +tradeSignEmptyOwner=Doslo zbozi, odstrante obchodni znaceni. +treeFailure=\u00a7cGenerace stromu selhala. Zopakujte na hline nebo trave. +treeSpawned=\u00a77Strom spawnut. +true=pravdivy +typeTpaccept=\u00a77Pro teleport, typ \u00a7c/tpaccept\u00a77. +typeTpdeny=\u00a77Pro zamitnuti zadosti, typ \u00a7c/tpdeny\u00a77. +typeWorldName=\u00a77Take muzete zadat nazev konkretniho sveta. +unableToSpawnMob=Udblokujte spawnovani tohoto zivocicha. +unbannedIP=IP odbanovana. +unbannedPlayer=Hrac odbanovan. +unignorePlayer=Jiz nejste ignorovan hracem {0}. +unknownItemId=Neplatna identifikace veci: {0} +unknownItemInList=Neplatna vec {0} v {1} listu. +unknownItemName=Neplatne jmeno veci: {0} +unlimitedItemPermission=\u00a7cZadne opravneni k neomezenym vecem {0}. +unlimitedItems=Neomezene veci: +unmutedPlayer=Hrac {0} zesilen. +upgradingFilesError=Chyba pri aktualizaci souboru +userDoesNotExist=Uzivatel {0} neexistuje. +userIsAway={0} je pric od klavesnice +userIsNotAway={0} je zpet u klavesnice +userJailed=\u00a77Byls uveznen +userUsedPortal={0} pouzij existujici portal k vychodu. +userdataMoveBackError=Nepodarilo se presunout userdata/{0}.tmp do userdata/{1} +userdataMoveError=Nepodarilo se presunout userdata/{0} do userdata/{1}.tmp +usingTempFolderForTesting=Pouzit docasne slozky pro testovani: +versionMismatch=Verze je zastarala! Prosim aktualizujte {0} na nejnovejsi verzi. +versionMismatchAll=Verze je zastarala! Prosim aktualizujte vsechny Essentials jar soubory na nejnovejsi verzi. +voiceSilenced=\u00a77Vas hlas byl umlcen +warpDeleteError=Problem pri odstranovani warp souboru. +warpListPermission=\u00a7cNemate dostatecna opravneni pro zobrazeni listu warpu. +warpNotExist=Tento warp neexistuje. +warpOverwrite=\u00a7cNemuzete prepsat tento warp. +warpSet=\u00a77Warp {0} nastaven. +warpUsePermission=\u00a7cNemate dostatecna opravneni k pouziti warpu. +warpingTo=\u00a77Warpuju te do {0}. +warps=Warpy: {0} +warpsCount=\u00a77Jsou tam {0} warpy. Ukazovani stran {1} ze {2}. +weatherStorm=\u00a77Nastavils bourku ve {0} +weatherStormFor=\u00a77Nastavils bourku ve {0} po dobu {1} sekund +weatherSun=\u00a77Nastavils slunecno ve {0} +weatherSunFor=\u00a77Nastavils slunecno ve {0} po dobu {1} sekund +whoisBanned=\u00a79 - Zabanovani hraci: {0} +whoisExp=\u00a79 - Exp: {0} (Level {1}) +whoisGamemode=\u00a79 - Mod hry: {0} +whoisGeoLocation=\u00a79 - Lokace: {0} +whoisGod=\u00a79 - Bozsky mode: {0} +whoisHealth=\u00a79 - Zdravi: {0}/20 +whoisIPAddress=\u00a79 - IP Adresy: {0} +whoisIs={0} je {1} +whoisJail=\u00a79 - Veznice: {0} +whoisLocation=\u00a79 - Lokace: ({0}, {1}, {2}, {3}) +whoisMoney=\u00a79 - Penize: {0} +whoisOP=\u00a79 - OP: {0} +whoisStatusAvailable=\u00a79 - Status: Dostupny +whoisStatusAway=\u00a79 - Status: \u00a7cAway\u00a7f +worth=\u00a77Stack z {0} hodnoty \u00a7c{1}\u00a77 ({2} vec(i) v {3} kazde) +worthMeta=\u00a77Stack z {0} metadat {1} hodnoty \u00a7c{2}\u00a77 ({3} vec(i) v {4} kazde) +worthSet=Informacni hodnota nastavena +year=rok +years=roky +youAreHealed=\u00a77Byls uzdraven. +youHaveNewMail=\u00a7cMas {0} zprav!\u00a7f Typ \u00a77/mail read\u00a7f pro zabrazeni tvych zprav. diff --git a/Essentials/src/messages_it.properties b/Essentials/src/messages_it.properties new file mode 100644 index 000000000..ee7511cb4 --- /dev/null +++ b/Essentials/src/messages_it.properties @@ -0,0 +1,423 @@ +#version: TeamCity +# Single quotes have to be doubled: '' +# Translations start here +# by: +action=* {0} {1} +addedToAccount=\u00a7a{0} e'' stato aggiunto al tuo account. +addedToOthersAccount=\u00a7a{0} e'' stato aggiunto all''account {1}\u00a7a. Nuovo bilancio: {2} +alertBroke=fallito: +alertFormat=\u00a73[{0}] \u00a7f {1} \u00a76 {2} a: {3} +alertPlaced=collocato: +alertUsed=usato: +autoAfkKickReason=Sei stato kickato per inattivita'' oltre i {0} minuti. +backAfterDeath=\u00a77Digita il comando /back per tornare al punto dove sei morto. +backUsageMsg=\u00a77Ritorna alla posizione precedente. +backupDisabled=Un script di backup esterno non e'' stato configurato. +backupFinished=Backup terminato +backupStarted=Backup iniziato +balance=\u00a77Bilancio: {0} +balanceTop=\u00a77Top bilanci ({0}) +banExempt=\u00a7cNon puoi bannare questo player. +banIpAddress=\u00a77IP address bannato +bannedIpsFileError=Errore di lettura banned-ips.txt +bannedIpsFileNotFound=banned-ips.txt non trovato +bannedPlayersFileError=Errore di lettura banned-players.txt +bannedPlayersFileNotFound=banned-players.txt non trovato +bigTreeFailure=\u00a7cCreazione del grande albero fallita. Riprova sull''erba o sul terreno. +bigTreeSuccess= \u00a77Grande albero creato. +blockList=Essentials ha trasmesso i seguenti comandi ad un altro plugin: +broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0} +buildAlert=\u00a7cNon hai i permessi per costruire +bukkitFormatChanged=Il formato della versione Bukkit e'' cambiato. Versione non controllata. +burnMsg=\u00a77Hai impostato{0} infuocato per {1} secondi. +canTalkAgain=\u00a77Ora puoi parlare di nuovo +cantFindGeoIpDB=Non trovo il database GeoIP! +cantReadGeoIpDB=Lettura fallita del database GeoIP! +cantSpawnItem=\u00a7cNon sei abilitato a generare l''oggetto {0} +chatTypeLocal=[L] +chatTypeSpy=[Spy] +commandFailed=Comando {0} fallito: +commandHelpFailedForPlugin=Errore nella guida di: {0} +commandNotLoaded=\u00a7cIl comando {0} non e'' stato caricato correttamente. +compassBearing=\u00a77Bussola: {0} ({1} gradi). +configFileMoveError=Impossibile spostare config.yml nel backup. +configFileRenameError=Impossibile rinominare il file temporale in config.yml +connectedPlayers=Players connessi: +connectionFailed=Connessione fallita. +cooldownWithMessage=\u00a7cIn esaurimento: {0} +corruptNodeInConfig=\u00a74Avviso: errore nel tuo file di configurazione, nodo {0}. +couldNotFindTemplate=Non trovo il template {0} +creatingConfigFromTemplate=Configurazione dal template: {0} +creatingEmptyConfig=Configurazione vuota creata: {0} +creative=creativo +currency={0}{1} +day=giorno +days=giorni +defaultBanReason=Sei stato bannato! +deleteFileError=Impossibile eliminare il file: {0} +deleteHome=\u00a77La home {0} e'' stata rimossa. +deleteJail=\u00a77La prigione {0} e'' stata rimossa. +deleteWarp=\u00a77Il Warp {0} e'' stato rimosso. +deniedAccessCommand={0} Accesso negato al comando. +dependancyDownloaded=[Essentials] Dependancy {0} download effettuato con successo. +dependancyException=[Essentials] Errore durante il download di una dependacy +dependancyNotFound=[Essentials] Una dependancy necessaria non e'' stata trovata, sto effettuando il download.. +depth=\u00a77Sei al livello del mare. +depthAboveSea=\u00a77Sei {0} blocco(i) sopra il livello del mare. +depthBelowSea=\u00a77Sei {0} blocco(i) sotto il livello del mare. +destinationNotSet=Destinazione non impostata +disableUnlimited=\u00a77Collocazione illimitata di {0} per {1} disabilitata. +disabled=disabilitato +disabledToSpawnMob=La creazione di questo mob e'' stata disabilitata nel file config. +dontMoveMessage=\u00a77Il teletrasporto iniziera'' tra {0}. Attendi. +downloadingGeoIp=Download del database GeoIP... potrebbe richiedere del tempo (nazione: 0.6 MB, citta'': 20MB) +duplicatedUserdata=Dati dell''utente duplicati: {0} e {1} +enableUnlimited=\u00a77Sto inviando una quantita'' illimitata di {0} a {1}. +enabled=abilitato +enchantmentApplied = \u00a77L''incantesimo {0} e'' stato applicato all''oggetto nelle tue mani. +enchantmentNotFound = \u00a7cIncantesimo non trovato +enchantmentPerm = \u00a7cNon hai il permesso per {0} +enchantmentRemoved = \u00a77L''incantesimo {0} e'' stato rimosso dall''oggetto nelle tue mani. +enchantments = \u00a77Incantesimi: {0} +errorCallingCommand=Errore di chiamata del comando /{0} +errorWithMessage=\u00a7cErrore: {0} +essentialsHelp1=File corrotto.. Essentials non riesce ad aprirlo. Essentials ora e'' disabilitato. Se non riesci a riparare il file, vai su http://tiny.cc/EssentialsChat +essentialsHelp2=File corrotto.. Essentials non riesce ad aprirlo. Essentials ora e'' disabilitato. Se non riesci a riparare il file, digita il comando /essentialshelp o vai su http://tiny.cc/EssentialsChat +essentialsReload=\u00a77Essentials Ricaricato {0} +extinguish=\u00a77Hai spento le fiamme. +extinguishOthers=\u00a77Hai spento le fiamme di {0}. +failedToCloseConfig=Chiusura fallita del config {0} +failedToCreateConfig=Creazione fallita del config {0} +failedToWriteConfig=Scrittura fallita del config {0} +false=falso +feed=\u00a77Ora sei sazio. +feedOther=\u00a77{0} e''stato nutrito. +fileRenameError=Rinomina del file {0} fallita +flyMode=\u00a77Modalita'' volo impostata {0} per {1}. +foreverAlone=\u00a7cNon c''e'' nessuno a cui rispondere. +freedMemory=Liberati {0} MB. +gameMode=\u00a77Modalita''di gioco {0} impostata per {1}. +gcchunks= blocchi, +gcentities= entita'' +gcfree=Memoria libera: {0} MB +gcmax=Memoria massima: {0} MB +gctotal=Memoria allocata: {0} MB +geoIpUrlEmpty=L''url del download di GeoIP e'' vuoto. +geoIpUrlInvalid=L''url del download di GeoIP non e'' valido. +geoipJoinFormat=Il Player {0} proviene da {1} +godDisabledFor=God disabilitato per {0} +godEnabledFor=God abilitato per {0} +godMode=\u00a77Modalita'' God {0}. +haveBeenReleased=\u00a77Sei stato scarcerato. +heal=\u00a77Sei stato curato. +healOther=\u00a77{0} e'' stato curato. +helpConsole=Digitare ? per la guida. +helpFrom=\u00a77Comandi da {0}: +helpLine=\u00a76/{0}\u00a7f: {1} +helpMatching=\u00a77Corrispondenza comandi "{0}": +helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1} +helpPages=Pagina \u00a7c{0}\u00a7f di \u00a7c{1}\u00a7f: +helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1} +holeInFloor=Buco nel terreno +homeSet=\u00a77Home impostata. +homeSetToBed=\u00a77La tua home e'' ora assegnata a questo letto. +homes=Homes: {0} +hour=ora +hours=ore +ignorePlayer=Da ora in poi ignorerai {0}. +illegalDate=Formato data/ora non riconosciuto. +infoChapter=Seleziona capitolo: +infoChapterPages=Capitolo {0}, pagina \u00a7c{1}\u00a7f di \u00a7c{2}\u00a7f: +infoFileDoesNotExist=Il file info.txt non esiste. Creane uno per te. +infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Pagina \u00a74{0}\u00a76/\u00a74{1} \u00a7e---- +infoUnknownChapter=Capitolo sconosciuto. +invBigger=L''inventario degli altri utenti e'' piu'' grande del tuo. +invRestored=l tuo inventario e'' stato ripristinato. +invSee=Stai guardando l''inventario di {0}. +invSeeHelp=Digita /invsee per ripristinare il tuo inventario. +invalidCharge=\u00a7cIIstruzione non corretta. +invalidHome=La home {0} non esiste +invalidMob=Tipo mob non valido. +invalidServer=Server non valido! +invalidSignLine=Riga {0} non corretta. +invalidWorld=\u00a7cMondo incorretto. +inventoryCleared=\u00a77Inventario cancellato. +inventoryClearedOthers=\u00a77Inventario di \u00a7c{0}\u00a77 cancellato. +is=e'' +itemCannotBeSold=L''oggetto non puo'' essere venduto. +itemMustBeStacked=L''oggetto deve essere commerciato in pile. 2 quantita'' equivalgono a 2 pile, etc. +itemNotEnough1=\u00a7cNon hai abbastanza quantita'' di questo oggetto per venderlo. +itemNotEnough2=\u00a77Se vuoi vendere tutti gli oggetti di quel tipo, digita /sell nomeoggetto +itemNotEnough3=\u00a77/sell nomeoggetto -1 vende tutto tranne quell''oggetto, etc. +itemSellAir=Stai cercando di vendere l''aria? Metti un oggetto nella tua mano. +itemSold=\u00a77Venduto per \u00a7c{0} \u00a77({1} {2} a {3} l''uno) +itemSoldConsole={0} venduto {1} per \u00a77{2} \u00a77({3} oggetti a {4} l''uno) +itemSpawn=\u00a77Inviati {0} di {1} +itemsCsvNotLoaded=Impossibile caricare items.csv. +jailAlreadyIncarcerated=\u00a7cPlayer gia'' in prigione: {0} +jailMessage=\u00a7cAvrai tempo per riflettere..in prigione. +jailNotExist=La prigione dichiarata non esiste. +jailReleased=\u00a77Player \u00a7e{0}\u00a77 scarcerato. +jailReleasedPlayerNotify=\u00a77Sei stato scarcerato! +jailSentenceExtended=Tempo di incarcerazione aumentato di: {0) +jailSet=\u00a77{0} e'' ora una prigione. +jumpError=Cosi'' facendo danneggerai la cpu. +kickDefault=Kickato dal server +kickExempt=\u00a7cNon puoi kickare questo player. +kill=\u00a77Ucciso {0}. +kitError2=\u00a7cQuesto kit non esiste o non e'' definito. +kitError=\u00a7cNon ci sono kit validi. +kitErrorHelp=\u00a7cForse una quantita'' manca in un oggetto della configurazione? +kitGive=\u00a77Kit inviato {0}. +kitInvFull=\u00a7cIl tuo inventario e'' pieno, il kit e'' ora per terra. +kitTimed=\u00a7cNon puoi usare il kit per altri {0}. +kits=\u00a77Kits: {0} +lightningSmited=\u00a77Sei stato folgorato! +lightningUse=\u00a77{0} e'' stato folgorato! +listAfkTag = \u00a77[AFK]\u00a7f +listAmount = \u00a79Ci sono \u00a7c{0}\u00a79 players online su un massimo di \u00a7c{1}. +listAmountHidden = \u00a79Ci sono \u00a7c{0}\u00a77/{1}\u00a79 players online su un massimo di \u00a7c{2}. +listGroupTag={0}\u00a7f: +listHiddenTag = \u00a77[HIDDEN]\u00a7f +loadWarpError=Impossibile caricare il warp {0} +localFormat=Formato locale: <{0}> {1} +mailClear=\u00a7cPer cancellare la tua mail, digita /mail clear +mailCleared=\u00a77Mail cancellata! +mailSent=\u00a77Mail inviata! +markMailAsRead=\u00a7cPer contrassegnare la mail come gia'' letta, digita /mail read +markedAsAway=\u00a77Il tuo stato ora e'' "Non al computer". +markedAsNotAway=\u00a77Bentornato! +maxHomes=Non puoi assegnare piu'' di {0} home. +mayNotJail=\u00a7cNon puoi imprigionare questo player. +me=mi +minute=minuto +minutes=minuti +missingItems=Non hai {0}x {1}. +missingPrefixSuffix=Manca un prefisso o un suffisso per {0} +mobSpawnError=Errore durante il cambiamento del generatore di mob. +mobSpawnLimit=Quantita'' Mob limitata dal server +mobSpawnTarget=Il blocco designato deve essere un generatore di mob. +mobsAvailable=\u00a77Mobs: {0} +moneyRecievedFrom=\u00a7a{0} sono stati ricevuti da {1} +moneySentTo=\u00a7a{0} sono stati inviati a {1} +moneyTaken={0} prelevati dal tuo conto in banca. +month=mese +months=mesi +moreThanZero=La quantita'' deve essere maggiore di 0. +msgFormat=\u00a77[{0}\u00a77 -> {1}\u00a77] \u00a7f{2} +muteExempt=\u00a7cNon puoi mutare questo player. +mutedPlayer=Player {0} mutato. +mutedPlayerFor=Player {0} mutato per {1}. +mutedUserSpeaks={0} ha provato a parlare, ma e'' mutato. +nearbyPlayers=Players nelle vicinanze: {0} +negativeBalanceError=User is not allowed to have a negative balance. +nickChanged=Nickname modificato. +nickDisplayName=\u00a77Devi abilitare change-displayname nel config di Essentials. +nickInUse=\u00a7cNickname gia'' in uso. +nickNamesAlpha=\u00a7cI Nickname devono essere alfanumerici. +nickNoMore=\u00a77Non disponi piu'' di un nickname. +nickOthersPermission=\u00a7cNon hai il permesso di cambiare il nickname degli altri +nickSet=\u00a77Il tuo nickname e'' ora \u00a7c{0} +noAccessCommand=\u00a7cNon hai accesso a questo comando. +noAccessPermission=\u00a7cNon hai i permessi di accesso per {0}. +noBreakBedrock=Non sei abilitato a distruggere la bedrock. +noDestroyPermission=\u00a7cNon hai i permessi per distruggere {0}. +noGodWorldWarning=\u00a7cAttenzione! Modalita'' God disabilitata in questo mondo. +noHelpFound=\u00a7cComandi non trovati. +noHomeSet=Non hai stabilito una home. +noHomeSetPlayer=Il Player non ha stabilito una home. +noKitPermission=\u00a7cHai bisogno del permesso \u00a7c{0}\u00a7c per usare questo kit. +noKits=\u00a77Non ci sono ancora kit disponibili +noMail=Non hai ricevuto nessuna mail +noMotd=\u00a7cNon c''e'' nessun messaggio del giorno. +noNewMail=\u00a77Non hai ricevuto nuove mail. +noPendingRequest=Non hai richieste in sospeso. +noPerm=\u00a7cNon hai questo permesso: \u00a7f{0} +noPermToSpawnMob=\u00a7cNon hai i permessi per generare questo mob. +noPlacePermission=\u00a7cNon hai il permesso di collocare un blocco accanto a quest''insegna. +noPowerTools=Non hai attrezzi assegnati. +noRules=\u00a7cNon ci sono regole specifiche al momento. +noWarpsDefined=Nessun warp definito +none=nessun +notAllowedToQuestion=\u00a7cNon sei autorizzato a fare domande. +notAllowedToShout=\u00a7cNon sei autorizzato a gridare. +notEnoughExperience=Non hai abbastanza esperienza. +notEnoughMoney=Non hai abbastanza denaro. +notRecommendedBukkit=* ! * La versione Bukkit in uso non e'' compatibile con Essentials. +notSupportedYet=Non ancora supportato. +nothingInHand = \u00a7cNon hai niente in mano. +now=adesso +nuke=Un regalino.. radioattivo +numberRequired=Che ne dici di metterci un numero?! +onlyDayNight=/time supporta solo day/night. +onlyPlayers=Solo i players durante il gioco possono usare {0}. +onlySunStorm=/weather supporta solo sun/storm. +orderBalances=Sto ordinando i bilanci di {0} utenti, attendere grazie... +pTimeCurrent=L''orario di \u00a7e{0}\u00a7f e'' {1}. +pTimeCurrentFixed=L''orario di \u00a7e{0}\u00a7f e'' fissato alle {1}. +pTimeNormal=L''orario di \u00a7e{0}\u00a7f e'' normale e corrisponde a quello del server. +pTimeOthersPermission=\u00a7cNon sei autorizzato a definre l''orario degli altri player. +pTimePlayers=Questi player hanno il loro orario: +pTimeReset=L''orario del Player e'' stato resettato alle: \u00a7e{0} +pTimeSet=L''orario del Player e'' stato regolato alle \u00a73{0}\u00a7f per le: \u00a7e{1} +pTimeSetFixed=L''orario del Player e'' stato fissato alle \u00a73{0}\u00a7f per le: \u00a7e{1} +parseError=Errore parsing {0} riga {1} +pendingTeleportCancelled=\u00a7cRichiesta in sospeso di teletrasporto cancellata. +permissionsError=Mancano i permessi per Permissions/GroupManager; i suffissi e prefissi in chat verrano disabilitati. +playerBanned=\u00a7cIl Player {0} e'' bannato {1} motivo: {2} +playerInJail=\u00a7cIl Player e'' gia'' nella prigione ({0}). +playerJailed=\u00a77Il Player {0} e'' stato messo in prigione. +playerJailedFor= \u00a77Il Player {0} e'' in prigione. motivo: {1}. +playerKicked=\u00a7cIl Player {0} e'' stato kickato {1} motivo: {2} +playerMuted=\u00a77Sei stato mutato +playerMutedFor=\u00a77Sei stato mutato per {0} +playerNeverOnServer=\u00a7cIl Player {0} non e'' mai stato su questo server. +playerNotFound=\u00a7cPlayer non trovato. +playerUnmuted=\u00a77Sei stato smutato +pong=Pong! +possibleWorlds=\u00a77I mondi sono numerati da 0 a {0}. +powerToolAir=Il comando non puo'' essere collegato all''aria. +powerToolAlreadySet=Il comando \u00a7c{0}\u00a7f e'' gia'' stato assegnato a {1}. +powerToolAttach=Il comando \u00a7c{0}\u00a7f e'' stato assegnato a {1}. +powerToolClearAll=Tutti i comandi per gli attrezzi sono stati cancellati. +powerToolList=L''attrezzo {1} ha i seguenti comandi: \u00a7c{0}\u00a7f. +powerToolListEmpty=L''attrezzo {0} non dispone di comandi assegnati. +powerToolNoSuchCommandAssigned=Il comando \u00a7c{0}\u00a7f non e'' stato assegnato a {1}. +powerToolRemove=Il comando \u00a7c{0}\u00a7f e'' stato rimosso da {1}. +powerToolRemoveAll=Tutti i comandi sono stati rimossi da {0}. +powerToolsDisabled=Tutti i tuoi attrezzi sono stati disabilitati. +powerToolsEnabled=Tutti i tuoi attrezzi sono stati abilitati. +protectionOwner=\u00a76[EssentialsProtect] Protetto dal proprietario: {0} +questionFormat=\u00a77[Domanda]\u00a7f {0} +readNextPage=Digita /{0} {1} per la pagina successiva +reloadAllPlugins=\u00a77Tutti i plugins ricaricati. +removed=\u00a77Rimosse {0} entitita''. +repair=Hai riparato con successo il tuo: \u00a7e{0}. +repairAlreadyFixed=\u00a77Questo oggetto non richiede riparazioni. +repairEnchanted=\u00a77Non sei abilitato a riparare oggetti magici. +repairInvalidType=\u00a7cQuesto oggetto non puo'' essere riparato. +repairNone=Non ci sono oggetti da riparare. +requestAccepted=\u00a77Richiesta di teletrasporto accettata. +requestAcceptedFrom=\u00a77{0} ha accettato la tua richiesta di teletrasporto. +requestDenied=\u00a77Richiesta di teletrasporto rifiutata. +requestDeniedFrom=\u00a77{0} ha rifiutato la tua richiesta di teletrasporto. +requestSent=\u00a77Richiesta inviata a {0}\u00a77. +requestTimedOut=\u00a7cRichiesta di teletrasporto scaduta. +requiredBukkit=* ! * e'' necessaria la versione {0} o superiore di CraftBukkit, scaricabile da http://dl.bukkit.org/downloads/craftbukkit/ +returnPlayerToJailError=Riscontrato errore nell''invio del player {0} alla prigione: {1} +second=secondo +seconds=secondi +seenOffline=Il Player {0} e'' offline da {1} +seenOnline=Il Player {0} e'' online da {1} +serverFull=Il Server e'' pieno +serverTotal=Totale Server: {0} +setSpawner=Tipo generatore modificato in {0} +sheepMalformedColor=Colore non valido. +shoutFormat=\u00a77[Grido!]\u00a7f {0} +signFormatFail=\u00a74[{0}] +signFormatSuccess=\u00a71[{0}] +signFormatTemplate=[{0}] +signProtectInvalidLocation=\u00a74Non hai il permesso per creare segnaposti qui. +similarWarpExist=Il nome del warp e'' stato gia'' utilizzato. +slimeMalformedSize=Dimensione non valida. +soloMob=Quel mob sembra essere solo +spawnSet=\u00a77Punto di rigenerazione creato per il gruppo {0}. +spawned=creato +sudoExempt=Impossibile applicare il sudo a questo utente +sudoRun=Sto obbligando {0} ad eseguire: /{1} {2} +suicideMessage=\u00a77Addio mondo crudele... +suicideSuccess= \u00a77{0} si e'' suicidato.. +survival=sopravvivenza +takenFromAccount=\u00a7c{0} sono stati prelevati dal tuo conto. +takenFromOthersAccount=\u00a7c{0} taken from {1}\u00a7c account. New balance: {2} +teleportAAll=\u00a77Richiesta di teletrasporto inviata a tutti i players... +teleportAll=\u00a77Sto teletrasportando tutti i players... +teleportAtoB=\u00a77{0}\u00a77 ti ha teletrasportato a {1}\u00a77. +teleportDisabled={0} ha il teletrasporto disabilitato. +teleportHereRequest=\u00a7c{0}\u00a7c ha richiesto di teletrasportati da loro. +teleportNewPlayerError=Teletrasporto del nuovo player fallito +teleportRequest=\u00a7c{0}\u00a7c ha richiesto di teletrasportati da te. +teleportRequestTimeoutInfo=\u00a77Questa richiesta scadra'' tra {0} secondi. +teleportTop=\u00a77Teletrasporto in cima. +teleportationCommencing=\u00a77Inizio teletrasporto... +teleportationDisabled=\u00a77Teletrasporto disabilitato. +teleportationEnabled=\u00a77Teletrasporto abilitato. +teleporting=\u00a77Teletrasporto in corso... +teleportingPortal=\u00a77Teletrasporto tramite portale. +tempBanned=Bannato temporaneamente dal server per {0} +tempbanExempt=\u00a77Non puoi bannare questo player +thunder=Abilita i filmini dal cielo: {0} +thunderDuration=Abilita i filmini dal cielo: {0} per {1} secondi. +timeBeforeHeal=Tempo rimanente alla prossima cura: {0} +timeBeforeTeleport=Tempo rimanente al prossimo teletrasporto: {0} +timeFormat=\u00a73{0}\u00a7f oppure \u00a73{1}\u00a7f oppure \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=Orario definito in tutti i mondi. +timeSetPermission=\u00a7cNon sei autorizzato a regolare l''orario. +timeWorldCurrent=L''orario attuale in {0} e'' \u00a73{1} +timeWorldSet=L''orario e'' stato regolato alle {0} in: \u00a7c{1} +tradeCompleted=\u00a77Affare concluso. +tradeSignEmpty=L''insegna non dispone di forniture sufficienti. +tradeSignEmptyOwner=Non c''e'' niente da raccogliare da quest''insegna. +treeFailure=\u00a7cCreazione dell''albero fallita. Riprova sull''erba o sul terreno. +treeSpawned=\u00a77Albero generato. +true=vero +typeTpaccept=\u00a77Per accetare il teletrasprto, digita \u00a7c/tpaccept\u00a77. +typeTpdeny=\u00a77Per rifiutare il teletrasporto, digita \u00a7c/tpdeny\u00a77. +typeWorldName=\u00a77Puoi digitare anche il nome di un mondo. +unableToSpawnMob=Impossibile generare il mob. +unbannedIP=IP address abilitato. +unbannedPlayer=Player abilitato. +unignorePlayer=Non stai piu'' ignorando il player {0}. +unknownItemId=ID oggetto sconosciuto: {0} +unknownItemInList=Oggetto {0} sconosciuto nella lista {1}. +unknownItemName=Nome oggetto sconosciuto: {0} +unlimitedItemPermission=\u00a7cNessun permesso per l''oggetto {0} illimitato. +unlimitedItems=Oggetti illimitati: +unmutedPlayer=Player {0} smutato. +upgradingFilesError=Errore durante l''aggiornamento dei file +userDoesNotExist=L''utente {0} non esiste. +userIsAway={0} e'' AFK +userIsNotAway={0} non e'' piu'' AFK +userJailed=\u00a77Sei stato messo in prigione +userUsedPortal={0} ha usato un portale. +userdataMoveBackError=Errore durante lo spostamento di userdata/{0}.tmp a userdata/{1} +userdataMoveError=Errore durante lo spostamento di userdata/{0} a userdata/{1}.tmp +usingTempFolderForTesting=Sto usando la cartella temporale per il test: +versionMismatch=Versione incorretta! Aggiornare {0} alla stessa versione. +versionMismatchAll=Versione incorretta! Aggiornare tutti i jar Essentials alla stessa versione. +voiceSilenced=\u00a77La tua voce e'' stata silenziata +warpDeleteError=Problema nell''eliminazione del file warp. +warpListPermission=\u00a7cNon hai i permessi per consultare la lista warps. +warpNotExist=Questo warp non esiste. +warpOverwrite=\u00a7cNon puoi sovrascrivere il warp. +warpSet=\u00a77Warp {0} definito. +warpUsePermission=\u00a7cNon hai i permessi per usare questo warp. +warpingTo=\u00a77Warping a {0}. +warps=Warps: {0} +warpsCount=\u00a77Ci sono {0} warps. Pagina {1} of {2}. +weatherStorm=\u00a77Hai regolato il tempo in tempesta in {0} +weatherStormFor=\u00a77Hai cambiato il tempo in tempesta in {0} per {1} secondi +weatherSun=\u00a77Hai cambiato il tempo in soleggiato in {0} +weatherSunFor=\u00a77Hai cambiato il tempo in soleggiato in {0} per {1} secondi +whoisBanned=\u00a79 - Bannati: {0} +whoisExp=\u00a79 - Exp: {0} (Livello {1}) +whoisGamemode=\u00a79 - Gamemode: {0} +whoisGeoLocation=\u00a79 - Posizione: {0} +whoisGod=\u00a79 - God mode: {0} +whoisHealth=\u00a79 - Health: {0}/20 +whoisIPAddress=\u00a79 - IP Address: {0} +whoisIs={0} e'' {1} +whoisJail=\u00a79 - Imprigionati: {0} +whoisLocation=\u00a79 - Posizione: ({0}, {1}, {2}, {3}) +whoisMoney=\u00a79 - Denaro: {0} +whoisOP=\u00a79 - OP: {0} +whoisStatusAvailable=\u00a79 - Status: Disponibile +whoisStatusAway=\u00a79 - Status: \u00a7cNon al computer\u00a7f +worth=\u00a77Pila di {0} valore \u00a7c{1}\u00a77 ({2} oggetto(i) a {3} l''uno) +worthMeta=\u00a77Pila di {0} con metadati di {1} valore \u00a7c{2}\u00a77 ({3} oggetto(i) a {4} l''uno) +worthSet=Valore definito +year=anno +years=anni +youAreHealed=\u00a77Sei stato curato. +youHaveNewMail=\u00a7cHai {0} messaggi!\u00a7f digita \u00a77/mail read\u00a7f per consultare la tua mail. diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties new file mode 100644 index 000000000..803b1d1f1 --- /dev/null +++ b/Essentials/src/messages_pl.properties @@ -0,0 +1,423 @@ +#version: TeamCity +# Single quotes have to be doubled: '' +# Translations start here +# by: losdamianos +action=* {0} {1} +addedToAccount=\u00a7a{0} zostalo dodane do twojego konta. +addedToOthersAccount=\u00a7a{0} dodane do konta {1}\u00a7. Nowy stan konta: {2}. +alertBroke=broke: +alertFormat=\u00a73[{0}] \u00a7f {1} \u00a76 {2} at: {3} +alertPlaced=postawil: +alertUsed=uzyl: +autoAfkKickReason=Zostales wyrzucony z serwera za pozostawanie bez ruchu przez wiecej niz {0} minut. +backAfterDeath=\u00a77Uzyj komendy /back aby powrocic na miejsce swojej smierci. +backUsageMsg=\u00a77Transportowanie do poprzedniej lokacji. +backupDisabled=Zewnetrzny skrypt backupu nie zostal skonfigurowany. +backupFinished=Backup zakonczony. +backupStarted=Backup rozpoczety. +balance=\u00a77Stan konta: {0} +balanceTop=\u00a77Najbogatsi gracze ({0}) +banExempt=\u00a7cNie mozesz zbanowac tego gracza. +banIpAddress=\u00a77Zbanowano adress IP +bannedIpsFileError=Blad odczytu banned-ips.txt +bannedIpsFileNotFound=banned-ips.txt nie znaleziony +bannedPlayersFileError=Blad odczytu banned-players.txt +bannedPlayersFileNotFound=banned-players.txt nie znaleziony +bigTreeFailure=\u00a7cGenerator duzych drzew zaliczyl blad. Sprobuj ponownie na ziemi lub trawie. +bigTreeSuccess= \u00a77Utworzono duze drzewo. +blockList=Essentials relayed the following commands to another plugin: +broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0} +buildAlert=\u00a7cNie mozesz tu budowac +bukkitFormatChanged=Format wersji Bukkita jest zmieniony. Wersja nie jest sprawdzana. +burnMsg=\u00a77Podpaliles {0} na {1} sekund. +canTalkAgain=\u00a77Znow mozesz mowic. +cantFindGeoIpDB=Nie mozna znalezc bazy danych GeoIP! +cantReadGeoIpDB=Odczytywanie bazy danych GeoIP zawiodlo! +cantSpawnItem=\u00a7cNie mozesz stworzyc przedmiotu {0}. +chatTypeLocal=[L] +chatTypeSpy=[Spy] +commandFailed=Komenda {0} zawiodla. +commandHelpFailedForPlugin=Blad podczas uzyskiwania pomocy dla: {0} +commandNotLoaded=\u00a7cKomenda {0} jest zaladowana nieprawidlowo.. +compassBearing=\u00a77Bearing: {0} ({1} degrees). +configFileMoveError=Failed to move config.yml to backup location. +configFileRenameError=Failed to rename temp file to config.yml +connectedPlayers=Obecni gracze: +connectionFailed=Blad podczas otwierania polaczenia. +cooldownWithMessage=\u00a7cCooldown: {0} +corruptNodeInConfig=\u00a74Notice: Your configuration file has a corrupt {0} node. +couldNotFindTemplate=Could not find template {0} +creatingConfigFromTemplate=Creating config from template: {0} +creatingEmptyConfig=Stworzono pusty config: {0} +creative=Tworczy +currency={0}{1} +day=dzien +days=dnie +defaultBanReason=Admin ma zawsze racje! +deleteFileError=Nie mozna usunac pliku: {0} +deleteHome=\u00a77Posterunek {0} zostal usuniety +deleteJail=\u00a77Wiezienie {0} zostalo usuniete +deleteWarp=\u00a77Warp {0} zostal usuniety +deniedAccessCommand={0} nie ma dostepu do tego polecenia +dependancyDownloaded=[Essentials] Zaleznosci {0} pobrane prawidlowo. +dependancyException=[Essentials] Wystapil blad w trakcie pobierania zaleznosci. +dependancyNotFound=[Essentials] Wymagana zaleznosc nie zostala znaleziona, pobieranie. +depth=\u00a77Jestes na poziomie morza. +depthAboveSea=\u00a77Jestes {0} blok(ow) nad poziomem morza. +depthBelowSea=\u00a77Jestes {0} blok(ow) pod poziomem morza. +destinationNotSet=Cel nieokreslony. +disableUnlimited=\u00a77Wylaczone nieograniczone tworzenia {0} dla {1}. +disabled=wylaczone +disabledToSpawnMob=Tworzenie tego moba zostalo wylaczone w pliku config. +dontMoveMessage=\u00a77Teleportacja nastapi za {0}. Prosze sie nie ruszac. +downloadingGeoIp=Pobieranie bazy danych GeoIP... To moze zajac chwile (wioska: 0.6 MB, miasto: 20MB) +duplicatedUserdata=Kopiowanie danych uzytkownika: {0} i {1} +enableUnlimited=\u00a77Przyznano nielimitowane zasoby {0} dla {1}. +enabled=wlaczone +enchantmentApplied = \u00a77Ulepszenie {0} zostalo przyznane przedmiotowi w twoim reku. +enchantmentNotFound = \u00a7cUlepszenie nie odnalezione +enchantmentPerm = \u00a7cNie masz zezwolenia na {0}. +enchantmentRemoved = \u00a77Ulepszenie {0} zostalo usuniete z przedmiotu w twoim reku.. +enchantments = \u00a77Ulepszenia: {0} +errorCallingCommand=Blad wywolywania komendy /{0} +errorWithMessage=\u00a7cBlad: {0} +essentialsHelp1=Plik jest uszkodzony i Essentials nie moze go otworzyc. Essentials jest teraz wylaczone. Jesli nie mozesz samemu naprawic pliku, idz do adresu http://tiny.cc/EssentialsChat +essentialsHelp2=Plik jest uszkodzony i Essentials nie moze go otworzyc. Essentials jest teraz wylaczone. Jesli nie mozesz samemu naprawic pliku, wpisz /essentialshelp w grze lub idz do adresu http://tiny.cc/EssentialsChat +essentialsReload=\u00a77Essentials przeladowalo {0}. +extinguish=\u00a77Zostales ugaszony. +extinguishOthers=\u00a77Ugasiles {0}. +failedToCloseConfig=Blad podczas zamykania configu {0} +failedToCreateConfig=Blad podczas tworzenia configu {0} +failedToWriteConfig=Blad podczas pisania configu {0} +false=falsz +feed=\u00a77Twoj glod zostal zaspokojony. +feedOther=\u00a77Nakarmiono {0}. +fileRenameError=Blad podczas zmiany nazwy pliku “{0}”. +flyMode=\u00a77Latanie {0} dla {1}. +foreverAlone=\u00a7cNie masz komu odpisac. +freedMemory=Zwolniono {0} MB. +gameMode=\u00a77Ustawiono tryb gry {0} dla {1}. +gcchunks= chunki +gcentities= jednostki +gcfree=Wolna pamiec: {0} MB +gcmax=Maksymalna pamiec: {0} MB +gctotal=Alokowana pamiec: {0} MB +geoIpUrlEmpty=Url pobierania GeoIP jest puste. +geoIpUrlInvalid=Url pobierania GeoIP jest nieprawidlowe. +geoipJoinFormat=Gracz {0} przybyl z {1} +godDisabledFor=Godmode wylaczony dla {0}. +godEnabledFor=Godmode wlaczony dla {0}. +godMode=\u00a77Godmode {0}. +haveBeenReleased=\u00a77Zostales wypuszczony. +heal=\u00a77Uleczony +healOther=\u00a77Uleczono {0}. +helpConsole=Aby uzyskac pomoc z konsoli, wpisz “????. +helpFrom=\u00a77Komendy od {0}: +helpLine=\u00a76/{0}\u00a7f: {1} +helpMatching=\u00a77Komendy odpowiadajace "{0}": +helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1} +helpPages=Strona \u00a7c{0}\u00a7f z \u00a7c{1}\u00a7f: +helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1} +holeInFloor=Czarna dziura +homeSet=\u00a77Posterunek ustawiono +homeSetToBed=\u00a77Twoj posterunek znajduje sie teraz w tym lozku. +homes=Posterunki: {0} +hour=godzina +hours=godziny +ignorePlayer=Od tej chwili ignorujesz gracza {0}. +illegalDate=Illegal date format. +infoChapter=Wybierz rozdzial: +infoChapterPages=Rozdzial {0}, strona \u00a7c{1}\u00a7f z \u00a7c{2}\u00a7f: +infoFileDoesNotExist=Plik “info.txt” nie istnieje. Tworzenie tego pliku. +infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Page \u00a74{0}\u00a76/\u00a74{1} \u00a7e---- +infoUnknownChapter=Nieznany rozdzial. +invBigger=Ekwipunek innego gracza jest wiekszy niz Twoj. +invRestored=Twoj ekwipunek zostal przywrocony. +invSee=Widzisz ekwipunek {0}. +invSeeHelp=Wpisz /invsee aby przywrocic swoj ekwipunek. +invalidCharge=\u00a7cInvalid charge. +invalidHome=Posterunek {0} nie istnieje. +invalidMob=Niepoprawny typ moba.. +invalidServer=Niepoprawny serwer! +invalidSignLine=Linijka {0} na znaku jest bledna. +invalidWorld=\u00a7cNieprawidlowy swiat. +inventoryCleared=\u00a77Ekwipunek oprozniony. +inventoryClearedOthers=\u00a77Ekwipunek \u00a7c{0}\u00a77 oprozniony. +is=jest +itemCannotBeSold=Nie mozesz sprzedac tego przedmiotu do serwera. +itemMustBeStacked=Przedmiotem handluje sie w stackach. Wielkosc 2s to dwa stacki itd. +itemNotEnough1=\u00a7cMasz za malo tego przedmiotu, aby go sprzedac. +itemNotEnough2=\u00a77Jesli chcesz sprzedac wszystkie przedmioty tego typu, wpisz /sell nazwaprzedmiotu +itemNotEnough3=\u00a77/sell nazwaprzedmiotu -1 sprzeda cala ilosc przedmiotu poza 1 sztuka itd. +itemSellAir=Serio probujesz sprzedac powietrze? Miej w reku przedmiot.. +itemSold=\u00a77Sprzedamo za \u00a7c{0} \u00a77({1} {2} po {3} kazdy) +itemSoldConsole={0} Sprzedano {1} za \u00a77{2} \u00a77({3} sztuki po {4} kazda) +itemSpawn=\u00a77Otrzymywanie {0} {1} +itemsCsvNotLoaded=Nie mozna wczytac items.csv. +jailAlreadyIncarcerated=\u00a7cTen gracz jest juz w wiezieniu “{0}”. +jailMessage=\u00a7cZa kazde przewinienie czeka kara. +jailNotExist=Nie ma takiego wiezienia.. +jailReleased=\u00a77Gracz \u00a7e{0}\u00a77 wypuszczony z wiezienia. +jailReleasedPlayerNotify=\u00a77Zostales zwolniony! +jailSentenceExtended=Czas pobyty w wiezieniu zwiekszony do: {0) +jailSet=\u00a77Zostalo stworzone wiezienie “{0}”. +jumpError=That would hurt your computer''s brain. +kickDefault=Zostales wyproszony z serwera. +kickExempt=\u00a7cNie mozesz wyprosic tej osoby. +kill=\u00a77Zabito {0}. +kitError2=\u00a7cTen zestaw nie istnieje lub zostal zle zdefininowany. +kitError=\u00a7cNie ma prawidlowych zestawow. +kitErrorHelp=\u00a7cByc moze przedmiotowi brakuje ilosci w konfiguracji? +kitGive=\u00a77Przydzielanie zestawu {0}. +kitInvFull=\u00a7cTwoj ekwipuek jest pelen, wykladanie zestawu na podloge. +kitTimed=\u00a7cNie mozesz uzyc tego zestawu przez kolejne {0}. +kits=\u00a77Zestawy: {0} +lightningSmited=\u00a77Zostales zdzielony piorunem. +lightningUse=\u00a77Uderzanie piorunem {0}. +listAfkTag = \u00a77[AFK]\u00a7f +listAmount = \u00a79Na serwerze jest \u00a7c{0}\u00a79 graczy z maksimum \u00a7c{1}\u00a79 online. +listAmountHidden = \u00a79There are \u00a7c{0}\u00a77/{1}\u00a79 out of maximum \u00a7c{2}\u00a79 players online. +listGroupTag={0}\u00a7f: +listHiddenTag = \u00a77[HIDDEN]\u00a7f +loadWarpError=Blad przy wczytywaniu Warpu {0} +localFormat=Local: <{0}> {1} +mailClear=\u00a7cAby oczyscic skrzynke, wpisz /mail clear +mailCleared=\u00a77Skrzynka oprozniona!! +mailSent=\u00a77Wiadomosc wyslana! +markMailAsRead=\u00a7cAby oczyscic skrzynke, wpisz /mail clear +markedAsAway=\u00a77Zostales oznaczony jako nieobecny. +markedAsNotAway=\u00a77Juz nie jestes nieobecny. +maxHomes=Nie mozesz ustawic wiecej niz {0} posterunkow. +mayNotJail=\u00a7cNie mozesz wtracic do wiezienia tej osoby. +me=ja +minute=minuta +minutes=minuty +missingItems=Nie masz {0}x{1}. +missingPrefixSuffix=Missing a prefix or suffix for {0} +mobSpawnError=Blad podczas zmiany spawnera. +mobSpawnLimit=Ilosc mobow ograniczona do limitu serwera. +mobSpawnTarget=Blok musi byc spawnerem. +mobsAvailable=\u00a77Moby: {0} +moneyRecievedFrom=\u00a7a{0} otrzymane od {1} +moneySentTo=\u00a7a{0} zostalo wyslane do {1} +moneyTaken={0} zostalo zabrane z Twoich funduszy.. +month=miesiac +months=miesiecy +moreThanZero=Ilosc musi byc wieksza od 0. +msgFormat=\u00a77[{0}\u00a77 -> {1}\u00a77] \u00a7f{2} +muteExempt=\u00a7cNie mozesz wyciszyc tego gracza.. +mutedPlayer=Player {0} wyciszony. +mutedPlayerFor=Player {0} wyciszony na {1}. +mutedUserSpeaks={0} probowal sie odezwac, ale jest wyciszony. +nearbyPlayers=Gracze w poblizu: {0} +negativeBalanceError=Gracz nie moze miec ujemnego stanu konta. +nickChanged=Nick zmieniony. +nickDisplayName=\u00a77Musisz wlaczyc “change-displayname” w configu Essential. +nickInUse=\u00a7cTen nick jest juz w uzyciu. +nickNamesAlpha=\u00a7cNicki musza byc alfanumeryczne. +nickNoMore=\u00a77Nie masz juz nicku. +nickOthersPermission=\u00a7cNie masz uprawnienia do zmiany nicku innym. +nickSet=\u00a77Twoj nick od teraz to \u00a7c{0} +noAccessCommand=\u00a7cNie masz dostepu do tej komendy. +noAccessPermission=\u00a7cNie masz uprawnien do dostepu do {0}. +noBreakBedrock=Nie masz uprawnien do niszczenia bedrocka. +noDestroyPermission=\u00a7cNie masz uprawnien do niszczenia {0}. +noGodWorldWarning=\u00a7cUwaga! Godmode wylaczony w tym swiecie!. +noHelpFound=\u00a7cNie ma odpowiadajacych komend. +noHomeSet=Nie masz ustawionego posterunku. +noHomeSetPlayer=Gracz nie ma ustawionego posterunku. +noKitPermission=\u00a7cMusisz posiadac uprawnienia \u00a7c{0}\u00a7c aby uzywac tego zestawu. +noKits=\u00a77Nie ma jeszcze dostepnych zestawow. +noMail=Nie masz zadnych wiadomosci. +noMotd=\u00a7cNie ma wiadomosci dnia.. +noNewMail=\u00a77Nie masz zadnych nowych wiadomosci. +noPendingRequest=You do not have a pending request. +noPerm=\u00a7cNie masz uprawnien \u00a7f{0}. +noPermToSpawnMob=\u00a7cNie masz uprawnien do tworzenia tego moba.. +noPlacePermission=\u00a7cNie masz uprawnien do stawiania bloku kolo tego znaku.. +noPowerTools=Nie masz przypisanego zadnego power tool. +noRules=\u00a7cNie ustalono jeszcze zadnych zasad. +noWarpsDefined=Nie ma zadnych warpow. +none=zaden +notAllowedToQuestion=\u00a7cNie mozesz zadac tego pytania. +notAllowedToShout=\u00a7cNie mozesz krzyczec.. +notEnoughExperience=Nie masz wystarczajaco duzo doswiadczenia. +notEnoughMoney=Nie masz tyle pieniedzy. +notRecommendedBukkit= * ! * Wersja Bukkita nie jest rekomendowana wersja dla Essentials. +notSupportedYet=Jeszcze nie wspierane. +nothingInHand = \u00a7cNie masz nic w reku.. +now=teraz +nuke=Niech smierc pochlonie caly swiat! +numberRequired=Tutaj powinna byc liczba, gluptasie. +onlyDayNight=/time obsluguje tylko day/night. +onlyPlayers=Tylko gracze w grze moga uzywac {0}. +onlySunStorm=/weather obsluguje tylko sun/storm. +orderBalances=Ordering balances of {0} users, please wait ... +pTimeCurrent=Czas \u00a7e{0} u00a7f to {1}. +pTimeCurrentFixed=Czas \u00a7e{0}\u00a7f przywrocony do {1}. +pTimeNormal=Czas \u00a7e{0}'s\u00a7f jest normalny i odpowiada serwerowemu. +pTimeOthersPermission=\u00a7cNie masz uprawnien do zmiany czasu innym. +pTimePlayers=Ci gracze beda miec wlasny czas: +pTimeReset=Czas gracza zostal zresetowany dla \u00a7e{0} +pTimeSet=Czas gracza ustawiony na \u00a73{0}\u00a7f dla \u00a7e{1} +pTimeSetFixed=Czas gracza przywrocony do \u00a73{0}\u00a7f dla \u00a7e{1} +parseError=Blad skladniowy {0} w linii {1}. +pendingTeleportCancelled=\u00a7cOczekujace zapytanie teleportacji odrzucone. +permissionsError=Brakuje Permissions/GroupManager; prefixy/suffixy czatu zostana wylaczone. +playerBanned=\u00a7c{0} zbanowal {1} za {2}. +playerInJail=\u00a7cGracz jest juz w wiezieniu “{0}”. +playerJailed=\u00a77Gracz {0} wtracony do wiezienia. +playerJailedFor= \u00a77Gracz {0} wtracony do wiezienia na {1}. +playerKicked=\u00a7c{0} wywalil {1} za {2}. +playerMuted=\u00a77Zostales wyciszony. +playerMutedFor=\u00a77Zostales wyciszony na {0}. +playerNeverOnServer=\u00a7cGracz {0} nigdy nie byl na tym serwerze. +playerNotFound=\u00a7cNie odnaleziono gracza. +playerUnmuted=\u00a77Zostales przywrocony do glosu. +pong=Pong! +possibleWorlds=\u00a77Mozliwe swiaty maja numery od 0 do {0}. +powerToolAir=Nie zartuj, chcesz przypisac polecenie do powietrza? +powerToolAlreadySet=Polecenie \u00a7c{0}\u00a7f jest juz przypisane do {1}. +powerToolAttach=\u00a7c{0}\u00a7f polecenie przypisane do {1}. +powerToolClearAll=Wszystkie przypisane polecenia zostaly usuniete! +powerToolList={1} zawiera nastepujace polecenia: \u00a7c{0}\u00a7f. +powerToolListEmpty={0} nie ma przypisanych polecen. +powerToolNoSuchCommandAssigned=Polecenie \u00a7c{0}\u00a7f nie moze byc przypisane do {1}. +powerToolRemove=Polecenie \u00a7c{0}\u00a7f usuniete z {1}. +powerToolRemoveAll=Wszystkie polecenia zostaly usuniete z {0}. +powerToolsDisabled=Wszystkie twoje podpiecia zostaly zdezaktywowane. +powerToolsEnabled=Wszystkie twoje podpiecia zostaly aktywowane. +protectionOwner=\u00a76[EssentialsProtect] Wlasciciel zabezpieczen: {0} +questionFormat=\u00a77[Question]\u00a7f {0} +readNextPage=Wpisz /{0} {1} aby przeczytac nastepna strone +reloadAllPlugins=\u00a77Przeladowano wszystkie wtyczki +removed=\u00a77Usunieto {0} byty. +repair=Udalo sie naprawic twoj: \u00a7e{0}. +repairAlreadyFixed=\u00a77Ten przedmiot nie potrzebuje naprawy +repairEnchanted=\u00a77Nie masz zezwolenia do naprawiania ulepszonych przedmiotow. +repairInvalidType=\u00a7cTen przedmiot nie moze byc naprawiony. +repairNone=Zaden przedmiot nie wymagal naprawy. +requestAccepted=\u00a77Zadanie teleportacji - zaakceptowano. +requestAcceptedFrom=\u00a77{0} zaakceptowal Twoje zadanie teleportacji. +requestDenied=\u00a77Zadanie teleportacji - odrzucone. +requestDeniedFrom=\u00a77{0} odrzucil Twoje zadanie teleportacji. +requestSent=\u00a77zZadanie wyslania do {0}\u00a77. +requestTimedOut=\u00a7cZadanie teleportacji - przedawnione. +requiredBukkit= * ! * Potrzebujesz ostatniego {0} CraftBukkit-a, pobierz go z http://dl.bukkit.org/downloads/craftbukkit/ +returnPlayerToJailError=Wystapil blad podczas powrotu gracza {0} do wiezienia: {1} +second=sekunda +seconds=sekund +seenOffline=Gracz {0} jest offline od {1} +seenOnline=Gracz {0} jest online od {1} +serverFull=Serwer jest pelen graczy, sprobuj pozniej. +serverTotal=Podsumowanie serwera: {0} +setSpawner=Ustawiono spawn na {0}. +sheepMalformedColor=Niewlasciwa barwa. +shoutFormat=\u00a77[Shout]\u00a7f {0} +signFormatFail=\u00a74[{0}] +signFormatSuccess=\u00a71[{0}] +signFormatTemplate=[{0}] +signProtectInvalidLocation=\u00a74Nie masz zezwolenia do tworzenia tutaj znakow. +similarWarpExist=Warp o identycznej nazwie juz istnieje. +slimeMalformedSize=Niewlasciwy rozmiar. +soloMob=Ten mob lubi byc sam. +spawnSet=\u00a77Ustawiono punkt spawnu dla grupy {0}. +spawned=stworzono +sudoExempt=Nie mozesz podniesc uprawnien tego uzytkownika. +sudoRun=Probuje {0} uruchomic: /{1} {2} +suicideMessage=\u00a77Zegnaj okrutny swiecie. +suicideSuccess= \u00a77{0} dokonal zamachu na swoje zycie +survival=survival +takenFromAccount=\u00a7c{0} zostalo pobrane z konta. +takenFromOthersAccount=\u00a7c{0} zostalo pobrane z {1}\u00a7c konta. Nowy stan konta: {2} +teleportAAll=\u00a77Zadanie teleportacji - wyslano do wszystkich graczy. +teleportAll=\u00a77Teleportowanie wszystkich graczy. +teleportAtoB=\u00a77{0}\u00a77 przeteleportowal Ciebie do {1}\u00a77. +teleportDisabled={0} ma zdezaktywowana teleportacje. +teleportHereRequest=\u00a7c{0}\u00a7c ma zadanie przeteleportowac cie do nich. +teleportNewPlayerError=Blad przy teleportowniu nowego gracza. +teleportRequest=\u00a7c{0}\u00a7c zazadal teleportacji do Ciebie. +teleportRequestTimeoutInfo=\u00a77 Zadanie teleportacji przedawni sie za {0} sekund. +teleportTop=\u00a77Teleportacja na wierzch. +teleportationCommencing=\u00a77Teleport rozgrzewa sie... +teleportationDisabled=\u00a77Teleportacja - zdezaktywowana. +teleportationEnabled=\u00a77Teleportacja - aktywowana. +teleporting=\u00a77Teleportacja... +teleportingPortal=\u00a77Teleportacja przez portal. +tempBanned=Tymczasowo zbanowany na serwerze przez {0}. +tempbanExempt=\u00a77Nie mozesz tymczasowo zbanowac tego gracza. +thunder= {0} przywowlal burze. +thunderDuration={0} przywolal burze na {1} sekund. +timeBeforeHeal=Czas przed nastepnym uzdrowieniem: {0}. +timeBeforeTeleport=Czas przed nastepnym teleportem:{0}. +timeFormat=\u00a73{0}\u00a7f or \u00a73{1}\u00a7f or \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=Czas ustawiono we wszystkich swiatach. +timeSetPermission=\u00a7cNie masz uprawnien do ustawiania czasu. +timeWorldCurrent=Obecny czas {0} to \u00a73{1}. +timeWorldSet=Czas ustawiono {0} w: \u00a7c{1}. +tradeCompleted=\u00a77Handel zakonczono. +tradeSignEmpty=Tabliczka handlowa nie jest dostepna dla Ciebie. +tradeSignEmptyOwner=Nie ma nic do pobrania z tej tabliczki. +treeFailure=\u00a7cUtworzenie drzewa nie powiodlo sie, sprobuj na trawie lub ziemi. +treeSpawned=\u00a77Drzewo utworzono. +true=prawda +typeTpaccept=\u00a77Aby zaakceptowac teleport, wpisz \u00a7c/tpaccept\u00a77. +typeTpdeny=\u00a77Aby odmowic teleportacji, wpisz \u00a7c/tpdeny\u00a77. +typeWorldName=\u00a77Mozesz rowniez wpisac nazwe danego swiata. +unableToSpawnMob=Nie udalo sie stworzyc potwora. +unbannedIP=Odbanowana gracza o danym adresie IP. +unbannedPlayer=Odbanowano gracza. +unignorePlayer=Nie ignorujesz juz gracza {0}. +unknownItemId=Nieznane id przedmiotu: {0}. +unknownItemInList=Nieznany przedmiot {0} w liscie {1} . +unknownItemName=Nieznana nazwa przedmiotu: {0}. +unlimitedItemPermission=\u00a7cBrak uprawnien dla nielimitowanego przedmiotu {0}. +unlimitedItems=Nielimitowane przedmioty: +unmutedPlayer=Gracz {0} moze znowu mowic. +upgradingFilesError=Wystapil blad podczas upgradu plikow. +userDoesNotExist=Uzytkownik {0} nie istnieje w bazie danych. +userIsAway={0} jest teraz AFK. +userIsNotAway={0} nie jest juz AFK. +userJailed=\u00a77Zostales skazany. +userUsedPortal={0} uzyl istniejacego portalu wyjscia. +userdataMoveBackError=Nie udalo sie przeniesc userdata/{0}.tmp do userdata/{1} +userdataMoveError=Nie udalo sie przeniesc userdata/{0} do userdata/{1}.tmp +usingTempFolderForTesting=Uzywam tymczasowego folderu dla testu: +versionMismatch=Niepoprawna wersja! Prosze ulepszyc {0} do tej samej wersji co inne pliki. +versionMismatchAll=Niepoprawna wersja! Prosze ulepszyc wszystkie pliki Essentials do tej samej wersji. +voiceSilenced=\u00a77Twe usta zostaly zaszyte. +warpDeleteError=Wystapil problem podczas usuwania pliku z Warpami. +warpListPermission=\u00a7cNie masz pozwolenia na sprawdzenie listy Warpow.. +warpNotExist=Ten Warp nie istnieje. +warpOverwrite=\u00a7cNie mozesz nadpisac tego Warpa. +warpSet=\u00a77Warp {0} stworzony. +warpUsePermission=\u00a7cNie masz pozwolenie na korzystanie z tego Warpa. +warpingTo=\u00a77Teleportuje do {0}. +warps=Warpy: {0} +warpsCount=\u00a77Istnieje {0} warpow. Pokazuje strone {1} z {2}. +weatherStorm=\u00a77Ustawiles burzowa pogode w {0}. +weatherStormFor=\u00a77Ustawiles burzowa pogode w {0} na {1} sekund. +weatherSun=\u00a77Ustawiles bezchmurna pogode w {0}. +weatherSunFor=\u00a77Ustawiles bezchmurna pogode w {0} na {1} sekund. +whoisBanned=\u00a79 - Zbanowany: {0}. +whoisExp=\u00a79 - Punkty Doswiadczenia: {0} (Poziom {1}). +whoisGamemode=\u00a79 - Tryb Gry: {0}. +whoisGeoLocation=\u00a79 - Lokacja: {0}. +whoisGod=\u00a79 - Godmode: {0}. +whoisHealth=\u00a79 - Zycie: {0}/20. +whoisIPAddress=\u00a79 - Adres IP: {0}. +whoisIs={0} jest {1}. +whoisJail=\u00a79 - W wiezieniu: {0}. +whoisLocation=\u00a79 - Lokacja: ({0}, {1}, {2}, {3}) +whoisMoney=\u00a79 - Pieniadze: {0}. +whoisOP=\u00a79 - OP: {0} +whoisStatusAvailable=\u00a79 - Status: Dostepny +whoisStatusAway=\u00a79 - Status: \u00a7cNieobecny\u00a7f +worth=\u00a77Stack {0} jest warty \u00a7c{1}\u00a77 ({2}rzedmiot(y) po {3} kazdy) +worthMeta=\u00a77Stack {0} z metadata {1} jest warty \u00a7c{2}\u00a77 ({3} przedmiot(y) po {4} kazdy) +worthSet=Cena przedmiotu ustawiona. +year=rok +years=lat +youAreHealed=\u00a77Zostales/las uleczony/na. +youHaveNewMail=\u00a7cMasz {0} wiadomosci!\u00a7f napisz \u00a77/mail read\u00a7f aby je przeczytac. diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/messages_pt.properties new file mode 100644 index 000000000..674eeda1e --- /dev/null +++ b/Essentials/src/messages_pt.properties @@ -0,0 +1,423 @@ +#version: TeamCity +# Single quotes have to be doubled: '' +# Translations start here +# by: FurmigaHumana, completed by Iaccidentally +action=* {0} {1} +addedToAccount=\u00a7a{0} foi adicionado a sua conta. +addedToOthersAccount=\u00a7a{0} adicionado a {1}\u00a7a saldo. Novo saldo: {2} +alertBroke=Quebrou: +alertFormat=\u00a73[{0}] \u00a7f {1} \u00a76 {2} em: {3} +alertPlaced=Colocou: +alertUsed=Usou: +autoAfkKickReason=Voc\u00ea foi kickado por estar inativo a mais de {0} minutos. +backAfterDeath=\u00a77Use o comando /back para voltar onde morreu. +backUsageMsg=\u00a77Retornando a posi\u00e7ao anterior... +backupDisabled=Um script de backup externo nao foi configurado. +backupFinished=Backup conclu\u00eddo +backupStarted=Backup iniciado +balance=\u00a77Saldo: {0} +balanceTop=\u00a77 Saldos superiores ({0}) +banExempt=\u00a7cVoc\u00ea nao pode banir este jogador. +banIpAddress=\u00a77Endere\u00e7o de IP banido +bannedIpsFileError=Erro ao ler o arquivo banned-ips.txt +bannedIpsFileNotFound=banned-ips.txt nao encontrado +bannedPlayersFileError=Erro ao ler o arquivo banned-players.txt +bannedPlayersFileNotFound=banned-players.txt nao encontrado +bigTreeFailure=\u00a7cFalha na gera\u00e7ao da \u00e1rvore grande. Tente de novo na terra ou grama. +bigTreeSuccess= \u00a77\u00c1rvore grande gerada. +blockList=Essentials passou o seguinte comando a outro plugin: +broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0} +buildAlert=\u00a7cVoc\u00ea nao tem permissao de construir. +bukkitFormatChanged=Bukkit: formato da versao alterada. Versao nao verificada. +burnMsg=\u00a77Voc\u00ea {0} foi incendiado por {1} segundos. +canTalkAgain=\u00a77Voc\u00ea pode falar de novo +cantFindGeoIpDB=Nao foi poss\u00edvel encontrar o GeoIP database! +cantReadGeoIpDB=Falhou em ler a GeoIP database! +cantSpawnItem=\u00a7cVoc\u00ea nao tem permissao de pegar este item {0} +chatTypeLocal=[L] +chatTypeSpy=[Spy] +commandFailed=Comando {0} falhou: +commandHelpFailedForPlugin=Erro ao obter ajuda para: {0} +commandNotLoaded=\u00a7cCommando {0} provavelmente esta carregado. +compassBearing=\u00a77Inclina\u00e7ao: {0} ({1} graus). +configFileMoveError=Falha ao mover arquivo config.yml ao local de backup. +configFileRenameError=Falha em renomear arquivo temporario em config.yml +connectedPlayers=Jogadores conectados: +connectionFailed=Falha ao abrir conexao. +cooldownWithMessage=\u00a7cTempo de espera: {0} +corruptNodeInConfig=\u00a74Aviso: Seu arquivo de configura\u00e7ao tem uma parte {0} corrompida. +couldNotFindTemplate=Nao foi poss\u00edvel encontrar o modelo {0} +creatingConfigFromTemplate=Criando arquivo de configura\u00e7ao com o modelo: {0} +creatingEmptyConfig=Criando arquivo de configura\u00e7ao vazio: {0} +creative=creative +currency={0}{1} +day=dia +days=dias +defaultBanReason=O martelo proibicao falou! +deleteFileError=Nao \u00e9 poss\u00edvel deletar arquivo: {0} +deleteHome=\u00a77Casa {0} foi removida. +deleteJail=\u00a77prisao {0} foi removida. +deleteWarp=\u00a77Warp {0} foi removido. +deniedAccessCommand={0} Acesso negado ao comando. +dependancyDownloaded=[Essentials] Dependencia {0} baixada com sucesso. +dependancyException=[Essentials] Ocorreu um erro ao tentar baixar uma dependencia +dependancyNotFound=[Essentials] Uma dependencia necess\u00e1ria nao foi encontrada. Baixando agora. +depth=\u00a77Voc\u00ea esta no nivel do mar. +depthAboveSea=\u00a77Voc\u00ea esta a {0} bloco(s) acima do nivel do mar. +depthBelowSea=\u00a77Voc\u00ea esta a {0} bloco(s) abaixo do nivel do mar. +destinationNotSet=Destino nao definido. +disableUnlimited=\u00a77Desativada itens ilimitados de {0} para {1}. +disabled=desativado +disabledToSpawnMob=Desovar este mob esta desativado nas configura\u00e7\u00f5es. +dontMoveMessage=\u00a77Teleporte vai come\u00e7ar em {0}. Nao se mova. +downloadingGeoIp=Baixando GeoIP database ... pode demorar um pouco (Pais: 0.6 MB, Cidade: 20MB) +duplicatedUserdata=Dado de usu\u00e1rio duplicado: {0} e {1} +enableUnlimited=\u00a77Colocando quantidade ilimitada de {0} para {1}. +enabled=ativado +enchantmentApplied = \u00a77O encantamento {0} foi aplicado ao item na sua mao. +enchantmentNotFound = \u00a7cEncantamento nao encontrado. +enchantmentPerm = \u00a7cVoc\u00ea nao tem permissao para {0} +enchantmentRemoved = \u00a77O encantamento {0} foi removido do item na sua mao. +enchantments = \u00a77Encantamentos: {0} +errorCallingCommand=Erro no comando /{0} +errorWithMessage=\u00a7cErro: {0} +essentialsHelp1=O arquivo esta quebrado e o essentials nao consegue abrilo. Essentials esta desativado agora. Se voc\u00ea nao consegue arrumar o arquivo, va para http://tiny.cc/EssentialsChat +essentialsHelp2=O arquivo esta quebrado e o essentials nao consegue abrilo. Essentials esta desativado agora. Se voc\u00ea nao consegue arrumar o arquivo, tente digitar /essentialshelp no jogo ou va para http://tiny.cc/EssentialsChat +essentialsReload=\u00a77Essentials recarregado {0} +extinguish=\u00a77Voce se extinguiu. +extinguishOthers=\u00a77Voce foi extinguido {0}. +failedToCloseConfig=Falha em fechar o arquivo de configura\u00e7ao {0} +failedToCreateConfig=Falha em criar o arquivo de configura\u00e7ao {0} +failedToWriteConfig=Falha em escrever no arquivo de configura\u00e7ao {0} +false=falso +feed=\u00a77Seu apetite foi saciado. +feedOther=\u00a77Satisfeito {0}. +fileRenameError=Falha ao renomear o arquivo {0}. +flyMode=\u00a77Definir o modo de voar {0} para {1}. +foreverAlone=\u00a7cVoc\u00ea nao tem ninguem a quem responder. +freedMemory=Livre {0} MB. +gameMode=\u00a77Gamemode {0} definido para {1}. +gcchunks= chunks, +gcentities= entidades +gcfree=Memoria livre: {0} MB +gcmax=Mem\u00f3ria Maxima: {0} MB +gctotal=Mem\u00f3ria alocada: {0} MB +geoIpUrlEmpty=GeoIP url de download esta vazia. +geoIpUrlInvalid=GeoIP url de download e invalida. +geoipJoinFormat=Jogador {0} veio do {1} +godDisabledFor=desativado para {0} +godEnabledFor=ativado para {0} +godMode=\u00a77Modo Deus {0}. +haveBeenReleased=\u00a77Voc\u00ea foi liberado. +heal=\u00a77Voc\u00ea foi curado. +healOther=\u00a77Curado {0}. +helpConsole=Para ver ajuda do console, digite ?. +helpFrom=\u00a77Comandos a partir de {0}: +helpLine=\u00a76/{0}\u00a7f: {1} +helpMatching=\u00a77Comandos correspondentes "{0}": +helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1} +helpPages=P\u00e1gina \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f: +helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1} +holeInFloor=Buraco no chao +homeSet=\u00a77Casa definida. +homeSetToBed=\u00a77Sua casa agora esta definida a esta cama. +homes=Casa: {0} +hour=hora +hours=horas +ignorePlayer=Voc\u00ea esta ignorando o jogador {0} agora. +illegalDate=Formato de data \u00edlegal. +infoChapter=Selecione o cap\u00edtulo: +infoChapterPages=Cap\u00edtulo {0}, pagina \u00a7c{1}\u00a7f de \u00a7c{2}\u00a7f: +infoFileDoesNotExist=Arquivo info.txt nao existe. Criando um para voc\u00ea. +infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Page \u00a74{0}\u00a76/\u00a74{1} \u00a7e---- +infoUnknownChapter=Cap\u00edtulo desconhecido. +invBigger=O invent\u00e1rio do outro usu\u00e1rio e maior que o seu. +invRestored=Seu invent\u00e1rio foi restaurado. +invSee=Voc\u00ea v\u00ea o invent\u00e1rio de {0}. +invSeeHelp=Use /invsee para voltar ao seu invent\u00e1rio. +invalidCharge=\u00a7cCarga invalida. +invalidHome=Home {0} nao existe +invalidMob=Tipo de mob inv\u00e1lido. +invalidServer=Servidor inv\u00e1lido! +invalidSignLine=Linha {0} da placa e inv\u00e1lida. +invalidWorld=\u00a7cMundo inv\u00e1lido. +inventoryCleared=\u00a77Invent\u00e1rio limpo. +inventoryClearedOthers=\u00a77Invent\u00e1rio de \u00a7c{0}\u00a77 limpo. +is=\u00e9 +itemCannotBeSold=Este item nao pode ser vendido para o servidor. +itemMustBeStacked=O item deve ser negociado em pacotes. A qantidade de 2s seria dois pacotes, etc. +itemNotEnough1=\u00a7cVoc\u00ea nao tem esta quantidade de itens para vender. +itemNotEnough2=\u00a77Se voc\u00ea quer vender todos os itens deste tipo, use /sell NomeDoItem +itemNotEnough3=\u00a77/sell NomeDoItem -1 vai vender tudo mais um item, etc. +itemSellAir=Voc\u00ea realmente tentou vender ar? Coloque um item na sua mao. +itemSold=\u00a77Vendido para \u00a7c{0} \u00a77({1} {2} a {3} cada) +itemSoldConsole={0} vendido {1} para \u00a77{2} \u00a77({3} itens a {4} cada) +itemSpawn=\u00a77Dando {0} de {1} +itemsCsvNotLoaded=nao foi poss\u00edvel carregar items.csv. +jailAlreadyIncarcerated=\u00a7cEsta pessoa j\u00e1 esta na cadeia: {0} +jailMessage=\u00a7cVoc\u00ea faz o crime, voc\u00ea cumpre a pena. +jailNotExist=esta cadeia nao existe. +jailReleased=\u00a77Player \u00a7e{0}\u00a77 libertado. +jailReleasedPlayerNotify=\u00a77Voc\u00ea foi solto! +jailSentenceExtended=Tempo de prisao estendido para: {0) +jailSet=\u00a77Cela {0} foi definida +jumpError=Isso prejudica o c\u00e9rebro do seu computador. +kickDefault=Kickado do servidor. +kickExempt=\u00a7cVoc\u00ea nao pode kickar esta pessoa. +kill=\u00a77Assassinado {0}. +kitError2=\u00a7cEsse kit nao existe ou foi definido impropiamente. +kitError=\u00a7cNao existe kits v\u00e1lidos. +kitErrorHelp=\u00a7cTalvez um item esta faltando a quantidade nas configura\u00e7\u00f5es? +kitGive=\u00a77Dando kit {0}. +kitInvFull=\u00a7cSeu invent\u00e1rio esta cheio, colocando kit no chao +kitTimed=\u00a7cVoc\u00ea nao pode usar este kit denovo por {0}. +kits=\u00a77Kits: {0} +lightningSmited=\u00a77YVoc\u00ea acaba de ser castigado +lightningUse=\u00a77Castigando {0} +listAfkTag = \u00a77[Ausente]\u00a7f +listAmount = \u00a79Aqui tem \u00a7c{0}\u00a79 do m\u00e1ximo de \u00a7c{1}\u00a79 jogadores online. +listAmountHidden = \u00a79Aqui tem \u00a7c{0}\u00a77/{1}\u00a79 do maximo de \u00a7c{2}\u00a79 jogadores online. +listGroupTag={0}\u00a7f: +listHiddenTag = \u00a77[ESCONDIDO]\u00a7f +loadWarpError=Falha ao carregar warp {0} +localFormat=Local: <{0}> {1} +mailClear=\u00a7cPara marcar seu email como lido, use /mail clear +mailCleared=\u00a77eMail limpo! +mailSent=\u00a77eMail enviado! +markMailAsRead=\u00a7cPara marcar seu email como lido, use /mail clear +markedAsAway=\u00a77[AFK] Agora voc\u00ea esta marcado como aus\u00eante. +markedAsNotAway=\u00a77[AFK] Voc\u00ea nao esta mais marcado como aus\u00eante. +maxHomes=Voc\u00ea nao pode definir mais de {0} casas. +mayNotJail=\u00a7cVoc\u00ea nao pode prender esta pessoa +me=eu +minute=minuto +minutes=minutos +missingItems=Voc\u00ea nao tem {0}x {1}. +missingPrefixSuffix=Faltando um prefixo ou sufixo para {0} +mobSpawnError=Erro ao mudar o mob spawner. +mobSpawnLimit=Quantidade de mob limitada pelo servidor +mobSpawnTarget=Bloco de destino deve ser um mob spawner. +mobsAvailable=\u00a77Mobs: {0} +moneyRecievedFrom=\u00a7a{0} foi recebido de {1} +moneySentTo=\u00a7a{0} foi enviado para {1} +moneyTaken={0} tirado da sua conta. +month=m\u00eas +months=meses +moreThanZero=Quantidade deve ser maior que 0. +msgFormat=\u00a77[{0}\u00a77 -> {1}\u00a77] \u00a7f{2} +muteExempt=\u00a7cVoc\u00ea nao pode mutar este jogador. +mutedPlayer=Player {0} mutado. +mutedPlayerFor=Player {0} mutado por {1}. +mutedUserSpeaks={0} tentou falar, mas esta mutado. +nearbyPlayers=Jogadores por perto: {0} +negativeBalanceError=Nao \u00e9 permitido ter um saldo negativo. +nickChanged=Apelido modificado. +nickDisplayName=\u00a77Voc\u00ea deve ativar change-displayname nas configura\u00e7\u00f5es do Essentials. +nickInUse=\u00a7cEste nome j\u00e1 esta em uso. +nickNamesAlpha=\u00a7cApelidos devem ser alfanumericos. +nickNoMore=\u00a77Voc\u00ea nao tem mais um apelido. +nickOthersPermission=\u00a7cVoc\u00ea nao tem permissao para mudar o apelido dos outros. +nickSet=\u00a77Agora seu apelido \u00e9 \u00a7c{0} +noAccessCommand=\u00a7cVoc\u00ea nao tem acesso a este comando. +noAccessPermission=\u00a7cVoc\u00ea nao tem permissao para acessar isso {0}. +noBreakBedrock=Voce nao tem permissao para destruir bedrock. +noDestroyPermission=\u00a7cVoc\u00ea nao tem permissao para destruir isso {0}. +noGodWorldWarning=\u00a7cAviso! Modo Deus neste mundo esta desativado. +noHelpFound=\u00a7cNenhum comando correspondente. +noHomeSet=Voc\u00ea nao definiu nenhuma casa. +noHomeSetPlayer=Jogador nao definiu nenhuma casa. +noKitPermission=\u00a7cVoc\u00ea precisa da permissao \u00a7c{0}\u00a7c para usar este kit. +noKits=\u00a77Ainda nao tem nenhum item disponivel +noMail=Voc\u00ea nao tem nenhum email +noMotd=\u00a7cNao h\u00e1 nenhuma mensagem do dia. +noNewMail=\u00a77Voc\u00ea nao tem nenhum novo email. +noPendingRequest=Voc\u00ea nao tem um pedido pendente. +noPerm=\u00a7cVoc\u00ea nao tem a permissao \u00a7f{0}\u00a7c. +noPermToSpawnMob=\u00a7cVoc\u00ea nao tem permissao para desovar este mob. +noPlacePermission=\u00a7cVoc\u00ea nao tem permissao de por um bloco perto daquela placa. +noPowerTools=Voc\u00ea nao tem nenhuma super ferramenta definida. +noRules=\u00a7cAinda nao foi definida as regras. +noWarpsDefined=Nenhum warp definido +none=nenhum +notAllowedToQuestion=\u00a7cVoc\u00ea nao esta autorizado a usar pergunta. +notAllowedToShout=\u00a7cVoc\u00ea nao esta autorizado a gritar. +notEnoughExperience=Voc\u00ea nao tem experiencia suficiente. +notEnoughMoney=Voc\u00ea nao tem dinheiro suficiente. +notRecommendedBukkit=* ! * Versao do bukkit nao \u00e9 a recomendada para o essentials. +notSupportedYet=Ainda nao suportado. +nothingInHand = \u00a7cVoc\u00ea nao tem nada em sua mao. +now=agora +nuke=Pode chover a morte sobre eles +numberRequired=Um numero vai aqui, bobinho. +onlyDayNight=/time apenas suporta day/night. +onlyPlayers=Apenas jogadores no jogo pode usar {0}. +onlySunStorm=/weather apenas suporta sun/storm. +orderBalances=Ordenando saldos de {0} usuarios, aguarde ... +pTimeCurrent=\u00a7e{0}''s\u00a7f horario e {1}. +pTimeCurrentFixed=\u00a7e{0}''s\u00a7f hor\u00e1rio foi fixado para {1}. +pTimeNormal=\u00a7e{0}''s\u00a7f o tempo esta normal e sincronisado com o servidor. +pTimeOthersPermission=\u00a7cVoc\u00ea nao esta autorisado para definir o tempo dos outros jogadores. +pTimePlayers=Estes jogadores tem seus propios hor\u00e1rios: +pTimeReset=Hor\u00e1rio do jogador foi recetado para: \u00a7e{0} +pTimeSet=Hor\u00e1rio do jogador foi definido para \u00a73{0}\u00a7f por: \u00a7e{1} +pTimeSetFixed=Hor\u00e1rio do jogador foi fixado para \u00a73{0}\u00a7f por: \u00a7e{1} +parseError=Analise de erro {0} na linha {1} +pendingTeleportCancelled=\u00a7cPedido de teleporte pendente cancelado. +permissionsError=Faltando Permissions/GroupManager; chat prefixos/sufixos serao desativados. +playerBanned=\u00a7cJogador {0} banido {1} por {2} +playerInJail=\u00a7cJogador j\u00e1 esta na cadeia {0}. +playerJailed=\u00a77Jogador {0} preso. +playerJailedFor= \u00a77Player {0} condenado por {1}. +playerKicked=\u00a7cPlayer {0} kickado {1} por {2} +playerMuted=\u00a77Voce foi desmutado +playerMutedFor=\u00a77Voce foi mutado por {0} +playerNeverOnServer=\u00a7cJogador {0} nunca esteve no servidor. +playerNotFound=\u00a7cJogador nao encontrado. +playerUnmuted=\u00a77Foi desmutado +pong=Pong! +possibleWorlds=\u00a77Mundos poss\u00edveis sao 0 at\u00e9 {0}. +powerToolAir=Comando nao pode ser definido para o ar. +powerToolAlreadySet=Comando \u00a7c{0}\u00a7f j\u00e1 esta definido para {1}. +powerToolAttach=\u00a7c{0}\u00a7f comando definido para {1}. +powerToolClearAll=Todas superferramentas foram limpas. +powerToolList={1} tem os seguintes comandos: \u00a7c{0}\u00a7f. +powerToolListEmpty={0} nenhum comando definido. +powerToolNoSuchCommandAssigned=Comando \u00a7c{0}\u00a7f nao foi definido para {1}. +powerToolRemove=Comando \u00a7c{0}\u00a7f removido do {1}. +powerToolRemoveAll=Todos comandos removidos do {0}. +powerToolsDisabled=Todas suas super ferramentas foram habilitadas. +powerToolsEnabled=Todas suas super ferramentas foram desabilitadas. +protectionOwner=\u00a76[EssentialsProtect] Dono da prote\u00e7ao: {0} +questionFormat=\u00a77[Pergunta]\u00a7f {0} +readNextPage=Digite /{0} {1} para ler a pr\u00f3xima p\u00e1gina +reloadAllPlugins=\u00a77Todos plugins recarregados. +removed=\u00a77Removido {0} entidades. +repair=Voc\u00ea reparou com sucesso sua: \u00a7e{0}. +repairAlreadyFixed=\u00a77Esse item nao precisa ser reparado. +repairEnchanted=\u00a77Voc\u00ea nao pode reparar itens encantados. +repairInvalidType=\u00a7cEsse item nao pode ser reparado. +repairNone=Nao ha itens que precisam ser reparados. +requestAccepted=\u00a77Pedido de teleporte aceito. +requestAcceptedFrom=\u00a77{0} aceitou seu pedido de teleporte. +requestDenied=\u00a77Pedido de teleporte recusado. +requestDeniedFrom=\u00a77{0} recusou seu pedido de teleporte +requestSent=\u00a77Pedindo enviado para {0}\u00a77. +requestTimedOut=\u00a7cPedido de teleporte passou o limite de tempo +requiredBukkit=* ! * Voc\u00ea precisa da ultima build {0} do CraftBukkit, baixa ela em http://dl.bukkit.org/downloads/craftbukkit/ +returnPlayerToJailError=Erro ocorreu ao tentar retornar jogador {0} para a cadeia: {1} +second=segundo +seconds=segundos +seenOffline=Jogador {0} esta offline desde {1} +seenOnline=Jogador {0} esta online desde {1} +serverFull=O servidor esta cheio +serverTotal=Server Total: {0} +setSpawner=Spawner modificado para {0} +sheepMalformedColor=Cor malformada. +shoutFormat=\u00a77[GRITAR]\u00a7f {0} +signFormatFail=\u00a74[{0}] +signFormatSuccess=\u00a71[{0}] +signFormatTemplate=[{0}] +signProtectInvalidLocation=\u00a74Voc\u00ea nao pode criar placas aqui. +similarWarpExist=Um warp com um nome parecido j\u00e1 existe. +slimeMalformedSize=Tamanho malformado. +soloMob=Este mob gosta de ficar sozinho +spawnSet=\u00a77Ponto de spawn definido para o grupo {0}. +spawned=desovado +sudoExempt=voce nao pode sudo este usuario +sudoRun=Forcing {0} to run: /{1} {2} +suicideMessage=\u00a77Adeus mundo cruel... +suicideSuccess= \u00a77{0} tirou sua propia vida +survival=survival +takenFromAccount=\u00a7c{0} foi tirado da sua conta. +takenFromOthersAccount=\u00a7c{0} tirado de {1}\u00a7c conta. Novo saldo: {2} +teleportAAll=\u00a77Pedido de teleporte enviado a todos os jogadores... +teleportAll=\u00a77Teleportando todos os jogadores... +teleportAtoB=\u00a77{0}\u00a77 teleportou voc\u00ea para {1}\u00a77. +teleportDisabled={0} tem o teleporte desativado. +teleportHereRequest=\u00a7c{0}\u00a7c solicitou que voc\u00ea se teleporte para ele. +teleportNewPlayerError=Falha para teleportar novo jogador +teleportRequest=\u00a7c{0}\u00a7c solicitou para se teleportar at\u00e9 voc\u00ea. +teleportRequestTimeoutInfo=\u00a77Este pedido vai acabar em {0} segundos. +teleportTop=\u00a77Teleportando para o alto. +teleportationCommencing=\u00a77Iniciando teleporte... +teleportationDisabled=\u00a77Teleporte desativado. +teleportationEnabled=\u00a77Teleporte ativado. +teleporting=\u00a77Teleportando... +teleportingPortal=\u00a77Teleportando via portal. +tempBanned=Banido temporariamente do servidor por {0} +tempbanExempt=\u00a77Voc\u00ea nao pode banir este jogador temporariamente +thunder= Voc\u00ea {0} trovejou no seu mundo +thunderDuration=Voc\u00ea {0} trovejou no seu mundo por {1} segundos. +timeBeforeHeal=Tempo at\u00e9 a proxima cura: {0} +timeBeforeTeleport=Tempo antes do proximo teleporte: {0} +timeFormat=\u00a73{0}\u00a7f or \u00a73{1}\u00a7f or \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=Horario definido em todos os mundos. +timeSetPermission=\u00a7cVoc\u00ea nao tem autoriza\u00e7ao para modificar o hor\u00e1rio. +timeWorldCurrent=O hor\u00e1rio atual no mundo {0} e \u00a73{1} +timeWorldSet=O hor\u00e1rio foi definido para {0} no: \u00a7c{1} +tradeCompleted=\u00a77Compra concluida. +tradeSignEmpty=A placa de troca nao tem abastecimento suficiente. +tradeSignEmptyOwner=Nao a nada para recolher desta placa de compra. +treeFailure=\u00a7cFalha ao gerar \u00e1rvore. Tente denovo na terra ou grama. +treeSpawned=\u00a77\u00c1rvore gerada. +true=verdadeiro +typeTpaccept=\u00a77Para aceitar o teleporte, digite \u00a7c/tpaccept\u00a77. +typeTpdeny=\u00a77Para recusar o teleporte, digite \u00a7c/tpdeny\u00a77. +typeWorldName=\u00a77Voc\u00ea tambem pode digitar o nome do mundo. +unableToSpawnMob=Incapaz de gerar o mob. +unbannedIP=Endereco de IP desbanido. +unbannedPlayer=Jogador desbanido. +unignorePlayer=Agora voc\u00ea nao esta mais ignorando o {0}. +unknownItemId=ID do item desconhecido: {0} +unknownItemInList=Item desconhecido {0} em {1} lista. +unknownItemName=Nome do item desconhecido: {0} +unlimitedItemPermission=\u00a7cSem permissao para item ilimitado {0}. +unlimitedItems=Item ilimitado: +unmutedPlayer=Jogador {0} desmutado. +upgradingFilesError=Erro ao aprimorar os arquivos +userDoesNotExist=O usu\u00e1rio {0} nao existe. +userIsAway=[AFK]: {0} esta aus\u00eante. +userIsNotAway=[AFK]: {0} nao esta mais aus\u00eante. +userJailed=\u00a77Voc\u00ea foi preso, muaha! +userUsedPortal={0} usou um portal de saida existente. +userdataMoveBackError=Falha ao mover userdata/{0}.tmp para userdata/{1} +userdataMoveError=Falha ao mover userdata/{0} para userdata/{1}.tmp +usingTempFolderForTesting=Usando pasta temporaria para teste: +versionMismatch=Versao incompativel! Atualise o {0} para mesma versao. +versionMismatchAll=Versao imcompativel! Atualise todos os essentials jars para mesma versao. +voiceSilenced=\u00a77Sua voz foi silenciada +warpDeleteError=Problema ao deletar o arquivo warp. +warpListPermission=\u00a7cVoc\u00ea nao tem permissao para listar os warps. +warpNotExist=Este warp nao existe. +warpOverwrite=\u00a7cVoce nao pode substituir essa warp. +warpSet=\u00a77Warp {0} definido. +warpUsePermission=\u00a7cVoc\u00ea nao tem permissao para usar este warp. +warpingTo=\u00a77Warping para {0}. +warps=Warps: {0} +warpsCount=\u00a77Aqui tem {0} warps. Exibindo p\u00e1gina {1} de {2}. +weatherStorm=\u00a77Voc\u00ea modificou o tempo para chuva em {0} +weatherStormFor=\u00a77Voc\u00ea modificou o tempo para chuva em {0} por {1} segundos +weatherSun=\u00a77Voc\u00ea modificou o tempo para sol em {0} +weatherSunFor=\u00a77Voc\u00ea modificou o tempo para sol em {0} por {1} segundos +whoisBanned=\u00a79 - Banido: {0} +whoisExp=\u00a79 - Exp: {0} (Level {1}) +whoisGamemode=\u00a79 - Gamemode: {0} +whoisGeoLocation=\u00a79 - Localiza\u00e7ao: {0} +whoisGod=\u00a79 - Modo Deus: {0} +whoisHealth=\u00a79 - Sa\u00fade: {0}/20 +whoisIPAddress=\u00a79 - IP: {0} +whoisIs={0} e {1} +whoisJail=\u00a79 - Jail: {0} +whoisLocation=\u00a79 - Localiza\u00e7ao: ({0}, {1}, {2}, {3}) +whoisMoney=\u00a79 - Dinheiro: {0} +whoisOP=\u00a79 - OP: {0} +whoisStatusAvailable=\u00a79 - Estado: Dispon\u00edvel +whoisStatusAway=\u00a79 - Estado: \u00a7cAway\u00a7f +worth=\u00a77Pilha de {0} vale \u00a7c{1}\u00a77 ({2} item(s) a {3} cada) +worthMeta=\u00a77Pilha de {0} com metadados de {1} vale \u00a7c{2}\u00a77 ({3} item(s) a {4} cada) +worthSet=Definir quanto vale +year=ano +years=anos +youAreHealed=\u00a77Voc\u00ea foi curado. +youHaveNewMail=\u00a7cVoc\u00ea tem {0} mensagens!\u00a7f Digite \u00a77/mail read\u00a7f para ver seu email. diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 022143b3f..3e1dc52c0 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -180,7 +180,7 @@ commands: aliases: [ekickall] kit: description: Obtains the specified kit or views all available kits. - usage: /<command> [kit] + usage: /<command> [kit] [player] aliases: [ekit,kits,ekits] kill: description: Kills specified player. @@ -203,7 +203,7 @@ commands: aliases: [strike,smite,thor,shock,elightning,estrike,esmite,ethor,eshock] mail: description: Manages inter-player, intra-server mail. - usage: /<command> [read|clear|send [to] [message]] + usage: /<command> [read|clear|send [to] [message]|sendall [message]] aliases: [email] me: description: Describes an action in the context of the player. diff --git a/Essentials/test/com/earth2me/essentials/UtilTest.java b/Essentials/test/com/earth2me/essentials/UtilTest.java index 71282a18f..2efd39e4c 100644 --- a/Essentials/test/com/earth2me/essentials/UtilTest.java +++ b/Essentials/test/com/earth2me/essentials/UtilTest.java @@ -44,67 +44,67 @@ public class UtilTest extends TestCase Calendar a, b; a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 10, 0, 1); - assertEquals(" 1 second", Util.formatDateDiff(a, b)); + assertEquals("1 second", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 10, 0, 2); - assertEquals(" 2 seconds", Util.formatDateDiff(a, b)); + assertEquals("2 seconds", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 10, 0, 3); - assertEquals(" 3 seconds", Util.formatDateDiff(a, b)); + assertEquals("3 seconds", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 10, 1, 0); - assertEquals(" 1 minute", Util.formatDateDiff(a, b)); + assertEquals("1 minute", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 10, 2, 0); - assertEquals(" 2 minutes", Util.formatDateDiff(a, b)); + assertEquals("2 minutes", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 10, 3, 0); - assertEquals(" 3 minutes", Util.formatDateDiff(a, b)); + assertEquals("3 minutes", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 11, 0, 0); - assertEquals(" 1 hour", Util.formatDateDiff(a, b)); + assertEquals("1 hour", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 12, 0, 0); - assertEquals(" 2 hours", Util.formatDateDiff(a, b)); + assertEquals("2 hours", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 13, 0, 0); - assertEquals(" 3 hours", Util.formatDateDiff(a, b)); + assertEquals("3 hours", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 2, 10, 0, 0); - assertEquals(" 1 day", Util.formatDateDiff(a, b)); + assertEquals("1 day", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 3, 10, 0, 0); - assertEquals(" 2 days", Util.formatDateDiff(a, b)); + assertEquals("2 days", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 4, 10, 0, 0); - assertEquals(" 3 days", Util.formatDateDiff(a, b)); + assertEquals("3 days", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 2, 1, 10, 0, 0); - assertEquals(" 1 month", Util.formatDateDiff(a, b)); + assertEquals("1 month", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 3, 1, 10, 0, 0); - assertEquals(" 2 months", Util.formatDateDiff(a, b)); + assertEquals("2 months", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 4, 1, 10, 0, 0); - assertEquals(" 3 months", Util.formatDateDiff(a, b)); + assertEquals("3 months", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2011, 1, 1, 10, 0, 0); - assertEquals(" 1 year", Util.formatDateDiff(a, b)); + assertEquals("1 year", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2012, 1, 1, 10, 0, 0); - assertEquals(" 2 years", Util.formatDateDiff(a, b)); + assertEquals("2 years", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2013, 1, 1, 10, 0, 0); - assertEquals(" 3 years", Util.formatDateDiff(a, b)); + assertEquals("3 years", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2011, 4, 5, 23, 38, 12); - assertEquals(" 1 year 3 months 4 days 13 hours 38 minutes 12 seconds", Util.formatDateDiff(a, b)); + assertEquals("1 year 3 months 4 days", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 9, 17, 23, 45, 45); b = new GregorianCalendar(2015, 3, 7, 10, 0, 0); - assertEquals(" 4 years 5 months 20 days 10 hours 14 minutes 15 seconds", Util.formatDateDiff(a, b)); + assertEquals("4 years 5 months 20 days", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2011, 4, 31, 10, 0, 0); b = new GregorianCalendar(2011, 4, 31, 10, 5, 0); - assertEquals(" 5 minutes", Util.formatDateDiff(a, b)); + assertEquals("5 minutes", Util.formatDateDiff(a, b)); } public void testFDDpast() @@ -112,63 +112,63 @@ public class UtilTest extends TestCase Calendar a, b; a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 59, 59); - assertEquals(" 1 second", Util.formatDateDiff(a, b)); + assertEquals("1 second", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 59, 58); - assertEquals(" 2 seconds", Util.formatDateDiff(a, b)); + assertEquals("2 seconds", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 59, 57); - assertEquals(" 3 seconds", Util.formatDateDiff(a, b)); + assertEquals("3 seconds", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 59, 0); - assertEquals(" 1 minute", Util.formatDateDiff(a, b)); + assertEquals("1 minute", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 58, 0); - assertEquals(" 2 minutes", Util.formatDateDiff(a, b)); + assertEquals("2 minutes", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 57, 0); - assertEquals(" 3 minutes", Util.formatDateDiff(a, b)); + assertEquals("3 minutes", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 9, 0, 0); - assertEquals(" 1 hour", Util.formatDateDiff(a, b)); + assertEquals("1 hour", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 8, 0, 0); - assertEquals(" 2 hours", Util.formatDateDiff(a, b)); + assertEquals("2 hours", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2010, 1, 1, 7, 0, 0); - assertEquals(" 3 hours", Util.formatDateDiff(a, b)); + assertEquals("3 hours", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 5, 10, 0, 0); b = new GregorianCalendar(2010, 1, 4, 10, 0, 0); - assertEquals(" 1 day", Util.formatDateDiff(a, b)); + assertEquals("1 day", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 5, 10, 0, 0); b = new GregorianCalendar(2010, 1, 3, 10, 0, 0); - assertEquals(" 2 days", Util.formatDateDiff(a, b)); + assertEquals("2 days", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 5, 10, 0, 0); b = new GregorianCalendar(2010, 1, 2, 10, 0, 0); - assertEquals(" 3 days", Util.formatDateDiff(a, b)); + assertEquals("3 days", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 5, 1, 10, 0, 0); b = new GregorianCalendar(2010, 4, 1, 10, 0, 0); - assertEquals(" 1 month", Util.formatDateDiff(a, b)); + assertEquals("1 month", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 5, 1, 10, 0, 0); b = new GregorianCalendar(2010, 3, 1, 10, 0, 0); - assertEquals(" 2 months", Util.formatDateDiff(a, b)); + assertEquals("2 months", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 5, 1, 10, 0, 0); b = new GregorianCalendar(2010, 2, 1, 10, 0, 0); - assertEquals(" 3 months", Util.formatDateDiff(a, b)); + assertEquals("3 months", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2009, 1, 1, 10, 0, 0); - assertEquals(" 1 year", Util.formatDateDiff(a, b)); + assertEquals("1 year", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2008, 1, 1, 10, 0, 0); - assertEquals(" 2 years", Util.formatDateDiff(a, b)); + assertEquals("2 years", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2007, 1, 1, 10, 0, 0); - assertEquals(" 3 years", Util.formatDateDiff(a, b)); + assertEquals("3 years", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 1, 1, 10, 0, 0); b = new GregorianCalendar(2009, 4, 5, 23, 38, 12); - assertEquals(" 8 months 26 days 10 hours 21 minutes 48 seconds", Util.formatDateDiff(a, b)); + assertEquals("8 months 26 days 10 hours", Util.formatDateDiff(a, b)); a = new GregorianCalendar(2010, 9, 17, 23, 45, 45); b = new GregorianCalendar(2000, 3, 7, 10, 0, 0); - assertEquals(" 10 years 6 months 10 days 13 hours 45 minutes 45 seconds", Util.formatDateDiff(a, b)); + assertEquals("10 years 6 months 10 days", Util.formatDateDiff(a, b)); } } diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java index ddf928725..6bdab0919 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java @@ -126,20 +126,19 @@ public abstract class EssentialsChatPlayer implements Listener } if (!onlineUser.equals(sender)) { - final Location playerLoc = onlineUser.getLocation(); - if (playerLoc.getWorld() != world) + if (onlineUser.isAuthorized("essentials.chat.spy")) { - continue; + type = type.concat(_("chatTypeSpy")); } - final double delta = playerLoc.distanceSquared(loc); - - if (delta > chatStore.getRadius()) + else { - if (onlineUser.isAuthorized("essentials.chat.spy")) + final Location playerLoc = onlineUser.getLocation(); + if (playerLoc.getWorld() != world) { - type = type.concat(_("chatTypeSpy")); + continue; } - else + final double delta = playerLoc.distanceSquared(loc); + if (delta > chatStore.getRadius()) { continue; } diff --git a/EssentialsGroupManager/src/globalgroups.yml b/EssentialsGroupManager/src/globalgroups.yml index fa8808e00..101e4d3c5 100644 --- a/EssentialsGroupManager/src/globalgroups.yml +++ b/EssentialsGroupManager/src/globalgroups.yml @@ -114,24 +114,32 @@ groups: - essentials.balance.others
- essentials.balancetop
- essentials.chat.color
+ - essentials.chat.format
- essentials.chat.shout
- essentials.chat.question
- essentials.compass
- essentials.depth
+ - essentials.getpos
- essentials.home
- essentials.ignore
+ - essentials.itemdb
- essentials.kit
- essentials.kit.tools
- essentials.mail
- essentials.mail.send
- essentials.me
- essentials.msg
+ - essentials.msg.color
+ - essentials.msg.format
- essentials.nick
- essentials.pay
- essentials.ping
- essentials.powertool
+ - essentials.powertooltoggle
- essentials.protect
+ - essentials.seen
- essentials.sethome
+ - essentials.sethome.multiple
- essentials.signs.use.*
- essentials.signs.create.disposal
- essentials.signs.create.mail
@@ -153,14 +161,19 @@ groups: g:essentials_moderator:
permissions:
+ - -essentials.spawner.enderdragon
+ - essentials.afk.kickexempt
- essentials.ban
- essentials.ban.notify
- essentials.banip
- essentials.broadcast
+ - essentials.chat.url
+ - essentials.chat.magic
- essentials.clearinventory
- essentials.delwarp
- essentials.eco.loan
- essentials.ext
+ - essentials.fly
- essentials.getpos
- essentials.helpop.recieve
- essentials.home.others
@@ -170,13 +183,18 @@ groups: - essentials.kick
- essentials.kick.notify
- essentials.kill
+ - essentials.kit.*
+ - essentials.msg.magic
- essentials.mute
+ - essentials.nick.color
- essentials.nick.others
- essentials.realname
+ - essentials.seen.banreason
- essentials.setwarp
- essentials.signs.create.*
- essentials.signs.break.*
- essentials.spawner
+ - essentials.spawner.*
- essentials.thunder
- essentials.time
- essentials.time.set
@@ -188,6 +206,7 @@ groups: - essentials.togglejail
- essentials.top
- essentials.tp
+ - essentials.tp.others
- essentials.tphere
- essentials.tppos
- essentials.tptoggle
@@ -196,6 +215,7 @@ groups: - essentials.weather
- essentials.whois
- essentials.world
+ - essentials.world.*
g:essentials_admin:
permissions:
@@ -282,4 +302,4 @@ groups: permissions:
- vanish.silentjoin
- vanish.silentquit
- - vanish.silentchests
\ No newline at end of file + - vanish.silentchests
diff --git a/lib/bukkit.jar b/lib/bukkit.jar Binary files differindex 912400ba3..54f4c9ede 100644 --- a/lib/bukkit.jar +++ b/lib/bukkit.jar diff --git a/lib/craftbukkit.jar b/lib/craftbukkit.jar Binary files differindex 815d0a929..c3a206bb1 100644 --- a/lib/craftbukkit.jar +++ b/lib/craftbukkit.jar |