mirror of
https://github.com/EssentialsX/Essentials.git
synced 2026-11-05 09:10:17 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3348bd9129 | ||
|
|
1a5526867c | ||
|
|
c5253bc5e2 | ||
|
|
29a2a865c5 | ||
|
|
c3b994808f | ||
|
|
bc2da98703 | ||
|
|
cbb012853c | ||
|
|
4bf4bd432a | ||
|
|
83d0e0d9a0 | ||
|
|
2f5c24d114 | ||
|
|
88c8ccd29b | ||
|
|
94edbcfeb1 | ||
|
|
d5822e9a41 | ||
|
|
debf09437e | ||
|
|
a9e5f079a9 | ||
|
|
f00c2dcf92 | ||
|
|
63cbf7e2da | ||
|
|
19837f9309 | ||
|
|
4b8b770c30 | ||
|
|
ddc258ed11 | ||
|
|
d23796dade | ||
|
|
41f5cc3175 | ||
|
|
c6fe160b47 | ||
|
|
5c46bea2ca | ||
|
|
a9585bb525 | ||
|
|
bb88a6a749 | ||
|
|
739600eb05 | ||
|
|
5f98d3fac5 | ||
|
|
84326cf13e | ||
|
|
685084219e | ||
|
|
c4e62ae22b | ||
|
|
05ce11f657 | ||
|
|
bcb0fb5825 | ||
|
|
91f4493fe0 | ||
|
|
d53ff36a2a | ||
|
|
98917d97c8 | ||
|
|
7e1d18fee4 | ||
|
|
0b7e7801d0 | ||
|
|
840035944a | ||
|
|
20a7d1c7ee | ||
|
|
253185bd0e | ||
|
|
dae519494e | ||
|
|
dc27af78bf | ||
|
|
41861a8551 | ||
|
|
9b629e42d8 | ||
|
|
7794634d37 | ||
|
|
d091d6902c | ||
|
|
c45c741210 | ||
|
|
e35c65b976 | ||
|
|
0983167740 | ||
|
|
1509cf8978 | ||
|
|
c0082ee734 | ||
|
|
db2ec1b436 | ||
|
|
7a1e50d10f | ||
|
|
b6ba1768a1 | ||
|
|
c38dd997d2 | ||
|
|
f8ca1bae5d | ||
|
|
3c60bcf2de | ||
|
|
3f857e3183 | ||
|
|
668c9634ca | ||
|
|
51c49b0de6 | ||
|
|
5723dac6ba | ||
|
|
680d3230ea | ||
|
|
8f679de352 | ||
|
|
86d435eee1 | ||
|
|
e4cf965bae | ||
|
|
78c846a0a8 | ||
|
|
c466c9c370 | ||
|
|
6994005a5f | ||
|
|
e43f06bfa6 | ||
|
|
9601687190 | ||
|
|
2ed94f1048 | ||
|
|
70045c30f3 | ||
|
|
ce88c0e1e4 | ||
|
|
494e82e581 | ||
|
|
edd15132fd | ||
|
|
add664441e | ||
|
|
58b0fb089f | ||
|
|
90e4845627 | ||
|
|
43f4d306be | ||
|
|
cb7d9baf7a | ||
|
|
f3aea5e6ec | ||
|
|
a7a1fcd98c | ||
|
|
ef8bcc8bc4 | ||
|
|
b3692d18b0 | ||
|
|
a7b2b675d5 | ||
|
|
7d7a8e47ac | ||
|
|
f0da17b75c | ||
|
|
d86b471402 | ||
|
|
767508fb87 | ||
|
|
c85d772e1b | ||
|
|
fde6524e46 | ||
|
|
b2886969f0 | ||
|
|
19ca5186e4 | ||
|
|
b86a34c909 |
No files matched your search
@@ -22,24 +22,10 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "`/ess version` output"
|
||||
description: Run `/ess version` in the console, then copy and paste the full output of the command into this box.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Server startup log
|
||||
description: Upload your server startup log (from the start of `latest.log` up to where it says "Done!") to either https://paste.gg or https://gist.github.com, save and then paste the link in this box.
|
||||
placeholder: "Example: https://paste.gg/p/anonymous/109dd6a10a734a3aa430d5a351ea5210"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: EssentialsX config files
|
||||
description: Upload your EssentialsX `config.yml` (and any other relevant files like `kits.yml`) to either https://paste.gg or https://gist.github.com, save and then paste the link in this box. If you included those files in the same paste as your startup log, paste the same link here.
|
||||
placeholder: "Example: https://paste.gg/p/anonymous/109dd6a10a734a3aa430d5a351ea5210"
|
||||
label: "`/ess dump all` output"
|
||||
description: Run `/ess dump all` in the console, then copy and paste the link from the output of the command into this box. (If this command doesn't work, you should [update EssentialsX](https://essentialsx.net/downloads.html) and try again.)
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
|
||||
@@ -4,6 +4,7 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- 2.x
|
||||
- dev/*
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -9,6 +9,7 @@ on:
|
||||
branches:
|
||||
- 2.x
|
||||
- mc/*
|
||||
- dev/*
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -10,6 +10,8 @@ dependencies {
|
||||
|
||||
api 'io.papermc:paperlib:1.0.6'
|
||||
|
||||
api 'org.bstats:bstats-bukkit:2.2.1'
|
||||
|
||||
implementation 'org.spongepowered:configurate-yaml:4.1.2'
|
||||
implementation 'org.checkerframework:checker-qual:3.14.0'
|
||||
|
||||
@@ -20,6 +22,9 @@ dependencies {
|
||||
exclude group: "org.bukkit", module: "bukkit"
|
||||
}
|
||||
api(project(':providers:1_8Provider')) {
|
||||
exclude group: "org.spigotmc", module: "spigot"
|
||||
}
|
||||
api(project(':providers:1_12Provider')) {
|
||||
exclude group: "org.bukkit", module: "bukkit"
|
||||
}
|
||||
}
|
||||
@@ -28,6 +33,7 @@ shadowJar {
|
||||
dependencies {
|
||||
include (dependency('io.papermc:paperlib'))
|
||||
include (dependency('org.bstats:bstats-bukkit'))
|
||||
include (dependency('org.bstats:bstats-base'))
|
||||
include (dependency('org.spongepowered:configurate-yaml'))
|
||||
include (dependency('org.spongepowered:configurate-core'))
|
||||
include (dependency('org.yaml:snakeyaml'))
|
||||
@@ -37,9 +43,10 @@ shadowJar {
|
||||
include (project(':providers:PaperProvider'))
|
||||
include (project(':providers:NMSReflectionProvider'))
|
||||
include (project(':providers:1_8Provider'))
|
||||
include (project(':providers:1_12Provider'))
|
||||
}
|
||||
relocate 'io.papermc.lib', 'com.earth2me.essentials.paperlib'
|
||||
relocate 'org.bstats.bukkit', 'com.earth2me.essentials.metrics'
|
||||
relocate 'org.bstats', 'com.earth2me.essentials.libs.bstats'
|
||||
relocate 'org.spongepowered.configurate', 'com.earth2me.essentials.libs.configurate'
|
||||
relocate 'org.yaml.snakeyaml', 'com.earth2me.essentials.libs.snakeyaml'
|
||||
relocate 'io.leangen.geantyref', 'com.earth2me.essentials.libs.geantyref'
|
||||
|
||||
@@ -29,11 +29,12 @@ public class AlternativeCommandsHandler {
|
||||
}
|
||||
|
||||
public final void addPlugin(final Plugin plugin) {
|
||||
if (plugin.getDescription().getMain().contains("com.earth2me.essentials")) {
|
||||
if (plugin.getDescription().getMain().contains("com.earth2me.essentials") || plugin.getDescription().getMain().contains("net.essentialsx")) {
|
||||
return;
|
||||
}
|
||||
for (final Map.Entry<String, Command> entry : getPluginCommands(plugin).entrySet()) {
|
||||
final String commandName = entry.getKey().contains(":") ? entry.getKey().split(":")[1] : entry.getKey();
|
||||
final String[] commandSplit = entry.getKey().split(":", 2);
|
||||
final String commandName = commandSplit.length > 1 ? commandSplit[1] : entry.getKey();
|
||||
final Command command = entry.getValue();
|
||||
|
||||
final List<Command> pluginCommands = altcommands.computeIfAbsent(commandName.toLowerCase(Locale.ENGLISH), k -> new ArrayList<>());
|
||||
|
||||
@@ -189,7 +189,7 @@ public class AsyncTeleport implements IAsyncTeleport {
|
||||
}
|
||||
PaperLib.getChunkAtAsync(targetLoc.getWorld(), targetLoc.getBlockX() >> 4, targetLoc.getBlockZ() >> 4, true, true).thenAccept(chunk -> {
|
||||
Location loc = targetLoc;
|
||||
if (LocationUtil.isBlockUnsafeForUser(teleportee, chunk.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())) {
|
||||
if (LocationUtil.isBlockUnsafeForUser(ess, teleportee, chunk.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())) {
|
||||
if (ess.getSettings().isTeleportSafetyEnabled()) {
|
||||
if (ess.getSettings().isForceDisableTeleportSafety()) {
|
||||
//The chunk we're teleporting to is 100% going to be loaded here, no need to teleport async.
|
||||
|
||||
@@ -47,6 +47,7 @@ import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.IItemDb;
|
||||
import net.ess3.api.IJails;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.nms.refl.providers.ReflDataWorldInfoProvider;
|
||||
import net.ess3.nms.refl.providers.ReflFormattedCommandAliasProvider;
|
||||
import net.ess3.nms.refl.providers.ReflKnownCommandsProvider;
|
||||
import net.ess3.nms.refl.providers.ReflOnlineModeProvider;
|
||||
@@ -57,25 +58,33 @@ import net.ess3.nms.refl.providers.ReflSpawnerBlockProvider;
|
||||
import net.ess3.nms.refl.providers.ReflSyncCommandsProvider;
|
||||
import net.ess3.provider.ContainerProvider;
|
||||
import net.ess3.provider.FormattedCommandAliasProvider;
|
||||
import net.ess3.provider.ItemUnbreakableProvider;
|
||||
import net.ess3.provider.KnownCommandsProvider;
|
||||
import net.ess3.provider.MaterialTagProvider;
|
||||
import net.ess3.provider.PersistentDataProvider;
|
||||
import net.ess3.provider.PotionMetaProvider;
|
||||
import net.ess3.provider.SerializationProvider;
|
||||
import net.ess3.provider.ProviderListener;
|
||||
import net.ess3.provider.SerializationProvider;
|
||||
import net.ess3.provider.ServerStateProvider;
|
||||
import net.ess3.provider.SignDataProvider;
|
||||
import net.ess3.provider.SpawnEggProvider;
|
||||
import net.ess3.provider.SpawnerBlockProvider;
|
||||
import net.ess3.provider.SpawnerItemProvider;
|
||||
import net.ess3.provider.SyncCommandsProvider;
|
||||
import net.ess3.provider.WorldInfoProvider;
|
||||
import net.ess3.provider.providers.BasePotionDataProvider;
|
||||
import net.ess3.provider.providers.BlockMetaSpawnerItemProvider;
|
||||
import net.ess3.provider.providers.BukkitMaterialTagProvider;
|
||||
import net.ess3.provider.providers.BukkitSpawnerBlockProvider;
|
||||
import net.ess3.provider.providers.FixedHeightWorldInfoProvider;
|
||||
import net.ess3.provider.providers.FlatSpawnEggProvider;
|
||||
import net.ess3.provider.providers.LegacyItemUnbreakableProvider;
|
||||
import net.ess3.provider.providers.LegacyPotionMetaProvider;
|
||||
import net.ess3.provider.providers.LegacySpawnEggProvider;
|
||||
import net.ess3.provider.providers.ModernDataWorldInfoProvider;
|
||||
import net.ess3.provider.providers.ModernItemUnbreakableProvider;
|
||||
import net.ess3.provider.providers.ModernPersistentDataProvider;
|
||||
import net.ess3.provider.providers.ModernSignDataProvider;
|
||||
import net.ess3.provider.providers.PaperContainerProvider;
|
||||
import net.ess3.provider.providers.PaperKnownCommandsProvider;
|
||||
import net.ess3.provider.providers.PaperMaterialTagProvider;
|
||||
@@ -103,7 +112,6 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.world.WorldLoadEvent;
|
||||
import org.bukkit.event.world.WorldUnloadEvent;
|
||||
import org.bukkit.plugin.InvalidDescriptionException;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
@@ -167,6 +175,9 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
private transient SyncCommandsProvider syncCommandsProvider;
|
||||
private transient PersistentDataProvider persistentDataProvider;
|
||||
private transient ReflOnlineModeProvider onlineModeProvider;
|
||||
private transient ItemUnbreakableProvider unbreakableProvider;
|
||||
private transient WorldInfoProvider worldInfoProvider;
|
||||
private transient SignDataProvider signDataProvider;
|
||||
private transient Kits kits;
|
||||
private transient RandomTeleport randomTeleport;
|
||||
private transient UpdateChecker updateChecker;
|
||||
@@ -410,6 +421,24 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
|
||||
onlineModeProvider = new ReflOnlineModeProvider();
|
||||
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_11_2_R01)) {
|
||||
unbreakableProvider = new ModernItemUnbreakableProvider();
|
||||
} else {
|
||||
unbreakableProvider = new LegacyItemUnbreakableProvider();
|
||||
}
|
||||
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_17_1_R01)) {
|
||||
worldInfoProvider = new ModernDataWorldInfoProvider();
|
||||
} else if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_16_5_R01)) {
|
||||
worldInfoProvider = new ReflDataWorldInfoProvider();
|
||||
} else {
|
||||
worldInfoProvider = new FixedHeightWorldInfoProvider();
|
||||
}
|
||||
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_14_4_R01)) {
|
||||
signDataProvider = new ModernSignDataProvider(this);
|
||||
}
|
||||
|
||||
execTimer.mark("Init(Providers)");
|
||||
reload();
|
||||
|
||||
@@ -727,7 +756,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
if (getSettings().isCommandDisabled(commandLabel)) {
|
||||
if (getKnownCommandsProvider().getKnownCommands().containsKey(commandLabel)) {
|
||||
final Command newCmd = getKnownCommandsProvider().getKnownCommands().get(commandLabel);
|
||||
if (!(newCmd instanceof PluginIdentifiableCommand) || ((PluginIdentifiableCommand) newCmd).getPlugin() != this) {
|
||||
if (!(newCmd instanceof PluginIdentifiableCommand) || !isEssentialsPlugin(((PluginIdentifiableCommand) newCmd).getPlugin())) {
|
||||
return newCmd.execute(cSender, commandLabel, args);
|
||||
}
|
||||
}
|
||||
@@ -771,14 +800,15 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
} catch (final NoChargeException | QuietAbortException ex) {
|
||||
return true;
|
||||
} catch (final NotEnoughArgumentsException ex) {
|
||||
sender.sendMessage(tl("commandHelpLine1", commandLabel));
|
||||
sender.sendMessage(tl("commandHelpLine2", command.getDescription()));
|
||||
sender.sendMessage(tl("commandHelpLine3"));
|
||||
if (getSettings().isVerboseCommandUsages() && !cmd.getUsageStrings().isEmpty()) {
|
||||
sender.sendMessage(tl("commandHelpLine1", commandLabel));
|
||||
sender.sendMessage(tl("commandHelpLine2", command.getDescription()));
|
||||
sender.sendMessage(tl("commandHelpLine3"));
|
||||
for (Map.Entry<String, String> usage : cmd.getUsageStrings().entrySet()) {
|
||||
sender.sendMessage(tl("commandHelpLineUsage", usage.getKey().replace("<command>", commandLabel), usage.getValue()));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(command.getDescription());
|
||||
sender.sendMessage(command.getUsage().replace("<command>", commandLabel));
|
||||
}
|
||||
if (!ex.getMessage().isEmpty()) {
|
||||
@@ -801,6 +831,10 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isEssentialsPlugin(Plugin plugin) {
|
||||
return plugin.getDescription().getMain().contains("com.earth2me.essentials") || plugin.getDescription().getMain().contains("net.essentialsx");
|
||||
}
|
||||
|
||||
public void cleanupOpenInventories() {
|
||||
for (final User user : getOnlineUsers()) {
|
||||
if (user.isRecipeSee()) {
|
||||
@@ -1269,6 +1303,21 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
return onlineModeProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemUnbreakableProvider getItemUnbreakableProvider() {
|
||||
return unbreakableProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorldInfoProvider getWorldInfoProvider() {
|
||||
return worldInfoProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SignDataProvider getSignDataProvider() {
|
||||
return signDataProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PluginCommand getPluginCommand(final String cmd) {
|
||||
return this.getCommand(cmd);
|
||||
@@ -1302,25 +1351,6 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onWorldLoad(final WorldLoadEvent event) {
|
||||
PermissionsDefaults.registerBackDefaultFor(event.getWorld());
|
||||
|
||||
ess.getJails().reloadConfig();
|
||||
ess.getWarps().reloadConfig();
|
||||
for (final IConf iConf : ((Essentials) ess).confList) {
|
||||
if (iConf instanceof IEssentialsModule) {
|
||||
iConf.reloadConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onWorldUnload(final WorldUnloadEvent event) {
|
||||
ess.getJails().reloadConfig();
|
||||
ess.getWarps().reloadConfig();
|
||||
for (final IConf iConf : ((Essentials) ess).confList) {
|
||||
if (iConf instanceof IEssentialsModule) {
|
||||
iConf.reloadConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,674 +0,0 @@
|
||||
package com.earth2me.essentials;
|
||||
|
||||
import com.google.common.io.Files;
|
||||
import net.ess3.api.InvalidWorldException;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
import java.nio.Buffer;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.CharBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.CharsetDecoder;
|
||||
import java.nio.charset.CoderResult;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
|
||||
public class EssentialsConf extends YamlConfiguration {
|
||||
protected static final Logger LOGGER = Logger.getLogger("Essentials");
|
||||
protected static final Charset UTF8 = StandardCharsets.UTF_8;
|
||||
private static final ExecutorService EXECUTOR_SERVICE = Executors.newSingleThreadExecutor();
|
||||
protected final File configFile;
|
||||
private final AtomicInteger pendingDiskWrites = new AtomicInteger(0);
|
||||
private final AtomicBoolean transaction = new AtomicBoolean(false);
|
||||
private final byte[] bytebuffer = new byte[1024];
|
||||
protected String templateName = null;
|
||||
private Class<?> resourceClass = EssentialsConf.class;
|
||||
|
||||
public EssentialsConf(final File configFile) {
|
||||
super();
|
||||
this.configFile = configFile.getAbsoluteFile();
|
||||
}
|
||||
|
||||
public static BigDecimal toBigDecimal(final String input, final BigDecimal def) {
|
||||
if (input == null || input.isEmpty()) {
|
||||
return def;
|
||||
} else {
|
||||
try {
|
||||
return new BigDecimal(input, MathContext.DECIMAL128);
|
||||
} catch (final NumberFormatException | ArithmeticException e) {
|
||||
return def;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void load() {
|
||||
if (pendingDiskWrites.get() != 0) {
|
||||
LOGGER.log(Level.INFO, "File {0} not read, because it''s not yet written to disk.", configFile);
|
||||
return;
|
||||
}
|
||||
if (!configFile.getParentFile().exists()) {
|
||||
if (!configFile.getParentFile().mkdirs()) {
|
||||
LOGGER.log(Level.SEVERE, tl("failedToCreateConfig", configFile.toString()));
|
||||
}
|
||||
}
|
||||
// This will delete files where the first character is 0. In most cases they are broken.
|
||||
if (configFile.exists() && configFile.length() != 0) {
|
||||
try {
|
||||
final InputStream input = new FileInputStream(configFile);
|
||||
try {
|
||||
if (input.read() == 0) {
|
||||
input.close();
|
||||
configFile.delete();
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, null, ex);
|
||||
} finally {
|
||||
try {
|
||||
input.close();
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
} catch (final FileNotFoundException ex) {
|
||||
LOGGER.log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
|
||||
if (!configFile.exists()) {
|
||||
if (legacyFileExists()) {
|
||||
convertLegacyFile();
|
||||
} else if (altFileExists()) {
|
||||
convertAltFile();
|
||||
} else if (templateName != null) {
|
||||
LOGGER.log(Level.INFO, tl("creatingConfigFromTemplate", configFile.toString()));
|
||||
createFromTemplate();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
try (final FileInputStream inputStream = new FileInputStream(configFile)) {
|
||||
final long startSize = configFile.length();
|
||||
if (startSize > Integer.MAX_VALUE) {
|
||||
throw new InvalidConfigurationException("File too big");
|
||||
}
|
||||
ByteBuffer buffer = ByteBuffer.allocate((int) startSize);
|
||||
int length;
|
||||
while ((length = inputStream.read(bytebuffer)) != -1) {
|
||||
if (length > buffer.remaining()) {
|
||||
final ByteBuffer resize = ByteBuffer.allocate(buffer.capacity() + length - buffer.remaining());
|
||||
final int resizePosition = buffer.position();
|
||||
// Fix builds compiled against Java 9+ breaking on Java 8
|
||||
((Buffer) buffer).rewind();
|
||||
resize.put(buffer);
|
||||
resize.position(resizePosition);
|
||||
buffer = resize;
|
||||
}
|
||||
buffer.put(bytebuffer, 0, length);
|
||||
}
|
||||
((Buffer) buffer).rewind();
|
||||
final CharBuffer data = CharBuffer.allocate(buffer.capacity());
|
||||
CharsetDecoder decoder = UTF8.newDecoder();
|
||||
CoderResult result = decoder.decode(buffer, data, true);
|
||||
if (result.isError()) {
|
||||
((Buffer) buffer).rewind();
|
||||
((Buffer) data).clear();
|
||||
LOGGER.log(Level.INFO, "File " + configFile.getAbsolutePath() + " is not utf-8 encoded, trying " + Charset.defaultCharset().displayName());
|
||||
decoder = Charset.defaultCharset().newDecoder();
|
||||
result = decoder.decode(buffer, data, true);
|
||||
if (result.isError()) {
|
||||
throw new InvalidConfigurationException("Invalid Characters in file " + configFile.getAbsolutePath());
|
||||
} else {
|
||||
decoder.flush(data);
|
||||
}
|
||||
} else {
|
||||
decoder.flush(data);
|
||||
}
|
||||
final int end = data.position();
|
||||
((Buffer) data).rewind();
|
||||
super.loadFromString(data.subSequence(0, end).toString());
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, ex.getMessage(), ex);
|
||||
} catch (final InvalidConfigurationException ex) {
|
||||
final File broken = new File(configFile.getAbsolutePath() + ".broken." + System.currentTimeMillis());
|
||||
configFile.renameTo(broken);
|
||||
LOGGER.log(Level.SEVERE, "The file " + configFile.toString() + " is broken, it has been renamed to " + broken.toString(), ex.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean legacyFileExists() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void convertLegacyFile() {
|
||||
LOGGER.log(Level.SEVERE, "Unable to import legacy config file.");
|
||||
}
|
||||
|
||||
public boolean altFileExists() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void convertAltFile() {
|
||||
LOGGER.log(Level.SEVERE, "Unable to import alt config file.");
|
||||
}
|
||||
|
||||
private void createFromTemplate() {
|
||||
InputStream istr = null;
|
||||
OutputStream ostr = null;
|
||||
try {
|
||||
istr = resourceClass.getResourceAsStream(templateName);
|
||||
if (istr == null) {
|
||||
LOGGER.log(Level.SEVERE, tl("couldNotFindTemplate", templateName));
|
||||
return;
|
||||
}
|
||||
ostr = new FileOutputStream(configFile);
|
||||
final byte[] buffer = new byte[1024];
|
||||
int length = 0;
|
||||
length = istr.read(buffer);
|
||||
while (length > 0) {
|
||||
ostr.write(buffer, 0, length);
|
||||
length = istr.read(buffer);
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, tl("failedToWriteConfig", configFile.toString()), ex);
|
||||
} finally {
|
||||
try {
|
||||
if (istr != null) {
|
||||
istr.close();
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
Logger.getLogger(EssentialsConf.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
try {
|
||||
if (ostr != null) {
|
||||
ostr.close();
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, tl("failedToCloseConfig", configFile.toString()), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setTemplateName(final String templateName) {
|
||||
this.templateName = templateName;
|
||||
}
|
||||
|
||||
public File getFile() {
|
||||
return configFile;
|
||||
}
|
||||
|
||||
public void setTemplateName(final String templateName, final Class<?> resClass) {
|
||||
this.templateName = templateName;
|
||||
this.resourceClass = resClass;
|
||||
}
|
||||
|
||||
public void startTransaction() {
|
||||
transaction.set(true);
|
||||
}
|
||||
|
||||
public void stopTransaction() {
|
||||
transaction.set(false);
|
||||
save();
|
||||
}
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
save(configFile);
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void saveWithError() throws IOException {
|
||||
save(configFile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void save(final File file) throws IOException {
|
||||
if (!transaction.get()) {
|
||||
delayedSave(file);
|
||||
}
|
||||
}
|
||||
|
||||
//This may be aborted if there are stagnant requests sitting in queue.
|
||||
//This needs fixed to discard outstanding save requests.
|
||||
public synchronized void forceSave() {
|
||||
try {
|
||||
final Future<?> future = delayedSave(configFile);
|
||||
if (future != null) {
|
||||
future.get();
|
||||
}
|
||||
} catch (final InterruptedException | ExecutionException ex) {
|
||||
LOGGER.log(Level.SEVERE, ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void cleanup() {
|
||||
forceSave();
|
||||
}
|
||||
|
||||
private Future<?> delayedSave(final File file) {
|
||||
if (file == null) {
|
||||
throw new IllegalArgumentException("File cannot be null");
|
||||
}
|
||||
|
||||
final String data = saveToString();
|
||||
|
||||
if (data.length() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
pendingDiskWrites.incrementAndGet();
|
||||
|
||||
return EXECUTOR_SERVICE.submit(new WriteRunner(configFile, data, pendingDiskWrites));
|
||||
}
|
||||
|
||||
public boolean hasProperty(final String path) {
|
||||
return isSet(path);
|
||||
}
|
||||
|
||||
public Location getLocation(final String path, final Server server) throws InvalidWorldException {
|
||||
final String worldString = (path == null ? "" : path + ".") + "world";
|
||||
final String worldName = getString(worldString);
|
||||
if (worldName == null || worldName.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
final World world = server.getWorld(worldName);
|
||||
if (world == null) {
|
||||
throw new InvalidWorldException(worldName);
|
||||
}
|
||||
return new Location(world, getDouble((path == null ? "" : path + ".") + "x", 0), getDouble((path == null ? "" : path + ".") + "y", 0), getDouble((path == null ? "" : path + ".") + "z", 0), (float) getDouble((path == null ? "" : path + ".") + "yaw", 0), (float) getDouble((path == null ? "" : path + ".") + "pitch", 0));
|
||||
}
|
||||
|
||||
public void setProperty(final String path, final Location loc) {
|
||||
set((path == null ? "" : path + ".") + "world", loc.getWorld().getName());
|
||||
set((path == null ? "" : path + ".") + "x", loc.getX());
|
||||
set((path == null ? "" : path + ".") + "y", loc.getY());
|
||||
set((path == null ? "" : path + ".") + "z", loc.getZ());
|
||||
set((path == null ? "" : path + ".") + "yaw", loc.getYaw());
|
||||
set((path == null ? "" : path + ".") + "pitch", loc.getPitch());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemStack(final String path) {
|
||||
final ItemStack stack = new ItemStack(Material.valueOf(getString(path + ".type", "AIR")), getInt(path + ".amount", 1), (short) getInt(path + ".damage", 0));
|
||||
final ConfigurationSection enchants = getConfigurationSection(path + ".enchant");
|
||||
if (enchants != null) {
|
||||
for (final String enchant : enchants.getKeys(false)) {
|
||||
final Enchantment enchantment = Enchantment.getByName(enchant.toUpperCase(Locale.ENGLISH));
|
||||
if (enchantment == null) {
|
||||
continue;
|
||||
}
|
||||
final int level = getInt(path + ".enchant." + enchant, enchantment.getStartLevel());
|
||||
stack.addUnsafeEnchantment(enchantment, level);
|
||||
}
|
||||
}
|
||||
return stack;
|
||||
/*
|
||||
* ,
|
||||
* (byte)getInt(path + ".data", 0)
|
||||
*/
|
||||
}
|
||||
|
||||
public void setProperty(final String path, final ItemStack stack) {
|
||||
final Map<String, Object> map = new HashMap<>();
|
||||
map.put("type", stack.getType().toString());
|
||||
map.put("amount", stack.getAmount());
|
||||
map.put("damage", stack.getDurability());
|
||||
final Map<Enchantment, Integer> enchantments = stack.getEnchantments();
|
||||
if (!enchantments.isEmpty()) {
|
||||
final Map<String, Integer> enchant = new HashMap<>();
|
||||
for (final Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) {
|
||||
enchant.put(entry.getKey().getName().toLowerCase(Locale.ENGLISH), entry.getValue());
|
||||
}
|
||||
map.put("enchant", enchant);
|
||||
}
|
||||
// getData().getData() is broken
|
||||
//map.put("data", stack.getDurability());
|
||||
set(path, map);
|
||||
}
|
||||
|
||||
public void setProperty(final String path, final List object) {
|
||||
set(path, new ArrayList(object));
|
||||
}
|
||||
|
||||
public void setProperty(final String path, final Map object) {
|
||||
set(path, new LinkedHashMap(object));
|
||||
}
|
||||
|
||||
public Object getProperty(final String path) {
|
||||
return get(path);
|
||||
}
|
||||
|
||||
public void setProperty(final String path, final BigDecimal bigDecimal) {
|
||||
set(path, bigDecimal.toString());
|
||||
}
|
||||
|
||||
public void setProperty(final String path, final Object object) {
|
||||
set(path, object);
|
||||
}
|
||||
|
||||
public void removeProperty(final String path) {
|
||||
set(path, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Object get(final String path) {
|
||||
return super.get(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Object get(final String path, final Object def) {
|
||||
return super.get(path, def);
|
||||
}
|
||||
|
||||
public synchronized BigDecimal getBigDecimal(final String path, final BigDecimal def) {
|
||||
final String input = super.getString(path);
|
||||
return toBigDecimal(input, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean getBoolean(final String path) {
|
||||
return super.getBoolean(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean getBoolean(final String path, final boolean def) {
|
||||
return super.getBoolean(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Boolean> getBooleanList(final String path) {
|
||||
return super.getBooleanList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Byte> getByteList(final String path) {
|
||||
return super.getByteList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Character> getCharacterList(final String path) {
|
||||
return super.getCharacterList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized ConfigurationSection getConfigurationSection(final String path) {
|
||||
return super.getConfigurationSection(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized double getDouble(final String path) {
|
||||
return super.getDouble(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized double getDouble(final String path, final double def) {
|
||||
return super.getDouble(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Double> getDoubleList(final String path) {
|
||||
return super.getDoubleList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Float> getFloatList(final String path) {
|
||||
return super.getFloatList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized int getInt(final String path) {
|
||||
return super.getInt(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized int getInt(final String path, final int def) {
|
||||
return super.getInt(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Integer> getIntegerList(final String path) {
|
||||
return super.getIntegerList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized ItemStack getItemStack(final String path, final ItemStack def) {
|
||||
return super.getItemStack(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Set<String> getKeys(final boolean deep) {
|
||||
return super.getKeys(deep);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<?> getList(final String path) {
|
||||
return super.getList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<?> getList(final String path, final List<?> def) {
|
||||
return super.getList(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized long getLong(final String path) {
|
||||
return super.getLong(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized long getLong(final String path, final long def) {
|
||||
return super.getLong(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Long> getLongList(final String path) {
|
||||
return super.getLongList(path);
|
||||
}
|
||||
|
||||
public synchronized Map<String, Object> getMap() {
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Map<?, ?>> getMapList(final String path) {
|
||||
return super.getMapList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized OfflinePlayer getOfflinePlayer(final String path) {
|
||||
return super.getOfflinePlayer(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized OfflinePlayer getOfflinePlayer(final String path, final OfflinePlayer def) {
|
||||
return super.getOfflinePlayer(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<Short> getShortList(final String path) {
|
||||
return super.getShortList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized String getString(final String path) {
|
||||
return super.getString(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized String getString(final String path, final String def) {
|
||||
return super.getString(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized List<String> getStringList(final String path) {
|
||||
return super.getStringList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Map<String, Object> getValues(final boolean deep) {
|
||||
return super.getValues(deep);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Vector getVector(final String path) {
|
||||
return super.getVector(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Vector getVector(final String path, final Vector def) {
|
||||
return super.getVector(path, def);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isBoolean(final String path) {
|
||||
return super.isBoolean(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isConfigurationSection(final String path) {
|
||||
return super.isConfigurationSection(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isDouble(final String path) {
|
||||
return super.isDouble(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isInt(final String path) {
|
||||
return super.isInt(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isItemStack(final String path) {
|
||||
return super.isItemStack(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isList(final String path) {
|
||||
return super.isList(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isLong(final String path) {
|
||||
return super.isLong(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isOfflinePlayer(final String path) {
|
||||
return super.isOfflinePlayer(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isSet(final String path) {
|
||||
return super.isSet(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isString(final String path) {
|
||||
return super.isString(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean isVector(final String path) {
|
||||
return super.isVector(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void set(final String path, final Object value) {
|
||||
super.set(path, value);
|
||||
}
|
||||
|
||||
private static final class WriteRunner implements Runnable {
|
||||
private final File configFile;
|
||||
private final String data;
|
||||
private final AtomicInteger pendingDiskWrites;
|
||||
|
||||
private WriteRunner(final File configFile, final String data, final AtomicInteger pendingDiskWrites) {
|
||||
this.configFile = configFile;
|
||||
this.data = data;
|
||||
this.pendingDiskWrites = pendingDiskWrites;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
//long startTime = System.nanoTime();
|
||||
synchronized (configFile) {
|
||||
if (pendingDiskWrites.get() > 1) {
|
||||
// Writes can be skipped, because they are stored in a queue (in the executor).
|
||||
// Only the last is actually written.
|
||||
pendingDiskWrites.decrementAndGet();
|
||||
//LOGGER.log(Level.INFO, configFile + " skipped writing in " + (System.nanoTime() - startTime) + " nsec.");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Files.createParentDirs(configFile);
|
||||
|
||||
if (!configFile.exists()) {
|
||||
try {
|
||||
LOGGER.log(Level.INFO, tl("creatingEmptyConfig", configFile.toString()));
|
||||
if (!configFile.createNewFile()) {
|
||||
LOGGER.log(Level.SEVERE, tl("failedToCreateConfig", configFile.toString()));
|
||||
return;
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
LOGGER.log(Level.SEVERE, tl("failedToCreateConfig", configFile.toString()), ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
try (final FileOutputStream fos = new FileOutputStream(configFile)) {
|
||||
try (final OutputStreamWriter writer = new OutputStreamWriter(fos, UTF8)) {
|
||||
writer.write(data);
|
||||
}
|
||||
}
|
||||
} catch (final IOException e) {
|
||||
LOGGER.log(Level.SEVERE, e.getMessage(), e);
|
||||
} finally {
|
||||
//LOGGER.log(Level.INFO, configFile + " written to disk in " + (System.nanoTime() - startTime) + " nsec.");
|
||||
pendingDiskWrites.decrementAndGet();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.earth2me.essentials;
|
||||
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import net.ess3.api.IEssentials;
|
||||
import org.bukkit.Location;
|
||||
@@ -198,7 +199,7 @@ public class EssentialsEntityListener implements Listener {
|
||||
final ISettings.KeepInvPolicy bind = ess.getSettings().getBindingItemsPolicy();
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_11_2_R01) && (vanish != ISettings.KeepInvPolicy.KEEP || bind != ISettings.KeepInvPolicy.KEEP)) {
|
||||
for (final ItemStack stack : event.getEntity().getInventory()) {
|
||||
if (stack != null) {
|
||||
if (stack != null && !MaterialUtil.isAir(stack.getType())) {
|
||||
if (stack.getEnchantments().containsKey(Enchantment.VANISHING_CURSE)) {
|
||||
if (vanish == ISettings.KeepInvPolicy.DELETE) {
|
||||
event.getEntity().getInventory().remove(stack);
|
||||
@@ -217,10 +218,12 @@ public class EssentialsEntityListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Now check armor
|
||||
final ItemStack[] armor = event.getEntity().getInventory().getArmorContents();
|
||||
for (int i = 0; i < armor.length; i++) {
|
||||
final ItemStack stack = armor[i];
|
||||
if (stack != null) {
|
||||
if (stack != null && !MaterialUtil.isAir(stack.getType())) {
|
||||
if (stack.getEnchantments().containsKey(Enchantment.VANISHING_CURSE)) {
|
||||
if (vanish == ISettings.KeepInvPolicy.DELETE) {
|
||||
armor[i] = null;
|
||||
@@ -244,6 +247,24 @@ public class EssentialsEntityListener implements Listener {
|
||||
}
|
||||
}
|
||||
event.getEntity().getInventory().setArmorContents(armor);
|
||||
|
||||
// Now check offhand
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_9_R01)) {
|
||||
final ItemStack stack = event.getEntity().getInventory().getItemInOffHand();
|
||||
//noinspection ConstantConditions
|
||||
if (stack != null && !MaterialUtil.isAir(stack.getType())) {
|
||||
final boolean isVanish = stack.getEnchantments().containsKey(Enchantment.VANISHING_CURSE);
|
||||
final boolean isBind = stack.getEnchantments().containsKey(Enchantment.BINDING_CURSE);
|
||||
if (isVanish || isBind) {
|
||||
event.getEntity().getInventory().setItemInOffHand(null);
|
||||
if ((isVanish && vanish == ISettings.KeepInvPolicy.DROP) || (isBind && bind == ISettings.KeepInvPolicy.DROP)) {
|
||||
if (!event.getDrops().contains(stack)) {
|
||||
event.getDrops().add(stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,9 @@ import com.earth2me.essentials.utils.VersionUtil;
|
||||
import io.papermc.lib.PaperLib;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.events.AfkStatusChangeEvent;
|
||||
import net.ess3.provider.CommandSendListenerProvider;
|
||||
import net.ess3.provider.providers.BukkitCommandSendListenerProvider;
|
||||
import net.ess3.provider.providers.PaperCommandSendListenerProvider;
|
||||
import net.essentialsx.api.v2.events.AsyncUserDataLoadEvent;
|
||||
import org.bukkit.BanEntry;
|
||||
import org.bukkit.BanList;
|
||||
@@ -37,7 +40,6 @@ import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.event.player.PlayerCommandSendEvent;
|
||||
import org.bukkit.event.player.PlayerEggThrowEvent;
|
||||
import org.bukkit.event.player.PlayerFishEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
@@ -68,6 +70,7 @@ import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -101,6 +104,15 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isPaperCommandSendEvent() {
|
||||
try {
|
||||
Class.forName("com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent");
|
||||
return true;
|
||||
} catch (final ClassNotFoundException ignored) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isArrowPickupEvent() {
|
||||
try {
|
||||
Class.forName("org.bukkit.event.player.PlayerPickupArrowEvent");
|
||||
@@ -123,8 +135,10 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
ess.getServer().getPluginManager().registerEvents(new PickupListenerPre1_12(), ess);
|
||||
}
|
||||
|
||||
if (isCommandSendEvent()) {
|
||||
ess.getServer().getPluginManager().registerEvents(new CommandSendListener(), ess);
|
||||
if (isPaperCommandSendEvent()) {
|
||||
ess.getServer().getPluginManager().registerEvents(new PaperCommandSendListenerProvider(new CommandSendFilter()), ess);
|
||||
} else if (isCommandSendEvent()) {
|
||||
ess.getServer().getPluginManager().registerEvents(new BukkitCommandSendListenerProvider(new CommandSendFilter()), ess);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,7 +217,7 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
to.setY(from.getY());
|
||||
to.setZ(from.getZ());
|
||||
try {
|
||||
event.setTo(LocationUtil.getSafeDestination(to));
|
||||
event.setTo(LocationUtil.getSafeDestination(ess, to));
|
||||
} catch (final Exception ex) {
|
||||
event.setTo(to);
|
||||
}
|
||||
@@ -398,7 +412,7 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
|
||||
if (user.isAuthorized("essentials.fly.safelogin")) {
|
||||
user.getBase().setFallDistance(0);
|
||||
if (LocationUtil.shouldFly(user.getLocation())) {
|
||||
if (LocationUtil.shouldFly(ess, user.getLocation())) {
|
||||
user.getBase().setAllowFlight(true);
|
||||
user.getBase().setFlying(true);
|
||||
if (ess.getSettings().isSendFlyEnableOnJoin()) {
|
||||
@@ -521,21 +535,16 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
||||
final boolean backListener = ess.getSettings().registerBackInListener();
|
||||
final boolean teleportInvulnerability = ess.getSettings().isTeleportInvulnerability();
|
||||
if (backListener || teleportInvulnerability) {
|
||||
final Player player = event.getPlayer();
|
||||
if (player.hasMetadata("NPC")) {
|
||||
return;
|
||||
}
|
||||
final User user = ess.getUser(player);
|
||||
//There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports.
|
||||
if (user.isAuthorized("essentials.back.onteleport") && backListener && (event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) {
|
||||
user.setLastLocation();
|
||||
}
|
||||
if (teleportInvulnerability && (event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) {
|
||||
user.enableInvulnerabilityAfterTeleport();
|
||||
}
|
||||
final Player player = event.getPlayer();
|
||||
if (player.hasMetadata("NPC") || !(event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) {
|
||||
return;
|
||||
}
|
||||
final User user = ess.getUser(player);
|
||||
if (ess.getSettings().registerBackInListener() && user.isAuthorized("essentials.back.onteleport")) {
|
||||
user.setLastLocation();
|
||||
}
|
||||
if (ess.getSettings().isTeleportInvulnerability()) {
|
||||
user.enableInvulnerabilityAfterTeleport();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -738,6 +747,9 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
switch (event.getAction()) {
|
||||
case RIGHT_CLICK_BLOCK:
|
||||
if (!event.isCancelled() && MaterialUtil.isBed(event.getClickedBlock().getType()) && ess.getSettings().getUpdateBedAtDaytime()) {
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_13_2_R01) && ((org.bukkit.block.data.type.Bed) event.getClickedBlock().getBlockData()).isOccupied()) {
|
||||
break;
|
||||
}
|
||||
final User player = ess.getUser(event.getPlayer());
|
||||
if (player.isAuthorized("essentials.sethome.bed") && player.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
player.getBase().setBedSpawnLocation(event.getClickedBlock().getLocation());
|
||||
@@ -972,15 +984,14 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
}
|
||||
}
|
||||
|
||||
private final class CommandSendListener implements Listener {
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void onCommandSend(final PlayerCommandSendEvent event) {
|
||||
final User user = ess.getUser(event.getPlayer());
|
||||
|
||||
private final class CommandSendFilter implements CommandSendListenerProvider.Filter {
|
||||
@Override
|
||||
public Predicate<String> apply(Player player) {
|
||||
final User user = ess.getUser(player);
|
||||
final Set<PluginCommand> checked = new HashSet<>();
|
||||
final Set<PluginCommand> toRemove = new HashSet<>();
|
||||
|
||||
event.getCommands().removeIf(label -> {
|
||||
return label -> {
|
||||
if (isEssentialsCommand(label)) {
|
||||
final PluginCommand command = ess.getServer().getPluginCommand(label);
|
||||
if (!checked.contains(command)) {
|
||||
@@ -992,25 +1003,21 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||
return toRemove.contains(command);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
if (ess.getSettings().isDebug()) {
|
||||
ess.getLogger().info("Removed commands: " + toRemove.toString());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if all of the following are true:
|
||||
* - The command is a plugin command
|
||||
* - The plugin command is from a plugin in an essentials-controlled package
|
||||
* - The plugin command is from an official EssentialsX plugin or addon
|
||||
* - There is no known alternative OR the alternative is overridden by Essentials
|
||||
*/
|
||||
private boolean isEssentialsCommand(final String label) {
|
||||
final PluginCommand command = ess.getServer().getPluginCommand(label);
|
||||
|
||||
return command != null
|
||||
&& (command.getPlugin() == ess || command.getPlugin().getClass().getName().startsWith("com.earth2me.essentials"))
|
||||
&& (ess.getSettings().isCommandOverridden(label) || (ess.getAlternativeCommandsHandler().getAlternative(label) == null));
|
||||
&& (command.getPlugin() == ess || command.getPlugin().getClass().getName().startsWith("com.earth2me.essentials") || command.getPlugin().getClass().getName().startsWith("net.essentialsx"))
|
||||
&& (ess.getSettings().isCommandOverridden(label) || (ess.getAlternativeCommandsHandler().getAlternative(label) == null));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -438,7 +438,7 @@ public class EssentialsUpgrade {
|
||||
|
||||
public void convertKits() {
|
||||
final Kits kits = ess.getKits();
|
||||
final EssentialsConfiguration config = kits.getConfig();
|
||||
final EssentialsConfiguration config = kits.getRootConfig();
|
||||
if (doneFile.getBoolean("kitsyml", false)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.earth2me.essentials;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
import com.google.common.io.Files;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Locale;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class EssentialsUserConf extends EssentialsConf {
|
||||
public String username;
|
||||
public final UUID uuid;
|
||||
|
||||
public EssentialsUserConf(final String username, final UUID uuid, final File configFile) {
|
||||
super(configFile);
|
||||
this.username = username;
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean legacyFileExists() {
|
||||
final File file = new File(configFile.getParentFile(), username + ".yml");
|
||||
return file.exists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertLegacyFile() {
|
||||
final File file = new File(configFile.getParentFile(), username + ".yml");
|
||||
try {
|
||||
Files.move(file, new File(configFile.getParentFile(), uuid + ".yml"));
|
||||
} catch (final IOException ex) {
|
||||
Bukkit.getLogger().log(Level.WARNING, "Failed to migrate user: " + username, ex);
|
||||
}
|
||||
|
||||
setProperty("lastAccountName", username);
|
||||
}
|
||||
|
||||
private File getAltFile() {
|
||||
final UUID fn = UUID.nameUUIDFromBytes(("OfflinePlayer:" + username.toLowerCase(Locale.ENGLISH)).getBytes(Charsets.UTF_8));
|
||||
return new File(configFile.getParentFile(), fn.toString() + ".yml");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean altFileExists() {
|
||||
if (username.equals(username.toLowerCase())) {
|
||||
return false;
|
||||
}
|
||||
return getAltFile().exists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertAltFile() {
|
||||
try {
|
||||
Files.move(getAltFile(), new File(configFile.getParentFile(), uuid + ".yml"));
|
||||
} catch (final IOException ex) {
|
||||
Bukkit.getLogger().log(Level.WARNING, "Failed to migrate user: " + username, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,14 +10,17 @@ import com.earth2me.essentials.updatecheck.UpdateChecker;
|
||||
import net.ess3.nms.refl.providers.ReflOnlineModeProvider;
|
||||
import net.ess3.provider.ContainerProvider;
|
||||
import net.ess3.provider.FormattedCommandAliasProvider;
|
||||
import net.ess3.provider.ItemUnbreakableProvider;
|
||||
import net.ess3.provider.KnownCommandsProvider;
|
||||
import net.ess3.provider.MaterialTagProvider;
|
||||
import net.ess3.provider.PersistentDataProvider;
|
||||
import net.ess3.provider.ServerStateProvider;
|
||||
import net.ess3.provider.SerializationProvider;
|
||||
import net.ess3.provider.ServerStateProvider;
|
||||
import net.ess3.provider.SignDataProvider;
|
||||
import net.ess3.provider.SpawnerBlockProvider;
|
||||
import net.ess3.provider.SpawnerItemProvider;
|
||||
import net.ess3.provider.SyncCommandsProvider;
|
||||
import net.ess3.provider.WorldInfoProvider;
|
||||
import net.essentialsx.api.v2.services.BalanceTop;
|
||||
import net.essentialsx.api.v2.services.mail.MailService;
|
||||
import org.bukkit.Server;
|
||||
@@ -159,5 +162,11 @@ public interface IEssentials extends Plugin {
|
||||
|
||||
ReflOnlineModeProvider getOnlineModeProvider();
|
||||
|
||||
ItemUnbreakableProvider getItemUnbreakableProvider();
|
||||
|
||||
WorldInfoProvider getWorldInfoProvider();
|
||||
|
||||
SignDataProvider getSignDataProvider();
|
||||
|
||||
PluginCommand getPluginCommand(String cmd);
|
||||
}
|
||||
@@ -46,6 +46,12 @@ public interface ISettings extends IConf {
|
||||
|
||||
char getChatQuestion();
|
||||
|
||||
boolean isShoutDefault();
|
||||
|
||||
boolean isPersistShout();
|
||||
|
||||
boolean isChatQuestionEnabled();
|
||||
|
||||
BigDecimal getCommandCost(IEssentialsCommand cmd);
|
||||
|
||||
BigDecimal getCommandCost(String label);
|
||||
@@ -228,6 +234,8 @@ public interface ISettings extends IConf {
|
||||
|
||||
boolean isWorldHomePermissions();
|
||||
|
||||
int getMaxTreeCommandRange();
|
||||
|
||||
boolean registerBackInListener();
|
||||
|
||||
boolean getDisableItemPickupWhileAfk();
|
||||
@@ -238,6 +246,8 @@ public interface ISettings extends IConf {
|
||||
|
||||
long getTpaAcceptCancellation();
|
||||
|
||||
int getTpaMaxRequests();
|
||||
|
||||
long getTeleportInvulnerability();
|
||||
|
||||
boolean isTeleportInvulnerability();
|
||||
|
||||
@@ -12,13 +12,16 @@ import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
@@ -61,8 +64,11 @@ public interface IUser {
|
||||
/**
|
||||
* Returns whether this user has an outstanding teleport request to deal with.
|
||||
*
|
||||
* @deprecated The teleport request system has been moved into a multi-user teleport request queue.
|
||||
* @see IUser#hasPendingTpaRequests(boolean, boolean)
|
||||
* @return whether there is a teleport request
|
||||
*/
|
||||
@Deprecated
|
||||
boolean hasOutstandingTeleportRequest();
|
||||
|
||||
/**
|
||||
@@ -98,6 +104,11 @@ public interface IUser {
|
||||
|
||||
boolean canBuild();
|
||||
|
||||
/**
|
||||
* @deprecated The teleport request system has been moved into a multi-user teleport request queue.
|
||||
* @see IUser#getNextTpaRequest(boolean, boolean, boolean)
|
||||
*/
|
||||
@Deprecated
|
||||
long getTeleportRequestTime();
|
||||
|
||||
void enableInvulnerabilityAfterTeleport();
|
||||
@@ -205,6 +216,8 @@ public interface IUser {
|
||||
|
||||
String getName();
|
||||
|
||||
UUID getUUID();
|
||||
|
||||
String getDisplayName();
|
||||
|
||||
String getFormattedNickname();
|
||||
@@ -238,4 +251,74 @@ public interface IUser {
|
||||
void setToggleShout(boolean toggleShout);
|
||||
|
||||
boolean isToggleShout();
|
||||
|
||||
/**
|
||||
* Gets information about the most-recently-made, non-expired TPA request in the tpa queue of this {@link IUser}.
|
||||
* <p>
|
||||
* The TPA Queue is Last-In-First-Out queue which stores all the active pending teleport
|
||||
* requests of this {@link IUser}. Timeout calculations are also done during the
|
||||
* iteration process of this method, ensuring that teleport requests made past the timeout
|
||||
* period are removed from queue and therefore not returned here. The maximum size of this
|
||||
* queue is determined by {@link ISettings#getTpaMaxRequests()}.
|
||||
*
|
||||
* @param inform true if the underlying {@link IUser} should be informed if a request expires during iteration.
|
||||
* @param ignoreExpirations true if this method should not process expirations for the entire queue and stop execution on the first unexpired request.
|
||||
* @param excludeHere true if /tphere requests should be ignored in fetching the next tpa request.
|
||||
* @return A {@link TpaRequest} corresponding to the next available request or null if no valid request is present.
|
||||
*/
|
||||
@Nullable TpaRequest getNextTpaRequest(boolean inform, boolean ignoreExpirations, boolean excludeHere);
|
||||
|
||||
/**
|
||||
* Whether or not this {@link IUser} has any valid TPA requests in queue.
|
||||
*
|
||||
* @param inform true if the user should be informed if a request expires during iteration.
|
||||
* @param excludeHere true if /tpahere requests should be ignored in checking if a tpa request is available.
|
||||
* @return true if the user has an available pending request in queue.
|
||||
*/
|
||||
boolean hasPendingTpaRequests(boolean inform, boolean excludeHere);
|
||||
|
||||
class TpaRequest {
|
||||
private final String name;
|
||||
private final UUID requesterUuid;
|
||||
private boolean here;
|
||||
private Location location;
|
||||
private long time;
|
||||
|
||||
public TpaRequest(String name, UUID requesterUuid) {
|
||||
this.name = name;
|
||||
this.requesterUuid = requesterUuid;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public UUID getRequesterUuid() {
|
||||
return requesterUuid;
|
||||
}
|
||||
|
||||
public boolean isHere() {
|
||||
return here;
|
||||
}
|
||||
|
||||
public void setHere(boolean here) {
|
||||
this.here = here;
|
||||
}
|
||||
|
||||
public Location getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setLocation(Location location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public long getTime() {
|
||||
return time;
|
||||
}
|
||||
|
||||
public void setTime(long time) {
|
||||
this.time = time;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,84 +4,106 @@ import com.earth2me.essentials.config.ConfigurateUtil;
|
||||
import com.earth2me.essentials.config.EssentialsConfiguration;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import org.spongepowered.configurate.CommentedConfigurationNode;
|
||||
import org.spongepowered.configurate.serialize.SerializationException;
|
||||
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.earth2me.essentials.I18n.capitalCase;
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
|
||||
public class Kits implements IConf {
|
||||
private final EssentialsConfiguration config;
|
||||
private CommentedConfigurationNode kits;
|
||||
private final IEssentials ess;
|
||||
private final EssentialsConfiguration rootConfig;
|
||||
private final Map<String, EssentialsConfiguration> kitToConfigMap = new HashMap<>();
|
||||
private final Map<String, Map<String, Object>> kitMap = new HashMap<>();
|
||||
|
||||
public Kits(final IEssentials essentials) {
|
||||
config = new EssentialsConfiguration(new File(essentials.getDataFolder(), "kits.yml"), "/kits.yml");
|
||||
this.ess = essentials;
|
||||
this.rootConfig = new EssentialsConfiguration(new File(essentials.getDataFolder(), "kits.yml"), "/kits.yml");
|
||||
|
||||
reloadConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reloadConfig() {
|
||||
config.load();
|
||||
kits = _getKits();
|
||||
rootConfig.load();
|
||||
parseKits();
|
||||
}
|
||||
|
||||
public File getFile() {
|
||||
return config.getFile();
|
||||
return rootConfig.getFile();
|
||||
}
|
||||
|
||||
private CommentedConfigurationNode _getKits() {
|
||||
final CommentedConfigurationNode section = config.getSection("kits");
|
||||
if (section != null) {
|
||||
final CommentedConfigurationNode newSection = config.newSection();
|
||||
for (final String kitItem : ConfigurateUtil.getKeys(section)) {
|
||||
final CommentedConfigurationNode kitSection = section.node(kitItem);
|
||||
if (kitSection.isMap()) {
|
||||
try {
|
||||
newSection.node(kitItem.toLowerCase(Locale.ENGLISH)).set(kitSection);
|
||||
} catch (SerializationException e) {
|
||||
e.printStackTrace();
|
||||
private void parseKit(final String kitName, final CommentedConfigurationNode kitSection, final EssentialsConfiguration parentConfig) {
|
||||
if (kitSection.isMap()) {
|
||||
final String effectiveKitName = kitName.toLowerCase(Locale.ENGLISH);
|
||||
kitToConfigMap.put(effectiveKitName, parentConfig);
|
||||
kitMap.put(effectiveKitName, ConfigurateUtil.getRawMap(kitSection));
|
||||
}
|
||||
}
|
||||
|
||||
private void parseKits() {
|
||||
kitToConfigMap.clear();
|
||||
kitMap.clear();
|
||||
|
||||
// Kits from kits.yml file
|
||||
final CommentedConfigurationNode fileKits = rootConfig.getSection("kits");
|
||||
if (fileKits != null) {
|
||||
for (final Map.Entry<String, CommentedConfigurationNode> kitEntry : ConfigurateUtil.getMap(fileKits).entrySet()) {
|
||||
parseKit(kitEntry.getKey(), kitEntry.getValue(), rootConfig);
|
||||
}
|
||||
}
|
||||
|
||||
// Kits from kits subdirectory
|
||||
final File kitsFolder = new File(this.ess.getDataFolder(), "kits");
|
||||
if (!kitsFolder.exists() || !kitsFolder.isDirectory()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final File[] kitsFiles = kitsFolder.listFiles();
|
||||
|
||||
//noinspection ConstantConditions - will not be null, conditions checked above.
|
||||
for (final File kitFile : kitsFiles) {
|
||||
if (kitFile.getName().endsWith(".yml")) {
|
||||
final EssentialsConfiguration kitConfig = new EssentialsConfiguration(kitFile);
|
||||
kitConfig.load();
|
||||
final CommentedConfigurationNode kits = kitConfig.getSection("kits");
|
||||
if (kits != null) {
|
||||
for (final Map.Entry<String, CommentedConfigurationNode> kitEntry : ConfigurateUtil.getMap(kits).entrySet()) {
|
||||
parseKit(kitEntry.getKey(), kitEntry.getValue(), kitConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
return newSection;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public EssentialsConfiguration getConfig() {
|
||||
return config;
|
||||
/**
|
||||
* Should be used for EssentialsUpgrade conversions <b>only</b>.
|
||||
*/
|
||||
public EssentialsConfiguration getRootConfig() {
|
||||
return rootConfig;
|
||||
}
|
||||
|
||||
public CommentedConfigurationNode getKits() {
|
||||
return kits;
|
||||
public Set<String> getKitKeys() {
|
||||
return kitMap.keySet();
|
||||
}
|
||||
|
||||
public Map<String, Object> getKit(String name) {
|
||||
name = name.replace('.', '_').replace('/', '_');
|
||||
if (getKits() != null) {
|
||||
final CommentedConfigurationNode kits = getKits();
|
||||
// Other parts of the codebase/3rd party plugins expect us to lowercase kit names here.
|
||||
// This isn't strictly needed for the future of Essentials, but for compatibility it's here.
|
||||
final CommentedConfigurationNode kitSection = kits.node(name.toLowerCase());
|
||||
if (!kitSection.virtual() && kitSection.isMap()) {
|
||||
return ConfigurateUtil.getRawMap(kitSection);
|
||||
}
|
||||
public Map<String, Object> getKit(final String name) {
|
||||
if (name != null) {
|
||||
return kitMap.get(name.replace('.', '_').replace('/', '_'));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// Tries to find an existing kit name that matches the given name, ignoring case. Returns null if no match.
|
||||
public String matchKit(final String name) {
|
||||
final CommentedConfigurationNode section = config.getSection("kits");
|
||||
if (section != null) {
|
||||
for (final String kitName : ConfigurateUtil.getKeys(section)) {
|
||||
if (name != null) {
|
||||
for (final String kitName : kitMap.keySet()) {
|
||||
if (kitName.equalsIgnoreCase(name)) {
|
||||
return kitName;
|
||||
}
|
||||
@@ -90,25 +112,32 @@ public class Kits implements IConf {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void addKit(final String name, final List<String> lines, final long delay) {
|
||||
public void addKit(String name, final List<String> lines, final long delay) {
|
||||
name = name.replace('.', '_').replace('/', '_').toLowerCase(Locale.ENGLISH);
|
||||
// Will overwrite but w/e
|
||||
config.setProperty("kits." + name + ".delay", delay);
|
||||
config.setProperty("kits." + name + ".items", lines);
|
||||
kits = _getKits();
|
||||
config.save();
|
||||
rootConfig.setProperty("kits." + name + ".delay", delay);
|
||||
rootConfig.setProperty("kits." + name + ".items", lines);
|
||||
parseKits();
|
||||
rootConfig.save();
|
||||
}
|
||||
|
||||
public void removeKit(final String name) {
|
||||
public void removeKit(String name) {
|
||||
name = name.replace('.', '_').replace('/', '_').toLowerCase(Locale.ENGLISH);
|
||||
if (!kitToConfigMap.containsKey(name) || !kitMap.containsKey(name)) {
|
||||
return;
|
||||
}
|
||||
|
||||
final EssentialsConfiguration config = kitToConfigMap.get(name);
|
||||
config.removeProperty("kits." + name);
|
||||
kits = _getKits();
|
||||
config.save();
|
||||
|
||||
config.blockingSave();
|
||||
parseKits();
|
||||
}
|
||||
|
||||
public String listKits(final net.ess3.api.IEssentials ess, final User user) throws Exception {
|
||||
try {
|
||||
final CommentedConfigurationNode kits = config.getSection("kits");
|
||||
final StringBuilder list = new StringBuilder();
|
||||
for (final String kitItem : ConfigurateUtil.getKeys(kits)) {
|
||||
for (final String kitItem : kitMap.keySet()) {
|
||||
if (user == null) {
|
||||
list.append(" ").append(capitalCase(kitItem));
|
||||
} else if (user.isAuthorized("essentials.kits." + kitItem.toLowerCase(Locale.ENGLISH))) {
|
||||
|
||||
@@ -7,9 +7,9 @@ import com.earth2me.essentials.utils.EnumUtil;
|
||||
import com.earth2me.essentials.utils.FormatUtil;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import com.google.common.base.Joiner;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.nms.refl.ReflUtil;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.FireworkEffect;
|
||||
@@ -33,7 +33,6 @@ import org.bukkit.potion.Potion;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -48,9 +47,6 @@ import static com.earth2me.essentials.I18n.tl;
|
||||
public class MetaItemStack {
|
||||
private static final Map<String, DyeColor> colorMap = new HashMap<>();
|
||||
private static final Map<String, FireworkEffect.Type> fireworkShape = new HashMap<>();
|
||||
private static int bukkitUnbreakableSupport = -1;
|
||||
private static Method spigotMethod;
|
||||
private static Method setUnbreakableMethod;
|
||||
private static boolean useNewSkullMethod = true;
|
||||
|
||||
static {
|
||||
@@ -212,9 +208,9 @@ public class MetaItemStack {
|
||||
stack.setItemMeta(meta);
|
||||
} else if (split[0].equalsIgnoreCase("unbreakable") && hasMetaPermission(sender, "unbreakable", false, true, ess)) {
|
||||
final boolean value = split.length <= 1 || Boolean.parseBoolean(split[1]);
|
||||
setUnbreakable(stack, value);
|
||||
setUnbreakable(ess, stack, value);
|
||||
} else if (split.length > 1 && (split[0].equalsIgnoreCase("player") || split[0].equalsIgnoreCase("owner")) && hasMetaPermission(sender, "head", false, true, ess)) {
|
||||
if (MaterialUtil.isPlayerHead(stack.getType(), stack.getDurability())) {
|
||||
if (MaterialUtil.isPlayerHead(stack)) {
|
||||
final String owner = split[1];
|
||||
setSkullOwner(ess, stack, owner);
|
||||
} else {
|
||||
@@ -529,14 +525,14 @@ public class MetaItemStack {
|
||||
}
|
||||
pmeta.addCustomEffect(pEffect, true);
|
||||
stack.setItemMeta(pmeta);
|
||||
if (ReflUtil.getNmsVersionObject().isHigherThanOrEqualTo(ReflUtil.V1_9_R1)) {
|
||||
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_9_R01)) {
|
||||
if (isSplashPotion && stack.getType() != Material.SPLASH_POTION) {
|
||||
stack.setType(Material.SPLASH_POTION);
|
||||
} else if (!isSplashPotion && stack.getType() != Material.POTION) {
|
||||
stack.setType(Material.POTION);
|
||||
}
|
||||
} else {
|
||||
final Potion potion = Potion.fromItemStack(stack);
|
||||
final Potion potion = Potion.fromDamage(stack.getDurability());
|
||||
potion.setSplash(isSplashPotion);
|
||||
potion.apply(stack);
|
||||
}
|
||||
@@ -686,35 +682,9 @@ public class MetaItemStack {
|
||||
}
|
||||
}
|
||||
|
||||
private void setUnbreakable(final ItemStack is, final boolean unbreakable) {
|
||||
private void setUnbreakable(final IEssentials ess, final ItemStack is, final boolean unbreakable) {
|
||||
final ItemMeta meta = is.getItemMeta();
|
||||
try {
|
||||
if (bukkitUnbreakableSupport == -1) {
|
||||
try {
|
||||
ItemMeta.class.getDeclaredMethod("setUnbreakable", boolean.class);
|
||||
bukkitUnbreakableSupport = 1;
|
||||
} catch (final NoSuchMethodException | SecurityException ex) {
|
||||
bukkitUnbreakableSupport = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (bukkitUnbreakableSupport == 1) {
|
||||
meta.setUnbreakable(unbreakable);
|
||||
} else {
|
||||
if (spigotMethod == null) {
|
||||
spigotMethod = meta.getClass().getDeclaredMethod("spigot");
|
||||
spigotMethod.setAccessible(true);
|
||||
}
|
||||
final Object itemStackSpigot = spigotMethod.invoke(meta);
|
||||
if (setUnbreakableMethod == null) {
|
||||
setUnbreakableMethod = itemStackSpigot.getClass().getDeclaredMethod("setUnbreakable", Boolean.TYPE);
|
||||
setUnbreakableMethod.setAccessible(true);
|
||||
}
|
||||
setUnbreakableMethod.invoke(itemStackSpigot, unbreakable);
|
||||
}
|
||||
is.setItemMeta(meta);
|
||||
} catch (final Throwable t) {
|
||||
t.printStackTrace();
|
||||
}
|
||||
ess.getItemUnbreakableProvider().setUnbreakable(meta, unbreakable);
|
||||
is.setItemMeta(meta);
|
||||
}
|
||||
}
|
||||
@@ -42,7 +42,7 @@ public final class PlayerList {
|
||||
|
||||
final String strippedNick = FormatUtil.stripFormat(user.getNickname());
|
||||
if (ess.getSettings().realNamesOnList() && strippedNick != null && !strippedNick.equals(user.getName())) {
|
||||
groupString.append(" (").append(user.getName()).append(")");
|
||||
groupString.append(" ").append(tl("listRealName",user.getName()));
|
||||
}
|
||||
groupString.append(ChatColor.WHITE.toString());
|
||||
}
|
||||
|
||||
@@ -22,12 +22,12 @@ import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
public class RandomTeleport implements IConf {
|
||||
private static final Random RANDOM = new Random();
|
||||
private static final int HIGHEST_BLOCK_Y_OFFSET = VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_15_R01) ? 1 : 0;
|
||||
private final IEssentials essentials;
|
||||
private final IEssentials ess;
|
||||
private final EssentialsConfiguration config;
|
||||
private final ConcurrentLinkedQueue<Location> cachedLocations = new ConcurrentLinkedQueue<>();
|
||||
|
||||
public RandomTeleport(final IEssentials essentials) {
|
||||
this.essentials = essentials;
|
||||
this.ess = essentials;
|
||||
config = new EssentialsConfiguration(new File(essentials.getDataFolder(), "tpr.yml"), "/tpr.yml",
|
||||
"Configuration for the random teleport command.\nSome settings may be defaulted, and can be changed via the /settpr command in-game.");
|
||||
reloadConfig();
|
||||
@@ -47,8 +47,8 @@ public class RandomTeleport implements IConf {
|
||||
}
|
||||
} catch (final InvalidWorldException ignored) {
|
||||
}
|
||||
final Location center = essentials.getServer().getWorlds().get(0).getWorldBorder().getCenter();
|
||||
center.setY(center.getWorld().getHighestBlockYAt(center) + 1);
|
||||
final Location center = ess.getServer().getWorlds().get(0).getWorldBorder().getCenter();
|
||||
center.setY(center.getWorld().getHighestBlockYAt(center) + HIGHEST_BLOCK_Y_OFFSET);
|
||||
setCenter(center);
|
||||
return center;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ public class RandomTeleport implements IConf {
|
||||
|
||||
// Prompts caching random valid locations, up to a maximum number of attempts
|
||||
public void cacheRandomLocations(final Location center, final double minRange, final double maxRange) {
|
||||
essentials.getServer().getScheduler().scheduleSyncDelayedTask(essentials, () -> {
|
||||
ess.getServer().getScheduler().scheduleSyncDelayedTask(ess, () -> {
|
||||
for (int i = 0; i < this.getFindAttempts(); ++i) {
|
||||
calculateRandomLocation(center, minRange, maxRange).thenAccept(location -> {
|
||||
if (isValidRandomLocation(location)) {
|
||||
@@ -177,7 +177,7 @@ public class RandomTeleport implements IConf {
|
||||
final Location location = new Location(
|
||||
center.getWorld(),
|
||||
center.getX() + offsetX,
|
||||
center.getWorld().getMaxHeight(),
|
||||
ess.getWorldInfoProvider().getMaxHeight(center.getWorld()),
|
||||
center.getZ() + offsetZ,
|
||||
360 * RANDOM.nextFloat() - 180,
|
||||
0
|
||||
@@ -195,8 +195,8 @@ public class RandomTeleport implements IConf {
|
||||
|
||||
// Returns an appropriate elevation for a given location in the nether, or -1 if none is found
|
||||
private double getNetherYAt(final Location location) {
|
||||
for (int y = 32; y < location.getWorld().getMaxHeight() / 2; ++y) {
|
||||
if (!LocationUtil.isBlockUnsafe(location.getWorld(), location.getBlockX(), y, location.getBlockZ())) {
|
||||
for (int y = 32; y < ess.getWorldInfoProvider().getMaxHeight(location.getWorld()); ++y) {
|
||||
if (!LocationUtil.isBlockUnsafe(ess, location.getWorld(), location.getBlockX(), y, location.getBlockZ())) {
|
||||
return y;
|
||||
}
|
||||
}
|
||||
@@ -204,6 +204,10 @@ public class RandomTeleport implements IConf {
|
||||
}
|
||||
|
||||
private boolean isValidRandomLocation(final Location location) {
|
||||
return location.getBlockY() > 0 && !this.getExcludedBiomes().contains(location.getBlock().getBiome());
|
||||
return location.getBlockY() > ess.getWorldInfoProvider().getMinHeight(location.getWorld()) && !this.getExcludedBiomes().contains(location.getBlock().getBiome());
|
||||
}
|
||||
|
||||
public File getFile() {
|
||||
return config.getFile();
|
||||
}
|
||||
}
|
||||
@@ -226,6 +226,21 @@ public class Settings implements net.ess3.api.ISettings {
|
||||
return chatQuestion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isShoutDefault() {
|
||||
return config.getBoolean("chat.shout-default", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPersistShout() {
|
||||
return config.getBoolean("chat.persist-shout", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChatQuestionEnabled() {
|
||||
return config.getBoolean("chat.question-enabled", true);
|
||||
}
|
||||
|
||||
public boolean _isTeleportSafetyEnabled() {
|
||||
return config.getBoolean("teleport-safety", true);
|
||||
}
|
||||
@@ -1212,6 +1227,11 @@ public class Settings implements net.ess3.api.ISettings {
|
||||
return registerBackInListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxTreeCommandRange() {
|
||||
return config.getInt("tree-command-range-limit", 300);
|
||||
}
|
||||
|
||||
private boolean _registerBackInListener() {
|
||||
return config.getBoolean("register-back-in-listener", false);
|
||||
}
|
||||
@@ -1264,6 +1284,11 @@ public class Settings implements net.ess3.api.ISettings {
|
||||
return config.getLong("tpa-accept-cancellation", 120);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTpaMaxRequests() {
|
||||
return config.getInt("tpa-max-requests", 5);
|
||||
}
|
||||
|
||||
private long _getTeleportInvulnerability() {
|
||||
return config.getLong("teleport-invulnerability", 0) * 1000;
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ public final class SpawnMob {
|
||||
|
||||
// This method spawns a mob at loc, owned by target
|
||||
public static void spawnmob(final IEssentials ess, final Server server, final CommandSource sender, final User target, final Location loc, final List<String> parts, final List<String> data, int mobCount) throws Exception {
|
||||
final Location sloc = LocationUtil.getSafeDestination(loc);
|
||||
final Location sloc = LocationUtil.getSafeDestination(ess, loc);
|
||||
|
||||
for (final String part : parts) {
|
||||
final Mob mob = Mob.fromName(part);
|
||||
|
||||
@@ -145,7 +145,7 @@ public class Teleport implements ITeleport {
|
||||
teleportee.getBase().eject();
|
||||
}
|
||||
|
||||
if (LocationUtil.isBlockUnsafeForUser(teleportee, loc.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())) {
|
||||
if (LocationUtil.isBlockUnsafeForUser(ess, teleportee, loc.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())) {
|
||||
if (ess.getSettings().isTeleportSafetyEnabled()) {
|
||||
if (ess.getSettings().isForceDisableTeleportSafety()) {
|
||||
PaperLib.teleportAsync(teleportee.getBase(), loc, cause);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.earth2me.essentials;
|
||||
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
|
||||
import com.earth2me.essentials.craftbukkit.SetExpFix;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.MaxMoneyException;
|
||||
@@ -95,8 +96,10 @@ public class Trade {
|
||||
} else {
|
||||
if (charge.getItemStack() != null) {
|
||||
sb.append(charge.getItemStack().getAmount()).append(",");
|
||||
sb.append(charge.getItemStack().getType().toString()).append(",");
|
||||
sb.append(charge.getItemStack().getDurability());
|
||||
sb.append(charge.getItemStack().getType()).append(",");
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
sb.append(charge.getItemStack().getDurability());
|
||||
}
|
||||
}
|
||||
if (charge.getMoney() != null) {
|
||||
sb.append(charge.getMoney()).append(",");
|
||||
@@ -119,8 +122,10 @@ public class Trade {
|
||||
} else {
|
||||
if (pay.getItemStack() != null) {
|
||||
sb.append(pay.getItemStack().getAmount()).append(",");
|
||||
sb.append(pay.getItemStack().getType().toString()).append(",");
|
||||
sb.append(pay.getItemStack().getDurability());
|
||||
sb.append(pay.getItemStack().getType()).append(",");
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
sb.append(pay.getItemStack().getDurability());
|
||||
}
|
||||
}
|
||||
if (pay.getMoney() != null) {
|
||||
sb.append(pay.getMoney()).append(",");
|
||||
|
||||
@@ -28,18 +28,25 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.WeakHashMap;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -48,33 +55,42 @@ import static com.earth2me.essentials.I18n.tl;
|
||||
public class User extends UserData implements Comparable<User>, IMessageRecipient, net.ess3.api.IUser {
|
||||
private static final Statistic PLAY_ONE_TICK = EnumUtil.getStatistic("PLAY_ONE_MINUTE", "PLAY_ONE_TICK");
|
||||
private static final Logger logger = Logger.getLogger("Essentials");
|
||||
|
||||
// User modules
|
||||
private final IMessageRecipient messageRecipient;
|
||||
private transient final AsyncTeleport teleport;
|
||||
private transient final Teleport legacyTeleport;
|
||||
|
||||
// User command confirmation strings
|
||||
private final Map<User, BigDecimal> confirmingPayments = new WeakHashMap<>();
|
||||
private transient UUID teleportRequester;
|
||||
private transient boolean teleportRequestHere;
|
||||
private transient Location teleportLocation;
|
||||
|
||||
// User teleport variables
|
||||
private final transient LinkedHashMap<String, TpaRequest> teleportRequestQueue = new LinkedHashMap<>();
|
||||
|
||||
// User properties
|
||||
private transient boolean vanished;
|
||||
private transient long teleportRequestTime;
|
||||
private transient long lastOnlineActivity;
|
||||
private transient long lastThrottledAction;
|
||||
private transient long lastActivity = System.currentTimeMillis();
|
||||
private boolean hidden = false;
|
||||
private boolean rightClickJump = false;
|
||||
private transient Location afkPosition = null;
|
||||
private boolean invSee = false;
|
||||
private boolean recipeSee = false;
|
||||
private boolean enderSee = false;
|
||||
private transient long teleportInvulnerabilityTimestamp = 0;
|
||||
private boolean ignoreMsg = false;
|
||||
|
||||
// User afk variables
|
||||
private String afkMessage;
|
||||
private long afkSince;
|
||||
private transient Location afkPosition = null;
|
||||
|
||||
// Misc
|
||||
private transient long lastOnlineActivity;
|
||||
private transient long lastThrottledAction;
|
||||
private transient long lastActivity = System.currentTimeMillis();
|
||||
private transient long teleportInvulnerabilityTimestamp = 0;
|
||||
private String confirmingClearCommand;
|
||||
private long lastNotifiedAboutMailsMs;
|
||||
private String lastHomeConfirmation;
|
||||
private long lastHomeConfirmationTimestamp;
|
||||
private boolean toggleShout = false;
|
||||
private Boolean toggleShout;
|
||||
private transient final List<String> signCopy = Lists.newArrayList("", "", "", "");
|
||||
|
||||
public User(final Player base, final IEssentials ess) {
|
||||
@@ -90,9 +106,12 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
this.messageRecipient = new SimpleMessageRecipient(ess, this);
|
||||
}
|
||||
|
||||
User update(final Player base) {
|
||||
void update(final Player base) {
|
||||
setBase(base);
|
||||
return this;
|
||||
}
|
||||
|
||||
public IEssentials getEssentials() {
|
||||
return ess;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -304,7 +323,7 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
if (isAuthorized("essentials.itemspawn.item-all") || isAuthorized("essentials.itemspawn.item-" + name))
|
||||
return true;
|
||||
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01)) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
final int id = material.getId();
|
||||
if (isAuthorized("essentials.itemspawn.item-" + id)) return true;
|
||||
}
|
||||
@@ -327,44 +346,94 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
|
||||
@Override
|
||||
public void requestTeleport(final User player, final boolean here) {
|
||||
teleportRequestTime = System.currentTimeMillis();
|
||||
teleportRequester = player == null ? null : player.getBase().getUniqueId();
|
||||
teleportRequestHere = here;
|
||||
if (player == null) {
|
||||
teleportLocation = null;
|
||||
} else {
|
||||
teleportLocation = here ? player.getLocation() : this.getLocation();
|
||||
final TpaRequest request = teleportRequestQueue.getOrDefault(player.getName(), new TpaRequest(player.getName(), player.getUUID()));
|
||||
request.setTime(System.currentTimeMillis());
|
||||
request.setHere(here);
|
||||
request.setLocation(here ? player.getLocation() : this.getLocation());
|
||||
|
||||
// Handle max queue size
|
||||
teleportRequestQueue.remove(request.getName());
|
||||
if (teleportRequestQueue.size() >= ess.getSettings().getTpaMaxRequests()) {
|
||||
final List<String> keys = new ArrayList<>(teleportRequestQueue.keySet());
|
||||
teleportRequestQueue.remove(keys.get(keys.size() - 1));
|
||||
}
|
||||
|
||||
// Add request to queue
|
||||
teleportRequestQueue.put(request.getName(), request);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean hasOutstandingTeleportRequest() {
|
||||
if (getTeleportRequest() != null) { // Player has outstanding teleport request.
|
||||
final long timeout = ess.getSettings().getTpaAcceptCancellation();
|
||||
if (timeout != 0) {
|
||||
if ((System.currentTimeMillis() - getTeleportRequestTime()) / 1000 <= timeout) { // Player has outstanding request
|
||||
return true;
|
||||
} else { // outstanding request expired.
|
||||
requestTeleport(null, false);
|
||||
return false;
|
||||
return getNextTpaRequest(false, false, false) != null;
|
||||
}
|
||||
|
||||
public Collection<String> getPendingTpaKeys() {
|
||||
return teleportRequestQueue.keySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPendingTpaRequests(boolean inform, boolean excludeHere) {
|
||||
return getNextTpaRequest(inform, false, excludeHere) != null;
|
||||
}
|
||||
|
||||
public boolean hasOutstandingTpaRequest(String playerUsername, boolean here) {
|
||||
final TpaRequest request = getOutstandingTpaRequest(playerUsername, false);
|
||||
return request != null && request.isHere() == here;
|
||||
}
|
||||
|
||||
public @Nullable TpaRequest getOutstandingTpaRequest(String playerUsername, boolean inform) {
|
||||
if (!teleportRequestQueue.containsKey(playerUsername)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final long timeout = ess.getSettings().getTpaAcceptCancellation();
|
||||
final TpaRequest request = teleportRequestQueue.get(playerUsername);
|
||||
if (timeout < 1 || System.currentTimeMillis() - request.getTime() <= timeout * 1000) {
|
||||
return request;
|
||||
}
|
||||
teleportRequestQueue.remove(playerUsername);
|
||||
if (inform) {
|
||||
sendMessage(tl("requestTimedOutFrom", ess.getUser(request.getRequesterUuid()).getDisplayName()));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public TpaRequest removeTpaRequest(String playerUsername) {
|
||||
return teleportRequestQueue.remove(playerUsername);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TpaRequest getNextTpaRequest(boolean inform, boolean ignoreExpirations, boolean excludeHere) {
|
||||
if (teleportRequestQueue.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final long timeout = ess.getSettings().getTpaAcceptCancellation();
|
||||
final List<String> keys = new ArrayList<>(teleportRequestQueue.keySet());
|
||||
Collections.reverse(keys);
|
||||
|
||||
TpaRequest nextRequest = null;
|
||||
for (final String key : keys) {
|
||||
final TpaRequest request = teleportRequestQueue.get(key);
|
||||
if (timeout < 1 || (System.currentTimeMillis() - request.getTime()) <= TimeUnit.SECONDS.toMillis(timeout)) {
|
||||
if (excludeHere && request.isHere()) {
|
||||
continue;
|
||||
}
|
||||
} else { // outstanding request does not expire
|
||||
return true;
|
||||
|
||||
if (ignoreExpirations) {
|
||||
return request;
|
||||
} else if (nextRequest == null) {
|
||||
nextRequest = request;
|
||||
}
|
||||
} else {
|
||||
if (inform) {
|
||||
sendMessage(tl("requestTimedOutFrom", ess.getUser(request.getRequesterUuid()).getDisplayName()));
|
||||
}
|
||||
teleportRequestQueue.remove(key);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public UUID getTeleportRequest() {
|
||||
return teleportRequester;
|
||||
}
|
||||
|
||||
public boolean isTpRequestHere() {
|
||||
return teleportRequestHere;
|
||||
}
|
||||
|
||||
public Location getTpRequestLocation() {
|
||||
return teleportLocation;
|
||||
return nextRequest;
|
||||
}
|
||||
|
||||
public String getNick() {
|
||||
@@ -823,8 +892,11 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
return ess.getPermissionsHandler().canBuild(base, getGroup());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public long getTeleportRequestTime() {
|
||||
return teleportRequestTime;
|
||||
final TpaRequest request = getNextTpaRequest(false, false, false);
|
||||
return request == null ? 0L : request.getTime();
|
||||
}
|
||||
|
||||
public boolean isInvSee() {
|
||||
@@ -893,6 +965,7 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
}
|
||||
setHidden(true);
|
||||
ess.getVanishedPlayersNew().add(getName());
|
||||
this.getBase().setMetadata("vanished", new FixedMetadataValue(ess, true));
|
||||
if (isAuthorized("essentials.vanish.effect")) {
|
||||
this.getBase().addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 1, false));
|
||||
}
|
||||
@@ -905,6 +978,7 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
}
|
||||
setHidden(false);
|
||||
ess.getVanishedPlayersNew().remove(getName());
|
||||
this.getBase().setMetadata("vanished", new FixedMetadataValue(ess, false));
|
||||
if (isAuthorized("essentials.vanish.effect")) {
|
||||
this.getBase().removePotionEffect(PotionEffectType.INVISIBILITY);
|
||||
}
|
||||
@@ -990,7 +1064,7 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
|
||||
@Override
|
||||
public UUID getUUID() {
|
||||
return getBase().getUniqueId();
|
||||
return this.getBase().getUniqueId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1128,10 +1202,16 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||
@Override
|
||||
public void setToggleShout(boolean toggleShout) {
|
||||
this.toggleShout = toggleShout;
|
||||
if (ess.getSettings().isPersistShout()) {
|
||||
setShouting(toggleShout);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isToggleShout() {
|
||||
return toggleShout;
|
||||
if (ess.getSettings().isPersistShout()) {
|
||||
return toggleShout = isShouting();
|
||||
}
|
||||
return toggleShout == null ? toggleShout = ess.getSettings().isShoutDefault() : toggleShout;
|
||||
}
|
||||
}
|
||||
@@ -722,6 +722,18 @@ public abstract class UserData extends PlayerExtension implements IConf {
|
||||
config.save();
|
||||
}
|
||||
|
||||
public boolean isShouting() {
|
||||
if (holder.shouting() == null) {
|
||||
holder.shouting(ess.getSettings().isShoutDefault());
|
||||
}
|
||||
return holder.shouting();
|
||||
}
|
||||
|
||||
public void setShouting(boolean shouting) {
|
||||
holder.shouting(shouting);
|
||||
config.save();
|
||||
}
|
||||
|
||||
public UUID getConfigUUID() {
|
||||
return config.getUuid();
|
||||
}
|
||||
|
||||
@@ -38,6 +38,11 @@ public class Warps implements IConf, net.ess3.api.IWarps {
|
||||
return warpPoints.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWarp(String name) {
|
||||
return warpPoints.containsKey(new StringIgnoreCase(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> getList() {
|
||||
final List<String> keys = new ArrayList<>();
|
||||
|
||||
@@ -30,13 +30,15 @@ public class Worth implements IConf {
|
||||
* @return The price from the config.
|
||||
*/
|
||||
public BigDecimal getPrice(final IEssentials ess, final ItemStack itemStack) {
|
||||
BigDecimal result;
|
||||
BigDecimal result = BigDecimal.ONE.negate();
|
||||
|
||||
final String itemname = itemStack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", "");
|
||||
|
||||
// Check for matches with data value from stack
|
||||
// Note that we always default to BigDecimal.ONE.negate(), equivalent to -1
|
||||
result = config.getBigDecimal("worth." + itemname + "." + itemStack.getDurability(), BigDecimal.ONE.negate());
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
// Check for matches with data value from stack
|
||||
// Note that we always default to BigDecimal.ONE.negate(), equivalent to -1
|
||||
result = config.getBigDecimal("worth." + itemname + "." + itemStack.getDurability(), BigDecimal.ONE.negate());
|
||||
}
|
||||
|
||||
// Check for matches with data value 0
|
||||
if (result.signum() < 0) {
|
||||
@@ -140,7 +142,7 @@ public class Worth implements IConf {
|
||||
String path = "worth." + itemStack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", "");
|
||||
|
||||
// Spigot 1.13+ throws an exception if a 1.13+ plugin even *attempts* to do set data.
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01) && itemStack.getType().getData() == null) {
|
||||
if (VersionUtil.PRE_FLATTENING && itemStack.getType().getData() == null) {
|
||||
// Bukkit-bug: getDurability still contains the correct value, while getData().getData() is 0.
|
||||
path = path + "." + itemStack.getDurability();
|
||||
}
|
||||
@@ -149,6 +151,10 @@ public class Worth implements IConf {
|
||||
config.save();
|
||||
}
|
||||
|
||||
public File getFile() {
|
||||
return config.getFile();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reloadConfig() {
|
||||
config.load();
|
||||
|
||||
@@ -26,6 +26,14 @@ public interface IWarps extends IConf {
|
||||
*/
|
||||
Location getWarp(String warp) throws WarpNotFoundException, net.ess3.api.InvalidWorldException;
|
||||
|
||||
/**
|
||||
* Checks if the provided name is a warp.
|
||||
*
|
||||
* @param name The warp name.
|
||||
* @return true if a warp by that name exists.
|
||||
*/
|
||||
boolean isWarp(String name);
|
||||
|
||||
/**
|
||||
* Gets a list of warps
|
||||
*
|
||||
|
||||
@@ -32,7 +32,7 @@ public class Commandbigtree extends EssentialsCommand {
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
final Location loc = LocationUtil.getTarget(user.getBase()).add(0, 1, 0);
|
||||
final Location loc = LocationUtil.getTarget(user.getBase(), ess.getSettings().getMaxTreeCommandRange()).add(0, 1, 0);
|
||||
if (loc.getBlock().getType().isSolid()) {
|
||||
throw new Exception(tl("bigTreeFailure"));
|
||||
}
|
||||
|
||||
+1
-1
@@ -130,7 +130,7 @@ public class Commandclearinventory extends EssentialsCommand {
|
||||
} else {
|
||||
for (final Item item : items) {
|
||||
final ItemStack stack = new ItemStack(item.getMaterial());
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01)) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
stack.setDurability(item.getData());
|
||||
}
|
||||
// amount -1 means all items will be cleared
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.earth2me.essentials.ChargeException;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.Trade.OverflowType;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import net.ess3.api.MaxMoneyException;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Server;
|
||||
@@ -161,8 +162,7 @@ public class Commandcondense extends EssentialsCommand {
|
||||
iter.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (inputSlot.getDurability() == Short.MAX_VALUE) {
|
||||
if (VersionUtil.PRE_FLATTENING && inputSlot.getDurability() == Short.MAX_VALUE) {
|
||||
inputSlot.setDurability((short) 0);
|
||||
}
|
||||
if (!inputSlot.isSimilar(stack)) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.Kit;
|
||||
import com.earth2me.essentials.config.ConfigurateUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.bukkit.Server;
|
||||
|
||||
@@ -38,7 +37,7 @@ public class Commanddelkit extends EssentialsCommand {
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(final Server server, final CommandSource sender, final String commandLabel, final String[] args) {
|
||||
if (args.length == 1) {
|
||||
return Lists.newArrayList(ConfigurateUtil.getKeys(ess.getKits().getKits()));
|
||||
return Lists.newArrayList(ess.getKits().getKitKeys());
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@@ -23,8 +23,14 @@ public class Commanddelwarp extends EssentialsCommand {
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
//Check if warp exists before calling the event
|
||||
final Location location = ess.getWarps().getWarp(args[0]);
|
||||
if (location != null) {
|
||||
if (ess.getWarps().isWarp(args[0])) {
|
||||
Location location;
|
||||
try {
|
||||
location = ess.getWarps().getWarp(args[0]);
|
||||
} catch (Exception ignored) {
|
||||
// World is unloaded/deleted
|
||||
location = null;
|
||||
}
|
||||
final WarpModifyEvent event = new WarpModifyEvent(sender.getUser(this.ess), args[0], location, null, WarpModifyEvent.WarpModifyCause.DELETE);
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
|
||||
@@ -258,6 +258,7 @@ public class Commandessentials extends EssentialsCommand {
|
||||
files.add(new PasteUtil.PasteFile("dump.json", dump.toString()));
|
||||
|
||||
final Plugin essDiscord = Bukkit.getPluginManager().getPlugin("EssentialsDiscord");
|
||||
final Plugin essSpawn = Bukkit.getPluginManager().getPlugin("EssentialsSpawn");
|
||||
|
||||
// Further operations will be heavy IO
|
||||
ess.runTaskAsynchronously(() -> {
|
||||
@@ -265,12 +266,18 @@ public class Commandessentials extends EssentialsCommand {
|
||||
boolean discord = false;
|
||||
boolean kits = false;
|
||||
boolean log = false;
|
||||
boolean worth = false;
|
||||
boolean tpr = false;
|
||||
boolean spawns = false;
|
||||
for (final String arg : args) {
|
||||
if (arg.equals("*")) {
|
||||
if (arg.equals("*") || arg.equalsIgnoreCase("all")) {
|
||||
config = true;
|
||||
discord = true;
|
||||
kits = true;
|
||||
log = true;
|
||||
worth = true;
|
||||
tpr = true;
|
||||
spawns = true;
|
||||
break;
|
||||
} else if (arg.equalsIgnoreCase("config")) {
|
||||
config = true;
|
||||
@@ -280,6 +287,12 @@ public class Commandessentials extends EssentialsCommand {
|
||||
kits = true;
|
||||
} else if (arg.equalsIgnoreCase("log")) {
|
||||
log = true;
|
||||
} else if (arg.equalsIgnoreCase("worth")) {
|
||||
worth = true;
|
||||
} else if (arg.equalsIgnoreCase("tpr")) {
|
||||
tpr = true;
|
||||
} else if (arg.equalsIgnoreCase("spawns")) {
|
||||
spawns = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,11 +304,11 @@ public class Commandessentials extends EssentialsCommand {
|
||||
}
|
||||
}
|
||||
|
||||
if (discord && essDiscord != null && essDiscord.isEnabled()) {
|
||||
if (discord && essDiscord != null) {
|
||||
try {
|
||||
files.add(new PasteUtil.PasteFile("discord-config.yml",
|
||||
new String(Files.readAllBytes(essDiscord.getDataFolder().toPath().resolve("config.yml")), StandardCharsets.UTF_8)
|
||||
.replaceAll("[MN][A-Za-z\\d]{23}\\.[\\w-]{6}\\.[\\w-]{27}", "<censored token>")));
|
||||
.replaceAll("[A-Za-z\\d]{24}\\.[\\w-]{6}\\.[\\w-]{27}", "<censored token>")));
|
||||
} catch (IOException e) {
|
||||
sender.sendMessage(tl("dumpErrorUpload", "discord-config.yml", e.getMessage()));
|
||||
}
|
||||
@@ -319,6 +332,30 @@ public class Commandessentials extends EssentialsCommand {
|
||||
}
|
||||
}
|
||||
|
||||
if (worth) {
|
||||
try {
|
||||
files.add(new PasteUtil.PasteFile("worth.yml", new String(Files.readAllBytes(ess.getWorth().getFile().toPath()), StandardCharsets.UTF_8)));
|
||||
} catch (IOException e) {
|
||||
sender.sendMessage(tl("dumpErrorUpload", "worth.yml", e.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
if (tpr) {
|
||||
try {
|
||||
files.add(new PasteUtil.PasteFile("tpr.yml", new String(Files.readAllBytes(ess.getRandomTeleport().getFile().toPath()), StandardCharsets.UTF_8)));
|
||||
} catch (IOException e) {
|
||||
sender.sendMessage(tl("dumpErrorUpload", "tpr.yml", e.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
if (spawns && essSpawn != null) {
|
||||
try {
|
||||
files.add(new PasteUtil.PasteFile("spawn.yml", new String(Files.readAllBytes(ess.getDataFolder().toPath().resolve("spawn.yml")), StandardCharsets.UTF_8)));
|
||||
} catch (IOException e) {
|
||||
sender.sendMessage(tl("dumpErrorUpload", "spawn.yml", e.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
final CompletableFuture<PasteUtil.PasteResult> future = PasteUtil.createPaste(files);
|
||||
future.thenAccept(result -> {
|
||||
if (result != null) {
|
||||
@@ -719,9 +756,9 @@ public class Commandessentials extends EssentialsCommand {
|
||||
}
|
||||
break;
|
||||
case "dump":
|
||||
final List<String> list = Lists.newArrayList("config", "kits", "log", "discord", "*");
|
||||
final List<String> list = Lists.newArrayList("config", "kits", "log", "discord", "worth", "tpr", "spawns", "all");
|
||||
for (String arg : args) {
|
||||
if (arg.equals("*")) {
|
||||
if (arg.equals("*") || arg.equalsIgnoreCase("all")) {
|
||||
list.clear();
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.earth2me.essentials.MetaItemStack;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Server;
|
||||
@@ -37,7 +38,7 @@ public class Commandgive extends EssentialsLoopCommand {
|
||||
}
|
||||
|
||||
try {
|
||||
if (args.length > 3 && NumberUtil.isInt(args[2]) && NumberUtil.isInt(args[3])) {
|
||||
if (args.length > 3 && VersionUtil.PRE_FLATTENING && NumberUtil.isInt(args[2]) && NumberUtil.isInt(args[3])) {
|
||||
stack.setAmount(Integer.parseInt(args[2]));
|
||||
stack.setDurability(Short.parseShort(args[3]));
|
||||
} else if (args.length > 2 && Integer.parseInt(args[2]) > 0) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.StringUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import org.bukkit.Material;
|
||||
@@ -36,7 +37,7 @@ public class Commanditemdb extends EssentialsCommand {
|
||||
|
||||
String itemId = "none";
|
||||
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01)) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
itemId = itemStack.getType().getId() + ":" + itemStack.getDurability();
|
||||
}
|
||||
|
||||
@@ -49,7 +50,7 @@ public class Commanditemdb extends EssentialsCommand {
|
||||
|
||||
if (itemHeld && itemStack.getType() != Material.AIR) {
|
||||
final int maxuses = itemStack.getType().getMaxDurability();
|
||||
final int durability = (maxuses + 1) - itemStack.getDurability();
|
||||
final int durability = (maxuses + 1) - MaterialUtil.getDamage(itemStack);
|
||||
if (maxuses != 0) {
|
||||
sender.sendMessage(tl("durability", Integer.toString(durability)));
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.earth2me.essentials.commands;
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.Kit;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.config.ConfigurateUtil;
|
||||
import com.earth2me.essentials.utils.StringUtil;
|
||||
import org.bukkit.Server;
|
||||
|
||||
@@ -101,7 +100,7 @@ public class Commandkit extends EssentialsCommand {
|
||||
if (args.length == 1) {
|
||||
final List<String> options = new ArrayList<>();
|
||||
// TODO: Move all of this to its own method
|
||||
for (final String kitName : ConfigurateUtil.getKeys(ess.getKits().getKits())) {
|
||||
for (final String kitName : ess.getKits().getKitKeys()) {
|
||||
if (!user.isAuthorized("essentials.kits." + kitName)) { // Only check perm, not time or money
|
||||
continue;
|
||||
}
|
||||
@@ -118,7 +117,7 @@ public class Commandkit extends EssentialsCommand {
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(final Server server, final CommandSource sender, final String commandLabel, final String[] args) {
|
||||
if (args.length == 1) {
|
||||
return new ArrayList<>(ConfigurateUtil.getKeys(ess.getKits().getKits())); // TODO: Move this to its own method
|
||||
return new ArrayList<>(ess.getKits().getKitKeys()); // TODO: Move this to its own method
|
||||
} else if (args.length == 2) {
|
||||
return getPlayers(server, sender);
|
||||
} else {
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.config.ConfigurateUtil;
|
||||
import org.bukkit.Server;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -59,7 +58,7 @@ public class Commandkitreset extends EssentialsCommand {
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(Server server, CommandSource sender, String commandLabel, String[] args) {
|
||||
if (args.length == 1) {
|
||||
return new ArrayList<>(ConfigurateUtil.getKeys(ess.getKits().getKits()));
|
||||
return new ArrayList<>(ess.getKits().getKitKeys());
|
||||
} else if (args.length == 2 && sender.isAuthorized("essentials.kitreset.others", ess)) {
|
||||
return getPlayers(server, sender);
|
||||
} else {
|
||||
|
||||
@@ -152,7 +152,19 @@ public class Commandmail extends EssentialsCommand {
|
||||
if (!user.isAuthorized("essentials.mail.sendall")) {
|
||||
throw new Exception(tl("noPerm", "essentials.mail.sendall"));
|
||||
}
|
||||
ess.runTaskAsynchronously(new SendAll(user, FormatUtil.formatMessage(user, "essentials.mail", StringUtil.sanitizeString(FormatUtil.stripFormat(getFinalArg(args, 1))))));
|
||||
ess.runTaskAsynchronously(new SendAll(user,
|
||||
FormatUtil.formatMessage(user, "essentials.mail",
|
||||
StringUtil.sanitizeString(FormatUtil.stripFormat(getFinalArg(args, 1)))), 0));
|
||||
user.sendMessage(tl("mailSent"));
|
||||
return;
|
||||
}
|
||||
if (args.length >= 3 && "sendtempall".equalsIgnoreCase(args[0])) {
|
||||
if (!user.isAuthorized("essentials.mail.sendtempall")) {
|
||||
throw new Exception(tl("noPerm", "essentials.mail.sendtempall"));
|
||||
}
|
||||
ess.runTaskAsynchronously(new SendAll(user,
|
||||
FormatUtil.formatMessage(user, "essentials.mail",
|
||||
StringUtil.sanitizeString(FormatUtil.stripFormat(getFinalArg(args, 2)))), DateUtil.parseDateDiff(args[1], true)));
|
||||
user.sendMessage(tl("mailSent"));
|
||||
return;
|
||||
}
|
||||
@@ -213,7 +225,12 @@ public class Commandmail extends EssentialsCommand {
|
||||
sender.sendMessage(tl("mailSent"));
|
||||
return;
|
||||
} else if (args.length >= 2 && "sendall".equalsIgnoreCase(args[0])) {
|
||||
ess.runTaskAsynchronously(new SendAll(Console.getInstance(), FormatUtil.replaceFormat(getFinalArg(args, 1))));
|
||||
ess.runTaskAsynchronously(new SendAll(Console.getInstance(), FormatUtil.replaceFormat(getFinalArg(args, 1)), 0));
|
||||
sender.sendMessage(tl("mailSent"));
|
||||
return;
|
||||
} else if (args.length >= 3 && "sendtempall".equalsIgnoreCase(args[0])) {
|
||||
final long dateDiff = DateUtil.parseDateDiff(args[1], true);
|
||||
ess.runTaskAsynchronously(new SendAll(Console.getInstance(), FormatUtil.replaceFormat(getFinalArg(args, 2)), dateDiff));
|
||||
sender.sendMessage(tl("mailSent"));
|
||||
return;
|
||||
} else if (args.length >= 2) {
|
||||
@@ -232,12 +249,14 @@ public class Commandmail extends EssentialsCommand {
|
||||
}
|
||||
|
||||
private class SendAll implements Runnable {
|
||||
IMessageRecipient messageRecipient;
|
||||
String message;
|
||||
private final IMessageRecipient messageRecipient;
|
||||
private final String message;
|
||||
private final long dateDiff;
|
||||
|
||||
SendAll(IMessageRecipient messageRecipient, String message) {
|
||||
SendAll(IMessageRecipient messageRecipient, String message, long dateDiff) {
|
||||
this.messageRecipient = messageRecipient;
|
||||
this.message = message;
|
||||
this.dateDiff = dateDiff;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -245,7 +264,7 @@ public class Commandmail extends EssentialsCommand {
|
||||
for (UUID userid : ess.getUserMap().getAllUniqueUsers()) {
|
||||
final User user = ess.getUserMap().getUser(userid);
|
||||
if (user != null) {
|
||||
user.sendMail(messageRecipient, message);
|
||||
user.sendMail(messageRecipient, message, dateDiff);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -264,38 +283,47 @@ public class Commandmail extends EssentialsCommand {
|
||||
if (user.isAuthorized("essentials.mail.sendall")) {
|
||||
options.add("sendall");
|
||||
}
|
||||
if (user.isAuthorized("essentials.mail.sendtempall")) {
|
||||
options.add("sendtempall");
|
||||
}
|
||||
return options;
|
||||
} else if (args.length == 2 && ((args[0].equalsIgnoreCase("send") && user.isAuthorized("essentials.mail.send")) || (args[0].equalsIgnoreCase("sendtemp") && user.isAuthorized("essentials.mail.sendtemp")))) {
|
||||
return getPlayers(server, user);
|
||||
} else if (args.length == 2 && args[0].equalsIgnoreCase("read")) {
|
||||
final ArrayList<MailMessage> mail = user.getMailMessages();
|
||||
final int pages = mail != null ? (mail.size() / 9 + (mail.size() % 9 > 0 ? 1 : 0)) : 0;
|
||||
if (pages == 0) {
|
||||
return Lists.newArrayList("0");
|
||||
} else {
|
||||
final List<String> options = Lists.newArrayList("1");
|
||||
if (pages > 1) {
|
||||
options.add(String.valueOf(pages));
|
||||
} else if (args.length == 2) {
|
||||
if ((args[0].equalsIgnoreCase("send") && user.isAuthorized("essentials.mail.send")) || (args[0].equalsIgnoreCase("sendtemp") && user.isAuthorized("essentials.mail.sendtemp"))) {
|
||||
return getPlayers(server, user);
|
||||
} else if (args[0].equalsIgnoreCase("sendtempall") && user.isAuthorized("essentials.mail.sendtempall")) {
|
||||
return COMMON_DATE_DIFFS;
|
||||
} else if (args[0].equalsIgnoreCase("read")) {
|
||||
final ArrayList<MailMessage> mail = user.getMailMessages();
|
||||
final int pages = mail != null ? (mail.size() / 9 + (mail.size() % 9 > 0 ? 1 : 0)) : 0;
|
||||
if (pages == 0) {
|
||||
return Lists.newArrayList("0");
|
||||
} else {
|
||||
final List<String> options = Lists.newArrayList("1");
|
||||
if (pages > 1) {
|
||||
options.add(String.valueOf(pages));
|
||||
}
|
||||
return options;
|
||||
}
|
||||
return options;
|
||||
}
|
||||
} else if (args.length == 3 && args[0].equalsIgnoreCase("sendtemp") && user.isAuthorized("essentials.mail.sendtemp")) {
|
||||
return COMMON_DATE_DIFFS;
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(final Server server, final CommandSource sender, final String commandLabel, final String[] args) {
|
||||
if (args.length == 1) {
|
||||
return Lists.newArrayList("send", "sendall");
|
||||
} else if (args.length == 2 && (args[0].equalsIgnoreCase("send") || args[0].equalsIgnoreCase("sendtemp"))) {
|
||||
return getPlayers(server, sender);
|
||||
return Lists.newArrayList("send", "sendall", "sendtemp", "sendtempall");
|
||||
} else if (args.length == 2) {
|
||||
if (args[0].equalsIgnoreCase("send") || args[0].equalsIgnoreCase("sendtemp")) {
|
||||
return getPlayers(server, sender);
|
||||
} else if (args[0].equalsIgnoreCase("sendtempall")) {
|
||||
return COMMON_DATE_DIFFS;
|
||||
}
|
||||
} else if (args.length == 3 && args[0].equalsIgnoreCase("sendtemp")) {
|
||||
return COMMON_DATE_DIFFS;
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.DateUtil;
|
||||
import com.earth2me.essentials.utils.FormatUtil;
|
||||
import net.essentialsx.api.v2.events.UserActionEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Server;
|
||||
@@ -44,6 +45,7 @@ public class Commandme extends EssentialsCommand {
|
||||
final String toSend = tl("action", user.getDisplayName(), message);
|
||||
if (radius < 1) {
|
||||
ess.broadcastMessage(user, toSend);
|
||||
ess.getServer().getPluginManager().callEvent(new UserActionEvent(user, message, Collections.unmodifiableCollection(ess.getServer().getOnlinePlayers())));
|
||||
return;
|
||||
}
|
||||
radius *= radius;
|
||||
@@ -86,6 +88,7 @@ public class Commandme extends EssentialsCommand {
|
||||
for (final Player onlinePlayer : outList) {
|
||||
onlinePlayer.sendMessage(toSend);
|
||||
}
|
||||
ess.getServer().getPluginManager().callEvent(new UserActionEvent(user, message, Collections.unmodifiableCollection(outList)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.earth2me.essentials.commands;
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.World;
|
||||
@@ -109,7 +108,7 @@ public class Commandnear extends EssentialsCommand {
|
||||
if (nearbyPlayer == null) {
|
||||
continue;
|
||||
}
|
||||
output.append(nearbyPlayer.getDisplayName()).append(ChatColor.WHITE + "(" + ChatColor.RED).append((long) nearbyPlayer.getLocation().distance(loc)).append("m" + ChatColor.WHITE + ")");
|
||||
output.append(tl("nearbyPlayersList", nearbyPlayer.getDisplayName(), (long)nearbyPlayer.getLocation().distance(loc)));
|
||||
}
|
||||
|
||||
return output.length() > 1 ? output.toString() : tl("none");
|
||||
|
||||
@@ -24,9 +24,6 @@ public class Commandnick extends EssentialsLoopCommand {
|
||||
if (args.length < 1) {
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
if (!ess.getSettings().changeDisplayName()) {
|
||||
throw new Exception(tl("nickDisplayName"));
|
||||
}
|
||||
|
||||
if (args.length > 1 && user.isAuthorized("essentials.nick.others")) {
|
||||
loopOfflinePlayers(server, user.getSource(), false, true, args[0], formatNickname(user, args[1]).split(" "));
|
||||
@@ -41,9 +38,6 @@ public class Commandnick extends EssentialsLoopCommand {
|
||||
if (args.length < 2) {
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
if (!ess.getSettings().changeDisplayName()) {
|
||||
throw new Exception(tl("nickDisplayName"));
|
||||
}
|
||||
loopOfflinePlayers(server, sender, false, true, args[0], formatNickname(null, args[1]).split(" "));
|
||||
sender.sendMessage(tl("nickChanged"));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.utils.DateUtil;
|
||||
import com.earth2me.essentials.utils.EnumUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import net.ess3.api.IUser;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.Statistic;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
|
||||
public class Commandplaytime extends EssentialsCommand {
|
||||
// For some reason, in 1.13 PLAY_ONE_MINUTE = ticks played = what used to be PLAY_ONE_TICK
|
||||
// https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/b848d8ce633871b52115247b089029749c02f579
|
||||
private static final Statistic PLAY_ONE_TICK = EnumUtil.getStatistic("PLAY_ONE_MINUTE", "PLAY_ONE_TICK");
|
||||
|
||||
public Commandplaytime() {
|
||||
super("playtime");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void run(Server server, CommandSource sender, String commandLabel, String[] args) throws Exception {
|
||||
String displayName;
|
||||
long playtime;
|
||||
final String key;
|
||||
|
||||
if (args.length > 0 && sender.isAuthorized("essentials.playtime.others", ess)) {
|
||||
try {
|
||||
final IUser user = getPlayer(server, sender, args, 0);
|
||||
displayName = user.getDisplayName();
|
||||
playtime = user.getBase().getStatistic(PLAY_ONE_TICK);
|
||||
} catch (PlayerNotFoundException e) {
|
||||
// The ability to get the statistics of offline players is only available in 1.15.2+
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_15_2_R01)) {
|
||||
throw e;
|
||||
}
|
||||
final IUser user = getPlayer(server, sender, args, 0, true);
|
||||
displayName = user.getName();
|
||||
playtime = Bukkit.getOfflinePlayer(user.getBase().getUniqueId()).getStatistic(PLAY_ONE_TICK);
|
||||
}
|
||||
key = "playtimeOther";
|
||||
} else if (sender.isPlayer()) {
|
||||
//noinspection ConstantConditions
|
||||
displayName = sender.getPlayer().getDisplayName();
|
||||
playtime = sender.getPlayer().getStatistic(PLAY_ONE_TICK);
|
||||
key = "playtime";
|
||||
} else {
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
final long playtimeMs = System.currentTimeMillis() - (playtime * 50L);
|
||||
sender.sendMessage(tl(key, DateUtil.formatDateDiff(playtimeMs), displayName));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(final Server server, final CommandSource sender, final String commandLabel, final String[] args) {
|
||||
if (args.length == 1 && sender.isAuthorized("essentials.playtime.others", ess)) {
|
||||
return getPlayers(server, sender);
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,8 +4,8 @@ import com.earth2me.essentials.MetaItemStack;
|
||||
import com.earth2me.essentials.Potions;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.StringUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import net.ess3.nms.refl.ReflUtil;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -42,7 +42,7 @@ public class Commandpotion extends EssentialsCommand {
|
||||
}
|
||||
|
||||
boolean holdingPotion = stack.getType() == Material.POTION;
|
||||
if (!holdingPotion && ReflUtil.getNmsVersionObject().isHigherThanOrEqualTo(ReflUtil.V1_9_R1)) {
|
||||
if (!holdingPotion && VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_9_R01)) {
|
||||
holdingPotion = stack.getType() == Material.SPLASH_POTION || stack.getType() == Material.LINGERING_POTION;
|
||||
}
|
||||
if (holdingPotion) {
|
||||
|
||||
@@ -117,7 +117,7 @@ public class Commandrecipe extends EssentialsCommand {
|
||||
if (item == null) {
|
||||
continue;
|
||||
}
|
||||
if (item.getDurability() == Short.MAX_VALUE) {
|
||||
if (VersionUtil.PRE_FLATTENING && item.getDurability() == Short.MAX_VALUE) {
|
||||
item.setDurability((short) 0);
|
||||
}
|
||||
view.getTopInventory().setItem(j * 3 + k + 1, item);
|
||||
@@ -159,7 +159,7 @@ public class Commandrecipe extends EssentialsCommand {
|
||||
final InventoryView view = user.getBase().openWorkbench(null, true);
|
||||
for (int i = 0; i < ingredients.size(); i++) {
|
||||
final ItemStack item = ingredients.get(i);
|
||||
if (item.getDurability() == Short.MAX_VALUE) {
|
||||
if (VersionUtil.PRE_FLATTENING && item.getDurability() == Short.MAX_VALUE) {
|
||||
item.setDurability((short) 0);
|
||||
}
|
||||
view.setItem(i + 1, item);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.earth2me.essentials.commands;
|
||||
import com.earth2me.essentials.ChargeException;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.StringUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -39,7 +40,7 @@ public class Commandrepair extends EssentialsCommand {
|
||||
|
||||
public void repairHand(final User user) throws Exception {
|
||||
final ItemStack item = user.getItemInHand();
|
||||
if (item == null || item.getType().isBlock() || item.getDurability() == 0) {
|
||||
if (item == null || item.getType().isBlock() || MaterialUtil.getDamage(item) == 0) {
|
||||
throw new Exception(tl("repairInvalidType"));
|
||||
}
|
||||
|
||||
@@ -81,16 +82,16 @@ public class Commandrepair extends EssentialsCommand {
|
||||
throw new Exception(tl("repairInvalidType"));
|
||||
}
|
||||
|
||||
if (item.getDurability() == 0) {
|
||||
if (MaterialUtil.getDamage(item) == 0) {
|
||||
throw new Exception(tl("repairAlreadyFixed"));
|
||||
}
|
||||
|
||||
item.setDurability((short) 0);
|
||||
MaterialUtil.setDamage(item, 0);
|
||||
}
|
||||
|
||||
private void repairItems(final ItemStack[] items, final IUser user, final List<String> repaired) throws Exception {
|
||||
private void repairItems(final ItemStack[] items, final IUser user, final List<String> repaired) {
|
||||
for (final ItemStack item : items) {
|
||||
if (item == null || item.getType().isBlock() || item.getDurability() == 0) {
|
||||
if (item == null || item.getType().isBlock() || MaterialUtil.getDamage(item) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -123,7 +124,7 @@ public class Commandrepair extends EssentialsCommand {
|
||||
|
||||
private Trade getCharge(final Material material) {
|
||||
final String itemName = material.toString().toLowerCase(Locale.ENGLISH);
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01)) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
final int itemId = material.getId();
|
||||
return new Trade("repair-" + itemName.replace('_', '-'), new Trade("repair-" + itemId, new Trade("repair-item", ess), ess), ess);
|
||||
} else {
|
||||
|
||||
@@ -19,7 +19,7 @@ public class Commandrest extends EssentialsLoopCommand {
|
||||
|
||||
@Override
|
||||
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
|
||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01)) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
sender.sendMessage(tl("unsupportedFeature"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -102,13 +102,16 @@ public class Commandseen extends EssentialsCommand {
|
||||
|
||||
user.setDisplayNick();
|
||||
sender.sendMessage(tl("seenOnline", user.getDisplayName(), DateUtil.formatDateDiff(user.getLastLogin())));
|
||||
sender.sendMessage(tl("whoisUuid", user.getBase().getUniqueId().toString()));
|
||||
|
||||
final List<String> history = ess.getUserMap().getUserHistory(user.getBase().getUniqueId());
|
||||
if (history != null && history.size() > 1) {
|
||||
sender.sendMessage(tl("seenAccounts", StringUtil.joinListSkip(", ", user.getName(), history)));
|
||||
}
|
||||
|
||||
if (sender.isAuthorized("essentials.seen.uuid", ess)) {
|
||||
sender.sendMessage(tl("whoisUuid", user.getBase().getUniqueId().toString()));
|
||||
}
|
||||
|
||||
if (user.isAfk()) {
|
||||
sender.sendMessage(tl("whoisAFK", tl("true")));
|
||||
}
|
||||
@@ -136,16 +139,18 @@ public class Commandseen extends EssentialsCommand {
|
||||
user.setDisplayNick();
|
||||
if (user.getLastLogout() > 0) {
|
||||
sender.sendMessage(tl("seenOffline", user.getName(), DateUtil.formatDateDiff(user.getLastLogout())));
|
||||
sender.sendMessage(tl("whoisUuid", user.getBase().getUniqueId()));
|
||||
final List<String> history = ess.getUserMap().getUserHistory(user.getBase().getUniqueId());
|
||||
if (history != null && history.size() > 1) {
|
||||
sender.sendMessage(tl("seenAccounts", StringUtil.joinListSkip(", ", user.getName(), history)));
|
||||
}
|
||||
|
||||
if (sender.isAuthorized("essentials.seen.uuid", ess)) {
|
||||
sender.sendMessage(tl("whoisUuid", user.getBase().getUniqueId()));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(tl("userUnknown", user.getName()));
|
||||
}
|
||||
|
||||
final List<String> history = ess.getUserMap().getUserHistory(user.getBase().getUniqueId());
|
||||
if (history != null && history.size() > 1) {
|
||||
sender.sendMessage(tl("seenAccounts", StringUtil.joinListSkip(", ", user.getName(), history)));
|
||||
}
|
||||
|
||||
if (BanLookup.isBanned(ess, user)) {
|
||||
final BanEntry banEntry = BanLookup.getBanEntry(ess, user.getName());
|
||||
final String reason = showBan ? banEntry.getReason() : tl("true");
|
||||
|
||||
@@ -51,7 +51,7 @@ public class Commandsethome extends EssentialsCommand {
|
||||
}
|
||||
|
||||
final Location location = user.getLocation();
|
||||
if (!ess.getSettings().isTeleportSafetyEnabled() && LocationUtil.isBlockUnsafeForUser(usersHome, location.getWorld(), location.getBlockX(), location.getBlockY(), location.getBlockZ())) {
|
||||
if ((!ess.getSettings().isTeleportSafetyEnabled() || !ess.getSettings().isForceDisableTeleportSafety()) && LocationUtil.isBlockUnsafeForUser(ess, usersHome, location.getWorld(), location.getBlockX(), location.getBlockY(), location.getBlockZ())) {
|
||||
throw new Exception(tl("unsafeTeleportDestination", location.getWorld().getName(), location.getBlockX(), location.getBlockY(), location.getBlockZ()));
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.Kit;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.config.ConfigurateUtil;
|
||||
import org.bukkit.Server;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -34,7 +33,7 @@ public class Commandshowkit extends EssentialsCommand {
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(final Server server, final User user, final String commandLabel, final String[] args) {
|
||||
if (args.length == 1) {
|
||||
return new ArrayList<>(ConfigurateUtil.getKeys(ess.getKits().getKits())); // TODO: Move this to its own method
|
||||
return new ArrayList<>(ess.getKits().getKitKeys()); // TODO: Move this to its own method
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Commandskull extends EssentialsCommand {
|
||||
final SkullMeta metaSkull;
|
||||
boolean spawn = false;
|
||||
|
||||
if (itemSkull != null && MaterialUtil.isPlayerHead(itemSkull.getType(), itemSkull.getDurability())) {
|
||||
if (itemSkull != null && MaterialUtil.isPlayerHead(itemSkull)) {
|
||||
metaSkull = (SkullMeta) itemSkull.getItemMeta();
|
||||
} else if (user.isAuthorized("essentials.skull.spawn")) {
|
||||
itemSkull = new ItemStack(SKULL_ITEM, 1, (byte) 3);
|
||||
|
||||
@@ -15,6 +15,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
|
||||
@@ -84,6 +85,10 @@ public class Commandtogglejail extends EssentialsCommand {
|
||||
player.setOnlineJailedTime(ess.getSettings().isJailOnlineTime() ? ((player.getBase().getStatistic(PLAY_ONE_TICK)) + (timeDiff / 50)) : 0);
|
||||
}
|
||||
sender.sendMessage(timeDiff > 0 ? tl("playerJailedFor", player.getName(), DateUtil.formatDateDiff(finalDisplayTime)) : tl("playerJailed", player.getName()));
|
||||
|
||||
final String notifyMessage = timeDiff > 0 ? tl("jailNotifyJailedFor", player.getName(), DateUtil.formatDateDiff(finalDisplayTime), sender.getSender().getName()) : tl("jailNotifyJailed", player.getName(), sender.getSender().getName());
|
||||
server.getLogger().log(Level.INFO, notifyMessage);
|
||||
ess.broadcastMessage("essentials.jail.notify", notifyMessage);
|
||||
}
|
||||
});
|
||||
if (player.getBase().isOnline()) {
|
||||
@@ -107,6 +112,10 @@ public class Commandtogglejail extends EssentialsCommand {
|
||||
player.setJailTimeout(timeDiff);
|
||||
player.setOnlineJailedTime(ess.getSettings().isJailOnlineTime() ? ((player.getBase().getStatistic(PLAY_ONE_TICK)) + (timeDiff / 50)) : 0);
|
||||
sender.sendMessage(tl("jailSentenceExtended", DateUtil.formatDateDiff(displayTimeDiff)));
|
||||
|
||||
final String notifyMessage = tl("jailNotifySentenceExtended", player.getName(), DateUtil.formatDateDiff(displayTimeDiff), sender.getSender().getName());
|
||||
server.getLogger().log(Level.INFO, notifyMessage);
|
||||
ess.broadcastMessage("essentials.jail.notify", notifyMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,13 +22,14 @@ public class Commandtop extends EssentialsCommand {
|
||||
final int topZ = user.getLocation().getBlockZ();
|
||||
final float pitch = user.getLocation().getPitch();
|
||||
final float yaw = user.getLocation().getYaw();
|
||||
final Location loc = LocationUtil.getSafeDestination(new Location(user.getWorld(), topX, user.getWorld().getMaxHeight(), topZ, yaw, pitch));
|
||||
final Location unsafe = new Location(user.getWorld(), topX, ess.getWorldInfoProvider().getMaxHeight(user.getWorld()), topZ, yaw, pitch);
|
||||
final Location safe = LocationUtil.getSafeDestination(ess, unsafe);
|
||||
final CompletableFuture<Boolean> future = new CompletableFuture<>();
|
||||
future.thenAccept(success -> {
|
||||
if (success) {
|
||||
user.sendMessage(tl("teleportTop", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
|
||||
user.sendMessage(tl("teleportTop", safe.getWorld().getName(), safe.getBlockX(), safe.getBlockY(), safe.getBlockZ()));
|
||||
}
|
||||
});
|
||||
user.getAsyncTeleport().teleport(loc, new Trade(this.getName(), ess), TeleportCause.COMMAND, getNewExceptionFuture(user.getSource(), commandLabel));
|
||||
user.getAsyncTeleport().teleport(safe, new Trade(this.getName(), ess), TeleportCause.COMMAND, getNewExceptionFuture(user.getSource(), commandLabel));
|
||||
}
|
||||
}
|
||||
@@ -37,11 +37,12 @@ public class Commandtpa extends EssentialsCommand {
|
||||
if (user.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + player.getWorld().getName())) {
|
||||
throw new Exception(tl("noPerm", "essentials.worlds." + player.getWorld().getName()));
|
||||
}
|
||||
|
||||
// Don't let sender request teleport twice to the same player.
|
||||
if (user.getConfigUUID().equals(player.getTeleportRequest()) && player.hasOutstandingTeleportRequest() // Check timeout
|
||||
&& !player.isTpRequestHere()) { // Make sure the last teleport request was actually tpa and not tpahere
|
||||
if (player.hasOutstandingTpaRequest(user.getName(), false)) {
|
||||
throw new Exception(tl("requestSentAlready", player.getDisplayName()));
|
||||
}
|
||||
|
||||
if (player.isAutoTeleportEnabled() && !player.isIgnoredPlayer(user)) {
|
||||
final Trade charge = new Trade(this.getName(), ess);
|
||||
final AsyncTeleport teleport = user.getAsyncTeleport();
|
||||
@@ -71,6 +72,7 @@ public class Commandtpa extends EssentialsCommand {
|
||||
player.sendMessage(tl("teleportRequestTimeoutInfo", ess.getSettings().getTpaAcceptCancellation()));
|
||||
}
|
||||
}
|
||||
|
||||
user.sendMessage(tl("requestSent", player.getDisplayName()));
|
||||
if (user.isAuthorized("essentials.tpacancel")) {
|
||||
user.sendMessage(tl("typeTpacancel"));
|
||||
|
||||
@@ -19,17 +19,17 @@ public class Commandtpaall extends EssentialsCommand {
|
||||
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
|
||||
if (args.length < 1) {
|
||||
if (sender.isPlayer()) {
|
||||
teleportAAllPlayers(server, sender, ess.getUser(sender.getPlayer()));
|
||||
tpaAll(sender, ess.getUser(sender.getPlayer()));
|
||||
return;
|
||||
}
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
final User target = getPlayer(server, sender, args, 0);
|
||||
teleportAAllPlayers(server, sender, target);
|
||||
tpaAll(sender, target);
|
||||
}
|
||||
|
||||
private void teleportAAllPlayers(final Server server, final CommandSource sender, final User target) {
|
||||
private void tpaAll(final CommandSource sender, final User target) {
|
||||
sender.sendMessage(tl("teleportAAll"));
|
||||
for (final User player : ess.getOnlineUsers()) {
|
||||
if (target == player) {
|
||||
@@ -41,6 +41,7 @@ public class Commandtpaall extends EssentialsCommand {
|
||||
if (sender.getSender().equals(target.getBase()) && target.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !target.isAuthorized("essentials.worlds." + target.getWorld().getName())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
final TPARequestEvent tpaEvent = new TPARequestEvent(sender, player, true);
|
||||
ess.getServer().getPluginManager().callEvent(tpaEvent);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.User;
|
||||
import net.ess3.api.IEssentials;
|
||||
import org.bukkit.Server;
|
||||
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
@@ -15,20 +14,12 @@ public class Commandtpacancel extends EssentialsCommand {
|
||||
/**
|
||||
* Cancel {@link User}'s tp request if its {@code requester} is equal to the given {@code requester}.
|
||||
*
|
||||
* @param ess ess instance
|
||||
* @param user user holding tp request
|
||||
* @param requester tp requester
|
||||
* @return whether tp was cancelled
|
||||
*/
|
||||
public static boolean cancelTeleportRequest(final IEssentials ess, final User user, final User requester) throws Exception {
|
||||
if (user.getTeleportRequest() != null) {
|
||||
final User userRequester = ess.getUser(user.getTeleportRequest());
|
||||
if (requester.equals(userRequester)) {
|
||||
user.requestTeleport(null, false);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
public static boolean cancelTeleportRequest(final User user, final User requester) {
|
||||
return user.removeTpaRequest(requester.getName()) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,7 +28,7 @@ public class Commandtpacancel extends EssentialsCommand {
|
||||
int cancellations = 0;
|
||||
for (final User onlineUser : ess.getOnlineUsers()) {
|
||||
if (onlineUser == user) continue;
|
||||
if (cancelTeleportRequest(ess, onlineUser, user)) {
|
||||
if (cancelTeleportRequest(onlineUser, user)) {
|
||||
cancellations++;
|
||||
}
|
||||
}
|
||||
@@ -48,7 +39,7 @@ public class Commandtpacancel extends EssentialsCommand {
|
||||
}
|
||||
} else {
|
||||
final User targetPlayer = getPlayer(server, user, args, 0);
|
||||
if (cancelTeleportRequest(ess, targetPlayer, user)) {
|
||||
if (cancelTeleportRequest(targetPlayer, user)) {
|
||||
user.sendMessage(tl("teleportRequestSpecificCancelled", targetPlayer.getName()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.AsyncTeleport;
|
||||
import com.earth2me.essentials.IUser;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.User;
|
||||
import net.essentialsx.api.v2.events.TeleportRequestResponseEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
@@ -18,36 +24,87 @@ public class Commandtpaccept extends EssentialsCommand {
|
||||
|
||||
@Override
|
||||
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
|
||||
final User requester;
|
||||
try {
|
||||
requester = ess.getUser(user.getTeleportRequest());
|
||||
} catch (final Exception ex) {
|
||||
final boolean acceptAll;
|
||||
if (args.length > 0) {
|
||||
acceptAll = args[0].equals("*") || args[0].equalsIgnoreCase("all");
|
||||
} else {
|
||||
acceptAll = false;
|
||||
}
|
||||
|
||||
if (!user.hasPendingTpaRequests(true, acceptAll)) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
if (args.length > 0) {
|
||||
if (acceptAll) {
|
||||
acceptAllRequests(user, commandLabel);
|
||||
throw new NoChargeException();
|
||||
}
|
||||
user.sendMessage(tl("requestAccepted"));
|
||||
handleTeleport(user, user.getOutstandingTpaRequest(getPlayer(server, user, args, 0).getName(), true), commandLabel);
|
||||
} else {
|
||||
user.sendMessage(tl("requestAccepted"));
|
||||
handleTeleport(user, user.getNextTpaRequest(true, false, false), commandLabel);
|
||||
}
|
||||
throw new NoChargeException();
|
||||
}
|
||||
|
||||
private void acceptAllRequests(final User user, final String commandLabel) throws Exception {
|
||||
IUser.TpaRequest request;
|
||||
int count = 0;
|
||||
while ((request = user.getNextTpaRequest(true, true, true)) != null) {
|
||||
try {
|
||||
handleTeleport(user, request, commandLabel);
|
||||
count++;
|
||||
} catch (Exception e) {
|
||||
ess.showError(user.getSource(), e, commandLabel);
|
||||
} finally {
|
||||
user.removeTpaRequest(request.getName());
|
||||
}
|
||||
}
|
||||
user.sendMessage(tl("requestAcceptedAll", count));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(Server server, User user, String commandLabel, String[] args) {
|
||||
if (args.length == 1) {
|
||||
final List<String> options = new ArrayList<>(user.getPendingTpaKeys());
|
||||
options.add("*");
|
||||
return options;
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
private void handleTeleport(final User user, final IUser.TpaRequest request, String commandLabel) throws Exception {
|
||||
if (request == null) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
final User requester = ess.getUser(request.getRequesterUuid());
|
||||
|
||||
if (!requester.getBase().isOnline()) {
|
||||
user.removeTpaRequest(request.getName());
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
if (user.isTpRequestHere() && ((!requester.isAuthorized("essentials.tpahere") && !requester.isAuthorized("essentials.tpaall")) || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + user.getWorld().getName())))) {
|
||||
if (request.isHere() && ((!requester.isAuthorized("essentials.tpahere") && !requester.isAuthorized("essentials.tpaall")) || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + user.getWorld().getName())))) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
if (!user.isTpRequestHere() && (!requester.isAuthorized("essentials.tpa") || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + requester.getWorld().getName())))) {
|
||||
if (!request.isHere() && (!requester.isAuthorized("essentials.tpa") || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + requester.getWorld().getName())))) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
if (args.length > 0 && !requester.getName().contains(args[0])) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
if (!user.hasOutstandingTeleportRequest()) {
|
||||
user.requestTeleport(null, false);
|
||||
throw new Exception(tl("requestTimedOut"));
|
||||
final TeleportRequestResponseEvent event = new TeleportRequestResponseEvent(user, requester, request, true);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
if (ess.getSettings().isDebug()) {
|
||||
logger.info("TPA accept cancelled by API for " + user.getName() + " (requested by " + requester.getName() + ")");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
final Trade charge = new Trade(this.getName(), ess);
|
||||
user.sendMessage(tl("requestAccepted"));
|
||||
requester.sendMessage(tl("requestAcceptedFrom", user.getDisplayName()));
|
||||
|
||||
final CompletableFuture<Boolean> future = getNewExceptionFuture(requester.getSource(), commandLabel);
|
||||
@@ -55,8 +112,8 @@ public class Commandtpaccept extends EssentialsCommand {
|
||||
user.sendMessage(tl("pendingTeleportCancelled"));
|
||||
return false;
|
||||
});
|
||||
if (user.isTpRequestHere()) {
|
||||
final Location loc = user.getTpRequestLocation();
|
||||
if (request.isHere()) {
|
||||
final Location loc = request.getLocation();
|
||||
final AsyncTeleport teleport = requester.getAsyncTeleport();
|
||||
teleport.setTpType(AsyncTeleport.TeleportType.TPA);
|
||||
future.thenAccept(success -> {
|
||||
@@ -64,14 +121,12 @@ public class Commandtpaccept extends EssentialsCommand {
|
||||
requester.sendMessage(tl("teleporting", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
|
||||
}
|
||||
});
|
||||
teleport.teleportPlayer(user, user.getTpRequestLocation(), charge, TeleportCause.COMMAND, future);
|
||||
teleport.teleportPlayer(user, loc, charge, TeleportCause.COMMAND, future);
|
||||
} else {
|
||||
final AsyncTeleport teleport = requester.getAsyncTeleport();
|
||||
teleport.setTpType(AsyncTeleport.TeleportType.TPA);
|
||||
teleport.teleport(user.getBase(), charge, TeleportCause.COMMAND, future);
|
||||
}
|
||||
user.requestTeleport(null, false);
|
||||
throw new NoChargeException();
|
||||
user.removeTpaRequest(request.getName());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -33,11 +33,12 @@ public class Commandtpahere extends EssentialsCommand {
|
||||
if (user.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + user.getWorld().getName())) {
|
||||
throw new Exception(tl("noPerm", "essentials.worlds." + user.getWorld().getName()));
|
||||
}
|
||||
|
||||
// Don't let sender request teleport twice to the same player.
|
||||
if (user.getConfigUUID().equals(player.getTeleportRequest()) && player.hasOutstandingTeleportRequest() // Check timeout
|
||||
&& player.isTpRequestHere()) { // Make sure the last teleport request was actually tpahere and not tpa
|
||||
if (player.hasOutstandingTpaRequest(user.getName(), true)) {
|
||||
throw new Exception(tl("requestSentAlready", player.getDisplayName()));
|
||||
}
|
||||
|
||||
if (!player.isIgnoredPlayer(user)) {
|
||||
final TPARequestEvent tpaEvent = new TPARequestEvent(user.getSource(), player, true);
|
||||
ess.getServer().getPluginManager().callEvent(tpaEvent);
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.IUser;
|
||||
import com.earth2me.essentials.User;
|
||||
import net.essentialsx.api.v2.events.TeleportRequestResponseEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Server;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.earth2me.essentials.I18n.tl;
|
||||
|
||||
public class Commandtpdeny extends EssentialsCommand {
|
||||
@@ -12,16 +19,84 @@ public class Commandtpdeny extends EssentialsCommand {
|
||||
|
||||
@Override
|
||||
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
|
||||
if (user.getTeleportRequest() == null) {
|
||||
final boolean denyAll;
|
||||
if (args.length > 0) {
|
||||
denyAll = args[0].equals("*") || args[0].equalsIgnoreCase("all");
|
||||
} else {
|
||||
denyAll = false;
|
||||
}
|
||||
|
||||
if (!user.hasPendingTpaRequests(false, false)) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
final User player = ess.getUser(user.getTeleportRequest());
|
||||
if (player == null) {
|
||||
|
||||
final IUser.TpaRequest denyRequest;
|
||||
if (args.length > 0) {
|
||||
if (denyAll) {
|
||||
denyAllRequests(user);
|
||||
return;
|
||||
}
|
||||
denyRequest = user.getOutstandingTpaRequest(getPlayer(server, user, args, 0).getName(), false);
|
||||
} else {
|
||||
denyRequest = user.getNextTpaRequest(false, true, false);
|
||||
}
|
||||
|
||||
if (denyRequest == null) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
final User player = ess.getUser(denyRequest.getRequesterUuid());
|
||||
if (player == null || !player.getBase().isOnline()) {
|
||||
throw new Exception(tl("noPendingRequest"));
|
||||
}
|
||||
|
||||
if (sendEvent(user, player, denyRequest)) {
|
||||
return;
|
||||
}
|
||||
|
||||
user.sendMessage(tl("requestDenied"));
|
||||
player.sendMessage(tl("requestDeniedFrom", user.getDisplayName()));
|
||||
user.requestTeleport(null, false);
|
||||
user.removeTpaRequest(denyRequest.getName());
|
||||
}
|
||||
|
||||
private void denyAllRequests(User user) {
|
||||
IUser.TpaRequest request;
|
||||
int count = 0;
|
||||
while ((request = user.getNextTpaRequest(false, true, false)) != null) {
|
||||
final User player = ess.getUser(request.getRequesterUuid());
|
||||
|
||||
if (sendEvent(user, player, request)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (player != null && player.getBase().isOnline()) {
|
||||
player.sendMessage(tl("requestDeniedFrom", user.getDisplayName()));
|
||||
}
|
||||
|
||||
user.removeTpaRequest(request.getName());
|
||||
count++;
|
||||
}
|
||||
user.sendMessage(tl("requestDeniedAll", count));
|
||||
}
|
||||
|
||||
private boolean sendEvent(User user, User player, IUser.TpaRequest request) {
|
||||
final TeleportRequestResponseEvent event = new TeleportRequestResponseEvent(user, player, request, false);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
final boolean cancelled = event.isCancelled();
|
||||
if (cancelled && ess.getSettings().isDebug()) {
|
||||
logger.info("TPA deny cancelled by API for " + user.getName() + " (requested by " + player.getName() + ")");
|
||||
}
|
||||
return event.isCancelled();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> getTabCompleteOptions(Server server, User user, String commandLabel, String[] args) {
|
||||
if (args.length == 1) {
|
||||
final List<String> options = new ArrayList<>(user.getPendingTpaKeys());
|
||||
options.add("*");
|
||||
return options;
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,9 +26,9 @@ public class Commandtppos extends EssentialsCommand {
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
final double x = args[0].startsWith("~") ? user.getLocation().getX() + (args[0].length() > 1 ? Integer.parseInt(args[0].substring(1)) : 0) : Integer.parseInt(args[0]);
|
||||
final double y = args[1].startsWith("~") ? user.getLocation().getY() + (args[1].length() > 1 ? Integer.parseInt(args[1].substring(1)) : 0) : Integer.parseInt(args[1]);
|
||||
final double z = args[2].startsWith("~") ? user.getLocation().getZ() + (args[2].length() > 1 ? Integer.parseInt(args[2].substring(1)) : 0) : Integer.parseInt(args[2]);
|
||||
final double x = args[0].startsWith("~") ? user.getLocation().getX() + (args[0].length() > 1 ? Double.parseDouble(args[0].substring(1)) : 0) : Double.parseDouble(args[0]);
|
||||
final double y = args[1].startsWith("~") ? user.getLocation().getY() + (args[1].length() > 1 ? Double.parseDouble(args[1].substring(1)) : 0) : Double.parseDouble(args[1]);
|
||||
final double z = args[2].startsWith("~") ? user.getLocation().getZ() + (args[2].length() > 1 ? Double.parseDouble(args[2].substring(1)) : 0) : Double.parseDouble(args[2]);
|
||||
final Location loc = new Location(user.getWorld(), x, y, z, user.getLocation().getYaw(), user.getLocation().getPitch());
|
||||
if (args.length == 4) {
|
||||
final World w = ess.getWorld(args[3]);
|
||||
|
||||
@@ -38,7 +38,7 @@ public class Commandtree extends EssentialsCommand {
|
||||
}
|
||||
}
|
||||
|
||||
final Location loc = LocationUtil.getTarget(user.getBase()).add(0, 1, 0);
|
||||
final Location loc = LocationUtil.getTarget(user.getBase(), ess.getSettings().getMaxTreeCommandRange()).add(0, 1, 0);
|
||||
if (loc.getBlock().getType().isSolid()) {
|
||||
throw new Exception(tl("treeFailure"));
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.bukkit.Server;
|
||||
@@ -87,7 +88,7 @@ public class Commandworth extends EssentialsCommand {
|
||||
}
|
||||
|
||||
final BigDecimal result = worth.multiply(BigDecimal.valueOf(amount));
|
||||
sender.sendMessage(is.getDurability() != 0 ? tl("worthMeta", is.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""), is.getDurability(), NumberUtil.displayCurrency(result, ess), amount, NumberUtil.displayCurrency(worth, ess)) : tl("worth", is.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""), NumberUtil.displayCurrency(result, ess), amount, NumberUtil.displayCurrency(worth, ess)));
|
||||
sender.sendMessage(MaterialUtil.getDamage(is) != 0 ? tl("worthMeta", is.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""), MaterialUtil.getDamage(is), NumberUtil.displayCurrency(result, ess), amount, NumberUtil.displayCurrency(worth, ess)) : tl("worth", is.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""), NumberUtil.displayCurrency(result, ess), amount, NumberUtil.displayCurrency(worth, ess)));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,11 +112,15 @@ public abstract class EssentialsCommand implements IEssentialsCommand {
|
||||
|
||||
// Get online players - only show vanished if source has permission
|
||||
protected User getPlayer(final Server server, final CommandSource sender, final String[] args, final int pos) throws PlayerNotFoundException, NotEnoughArgumentsException {
|
||||
return getPlayer(server, sender, args, pos, false);
|
||||
}
|
||||
|
||||
protected User getPlayer(final Server server, final CommandSource sender, final String[] args, final int pos, final boolean getOffline) throws PlayerNotFoundException, NotEnoughArgumentsException {
|
||||
if (sender.isPlayer()) {
|
||||
final User user = ess.getUser(sender.getPlayer());
|
||||
return getPlayer(server, user, args, pos);
|
||||
return getPlayer(server, user, args, pos, getOffline);
|
||||
}
|
||||
return getPlayer(server, args, pos, true, false);
|
||||
return getPlayer(server, args, pos, true, getOffline);
|
||||
}
|
||||
|
||||
// Get online players - only show vanished if source has permission
|
||||
@@ -130,7 +134,11 @@ public abstract class EssentialsCommand implements IEssentialsCommand {
|
||||
|
||||
// Get online players - only show vanished if source has permission
|
||||
protected User getPlayer(final Server server, final User user, final String[] args, final int pos) throws PlayerNotFoundException, NotEnoughArgumentsException {
|
||||
return getPlayer(server, user, args, pos, user.canInteractVanished(), false);
|
||||
return getPlayer(server, user, args, pos, false);
|
||||
}
|
||||
|
||||
protected User getPlayer(final Server server, final User user, final String[] args, final int pos, final boolean getOffline) throws PlayerNotFoundException, NotEnoughArgumentsException {
|
||||
return getPlayer(server, user, args, pos, user.canInteractVanished(), getOffline);
|
||||
}
|
||||
|
||||
// Get online or offline players, this method allows for raw access
|
||||
|
||||
@@ -322,6 +322,16 @@ public class UserConfigHolder {
|
||||
this.baltopExempt = value;
|
||||
}
|
||||
|
||||
private @MonotonicNonNull Boolean shouting;
|
||||
|
||||
public Boolean shouting() {
|
||||
return shouting;
|
||||
}
|
||||
|
||||
public void shouting(final Boolean value) {
|
||||
this.shouting = value;
|
||||
}
|
||||
|
||||
private @NonNull Timestamps timestamps = new Timestamps();
|
||||
|
||||
public Timestamps timestamps() {
|
||||
|
||||
+19
-62
@@ -1,5 +1,6 @@
|
||||
package com.earth2me.essentials.craftbukkit;
|
||||
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -15,15 +16,13 @@ import java.util.Map;
|
||||
/*
|
||||
* This class can be removed when https://github.com/Bukkit/CraftBukkit/pull/193 is accepted to CraftBukkit
|
||||
*/
|
||||
|
||||
public final class InventoryWorkaround {
|
||||
/*
|
||||
Spigot 1.9, for whatever reason, decided to merge the armor and main player inventories without providing a way
|
||||
to access the main inventory. There's lots of ugly code in here to work around that.
|
||||
*/
|
||||
private static final int USABLE_PLAYER_INV_SIZE = 36;
|
||||
// Hot-ish code so cache
|
||||
private static Boolean hasMainHandSupport = null;
|
||||
private static final boolean IS_OFFHAND = VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_9_R01);
|
||||
|
||||
private InventoryWorkaround() {
|
||||
}
|
||||
@@ -201,87 +200,45 @@ public final class InventoryWorkaround {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void setItemInMainHand(final Player p, final ItemStack item) {
|
||||
if (hasMainHandSupport == null) {
|
||||
try {
|
||||
p.getInventory().setItemInMainHand(item);
|
||||
hasMainHandSupport = true;
|
||||
} catch (final Throwable e) {
|
||||
p.setItemInHand(item);
|
||||
hasMainHandSupport = false;
|
||||
}
|
||||
if (IS_OFFHAND) {
|
||||
p.getInventory().setItemInMainHand(item);
|
||||
} else {
|
||||
if (hasMainHandSupport) {
|
||||
p.getInventory().setItemInMainHand(item);
|
||||
} else {
|
||||
p.setItemInHand(item);
|
||||
}
|
||||
p.setItemInHand(item);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void setItemInMainHand(final EntityEquipment invent, final ItemStack item) {
|
||||
if (hasMainHandSupport == null) {
|
||||
try {
|
||||
invent.setItemInMainHand(item);
|
||||
hasMainHandSupport = true;
|
||||
} catch (final Throwable e) {
|
||||
invent.setItemInHand(item);
|
||||
hasMainHandSupport = false;
|
||||
}
|
||||
if (IS_OFFHAND) {
|
||||
invent.setItemInMainHand(item);
|
||||
} else {
|
||||
if (hasMainHandSupport) {
|
||||
invent.setItemInMainHand(item);
|
||||
} else {
|
||||
invent.setItemInHand(item);
|
||||
}
|
||||
invent.setItemInHand(item);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void setItemInMainHandDropChance(final EntityEquipment invent, final float chance) {
|
||||
if (hasMainHandSupport == null) {
|
||||
try {
|
||||
invent.setItemInMainHandDropChance(chance);
|
||||
hasMainHandSupport = true;
|
||||
} catch (final Throwable e) {
|
||||
invent.setItemInHandDropChance(chance);
|
||||
hasMainHandSupport = false;
|
||||
}
|
||||
if (IS_OFFHAND) {
|
||||
invent.setItemInMainHandDropChance(chance);
|
||||
} else {
|
||||
if (hasMainHandSupport) {
|
||||
invent.setItemInMainHandDropChance(chance);
|
||||
} else {
|
||||
invent.setItemInHandDropChance(chance);
|
||||
}
|
||||
invent.setItemInHandDropChance(chance);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setItemInOffHand(final Player p, final ItemStack item) {
|
||||
// This assumes that all builds that support a main hand also support an off hand.
|
||||
if (hasMainHandSupport == null || hasMainHandSupport) {
|
||||
try {
|
||||
p.getInventory().setItemInOffHand(item);
|
||||
hasMainHandSupport = true;
|
||||
} catch (final Throwable e) {
|
||||
hasMainHandSupport = false;
|
||||
}
|
||||
if (IS_OFFHAND) {
|
||||
p.getInventory().setItemInOffHand(item);
|
||||
}
|
||||
}
|
||||
|
||||
public static int clearItemInOffHand(final Player p, final ItemStack item) {
|
||||
// This should be added because if `/clear` itself is not initilized it will return an Error: null.
|
||||
if (hasMainHandSupport == null || hasMainHandSupport) {
|
||||
try {
|
||||
int removedAmount = 0;
|
||||
if (p.getInventory().getItemInOffHand().getType().equals(item.getType())) {
|
||||
removedAmount = p.getInventory().getItemInOffHand().getAmount();
|
||||
p.getInventory().setItemInOffHand(null);
|
||||
}
|
||||
hasMainHandSupport = true;
|
||||
return removedAmount;
|
||||
} catch (final Throwable e) {
|
||||
hasMainHandSupport = false;
|
||||
if (IS_OFFHAND) {
|
||||
int removedAmount = 0;
|
||||
if (p.getInventory().getItemInOffHand().getType().equals(item.getType())) {
|
||||
removedAmount = p.getInventory().getItemInOffHand().getAmount();
|
||||
p.getInventory().setItemInOffHand(null);
|
||||
}
|
||||
return removedAmount;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
import org.bukkit.inventory.meta.FireworkMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.potion.Potion;
|
||||
@@ -279,12 +280,22 @@ public abstract class AbstractItemDb implements IConf, net.ess3.api.IItemDb {
|
||||
serializeEffectMeta(sb, fireworkEffectMeta.getEffect());
|
||||
}
|
||||
} else if (MaterialUtil.isPotion(material)) {
|
||||
final Potion potion = Potion.fromItemStack(is);
|
||||
for (final PotionEffect e : potion.getEffects()) {
|
||||
// long but needs to be effect:speed power:2 duration:120 in that order.
|
||||
sb.append("splash:").append(potion.isSplash()).append(" ").append("effect:").append(e.getType().getName().toLowerCase()).append(" ").append("power:").append(e.getAmplifier()).append(" ").append("duration:").append(e.getDuration() / 20).append(" ");
|
||||
final boolean splash;
|
||||
final Collection<PotionEffect> effects;
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
final Potion potion = Potion.fromDamage(is.getDurability());
|
||||
splash = potion.isSplash();
|
||||
effects = potion.getEffects();
|
||||
} else {
|
||||
splash = is.getType() == Material.SPLASH_POTION;
|
||||
effects = ((PotionMeta) is.getItemMeta()).getCustomEffects();
|
||||
}
|
||||
} else if (MaterialUtil.isPlayerHead(material, is.getData().getData())) {
|
||||
|
||||
for (final PotionEffect e : effects) {
|
||||
// long but needs to be effect:speed power:2 duration:120 in that order.
|
||||
sb.append("splash:").append(splash).append(" ").append("effect:").append(e.getType().getName().toLowerCase()).append(" ").append("power:").append(e.getAmplifier()).append(" ").append("duration:").append(e.getDuration() / 20).append(" ");
|
||||
}
|
||||
} else if (MaterialUtil.isPlayerHead(is)) {
|
||||
// item stack with meta
|
||||
final SkullMeta skullMeta = (SkullMeta) is.getItemMeta();
|
||||
if (skullMeta != null && skullMeta.hasOwner()) {
|
||||
|
||||
@@ -3,8 +3,8 @@ package com.earth2me.essentials.items;
|
||||
import com.earth2me.essentials.ManagedFile;
|
||||
import com.earth2me.essentials.utils.EnumUtil;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.nms.refl.ReflUtil;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
@@ -204,7 +204,7 @@ public class LegacyItemDb extends AbstractItemDb {
|
||||
}
|
||||
retval = ess.getSpawnEggProvider().createEggItem(type);
|
||||
} else if (mat.name().endsWith("POTION")
|
||||
&& ReflUtil.getNmsVersionObject().isLowerThan(ReflUtil.V1_11_R1)) { // Only apply this to pre-1.11 as items.csv might only work in 1.11
|
||||
&& VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_11_R01)) { // Only apply this to pre-1.11 as items.csv might only work in 1.11
|
||||
retval = ess.getPotionMetaProvider().createPotionItem(mat, metaData);
|
||||
} else {
|
||||
retval.setDurability(metaData);
|
||||
|
||||
@@ -3,40 +3,32 @@ package com.earth2me.essentials.metrics;
|
||||
import com.earth2me.essentials.Essentials;
|
||||
import com.earth2me.essentials.economy.EconomyLayer;
|
||||
import com.earth2me.essentials.economy.EconomyLayers;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bstats.charts.AdvancedBarChart;
|
||||
import org.bstats.charts.CustomChart;
|
||||
import org.bstats.charts.DrilldownPie;
|
||||
import org.bstats.charts.MultiLineChart;
|
||||
import org.bstats.charts.SimplePie;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class MetricsWrapper {
|
||||
|
||||
private static final List<String> KNOWN_FORCED_METRICS = ImmutableList.of(
|
||||
"ChatControl",
|
||||
"catserver.server.Metrics");
|
||||
private static boolean hasWarned = false;
|
||||
private final Essentials ess;
|
||||
private final Metrics metrics;
|
||||
private final JavaPlugin plugin;
|
||||
private final Map<String, Boolean> commands = new HashMap<>();
|
||||
private final Plugin plugin;
|
||||
|
||||
public MetricsWrapper(final Plugin plugin, final int pluginId, final boolean includeCommands) {
|
||||
public MetricsWrapper(final JavaPlugin plugin, final int pluginId, final boolean includeCommands) {
|
||||
this.plugin = plugin;
|
||||
this.ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
|
||||
this.metrics = new Metrics(plugin, pluginId);
|
||||
|
||||
if (metrics.isEnabled()) {
|
||||
plugin.getLogger().info("Starting Metrics. Opt-out using the global bStats config.");
|
||||
} else {
|
||||
plugin.getLogger().info("Metrics disabled per bStats config.");
|
||||
}
|
||||
plugin.getLogger().info("Starting Metrics. Opt-out using the global bStats config.");
|
||||
|
||||
checkForcedMetrics();
|
||||
addPermsChart();
|
||||
addEconomyChart();
|
||||
addReleaseBranchChart();
|
||||
@@ -51,12 +43,12 @@ public class MetricsWrapper {
|
||||
commands.put(command, state);
|
||||
}
|
||||
|
||||
public void addCustomChart(final Metrics.CustomChart chart) {
|
||||
public void addCustomChart(final CustomChart chart) {
|
||||
metrics.addCustomChart(chart);
|
||||
}
|
||||
|
||||
private void addPermsChart() {
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("permsPlugin", () -> {
|
||||
metrics.addCustomChart(new DrilldownPie("permsPlugin", () -> {
|
||||
final Map<String, Map<String, Integer>> result = new HashMap<>();
|
||||
final String handler = ess.getPermissionsHandler().getName();
|
||||
final Map<String, Integer> backend = new HashMap<>();
|
||||
@@ -67,7 +59,7 @@ public class MetricsWrapper {
|
||||
}
|
||||
|
||||
private void addEconomyChart() {
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("econPlugin", () -> {
|
||||
metrics.addCustomChart(new DrilldownPie("econPlugin", () -> {
|
||||
final Map<String, Map<String, Integer>> result = new HashMap<>();
|
||||
final Map<String, Integer> backend = new HashMap<>();
|
||||
final EconomyLayer layer = EconomyLayers.getSelectedLayer();
|
||||
@@ -83,7 +75,7 @@ public class MetricsWrapper {
|
||||
}
|
||||
|
||||
private void addVersionHistoryChart() {
|
||||
metrics.addCustomChart(new Metrics.MultiLineChart("versionHistory", () -> {
|
||||
metrics.addCustomChart(new MultiLineChart("versionHistory", () -> {
|
||||
final HashMap<String, Integer> result = new HashMap<>();
|
||||
result.put(plugin.getDescription().getVersion(), 1);
|
||||
return result;
|
||||
@@ -91,7 +83,7 @@ public class MetricsWrapper {
|
||||
}
|
||||
|
||||
private void addReleaseBranchChart() {
|
||||
metrics.addCustomChart(new Metrics.SimplePie("releaseBranch", ess.getUpdateChecker()::getVersionBranch));
|
||||
metrics.addCustomChart(new SimplePie("releaseBranch", ess.getUpdateChecker()::getVersionBranch));
|
||||
}
|
||||
|
||||
private void addCommandsChart() {
|
||||
@@ -99,7 +91,7 @@ public class MetricsWrapper {
|
||||
markCommand(command, false);
|
||||
}
|
||||
|
||||
metrics.addCustomChart(new Metrics.AdvancedBarChart("commands", () -> {
|
||||
metrics.addCustomChart(new AdvancedBarChart("commands", () -> {
|
||||
final Map<String, int[]> result = new HashMap<>();
|
||||
for (final Map.Entry<String, Boolean> entry : commands.entrySet()) {
|
||||
if (entry.getValue()) {
|
||||
@@ -112,75 +104,4 @@ public class MetricsWrapper {
|
||||
}));
|
||||
}
|
||||
|
||||
private boolean isForcedMetricsClass(Class<?> bStatsService) {
|
||||
for (String identifier : KNOWN_FORCED_METRICS) {
|
||||
if (bStatsService.getCanonicalName().contains(identifier)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
final JavaPlugin owningPlugin = getProvidingPlugin(bStatsService);
|
||||
if (owningPlugin != null && KNOWN_FORCED_METRICS.contains(owningPlugin.getName())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void checkForcedMetrics() {
|
||||
if (hasWarned) return;
|
||||
hasWarned = true;
|
||||
|
||||
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> {
|
||||
for (final Class<?> service : Bukkit.getServicesManager().getKnownServices()) {
|
||||
try {
|
||||
service.getField("B_STATS_VERSION"); // Identifies bStats classes
|
||||
|
||||
if (isForcedMetricsClass(service)) {
|
||||
warnForcedMetrics(service);
|
||||
} else {
|
||||
try {
|
||||
service.getDeclaredField("pluginId"); // Only present in recent bStats classes, which should also have the enabled field unless modified
|
||||
} catch (final NoSuchFieldException e) {
|
||||
// Old bStats class found so "enabled" field detection is unreliable.
|
||||
break;
|
||||
}
|
||||
|
||||
try {
|
||||
service.getDeclaredField("enabled"); // In some modified forced metrics classes, this will fail
|
||||
} catch (final NoSuchFieldException e) {
|
||||
warnForcedMetrics(service);
|
||||
}
|
||||
}
|
||||
} catch (final NoSuchFieldException ignored) {
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void warnForcedMetrics(final Class<?> service) {
|
||||
final Plugin servicePlugin = JavaPlugin.getProvidingPlugin(service);
|
||||
plugin.getLogger().severe("WARNING: Potential forced metrics collection by plugin '" + servicePlugin.getName() + "' v" + servicePlugin.getDescription().getVersion());
|
||||
plugin.getLogger().severe("Your server is running a plugin that may not respect bStats' opt-out settings.");
|
||||
plugin.getLogger().severe("This may cause data to be uploaded to bStats.org for plugins that use bStats, even if you've opted out in the bStats config.");
|
||||
plugin.getLogger().severe("Please report this to bStats and to the authors of '" + servicePlugin.getName() + "'. (Offending class: " + service.getName() + ")");
|
||||
}
|
||||
|
||||
private JavaPlugin getProvidingPlugin(final Class<?> clazz) {
|
||||
try {
|
||||
return JavaPlugin.getProvidingPlugin(clazz);
|
||||
} catch (final Exception ignored) {
|
||||
}
|
||||
|
||||
final ClassLoader parent = clazz.getClassLoader().getParent();
|
||||
if (parent.getClass().getName().equals("org.bukkit.plugin.java.PluginClassLoader")) {
|
||||
try {
|
||||
final Field pluginField = parent.getClass().getDeclaredField("plugin");
|
||||
pluginField.setAccessible(true);
|
||||
return (JavaPlugin) pluginField.get(parent);
|
||||
} catch (final Exception ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import com.earth2me.essentials.CommandSource;
|
||||
import com.earth2me.essentials.MetaItemStack;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.FormatUtil;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import net.ess3.api.IEssentials;
|
||||
@@ -60,15 +61,15 @@ public class EssentialsSign {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated, use {@link #isValidSign(IEssentials, ISign)} if possible
|
||||
* @deprecated use {@link #isValidSign(IEssentials, ISign)} if possible
|
||||
*/
|
||||
@Deprecated
|
||||
public static boolean isValidSign(final ISign sign) {
|
||||
return sign.getLine(0).matches("§1\\[.*\\]");
|
||||
return sign.getLine(0).matches("§1\\[.*]");
|
||||
}
|
||||
|
||||
public static boolean isValidSign(final IEssentials ess, final ISign sign) {
|
||||
if (!sign.getLine(0).matches("§1\\[.*\\]"))
|
||||
if (!sign.getLine(0).matches("§1\\[.*]"))
|
||||
return false;
|
||||
|
||||
// Validate that the sign is actually an essentials sign
|
||||
@@ -119,6 +120,7 @@ public class EssentialsSign {
|
||||
} catch (final ChargeException | SignException ex) {
|
||||
showError(ess, user.getSource(), ex, signName);
|
||||
}
|
||||
setOwnerData(ess, user, sign);
|
||||
// Return true, so the player sees the wrong sign.
|
||||
return true;
|
||||
}
|
||||
@@ -154,6 +156,35 @@ public class EssentialsSign {
|
||||
return user.getName().substring(0, Math.min(user.getName().length(), 13));
|
||||
}
|
||||
|
||||
public void setOwner(final IEssentials ess, final User user, final ISign signProvider, final int nameIndex, final String namePrefix) {
|
||||
setOwnerData(ess, user, signProvider);
|
||||
signProvider.setLine(nameIndex, namePrefix + getUsername(user));
|
||||
}
|
||||
|
||||
public void setOwnerData(final IEssentials ess, final User user, final ISign signProvider) {
|
||||
if (ess.getSignDataProvider() == null) {
|
||||
return;
|
||||
}
|
||||
final Sign sign = (Sign) signProvider.getBlock().getState();
|
||||
ess.getSignDataProvider().setSignData(sign, "owner", user.getUUID().toString());
|
||||
}
|
||||
|
||||
public boolean isOwner(final IEssentials ess, final User user, final ISign signProvider, final int nameIndex, final String namePrefix) {
|
||||
final Sign sign = (Sign) signProvider.getBlock().getState();
|
||||
if (ess.getSignDataProvider() == null || ess.getSignDataProvider().getSignData(sign, "owner") == null) {
|
||||
if (ess.getSignDataProvider() != null) {
|
||||
ess.getSignDataProvider().setSignData(sign, "owner", user.getUUID().toString());
|
||||
}
|
||||
return FormatUtil.stripFormat(signProvider.getLine(nameIndex)).equalsIgnoreCase(getUsername(user));
|
||||
}
|
||||
|
||||
if (user.getUUID().toString().equals(ess.getSignDataProvider().getSignData(sign, "owner"))) {
|
||||
signProvider.setLine(nameIndex, namePrefix + getUsername(user));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected final boolean onSignInteract(final Block block, final Player player, final IEssentials ess) {
|
||||
final ISign sign = new BlockSign(block);
|
||||
final User user = ess.getUser(player);
|
||||
@@ -392,7 +423,7 @@ public class EssentialsSign {
|
||||
}
|
||||
|
||||
protected final BigDecimal getMoney(final String line, final IEssentials ess) throws SignException {
|
||||
final boolean isMoney = line.matches("^[^0-9-\\.]?[\\.0-9]+[^0-9-\\.]?$");
|
||||
final boolean isMoney = line.matches("^[^0-9-.]?[.0-9]+[^0-9-.]?$");
|
||||
return isMoney ? getBigDecimalPositive(line, ess) : null;
|
||||
}
|
||||
|
||||
@@ -531,6 +562,7 @@ public class EssentialsSign {
|
||||
@Override
|
||||
public final void setLine(final int index, final String text) {
|
||||
sign.setLine(index, text);
|
||||
updateSign();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.Trade.OverflowType;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.EnumUtil;
|
||||
import com.earth2me.essentials.utils.FormatUtil;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.MaxMoneyException;
|
||||
@@ -123,7 +122,7 @@ public class SignProtection extends EssentialsSign {
|
||||
if (user.isAuthorized("essentials.signs.protection.override")) {
|
||||
return SignProtectionState.OWNER;
|
||||
}
|
||||
if (FormatUtil.stripFormat(sign.getLine(3)).equalsIgnoreCase(username)) {
|
||||
if (isOwner(user.getEssentials(), user, sign, 3, "§1")) {
|
||||
return SignProtectionState.OWNER;
|
||||
}
|
||||
for (int i = 1; i <= 2; i++) {
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.Trade.OverflowType;
|
||||
import com.earth2me.essentials.Trade.TradeType;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.utils.MaterialUtil;
|
||||
import com.earth2me.essentials.utils.NumberUtil;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.MaxMoneyException;
|
||||
@@ -18,7 +19,7 @@ import static com.earth2me.essentials.I18n.tl;
|
||||
|
||||
//TODO: TL exceptions
|
||||
public class SignTrade extends EssentialsSign {
|
||||
private static int MAX_STOCK_LINE_LENGTH = 15;
|
||||
private static final int MAX_STOCK_LINE_LENGTH = 15;
|
||||
|
||||
public SignTrade() {
|
||||
super("Trade");
|
||||
@@ -34,7 +35,7 @@ public class SignTrade extends EssentialsSign {
|
||||
throw new SignException("You cannot trade for the same item type.");
|
||||
}
|
||||
trade.isAffordableFor(player);
|
||||
sign.setLine(3, "§8" + username);
|
||||
setOwner(ess, player, sign, 3, "§8");
|
||||
trade.charge(player);
|
||||
Trade.log("Sign", "Trade", "Create", username, trade, username, null, sign.getBlock().getLocation(), player.getMoney(), ess);
|
||||
return true;
|
||||
@@ -42,7 +43,7 @@ public class SignTrade extends EssentialsSign {
|
||||
|
||||
@Override
|
||||
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException, MaxMoneyException {
|
||||
if (sign.getLine(3).substring(2).equalsIgnoreCase(username)) {
|
||||
if (isOwner(ess, player, sign, 3, "§8")) {
|
||||
final Trade store = rechargeSign(sign, ess, player);
|
||||
final Trade stored;
|
||||
try {
|
||||
@@ -83,7 +84,7 @@ public class SignTrade extends EssentialsSign {
|
||||
|
||||
private Trade rechargeSign(final ISign sign, final IEssentials ess, final User player) throws SignException, ChargeException {
|
||||
final Trade trade = getTrade(sign, 2, AmountType.COST, false, true, ess);
|
||||
if (trade.getItemStack() != null && player.getBase().getItemInHand() != null && trade.getItemStack().getType() == player.getBase().getItemInHand().getType() && trade.getItemStack().getDurability() == player.getBase().getItemInHand().getDurability() && trade.getItemStack().getEnchantments().equals(player.getBase().getItemInHand().getEnchantments())) {
|
||||
if (trade.getItemStack() != null && player.getBase().getItemInHand() != null && trade.getItemStack().getType() == player.getBase().getItemInHand().getType() && MaterialUtil.getDamage(trade.getItemStack()) == MaterialUtil.getDamage(player.getBase().getItemInHand()) && trade.getItemStack().getEnchantments().equals(player.getBase().getItemInHand().getEnchantments())) {
|
||||
final int amount = trade.getItemStack().getAmount();
|
||||
if (player.getBase().getInventory().containsAtLeast(trade.getItemStack(), amount)) {
|
||||
final ItemStack stack = player.getBase().getItemInHand().clone();
|
||||
@@ -101,7 +102,7 @@ public class SignTrade extends EssentialsSign {
|
||||
protected boolean onSignBreak(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, MaxMoneyException {
|
||||
final String signOwner = sign.getLine(3);
|
||||
|
||||
final boolean isOwner = signOwner.length() > 3 && signOwner.substring(2).equalsIgnoreCase(username);
|
||||
final boolean isOwner = isOwner(ess, player, sign, 3, "§8");
|
||||
final boolean canBreak = isOwner || player.isAuthorized("essentials.signs.trade.override");
|
||||
final boolean canCollect = isOwner || player.isAuthorized("essentials.signs.trade.override.collect");
|
||||
|
||||
@@ -115,8 +116,8 @@ public class SignTrade extends EssentialsSign {
|
||||
return true;
|
||||
}
|
||||
|
||||
final Map<Integer, ItemStack> withdraw1 = stored1.pay(player, OverflowType.RETURN);
|
||||
final Map<Integer, ItemStack> withdraw2 = stored2.pay(player, OverflowType.RETURN);
|
||||
final Map<Integer, ItemStack> withdraw1 = stored1.pay(player, OverflowType.DROP);
|
||||
final Map<Integer, ItemStack> withdraw2 = stored2.pay(player, OverflowType.DROP);
|
||||
|
||||
if (withdraw1 == null && withdraw2 == null) {
|
||||
Trade.log("Sign", "Trade", "Break", signOwner.substring(2), stored2, username, stored1, sign.getBlock().getLocation(), player.getMoney(), ess);
|
||||
@@ -205,7 +206,9 @@ public class SignTrade extends EssentialsSign {
|
||||
if (!(split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) && getItemStack(split[1], stackamount, ess).getType() == Material.AIR) {
|
||||
throw new SignException(tl("moreThanZero"));
|
||||
}
|
||||
sign.setLine(index, stackamount + " " + split[1] + ":" + amount);
|
||||
final String newline = stackamount + " " + split[1] + ":" + amount;
|
||||
validateSignLength(newline);
|
||||
sign.setLine(index, newline);
|
||||
return;
|
||||
}
|
||||
throw new SignException(tl("invalidSignLine", index + 1));
|
||||
@@ -235,27 +238,26 @@ public class SignTrade extends EssentialsSign {
|
||||
}
|
||||
|
||||
if (split.length == 3) {
|
||||
final int stackAmount = getIntegerPositive(split[0]);
|
||||
if (split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) {
|
||||
final int stackamount = getIntegerPositive(split[0]);
|
||||
int amount = getInteger(split[2]);
|
||||
if (amountType == AmountType.ROUNDED) {
|
||||
amount -= amount % stackamount;
|
||||
amount -= amount % stackAmount;
|
||||
}
|
||||
if (notEmpty && (amount < 1 || stackamount < 1)) {
|
||||
if (notEmpty && (amount < 1 || stackAmount < 1)) {
|
||||
throw new SignException(tl("tradeSignEmpty"));
|
||||
}
|
||||
return new Trade(amountType == AmountType.COST ? stackamount : amount, ess);
|
||||
return new Trade(amountType == AmountType.COST ? stackAmount : amount, ess);
|
||||
} else {
|
||||
final int stackamount = getIntegerPositive(split[0]);
|
||||
final ItemStack item = getItemStack(split[1], stackamount, allowId, ess);
|
||||
final ItemStack item = getItemStack(split[1], stackAmount, allowId, ess);
|
||||
int amount = getInteger(split[2]);
|
||||
if (amountType == AmountType.ROUNDED) {
|
||||
amount -= amount % stackamount;
|
||||
amount -= amount % stackAmount;
|
||||
}
|
||||
if (notEmpty && (amount < 1 || stackamount < 1 || item.getType() == Material.AIR || amount < stackamount)) {
|
||||
if (notEmpty && (amount < 1 || stackAmount < 1 || item.getType() == Material.AIR || amount < stackAmount)) {
|
||||
throw new SignException(tl("tradeSignEmpty"));
|
||||
}
|
||||
item.setAmount(amountType == AmountType.COST ? stackamount : amount);
|
||||
item.setAmount(amountType == AmountType.COST ? stackAmount : amount);
|
||||
return new Trade(item, ess);
|
||||
}
|
||||
}
|
||||
@@ -334,20 +336,18 @@ public class SignTrade extends EssentialsSign {
|
||||
}
|
||||
|
||||
if (split.length == 3) {
|
||||
final int stackAmount = getIntegerPositive(split[0]);
|
||||
if (split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) {
|
||||
final int stackamount = getIntegerPositive(split[0]);
|
||||
final String newline = stackamount + " " + split[1] + ":" + value.intValueExact();
|
||||
final String newline = stackAmount + " " + split[1] + ":" + value.intValueExact();
|
||||
validateSignLength(newline);
|
||||
sign.setLine(index, newline);
|
||||
return;
|
||||
} else {
|
||||
final int stackamount = getIntegerPositive(split[0]);
|
||||
getItemStack(split[1], stackamount, ess);
|
||||
final String newline = stackamount + " " + split[1] + ":" + value.intValueExact();
|
||||
getItemStack(split[1], stackAmount, ess);
|
||||
final String newline = stackAmount + " " + split[1] + ":" + value.intValueExact();
|
||||
validateSignLength(newline);
|
||||
sign.setLine(index, newline);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
throw new SignException(tl("invalidSignLine", index + 1));
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.earth2me.essentials.updatecheck;
|
||||
|
||||
import com.earth2me.essentials.Essentials;
|
||||
import com.google.common.base.Charsets;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonSyntaxException;
|
||||
@@ -13,6 +12,7 @@ import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -23,6 +23,12 @@ public final class UpdateChecker {
|
||||
private static final String REPO = "EssentialsX/Essentials";
|
||||
private static final String BRANCH = "2.x";
|
||||
|
||||
private static final String LATEST_RELEASE_URL = "https://api.github.com/repos/" + REPO + "/releases/latest";
|
||||
private static final String LATEST_RELEASE_PROXY_URL = "https://webapi.essentialsx.net/api/v1/github/essx-v2/releases/latest";
|
||||
// 0 = base for comparison, 1 = head for comparison - *not* the same as what this class calls them
|
||||
private static final String DISTANCE_URL = "https://api.github.com/repos/EssentialsX/Essentials/compare/{0}...{1}";
|
||||
private static final String DISTANCE_PROXY_URL = "https://webapi.essentialsx.net/api/v1/github/essx-v2/compare/{0}/{1}";
|
||||
|
||||
private final Essentials ess;
|
||||
private final String versionIdentifier;
|
||||
private final String versionBranch;
|
||||
@@ -89,21 +95,19 @@ public final class UpdateChecker {
|
||||
new Thread(() -> {
|
||||
catchBlock:
|
||||
try {
|
||||
final HttpURLConnection connection = (HttpURLConnection) new URL("https://api.github.com/repos/" + REPO + "/releases/latest").openConnection();
|
||||
connection.connect();
|
||||
final HttpURLConnection connection = tryRequestWithFallback(LATEST_RELEASE_URL, LATEST_RELEASE_PROXY_URL);
|
||||
|
||||
if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
|
||||
// Locally built?
|
||||
pendingReleaseFuture.complete(cachedRelease = new RemoteVersion(BranchStatus.UNKNOWN));
|
||||
break catchBlock;
|
||||
}
|
||||
if (connection.getResponseCode() == HttpURLConnection.HTTP_INTERNAL_ERROR) {
|
||||
// Github is down
|
||||
} else if (connection.getResponseCode() == HttpURLConnection.HTTP_INTERNAL_ERROR || connection.getResponseCode() == HttpURLConnection.HTTP_FORBIDDEN) {
|
||||
// GitHub is down or rate limit exceeded
|
||||
pendingReleaseFuture.complete(new RemoteVersion(BranchStatus.ERROR));
|
||||
break catchBlock;
|
||||
}
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charsets.UTF_8))) {
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) {
|
||||
latestRelease = new Gson().fromJson(reader, JsonObject.class).get("tag_name").getAsString();
|
||||
pendingReleaseFuture.complete(cachedRelease = fetchDistance(latestRelease, getVersionIdentifier()));
|
||||
} catch (JsonSyntaxException | NumberFormatException e) {
|
||||
@@ -138,43 +142,64 @@ public final class UpdateChecker {
|
||||
return latestRelease;
|
||||
}
|
||||
|
||||
private HttpURLConnection tryRequestWithFallback(final String githubUrl, final String fallbackUrl) throws IOException {
|
||||
HttpURLConnection connection = (HttpURLConnection) new URL(githubUrl).openConnection();
|
||||
try {
|
||||
connection.connect();
|
||||
if (connection.getResponseCode() != HttpURLConnection.HTTP_INTERNAL_ERROR && connection.getResponseCode() != HttpURLConnection.HTTP_FORBIDDEN) {
|
||||
// Connection succeeded without any errors from GitHub's side.
|
||||
return connection;
|
||||
}
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
|
||||
// Connection failed, GitHub's down or we hit a ratelimit, so use the fallback URL
|
||||
// If the fallback fails, let the exception or error status bubble up
|
||||
connection = (HttpURLConnection) new URL(fallbackUrl).openConnection();
|
||||
connection.connect();
|
||||
|
||||
return connection;
|
||||
}
|
||||
|
||||
private RemoteVersion tryProcessDistance(final HttpURLConnection connection) throws IOException {
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) {
|
||||
final JsonObject obj = new Gson().fromJson(reader, JsonObject.class);
|
||||
switch (obj.get("status").getAsString()) {
|
||||
case "identical": {
|
||||
return new RemoteVersion(BranchStatus.IDENTICAL, 0);
|
||||
}
|
||||
case "ahead": {
|
||||
return new RemoteVersion(BranchStatus.AHEAD, 0);
|
||||
}
|
||||
case "behind": {
|
||||
return new RemoteVersion(BranchStatus.BEHIND, obj.get("behind_by").getAsInt());
|
||||
}
|
||||
case "diverged": {
|
||||
return new RemoteVersion(BranchStatus.DIVERGED, obj.get("behind_by").getAsInt());
|
||||
}
|
||||
default: {
|
||||
return new RemoteVersion(BranchStatus.UNKNOWN);
|
||||
}
|
||||
}
|
||||
} catch (JsonSyntaxException | NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
return new RemoteVersion(BranchStatus.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
private RemoteVersion fetchDistance(final String head, final String hash) {
|
||||
try {
|
||||
final HttpURLConnection connection = (HttpURLConnection) new URL("https://api.github.com/repos/" + REPO + "/compare/" + head + "..." + hash).openConnection();
|
||||
connection.connect();
|
||||
final HttpURLConnection connection = tryRequestWithFallback(MessageFormat.format(DISTANCE_URL, head, hash), MessageFormat.format(DISTANCE_PROXY_URL, head, hash));
|
||||
|
||||
if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
|
||||
// Locally built?
|
||||
return new RemoteVersion(BranchStatus.UNKNOWN);
|
||||
}
|
||||
if (connection.getResponseCode() == HttpURLConnection.HTTP_INTERNAL_ERROR) {
|
||||
// Github is down
|
||||
} else if (connection.getResponseCode() == HttpURLConnection.HTTP_INTERNAL_ERROR || connection.getResponseCode() == HttpURLConnection.HTTP_FORBIDDEN) {
|
||||
// GitHub is down or we hit a local rate limit
|
||||
return new RemoteVersion(BranchStatus.ERROR);
|
||||
}
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charsets.UTF_8))) {
|
||||
final JsonObject obj = new Gson().fromJson(reader, JsonObject.class);
|
||||
switch (obj.get("status").getAsString()) {
|
||||
case "identical": {
|
||||
return new RemoteVersion(BranchStatus.IDENTICAL, 0);
|
||||
}
|
||||
case "ahead": {
|
||||
return new RemoteVersion(BranchStatus.AHEAD, 0);
|
||||
}
|
||||
case "behind": {
|
||||
return new RemoteVersion(BranchStatus.BEHIND, obj.get("behind_by").getAsInt());
|
||||
}
|
||||
case "diverged": {
|
||||
return new RemoteVersion(BranchStatus.DIVERGED, obj.get("behind_by").getAsInt());
|
||||
}
|
||||
default: {
|
||||
return new RemoteVersion(BranchStatus.UNKNOWN);
|
||||
}
|
||||
}
|
||||
} catch (JsonSyntaxException | NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
return new RemoteVersion(BranchStatus.ERROR);
|
||||
}
|
||||
return tryProcessDistance(connection);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return new RemoteVersion(BranchStatus.ERROR);
|
||||
|
||||
@@ -30,6 +30,7 @@ public final class LocationUtil {
|
||||
private static final Set<Material> LAVA_TYPES = EnumUtil.getAllMatching(Material.class,
|
||||
"FLOWING_LAVA", "LAVA", "STATIONARY_LAVA");
|
||||
private static final Material PORTAL = EnumUtil.getMaterial("NETHER_PORTAL", "PORTAL");
|
||||
private static final Material LIGHT = EnumUtil.getMaterial("LIGHT");
|
||||
// The player can stand inside these materials
|
||||
private static final Set<Material> HOLLOW_MATERIALS = EnumSet.noneOf(Material.class);
|
||||
private static final Set<Material> TRANSPARENT_MATERIALS = EnumSet.noneOf(Material.class);
|
||||
@@ -47,6 +48,11 @@ public final class LocationUtil {
|
||||
|
||||
// Barrier is transparent, but solid
|
||||
HOLLOW_MATERIALS.remove(Material.BARRIER);
|
||||
|
||||
// Light blocks can be passed through and are not considered transparent for some reason
|
||||
if (LIGHT != null) {
|
||||
HOLLOW_MATERIALS.add(LIGHT);
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
@@ -78,9 +84,13 @@ public final class LocationUtil {
|
||||
}
|
||||
|
||||
public static Location getTarget(final LivingEntity entity) throws Exception {
|
||||
return getTarget(entity, 300);
|
||||
}
|
||||
|
||||
public static Location getTarget(final LivingEntity entity, final int maxDistance) throws Exception {
|
||||
Block block = null;
|
||||
try {
|
||||
block = entity.getTargetBlock(TRANSPARENT_MATERIALS, 300);
|
||||
block = entity.getTargetBlock(TRANSPARENT_MATERIALS, maxDistance);
|
||||
} catch (final NoSuchMethodError ignored) {
|
||||
} // failing now :(
|
||||
if (block == null) {
|
||||
@@ -89,8 +99,8 @@ public final class LocationUtil {
|
||||
return block.getLocation();
|
||||
}
|
||||
|
||||
public static boolean isBlockAboveAir(final World world, final int x, final int y, final int z) {
|
||||
return y > world.getMaxHeight() || HOLLOW_MATERIALS.contains(world.getBlockAt(x, y - 1, z).getType());
|
||||
public static boolean isBlockAboveAir(IEssentials ess, final World world, final int x, final int y, final int z) {
|
||||
return y > ess.getWorldInfoProvider().getMaxHeight(world) || HOLLOW_MATERIALS.contains(world.getBlockAt(x, y - 1, z).getType());
|
||||
}
|
||||
|
||||
public static boolean isBlockOutsideWorldBorder(final World world, final int x, final int z) {
|
||||
@@ -125,7 +135,7 @@ public final class LocationUtil {
|
||||
return z;
|
||||
}
|
||||
|
||||
public static boolean isBlockUnsafeForUser(final IUser user, final World world, final int x, final int y, final int z) {
|
||||
public static boolean isBlockUnsafeForUser(IEssentials ess, final IUser user, final World world, final int x, final int y, final int z) {
|
||||
if (user.getBase().isOnline() && world.equals(user.getBase().getWorld()) && (user.getBase().getGameMode() == GameMode.CREATIVE || user.getBase().getGameMode() == GameMode.SPECTATOR || user.isGodModeEnabled()) && user.getBase().getAllowFlight()) {
|
||||
return false;
|
||||
}
|
||||
@@ -133,14 +143,14 @@ public final class LocationUtil {
|
||||
if (isBlockDamaging(world, x, y, z)) {
|
||||
return true;
|
||||
}
|
||||
if (isBlockAboveAir(world, x, y, z)) {
|
||||
if (isBlockAboveAir(ess, world, x, y, z)) {
|
||||
return true;
|
||||
}
|
||||
return isBlockOutsideWorldBorder(world, x, z);
|
||||
}
|
||||
|
||||
public static boolean isBlockUnsafe(final World world, final int x, final int y, final int z) {
|
||||
return isBlockDamaging(world, x, y, z) || isBlockAboveAir(world, x, y, z);
|
||||
public static boolean isBlockUnsafe(IEssentials ess, final World world, final int x, final int y, final int z) {
|
||||
return isBlockDamaging(world, x, y, z) || isBlockAboveAir(ess, world, x, y, z);
|
||||
}
|
||||
|
||||
public static boolean isBlockDamaging(final World world, final int x, final int y, final int z) {
|
||||
@@ -178,7 +188,7 @@ public final class LocationUtil {
|
||||
|
||||
public static Location getSafeDestination(final IEssentials ess, final IUser user, final Location loc) throws Exception {
|
||||
if (user.getBase().isOnline() && (ess == null || !ess.getSettings().isAlwaysTeleportSafety()) && (user.getBase().getGameMode() == GameMode.CREATIVE || user.getBase().getGameMode() == GameMode.SPECTATOR || user.isGodModeEnabled())) {
|
||||
if (shouldFly(loc) && user.getBase().getAllowFlight()) {
|
||||
if (shouldFly(ess, loc) && user.getBase().getAllowFlight()) {
|
||||
user.getBase().setFlying(true);
|
||||
}
|
||||
// ess can be null if old deprecated method is calling it.
|
||||
@@ -188,14 +198,17 @@ public final class LocationUtil {
|
||||
return loc;
|
||||
}
|
||||
}
|
||||
return getSafeDestination(loc);
|
||||
return getSafeDestination(ess, loc);
|
||||
}
|
||||
|
||||
public static Location getSafeDestination(final Location loc) throws Exception {
|
||||
public static Location getSafeDestination(IEssentials ess, final Location loc) throws Exception {
|
||||
if (loc == null || loc.getWorld() == null) {
|
||||
throw new Exception(tl("destinationNotSet"));
|
||||
}
|
||||
final World world = loc.getWorld();
|
||||
final int worldMinY = ess.getWorldInfoProvider().getMinHeight(world);
|
||||
final int worldLogicalY = ess.getWorldInfoProvider().getLogicalHeight(world);
|
||||
final int worldMaxY = loc.getBlockY() < worldLogicalY ? worldLogicalY : ess.getWorldInfoProvider().getMaxHeight(world);
|
||||
int x = loc.getBlockX();
|
||||
int y = (int) Math.round(loc.getY());
|
||||
int z = loc.getBlockZ();
|
||||
@@ -206,42 +219,43 @@ public final class LocationUtil {
|
||||
final int origX = x;
|
||||
final int origY = y;
|
||||
final int origZ = z;
|
||||
while (isBlockAboveAir(world, x, y, z)) {
|
||||
while (isBlockAboveAir(ess, world, x, y, z)) {
|
||||
y -= 1;
|
||||
if (y < 0) {
|
||||
y = origY;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isBlockUnsafe(world, x, y, z)) {
|
||||
if (isBlockUnsafe(ess, world, x, y, z)) {
|
||||
x = Math.round(loc.getX()) == origX ? x - 1 : x + 1;
|
||||
z = Math.round(loc.getZ()) == origZ ? z - 1 : z + 1;
|
||||
}
|
||||
int i = 0;
|
||||
while (isBlockUnsafe(world, x, y, z)) {
|
||||
while (isBlockUnsafe(ess, world, x, y, z)) {
|
||||
i++;
|
||||
if (i >= VOLUME.length) {
|
||||
x = origX;
|
||||
y = origY + RADIUS;
|
||||
y = NumberUtil.constrainToRange(origY + RADIUS, worldMinY, worldMaxY);
|
||||
z = origZ;
|
||||
break;
|
||||
}
|
||||
x = origX + VOLUME[i].x;
|
||||
y = origY + VOLUME[i].y;
|
||||
y = NumberUtil.constrainToRange(origY + VOLUME[i].y, worldMinY, worldMaxY);
|
||||
z = origZ + VOLUME[i].z;
|
||||
}
|
||||
while (isBlockUnsafe(world, x, y, z)) {
|
||||
while (isBlockUnsafe(ess, world, x, y, z)) {
|
||||
y += 1;
|
||||
if (y >= world.getMaxHeight()) {
|
||||
if (y >= worldMaxY) {
|
||||
x += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (isBlockUnsafe(world, x, y, z)) {
|
||||
while (isBlockUnsafe(ess, world, x, y, z)) {
|
||||
y -= 1;
|
||||
if (y <= 1) {
|
||||
if (y <= worldMinY + 1) {
|
||||
x += 1;
|
||||
y = world.getHighestBlockYAt(x, z);
|
||||
// Allow spawning at the top of the world, but not above the nether roof
|
||||
y = Math.min(world.getHighestBlockYAt(x, z) + 1, worldMaxY);
|
||||
if (x - 48 > loc.getBlockX()) {
|
||||
throw new Exception(tl("holeInFloor"));
|
||||
}
|
||||
@@ -250,13 +264,14 @@ public final class LocationUtil {
|
||||
return new Location(world, x + 0.5, y, z + 0.5, loc.getYaw(), loc.getPitch());
|
||||
}
|
||||
|
||||
public static boolean shouldFly(final Location loc) {
|
||||
public static boolean shouldFly(IEssentials ess, final Location loc) {
|
||||
final World world = loc.getWorld();
|
||||
final int x = loc.getBlockX();
|
||||
int y = (int) Math.round(loc.getY());
|
||||
final int z = loc.getBlockZ();
|
||||
int count = 0;
|
||||
while (LocationUtil.isBlockUnsafe(world, x, y, z) && y > -1) {
|
||||
// Check whether more than 2 unsafe block are below player.
|
||||
while (LocationUtil.isBlockUnsafe(ess, world, x, y, z) && y >= ess.getWorldInfoProvider().getMinHeight(world)) {
|
||||
y--;
|
||||
count++;
|
||||
if (count > 2) {
|
||||
@@ -264,7 +279,8 @@ public final class LocationUtil {
|
||||
}
|
||||
}
|
||||
|
||||
return y < 0;
|
||||
// If not then check if player is in the void
|
||||
return y < ess.getWorldInfoProvider().getMinHeight(world);
|
||||
}
|
||||
|
||||
public static class Vector3D {
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.earth2me.essentials.utils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.material.MaterialData;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
@@ -11,7 +13,6 @@ import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
public final class MaterialUtil {
|
||||
|
||||
public static final Material SPAWNER = EnumUtil.getMaterial("MOB_SPAWNER", "SPAWNER");
|
||||
private static final Set<Material> BEDS;
|
||||
private static final Set<Material> BANNERS;
|
||||
@@ -129,20 +130,12 @@ public final class MaterialUtil {
|
||||
return LEATHER_ARMOR.contains(material);
|
||||
}
|
||||
|
||||
public static boolean isMobHead(final Material material, final int durability) {
|
||||
if (MOB_HEADS.contains(material)) {
|
||||
public static boolean isPlayerHead(final ItemStack stack) {
|
||||
if (PLAYER_HEADS.contains(stack.getType())) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return LEGACY_SKULLS.contains(material) && (durability != 3);
|
||||
}
|
||||
|
||||
public static boolean isPlayerHead(final Material material, final int durability) {
|
||||
if (PLAYER_HEADS.contains(material)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return LEGACY_SKULLS.contains(material) && durability == 3;
|
||||
return VersionUtil.PRE_FLATTENING && LEGACY_SKULLS.contains(stack.getType()) && stack.getDurability() == 3;
|
||||
}
|
||||
|
||||
public static boolean isPotion(final Material material) {
|
||||
@@ -166,13 +159,35 @@ public final class MaterialUtil {
|
||||
}
|
||||
|
||||
public static boolean isSkull(final Material material) {
|
||||
return isPlayerHead(material, -1) || isMobHead(material, -1);
|
||||
return PLAYER_HEADS.contains(material) || LEGACY_SKULLS.contains(material);
|
||||
}
|
||||
|
||||
public static boolean isAir(final Material material) {
|
||||
return material == Material.AIR || (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_14_4_R01) && material.isAir());
|
||||
}
|
||||
|
||||
public static int getDamage(final ItemStack stack) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
return stack.getDurability();
|
||||
}
|
||||
if (stack.getItemMeta() instanceof Damageable) {
|
||||
return ((Damageable) stack.getItemMeta()).getDamage();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static void setDamage(final ItemStack stack, final int damage) {
|
||||
if (VersionUtil.PRE_FLATTENING) {
|
||||
stack.setDurability((short) damage);
|
||||
} else {
|
||||
if (stack.getItemMeta() instanceof Damageable) {
|
||||
final Damageable damageable = (Damageable) stack.getItemMeta();
|
||||
damageable.setDamage(damage);
|
||||
stack.setItemMeta(damageable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Material convertFromLegacy(final int id, final byte damage) {
|
||||
for (final Material material : EnumSet.allOf(Material.class)) {
|
||||
if (material.getId() == id) {
|
||||
|
||||
@@ -104,10 +104,26 @@ public final class NumberUtil {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean isLong(final String sLong) {
|
||||
try {
|
||||
Long.parseLong(sLong);
|
||||
} catch (final NumberFormatException e) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean isPositiveInt(final String sInt) {
|
||||
if (!isInt(sInt)) {
|
||||
return false;
|
||||
}
|
||||
return Integer.parseInt(sInt) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Backport from Guava.
|
||||
*/
|
||||
public static int constrainToRange(int value, int min, int max) {
|
||||
return Math.min(Math.max(value, min), max);
|
||||
}
|
||||
}
|
||||
@@ -34,8 +34,11 @@ public final class VersionUtil {
|
||||
public static final BukkitVersion v1_16_5_R01 = BukkitVersion.fromString("1.16.5-R0.1-SNAPSHOT");
|
||||
public static final BukkitVersion v1_17_R01 = BukkitVersion.fromString("1.17-R0.1-SNAPSHOT");
|
||||
public static final BukkitVersion v1_17_1_R01 = BukkitVersion.fromString("1.17.1-R0.1-SNAPSHOT");
|
||||
public static final BukkitVersion v1_18_2_R01 = BukkitVersion.fromString("1.18.2-R0.1-SNAPSHOT");
|
||||
|
||||
private static final Set<BukkitVersion> supportedVersions = ImmutableSet.of(v1_8_8_R01, v1_9_4_R01, v1_10_2_R01, v1_11_2_R01, v1_12_2_R01, v1_13_2_R01, v1_14_4_R01, v1_15_2_R01, v1_16_5_R01, v1_17_1_R01);
|
||||
private static final Set<BukkitVersion> supportedVersions = ImmutableSet.of(v1_8_8_R01, v1_9_4_R01, v1_10_2_R01, v1_11_2_R01, v1_12_2_R01, v1_13_2_R01, v1_14_4_R01, v1_15_2_R01, v1_16_5_R01, v1_17_1_R01, v1_18_2_R01);
|
||||
|
||||
public static final boolean PRE_FLATTENING = VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01);
|
||||
|
||||
private static final Map<String, SupportStatus> unsupportedServerClasses;
|
||||
|
||||
@@ -158,20 +161,22 @@ public final class VersionUtil {
|
||||
}
|
||||
|
||||
public static final class BukkitVersion implements Comparable<BukkitVersion> {
|
||||
private static final Pattern VERSION_PATTERN = Pattern.compile("^(\\d+)\\.(\\d+)\\.?([0-9]*)?(?:-pre(\\d))?(?:-?R?([\\d.]+))?(?:-SNAPSHOT)?");
|
||||
private static final Pattern VERSION_PATTERN = Pattern.compile("^(\\d+)\\.(\\d+)\\.?([0-9]*)?(?:-pre(\\d))?(?:-rc(\\d+))?(?:-?R?([\\d.]+))?(?:-SNAPSHOT)?");
|
||||
|
||||
private final int major;
|
||||
private final int minor;
|
||||
private final int prerelease;
|
||||
private final int preRelease;
|
||||
private final int releaseCandidate;
|
||||
private final int patch;
|
||||
private final double revision;
|
||||
|
||||
private BukkitVersion(final int major, final int minor, final int patch, final double revision, final int prerelease) {
|
||||
private BukkitVersion(final int major, final int minor, final int patch, final double revision, final int preRelease, final int releaseCandidate) {
|
||||
this.major = major;
|
||||
this.minor = minor;
|
||||
this.patch = patch;
|
||||
this.revision = revision;
|
||||
this.prerelease = prerelease;
|
||||
this.preRelease = preRelease;
|
||||
this.releaseCandidate = releaseCandidate;
|
||||
}
|
||||
|
||||
public static BukkitVersion fromString(final String string) {
|
||||
@@ -185,18 +190,20 @@ public final class VersionUtil {
|
||||
Preconditions.checkArgument(matcher.matches(), string + " is not in valid version format. e.g. 1.8.8-R0.1");
|
||||
}
|
||||
|
||||
return from(matcher.group(1), matcher.group(2), matcher.group(3), matcher.groupCount() < 5 ? "" : matcher.group(5), matcher.group(4));
|
||||
return from(matcher.group(1), matcher.group(2), matcher.group(3), matcher.group(6), matcher.group(4), matcher.group(5));
|
||||
}
|
||||
|
||||
private static BukkitVersion from(final String major, final String minor, String patch, String revision, String prerelease) {
|
||||
private static BukkitVersion from(final String major, final String minor, String patch, String revision, String preRelease, String releaseCandidate) {
|
||||
if (patch == null || patch.isEmpty()) patch = "0";
|
||||
if (revision == null || revision.isEmpty()) revision = "0";
|
||||
if (prerelease == null || prerelease.isEmpty()) prerelease = "-1";
|
||||
if (preRelease == null || preRelease.isEmpty()) preRelease = "-1";
|
||||
if (releaseCandidate == null || releaseCandidate.isEmpty()) releaseCandidate = "-1";
|
||||
return new BukkitVersion(Integer.parseInt(major),
|
||||
Integer.parseInt(minor),
|
||||
Integer.parseInt(patch),
|
||||
Double.parseDouble(revision),
|
||||
Integer.parseInt(prerelease));
|
||||
Integer.parseInt(preRelease),
|
||||
Integer.parseInt(releaseCandidate));
|
||||
}
|
||||
|
||||
public boolean isHigherThan(final BukkitVersion o) {
|
||||
@@ -232,7 +239,11 @@ public final class VersionUtil {
|
||||
}
|
||||
|
||||
public int getPrerelease() {
|
||||
return prerelease;
|
||||
return preRelease;
|
||||
}
|
||||
|
||||
public int getReleaseCandidate() {
|
||||
return releaseCandidate;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -248,12 +259,12 @@ public final class VersionUtil {
|
||||
minor == that.minor &&
|
||||
patch == that.patch &&
|
||||
revision == that.revision &&
|
||||
prerelease == that.prerelease;
|
||||
preRelease == that.preRelease;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(major, minor, patch, revision, prerelease);
|
||||
return Objects.hashCode(major, minor, patch, revision, preRelease, releaseCandidate);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -262,8 +273,11 @@ public final class VersionUtil {
|
||||
if (patch != 0) {
|
||||
sb.append(".").append(patch);
|
||||
}
|
||||
if (prerelease != -1) {
|
||||
sb.append("-pre").append(prerelease);
|
||||
if (preRelease != -1) {
|
||||
sb.append("-pre").append(preRelease);
|
||||
}
|
||||
if (releaseCandidate != -1) {
|
||||
sb.append("-rc").append(releaseCandidate);
|
||||
}
|
||||
return sb.append("-R").append(revision).toString();
|
||||
}
|
||||
@@ -285,12 +299,18 @@ public final class VersionUtil {
|
||||
} else if (patch > o.patch) {
|
||||
return 1;
|
||||
} else { // equal patch
|
||||
if (prerelease < o.prerelease) {
|
||||
if (preRelease < o.preRelease) {
|
||||
return -1;
|
||||
} else if (prerelease > o.prerelease) {
|
||||
} else if (preRelease > o.preRelease) {
|
||||
return 1;
|
||||
} else { // equal prerelease
|
||||
return Double.compare(revision, o.revision);
|
||||
if (releaseCandidate < o.releaseCandidate) {
|
||||
return -1;
|
||||
} else if (releaseCandidate > o.releaseCandidate) {
|
||||
return 1;
|
||||
} else { // equal release candidate
|
||||
return Double.compare(revision, o.revision);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
package net.essentialsx.api.v2.events;
|
||||
|
||||
import com.earth2me.essentials.IUser;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
/**
|
||||
* Called when a player accepts or denies a teleport.
|
||||
*/
|
||||
public class TeleportRequestResponseEvent extends Event implements Cancellable {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
private final net.ess3.api.IUser requestee;
|
||||
private final net.ess3.api.IUser requester;
|
||||
private final IUser.TpaRequest tpaRequest;
|
||||
private final boolean accept;
|
||||
private boolean canceled = false;
|
||||
|
||||
public TeleportRequestResponseEvent(net.ess3.api.IUser requestee, net.ess3.api.IUser requester, IUser.TpaRequest tpaRequest, boolean accept) {
|
||||
this.requestee = requestee;
|
||||
this.requester = requester;
|
||||
this.tpaRequest = tpaRequest;
|
||||
this.accept = accept;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the user who is accepting/denying this teleport request.
|
||||
* @return the user accepting/denying the request.
|
||||
*/
|
||||
public net.ess3.api.IUser getRequestee() {
|
||||
return requestee;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the user who submitted this teleport request.
|
||||
* @return the user who sent the request.
|
||||
*/
|
||||
public net.ess3.api.IUser getRequester() {
|
||||
return requester;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets information about this teleport request.
|
||||
* @return the {@link com.earth2me.essentials.IUser.TpaRequest} object of this event.
|
||||
*/
|
||||
public IUser.TpaRequest getTpaRequest() {
|
||||
return tpaRequest;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the request has been accepted.
|
||||
* @return true if accepted, false if denied.
|
||||
*/
|
||||
public boolean isAccept() {
|
||||
return accept;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the request has been denied.
|
||||
* @return true if denied, false if accepted.
|
||||
*/
|
||||
public boolean isDeny() {
|
||||
return !isAccept();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return canceled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether or not to cancel this teleport request.
|
||||
* Note that cancelling this event will not show a message to users about the cancellation.
|
||||
* @param cancel whether or not to cancel this teleport request.
|
||||
*/
|
||||
@Override
|
||||
public void setCancelled(boolean cancel) {
|
||||
this.canceled = cancel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package net.essentialsx.api.v2.events;
|
||||
|
||||
import net.ess3.api.IUser;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* Called when a user runs the /me command.
|
||||
*/
|
||||
public class UserActionEvent extends Event {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
private final IUser user;
|
||||
private final String message;
|
||||
private final Collection<Player> recipients;
|
||||
|
||||
public UserActionEvent(IUser user, String message, Collection<Player> recipients) {
|
||||
this.user = user;
|
||||
this.message = message;
|
||||
this.recipients = recipients;
|
||||
}
|
||||
|
||||
public IUser getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public Collection<Player> getRecipients() {
|
||||
return recipients;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ public class WarpModifyEvent extends Event implements Cancellable {
|
||||
/**
|
||||
* @param user the {@link IUser} who is modifing the warp.
|
||||
* @param warpName the name of the warp that's being altered.
|
||||
* @param oldLocation the old location before being modified. Null if {@link WarpModifyCause#CREATE}.
|
||||
* @param oldLocation the old location before being modified. Null if {@link WarpModifyCause#CREATE} or if the previous location's world is not loaded.
|
||||
* @param newLocation the new location after being modified. Null if {@link WarpModifyCause#DELETE}.
|
||||
* @param cause the cause of change.
|
||||
*/
|
||||
@@ -58,7 +58,7 @@ public class WarpModifyEvent extends Event implements Cancellable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current location of the warp or null if it's being created.
|
||||
* Gets the current location of the warp or null if it's being created or if the previous location's world is not loaded.
|
||||
* @return The warps new location or null.
|
||||
*/
|
||||
public Location getOldLocation() {
|
||||
|
||||
@@ -593,6 +593,9 @@ repair-enchanted: true
|
||||
# Warning: Mixing and overleveling some enchantments can cause issues with clients, servers and plugins.
|
||||
unsafe-enchantments: false
|
||||
|
||||
# The maximum range from the player that the /tree and /bigtree commands can spawn trees.
|
||||
tree-command-range-limit: 300
|
||||
|
||||
#Do you want Essentials to keep track of previous location for /back in the teleport listener?
|
||||
#If you set this to true any plugin that uses teleport will have the previous location registered.
|
||||
register-back-in-listener: false
|
||||
@@ -698,6 +701,11 @@ jail-online-time: false
|
||||
# Set to 0 for no timeout.
|
||||
tpa-accept-cancellation: 120
|
||||
|
||||
# The maximum number of simultaneous tpa requests that can be pending for any player.
|
||||
# Once past this threshold, old requests will instantly time out.
|
||||
# Defaults to 5.
|
||||
tpa-max-requests: 5
|
||||
|
||||
# Allow players to set hats by clicking on their helmet slot.
|
||||
allow-direct-hat: true
|
||||
|
||||
@@ -913,6 +921,15 @@ chat:
|
||||
# plots: "&dP&r"
|
||||
# creative: "&eC&r"
|
||||
|
||||
# Whether players should be placed into shout mode by default.
|
||||
shout-default: false
|
||||
|
||||
# Whether a player's shout mode should persist restarts.
|
||||
persist-shout: false
|
||||
|
||||
# Whether chat questions should be enabled or not.
|
||||
question-enabled: true
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsX Protect | #
|
||||
|
||||
@@ -19293,6 +19293,96 @@
|
||||
"pinkrecord": "music_disc_mellohi",
|
||||
"pirecord": "music_disc_mellohi",
|
||||
"record7": "music_disc_mellohi",
|
||||
"music_disc_otherside": {
|
||||
"material": "MUSIC_DISC_OTHERSIDE"
|
||||
},
|
||||
"15cd": "music_disc_otherside",
|
||||
"15disc": "music_disc_otherside",
|
||||
"15disk": "music_disc_otherside",
|
||||
"15mcd": "music_disc_otherside",
|
||||
"15mdisc": "music_disc_otherside",
|
||||
"15mdisk": "music_disc_otherside",
|
||||
"15mrecord": "music_disc_otherside",
|
||||
"15musiccd": "music_disc_otherside",
|
||||
"15musicdisc": "music_disc_otherside",
|
||||
"15musicdisk": "music_disc_otherside",
|
||||
"15musicrecord": "music_disc_otherside",
|
||||
"15record": "music_disc_otherside",
|
||||
"cavecd": "music_disc_otherside",
|
||||
"cavedisc": "music_disc_otherside",
|
||||
"cavedisk": "music_disc_otherside",
|
||||
"cavemcd": "music_disc_otherside",
|
||||
"cavemdisc": "music_disc_otherside",
|
||||
"cavemdisk": "music_disc_otherside",
|
||||
"cavemrecord": "music_disc_otherside",
|
||||
"cavemusiccd": "music_disc_otherside",
|
||||
"cavemusicdisc": "music_disc_otherside",
|
||||
"cavemusicdisk": "music_disc_otherside",
|
||||
"cavemusicrecord": "music_disc_otherside",
|
||||
"caverecord": "music_disc_otherside",
|
||||
"cd15": "music_disc_otherside",
|
||||
"deepcd2": "music_disc_otherside",
|
||||
"deepdisc2": "music_disc_otherside",
|
||||
"deepdisk2": "music_disc_otherside",
|
||||
"deepmcd2": "music_disc_otherside",
|
||||
"deepmdisc2": "music_disc_otherside",
|
||||
"deepmdisk2": "music_disc_otherside",
|
||||
"deepmrecord2": "music_disc_otherside",
|
||||
"deepmusiccd2": "music_disc_otherside",
|
||||
"deepmusicdisc2": "music_disc_otherside",
|
||||
"deepmusicdisk2": "music_disc_otherside",
|
||||
"deepmusicrecord2": "music_disc_otherside",
|
||||
"deeprecord2": "music_disc_otherside",
|
||||
"disc15": "music_disc_otherside",
|
||||
"disk15": "music_disc_otherside",
|
||||
"lenaraineisstillawesome": "music_disc_otherside",
|
||||
"mcd15": "music_disc_otherside",
|
||||
"mdisc15": "music_disc_otherside",
|
||||
"mdisk15": "music_disc_otherside",
|
||||
"minecraft:music_disc_otherside": "music_disc_otherside",
|
||||
"mrecord15": "music_disc_otherside",
|
||||
"musiccd15": "music_disc_otherside",
|
||||
"musicdisc15": "music_disc_otherside",
|
||||
"musicdiscotherside": "music_disc_otherside",
|
||||
"musicdisk15": "music_disc_otherside",
|
||||
"musicrecord15": "music_disc_otherside",
|
||||
"othercd": "music_disc_otherside",
|
||||
"otherdisc": "music_disc_otherside",
|
||||
"otherdisk": "music_disc_otherside",
|
||||
"othermcd": "music_disc_otherside",
|
||||
"othermdisc": "music_disc_otherside",
|
||||
"othermdisk": "music_disc_otherside",
|
||||
"othermrecord": "music_disc_otherside",
|
||||
"othermusiccd": "music_disc_otherside",
|
||||
"othermusicdisc": "music_disc_otherside",
|
||||
"othermusicdisk": "music_disc_otherside",
|
||||
"othermusicrecord": "music_disc_otherside",
|
||||
"otherrecord": "music_disc_otherside",
|
||||
"othersidecd": "music_disc_otherside",
|
||||
"othersidedisc": "music_disc_otherside",
|
||||
"othersidedisk": "music_disc_otherside",
|
||||
"othersidemcd": "music_disc_otherside",
|
||||
"othersidemdisc": "music_disc_otherside",
|
||||
"othersidemdisk": "music_disc_otherside",
|
||||
"othersidemrecord": "music_disc_otherside",
|
||||
"othersidemusiccd": "music_disc_otherside",
|
||||
"othersidemusicdisc": "music_disc_otherside",
|
||||
"othersidemusicdisk": "music_disc_otherside",
|
||||
"othersidemusicrecord": "music_disc_otherside",
|
||||
"othersiderecord": "music_disc_otherside",
|
||||
"record15": "music_disc_otherside",
|
||||
"undercd": "music_disc_otherside",
|
||||
"underdisc": "music_disc_otherside",
|
||||
"underdisk": "music_disc_otherside",
|
||||
"undermcd": "music_disc_otherside",
|
||||
"undermdisc": "music_disc_otherside",
|
||||
"undermdisk": "music_disc_otherside",
|
||||
"undermrecord": "music_disc_otherside",
|
||||
"undermusiccd": "music_disc_otherside",
|
||||
"undermusicdisc": "music_disc_otherside",
|
||||
"undermusicdisk": "music_disc_otherside",
|
||||
"undermusicrecord": "music_disc_otherside",
|
||||
"underrecord": "music_disc_otherside",
|
||||
"music_disc_pigstep": {
|
||||
"material": "MUSIC_DISC_PIGSTEP"
|
||||
},
|
||||
@@ -19323,6 +19413,7 @@
|
||||
"darkrecord": "music_disc_pigstep",
|
||||
"disc14": "music_disc_pigstep",
|
||||
"disk14": "music_disc_pigstep",
|
||||
"lenaraineisawesome": "music_disc_pigstep",
|
||||
"mcd14": "music_disc_pigstep",
|
||||
"mdisc14": "music_disc_pigstep",
|
||||
"mdisk14": "music_disc_pigstep",
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
# {PLAYER} will show the player's displayname instead of username.
|
||||
# 'delay' refers to the cooldown between how often you can use each kit, measured in seconds.
|
||||
# Set delay to -1 for a one time kit.
|
||||
#
|
||||
# In addition, you can also organize your kits into separate files under the `kits` subdirectory.
|
||||
# Essentials will treat all .yml files in the `kits` subdirectory as kits files, and will add any kits from those files along with the kits in `kits.yml`.
|
||||
# Any file in the `kits` subdirectory must be formatted in the same way as this file. This allows you to define multiple kits in each file.
|
||||
# For more information, visit http://wiki.ess3.net/wiki/Kits
|
||||
kits:
|
||||
tools:
|
||||
|
||||
@@ -126,7 +126,7 @@ cantReadGeoIpDB=Failed to read GeoIP database\!
|
||||
cantSpawnItem=\u00a74You are not allowed to spawn the item\u00a7c {0}\u00a74.
|
||||
cartographytableCommandDescription=Opens up a cartography table.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeLocal=\u00a73[L]
|
||||
chatTypeSpy=[Spy]
|
||||
cleaned=Userfiles Cleaned.
|
||||
cleaning=Cleaning userfiles.
|
||||
@@ -233,6 +233,18 @@ destinationNotSet=Destination not set\!
|
||||
disabled=disabled
|
||||
disabledToSpawnMob=\u00a74Spawning this mob was disabled in the config file.
|
||||
disableUnlimited=\u00a76Disabled unlimited placing of\u00a7c {0} \u00a76for\u00a7c {1}\u00a76.
|
||||
discordbroadcastCommandDescription=Broadcasts a message to the specified Discord channel.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Sends the given message to the specified Discord channel
|
||||
discordbroadcastInvalidChannel=\u00a74Discord channel \u00a7c{0}\u00a74 does not exist.
|
||||
discordbroadcastPermission=\u00a74You do not have permission to send messages to the \u00a7c{0}\u00a74 channel.
|
||||
discordbroadcastSent=\u00a76Message sent to \u00a7c{0}\u00a76!
|
||||
discordCommandDescription=Sends the discord invite link to the player.
|
||||
discordCommandLink=\u00a76Join our Discord server at \u00a7c{0}\u00a76!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Sends the discord invite link to the player
|
||||
discordCommandExecuteDescription=Executes a console command on the Minecraft server.
|
||||
discordCommandExecuteArgumentCommand=The command to be executed
|
||||
discordCommandExecuteReply=Executing command: "/{0}"
|
||||
@@ -249,6 +261,8 @@ discordErrorLoggerNoPerms=Discord console logger has been disabled due to insuff
|
||||
discordErrorNoGuild=Invalid or missing server ID! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorNoGuildSize=Your bot is not in any servers! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorNoPerms=Your bot cannot see or talk in any channel! Please make sure your bot has read and write permissions in all channels you wish to use.
|
||||
discordErrorNoPrimary=You did not define a primary channel or your defined primary channel is invalid. Falling back to the default channel: #{0}.
|
||||
discordErrorNoPrimaryPerms=Your bot cannot speak in your primary channel, #{0}. Please make sure your bot has read and write permissions in all channels you wish to use.
|
||||
discordErrorNoToken=No token provided! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorWebhook=An error occurred while sending messages to your console channel\! This was likely caused by accidentally deleting your console webhook. This can usually by fixed by ensuring your bot has the "Manage Webhooks" permission and running "/ess reload".
|
||||
discordLoggingIn=Attempting to login to Discord...
|
||||
@@ -316,7 +330,7 @@ essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Cleans up old userdata
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=Manages user homes
|
||||
essentialsCommandUsage8=/<command> dump [*] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Generates a server dump with the requested information
|
||||
essentialsHelp1=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, go to http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, either type /essentialshelp in game or go to http\://tiny.cc/EssentialsChat
|
||||
@@ -574,6 +588,9 @@ jailAlreadyIncarcerated=\u00a74Person is already in jail\:\u00a7c {0}
|
||||
jailList=\u00a76Jails\:\u00a7r {0}
|
||||
jailMessage=\u00a74You do the crime, you do the time.
|
||||
jailNotExist=\u00a74That jail does not exist.
|
||||
jailNotifyJailed=\u00a76Player\u00a7c {0} \u00a76jailed by \u00a7c{1}.
|
||||
jailNotifyJailedFor=\u00a76Player\u00a7c {0} \u00a76jailed for\u00a7c {1}\u00a76by \u00a7c{2}\u00a76.
|
||||
jailNotifySentenceExtended=\u00a76Player\u00a7c{0} \u00a76jail's time extended to \u00a7c{1} \u00a76by \u00a7c{2}\u00a76.
|
||||
jailReleased=\u00a76Player \u00a7c{0}\u00a76 unjailed.
|
||||
jailReleasedPlayerNotify=\u00a76You have been released\!
|
||||
jailSentenceExtended=\u00a76Jail time extended to \u00a7c{0}\u00a76.
|
||||
@@ -650,8 +667,9 @@ listCommandUsage1=/<command> [group]
|
||||
listCommandUsage1Description=Lists all players on the server, or the given group if specified
|
||||
listGroupTag=\u00a76{0}\u00a7r\:
|
||||
listHiddenTag=\u00a77[HIDDEN]\u00a7r
|
||||
listRealName=({0})
|
||||
loadWarpError=\u00a74Failed to load warp {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
localFormat=\u00a73[L] \u00a7r<{0}> {1}
|
||||
localNoOne=
|
||||
loomCommandDescription=Opens up a loom.
|
||||
loomCommandUsage=/<command>
|
||||
@@ -670,6 +688,8 @@ mailCommandUsage4=/<command> sendall <message>
|
||||
mailCommandUsage4Description=Sends all players the given message
|
||||
mailCommandUsage5=/<command> sendtemp <player> <expire time> <message>
|
||||
mailCommandUsage5Description=Sends the specified player the given message which will expire in the specified time
|
||||
mailCommandUsage6=/<command> sendtempall <expire time> <message>
|
||||
mailCommandUsage6Description=Sends all players the given message which will expire in the specified time
|
||||
mailDelay=Too many mails have been sent within the last minute. Maximum\: {0}
|
||||
mailFormatNew=\u00a76[\u00a7r{0}\u00a76] \u00a76[\u00a7r{1}\u00a76] \u00a7r{2}
|
||||
mailFormatNewTimed=\u00a76[\u00a7e\u26a0\u00a76] \u00a76[\u00a7r{0}\u00a76] \u00a76[\u00a7r{1}\u00a76] \u00a7r{2}
|
||||
@@ -759,6 +779,7 @@ nearCommandUsage3Description=Lists all players within the default near radius of
|
||||
nearCommandUsage4=/<command> <player> <radius>
|
||||
nearCommandUsage4Description=Lists all players within the given radius of the specified player
|
||||
nearbyPlayers=\u00a76Players nearby\:\u00a7r {0}
|
||||
nearbyPlayersList={0}\u00a7f(\u00a7c{1}m\u00a7f)
|
||||
negativeBalanceError=\u00a74User is not allowed to have a negative balance.
|
||||
nickChanged=\u00a76Nickname changed.
|
||||
nickCommandDescription=Change your nickname or that of another player.
|
||||
@@ -812,8 +833,9 @@ noPlacePermission=\u00a74You do not have permission to place a block near that s
|
||||
noPotionEffectPerm=\u00a74You do not have permission to apply potion effect \u00a7c{0} \u00a74to this potion.
|
||||
noPowerTools=\u00a76You have no power tools assigned.
|
||||
notAcceptingPay=\u00a74{0} \u00a74is not accepting payment.
|
||||
notAllowedToQuestion=\u00a74You are not authorized to use question.
|
||||
notAllowedToShout=\u00a74You are not authorized to shout.
|
||||
notAllowedToLocal=\u00a74You don't have permission to speak in local chat.
|
||||
notAllowedToQuestion=\u00a74You don't have permission to use question.
|
||||
notAllowedToShout=\u00a74You don't have permission to shout.
|
||||
notEnoughExperience=\u00a74You do not have enough experience.
|
||||
notEnoughMoney=\u00a74You do not have sufficient funds.
|
||||
notFlying=not flying
|
||||
@@ -872,6 +894,14 @@ playerTempBanned=\u00a76Player \u00a7c{0}\u00a76 temporarily banned \u00a7c{1}\u
|
||||
playerUnbanIpAddress=\u00a76Player\u00a7c {0} \u00a76unbanned IP\:\u00a7c {1}
|
||||
playerUnbanned=\u00a76Player\u00a7c {0} \u00a76unbanned\u00a7c {1}
|
||||
playerUnmuted=\u00a76You have been unmuted.
|
||||
playtimeCommandDescription=Shows a player''s time played in game
|
||||
playtimeCommandUsage=/<command> [player]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Shows your time played in game
|
||||
playtimeCommandUsage2=/<command> <player>
|
||||
playtimeCommandUsage2Description=Shows the specified player''s time played in game
|
||||
playtime=\u00a76Playtime\:\u00a7c {0}
|
||||
playtimeOther=\u00a76Playtime of {1}\u00a76\:\u00a7c {0}
|
||||
pong=Pong\!
|
||||
posPitch=\u00a76Pitch\: {0} (Head angle)
|
||||
possibleWorlds=\u00a76Possible worlds are the numbers \u00a7c0\u00a76 through \u00a7c{0}\u00a76.
|
||||
@@ -995,14 +1025,17 @@ replyLastRecipientDisabledFor=\u00a76Replying to last message recipient \u00a7cd
|
||||
replyLastRecipientEnabled=\u00a76Replying to last message recipient \u00a7cenabled\u00a76.
|
||||
replyLastRecipientEnabledFor=\u00a76Replying to last message recipient \u00a7cenabled \u00a76for \u00a7c{0}\u00a76.
|
||||
requestAccepted=\u00a76Teleport request accepted.
|
||||
requestAcceptedAll=\u00a76Accepted \u00a7c{0} \u00a76pending teleport request(s).
|
||||
requestAcceptedAuto=\u00a76Automatically accepted a teleport request from {0}.
|
||||
requestAcceptedFrom=\u00a7c{0} \u00a76accepted your teleport request.
|
||||
requestAcceptedFromAuto=\u00a7c{0} \u00a76accepted your teleport request automatically.
|
||||
requestDenied=\u00a76Teleport request denied.
|
||||
requestDeniedAll=\u00a76Denied \u00a7c{0} \u00a76pending teleport request(s).
|
||||
requestDeniedFrom=\u00a7c{0} \u00a76denied your teleport request.
|
||||
requestSent=\u00a76Request sent to\u00a7c {0}\u00a76.
|
||||
requestSentAlready=\u00a74You have already sent {0}\u00a74 a teleport request.
|
||||
requestTimedOut=\u00a74Teleport request has timed out.
|
||||
requestTimedOutFrom=\u00a74Teleport request from \u00a7c{0} \u00a74has timed out.
|
||||
resetBal=\u00a76Balance has been reset to \u00a7c{0} \u00a76for all online players.
|
||||
resetBalAll=\u00a76Balance has been reset to \u00a7c{0} \u00a76for all players.
|
||||
rest=\u00a76You feel well rested.
|
||||
@@ -1262,10 +1295,14 @@ tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Cancels all your outstanding teleport requests
|
||||
tpacancelCommandUsage2=/<command> <player>
|
||||
tpacancelCommandUsage2Description=Cancels all your outstanding teleport request with the specified player
|
||||
tpacceptCommandDescription=Accepts a teleport request.
|
||||
tpacceptCommandDescription=Accepts teleport requests.
|
||||
tpacceptCommandUsage=/<command> [otherplayer]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Accepts an incoming teleport request
|
||||
tpacceptCommandUsage1Description=Accepts the most recent teleport request
|
||||
tpacceptCommandUsage2=/<command> <player>
|
||||
tpacceptCommandUsage2Description=Accepts a teleport request from the specified player
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpacceptCommandUsage3Description=Accepts all teleport requests
|
||||
tpahereCommandDescription=Request that the specified player teleport to you.
|
||||
tpahereCommandUsage=/<command> <player>
|
||||
tpahereCommandUsage1=/<command> <player>
|
||||
@@ -1278,10 +1315,14 @@ tpautoCommandDescription=Automatically accept teleportation requests.
|
||||
tpautoCommandUsage=/<command> [player]
|
||||
tpautoCommandUsage1=/<command> [player]
|
||||
tpautoCommandUsage1Description=Toggles if tpa requests are auto accepted for yourself or another player if specified
|
||||
tpdenyCommandDescription=Reject a teleport request.
|
||||
tpdenyCommandDescription=Rejects teleport requests.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Rejects an incoming teleport request
|
||||
tpdenyCommandUsage1Description=Rejects the most recent teleport request
|
||||
tpdenyCommandUsage2=/<command> <player>
|
||||
tpdenyCommandUsage2Description=Rejects a teleport request from the specified player
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tpdenyCommandUsage3Description=Rejects all teleport requests
|
||||
tphereCommandDescription=Teleport a player to you.
|
||||
tphereCommandUsage=/<command> <player>
|
||||
tphereCommandUsage1=/<command> <player>
|
||||
|
||||
@@ -6,9 +6,12 @@ action=§5* {0} §5{1}
|
||||
addedToAccount=§a{0} бяха добавени към вашият акаунт.
|
||||
addedToOthersAccount=§a{0} бяха добавени към акаунта на {1}. Нов баланс\: {2}
|
||||
adventure=приключенски
|
||||
afkCommandDescription=Маркира ви като далеч-от-клавиятурата.
|
||||
afkCommandDescription=Маркира ви като далеч-от-клавиатурата.
|
||||
afkCommandUsage=/<command> [player/message...]
|
||||
afkCommandUsage1=/<command> [message]
|
||||
afkCommandUsage1Description=Активира вашия афк статус с опционална причина
|
||||
afkCommandUsage2=/<command> <player> [message]
|
||||
afkCommandUsage2Description=Активира афк статуса на специфичен играч с опционална причина
|
||||
alertBroke=счупени\:
|
||||
alertFormat=§3[{0}] §r {1} §6 {2} at\: {3}
|
||||
alertPlaced=поставени\:
|
||||
@@ -22,6 +25,7 @@ antiBuildPlace=§4Нямате право да поставяте§c {0} §4ту
|
||||
antiBuildUse=§4Нямате право да използвате§c {0}§4.
|
||||
antiochCommandDescription=Малка изненада за операторите.
|
||||
antiochCommandUsage=/<command> [message]
|
||||
anvilCommandDescription=Отваря наковалня.
|
||||
anvilCommandUsage=/<command>
|
||||
autoAfkKickReason=Вие бяхте изгонени поради повече от {0} минути бездействие.
|
||||
autoTeleportDisabled=§6Вече не приемате заявки за телепортиране автоматично.
|
||||
@@ -32,7 +36,9 @@ backAfterDeath=§6Използвайте командата /back, за да с
|
||||
backCommandDescription=Телепортира ви до вашата локация преди tp/spawn/warp.
|
||||
backCommandUsage=/<command> [player]
|
||||
backCommandUsage1=/<command>
|
||||
backCommandUsage1Description=Телепортира Ви до предишната локация
|
||||
backCommandUsage2=/<command> <player>
|
||||
backCommandUsage2Description=Телепортира специфичен играч до тяхната предишна локация
|
||||
backOther=§6Върнахте§c {0}§6 до предишното им местоположение.
|
||||
backupCommandDescription=Прави резервно копие, ако е конфигурирано.
|
||||
backupCommandUsage=/<command>
|
||||
@@ -45,22 +51,33 @@ balance=§aБаланс\:§c {0}
|
||||
balanceCommandDescription=Показва текущия баланс на играч.
|
||||
balanceCommandUsage=/<command> [player]
|
||||
balanceCommandUsage1=/<command>
|
||||
balanceCommandUsage1Description=Показва вашия текущ баланс
|
||||
balanceCommandUsage2=/<command> <player>
|
||||
balanceCommandUsage2Description=Показва баланса на специфичен играч
|
||||
balanceOther=§aБалансът на {0}§a\:§c {1}
|
||||
balanceTop=§6Топ богаташи ({0})
|
||||
balanceTopLine={0}. {1}, {2}
|
||||
balancetopCommandDescription=Показва топ играчите по баланс.
|
||||
balancetopCommandUsage=/<command> [page]
|
||||
balancetopCommandUsage1=/<command> [page]
|
||||
balancetopCommandUsage1Description=Показва първата (или специфична) страница на играчите с най-висок баланс
|
||||
banCommandDescription=Ограничава играч.
|
||||
banCommandUsage=/<command> <player> [reason]
|
||||
banCommandUsage1=/<command> <player> [reason]
|
||||
banCommandUsage1Description=Ограничава специфичен играч с опционална причина
|
||||
banExempt=§4Не можете да ограничите този играч.
|
||||
banExemptOffline=§4Не можете да ограничавате офлайн играчи.
|
||||
banFormat=§cВие бяхте ограничени\:\n§r{0}
|
||||
banIpJoin=Вашият IP адрес е ограничен от този сървър. Причина\: {0}
|
||||
banJoin=Вие сте ограничени от този сървър. Причина\: {0}
|
||||
banipCommandDescription=Ограничава IP адрес.
|
||||
banipCommandUsage=/<command> <address> [reason]
|
||||
banipCommandUsage1=/<command> <address> [reason]
|
||||
banipCommandUsage1Description=Ограничава специфичен ИП адрес с опционална причина
|
||||
bed=§oлегло§r
|
||||
bedMissing=§4Вашето легло е незададено, липсващо или блокирано.
|
||||
bedNull=§mлегло§r
|
||||
bedOffline=§4Не може да се телепортирате до леглата на офлйан играчи.
|
||||
bedOffline=§4Не може да се телепортирате до леглата на офлайн играчи.
|
||||
bedSet=§6Локация на легло е зададена\!
|
||||
beezookaCommandDescription=Хвърля експлодираща пчела към твоя опонент.
|
||||
beezookaCommandUsage=/<command>
|
||||
@@ -69,12 +86,18 @@ bigTreeSuccess=§6Създадено е голямо дърво.
|
||||
bigtreeCommandDescription=Създава голямо дърво към мястото, което гледате.
|
||||
bigtreeCommandUsage=/<command> <tree|redwood|jungle|darkoak>
|
||||
bigtreeCommandUsage1=/<command> <tree|redwood|jungle|darkoak>
|
||||
bigtreeCommandUsage1Description=Създава голямо дърво със специфичен тип
|
||||
blockList=§6EssentialsX предаде следните команди на други плъгини\:
|
||||
blockListEmpty=§6EssentialsX не предава никакви команди на други плъгини.
|
||||
bookAuthorSet=§6Авторът на книгата е зададен на {0}.
|
||||
bookCommandDescription=Позволява отварянето и редактирането на запечатани книги.
|
||||
bookCommandUsage=/<command> [title|author [name]]
|
||||
bookCommandUsage1=/<command>
|
||||
bookCommandUsage1Description=Заключва/Отключва книга с перо/подписана книга
|
||||
bookCommandUsage2=/<command> author <author>
|
||||
bookCommandUsage2Description=Задава автора на подписана книга
|
||||
bookCommandUsage3=/<command> title <title>
|
||||
bookCommandUsage3Description=Задава заглавието на подписана книга
|
||||
bookLocked=§6Книгата е заключена.
|
||||
bookTitleSet=§6Заглавието на книгата е зададено на {0}.
|
||||
breakCommandDescription=Чупи блока към, който гледате.
|
||||
@@ -83,12 +106,15 @@ broadcast=§r§6[§4Съобщение§6]§a {0}
|
||||
broadcastCommandDescription=Изпраща съобщения до всички в сървъра.
|
||||
broadcastCommandUsage=/<command> <msg>
|
||||
broadcastCommandUsage1=/<command> <message>
|
||||
broadcastCommandUsage1Description=Изпраща съобщение до всички в сървър
|
||||
broadcastworldCommandDescription=Изпраща съобщение до всички в определен свят.
|
||||
broadcastworldCommandUsage=/<command> <world> <msg>
|
||||
broadcastworldCommandUsage1=/<command> <world> <msg>
|
||||
broadcastworldCommandUsage1Description=Изпраща съобщение до всички в специфичния свят
|
||||
burnCommandDescription=Запалва играч.
|
||||
burnCommandUsage=/<command> <player> <seconds>
|
||||
burnCommandUsage1=/<command> <player> <seconds>
|
||||
burnCommandUsage1Description=Запалва специфициран играч за определено време секунди
|
||||
burnMsg=§6Подпалихте§c {0} §6за§c {1} секунди§6.
|
||||
cannotSellNamedItem=§6Не може да продавате надписани предмети.
|
||||
cannotSellTheseNamedItems=§6Не може да продавате тези надписани предмети\: §4{0}
|
||||
@@ -98,8 +124,8 @@ cantFindGeoIpDB=Няма намерена GeoIP база данни\!
|
||||
cantGamemode=§4Нямате право да променяте режима си на {0}
|
||||
cantReadGeoIpDB=Грешка при прочитането на GeoIP базата данни\!
|
||||
cantSpawnItem=§4Нямате право да създадете предмета§c {0}§4.
|
||||
cartographytableCommandDescription=Отваря картографска маса.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Шпионин]
|
||||
cleaned=Потребителските файлове са изчистени.
|
||||
cleaning=Изчистване на потребителските файлове.
|
||||
@@ -108,25 +134,41 @@ clearInventoryConfirmToggleOn=§6Вече ще да бъдете помолен
|
||||
clearinventoryCommandDescription=Изчиства всички предмети от инвентара ви.
|
||||
clearinventoryCommandUsage=/<command> [player|*] [item[\:<data>]|*|**] [amount]
|
||||
clearinventoryCommandUsage1=/<command>
|
||||
clearinventoryCommandUsage1Description=Изчиства всички предмети от вашия инвентар
|
||||
clearinventoryCommandUsage2=/<command> <player>
|
||||
clearinventoryCommandUsage2Description=Изчиства всички предмети от инвентара на специфичен играч
|
||||
clearinventoryCommandUsage3=/<command> <player> <item> [amount]
|
||||
clearinventoryCommandUsage3Description=Изчиства всички (или специфичен брой) от даден предмет от инвентара на специфичен играч
|
||||
clearinventoryconfirmtoggleCommandDescription=Включва дали да бъдете питани преди изтриването на ивентар.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cНе можете да пишете тази команда за {0}.
|
||||
commandDisabled=§cКомандата§6 {0}§c е изключена.
|
||||
commandFailed=Командата {0} беше неуспешна\:
|
||||
commandHelpFailedForPlugin=Грешка при получаването на помощ за плъгина\: {0}
|
||||
commandHelpLine1=§6Командна Помощ\: §f/{0}
|
||||
commandHelpLine2=§6Описание\: §f{0}
|
||||
commandHelpLine3=§6Употреба(и);
|
||||
commandHelpLine4=§6Алиас(и)\: §f{0}
|
||||
commandHelpLineUsage={0} §6- {1}
|
||||
commandNotLoaded=§4Командата {0} е грешно заредена.
|
||||
compassBearing=§6Посока\: {0} ({1} градуса).
|
||||
compassCommandDescription=Описва текущото ви държание.
|
||||
compassCommandUsage=/<command>
|
||||
condenseCommandDescription=Кондензира предметите в по-компактни блокове.
|
||||
condenseCommandUsage=/<command> [item]
|
||||
condenseCommandUsage1=/<command>
|
||||
condenseCommandUsage1Description=Кондензира всички предмети от вашия инвентар
|
||||
condenseCommandUsage2Description=Кондензира специфицирания предмет от вашия инвентар
|
||||
configFileMoveError=Грешка при прехвърлянето на config.yml в архива.
|
||||
configFileRenameError=Грешка при преименуването на временния файл към config.yml.
|
||||
confirmClear=§7За да §lпотвърдите§7 изчистването на инвентара, повторете командата\: §6{0}
|
||||
confirmPayment=§7За да §lПОТВЪРДИТЕ§7 заплащането на §6{0}§7, моля повторете командата\: §6{1}
|
||||
connectedPlayers=§6Свързани играчи§r
|
||||
connectionFailed=Неуспешно отваряне на връзка.
|
||||
consoleName=Конзола
|
||||
cooldownWithMessage=§4Изчакване\: {0}
|
||||
coordsKeyword={0}, {1}, {2}
|
||||
couldNotFindTemplate=§4Не може да се намери шаблон {0}
|
||||
@@ -134,9 +176,11 @@ createdKit=§6Създадохте kit §c{0} §6с §c{1} §6употреби
|
||||
createkitCommandDescription=Създава кит от играта\!
|
||||
createkitCommandUsage=/<command> <kitname> <delay>
|
||||
createkitCommandUsage1=/<command> <kitname> <delay>
|
||||
createkitCommandUsage1Description=Създава кит с дадено име и интервал
|
||||
createKitFailed=§4Грешка при създаването на kit {0}.
|
||||
createKitSeparator=§m-----------------------
|
||||
createKitSuccess=§6Създаден кит\: §f{0}\n§6Интервал\: §f{1}\n§6Връзка\: §f{2}\n§6Копирайте съдържанието от връзката отгоре във вашият kits.yml.
|
||||
createKitUnsupported=§4Предметна NBT сериализация е включена, но този сървър не използва Paper 1.15.2+. Връщане към стандартна предметна сериализация.
|
||||
creatingConfigFromTemplate=Създаване на конфигурация от шаблон\: {0}
|
||||
creatingEmptyConfig=Създаване на празна конфигурация\: {0}
|
||||
creative=творчески
|
||||
@@ -147,22 +191,33 @@ customtextCommandUsage=/<alias> - Определете в bukkit.yml
|
||||
day=ден
|
||||
days=дни
|
||||
defaultBanReason=Вие бяхте ограничени от този сървър\!
|
||||
deletedHomes=Всички домове са изтрити.
|
||||
deletedHomesWorld=Всички домове в {0} са изтрити.
|
||||
deleteFileError=Не може да бъде изтрит файлът\: {0}
|
||||
deleteHome=§6Домът§c {0} §6беше премахнат.
|
||||
deleteJail=§6Затворът§c {0} §6беше премахнат.
|
||||
deleteKit=§6Комплектът§c {0} §6беше премахнат.
|
||||
deleteWarp=§6Точката за телепортиране§c {0} §6беше премахната.
|
||||
deletingHomes=Изтриване на всички домове...
|
||||
deletingHomesWorld=Изтриване на всички домове в {0}...
|
||||
delhomeCommandDescription=Премахва дом.
|
||||
delhomeCommandUsage=/<command> [player\:]<name>
|
||||
delhomeCommandUsage1=/<command> <name>
|
||||
delhomeCommandUsage1Description=Изтрива ваш дом с определено име
|
||||
delhomeCommandUsage2=/<command> <player>\:<name>
|
||||
delhomeCommandUsage2Description=Изтрива дом с определено име на специфичен играч
|
||||
deljailCommandDescription=Премахва затвор.
|
||||
deljailCommandUsage=/<command> <jailname>
|
||||
deljailCommandUsage1=/<command> <jailname>
|
||||
deljailCommandUsage1Description=Изтрива затвор с дадено име
|
||||
delkitCommandDescription=Изтрива посочен кит.
|
||||
delkitCommandUsage=/<command> <kit>
|
||||
delkitCommandUsage1=/<command> <kit>
|
||||
delkitCommandUsage1Description=Изтрива кит с дадено име
|
||||
delwarpCommandDescription=Изтрива посочен warp.
|
||||
delwarpCommandUsage=/<command> <warp>
|
||||
delwarpCommandUsage1=/<command> <warp>
|
||||
delwarpCommandUsage1Description=Изтрива уарп с дадено име
|
||||
deniedAccessCommand=§c{0} §4беше отказан достъп до командата.
|
||||
denyBookEdit=§4Не можете да отключите тази книга.
|
||||
denyChangeAuthor=§4Не можете да промените авторът на тази книга.
|
||||
@@ -176,6 +231,24 @@ destinationNotSet=Дестинацията не е зададена\!
|
||||
disabled=изключен
|
||||
disabledToSpawnMob=§4Размножаването на това същество е изключено в конфигурационния файл.
|
||||
disableUnlimited=§6Изключихте безбройното слагане на §c {0} §6за {1}.
|
||||
discordbroadcastCommandDescription=Изпраща съобщение до посочен канал в Дискорд.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Изпраща дадено съобщение до посочен канал в Дискорд
|
||||
discordbroadcastInvalidChannel=§4Дискорд канала §c{0}§4 не съществува.
|
||||
discordbroadcastPermission=§4Нямаш право да изпраща съобщения до канала §c{0}§4.
|
||||
discordbroadcastSent=§6Съобщението е изпратно до §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandExecuteDescription=Изпълнява конзолна команда в Minecraft сървъра.
|
||||
discordCommandExecuteArgumentCommand=Командата, която трябва да бъде изпълнена
|
||||
discordCommandExecuteReply=Изпълнява се команда\: "/{0}"
|
||||
discordCommandListDescription=Показва списък с онлайн потребителите.
|
||||
discordCommandListArgumentGroup=Конкретна група, чрез която да се намали лимита на търсенето
|
||||
discordCommandMessageDescription=Изпраща съобщение до играч в Minecraft сървъра.
|
||||
discordCommandMessageArgumentUsername=Играча, до който да се изпрати съобщението
|
||||
discordErrorCommandDisabled=Тази команда е изключена\!
|
||||
discordLoggingInDone=Успешно сте влезли като {0}
|
||||
disposal=Кошче
|
||||
disposalCommandDescription=Отваря преносимо меню за изхвърляне.
|
||||
disposalCommandUsage=/<command>
|
||||
@@ -205,14 +278,28 @@ errorCallingCommand=Грешка при изпълняването на кома
|
||||
errorWithMessage=§cГрешка\:§4 {0}
|
||||
essentialsCommandDescription=Презарежда essentials.
|
||||
essentialsCommandUsage=/<command>
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=Управлява домовете на потребители
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Генерира сървърен дъмп с поисканата информация
|
||||
essentialsHelp1=Файлът е повреден и Essentials не може да го отвори. Essentials се изключва. Ако не можете да поправите сами, отидете на http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Файлът е повреден и Essentials не може да го отвори. Essentials се изключва. Ако не можете да поправите сами или напишете /essentialshelp в играта, или отидете на http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials е презареден§c {0}.
|
||||
exp=§c{0} §6има§c {1} §6опит (ниво§c {2}§6) и им трябва§c {3} §6опит за да вдигнат ниво.
|
||||
expCommandDescription=Дай, сложи, ресетни, или виж опита на определен играч.
|
||||
expCommandUsage=/<command> [reset|show|set|give] [playername [amount]]
|
||||
expCommandUsage1Description=Дава на определен играч специфичен брой опит
|
||||
expCommandUsage2=/<command> set <playername> <amount>
|
||||
expCommandUsage2Description=Задава опита на определен играч до специфичен брой
|
||||
expCommandUsage3=/<command> show <playername>
|
||||
expCommandUsage4Description=Показва броя опит на определен играч
|
||||
expCommandUsage5=/<command> reset <playername>
|
||||
expCommandUsage5Description=Ресетва опита на определен играч на 0
|
||||
expSet=§c{0} §6сега има§c {1} §6опит.
|
||||
extCommandDescription=Изгасява играчи.
|
||||
extCommandUsage=/<command> [player]
|
||||
extCommandUsage1=/<command> [player]
|
||||
extCommandUsage1Description=Угасете се (от огън) или друг специфичен играч
|
||||
extinguish=§6Вие се изгасихте.
|
||||
extinguishOthers=§6Изгасихте {0}§6.
|
||||
failedToCloseConfig=Грешка при затварянето на конфигурация {0}.
|
||||
@@ -223,14 +310,23 @@ feed=§6Вашият апетит беше заситен.
|
||||
feedCommandDescription=Засища глада.
|
||||
feedCommandUsage=/<command> [player]
|
||||
feedCommandUsage1=/<command> [player]
|
||||
feedCommandUsage1Description=Напълно засища апетита ви или този на друг специфичен играч
|
||||
feedOther=§6Заситихте апетита на §c{0}§6.
|
||||
fileRenameError=Грешка при реименуването на файла {0}\!
|
||||
fireballCommandDescription=Хвърля огнено кълбо или друг снаряд.
|
||||
fireballCommandUsage=/<command> [fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident] [speed]
|
||||
fireballCommandUsage1=/<command>
|
||||
fireballCommandUsage1Description=Хвърля нормално огнено кълбо от вашата локация
|
||||
fireballCommandUsage2=/<command> <fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident> [speed]
|
||||
fireballCommandUsage2Description=Хвърля специфичен снаряд от вашата локация, с опционална скорост
|
||||
fireworkColor=§4Бяха въведени невалидни параметри на заряд, първо трябва да се въведе цвят.
|
||||
fireworkCommandDescription=Позволява ви да модифицирате стак от фойерверки.
|
||||
fireworkCommandUsage=/<command> <<meta param>|power [amount]|clear|fire [amount]>
|
||||
fireworkCommandUsage1=/<command> clear
|
||||
fireworkCommandUsage1Description=Изчиства всички ефекти от фойерверката, която държите
|
||||
fireworkCommandUsage2=/<command> power <amount>
|
||||
fireworkCommandUsage2Description=Задава силата на фойерверката, която държите
|
||||
fireworkCommandUsage3=/<command> fire [amount]
|
||||
fireworkEffectsCleared=§6Бяха премахнати всички ефекти от това което държите.
|
||||
fireworkSyntax=§6Параметри за фойерверк\:§c color\:<color> [fade\:<цвят>] [shape\:<форма>] [effect\:<ефект>]\n§6За да използвате няколко цвята/ефекта, разделете стойностите със запетая\: §cred,blue,pink\n§6Форми\:§c star, ball, large, creeper, burst §6Ефекти\:§c trail, twinkle.
|
||||
flyCommandUsage=/<command> [player] [on|off]
|
||||
@@ -257,6 +353,7 @@ getposCommandUsage=/<command> [player]
|
||||
getposCommandUsage1=/<command> [player]
|
||||
giveCommandDescription=Дава предмет на играч.
|
||||
giveCommandUsage=/<command> <player> <item|numeric> [amount [itemmeta...]]
|
||||
giveCommandUsage1=/<command> <player> <item> [amount]
|
||||
geoipCantFind=§6Играчът §c{0} §6идва от §aнеизвестна държава§6.
|
||||
geoIpUrlEmpty=Линкът за изтегляне на GeoIP е празен.
|
||||
geoIpUrlInvalid=Линкът за изтегляне на GeoIP е невалиден.
|
||||
@@ -302,16 +399,20 @@ holdBook=§4Не държите книга в която може да се пи
|
||||
holdFirework=§4Трябва да държите фойерверк, за да му добавите ефект.
|
||||
holdPotion=§4Трябва да държите отвара, за да и приложите ефект.
|
||||
holeInFloor=§4Има дупка в пода\!
|
||||
homeCommandDescription=Телепортира ви до вашият дом.
|
||||
homeCommandDescription=Телепортира ви до вашия дом.
|
||||
homeCommandUsage=/<command> [player\:][name]
|
||||
homeCommandUsage1=/<command> <name>
|
||||
homeCommandUsage2=/<command> <player>\:<name>
|
||||
homes=§6Домове\:§r {0}
|
||||
homeConfirmation=§6Вече имате дом на име §c{0}§6\!\nЗа да пренапишете вашият съществуващ дом, моля напишете командата отново.
|
||||
homeConfirmation=§6Вече имате дом на име §c{0}§6\!\nЗа да пренапишете вашия съществуващ дом, моля напишете командата отново.
|
||||
homeSet=§6Вече имате дом на тази локация.
|
||||
hour=час
|
||||
hours=часа
|
||||
iceCommandUsage=/<command> [player]
|
||||
iceCommandUsage1=/<command>
|
||||
iceCommandUsage1Description=Изтудява ви
|
||||
iceCommandUsage2=/<command> <player>
|
||||
iceCommandUsage3Description=Изтудява всички онлайн играчи
|
||||
ignoreCommandDescription=Игнорирайте или не игнорирайте други играчи.
|
||||
ignoreCommandUsage=/<command> <player>
|
||||
ignoreCommandUsage1=/<command> <player>
|
||||
@@ -357,6 +458,7 @@ itemId=§6Номер\:§c {0}
|
||||
itemloreClear=§6Изчистихте значението на този предмет.
|
||||
itemloreCommandDescription=Редактирайте значението на предмет.
|
||||
itemloreCommandUsage=/<command> <add/set/clear> [text/line] [text]
|
||||
itemloreCommandUsage3=/<command> clear
|
||||
itemloreInvalidItem=§4Трябва да държите предмет, за да редактирате неговото значение.
|
||||
itemloreNoLine=§4Предмета, който държите няма текст със значение на линия §c{0}§4.
|
||||
itemloreNoLore=§4Предмета, който държите няма никакви тестове със значение.
|
||||
@@ -364,6 +466,7 @@ itemMustBeStacked=§4Предметите трябва да бъдат търг
|
||||
itemNames=§6Кратки имена на предметите\:§r {0}
|
||||
itemnameClear=§6Изчистихте името на предмета, който държите.
|
||||
itemnameCommandUsage1=/<command>
|
||||
itemnameCommandUsage2=/<command> <name>
|
||||
itemnameInvalidItem=§cТрябва да държите предмет, за да го преименувате.
|
||||
itemnameSuccess=§6Преименувахте предмета, който държите на "§c{0}§6".
|
||||
itemNotEnough1=§4Нямате достатъчно от този предмет, за да продавате.
|
||||
@@ -420,10 +523,10 @@ lightningUse=§6Ударихте§c {0}§6 с мълния.
|
||||
listAfkTag=§7[Неактивен]§r
|
||||
listAmount=§6Има §c{0}§6 от максимум §c{1}§6 играчи онлайн.
|
||||
listAmountHidden=§6Има §c{0}§6/§c{1}§6 от максимум §c{2}§6 онлайн играча.
|
||||
listCommandDescription=Показва всички онлайн играчи.
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[СКРИТ]§r
|
||||
loadWarpError=§4Грешка при зареждането на уарп {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6За да изчистите пощата си, напишете§c /mail clear§6.
|
||||
mailCleared=§6Пощата ви е почистена\!
|
||||
@@ -439,6 +542,9 @@ maxHomes=§4Не можете да имате повече от§c {0} §4дом
|
||||
maxMoney=§4Тази транзакция ще надвиши лимитът на сметката за този акаунт.
|
||||
mayNotJail=§4Не можете да затворите този играч\!
|
||||
mayNotJailOffline=§4Не може да затворите играчи извън линия.
|
||||
meCommandUsage1Description=Описва действие
|
||||
meSender=мен
|
||||
meRecipient=мен
|
||||
minimumPayAmount=§cМинималната сума която може да платите е {0}.
|
||||
minute=минута
|
||||
minutes=минути
|
||||
@@ -477,7 +583,9 @@ muteNotify=§c{0} §6заглуши §c{1}§6.
|
||||
muteNotifyFor=§c{0} §6заглуши §c{1}§6 за§c {2}§6.
|
||||
muteNotifyForReason=§c{0} §6заглуши играча §c{1}§6 за§c {2}§6. §6Причина\: §c{3}
|
||||
muteNotifyReason=§c{0} §6заглуши играча§c{1}§6. §6Причина\: §c{2}
|
||||
nearCommandDescription=Показва играчите наблизко или около играчът.
|
||||
nearCommandUsage1=/<command>
|
||||
nearCommandUsage2Description=Показва всички играчи с даденият радиус от вас
|
||||
nearCommandUsage3=/<command> <player>
|
||||
nearbyPlayers=§6Играчи наблизо\:§r {0}
|
||||
negativeBalanceError=§4Играчът няма право да има негативен баланс.
|
||||
@@ -521,8 +629,6 @@ noPlacePermission=§4Нямате права да поставяте блокч
|
||||
noPotionEffectPerm=§4Нямате право да прилагате ефект §c{0} §4на тази отвара.
|
||||
noPowerTools=§6Нямате предмети със зададени команди.
|
||||
notAcceptingPay=§4{0} §4не приема плащания.
|
||||
notAllowedToQuestion=§4Нямате право да използвате въпросителен знак.
|
||||
notAllowedToShout=§4Нямате право да крещите.
|
||||
notEnoughExperience=§4Нямате достатъчно опит.
|
||||
notEnoughMoney=§4Нямате достатъчно средства.
|
||||
notFlying=не лети
|
||||
@@ -567,9 +673,13 @@ playerTempBanned=§6Играчът §c{0}§6 беше временно банн
|
||||
playerUnbanIpAddress=§6Играчът§c {0} §6премахна ограничението на IP адрес\: {1}
|
||||
playerUnbanned=§6Играчът§c {0} §6премахна ограничението на§c {1}
|
||||
playerUnmuted=§6Вие бяхте отглушени.
|
||||
playtimeCommandUsage=/<command> [player]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage2=/<command> <player>
|
||||
pong=Понг\!
|
||||
posPitch=§6Височина\: {0} (Посока на главата)
|
||||
possibleWorlds=§6Възможни светове са номерата §c0§6 през §c{0}§6.
|
||||
potionCommandUsage1=/<command> clear
|
||||
posX=§6X\: {0} (+Изток <-> -Запад)
|
||||
posY=§6Y\: {0} (+Нагоре <-> -Надолу)
|
||||
posYaw=§6Yaw\: {0} (Въртене)
|
||||
@@ -623,6 +733,7 @@ removed=§6Премахнати§c {0} §6същества.
|
||||
repair=§6Вие успешно поправихте вашите\: §c{0}§6.
|
||||
repairAlreadyFixed=§4Не е нужна поправка за този предмет.
|
||||
repairCommandUsage1=/<command>
|
||||
repairCommandUsage1Description=Поправя държаният предмет
|
||||
repairEnchanted=§4Не можете да поправяте енчантати предмети.
|
||||
repairInvalidType=§4Този предмет не може да бъде поправен.
|
||||
repairNone=§4Няма предмети които се нуждаят от поправка.
|
||||
@@ -660,6 +771,8 @@ serverUnsupported=Имате неподдържана версия на сърв
|
||||
setBal=§aВашият баланс беше зададен на {0}.
|
||||
setBalOthers=§aЗададохте баланса на {0}§a на {1}.
|
||||
setSpawner=§6Променихте вида на размножителя на§c {0}§6.
|
||||
sethomeCommandUsage1=/<command> <name>
|
||||
sethomeCommandUsage2=/<command> <player>\:<name>
|
||||
setjailCommandUsage=/<command> <jailname>
|
||||
setjailCommandUsage1=/<command> <jailname>
|
||||
setwarpCommandUsage=/<command> <warp>
|
||||
@@ -676,6 +789,7 @@ south=Ю
|
||||
southWest=ЮЗ
|
||||
skullChanged=§6Черепът е променен на §c{0}§6.
|
||||
skullCommandUsage1=/<command>
|
||||
skullCommandUsage1Description=Вземи собствената си глава
|
||||
skullCommandUsage2=/<command> <player>
|
||||
slimeMalformedSize=§4Неправилна големина.
|
||||
smithingtableCommandUsage=/<command>
|
||||
@@ -751,6 +865,7 @@ tpacancelCommandUsage=/<command> [player]
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage2=/<command> <player>
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage2=/<command> <player>
|
||||
tpahereCommandUsage=/<command> <player>
|
||||
tpahereCommandUsage1=/<command> <player>
|
||||
tpallCommandUsage=/<command> [player]
|
||||
@@ -759,6 +874,7 @@ tpautoCommandUsage=/<command> [player]
|
||||
tpautoCommandUsage1=/<command> [player]
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage2=/<command> <player>
|
||||
tphereCommandUsage=/<command> <player>
|
||||
tphereCommandUsage1=/<command> <player>
|
||||
tpoCommandUsage1=/<command> <player>
|
||||
@@ -814,6 +930,7 @@ userJailed=§6Вие бяхте затворени\!
|
||||
userUnknown=§4Внимание\: Играчът ''§c{0}§4'' никога не е влизал в сървъра.
|
||||
usingTempFolderForTesting=Използване на временна папка за тестване\:
|
||||
vanish=§6Невидимост за {0}§6\: {1}
|
||||
vanishCommandDescription=Скрий себе си от другите играчи.
|
||||
vanishCommandUsage=/<command> [player] [on|off]
|
||||
vanishCommandUsage1=/<command> [player]
|
||||
vanished=§6Сега сте напълно невидим за нормалните играчи и скрит от командите в сървъра.
|
||||
@@ -824,10 +941,14 @@ versionOutputUnsupported=§d{0} §6версия\: §d{1}
|
||||
versionOutputUnsupportedPlugins=§6Имате §dнеподдържани плъгини§6\!
|
||||
versionMismatch=§4Несъвпадение на версията\! Моля обновете {0} на същата версия.
|
||||
versionMismatchAll=§4Несъвпадение на версията\! Моля обновете всички Essentials.jar файлове {0} на същата версия.
|
||||
versionReleaseNewLink=§4Свали го от тук\:§c {0}
|
||||
voiceSilenced=§6Вие бяхте заглушени\!
|
||||
voiceSilencedTime=§6Вие бяхте заглушени за {0}\!
|
||||
voiceSilencedReason=§6Вие бяхте заглушени\! §6Причина\: §c{0}
|
||||
voiceSilencedReasonTime=§6Вие бяхте заглушени за {0}\! Причина\: §c{1}
|
||||
walking=вървене
|
||||
warpCommandUsage=/<command> <pagenumber|warp> [player]
|
||||
warpCommandUsage1=/<command> [page]
|
||||
warpDeleteError=§4Проблем при изтриването на файла на уарпа.
|
||||
warpinfoCommandUsage=/<command> <warp>
|
||||
warpinfoCommandUsage1=/<command> <warp>
|
||||
@@ -853,6 +974,7 @@ whoisAFKSince=§6 - Неактивен/на\:§r {0} (От {1})
|
||||
whoisBanned=§6 - Ограничен/а\:§r {0}
|
||||
whoisCommandDescription=Определя потребителското име зад псевдоним.
|
||||
whoisCommandUsage1=/<command> <player>
|
||||
whoisCommandUsage1Description=Дава основна информация за указаният потребител
|
||||
whoisExp=§6 - Опит\:§r {0} (Ниво {1})
|
||||
whoisFly=§6 - Летателен режим\:§r {0} ({1})
|
||||
whoisSpeed=Скорост
|
||||
@@ -878,6 +1000,7 @@ workbenchCommandUsage=/<command>
|
||||
worldCommandDescription=Превключвате между светове.
|
||||
worldCommandUsage=/<command> [world]
|
||||
worldCommandUsage1=/<command>
|
||||
worldCommandUsage2Description=Телепортира на твойта локация в даден свят
|
||||
worth=§aСтак от {0} струва §c{1}§a ({2} предмет(а) по {3} всеки)
|
||||
worthMeta=§aСтак от {0} с метаданни на {1} струва §c{2}§a ({3} предмет(а) по {4} всеки)
|
||||
worthSet=§6Цената е зададена
|
||||
|
||||
@@ -126,7 +126,7 @@ cantReadGeoIpDB=Nepodařilo se načíst GeoIP databázi\!
|
||||
cantSpawnItem=§4Nemáš dovoleno vytvořit předmět§c {0}§4.
|
||||
cartographytableCommandDescription=Otevře kartografický stůl.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeLocal=§3[L]
|
||||
chatTypeSpy=[Špeh]
|
||||
cleaned=Uživatelské soubory vyčištěny.
|
||||
cleaning=Čištění uživatelských souborů.
|
||||
@@ -143,6 +143,7 @@ clearinventoryCommandUsage3Description=Vymaže všechny zadané předměty (nebo
|
||||
clearinventoryconfirmtoggleCommandDescription=Přepíná, zda je třeba potvrzovat vyprázdnění inventáře.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cTento příkaz můžete použít až za {0}.
|
||||
commandDisabled=§cPříkaz§6 {0}§cje vypnut.
|
||||
@@ -205,7 +206,7 @@ delhomeCommandDescription=Odstraní domov.
|
||||
delhomeCommandUsage=/<command> [hráč\:]<název>
|
||||
delhomeCommandUsage1=/<command> <název>
|
||||
delhomeCommandUsage1Description=Odstraní domov se zadaným jménem
|
||||
delhomeCommandUsage2=/<command> <player>\:<name>
|
||||
delhomeCommandUsage2=/<command> <hráč>\:<název>
|
||||
delhomeCommandUsage2Description=Odstraní uvedený domov zadaného hráče
|
||||
deljailCommandDescription=Odstraní vězení.
|
||||
deljailCommandUsage=/<command> <název_vězení>
|
||||
@@ -214,11 +215,11 @@ deljailCommandUsage1Description=Odstraní vězení se zadaným jménem
|
||||
delkitCommandDescription=Odstraní zadanou sadu.
|
||||
delkitCommandUsage=/<command> <sada>
|
||||
delkitCommandUsage1=/<command> <sada>
|
||||
delkitCommandUsage1Description=Smaže kit s daným názvem
|
||||
delkitCommandUsage1Description=Smaže sadu se zadaným názvem
|
||||
delwarpCommandDescription=Odstraní zadaný warp.
|
||||
delwarpCommandUsage=/<command> <warp>
|
||||
delwarpCommandUsage1=/<command> <warp>
|
||||
delwarpCommandUsage1Description=Smaže warp s daným názvem
|
||||
delwarpCommandUsage1Description=Smaže warp se zadaným názvem
|
||||
deniedAccessCommand=§4Hráči§c {0} §4byl odepřen přístup k příkazu.
|
||||
denyBookEdit=§4Tuto knihu nemůžeš odemknout.
|
||||
denyChangeAuthor=§4Autora této knihy nemůžeš změnit.
|
||||
@@ -232,6 +233,18 @@ destinationNotSet=Cíl není nastaven\!
|
||||
disabled=vypnuto
|
||||
disabledToSpawnMob=§4Vyvolání tohoto stvoření je zakázáno v konfiguračním souboru.
|
||||
disableUnlimited=§6Neomezené pokládání§c {0} §6bylo vypnuto pro hráče §c{1}§6.
|
||||
discordbroadcastCommandDescription=Vyšle oznámení na zadaný kanál Discordu.
|
||||
discordbroadcastCommandUsage=/<command> <kanál> <zpráva>
|
||||
discordbroadcastCommandUsage1=/<command> <kanál> <zpráva>
|
||||
discordbroadcastCommandUsage1Description=Odešle zprávu na zadaný kanál na Discordu
|
||||
discordbroadcastInvalidChannel=§4Kanál na Discordu§c{0}§4 neexistuje.
|
||||
discordbroadcastPermission=§4Nemáš oprávnění posílat zprávy na kanál §c{0}§4.
|
||||
discordbroadcastSent=§6Zpráva odeslána na kanál §c{0}§6\!
|
||||
discordCommandDescription=Zašle hráči pozvánku na Discord.
|
||||
discordCommandLink=§6Připoj se k našemu Discord serveru na §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Zašle hráči odkaz s pozvánkou na Discord
|
||||
discordCommandExecuteDescription=Provede příkaz konzole na Minecraft serveru.
|
||||
discordCommandExecuteArgumentCommand=Příkaz, který se má provést
|
||||
discordCommandExecuteReply=Provádění příkazu\: „/{0}“
|
||||
@@ -248,6 +261,8 @@ discordErrorLoggerNoPerms=Protokolování konzole na Discord bylo zakázáno z d
|
||||
discordErrorNoGuild=Neplatné nebo chybějící ID serveru\! Při nastavení zásuvného modulu postupujte podle návodu v konfiguraci.
|
||||
discordErrorNoGuildSize=Tvůj bot není na žádném serveru\! Při nastavení zásuvného modulu postupujte dle návodu v konfiguraci.
|
||||
discordErrorNoPerms=Váš bot nemůže vidět žádný kanál ani na žádném kanálu mluvit\! Ujistěte se, že váš bot má oprávnění ke čtení a zápisu ve všech kanálech, které chcete používat.
|
||||
discordErrorNoPrimary=Nedefinovali jste primární kanál nebo definovaný primární kanál je neplatný. Návrat zpět na výchozí kanál\: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Váš bot nemůže mluvit ve vašem primárním kanálu \#{0}. Ujistěte se, že váš bot má oprávnění ke čtení a zápisu ve všech kanálech, které chcete používat.
|
||||
discordErrorNoToken=Nebyl zadán žádný token\! Chcete-li nastavit zásuvný modul, postupujte podle návodu v konfiguraci.
|
||||
discordErrorWebhook=Došlo k chybě při odesílání zpráv do kanálu konzole\! To bylo pravděpodobně způsobeno omylem smazáným webovým háčkem konzole. To lze obvykle opravit tak, že zajistíte, aby váš bot měl oprávnění „Správa háčků webhook“ a pak proveďte „/ess reload“.
|
||||
discordLoggingIn=Pokouším se přihlásit do Discordu...
|
||||
@@ -260,25 +275,31 @@ disposalCommandUsage=/<command>
|
||||
distance=§6Vzdálenost\: {0}
|
||||
dontMoveMessage=§6Teleport bude zahájen za§c {0}§6. Nehýbej se.
|
||||
downloadingGeoIp=Stahuje se GeoIP databáze... může to chvilku trvat (země\: 1,7 MB, město\: 30 MB)
|
||||
dumpConsoleUrl=Byl vytvořen výpis serveru\: §c{0}
|
||||
dumpCreating=§6Vytváří se výpis serveru...
|
||||
dumpDeleteKey=§6Pokud chceš odstranit tento výpis později, použij pro odstranění následující klíč\: §c{0}
|
||||
dumpError=§4Chyba při vytváření výpisu §c{0}§4.
|
||||
dumpErrorUpload=§4Chyba při nahrávání §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Vytvořen výpis serveru\: §c{0}
|
||||
duplicatedUserdata=Duplicitní uživatelská data\: {0} a {1}.
|
||||
durability=§6U tohoto nástroje zbývá ještě §c{0}§6 použití.
|
||||
east=V
|
||||
ecoCommandDescription=Spravuje ekonomiku serveru.
|
||||
ecoCommandUsage=/<command> <give|take|set|reset> <hráč> <částka>
|
||||
ecoCommandUsage1=/<command> give <player> <amount>
|
||||
ecoCommandUsage1Description=Dá specifikovanému hráči daný počet peněz
|
||||
ecoCommandUsage2=/<command> take <player> <amount>
|
||||
ecoCommandUsage2Description=Vezme specifikovanému hráči daný počet peněz
|
||||
ecoCommandUsage3=/<command> set <player> <amount>
|
||||
ecoCommandUsage3Description=Nastaví specifikovanému hráči daný počet peněz
|
||||
ecoCommandUsage4=/<command> reset <player> <amount>
|
||||
ecoCommandUsage4Description=Resetuje specifikovanému hráči peníze na startovní částku
|
||||
ecoCommandUsage1=/<command> give <hráč> <množství>
|
||||
ecoCommandUsage1Description=Dá zadanému hráči uvedený počet peněz
|
||||
ecoCommandUsage2=/<command> take <hráč> <množství>
|
||||
ecoCommandUsage2Description=Vezme zadanému hráči uvedený počet peněz
|
||||
ecoCommandUsage3=/<command> set <hráč> <množství>
|
||||
ecoCommandUsage3Description=Nastaví zadanému hráči uvedený počet peněz
|
||||
ecoCommandUsage4=/<command> reset <hráč> <množství>
|
||||
ecoCommandUsage4Description=Nastaví zadanému hráči zůstatek na počáteční částku
|
||||
editBookContents=§eNyní můžeš upravovat obsah této knihy.
|
||||
enabled=povoleno
|
||||
enchantCommandDescription=Očaruje předmět, který uživatel drží.
|
||||
enchantCommandUsage=/<command> <název_očarování> [úroveň]
|
||||
enchantCommandUsage1=/<command> <enchantment name> [level]
|
||||
enchantCommandUsage1Description=Očaruje předmět držený v ruce s daným očarováním na volitelnou úroveň
|
||||
enchantCommandUsage1=/<command> <název_očarování> [úroveň]
|
||||
enchantCommandUsage1Description=Očaruje předmět držený v ruce daným očarováním na volitelnou úroveň
|
||||
enableUnlimited=§6Hráč §c{1}§6 dostává neomezené množství §c{0}§6.
|
||||
enchantmentApplied=§6Na předmět, který držíš v ruce, bylo sesláno očarování§c {0}§6.
|
||||
enchantmentNotFound=§4Očarování nebylo nalezeno\!
|
||||
@@ -288,46 +309,48 @@ enchantments=§6Očarováni\:§r {0}
|
||||
enderchestCommandDescription=Otevře enderitovou truhlu.
|
||||
enderchestCommandUsage=/<command> [hráč]
|
||||
enderchestCommandUsage1=/<command>
|
||||
enderchestCommandUsage1Description=Otevře vaši ender chestu
|
||||
enderchestCommandUsage1Description=Otevře tvou enderitovou truhlu
|
||||
enderchestCommandUsage2=/<command> <hráč>
|
||||
enderchestCommandUsage2Description=Otevře ender chestu daného hráče
|
||||
enderchestCommandUsage2Description=Otevře enderitovou truhlu daného hráče
|
||||
errorCallingCommand=Chyba příkazu /{0}
|
||||
errorWithMessage=§cChyba\:§4 {0}
|
||||
essentialsCommandDescription=Znovu načte EssentialsX.
|
||||
essentialsCommandUsage=/<command>
|
||||
essentialsCommandUsage1=/<command> reload
|
||||
essentialsCommandUsage1Description=Obnoví config Essentials
|
||||
essentialsCommandUsage1Description=Znovu načte konfiguraci Essentials
|
||||
essentialsCommandUsage2=/<command> version
|
||||
essentialsCommandUsage2Description=Dá informace o verzi Essentials
|
||||
essentialsCommandUsage2Description=Poskytuje informace o verzi Essentials
|
||||
essentialsCommandUsage3=/<command> commands
|
||||
essentialsCommandUsage3Description=Dá informace o příkazech, které Essentials ovlivňuje
|
||||
essentialsCommandUsage3Description=Informuje, které příkazy Essentials předává dál
|
||||
essentialsCommandUsage4=/<command> debug
|
||||
essentialsCommandUsage4Description=Zapne Essentials "debug mod"
|
||||
essentialsCommandUsage5=/<command> reset <player>
|
||||
essentialsCommandUsage4Description=Přepíná Essentials do režimu ladění
|
||||
essentialsCommandUsage5=/<command> reset <hráč>
|
||||
essentialsCommandUsage5Description=Resetuje hráčská data daného hráče
|
||||
essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Vyčistí stará uživatelská data
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=Spravuje uživatelské domovy
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Vygeneruje výpis serveru s požadovanými informacemi
|
||||
essentialsHelp1=Soubor je poškozen a Essentials jej nemůže otevřít. Essentials byl vypnut. Pokud nedokážete soubor opravit sami, navštivte http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Soubor je poškozen a Essentials jej nemůže otevřít. Essentials byl vypnut. Pokud nedokážete soubor opravit sami, napište ve hře /essentialshelp nebo navštivte http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials byl znovu načten§c {0}.
|
||||
exp=§c{0} §6má§c {1} §6zkušeností (úroveň§c {2}§6) a potřebuje ještě§c {3} §6 zkušeností na další úroveň.
|
||||
expCommandDescription=Přidává, nastavuje, obnovuje nebo zobrazuje hráčovy zkušenosti.
|
||||
expCommandUsage=/<command> [reset|show|set|give] [jméno_hráče [množství]]
|
||||
expCommandUsage1=/<command> give <player> <amount>
|
||||
expCommandUsage1Description=Dá danému hráči specifikovaný počet zkušeností
|
||||
expCommandUsage2=/<command> set <playername> <amount>
|
||||
expCommandUsage2Description=Nastaví danému hráči specifikovaný počet
|
||||
expCommandUsage3=/<command> show <playername>
|
||||
expCommandUsage1=/<command> give <hráč> <množství>
|
||||
expCommandUsage1Description=Dá zadanému hráči uvedené množství zkušeností
|
||||
expCommandUsage2=/<command> set <název_hráče> <množství>
|
||||
expCommandUsage2Description=Nastaví danému hráči uvedené množství zkušeností
|
||||
expCommandUsage3=/<command> show <hráč>
|
||||
expCommandUsage4Description=Zobrazí počet zkušeností daného hráče
|
||||
expCommandUsage5=/<command> reset <playername>
|
||||
expCommandUsage5Description=Resetuje zkušenosti daného hráče na 0
|
||||
expCommandUsage5=/<command> reset <hráč>
|
||||
expCommandUsage5Description=Vynuluje zkušenosti daného hráče
|
||||
expSet=§c{0} §6má nyní§c {1} §6zkušeností.
|
||||
extCommandDescription=Uhasit hráče.
|
||||
extCommandUsage=/<command> [hráč]
|
||||
extCommandUsage1=/<command> [hráč]
|
||||
extCommandUsage1Description=Uhasí vás či jiného hráče, pokud je zadáno jméno
|
||||
extCommandUsage1Description=Uhasí tebe či jiného hráče, je-li zadán
|
||||
extinguish=§6Uhasil ses.
|
||||
extinguishOthers=§6Uhasil jsi hráče {0}§6.
|
||||
failedToCloseConfig=Nepodařilo se uzavřít konfiguraci {0}.
|
||||
@@ -338,7 +361,7 @@ feed=§6Tvůj hlad byl zahnán.
|
||||
feedCommandDescription=Zažene hlad.
|
||||
feedCommandUsage=/<command> [hráč]
|
||||
feedCommandUsage1=/<command> [hráč]
|
||||
feedCommandUsage1Description=Nakrmí vás či jiného hráče, pokud je zadáno jméno
|
||||
feedCommandUsage1Description=Nakrmí tebe či jiného hráče, je-li zadán
|
||||
feedOther=§6Nasytil jsi hráče§c{0}§6.
|
||||
fileRenameError=Přejmenováni souboru {0} selhalo\!
|
||||
fireballCommandDescription=Vrhá ohnivou kouli nebo jiné rozmanité projektily.
|
||||
@@ -419,8 +442,8 @@ hatCommandDescription=Získej nějaké nové úžasné pokrývky hlavy.
|
||||
hatCommandUsage=/<command> [remove]
|
||||
hatCommandUsage1=/<command>
|
||||
hatCommandUsage1Description=Předmět v ruce se použije jako klobouk
|
||||
hatCommandUsage2=/<command> [remove]
|
||||
hatCommandUsage2Description=Odstraní tvůj aktuální klobouk
|
||||
hatCommandUsage2=/<command> remove
|
||||
hatCommandUsage2Description=Odstraní tvůj momentální klobouk
|
||||
hatCurse=§4Nemůžeš odstranit klobouk s kletbou spoutání\!
|
||||
hatEmpty=§4Momentálně nemáš nasazen žádný klobouk.
|
||||
hatFail=§4Co chceš mít nasazeno na hlavě, musíš držet v ruce.
|
||||
@@ -454,7 +477,7 @@ homeCommandDescription=Teleportace k tobě domů.
|
||||
homeCommandUsage=/<command> [hráč\:]<název>
|
||||
homeCommandUsage1=/<command> <název>
|
||||
homeCommandUsage1Description=Teleportuje do domova se zadaným jménem
|
||||
homeCommandUsage2=/<command> <player>\:<name>
|
||||
homeCommandUsage2=/<command> <hráč>\:<název>
|
||||
homeCommandUsage2Description=Teleportuje tě do domova zadaného hráče se zadaným jménem
|
||||
homes=§6Domovy\:§r {0}
|
||||
homeConfirmation=§6Již máš domov s názvem §c{0}§6\!\nChceš-li přepsat svůj existující domov, napiš příkaz znovu.
|
||||
@@ -517,7 +540,7 @@ itemCannotBeSold=§4Tento předmět nelze prodat serveru.
|
||||
itemCommandDescription=Vyvolá předmět.
|
||||
itemCommandUsage=/<command> <předmět|číselně> [počet [meta_předmětu...]]
|
||||
itemCommandUsage1=/<command> <předmět> [počet]
|
||||
itemCommandUsage1Description=Dá cílovému hráči celý stack (nebo uvedené množství) zadaného předmětu
|
||||
itemCommandUsage1Description=Dá hráči celý stack (nebo uvedené množství) zadaného předmětu
|
||||
itemCommandUsage2=/<command> <předmět> <počet> <meta>
|
||||
itemCommandUsage2Description=Dá ti zadané množství určitého předmětu s uvedenými metadaty
|
||||
itemId=§6ID\:§c {0}
|
||||
@@ -525,10 +548,11 @@ itemloreClear=§6Odstranil jsi moudro tohoto předmětu.
|
||||
itemloreCommandDescription=Upravit moudro předmětu.
|
||||
itemloreCommandUsage=/<command> <add/set/clear> [text/řádek] [text]
|
||||
itemloreCommandUsage1=/<command> add [text]
|
||||
itemloreCommandUsage1Description=Přidá zadaný text na konec moudra předmětu v ruce
|
||||
itemloreCommandUsage2Description=Nastaví zadaný řádek moudra drženého předmětu na daný text
|
||||
itemloreCommandUsage1Description=Přidá daný text na konec lore předmětu drženého v ruce
|
||||
itemloreCommandUsage2=/<command> set <číslo řádku> <text>
|
||||
itemloreCommandUsage2Description=Nastaví daný řádek lore předmětu v ruce na daný text
|
||||
itemloreCommandUsage3=/<command> clear
|
||||
itemloreCommandUsage3Description=Vymaže moudro drženého předmětu
|
||||
itemloreCommandUsage3Description=Vymaže lore předmětu v ruce
|
||||
itemloreInvalidItem=§4Předmět, u něhož chceš upravit moudro, musíš držet v ruce.
|
||||
itemloreNoLine=§4Předmět ve tvé ruce nemá žádné moudro na řádce §c{0}§4.
|
||||
itemloreNoLore=§4Předmět ve tvé ruce nemá žádné moudro.
|
||||
@@ -564,6 +588,9 @@ jailAlreadyIncarcerated=§4Tento hráč již úpí ve vězení\:§c {0}
|
||||
jailList=§6Vězení\:§r {0}
|
||||
jailMessage=§4Provinil ses, tak teď musíš pykat.
|
||||
jailNotExist=§4Toto vězení neexistuje.
|
||||
jailNotifyJailed=§6Hráč§c{0} §6uvězněn hráčem §c{1}§6.
|
||||
jailNotifyJailedFor=§6Hráč§c {0} §6uvězněn za§c {1}§6 hráčem §c{2}§6.
|
||||
jailNotifySentenceExtended=§6Uvěznění hráče§c{0} §6bylo hráčem §c{2}§6 prodlouženo na §c{1} §6.
|
||||
jailReleased=§6Hráč §c{0}§6 byl propuštěn na svobodu.
|
||||
jailReleasedPlayerNotify=§6Byl jsi propuštěn na svobodu\!
|
||||
jailSentenceExtended=§6Uvěznění bylo prodlouženo na §c{0}§6.
|
||||
@@ -640,12 +667,14 @@ listCommandUsage1=/<command> [skupina]
|
||||
listCommandUsage1Description=Zobrazí seznam všech hráčů na serveru nebo v dané skupině, byla-li zadána
|
||||
listGroupTag=§6/{0}§r\:
|
||||
listHiddenTag=§7[SKRYTÝ]§r
|
||||
listRealName=({0})
|
||||
loadWarpError=§4Nepodařilo se načíst warp {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
localFormat=§3[L] §r<{0}> {1}
|
||||
loomCommandDescription=Otevře tkalcovský stav.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Zprávy vymažeš příkazem §c/mail clear§6.
|
||||
mailCleared=§6Zpráva smazána\!
|
||||
mailClearIndex=§4Musíš zadat číslo mezi 1 a {0}.
|
||||
mailCommandDescription=Spravuje vnitroserverovou poštu mezi hráči.
|
||||
mailCommandUsage=/<command> [read|clear|clear [počet]|send [adresát] [zpráva]|sendtemp [adresát] [čas vypršení] [zpráva]|sendall [zpráva]]
|
||||
mailCommandUsage1=/<command> read [strana]
|
||||
@@ -657,11 +686,19 @@ mailCommandUsage3Description=Odešle zadanému hráči danou zprávu
|
||||
mailCommandUsage4=/<command> sendall <zpráva>
|
||||
mailCommandUsage4Description=Odešle všem hráčům danou zprávu
|
||||
mailCommandUsage5=/<command> sendtemp <hráč> <čas vypršení> <zpráva>
|
||||
mailCommandUsage5Description=Odešle uvedenému hráči zprávu, která vyprší v zadaném čase
|
||||
mailCommandUsage6=/<command> sendtempall <čas vypršení> <zpráva>
|
||||
mailCommandUsage6Description=Zašle všem hráčům danou zprávu, jejíž platnost vyprší za zadanou dobu
|
||||
mailDelay=Za poslední minutu bylo odesláno příliš mnoho zpráv. Maximum\: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewRead=§6[§r{0}§6] §6[§r{1}§6] §7§o{2}
|
||||
mailFormatNewReadTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §7§o{2}
|
||||
mailFormat=§6[§r{0}§6] §r{1}
|
||||
mailMessage={0}
|
||||
mailSent=§6Zpráva odeslána\!
|
||||
mailSentTo=§6Hráči §c{0}§6 byla odeslána tato zpráva\:
|
||||
mailSentToExpire=§6Hráči §c{0}§6 byl odeslán následující e-mail, který vyprší za §c{1}§6\:
|
||||
mailTooLong=§4Zpráva je příliš dlouhá, může obsahovat nejvýše 1000 znaků.
|
||||
markMailAsRead=§6Příkazem§c /mail clear§6 označíš poštu jako přečtenou.
|
||||
matchingIPAddress=§6Z této IP adresy se v minulosti připojili následující hráči\:
|
||||
@@ -692,6 +729,7 @@ months=měsíců
|
||||
moreCommandDescription=Vyplní stack v ruce na stanovené množství nebo na maximum, není-li množství uvedeno.
|
||||
moreCommandUsage=/<command> [množství]
|
||||
moreCommandUsage1=/<command> [množství]
|
||||
moreCommandUsage1Description=Změní množství předmětu v ruce na uvedené množství, nebo pokud není uvedeno, na maximální množství
|
||||
moreThanZero=§4Množtví musí být větší než 0.
|
||||
motdCommandDescription=Zobrazí zprávu dne.
|
||||
motdCommandUsage=/<command> [kapitola] [strana]
|
||||
@@ -699,6 +737,7 @@ moveSpeed=§6Hráči §c{2}§6 byla nastavena rychlost §c{0} na §c{1}§6.
|
||||
msgCommandDescription=Pošle soukromou zprávu zadanému hráči.
|
||||
msgCommandUsage=/<command> <komu> [zpráva]
|
||||
msgCommandUsage1=/<command> <komu> [zpráva]
|
||||
msgCommandUsage1Description=Soukromě pošle danou zprávu určitému hráči
|
||||
msgDisabled=§6Přijímání zpráv §cvypnuto§6.
|
||||
msgDisabledFor=§6Přijímání zpráv §cvypnuto §6pro §c{0}§6.
|
||||
msgEnabled=§6Přijímání zpráv §cpovoleno§6.
|
||||
@@ -714,6 +753,9 @@ multiplePotionEffects=§4Na tento lektvar nelze použít více než jeden efekt.
|
||||
muteCommandDescription=Umlčí hráče nebo mu povolí mluvit.
|
||||
muteCommandUsage=/<command> <hráč> [trvání] [důvod]
|
||||
muteCommandUsage1=/<command> <hráč>
|
||||
muteCommandUsage1Description=Trvale umlčí specifického hráče, nebo ho odmlčí, pokud už byl umlčen
|
||||
muteCommandUsage2=/<command> <hráč> <trvání> [důvod]
|
||||
muteCommandUsage2Description=Umlčí specifického hráče na danou dobu s volitelným důvodem
|
||||
mutedPlayer=§6Hráč§c {0} §6byl umlčen.
|
||||
mutedPlayerFor=§6Hráč§c {0} §6byl umlčen na§c {1}§6.
|
||||
mutedPlayerForReason=§6Hráč§c {0} §6byl umlčen na §c{1}§6. Důvod\: §c{2}
|
||||
@@ -728,13 +770,27 @@ muteNotifyReason=§c{0} §6umlčel hráče §c{1}§6. Důvod\: §c{2}
|
||||
nearCommandDescription=Vypíše hráče v okolí hráče.
|
||||
nearCommandUsage=/<command> [jméno_hráče] [vzdálenost]
|
||||
nearCommandUsage1=/<command>
|
||||
nearCommandUsage1Description=Vypíše všechny hráče kolem tebe ve výchozím poloměru
|
||||
nearCommandUsage2=/<command> <poloměr>
|
||||
nearCommandUsage2Description=Vypíše všechny hráče kolem tebe v daném poloměru
|
||||
nearCommandUsage3=/<command> <hráč>
|
||||
nearCommandUsage3Description=Vypíše všechny hráče nebo specifického hráče kolem tebe ve výchozím poloměru
|
||||
nearCommandUsage4=/<command> <hráč> <poloměr>
|
||||
nearCommandUsage4Description=Vypíše všechny hráče nebo specifického hráče kolem tebe v daném poloměru
|
||||
nearbyPlayers=§6Hráči v okolí\:§r {0}
|
||||
nearbyPlayersList={0}§f(§c{1} m§f)
|
||||
negativeBalanceError=§4Hráč nemůže mít záporný zůstatek.
|
||||
nickChanged=§6Přezdívka změněna.
|
||||
nickCommandDescription=Změní tvou přezdívku nebo přezdívku jiného hráče.
|
||||
nickCommandUsage=/<command> [hráč] <přezdívka|off>
|
||||
nickCommandUsage1=/<command> <přezdívka>
|
||||
nickCommandUsage1Description=Změní tvou přezdívku na daný text
|
||||
nickCommandUsage2=/<command> off
|
||||
nickCommandUsage2Description=Odstraní tvou přezdívku
|
||||
nickCommandUsage3=/<command> <hráč> <přezdívka>
|
||||
nickCommandUsage3Description=Změní přezdívku specifikovaného hráče na daný text
|
||||
nickCommandUsage4=/<command> <hráč> off
|
||||
nickCommandUsage4Description=Odstraní přezdívku daného hráče
|
||||
nickDisplayName=§4V konfiguraci Essentials musíš povolit change-displayname.
|
||||
nickInUse=§4Toto jméno již někdo používá.
|
||||
nickNameBlacklist=§4Tato přezdívka není dovolena.
|
||||
@@ -776,8 +832,9 @@ noPlacePermission=§4Nemáš oprávnění pokládat bloky poblíž této cedule.
|
||||
noPotionEffectPerm=§4Nemáš oprávnění používat u tohoto lektvaru účinek §c{0}§4.
|
||||
noPowerTools=§6Nemáš přiřazen žádný výkonný nástroj.
|
||||
notAcceptingPay=§4{0} §4nepřijímá platby.
|
||||
notAllowedToQuestion=§4Nemáš oprávnění používat funkci otázky.
|
||||
notAllowedToShout=§4Nemáš oprávnění používat funkci halekání.
|
||||
notAllowedToLocal=§4Nemáš oprávnění mluvit v místním chatu.
|
||||
notAllowedToQuestion=§4Nemáš oprávnění položit dotaz.
|
||||
notAllowedToShout=§4Nemáš oprávnění k hlučnému módu.
|
||||
notEnoughExperience=§4Nemáš dostatek zkušeností.
|
||||
notEnoughMoney=§4Nemáš dost prostředků.
|
||||
notFlying=nelétá
|
||||
@@ -787,6 +844,8 @@ noWarpsDefined=§6Žádné warpy nejsou nastaveny.
|
||||
nuke=§5Nechť oheň a síra pohltí svět.
|
||||
nukeCommandDescription=Nechť oheň a síra pohltí svět.
|
||||
nukeCommandUsage=/<command> [hráč]
|
||||
nukeCommandUsage1=/<command> [hráči...]
|
||||
nukeCommandUsage1Description=Pošle atomovku na všechny hráče, nebo na určité(ho) hráče, pokud je specifikováno
|
||||
numberRequired=Tam přece musí být číslo.
|
||||
onlyDayNight=/time podporuje pouze day/night.
|
||||
onlyPlayers=§4Pouze hráči ve hře mohou použít §c{0}§4.
|
||||
@@ -800,6 +859,7 @@ passengerTeleportFail=§4Nemůžeš být teleportován během přepravy cestují
|
||||
payCommandDescription=Převede peníze jinému hráči z tvého zůstatku.
|
||||
payCommandUsage=/<command> <hráč> [částka]
|
||||
payCommandUsage1=/<command> <hráč> [částka]
|
||||
payCommandUsage1Description=Zaplatí zadanému hráči uvedený počet peněz
|
||||
payConfirmToggleOff=§6Od této chvíle se nebude požadovat potvrzení platby.
|
||||
payConfirmToggleOn=§6Od této chvíle se bude požadovat potvrzení platby.
|
||||
payDisabledFor=§6Přijímání plateb bylo pro §c{0}§6 vypnuto.
|
||||
@@ -813,6 +873,7 @@ payconfirmtoggleCommandUsage=/<command>
|
||||
paytoggleCommandDescription=Přepíná, zda přijímáš platby.
|
||||
paytoggleCommandUsage=/<command> [hráč]
|
||||
paytoggleCommandUsage1=/<command> [hráč]
|
||||
paytoggleCommandUsage1Description=Přepíná, zda ty nebo případný zadaný hráč, přijímáte platby
|
||||
pendingTeleportCancelled=§4Nevyřízená žádost o teleportování byla zrušena.
|
||||
pingCommandDescription=Pong\!
|
||||
pingCommandUsage=/<command>
|
||||
@@ -832,12 +893,25 @@ playerTempBanned=§6Hráč §c{0}§6 dočasně zablokoval hráče §c{1}§6 na
|
||||
playerUnbanIpAddress=§6Hráč§c {0} §6odblokoval IP adresu\:§c {1}
|
||||
playerUnbanned=§6Hráč§c {0} §6odblokoval hráče§c {1}
|
||||
playerUnmuted=§6Můžeš opět hovořit.
|
||||
playtimeCommandDescription=Zobrazí hráčův čas strávený ve hře
|
||||
playtimeCommandUsage=/<command> [hráč]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Zobrazí tvůj čas strávený ve hře
|
||||
playtimeCommandUsage2=/<command> <hráč>
|
||||
playtimeCommandUsage2Description=Zobrazí pro zadaného hráče čas strávený ve hře
|
||||
playtime=§6Odehráno\:§c {0}
|
||||
playtimeOther=§6Hráč {1} odehrál§6\:§c {0}
|
||||
pong=Pong\!
|
||||
posPitch=§6Sklon\: {0} (Úhel náklonu hlavy)
|
||||
possibleWorlds=§6Možné světy jsou očíslované v rozmezí §c0§6 až §c{0}§6.
|
||||
potionCommandDescription=Přidá do lektvaru vlastní účinky.
|
||||
potionCommandUsage=/<command> <clear|apply|effect\:<účinek> power\:<síla> duration\:<trvání>>
|
||||
potionCommandUsage1=/<command> clear
|
||||
potionCommandUsage1Description=Odstraní z lektvaru v ruce všechny efekty
|
||||
potionCommandUsage2=/<command> apply
|
||||
potionCommandUsage2Description=Aplikuje na tebe všechny efekty lektvaru v ruce, aniž by jsi lektvar vypil
|
||||
potionCommandUsage3=/<command> effect\:<efekt> power\:<síla> duration\:<trvání>
|
||||
potionCommandUsage3Description=Aplikuje metadata daného lektvaru na lektvar v ruce
|
||||
posX=§6X\: {0} (+Východ <-> -Západ)
|
||||
posY=§6Y\: {0} (+Nahoru <-> -Dolů)
|
||||
posYaw=§6Odchýlení\: {0} (Natočení)
|
||||
@@ -856,12 +930,34 @@ powerToolsDisabled=§6Všechny tvé výkonné nástroje byly vypnuty.
|
||||
powerToolsEnabled=§6Věechny tvé výkonné nástroje byly povoleny.
|
||||
powertoolCommandDescription=Přiřadí příkaz k předmětu v ruce.
|
||||
powertoolCommandUsage=/<command> [l\:|a\:|r\:|c\:|d\:][příkaz] [parametry] - {hráč} může být nahrazeno jménem kliknutého hráče.
|
||||
powertoolCommandUsage1=/<command> l\:
|
||||
powertoolCommandUsage1Description=Vypíše všechny příkazy, které budou vykonány po kliknutí předmětem v ruce
|
||||
powertoolCommandUsage2=/<command> d\:
|
||||
powertoolCommandUsage2Description=Smaže z předmětu v ruce všechny příkazy, které budou vykonány po kliknutí s ním
|
||||
powertoolCommandUsage3=/<command> r\:<vykonaný příkaz>
|
||||
powertoolCommandUsage3Description=Odstraní daný příkaz z předmětu v ruce
|
||||
powertoolCommandUsage4=/<command> <vykonaný příkaz>
|
||||
powertoolCommandUsage4Description=Nastaví příkaz předmětu v ruce, který bude vykonán po kliknutí s ním na daný příkaz
|
||||
powertoolCommandUsage5=/<command> a\:<vykonaný příkaz>
|
||||
powertoolCommandUsage5Description=Přidá na předmět v ruce příkaz, který bude vykonán po kliknutí s ním
|
||||
powertooltoggleCommandDescription=Povolí nebo zakáže všechny aktuální mocné nástroje.
|
||||
powertooltoggleCommandUsage=/<command>
|
||||
ptimeCommandDescription=Upraví čas klienta hráče. Přidej @ prefix pro opravu.
|
||||
ptimeCommandUsage=/<command> [list|reset|day|night|dawn|17\:30|4pm|4000ticks] [hráč|*]
|
||||
ptimeCommandUsage1=/<command> list [hráč|*]
|
||||
ptimeCommandUsage1Description=Vypíše buď tvůj čas, nebo čas jiného hráče(ů), pokud je specifikováno
|
||||
ptimeCommandUsage2=/<command> <čas> [hráč|*]
|
||||
ptimeCommandUsage2Description=Nastaví tvůj čas nebo čas jiného hráče(ů), pokud je specifikováno, na daný čas
|
||||
ptimeCommandUsage3=/<command> reset [hráč|*]
|
||||
ptimeCommandUsage3Description=Resetuje tvůj čas, nebo čas jiného hráče(ů), pokud je specifikováno
|
||||
pweatherCommandDescription=Upraví počasí hráče
|
||||
pweatherCommandUsage=/<command> [list|reset|storm|sun|clear] [hráč|*]
|
||||
pweatherCommandUsage1=/<command> list [hráč|*]
|
||||
pweatherCommandUsage1Description=Uvede počasí, které vidíš ty, nebo jiný(í) hráč(i), pokud je specifikován
|
||||
pweatherCommandUsage2=/<command> <storm|sun> [hráč|*]
|
||||
pweatherCommandUsage2Description=Nastaví počasí, které vidíš ty, nebo jiný(í) hráč(i), pokud je specifikován(i), na dané počasí
|
||||
pweatherCommandUsage3=/<command> reset [hráč|*]
|
||||
pweatherCommandUsage3Description=Resetuje počasí, které vidíš ty, nebo jiný(í) hráč(i), pokud je specifikováno
|
||||
pTimeCurrent=§6Čas hráče §c{0}§6 je §c{1}§6.
|
||||
pTimeCurrentFixed=§6Čas hráče §c{0}§6 byl zastaven na §c{1}§6.
|
||||
pTimeNormal=§6Čas hráče §c{0}§6 souhlasí s časem serveru.
|
||||
@@ -881,17 +977,21 @@ questionFormat=§2[Otázka]§r {0}
|
||||
rCommandDescription=Rychle odpovědět poslednímu hráči, který ti poslal zprávu.
|
||||
rCommandUsage=/<command> <zpráva>
|
||||
rCommandUsage1=/<command> <zpráva>
|
||||
rCommandUsage1Description=Odpoví daným textem poslednímu hráči, který ti poslal zprávu
|
||||
radiusTooBig=§4Poloměr je příliš veliký\! Maximální poloměr je§c {0}§4.
|
||||
readNextPage=§6Další stránku zobrazíš příkazem§c /{0} {1}§6.
|
||||
realName=§f{0}§r§6 je §f{1}
|
||||
realnameCommandDescription=Zobrazí uživatelské jméno uživatele na základě přezdívky.
|
||||
realnameCommandUsage=/<command> <přezdívka>
|
||||
realnameCommandUsage1=/<command> <přezdívka>
|
||||
realnameCommandUsage1Description=Ukáže pravé jméno hráče s danou přezdívkou
|
||||
recentlyForeverAlone=§4{0} se nedávno odpojil.
|
||||
recipe=§6Recept pro §c{0}§6 (§c{1}§6 x §c{2}§6)
|
||||
recipeBadIndex=Recept s takovýmto číslem neexistuje.
|
||||
recipeCommandDescription=Zobrazuje, jak vyrábět předměty.
|
||||
recipeCommandUsage=/<command> <předmět> [počet]
|
||||
recipeCommandUsage1=/<příkaz> <předmět> [strana]
|
||||
recipeCommandUsage1Description=Ukáže, jak vyrobit daný předmět
|
||||
recipeFurnace=§6Vypal\: §c{0}§6.
|
||||
recipeGrid=§c{0}X §6| §{1}X §6| §{2}X
|
||||
recipeGridItem=§c{0}X §6je §c{1}
|
||||
@@ -902,12 +1002,19 @@ recipeShapeless=§6Zkombinuj §c{0}
|
||||
recipeWhere=§6Kde\: {0}
|
||||
removeCommandDescription=Odstraní entity v aktuálním světě.
|
||||
removeCommandUsage=/<command> <all|tamed|named|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[typ_stvoření]> [vzdálenost|svět]
|
||||
removeCommandUsage1=/<příkaz> <mob> [svět]
|
||||
removeCommandUsage1Description=Odstraní všechny dané moby ze současného světa, nebo z jiného, pokud je specifikován
|
||||
removeCommandUsage2=/<příkaz> <mob> <poloměr> [svět]
|
||||
removeCommandUsage2Description=Odstraní všechny dané moby v daném poloměru ze současného světa, nebo z jiného, pokud je specifikován
|
||||
removed=§6Odstraněno§c {0} §6entit.
|
||||
repair=§6Úspěšně jsi opravil §c{0}§6.
|
||||
repairAlreadyFixed=§4Tento předmět nepotřebuje opravu.
|
||||
repairCommandDescription=Opraví životnost jednoho nebo všech předmětů.
|
||||
repairCommandUsage=/<command> [hand|all]
|
||||
repairCommandUsage1=/<command>
|
||||
repairCommandUsage1Description=Opraví předmět v ruce
|
||||
repairCommandUsage2=/<příkaz> all
|
||||
repairCommandUsage2Description=Opraví všechny předměty v inventáři
|
||||
repairEnchanted=§4Nemáš oprávnění opravovat očarované předměty.
|
||||
repairInvalidType=§4Tento předmět nelze opravit.
|
||||
repairNone=§4Nemáš žádné předměty, které potřebují opravit.
|
||||
@@ -917,20 +1024,24 @@ replyLastRecipientDisabledFor=§6Odpovídání poslednímu příjemci §cvypnuto
|
||||
replyLastRecipientEnabled=§6Odpovídání poslednímu příjemci §czapnuto§6.
|
||||
replyLastRecipientEnabledFor=§6Odpovídání poslednímu příjemci §czapnuto §6proa §c{0}§6.
|
||||
requestAccepted=§6Zadost o teleport prijata.
|
||||
requestAcceptedAll=§6Přijato §c{0} §6žádostí o teleportování.
|
||||
requestAcceptedAuto=§6Automaticky přijata žádost o teleportování od {0}.
|
||||
requestAcceptedFrom=§6Hráč §c{0} §6přijal tvou žádost o teleportování.
|
||||
requestAcceptedFromAuto=§6Hráč §c{0} §6automaticky přijal tvou žádost o teleportování.
|
||||
requestDenied=§6Žádost o teleportování odmítnuta.
|
||||
requestDeniedAll=§6Odmítnuto §c{0} §6žádostí o teleportování.
|
||||
requestDeniedFrom=§6Hráč §c{0} §6odmítl tvou žádost o teleportování.
|
||||
requestSent=§6Žádost odeslána hráči §c{0}§6.
|
||||
requestSentAlready=§4Žádost o teleportování byla hráči §c{0}§4 už poslána.
|
||||
requestTimedOut=§4Žádost o teleportování vypršela.
|
||||
requestTimedOutFrom=§4Žádost o teleportování od §c{0} §4vypršela.
|
||||
resetBal=§6Stav účtu všech připojených hráčů byl obnoven na §c{0}§6.
|
||||
resetBalAll=§6Stav účtu všech hráčů byl obnoven na §c{0}§6.
|
||||
rest=§6Cítíš se dobře odpočatý.
|
||||
restCommandDescription=Poskytne odpočinek tobě nebo zadanému hráči.
|
||||
restCommandUsage=/<command> [hráč]
|
||||
restCommandUsage1=/<command> [hráč]
|
||||
restCommandUsage1Description=Resetuje čas od vás ostatních nebo jiného hráče, pokud je uveden
|
||||
restOther=§6Poskytnutí odpočinku hráči§c {0}§6.
|
||||
returnPlayerToJailError=§4Při pokusu vrátit hráče §c{0}§4 do vězení došlo k chybě\: §c{1}§4\!
|
||||
rtoggleCommandDescription=Změní, zda je příjemcem odpovědi poslední příjemce, nebo poslední odesílatel
|
||||
@@ -944,10 +1055,20 @@ seenAccounts=§6Hráč je známý také jako\:§c {0}
|
||||
seenCommandDescription=Zobrazí čas posledního odhlášení hráče.
|
||||
seenCommandUsage=/<command> <hráč>
|
||||
seenCommandUsage1=/<command> <hráč>
|
||||
seenCommandUsage1Description=Ukáže informace o času odpojení, banu, umlčení a UUID specifikovaného hráče
|
||||
seenOffline=§6Hráč §c{0} §6je §4odpojen§6 od §c{1}§6.
|
||||
seenOnline=§6Hráč §c{0} §6je §apřipojen§6 od §c{1}§6.
|
||||
sellBulkPermission=§6Nemáš oprávnění prodávat ve velkém.
|
||||
sellCommandDescription=Prodá předmět, který je právě v ruce.
|
||||
sellCommandUsage=/<příkaz> <<jméno předmětu>|<id>|hand|inventory|blocks> [množství]
|
||||
sellCommandUsage1=/<command> <jméno předmětu> [množství]
|
||||
sellCommandUsage1Description=Prodá všechny (nebo daný počet, pokud je specifikován) dané předměty z tvého inventáře
|
||||
sellCommandUsage2=/<command> hand [množství]
|
||||
sellCommandUsage2Description=Prodá všechny (nebo daný počet, pokud je specifikován) předměty, které máš v ruce
|
||||
sellCommandUsage3=/<příkaz> all
|
||||
sellCommandUsage3Description=Prodá úplně všechny předměty ve tvém inventáři
|
||||
sellCommandUsage4=/<command> blocks [množství]
|
||||
sellCommandUsage4Description=Prodá všechny (nebo daný počet, pokud je specifikován) bloky z tvého inventáře
|
||||
sellHandPermission=§6Nemáš oprávnění prodávat z ruky.
|
||||
serverFull=Server je plný\!
|
||||
serverReloading=Je zde značná pravděpodobnost, že právě opětovně načítáte server. Pokud je tomu tak, tak proč se nenávidíte? Při používání /reload neočekávejte od týmu EssentialsX žádnou podporu.
|
||||
@@ -964,19 +1085,33 @@ setSpawner=§6Typ líhně změněn na§c {0}§6.
|
||||
sethomeCommandDescription=Nastaví tvůj domov na aktuální polohu.
|
||||
sethomeCommandUsage=/<command> [[hráč\:]název]
|
||||
sethomeCommandUsage1=/<command> <název>
|
||||
sethomeCommandUsage2=/<command> <player>\:<name>
|
||||
sethomeCommandUsage1Description=Nastaví domov s daným jménem na místo, kde stojíš
|
||||
sethomeCommandUsage2=/<command> <hráč>\:<název>
|
||||
sethomeCommandUsage2Description=Nastaví domov určitého hráče s daným jménem na místo, kde stojíš
|
||||
setjailCommandDescription=Vytvoří vězení se zadaným názvem [název_vězení].
|
||||
setjailCommandUsage=/<command> <název_vězení>
|
||||
setjailCommandUsage1=/<command> <název_vězení>
|
||||
setjailCommandUsage1Description=Nastaví vězení s určitým jménem tam, kde stojíš
|
||||
settprCommandDescription=Nastaví teleportaci na náhodné místo a parametry.
|
||||
settprCommandUsage=/<command> [center|minrange|maxrange] [hodnota]
|
||||
settprCommandUsage1=/<command> center
|
||||
settprCommandUsage1Description=Nastaví střed náhodného teleportu tam, kde stojíš
|
||||
settprCommandUsage2=/<command> minrange <poloměr>
|
||||
settprCommandUsage2Description=Nastaví minimální poloměr náhodného teleportu na danou hodnotu
|
||||
settprCommandUsage3=/<command> maxrange <poloměr>
|
||||
settprCommandUsage3Description=Nastaví maximální poloměr náhodného teleportu na danou hodnotu
|
||||
settpr=§6Nastaven střed náhodné teleportace.
|
||||
settprValue=§6Nastavena náhodná teleportace §c{0}§6 na §c{1}§6.
|
||||
setwarpCommandDescription=Vytvoří nový warp.
|
||||
setwarpCommandUsage=/<command> <warp>
|
||||
setwarpCommandUsage1=/<command> <warp>
|
||||
setwarpCommandUsage1Description=Vytvoří warp s určitým jménem tam, kde stojíš
|
||||
setworthCommandDescription=Nastaví prodejní cenu předmětu.
|
||||
setworthCommandUsage=/<command> [předmět|id] <cena>
|
||||
setworthCommandUsage1=/<command> <cena>
|
||||
setworthCommandUsage1Description=Nastaví hodnotu předmětu, který máš v ruce na danou cenu
|
||||
setworthCommandUsage2=/<command> <jméno předmětu> <cena>
|
||||
setworthCommandUsage2Description=Nastaví hodnotu určitého předmětu na danou cenu
|
||||
sheepMalformedColor=§4Neplatná barva.
|
||||
shoutDisabled=§6Hlučný mód §cvypnut§6.
|
||||
shoutDisabledFor=§6Hlučný mód §cvypnut §6 pro hráče §c{0}§6.
|
||||
@@ -988,6 +1123,7 @@ editsignCommandClearLine=§6Vymazán řádek§c {0}§6.
|
||||
showkitCommandDescription=Zobrazí obsah sady.
|
||||
showkitCommandUsage=/<command> <sada>
|
||||
showkitCommandUsage1=/<command> <sada>
|
||||
showkitCommandUsage1Description=Vypíše seznam všech předmětů v určitém kitu
|
||||
editsignCommandDescription=Upravuje danou ceduli.
|
||||
editsignCommandLimit=§4Zadaný text je příliš dlouhý, než aby se vešel na ceduli.
|
||||
editsignCommandNoLine=§4Musíš zadat číslo řádku §c1 až 4§4.
|
||||
@@ -998,6 +1134,14 @@ editsignCopyLine=§6Řádek §c{0} §6cedule zkopírován\! Vlož jej příkazem
|
||||
editsignPaste=§6Cedule vložena\!
|
||||
editsignPasteLine=§6Řádka §c{0} §6cedule vložena\!
|
||||
editsignCommandUsage=/<command> <set/clear/copy/paste> [číslo řádku] [text]
|
||||
editsignCommandUsage1=/<command> set <číslo řádku> <text>
|
||||
editsignCommandUsage1Description=Nastaví určitý řádek cílené cedule na daný text
|
||||
editsignCommandUsage2=/<command> clear <číslo řádku>
|
||||
editsignCommandUsage2Description=Vymaže určitý řádek cílené cedule
|
||||
editsignCommandUsage3=/<command> copy [číslo řádku]
|
||||
editsignCommandUsage3Description=Zkopíruje do schránky všechny (nebo uvedený řádek) cílené cedule
|
||||
editsignCommandUsage4=/<command> paste [číslo řádku]
|
||||
editsignCommandUsage4Description=Vloží tvojí schránku na celou (nebo na určitý řádek) cílené cedule
|
||||
signFormatFail=§4[{0}]
|
||||
signFormatSuccess=§1[{0}]
|
||||
signFormatTemplate=[{0}]
|
||||
@@ -1010,7 +1154,9 @@ skullChanged=§6Hlava změněna na §c{0}§6.
|
||||
skullCommandDescription=Nastaví vlastníka lebky hráče
|
||||
skullCommandUsage=/<command> [vlastník]
|
||||
skullCommandUsage1=/<command>
|
||||
skullCommandUsage1Description=Dá ti tvojí hlavu
|
||||
skullCommandUsage2=/<command> <hráč>
|
||||
skullCommandUsage2Description=Dá ti hlavu určitého hráče
|
||||
slimeMalformedSize=§4Neplatná velikost.
|
||||
smithingtableCommandDescription=Otevře kovářský stůl.
|
||||
smithingtableCommandUsage=/<command>
|
||||
@@ -1020,22 +1166,34 @@ socialSpyMutedPrefix=§f[§6SS§f] §7(umlčený) §r
|
||||
socialspyCommandDescription=Přepíná, zda můžeš v chatu vidět příkazy msg/mail.
|
||||
socialspyCommandUsage=/<command> [hráč] [on|off]
|
||||
socialspyCommandUsage1=/<command> [hráč]
|
||||
socialspyCommandUsage1Description=Přepíná Social Spy pro tebe nebo pro jiného hráče, pokud je uveden
|
||||
socialSpyPrefix=§f[§6SS§f] §r
|
||||
soloMob=§4Toto stvoření je rádo samo.
|
||||
spawned=vyvolán
|
||||
spawnerCommandDescription=Změní typ stvoření v líhni.
|
||||
spawnerCommandUsage=/<command> <stvoření> [prodlení]
|
||||
spawnerCommandUsage1=/<command> <stvoření> [prodlení]
|
||||
spawnerCommandUsage1Description=Mění, jakého moba spawnuje spawner, na který se díváš (a volitelně dobu, jak dlouho trvá, než se mobové spawnou)
|
||||
spawnmobCommandDescription=Vylíhne stvoření.
|
||||
spawnmobCommandUsage=/<command> <stvoření>[\:data][,<mount>[\:data]] [počet] [hráč]
|
||||
spawnmobCommandUsage1=/<command> <mob>[\:data] [množství] [hráč]
|
||||
spawnmobCommandUsage1Description=Spawne jednoho (nebo určité množství) daných mobů tam, kde stojíš (nebo kde stojí jiný hráč, pokud je uveden)
|
||||
spawnmobCommandUsage2=/<command> <mob>[\:data],<mount>[\:data] [množství] [hráč]
|
||||
spawnmobCommandUsage2Description=Spawne tam, kde stojíš (nebo kde stojí jiný hráč, pokud je uveden) jednoho (nebo určitý počet) daného moba jedoucího na daném mobovi
|
||||
spawnSet=§6Poloha výchozího místa pro skupinu§c {0}§6 byla nastavena.
|
||||
spectator=divák
|
||||
speedCommandDescription=Změní tvou rychlost, typ může být walk (chůze), nebo fly (létání).
|
||||
speedCommandUsage=/<command> [typ] <rychlost> [hráč]
|
||||
speedCommandUsage1=/<command> <rychlost>
|
||||
speedCommandUsage1Description=Nastaví rychlost tvého létání, nebo chození na danou rychlost
|
||||
speedCommandUsage2=/<command> <typ> <rychlost> [hráč]
|
||||
speedCommandUsage2Description=Nastaví určitý typ rychlosti dané rychlosti buď pro tebe, nebo pro určitého hráče, pokud je uveden
|
||||
stonecutterCommandDescription=Otevře řezačku kamene.
|
||||
stonecutterCommandUsage=/<command>
|
||||
sudoCommandDescription=Provede příkaz jménem jiného uživatele.
|
||||
sudoCommandUsage=/<command> <hráč> <příkaz [parametry]>
|
||||
sudoCommandUsage1=/<command> <hráč> <příkaz> [argumenty]
|
||||
sudoCommandUsage1Description=Udělá, aby určitý hráč použil daný příkaz
|
||||
sudoExempt=§4Nemůžeš použít sudo na hráče §c{0}§4.
|
||||
sudoRun=§6Vynucení spuštění§r /{1} §6hráčem§c {0}
|
||||
suicideCommandDescription=Způsobí tvou smrt.
|
||||
@@ -1074,16 +1232,29 @@ tempbanExemptOffline=§4Nemůžeš dočasně zablokovat nepřipojeného hráče.
|
||||
tempbanJoin=Na tomto serveru jsi zablokován na {0}. Důvod\: {1}
|
||||
tempBanned=§cByl jsi dočasně zablokován na§r {0}\: \n§r{2}
|
||||
tempbanCommandDescription=Dočasně zablokuje hráče.
|
||||
tempbanCommandUsage=/<command> <jméno_hráče> <trvání> [důvod]
|
||||
tempbanCommandUsage1=/<command> <hráč> <trvání> [důvod]
|
||||
tempbanCommandUsage1Description=Zabanuje daného hráče na určitou dobu s nepovinným důvodem
|
||||
tempbanipCommandDescription=Dočasně zablokuje IP adresu.
|
||||
tempbanipCommandUsage=/<command> <jméno_hráče> <trvání> [důvod]
|
||||
tempbanipCommandUsage1=/<command> <player|ip-address> <trvání> [důvod]
|
||||
tempbanipCommandUsage1Description=Zabanuje danou IP adresu na určitý čas s nepovinným důvodem
|
||||
thunder=§6Nastavil jsi bouřku v tomto světě na §c{0}§6.
|
||||
thunderCommandDescription=Zapne/vypne bouřku.
|
||||
thunderCommandUsage=/<command> <true/false> [trvání]
|
||||
thunderCommandUsage1=/<command> <true|false> [trvání]
|
||||
thunderCommandUsage1Description=Zapne/vypne bouřku na nepovinnou dobu
|
||||
thunderDuration=§6Nastavil jsi bouřku v tomto světě na §c{0}§6 na §c{1}§6 sekund.
|
||||
timeBeforeHeal=§4Čas do dalšího uzdravení\:§c {0}§4.
|
||||
timeBeforeTeleport=§4Čas do dalšího teleportování\:§c {0}§4.
|
||||
timeCommandDescription=Zobrazí/změní čas světa. Bez specifikace platí pro aktuální svět.
|
||||
timeCommandUsage=/<command> [set|add] [day|night|dawn|17\:30|4pm|4000ticks] [svět|all]
|
||||
timeCommandUsage1=/<command>
|
||||
timeCommandUsage1Description=Ukáže čas ve všech světech
|
||||
timeCommandUsage2=/<command> set <čas> [world|all]
|
||||
timeCommandUsage2Description=Nastaví čas v současném (nebo určitém) světě na daný čas
|
||||
timeCommandUsage3=/<command> add <čas> [world|all]
|
||||
timeCommandUsage3Description=Přidá daný čas k času současného (nebo určitého) světa
|
||||
timeFormat=§c{0}§6 nebo §c{1}§6 nebo §c{2}§6
|
||||
timeSetPermission=§4Nemáš oprávnění nastavovat čas.
|
||||
timeSetWorldPermission=§4Nemáš oprávnění nastavovat čas ve světě §c{0}§4.
|
||||
@@ -1096,6 +1267,7 @@ togglejailCommandUsage=/<command> <hráč> <název_vězení> [trvání]
|
||||
toggleshoutCommandDescription=Určuje, zda mluvíš v hlučném módu
|
||||
toggleshoutCommandUsage=/<command> [hráč] [on|off]
|
||||
toggleshoutCommandUsage1=/<command> [hráč]
|
||||
toggleshoutCommandUsage1Description=Přepne hlučný mód tobě, nebo jinému hráči, pokud je uveden
|
||||
topCommandDescription=Teleportuje na nejvyšší blok na tvé aktuální pozici.
|
||||
topCommandUsage=/<command>
|
||||
totalSellableAll=§aCelková cena všech prodejných předmětů a bloků je §c{1}§a.
|
||||
@@ -1105,59 +1277,89 @@ totalWorthBlocks=§aProdány všechny bloky za celkovou částku §c{1}§a.
|
||||
tpCommandDescription=Teleportace k hráči.
|
||||
tpCommandUsage=/<command> <hráč> [jiný_hráč]
|
||||
tpCommandUsage1=/<command> <hráč>
|
||||
tpCommandUsage1Description=Teleportuje tě na určitého hráče
|
||||
tpCommandUsage2=/<command> <hráč> <jiný hráč>
|
||||
tpCommandUsage2Description=Teleportuje prvního uvedeného hráče k druhému
|
||||
tpaCommandDescription=Požádá o teleportaci k danému hráči.
|
||||
tpaCommandUsage=/<command> <hráč>
|
||||
tpaCommandUsage1=/<command> <hráč>
|
||||
tpaCommandUsage1Description=Požádá o teleportaci na určitého hráče
|
||||
tpaallCommandDescription=Požádá všechny připojené hráče, aby se teleportovali k tobě.
|
||||
tpaallCommandUsage=/<command> <hráč>
|
||||
tpaallCommandUsage1=/<command> <hráč>
|
||||
tpaallCommandUsage1Description=Požádá všechny hráče, aby se na tebe teleportovali
|
||||
tpacancelCommandDescription=Zruší všechny nevyřízené žádosti o teleportování. Při zadání [hráč] se zruší jeho požadavky.
|
||||
tpacancelCommandUsage=/<command> [hráč]
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Zruší všechny tvoje nevyřízené žádosti o teleportaci
|
||||
tpacancelCommandUsage2=/<command> <hráč>
|
||||
tpacceptCommandDescription=Přijímá žádost o teleportování.
|
||||
tpacancelCommandUsage2Description=Zruší všechny tvoje nevyřízené žádosti o teleportaci na určitého hráče
|
||||
tpacceptCommandDescription=Přijme žádost o teleportování.
|
||||
tpacceptCommandUsage=/<command> [jiný_hráč]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Přijme nejnovější žádost o teleportování
|
||||
tpacceptCommandUsage2=/<command> <hráč>
|
||||
tpacceptCommandUsage2Description=Přijme žádost o teleportování od zadaného hráče
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpacceptCommandUsage3Description=Přijme všechny žádosti o teleportování
|
||||
tpahereCommandDescription=Požádej, aby se hráč teleportoval k tobě.
|
||||
tpahereCommandUsage=/<command> <hráč>
|
||||
tpahereCommandUsage1=/<command> <hráč>
|
||||
tpahereCommandUsage1Description=Požádá určitého hráče, aby se na tebe teleportoval
|
||||
tpallCommandDescription=Teleportuje všechny připojené hráče k jinému hráči.
|
||||
tpallCommandUsage=/<command> [hráč]
|
||||
tpallCommandUsage1=/<command> [hráč]
|
||||
tpallCommandUsage1Description=Teleportuje na tebe všechny hráče, nebo jiného hráče, pokud je uveden
|
||||
tpautoCommandDescription=Automaticky přijímat žádosti o teleportaci.
|
||||
tpautoCommandUsage=/<command> [hráč]
|
||||
tpautoCommandUsage1=/<command> [hráč]
|
||||
tpdenyCommandDescription=Odmítnout žádost o teleportování.
|
||||
tpautoCommandUsage1Description=Přepne automatický příjem tpa žádostí pro tebe nebo jiného hráče, pokud je uveden
|
||||
tpdenyCommandDescription=Odmítne žádost o teleportování.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Odmítne nejnovější žádost o teleportování
|
||||
tpdenyCommandUsage2=/<command> <hráč>
|
||||
tpdenyCommandUsage2Description=Odmítne žádost o teleportování od určeného hráče
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tpdenyCommandUsage3Description=Odmítne všechny žádosti o teleportování
|
||||
tphereCommandDescription=Teleportuje hráče k tobě.
|
||||
tphereCommandUsage=/<command> <hráč>
|
||||
tphereCommandUsage1=/<command> <hráč>
|
||||
tphereCommandUsage1Description=Teleportuje na tebe určitého hráče
|
||||
tpoCommandDescription=Teleportovat a přitom nebrat ohled na tptoggle.
|
||||
tpoCommandUsage=/<command> <hráč> [jiný_hráč]
|
||||
tpoCommandUsage1=/<command> <hráč>
|
||||
tpoCommandUsage1Description=Teleportuje na tebe určitého hráče a ignoruje jeho předvolby
|
||||
tpoCommandUsage2=/<command> <hráč> <jiný hráč>
|
||||
tpoCommandUsage2Description=Teleportuje prvního určitého hráče na druhého a ignoruje jeho předvolby
|
||||
tpofflineCommandDescription=Teleportovat na poslední známé místo odhlášení hráče
|
||||
tpofflineCommandUsage=/<command> <hráč>
|
||||
tpofflineCommandUsage1=/<command> <hráč>
|
||||
tpofflineCommandUsage1Description=Teleportuje tě na místo, kde se určitý hráč odpojil
|
||||
tpohereCommandDescription=Teleportovat sem bez ohledu na tptoggle.
|
||||
tpohereCommandUsage=/<command> <hráč>
|
||||
tpohereCommandUsage1=/<command> <hráč>
|
||||
tpohereCommandUsage1Description=Teleportuje na tebe určitého hráče a ignoruje jeho předvolby
|
||||
tpposCommandDescription=Teleportace na souřadnice.
|
||||
tpposCommandUsage=/<command> <x> <y> <z> [natočení] [náklon_hlavy] [svět]
|
||||
tpposCommandUsage1=/<command> <x> <y> <z> [natočení] [náklon_hlavy] [svět]
|
||||
tpposCommandUsage1Description=Teleportuje tě na určité místo a na nepovinné otočení, výšku pohledu a/nebo svět
|
||||
tprCommandDescription=Náhodná teleportace.
|
||||
tprCommandUsage=/<command>
|
||||
tprCommandUsage1=/<command>
|
||||
tprCommandUsage1Description=Teleportuje tě na náhodné místo
|
||||
tprSuccess=§6Teleportace na náhodnou polohu...
|
||||
tps=§6Aktuální TPS \= {0}
|
||||
tptoggleCommandDescription=Blokuje všechny druhy teleportace.
|
||||
tptoggleCommandUsage=/<command> [hráč] [on|off]
|
||||
tptoggleCommandUsage1=/<command> [hráč]
|
||||
tptoggleCommandUsageDescription=Přepne, jestli jsou pro tebe, nebo pro jiného hráče, pokud je uveden, povoleny teleporty
|
||||
tradeSignEmpty=§4Tato obchodní cedule již nemá pro tebe nic dostupného.
|
||||
tradeSignEmptyOwner=§4Z této obchodní cedule už není co brát.
|
||||
treeCommandDescription=Vytvoří strom na místě, kam se díváš.
|
||||
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
|
||||
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
|
||||
treeCommandUsage1Description=Vytvoří strom určitého typu na bloku, na který se díváš
|
||||
treeFailure=§4Vytváření stromu selhalo. Zkus to znovu na trávě nebo na hlíně.
|
||||
treeSpawned=§6Strom vytvořen.
|
||||
true=§aano§r
|
||||
@@ -1170,15 +1372,23 @@ unableToSpawnMob=§4Nelze vyvolat stvoření.
|
||||
unbanCommandDescription=Odblokuje daného hráče.
|
||||
unbanCommandUsage=/<command> <hráč>
|
||||
unbanCommandUsage1=/<command> <hráč>
|
||||
unbanCommandUsage1Description=Odbanuje určitého hráče
|
||||
unbanipCommandDescription=Odblokuje danou IP adresu.
|
||||
unbanipCommandUsage=/<command> [adresa]
|
||||
unbanipCommandUsage1=/<command> [adresa]
|
||||
unbanipCommandUsage1Description=Odbanuje určitou IP adresu
|
||||
unignorePlayer=§6Přestal jsi ignorovat hráče§c {0}§6.
|
||||
unknownItemId=§4Neznámé ID předmětu\:§r {0}§4.
|
||||
unknownItemInList=§4Neznámý předmět {0} v seznamu {1}.
|
||||
unknownItemName=§4Neznámý název předmětu\:§r {0}§4.
|
||||
unlimitedCommandDescription=Umožňuje neomezené umisťování předmětů.
|
||||
unlimitedCommandUsage=/<command> <list|item|clear> [hráč]
|
||||
unlimitedCommandUsage1=/<command> list [hráč]
|
||||
unlimitedCommandUsage1Description=Zobrazí seznam neomezených předmětů pro tebe nebo jiného hráče, pokud je uveden
|
||||
unlimitedCommandUsage2=/<command> <předmět> [hráč]
|
||||
unlimitedCommandUsage2Description=Přepíná, jestli je daný předmět pro tebe nebo jiného hráče, pokud je uveden, neomezený
|
||||
unlimitedCommandUsage3=/<command> clear [hráč]
|
||||
unlimitedCommandUsage3Description=Vymaže všechny neomezené předměty pro tebe, nebo jiného hráče, pokud je uveden
|
||||
unlimitedItemPermission=§4Nemáš oprávnění na neomezené množství předmětu §c{0}§4.
|
||||
unlimitedItems=§6Neomezené předměty\:§r
|
||||
unmutedPlayer=§6Hráč §c{0}§6 může znovu hovořit.
|
||||
@@ -1207,6 +1417,7 @@ vanish=§6Neviditelnost pro hráče §c{0}§6\: {1}
|
||||
vanishCommandDescription=Skrýt se před ostatními hráči.
|
||||
vanishCommandUsage=/<command> [hráč] [on|off]
|
||||
vanishCommandUsage1=/<command> [hráč]
|
||||
vanishCommandUsage1Description=Přepne vanish tobě, nebo jinému hráči, pokud je uveden
|
||||
vanished=§6Nyní jsi zcela neviditelný pro běžné hráče a skrytý z herních příkazů.
|
||||
versionCheckDisabled=§6Kontrola aktualizací je v konfiguračním souboru vypnuta.
|
||||
versionCustom=§6Nelze zkontrolovat tvou verzi\! Vlastní sestavení? Informace o sestavení\: §c{0}§6.
|
||||
@@ -1237,11 +1448,15 @@ walking=chůze
|
||||
warpCommandDescription=Seznam všech warpů nebo warp na zadané místo.
|
||||
warpCommandUsage=/<command> <číslo_stránky|warp> [hráč]
|
||||
warpCommandUsage1=/<command> [strana]
|
||||
warpCommandUsage1Description=Vypíše seznam všech warpů na první, nebo uvedené stránce
|
||||
warpCommandUsage2=/<command> <warp> [hráč]
|
||||
warpCommandUsage2Description=Teleportuje na warp tebe, nebo určitého hráče
|
||||
warpDeleteError=§4Vyskytl se problém s mazáním souboru warpu.
|
||||
warpInfo=§6Informace o warpu§c {0}§6\:
|
||||
warpinfoCommandDescription=Najde informace o poloze pro zadaný warp.
|
||||
warpinfoCommandUsage=/<command> <warp>
|
||||
warpinfoCommandUsage1=/<command> <warp>
|
||||
warpinfoCommandUsage1Description=Poskytne informace o daném warpu
|
||||
warpingTo=§6Přenášení na§c {0}§6.
|
||||
warpList={0}
|
||||
warpListPermission=§4Nemáš oprávnění vypsat seznam warpů.
|
||||
@@ -1251,6 +1466,8 @@ warps=§6Warpy\:§r {0}
|
||||
warpsCount=§6Existuje §c{0} §6warpů. Zobrazuje se strana §c{1} §6z §c{2}§6.
|
||||
weatherCommandDescription=Nastaví počasí.
|
||||
weatherCommandUsage=/<command> <storm/sun> [trvání]
|
||||
weatherCommandUsage1=/<command> <storm|sun> [trvání]
|
||||
weatherCommandUsage1Description=Nastaví daný typ počasí na nepovinnou dobu
|
||||
warpSet=§6Warp§c {0} §6vytvořen.
|
||||
warpUsePermission=§4Nemáš oprávnění používat tento warp.
|
||||
weatherInvalidWorld=Svět s názvem {0} nebyl nalezen\!
|
||||
@@ -1267,6 +1484,7 @@ whoisBanned=§6 - Zablokován\:§r {0}
|
||||
whoisCommandDescription=Zjistí uživatelské jméno ukryté pod přezdívkou.
|
||||
whoisCommandUsage=/<command> <přezdívka>
|
||||
whoisCommandUsage1=/<command> <hráč>
|
||||
whoisCommandUsage1Description=Poskytne základní informace o určitém hráči
|
||||
whoisExp=§6 - Zkušenosti\:§r {0} (Úroveň {1})
|
||||
whoisFly=§6 - Létání\:§r {0} ({1})
|
||||
whoisSpeed=§6 - Rychlost\:§r {0}
|
||||
@@ -1292,9 +1510,20 @@ workbenchCommandUsage=/<command>
|
||||
worldCommandDescription=Přepínání mezi světy.
|
||||
worldCommandUsage=/<command> <svět>
|
||||
worldCommandUsage1=/<command>
|
||||
worldCommandUsage1Description=Teleportuje tě na odpovídající umístění v netheru nebo v overworldu
|
||||
worldCommandUsage2=/<command> <svět>
|
||||
worldCommandUsage2Description=Teleportuje tě na umístění v daném světě
|
||||
worth=§aStack {0} ceny §c{1}§a ({2} kus(u) za {3} kus)
|
||||
worthCommandDescription=Vypočte hodnotu předmětů v ruce nebo předmětů zadaných.
|
||||
worthCommandUsage=/<command> <<název_předmětu>|<id>|hand|inventory|blocks> [-][počet]
|
||||
worthCommandUsage1=/<command> <jméno předmětu> [množství]
|
||||
worthCommandUsage1Description=Spočítá hodnotu všech (nebo daného množství, pokud je uvedeno) daných předmětů ve tvém inventáři
|
||||
worthCommandUsage2=/<command> hand [množství]
|
||||
worthCommandUsage2Description=Spočítá hodnotu všech (nebo daného množství, pokud je uvedeno) držených předmětů
|
||||
worthCommandUsage3=/<příkaz> all
|
||||
worthCommandUsage3Description=Spočítá hodnotu úplně všech předmětů ve tvém inventáři
|
||||
worthCommandUsage4=/<command> blocks [množství]
|
||||
worthCommandUsage4Description=Spočítá hodnotu všech (nebo daného množství, pokud je uvedeno) bloků ve tvém inventáři
|
||||
worthMeta=§aStack {0} s metadaty {1} ceny §c{2}§a ({3} kus(u) za {4} kus)
|
||||
worthSet=§6Cena nastavena
|
||||
year=rok
|
||||
|
||||
@@ -75,7 +75,6 @@ cantGamemode=§4You do not have permission to change to gamemode {0}
|
||||
cantReadGeoIpDB=Fejl ved læsning af GeoIP databasen\!
|
||||
cantSpawnItem=§4Du har ikke tilladelse til at spawne denne ting§c {0}§4.
|
||||
cartographytableCommandDescription=Åbner en kartografisk tabel.
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Spion]
|
||||
cleaned=Brugerfiler blev renset.
|
||||
cleaning=Renser brugerfiler.
|
||||
@@ -298,7 +297,6 @@ listAmountHidden=§6Der er §c{0}§6/§c{1}§6 ud af maksimum §c{2}§6 spillere
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[SKJULT]§r
|
||||
loadWarpError=§4Kunne ikke indlæse warp {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
mailClear=§6For at markere alt post som læst, skriv§c /mail clear§6.
|
||||
mailCleared=§6Mail Ryddet\!
|
||||
mailDelay=For mange mails er blevet sendt inden for det sidste minut. Maksimum\: {0}
|
||||
@@ -391,8 +389,6 @@ noPlacePermission=§4Du har ikke tilladelse til at placere en blok i nærheden a
|
||||
noPotionEffectPerm=§4Du har ikke tilladelse til at tilføje effekten §c{0} §4til denne eliksir.
|
||||
noPowerTools=§6Du har ingen magtværktøjer tildelt.
|
||||
notAcceptingPay=§4{0} §4is not accepting payment.
|
||||
notAllowedToQuestion=§4Du er ikke autoriseret til at bruge spørgsmål.
|
||||
notAllowedToShout=§4Du er ikke autoriseret til at råbe.
|
||||
notEnoughExperience=§4Du har ikke nok experience.
|
||||
notEnoughMoney=§4Du har ikke tilstrækkelige midler.
|
||||
notFlying=flyver ikke
|
||||
|
||||
@@ -9,9 +9,9 @@ adventure=Abenteuermodus
|
||||
afkCommandDescription=Markiert dich als abwesend.
|
||||
afkCommandUsage=/<command> [spieler/nachricht...]
|
||||
afkCommandUsage1=/<command> [nachricht]
|
||||
afkCommandUsage1Description=Schaltet deinen AFK Status mit einem optionalen Grund ein
|
||||
afkCommandUsage1Description=Schaltet deinen AFK-Status mit einem optionalen Grund um
|
||||
afkCommandUsage2=/<command> <player> [message]
|
||||
afkCommandUsage2Description=Schaltet den AFK Status eines angegebenen Spieler mit einem optionalen Grund ein
|
||||
afkCommandUsage2Description=Schaltet den AFK Status des angegebenen Spielers mit einem optionalen Grund ein
|
||||
alertBroke=zerstört\:
|
||||
alertFormat=§3[{0}] §r {1} §6 {2} bei\: {3}
|
||||
alertPlaced=platziert\:
|
||||
@@ -126,7 +126,6 @@ cantReadGeoIpDB=Fehler beim Einlesen der GeoIP-Datenbank\!
|
||||
cantSpawnItem=§4Du darfst Gegenstand§c {0}§4 nicht erzeugen.
|
||||
cartographytableCommandDescription=Öffnet einen Kartentisch.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Spion]
|
||||
cleaned=Spielerdateien geleert.
|
||||
cleaning=Säubere Spielerdateien.
|
||||
@@ -143,6 +142,7 @@ clearinventoryCommandUsage3Description=Löscht alles (oder die angegebene Anzahl
|
||||
clearinventoryconfirmtoggleCommandDescription=Bestimmt, ob du Inventarleerungen bestätigen musst.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cDu kannst diesen Command nicht ausführen für {0}.
|
||||
commandDisabled=§cDer Befehl§6 {0}§c ist deaktiviert.
|
||||
@@ -181,6 +181,7 @@ createkitCommandUsage1Description=Erstellt ein Kit mit angegebenen Namen und Abk
|
||||
createKitFailed=§4Beim Erstellen des Kits ist ein Fehler aufgetreten {0}.
|
||||
createKitSeparator=§m-----------------------
|
||||
createKitSuccess=§6Kit erstellt\: §f{0}\n§6Verzögerung\: §f{1}\n§6Link\: §f{2}\n§6Es werden Inhalte aus dem oben stehenden Link in deine kits.yml kopiert.
|
||||
createKitUnsupported=§4NBT-Item-Serialisierung wurde aktiviert, aber dieser Server läuft nicht unter Paper 1.15.2+. Gehe zurück zur Standardserialisierung.
|
||||
creatingConfigFromTemplate=Erstelle Konfiguration aus der Vorlage\: {0}
|
||||
creatingEmptyConfig=Erstelle eine leere Konfiguration\: {0}
|
||||
creative=Kreativmodus
|
||||
@@ -231,6 +232,18 @@ destinationNotSet=Ziel nicht gesetzt\!
|
||||
disabled=deaktiviert
|
||||
disabledToSpawnMob=§4Das Spawnen dieses Mobs ist in der Config deaktiviert.
|
||||
disableUnlimited=Unbegrenztes Platzieren von§c {0}§6 für§c {1}§6 deaktiviert.
|
||||
discordbroadcastCommandDescription=Sendet eine Nachricht an den angegebenen Discord-Kanal.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Sendet eine Nachricht an den angegebenen Discord-Kanal
|
||||
discordbroadcastInvalidChannel=§4Discord Kanal §c{0}§4 existiert nicht.
|
||||
discordbroadcastPermission=§4Du hast keine Berechtigung, Nachrichten an den angegebenen §c{0}§4 Kanal zu senden.
|
||||
discordbroadcastSent=§6Nachricht gesendet an §c{0}§6\!
|
||||
discordCommandDescription=Sendet die Discord Einladungslink an den Spieler.
|
||||
discordCommandLink=§6Trete unserem Discord Server bei §c{0}§\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Sendet die Discord Einladungslink an den Spieler
|
||||
discordCommandExecuteDescription=Führt einen Konsolen-Befehl auf dem Minecraft-Server aus.
|
||||
discordCommandExecuteArgumentCommand=Der auszuführende Befehl
|
||||
discordCommandExecuteReply=Führe Befehl aus\: "/{0}"
|
||||
@@ -243,22 +256,49 @@ discordErrorCommand=Du hast deinen Bot falsch zu deinem Server hinzugefügt. Bit
|
||||
discordErrorCommandDisabled=Dieser Befehl ist deaktiviert\!
|
||||
discordErrorLogin=Beim Anmelden in Discord ist ein Fehler aufgetreten, was dazu geführt hat, dass das Plugin sich selbst deaktiviert hat\: \n{0}
|
||||
discordErrorLoggerInvalidChannel=Discord Konsolen-Protokollierung wurde aufgrund einer ungültigen Kanaldbeschreibung deaktiviert\! Wenn du vorhast sie zu deaktivieren, setze die Kanal-ID auf "none". Andernfalls überprüfe, ob deine Kanal-ID korrekt ist.
|
||||
discordErrorLoggerNoPerms=Discord Konsolen-Logger wurde aufgrund unzureichenden Berechtigungen deaktiviert\! Bitte stelle sicher, dass dein Bot die "Manage Webhooks"-Berechtigung auf dem Server hat. Nach dem Beheben führen Sie "/ess reload" aus.
|
||||
discordErrorNoGuild=Ungültige oder fehlende Server-ID\! Bitte folgen Sie dem Tutorial in der Konfiguration, um das Plugin einzurichten.
|
||||
discordErrorNoGuildSize=Ihr Bot ist in keinem Server\! Bitte folgen Sie dem Tutorial in der Konfiguration, um das Plugin einzurichten.
|
||||
discordErrorNoPerms=Dein Bot kann in keinem Kanal sehen oder sprechen\! Bitte stelle sicher, dass dein Bot Lese- und Schreibrechte in allen Kanälen besitzt, die du verwenden möchtest.
|
||||
discordErrorNoPrimary=Sie haben keinen Primärkanal definiert oder Ihr Primärkanal ist ungültig. Zurückgesetzt auf den Standardkanal\: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Dein Bot kann nicht in deinem Primärkanal \#{0} sprechen. Bitte stelle sicher, dass dein Bot Lese- und Schreibrechte in allen Kanälen besitzt, die du verwenden möchtest.
|
||||
discordErrorNoToken=Kein Token bereitgestellt\! Bitte folgen Sie dem Tutorial in der Konfiguration, um das Plugin einzurichten.
|
||||
discordErrorWebhook=Beim Senden von Nachrichten an Ihren Konsolenkanal ist ein Fehler aufgetreten\! Dies wurde wahrscheinlich durch das versehentliche Löschen Ihres Webhook der Konsole verursacht. Dies kann üblicherweise durch das Überprüfen der "Manage Webhooks"-Berechtigung und dem Ausführen von "/ess reload" behoben werden.
|
||||
discordLoggingIn=Versuche sich bei Discord anzumelden...
|
||||
discordLoggingInDone=Erfolgreich angemeldet als {0}
|
||||
discordNoSendPermission=Kann keine Nachricht im Kanal senden\: \#{0} Bitte stellen Sie sicher, dass der Bot die Berechtigung "Send Messages" in diesem Kanal hat\!
|
||||
discordReloadInvalid=Versucht die EssentialsX Discord Konfiguration neu zu laden, während das Plugin in einem ungültigen Zustand ist\! Wenn du deine Konfiguration geändert hast, starte deinen Server neu.
|
||||
disposal=Beseitigung
|
||||
disposalCommandDescription=Öffnet ein portables Entsorgungsmenü.
|
||||
disposalCommandUsage=/<command>
|
||||
distance=§6Entfernung\: {0}
|
||||
dontMoveMessage=§6Teleportvorgang startet in §c{0}§6. Eine Bewegung bricht die Teleportation ab.
|
||||
downloadingGeoIp=GeoIP-Datenbank wird geladen... Das kann einen Moment in Anspruch nehmen. (country\: 1.7 MB, city\: 30MB)
|
||||
dumpConsoleUrl=Ein Server Dump wurde erstellt\: §c{0}
|
||||
dumpCreating=§6Erstelle Serverdump...
|
||||
dumpDeleteKey=§6Wenn du diesen Speicherstand zu einem späteren Zeitpunkt löschen möchtest, benutze folgende Lösch-Taste\: §c{0}
|
||||
dumpError=§4Fehler beim Erstellen des Speicherstands §c{0}§4.
|
||||
dumpErrorUpload=§4Fehler beim Hochladen §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Serverdump\: §c{0} erstellt
|
||||
duplicatedUserdata=Duplizierte Benutzerdaten\: {0} und {1}.
|
||||
durability=§6Dieses Werkzeug kann noch §c{0}§6 mal benutzt werden.
|
||||
east=O
|
||||
ecoCommandDescription=Verwaltet die Sever-Wirtschaft.
|
||||
ecoCommandUsage=/<command> <give|take|set|reset> <spieler> <anzahl>
|
||||
ecoCommandUsage1=/<command> give <player> <amount>
|
||||
ecoCommandUsage1Description=Gibt dem angegebenen Spieler den angegebenen Betrag an Geld
|
||||
ecoCommandUsage2=/<command> take <player> <amount>
|
||||
ecoCommandUsage2Description=Nimmt den angegebenen Geldbetrag vom angegebenen Spieler
|
||||
ecoCommandUsage3=<command> set <player><amount>
|
||||
ecoCommandUsage3Description=Setzt den angegebenen Spieler für die angegebene Anzahl von Sekunden in Brand
|
||||
ecoCommandUsage4=<command> set <player><amount>
|
||||
ecoCommandUsage4Description=Setzt den Guthaben des angegebenen Spielers auf den Startsaldo des Servers zurück
|
||||
editBookContents=§eDu darfst den Inhalt dieses Buches jetzt bearbeiten.
|
||||
enabled=aktiviert
|
||||
enchantCommandDescription=Verzaubert den Gegenstand, den ein Benutzer hält.
|
||||
enchantCommandUsage=/<command> <verzauberungsname> [level]
|
||||
enchantCommandUsage1=/<command> <enchantment name> [level]
|
||||
enchantCommandUsage1Description=Verzaubert deinen gehaltenen Gegenstand mit der angegebenen Verzauberung auf eine optionale Stufe
|
||||
enableUnlimited=§6Du gibst §c{1}§6 eine unbegrenzte Menge an§c {0} §6.
|
||||
enchantmentApplied=§6Der Gegenstand in deiner Hand wurde mit§c {0} §6verzaubert.
|
||||
enchantmentNotFound=§4Verzauberung nicht gefunden\!
|
||||
@@ -270,22 +310,35 @@ enderchestCommandUsage=/<command> [spieler]
|
||||
enderchestCommandUsage1=/<command>
|
||||
enderchestCommandUsage1Description=Öffnet deine Enderkiste
|
||||
enderchestCommandUsage2=/<command> <spieler>
|
||||
enderchestCommandUsage2Description=Öffnet die Enderkiste des Spielers deiner Wahl
|
||||
errorCallingCommand=Beim Aufrufen des Befehls {0} ist ein Fehler aufgetreten.
|
||||
errorWithMessage=§cFehler\:§4 {0}
|
||||
essentialsCommandDescription=Lädt Essentials neu.
|
||||
essentialsCommandUsage=/<command>
|
||||
essentialsCommandUsage1=/<command> reload
|
||||
essentialsCommandUsage1Description=Lädt die Konfiguration von Essentials neu
|
||||
essentialsCommandUsage2=/<command> version
|
||||
essentialsCommandUsage2Description=Gibt Informationen über die Essentials Version
|
||||
essentialsCommandUsage3=/<command> commands
|
||||
essentialsCommandUsage3Description=Gibt Informationen darüber, welche Befehle von Essentials weitergeleitet werden
|
||||
essentialsCommandUsage4=/<command> debug
|
||||
essentialsCommandUsage4Description=Schaltet in den Essentials "Debug-Modus" um
|
||||
essentialsCommandUsage5=/<command> reset <player>
|
||||
essentialsCommandUsage5Description=Setzt die Benutzerdaten des angegebenen Spielers zurück
|
||||
essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Löscht alte Benutzerdaten
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsHelp1=Die Datei ist beschädigt und Essentials kann sie nicht öffnen. Essentials ist jetzt deaktiviert. Wenn du die Datei selbst nicht reparieren kannst, gehe auf http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Die Datei ist beschädigt und Essentials kann sie nicht öffnen. Essentials ist jetzt deaktiviert. Wenn du die Datei selbst nicht reparieren kannst, versuche /essentialshelp oder gehe auf http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials wurde neu geladen§c {0}.
|
||||
exp=§c{0} §6hat§c {1} §6Exp (Level§c {2}§6) und braucht§c {3} §6Punkte für das nächste Level.
|
||||
expCommandDescription=Gebe, setze, setze zurück, oder schaue die Erfahrung eines Spielers an.
|
||||
expCommandUsage=/<command> [reset|show|set|give] [spielername [anzahl]]
|
||||
expCommandUsage1=/<command> give <player> <amount>
|
||||
expCommandUsage2=/<command> set <playername> <amount>
|
||||
expCommandUsage3=/<command> show <playername>
|
||||
expCommandUsage5=/<command> reset <playername>
|
||||
expCommandUsage5Description=Setzt die XP des Zielspielers auf 0 zurück
|
||||
expSet=§c{0} §6hat jetzt§c {1} §6Exp.
|
||||
extCommandDescription=Spieler auslöschen.
|
||||
@@ -308,11 +361,18 @@ fireballCommandDescription=Werfe einen Feuerball oder andere verschiedene Projek
|
||||
fireballCommandUsage=/<command> [fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident] [Geschwindigkeit]
|
||||
fireballCommandUsage1=/<command>
|
||||
fireballCommandUsage1Description=Wirft einen regulären Feuerball von deinem Standort aus
|
||||
fireballCommandUsage2=/<command> <fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident> [speed]
|
||||
fireworkColor=§4Ungültige Feuerwerksparameter angegeben. Du musst zuerst eine Farbe festlegen.
|
||||
fireworkCommandDescription=Erlaubt dir, einen Feuerwerks-Stapel zu modifizieren.
|
||||
fireworkCommandUsage=/<command> <<meta parameter>|power [anzahl]|clear|fire [anzahl]>
|
||||
fireworkCommandUsage1=/<command> clear
|
||||
fireworkCommandUsage1Description=Löscht alle Effekte von deinem gehaltenen Feuerwerk
|
||||
fireworkCommandUsage2=/<command> power <amount>
|
||||
fireworkCommandUsage3=/<command> fire [amount]
|
||||
fireworkCommandUsage4=/<command> <meta>
|
||||
fireworkEffectsCleared=§6Alle Effekte wurden vom Stapel, den du in der Hand hast, entfernt.
|
||||
fireworkSyntax=§6Feuerwerk-Parameter\:§c color\:<Farbe> [fade\:<Farbe>] [shape\:<Form>] [effect\:<Effekt>]\n§6Um mehrere Farben/Effekte zu benutzen, musst du sie mit Komma trennen\: §cred,blue,pink\n§6Formen\:§c star, ball, large, creeper, burst §6Effekte\:§c trail, twinkle.
|
||||
fixedHomes=Ungültige Homes gelöscht.
|
||||
flyCommandDescription=Abheben, in die Höhe\!
|
||||
flyCommandUsage=/<command> [spieler] [on|off]
|
||||
flyCommandUsage1=/<command> [spieler]
|
||||
@@ -340,6 +400,7 @@ getposCommandUsage1=/<command> [spieler]
|
||||
giveCommandDescription=Gebe einem Spieler einen Gegenstand.
|
||||
giveCommandUsage=/<command> <spieler> <gegenstand|numerisch> [anzahl [gegenstandsmeta...]]
|
||||
giveCommandUsage1=/<command> <player> <item> [amount]
|
||||
giveCommandUsage2=/<command> <player> <item> <amount> <meta>
|
||||
geoipCantFind=§6Spieler§c {0}§6 kommt aus§a einem unbekannten Land§6.
|
||||
geoIpErrorOnJoin=GeoIP-Daten für {0} konnten nicht abgerufen werden. Bitte stelle sicher, dass der Lizenzschlüssel und die Konfiguration korrekt sind.
|
||||
geoIpLicenseMissing=Kein Lizenzschlüssel gefunden\! Bitte besuche https\://essentialsx.net/geoip für Ersteinrichtungsanweisungen.
|
||||
@@ -362,6 +423,7 @@ hatArmor=§4Du kannst diesen Gegenstand nicht als Hut verwenden\!
|
||||
hatCommandDescription=Erhalte cooles neues Kopfgerät.
|
||||
hatCommandUsage=/<command> [remove]
|
||||
hatCommandUsage1=/<command>
|
||||
hatCommandUsage2=/<command> remove
|
||||
hatCurse=§4Du kannst keinen Hut mit dem Fluch der Bindung entfernen\!
|
||||
hatEmpty=§4Du trägst keinen Hut.
|
||||
hatFail=§4Du musst einen Gegenstand in der Hand halten.
|
||||
@@ -401,6 +463,7 @@ hours=Stunden
|
||||
iceCommandUsage=/<command> [spieler]
|
||||
iceCommandUsage1=/<command>
|
||||
iceCommandUsage2=/<command> <spieler>
|
||||
iceCommandUsage3=/<command> *
|
||||
ignoreCommandDescription=Andere Spieler nicht ignorieren oder ignorieren.
|
||||
ignoreCommandUsage=/<command> <spieler>
|
||||
ignoreCommandUsage1=/<command> <spieler>
|
||||
@@ -448,6 +511,7 @@ itemId=§6ID\:§c {0}
|
||||
itemloreClear=§6Du hast die Beschreibung dieses Gegenstands geleert.
|
||||
itemloreCommandDescription=Die Beschreibung eines Gegenstand bearbeiten.
|
||||
itemloreCommandUsage=/<command> <add/set/clear> [text/zeile] [text]
|
||||
itemloreCommandUsage3=/<command> clear
|
||||
itemloreInvalidItem=§4Du must einen Gegenstand halten um seine Beschreibung zu bearbeiten.
|
||||
itemloreNoLine=§4Dein gehaltener Gegenstand hat keinen Beschreibungstect in Zeile §c{0}§4.
|
||||
itemloreNoLore=§4Dein gehaltener Gegenstand hat keinen Beschreibungstext.
|
||||
@@ -459,7 +523,9 @@ itemnameClear=§6Du hast den Namen dieses Gegenstands entfernt.
|
||||
itemnameCommandDescription=Bennent einen Gegenstand.
|
||||
itemnameCommandUsage=/<command> [Name]
|
||||
itemnameCommandUsage1=/<command>
|
||||
itemnameCommandUsage1Description=Löscht den Namen des gehaltenen Gegenstands
|
||||
itemnameCommandUsage2=/<command> <name>
|
||||
itemnameCommandUsage2Description=Setzt den Namen des gehaltenen Gegenstands zu dem gegebenen Text
|
||||
itemnameInvalidItem=§cDu musst ein Item halten, um es umzubenennen.
|
||||
itemnameSuccess=§Du hast dein gehaltenes Item zu "§c{0}§6" umbenannt.
|
||||
itemNotEnough1=§4Du hast nicht genug Gegenstände zu verkaufen.
|
||||
@@ -533,6 +599,7 @@ leatherSyntax=§6Lederfarben-Syntax\:§c color\:<rot>,<grün>,<blau>, z.B.\: col
|
||||
lightningCommandDescription=Die Kraft von Thor. Schlag auf den Cursor oder Spieler.
|
||||
lightningCommandUsage=/<command> [spieler] [kraft]
|
||||
lightningCommandUsage1=/<command> [spieler]
|
||||
lightningCommandUsage2=/<command> <player> <power>
|
||||
lightningSmited=§6Du wurdest gepeinigt.
|
||||
lightningUse=§6Peinige §c{0}
|
||||
listAfkTag=§7[Abwesend]§r
|
||||
@@ -544,12 +611,18 @@ listCommandUsage1=/<command> [Gruppe]
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[Versteckt]§r
|
||||
loadWarpError=§4Beim Laden von Warp-Punkt §c{0}§6 ist ein Fehler aufgetreten.
|
||||
localFormat=[L]<{0}> {1}
|
||||
loomCommandDescription=Öffnet einen Webstuhl.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Um deine Nachrichten zu löschen, schreibe§c /mail clear.
|
||||
mailCleared=§6Nachrichten wurden gelöscht\!
|
||||
mailCommandDescription=Verwaltet inter-spieler, intra-server Nachrichten.
|
||||
mailCommandUsage=/<command> [read|clear|clear [number]|send [to] [message]|sendtemp [to] [expire time] [message]|sendall [message]]
|
||||
mailCommandUsage1=/<command> read [page]
|
||||
mailCommandUsage2=/<command> clear [number]
|
||||
mailCommandUsage3=/<command> send <player> <message>
|
||||
mailCommandUsage4=/<command> sendall <message>
|
||||
mailCommandUsage5=/<command> sendtemp <player> <expire time> <message>
|
||||
mailCommandUsage6=/<command> sendtempall <expire time> <message>
|
||||
mailDelay=In der letzten Minute wurden zu viele Nachrichten gesendet. Maximum\: {0}
|
||||
mailFormat=§6[§r{0}§6] §r{1}
|
||||
mailMessage={0}
|
||||
@@ -667,8 +740,6 @@ noPlacePermission=§cDu bist nicht berechtigt, einen Block in der Nähe des Schi
|
||||
noPotionEffectPerm=§4Du darfst den Zaubertrankeffekt §c{0} §4diesem Trank nicht hinzufügen.
|
||||
noPowerTools=§6Du hast keine Powertools zugewiesen.
|
||||
notAcceptingPay=§4{0} §4akzeptiert keine Zahlungen.
|
||||
notAllowedToQuestion=§4Du bist nicht berechtigt zu fragen.
|
||||
notAllowedToShout=§4Du bist nicht berechtigt zu schreien.
|
||||
notEnoughExperience=§4Du hast nicht genug Erfahrung.
|
||||
notEnoughMoney=§4Du hast nicht genug Guthaben.
|
||||
notFlying=fliegt nicht
|
||||
@@ -709,7 +780,7 @@ pingCommandDescription=§b..\:\:§4Pông§b\:\:..\!
|
||||
pingCommandUsage=/<command>
|
||||
playerBanIpAddress=§6Spieler§c {0} §6hat die IP-Adresse§c {1} §6für\: §c{2} §6gesperrt.
|
||||
playerTempBanIpAddress=§6Spieler§c {0} §6sperrte IP-Adresse §c{1}§6 temporär für §c{2}§6\: §c{3}§6.
|
||||
playerBanned=\\u00a76Spieler\\u00a7c {0}\\u00a76 hat\\u00a7c {1}\\u00a76 wegen\\u00a7c {2}\\u00a76 gebannt.
|
||||
playerBanned=§6Spieler§c {0} §6hat§c {1} §6wegen§c {2} §6gebannt.
|
||||
playerJailed=§6Spieler§c {0} §6eingesperrt.
|
||||
playerJailedFor=§6Spieler§c {0}§6für§c {1}§6 eingesperrt.
|
||||
playerKicked=§6Spieler§c {0}§6 hat§c {1}§6 für§c {2}§6 gekickt.
|
||||
@@ -723,11 +794,15 @@ playerTempBanned=§6Spieler§c {0}§6 hat§c {1}§6 temporär für§c {2}§6 ges
|
||||
playerUnbanIpAddress=§6Spieler§c {0}§6 hat IP entsperrt\:§c {1}
|
||||
playerUnbanned=§6Spieler§c {0} §6hat§c {1}§6 entsperrt
|
||||
playerUnmuted=§6Du bist nicht mehr gemutet.
|
||||
playtimeCommandUsage=/<command> [spieler]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage2=/<command> <spieler>
|
||||
pong=§b..\:\:§4Pông§b\:\:..\!
|
||||
posPitch=§6Pitch\: {0} (Neigewinkel)
|
||||
possibleWorlds=§6Mögliche Welten sind die Nummern §c0§6 bis §c{0}§6.
|
||||
potionCommandDescription=Fügt einem Trank benutzerdefinierte Effekte hinzu.
|
||||
potionCommandUsage=/<command> <clear|apply|effect\:<Effekt> power\:<Stärke> duration\:<Dauer>>
|
||||
potionCommandUsage1=/<command> clear
|
||||
posX=§6X\: {0} (+Ost <-> -West)
|
||||
posY=§6Y\: {0} (+Hoch <-> -Runter)
|
||||
posYaw=§6Yaw\: {0} (Drehung)
|
||||
@@ -999,9 +1074,10 @@ tpacancelCommandDescription=Alle ausstehenden Teleportierungsanfragen abbrechen.
|
||||
tpacancelCommandUsage=/<command> [spieler]
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage2=/<command> <spieler>
|
||||
tpacceptCommandDescription=Anzeptiert eine Teleportationsanfrage.
|
||||
tpacceptCommandUsage=/<command> [andererspieler]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage2=/<command> <spieler>
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpahereCommandDescription=Bittet den angegebenen Spieler, sich zu dir zu teleportieren.
|
||||
tpahereCommandUsage=/<command> <spieler>
|
||||
tpahereCommandUsage1=/<command> <spieler>
|
||||
@@ -1011,9 +1087,10 @@ tpallCommandUsage1=/<command> [spieler]
|
||||
tpautoCommandDescription=Akzeptiere Teleportationsanfragen automatisch.
|
||||
tpautoCommandUsage=/<command> [spieler]
|
||||
tpautoCommandUsage1=/<command> [spieler]
|
||||
tpdenyCommandDescription=Eine Teleportationsanfrage ablehnen.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage2=/<command> <spieler>
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tphereCommandDescription=Teleportiere einen Spieler zu dir.
|
||||
tphereCommandUsage=/<command> <spieler>
|
||||
tphereCommandUsage1=/<command> <spieler>
|
||||
|
||||
@@ -106,7 +106,6 @@ cantReadGeoIpDB=Απέτυχε η ανάγνωση της GeoIP βάσης δε
|
||||
cantSpawnItem=§4Δεν επιτρέπεται η εμφάνιση του αντικειμένου§c {0}§4.
|
||||
cartographytableCommandDescription=Ανοίγει ένα τραπέζι χαρτογραφίας.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Spy]
|
||||
cleaned=Τα Αρχεία Χρήστη Διαγράφτηκαν.
|
||||
cleaning=Διαγραφή των αρχείων χρήστη.
|
||||
@@ -168,6 +167,8 @@ depthAboveSea=§6Βρίσκεσται§c {0} §6κύβο(ους) πάνω από
|
||||
depthBelowSea=§6Βρίσκεσται§c {0} §6κύβο(ους) κάτω από το επίπεδο της θάλασσας.
|
||||
destinationNotSet=Προορισμός δεν ορίστηκε\!
|
||||
disabled=απενεργοποιημένο
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
disposalCommandUsage=/<command>
|
||||
distance=§6Απόσταση\: {0}
|
||||
dontMoveMessage=§6Η τηλεμεταφορά θα ξεκινήσει σε§c {0}§6. Μην κουνηθείτε.
|
||||
@@ -289,6 +290,8 @@ payconfirmtoggleCommandUsage=/<command>
|
||||
paytoggleCommandUsage=/<command> [παίκτης]
|
||||
paytoggleCommandUsage1=/<command> [παίκτης]
|
||||
pingCommandUsage=/<command>
|
||||
playtimeCommandUsage=/<command> [παίκτης]
|
||||
playtimeCommandUsage1=/<command>
|
||||
powertooltoggleCommandUsage=/<command>
|
||||
recipeNothing=τίποτα
|
||||
repairCommandUsage1=/<command>
|
||||
|
||||
@@ -126,7 +126,7 @@ cantReadGeoIpDB=Failed to read GeoIP database\!
|
||||
cantSpawnItem=§4You are not allowed to spawn the item§c {0}§4.
|
||||
cartographytableCommandDescription=Opens up a cartography table.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeLocal=§3[L]
|
||||
chatTypeSpy=[Spy]
|
||||
cleaned=Userfiles Cleaned.
|
||||
cleaning=Cleaning userfiles.
|
||||
@@ -143,6 +143,7 @@ clearinventoryCommandUsage3Description=Clears all (or the specified amount) of t
|
||||
clearinventoryconfirmtoggleCommandDescription=Toggles whether you are prompted to confirm inventory clears.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cYou cannot type that command for {0}.
|
||||
commandDisabled=§cThe command§6 {0}§c is disabled.
|
||||
@@ -232,6 +233,18 @@ destinationNotSet=Destination not set\!
|
||||
disabled=disabled
|
||||
disabledToSpawnMob=§4Spawning this mob was disabled in the config file.
|
||||
disableUnlimited=§6Disabled unlimited placing of§c {0} §6for§c {1}§6.
|
||||
discordbroadcastCommandDescription=Broadcasts a message to the specified Discord channel.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Sends the given message to the specified Discord channel
|
||||
discordbroadcastInvalidChannel=§4Discord channel §c{0}§4 does not exist.
|
||||
discordbroadcastPermission=§4You do not have permission to send messages to the §c{0}§4 channel.
|
||||
discordbroadcastSent=§6Message sent to §c{0}§6\!
|
||||
discordCommandDescription=Sends the Discord invite link to the player.
|
||||
discordCommandLink=§6Join our Discord server at §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Sends the Discord invite link to the player
|
||||
discordCommandExecuteDescription=Executes a console command on the Minecraft server.
|
||||
discordCommandExecuteArgumentCommand=The command to be executed
|
||||
discordCommandExecuteReply=Executing command\: "/{0}"
|
||||
@@ -248,6 +261,8 @@ discordErrorLoggerNoPerms=Discord console logger has been disabled due to insuff
|
||||
discordErrorNoGuild=Invalid or missing server ID\! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorNoGuildSize=Your bot is not in any servers\! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorNoPerms=Your bot cannot see or talk in any channel\! Please make sure your bot has read and write permissions in all channels you wish to use.
|
||||
discordErrorNoPrimary=You did not define a primary channel or your defined primary channel is invalid. Falling back to the default channel\: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Your bot cannot speak in your primary channel, \#{0}. Please make sure your bot has read and write permissions in all channels you wish to use.
|
||||
discordErrorNoToken=No token provided\! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorWebhook=An error occurred while sending messages to your console channel\! This was likely caused by accidentally deleting your console webhook. This can usually by fixed by ensuring your bot has the "Manage Webhooks" permission and running "/ess reload".
|
||||
discordLoggingIn=Attempting to login to Discord...
|
||||
@@ -260,6 +275,12 @@ disposalCommandUsage=/<command>
|
||||
distance=§6Distance\: {0}
|
||||
dontMoveMessage=§6Teleportation will commence in§c {0}§6. Don''t move.
|
||||
downloadingGeoIp=Downloading GeoIP database... this might take a while (country\: 1.7 MB, city\: 30MB)
|
||||
dumpConsoleUrl=A server dump was created\: §c{0}
|
||||
dumpCreating=§6Creating server dump...
|
||||
dumpDeleteKey=§6If you want to delete this dump at a later date, use the following deletion key\: §c{0}
|
||||
dumpError=§4Error while creating dump §c{0}§4.
|
||||
dumpErrorUpload=§4Error while uploading §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Created server dump\: §c{0}
|
||||
duplicatedUserdata=Duplicated userdata\: {0} and {1}.
|
||||
durability=§6This tool has §c{0}§6 uses left.
|
||||
east=E
|
||||
@@ -309,6 +330,8 @@ essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Cleans up old userdata
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=Manages user homes
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Generates a server dump with the requested information
|
||||
essentialsHelp1=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, go to http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, either type /essentialshelp in game or go to http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials reloaded§c {0}.
|
||||
@@ -565,6 +588,9 @@ jailAlreadyIncarcerated=§4Person is already in jail\:§c {0}
|
||||
jailList=§6Jails\:§r {0}
|
||||
jailMessage=§4You do the crime, you do the time.
|
||||
jailNotExist=§4That jail does not exist.
|
||||
jailNotifyJailed=§6Player§c {0} §6jailed by §c{1}.
|
||||
jailNotifyJailedFor=§6Player§c {0} §6jailed for§c {1}§6by §c{2}§6.
|
||||
jailNotifySentenceExtended=§6Player§c{0}§6''s jail time extended to §c{1} §6by §c{2}§6.
|
||||
jailReleased=§6Player §c{0}§6 unjailed.
|
||||
jailReleasedPlayerNotify=§6You have been released\!
|
||||
jailSentenceExtended=§6Jail time extended to §c{0}§6.
|
||||
@@ -641,8 +667,9 @@ listCommandUsage1=/<command> [group]
|
||||
listCommandUsage1Description=Lists all players on the server, or the given group if specified
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[HIDDEN]§r
|
||||
listRealName=({0})
|
||||
loadWarpError=§4Failed to load warp {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
localFormat=§3[L] §r<{0}> {1}
|
||||
loomCommandDescription=Opens up a loom.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6To clear your mail, type§c /mail clear§6.
|
||||
@@ -660,6 +687,8 @@ mailCommandUsage4=/<command> sendall <message>
|
||||
mailCommandUsage4Description=Sends all players the given message
|
||||
mailCommandUsage5=/<command> sendtemp <player> <expire time> <message>
|
||||
mailCommandUsage5Description=Sends the specified player the given message which will expire in the specified time
|
||||
mailCommandUsage6=/<command> sendtempall <expire time> <message>
|
||||
mailCommandUsage6Description=Sends all players the given message which will expire in the specified time
|
||||
mailDelay=Too many mails have been sent within the last minute. Maximum\: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
@@ -749,6 +778,7 @@ nearCommandUsage3Description=Lists all players within the default near radius of
|
||||
nearCommandUsage4=/<command> <player> <radius>
|
||||
nearCommandUsage4Description=Lists all players within the given radius of the specified player
|
||||
nearbyPlayers=§6Players nearby\:§r {0}
|
||||
nearbyPlayersList={0}§f(§c{1}m§f)
|
||||
negativeBalanceError=§4User is not allowed to have a negative balance.
|
||||
nickChanged=§6Nickname changed.
|
||||
nickCommandDescription=Change your nickname or that of another player.
|
||||
@@ -802,8 +832,9 @@ noPlacePermission=§4You do not have permission to place a block near that sign.
|
||||
noPotionEffectPerm=§4You do not have permission to apply potion effect §c{0} §4to this potion.
|
||||
noPowerTools=§6You have no power tools assigned.
|
||||
notAcceptingPay=§4{0} §4is not accepting payment.
|
||||
notAllowedToQuestion=§4You are not authorized to use question.
|
||||
notAllowedToShout=§4You are not authorized to shout.
|
||||
notAllowedToLocal=§4You don''t have permission to speak in local chat.
|
||||
notAllowedToQuestion=§4You don''t have permission to ask a question.
|
||||
notAllowedToShout=§4You don''t have permission to shout.
|
||||
notEnoughExperience=§4You do not have enough experience.
|
||||
notEnoughMoney=§4You do not have sufficient funds.
|
||||
notFlying=not flying
|
||||
@@ -862,6 +893,14 @@ playerTempBanned=§6Player §c{0}§6 temporarily banned §c{1}§6 for §c{2}§6\
|
||||
playerUnbanIpAddress=§6Player§c {0} §6unbanned IP\:§c {1}
|
||||
playerUnbanned=§6Player§c {0} §6unbanned§c {1}
|
||||
playerUnmuted=§6You have been unmuted.
|
||||
playtimeCommandDescription=Shows a player''s time played in game
|
||||
playtimeCommandUsage=/<command> [player]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Shows your time played in game
|
||||
playtimeCommandUsage2=/<command> <player>
|
||||
playtimeCommandUsage2Description=Shows the specified player''s time played in game
|
||||
playtime=§6Playtime\:§c {0}
|
||||
playtimeOther=§6Playtime of {1}§6\:§c {0}
|
||||
pong=Pong\!
|
||||
posPitch=§6Pitch\: {0} (Head angle)
|
||||
possibleWorlds=§6Possible worlds are the numbers §c0§6 through §c{0}§6.
|
||||
@@ -985,14 +1024,17 @@ replyLastRecipientDisabledFor=§6Replying to last message recipient §cdisabled
|
||||
replyLastRecipientEnabled=§6Replying to last message recipient §cenabled§6.
|
||||
replyLastRecipientEnabledFor=§6Replying to last message recipient §cenabled §6for §c{0}§6.
|
||||
requestAccepted=§6Teleport request accepted.
|
||||
requestAcceptedAll=§6Accepted §c{0} §6pending teleport request(s).
|
||||
requestAcceptedAuto=§6Automatically accepted a teleport request from {0}.
|
||||
requestAcceptedFrom=§c{0} §6accepted your teleport request.
|
||||
requestAcceptedFromAuto=§c{0} §6accepted your teleport request automatically.
|
||||
requestDenied=§6Teleport request denied.
|
||||
requestDeniedAll=§6Denied §c{0} §6pending teleport request(s).
|
||||
requestDeniedFrom=§c{0} §6denied your teleport request.
|
||||
requestSent=§6Request sent to§c {0}§6.
|
||||
requestSentAlready=§4You have already sent {0}§4 a teleport request.
|
||||
requestTimedOut=§4Teleport request has timed out.
|
||||
requestTimedOutFrom=§4Teleport request from §c{0} §4has timed out.
|
||||
resetBal=§6Balance has been reset to §c{0} §6for all online players.
|
||||
resetBalAll=§6Balance has been reset to §c{0} §6for all players.
|
||||
rest=§6You feel well rested.
|
||||
@@ -1252,10 +1294,14 @@ tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Cancels all your outstanding teleport requests
|
||||
tpacancelCommandUsage2=/<command> <player>
|
||||
tpacancelCommandUsage2Description=Cancels all your outstanding teleport request with the specified player
|
||||
tpacceptCommandDescription=Accepts a teleport request.
|
||||
tpacceptCommandDescription=Accepts teleport requests.
|
||||
tpacceptCommandUsage=/<command> [otherplayer]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Accepts an incoming teleport request
|
||||
tpacceptCommandUsage1Description=Accepts the most recent teleport request
|
||||
tpacceptCommandUsage2=/<command> <player>
|
||||
tpacceptCommandUsage2Description=Accepts a teleport request from the specified player
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpacceptCommandUsage3Description=Accepts all teleport requests
|
||||
tpahereCommandDescription=Request that the specified player teleport to you.
|
||||
tpahereCommandUsage=/<command> <player>
|
||||
tpahereCommandUsage1=/<command> <player>
|
||||
@@ -1268,10 +1314,14 @@ tpautoCommandDescription=Automatically accept teleportation requests.
|
||||
tpautoCommandUsage=/<command> [player]
|
||||
tpautoCommandUsage1=/<command> [player]
|
||||
tpautoCommandUsage1Description=Toggles if tpa requests are auto accepted for yourself or another player if specified
|
||||
tpdenyCommandDescription=Reject a teleport request.
|
||||
tpdenyCommandDescription=Rejects teleport requests.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Rejects an incoming teleport request
|
||||
tpdenyCommandUsage1Description=Rejects the most recent teleport request
|
||||
tpdenyCommandUsage2=/<command> <player>
|
||||
tpdenyCommandUsage2Description=Rejects a teleport request from the specified player
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tpdenyCommandUsage3Description=Rejects all teleport requests
|
||||
tphereCommandDescription=Teleport a player to you.
|
||||
tphereCommandUsage=/<command> <player>
|
||||
tphereCommandUsage1=/<command> <player>
|
||||
|
||||
@@ -126,7 +126,7 @@ cantReadGeoIpDB=Failed to read GeoIP database\!
|
||||
cantSpawnItem=§4You are not allowed to spawn the item§c {0}§4.
|
||||
cartographytableCommandDescription=Opens up a cartography table.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeLocal=§3[L]
|
||||
chatTypeSpy=[Spy]
|
||||
cleaned=Userfiles Cleaned.
|
||||
cleaning=Cleaning userfiles.
|
||||
@@ -143,6 +143,7 @@ clearinventoryCommandUsage3Description=Clears all (or the specified amount) of t
|
||||
clearinventoryconfirmtoggleCommandDescription=Toggles whether you are prompted to confirm inventory clears.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cYou cannot type that command for {0}.
|
||||
commandDisabled=§cThe command§6 {0}§c is disabled.
|
||||
@@ -150,7 +151,7 @@ commandFailed=Command {0} failed\:
|
||||
commandHelpFailedForPlugin=Error getting help for plugin\: {0}
|
||||
commandHelpLine1=§6Command Help\: §f/{0}
|
||||
commandHelpLine2=§6Description\: §f{0}
|
||||
commandHelpLine3=§6Usage(s);
|
||||
commandHelpLine3=§6Usage(s)\:
|
||||
commandHelpLine4=§6Aliases(s)\: §f{0}
|
||||
commandHelpLineUsage={0} §6- {1}
|
||||
commandNotLoaded=§4Command {0} is improperly loaded.
|
||||
@@ -232,6 +233,18 @@ destinationNotSet=Destination not set\!
|
||||
disabled=disabled
|
||||
disabledToSpawnMob=§4Spawning this mob was disabled in the config file.
|
||||
disableUnlimited=§6Disabled unlimited placing of§c {0} §6for§c {1}§6.
|
||||
discordbroadcastCommandDescription=Broadcasts a message to the specified Discord channel.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Sends the given message to the specified Discord channel
|
||||
discordbroadcastInvalidChannel=§4Discord channel §c{0}§4 does not exist.
|
||||
discordbroadcastPermission=§4You do not have permission to send messages to the §c{0}§4 channel.
|
||||
discordbroadcastSent=§6Message sent to §c{0}§6\!
|
||||
discordCommandDescription=Sends the Discord invite link to the player.
|
||||
discordCommandLink=§6Join our Discord server at §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Sends the Discord invite link to the player
|
||||
discordCommandExecuteDescription=Executes a console command on the Minecraft server.
|
||||
discordCommandExecuteArgumentCommand=The command to be executed
|
||||
discordCommandExecuteReply=Executing command\: "/{0}"
|
||||
@@ -248,6 +261,8 @@ discordErrorLoggerNoPerms=Discord console logger has been disabled due to insuff
|
||||
discordErrorNoGuild=Invalid or missing server ID\! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorNoGuildSize=Your bot is not in any servers\! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorNoPerms=Your bot cannot see or talk in any channel\! Please make sure your bot has read and write permissions in all channels you wish to use.
|
||||
discordErrorNoPrimary=You did not define a primary channel or your defined primary channel is invalid. Falling back to the default channel\: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Your bot cannot speak in your primary channel, \#{0}. Please make sure your bot has read and write permissions in all channels you wish to use.
|
||||
discordErrorNoToken=No token provided\! Please follow the tutorial in the config in order to setup the plugin.
|
||||
discordErrorWebhook=An error occurred while sending messages to your console channel\! This was likely caused by accidentally deleting your console webhook. This can usually by fixed by ensuring your bot has the "Manage Webhooks" permission and running "/ess reload".
|
||||
discordLoggingIn=Attempting to login to Discord...
|
||||
@@ -260,6 +275,12 @@ disposalCommandUsage=/<command>
|
||||
distance=§6Distance\: {0}
|
||||
dontMoveMessage=§6Teleportation will commence in§c {0}§6. Don''t move.
|
||||
downloadingGeoIp=Downloading GeoIP database... this might take a while (country\: 1.7 MB, city\: 30MB)
|
||||
dumpConsoleUrl=A server dump was created\: §c{0}
|
||||
dumpCreating=§6Creating server dump...
|
||||
dumpDeleteKey=§6If you want to delete this dump at a later date, use the following deletion key\: §c{0}
|
||||
dumpError=§4Error while creating dump §c{0}§4.
|
||||
dumpErrorUpload=§4Error while uploading §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Created server dump\: §c{0}
|
||||
duplicatedUserdata=Duplicated userdata\: {0} and {1}.
|
||||
durability=§6This tool has §c{0}§6 uses left.
|
||||
east=E
|
||||
@@ -309,6 +330,8 @@ essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Cleans up old userdata
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=Manages user homes
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Generates a server dump with the requested information
|
||||
essentialsHelp1=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, go to http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, either type /essentialshelp in game or go to http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials reloaded§c {0}.
|
||||
@@ -565,6 +588,9 @@ jailAlreadyIncarcerated=§4Person is already in jail\:§c {0}
|
||||
jailList=§6Jails\:§r {0}
|
||||
jailMessage=§4You do the crime, you do the time.
|
||||
jailNotExist=§4That jail does not exist.
|
||||
jailNotifyJailed=§6Player§c {0} §6jailed by §c{1}.
|
||||
jailNotifyJailedFor=§6Player§c {0} §6jailed for§c {1}§6by §c{2}§6.
|
||||
jailNotifySentenceExtended=§6Player§c{0}§6''s jail time extended to §c{1} §6by §c{2}§6.
|
||||
jailReleased=§6Player §c{0}§6 unjailed.
|
||||
jailReleasedPlayerNotify=§6You have been released\!
|
||||
jailSentenceExtended=§6Jail time extended to §c{0}§6.
|
||||
@@ -641,8 +667,9 @@ listCommandUsage1=/<command> [group]
|
||||
listCommandUsage1Description=Lists all players on the server, or the given group if specified
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[HIDDEN]§r
|
||||
listRealName=({0})
|
||||
loadWarpError=§4Failed to load warp {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
localFormat=§3[L] §r<{0}> {1}
|
||||
loomCommandDescription=Opens up a loom.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6To mark your mail as read, type§c /mail clear§6.
|
||||
@@ -660,6 +687,8 @@ mailCommandUsage4=/<command> sendall <message>
|
||||
mailCommandUsage4Description=Sends all players the given message
|
||||
mailCommandUsage5=/<command> sendtemp <player> <expire time> <message>
|
||||
mailCommandUsage5Description=Sends the specified player the given message which will expire in the specified time
|
||||
mailCommandUsage6=/<command> sendtempall <expire time> <message>
|
||||
mailCommandUsage6Description=Sends all players the given message which will expire in the specified time
|
||||
mailDelay=Too many mails have been sent within the last minute. Maximum\: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
@@ -749,6 +778,7 @@ nearCommandUsage3Description=Lists all players within the default near radius of
|
||||
nearCommandUsage4=/<command> <player> <radius>
|
||||
nearCommandUsage4Description=Lists all players within the given radius of the specified player
|
||||
nearbyPlayers=§6Players nearby\:§r {0}
|
||||
nearbyPlayersList={0}§f(§c{1}m§f)
|
||||
negativeBalanceError=§4User is not allowed to have a negative balance.
|
||||
nickChanged=§6Nickname changed.
|
||||
nickCommandDescription=Change your nickname or that of another player.
|
||||
@@ -802,8 +832,9 @@ noPlacePermission=§4You do not have permission to place a block near that sign.
|
||||
noPotionEffectPerm=§4You do not have permission to apply potion effect §c{0} §4to this potion.
|
||||
noPowerTools=§6You have no power tools assigned.
|
||||
notAcceptingPay=§4{0} §4is not accepting payment.
|
||||
notAllowedToQuestion=§4You are not authorised to use question.
|
||||
notAllowedToShout=§4You are not authorised to shout.
|
||||
notAllowedToLocal=§4You don''t have permission to speak in local chat.
|
||||
notAllowedToQuestion=§4You don''t have permission to ask a question.
|
||||
notAllowedToShout=§4You don''t have permission to shout.
|
||||
notEnoughExperience=§4You do not have enough experience.
|
||||
notEnoughMoney=§4You do not have sufficient funds.
|
||||
notFlying=not flying
|
||||
@@ -862,6 +893,14 @@ playerTempBanned=§6Player §c{0}§6 temporarily banned §c{1}§6 for §c{2}§6\
|
||||
playerUnbanIpAddress=§6Player§c {0} §6unbanned IP\:§c {1}
|
||||
playerUnbanned=§6Player§c {0} §6unbanned§c {1}
|
||||
playerUnmuted=§6You have been unmuted.
|
||||
playtimeCommandDescription=Shows a player''s time played in game
|
||||
playtimeCommandUsage=/<command> [player]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Shows your time played in game
|
||||
playtimeCommandUsage2=/<command> <player>
|
||||
playtimeCommandUsage2Description=Shows the specified player''s time played in game
|
||||
playtime=§6Playtime\:§c {0}
|
||||
playtimeOther=§6Playtime of {1}§6\:§c {0}
|
||||
pong=Pong\!
|
||||
posPitch=§6Pitch\: {0} (Head angle)
|
||||
possibleWorlds=§6Possible worlds are the numbers §c0§6 through §c{0}§6.
|
||||
@@ -985,14 +1024,17 @@ replyLastRecipientDisabledFor=§6Replying to last message recipient §cdisabled
|
||||
replyLastRecipientEnabled=§6Replying to last message recipient §cenabled§6.
|
||||
replyLastRecipientEnabledFor=§6Replying to last message recipient §cenabled §6for §c{0}§6.
|
||||
requestAccepted=§6Teleport request accepted.
|
||||
requestAcceptedAll=§6Accepted §c{0} §6pending teleport request(s).
|
||||
requestAcceptedAuto=§6Automatically accepted a teleport request from {0}.
|
||||
requestAcceptedFrom=§c{0} §6accepted your teleport request.
|
||||
requestAcceptedFromAuto=§c{0} §6accepted your teleport request automatically.
|
||||
requestDenied=§6Teleport request denied.
|
||||
requestDeniedAll=§6Denied §c{0} §6pending teleport request(s).
|
||||
requestDeniedFrom=§c{0} §6denied your teleport request.
|
||||
requestSent=§6Request sent to§c {0}§6.
|
||||
requestSentAlready=§4You have already sent {0}§4 a teleport request.
|
||||
requestTimedOut=§4Teleport request has timed out.
|
||||
requestTimedOutFrom=§4Teleport request from §c{0} §4has timed out.
|
||||
resetBal=§6Balance has been reset to §c{0} §6for all online players.
|
||||
resetBalAll=§6Balance has been reset to §c{0} §6for all players.
|
||||
rest=§6You feel well rested.
|
||||
@@ -1252,10 +1294,14 @@ tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Cancels all your outstanding teleport requests
|
||||
tpacancelCommandUsage2=/<command> <player>
|
||||
tpacancelCommandUsage2Description=Cancels all your outstanding teleport request with the specified player
|
||||
tpacceptCommandDescription=Accepts a teleport request.
|
||||
tpacceptCommandDescription=Accepts teleport requests.
|
||||
tpacceptCommandUsage=/<command> [otherplayer]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Accepts an incoming teleport request
|
||||
tpacceptCommandUsage1Description=Accepts the most recent teleport request
|
||||
tpacceptCommandUsage2=/<command> <player>
|
||||
tpacceptCommandUsage2Description=Accepts a teleport request from the specified player
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpacceptCommandUsage3Description=Accepts all teleport requests
|
||||
tpahereCommandDescription=Request that the specified player teleport to you.
|
||||
tpahereCommandUsage=/<command> <player>
|
||||
tpahereCommandUsage1=/<command> <player>
|
||||
@@ -1268,10 +1314,14 @@ tpautoCommandDescription=Automatically accept teleportation requests.
|
||||
tpautoCommandUsage=/<command> [player]
|
||||
tpautoCommandUsage1=/<command> [player]
|
||||
tpautoCommandUsage1Description=Toggles if tpa requests are auto accepted for yourself or another player if specified
|
||||
tpdenyCommandDescription=Reject a teleport request.
|
||||
tpdenyCommandDescription=Rejects teleport requests.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Rejects an incoming teleport request
|
||||
tpdenyCommandUsage1Description=Rejects the most recent teleport request
|
||||
tpdenyCommandUsage2=/<command> <player>
|
||||
tpdenyCommandUsage2Description=Rejects a teleport request from the specified player
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tpdenyCommandUsage3Description=Rejects all teleport requests
|
||||
tphereCommandDescription=Teleport a player to you.
|
||||
tphereCommandUsage=/<command> <player>
|
||||
tphereCommandUsage1=/<command> <player>
|
||||
|
||||
@@ -126,7 +126,7 @@ cantReadGeoIpDB=¡Error al leer la base de datos de GeoIP\!
|
||||
cantSpawnItem=§4No tienes acceso para producir el ítem§c {0}§4.
|
||||
cartographytableCommandDescription=Abre una mesa de cartografía.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeLocal=§3[L]
|
||||
chatTypeSpy=[Espía]
|
||||
cleaned=Archivos de usuarios limpiados.
|
||||
cleaning=Limpiando archivos de usuario.
|
||||
@@ -135,11 +135,15 @@ clearInventoryConfirmToggleOn=§6You will now be prompted to confirm inventory c
|
||||
clearinventoryCommandDescription=Desecha todos los objetos de tu inventario.
|
||||
clearinventoryCommandUsage=/<command> [jugador|*] [item[\:<data>]|*|**] [cantidad]
|
||||
clearinventoryCommandUsage1=/<command>
|
||||
clearinventoryCommandUsage1Description=Elimina todos los objetos de tu inventario
|
||||
clearinventoryCommandUsage2=/<command> <jugador>
|
||||
clearinventoryCommandUsage2Description=Elimina todo los objetos del inventario del jugador especificado
|
||||
clearinventoryCommandUsage3=/<comando> <jugador> <objeto> [cantidad]
|
||||
clearinventoryCommandUsage3Description=Elimina todos (o la cantidad especificada) los objetos del inventario especificado del jugador
|
||||
clearinventoryconfirmtoggleCommandDescription=Alterna la configuración de confirmación al eliminar el inventario.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cNo puedes usar ese comando durante {0}.
|
||||
commandDisabled=§cEl comando§6 {0}§c está desactivado.
|
||||
@@ -157,7 +161,9 @@ compassCommandUsage=/<command>
|
||||
condenseCommandDescription=Condensa ítems en bloques más compactos.
|
||||
condenseCommandUsage=/<comando> [objeto]
|
||||
condenseCommandUsage1=/<command>
|
||||
condenseCommandUsage1Description=Condensa todos los objetos en tu inventario
|
||||
condenseCommandUsage2=/<command> <item>
|
||||
condenseCommandUsage2Description=Condensa el objeto especificado en tu inventario
|
||||
configFileMoveError=Error al mover config.yml a la carpeta de la copia de seguridad.
|
||||
configFileRenameError=Error al renombrar archivo temp a config.yml.
|
||||
confirmClear=§7To §lCONFIRM§7 inventory clear, please repeat command\: §6{0}
|
||||
@@ -176,6 +182,7 @@ createkitCommandUsage1Description=Crea un kit con el nombre y tiempo de espera d
|
||||
createKitFailed=§4Ocurrio un error durante la creacion del kit {0}.
|
||||
createKitSeparator=§m-----------------------
|
||||
createKitSuccess=§6Kit creado\: §f{0}\n§6Tiempo de espera\: §f{1}\n§6Link\: §f{2}\n§6Copia el contenido del link de arriba en tu archivo kits.yml.
|
||||
createKitUnsupported=§4La serialización de objetos NBT ha sido activada, pero este servidor no está ejecutando Paper 1.15.2+. Regresando a la serialización estándar.
|
||||
creatingConfigFromTemplate=Creando configuración desde la plantilla\: {0}
|
||||
creatingEmptyConfig=Creando configuración vacía\: {0}
|
||||
creative=creativo
|
||||
@@ -226,6 +233,18 @@ destinationNotSet=¡Destino no establecido\!
|
||||
disabled=desactivado
|
||||
disabledToSpawnMob=§4El spawn de este mob está deshabilitado en la configuración.
|
||||
disableUnlimited=Desactivada colocación ilimitada de §c {0} §6para§c {1}§6.
|
||||
discordbroadcastCommandDescription=Anuncia un mensaje al canal especificado de Discord.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Envía el mensaje dado al canal de Discord especificado
|
||||
discordbroadcastInvalidChannel=§4El canal de Discord §c{0}§4 no existe.
|
||||
discordbroadcastPermission=§4No tienes permiso para enviar mensajes al canal §c{0}§4.
|
||||
discordbroadcastSent=§6Mensaje enviado a §c{0}§6
|
||||
discordCommandDescription=Envía el enlace de invitación a Discord al jugador.
|
||||
discordCommandLink=§6¡Únete a nuestro servidor de Discord en §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Envía el enlace de invitación a Discord al jugador
|
||||
discordCommandExecuteDescription=Ejecuta un comando de consola en el servidor de Minecraft.
|
||||
discordCommandExecuteArgumentCommand=El comando a ejecutar
|
||||
discordCommandExecuteReply=Ejecutando comando\: «/{0}»
|
||||
@@ -242,6 +261,8 @@ discordErrorLoggerNoPerms=¡El identificador de la consola de Discord se ha desa
|
||||
discordErrorNoGuild=¡La id. del servidor no se encuentra o no es válida\! Sigue el tutorial de configuración para poner en marcha el plugin.
|
||||
discordErrorNoGuildSize=¡Tu bot no está en ningún servidor\! Sigue el tutorial de configuración para poner en marcha el plugin.
|
||||
discordErrorNoPerms=¡Tu bot no puede ver ni hablar en ningún canal\! Asegúrate de que tu bot tiene permisos de lectura y escritura en todos los canales que quieras usar.
|
||||
discordErrorNoPrimary=No has definido un canal principal o el que has definido no es válido. Volviendo al canal por defecto\: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Tu bot no puede hablar en tu canal principal, \#{0}. Asegúrate de que tu bot tiene permisos de lectura y escritura en todos los canales que quieras que use.
|
||||
discordErrorNoToken=¡No hay token\! Sigue el tutorial de configuración para poner en marcha el plugin.
|
||||
discordErrorWebhook=¡Se ha producido un error al enviar mensajes al canal de la consola\! Esto puede deberse a que se haya eliminado accidentalmente tu webhook de consola. Esto se puede corregir asegurándote de que tu bot tiene permiso para «Administrar webhooks» y ejecutar «/ess reload».
|
||||
discordLoggingIn=Intentando iniciar sesión en Discord...
|
||||
@@ -254,6 +275,12 @@ disposalCommandUsage=/<command>
|
||||
distance=§6Distancia\: {0}
|
||||
dontMoveMessage=§6El teletransporte comenzará en§c {0}§6. Por favor, no te muevas.
|
||||
downloadingGeoIp=Descargando base de datos de GeoIP... Puede tardar unos minutos (países\: 1.7 MB, ciudades\: 30 MB)
|
||||
dumpConsoleUrl=Se ha creado un volcado del servidor\: §c{0}
|
||||
dumpCreating=§6Creando volcado del servidor...
|
||||
dumpDeleteKey=§6Si quieres eliminar este volcado más adelante, usa la siguiente tecla de eliminación\: §c{0}
|
||||
dumpError=§4Error al crear el volcado §c{0}§4.
|
||||
dumpErrorUpload=§4Error al subir §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Se ha creado el volcado del servidor\: §c{0}
|
||||
duplicatedUserdata=Datos de usuario duplicados\: {0} y {1}
|
||||
durability=§7Esta herramienta tiene §c{0}§7 usos restantes.
|
||||
east=E
|
||||
@@ -303,6 +330,8 @@ essentialsCommandUsage6=/<comando> cleanup
|
||||
essentialsCommandUsage6Description=Limpia los datos de usuario antiguos
|
||||
essentialsCommandUsage7=/<comando> homes
|
||||
essentialsCommandUsage7Description=Administra casas de usuarios
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Genera un volcado del servidor con la información solicitada
|
||||
essentialsHelp1=Archivo corrupto, no es posible abrirlo. Essentials está ahora desactivado. Si no puedes arreglar el archivo, ve a http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Archivo corrupto, no es posible abrirlo. Essentials está ahora desactivado. Si no puedes arreglar el archivo, escribe /essentialshelp dentro del juego o ve a http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials ha sido recargado. La versión es§c {0}.
|
||||
@@ -316,10 +345,12 @@ expCommandUsage2Description=Establece el xp del jugador mencionado a la cantidad
|
||||
expCommandUsage3=/<command> show <jugador>
|
||||
expCommandUsage4Description=Muestra la cantidad de xp que el jugador mencionado tiene
|
||||
expCommandUsage5=/<command> reset <jugador>
|
||||
expCommandUsage5Description=Restablece la experiencia del jugador a 0
|
||||
expSet=§c{0} §6ahora tiene§c {1} §6de exp.
|
||||
extCommandDescription=Extingue el fuego de un jugador.
|
||||
extCommandUsage=/<command> [jugador]
|
||||
extCommandUsage1=/<command> [jugador]
|
||||
extCommandUsage1Description=Extingue el fuego de ti mismo o de otro jugador si se especifica
|
||||
extinguish=§6Te has suicidado.
|
||||
extinguishOthers=§7Has matado a {0}.
|
||||
failedToCloseConfig=Error al cerrar configuración {0}.
|
||||
@@ -330,6 +361,7 @@ feed=§6Tu apetito está satisfecho.
|
||||
feedCommandDescription=Satisface el hambre.
|
||||
feedCommandUsage=/<command> [jugador]
|
||||
feedCommandUsage1=/<command> [jugador]
|
||||
feedCommandUsage1Description=Completamente te alimentas a ti mismo o a otro jugador si se especifica
|
||||
feedOther=§6Satisficiste el apetito de §c{0}§6.
|
||||
fileRenameError=Error al renombrar el archivo {0}
|
||||
fireballCommandDescription=Lanza una bola de fuego u otros proyectiles variados.
|
||||
@@ -342,9 +374,13 @@ fireworkColor=§4Parámetros inválidos. Inserta primero el color.
|
||||
fireworkCommandDescription=Te permite modificar un stack de fuegos artificiales.
|
||||
fireworkCommandUsage=/<command> <<meta param>|power [cantidad]|clear|fire [cantidad]>
|
||||
fireworkCommandUsage1=/<command> clear
|
||||
fireworkCommandUsage1Description=Limpia todos los efectos de tus fuegos artificiales
|
||||
fireworkCommandUsage2=/<command> power <cantidad>
|
||||
fireworkCommandUsage2Description=Establece el poder de los fuegos artificiales
|
||||
fireworkCommandUsage3=/<command> fire [cantidad]
|
||||
fireworkCommandUsage3Description=Lanza una, o la cantidad especificada, copias de los fuegos artificiales
|
||||
fireworkCommandUsage4=/<command> <meta>
|
||||
fireworkCommandUsage4Description=Añade el efecto dado a los fuegos artificiales
|
||||
fireworkEffectsCleared=§7Borrados todos los efectos.
|
||||
fireworkSyntax=§7Parametros de firework\:§c color\:<color> [color\:<color>] [forma\:<shape>] [efecto de explosión\:<effect>]\n§7Para usar múltiples colores/efectos, separa los nombres mediante comas\: §cred,blue,pink\n§7Formas\:§c star, ball, large, creeper, burst §6Efectos\:§c trail, twinkle.
|
||||
fixedHomes=Se han eliminado las casas no válidas.
|
||||
@@ -352,6 +388,7 @@ fixingHomes=Eliminando casas no válidas...
|
||||
flyCommandDescription=¡Despega, y a volar\!
|
||||
flyCommandUsage=/<command> [jugador] [on|off]
|
||||
flyCommandUsage1=/<command> [jugador]
|
||||
flyCommandUsage1Description=Alterna el vuelo de ti mismo o de otro jugador si se especifica
|
||||
flying=volando
|
||||
flyMode=§6Modo de vuelo§c {0} §6para§c {1}§6.
|
||||
foreverAlone=§cNo tienes nadie a quien puedas responder.
|
||||
@@ -363,6 +400,7 @@ gameModeInvalid=§4Necesitas especificar un jugador/modo válido.
|
||||
gamemodeCommandDescription=Cambia el modo de juego de un jugador.
|
||||
gamemodeCommandUsage=/<command> <survival|creative|adventure|spectator> [jugador]
|
||||
gamemodeCommandUsage1=/<command> <survival|creative|adventure|spectator> [jugador]
|
||||
gamemodeCommandUsage1Description=Establece el modo de juego de ti mismo o de otro jugador si se especifica
|
||||
gcCommandDescription=Reporta memoria, tiempo de actividad e información de tick.
|
||||
gcCommandUsage=/<command>
|
||||
gcfree=§6Memoria libre\:§c {0} MB.
|
||||
@@ -373,18 +411,23 @@ geoipJoinFormat=§6El jugador §c{0} §6viene de §c{1}§6.
|
||||
getposCommandDescription=Obtiene tus coordenadas actuales o las de un jugador.
|
||||
getposCommandUsage=/<command> [jugador]
|
||||
getposCommandUsage1=/<command> [jugador]
|
||||
getposCommandUsage1Description=Obtiene las coordenadas de ti mismo o de otro jugador si se especifica
|
||||
giveCommandDescription=Da un item a un jugador.
|
||||
giveCommandUsage=/<command> <jugador> <item|numeric> [cantidad [itemmeta...]]
|
||||
giveCommandUsage1=/<comando> <jugador> <objeto> [cantidad]
|
||||
giveCommandUsage1Description=Da al jugador mencionado 64 (o la cantidad especificada) del objeto especificado
|
||||
giveCommandUsage2=/<comando> <jugador> <objeto> <cantidad> <metadatos>
|
||||
giveCommandUsage2Description=Da al jugador mencionado la cantidad especificada del item especificado con los metadatos especificados
|
||||
geoipCantFind=§c{0} §6viene de §aun país desconocido§6.
|
||||
geoIpErrorOnJoin=No se pudo obtener información GeoIP de {0}. Por favor, asegúrese que su llave de licencia y configuración son correctos.
|
||||
geoIpLicenseMissing=No se encontró una llave de licencia\! Por favor, visita https\://essentialsx.net/geoip para instrucciones de configuración.
|
||||
geoIpUrlEmpty=El link para descargar GeoIP esta vacio.
|
||||
geoIpUrlInvalid=El link para descargar GeoIP es inválido.
|
||||
givenSkull=§6Se te ha dado el cráneo de §c{0}§6.
|
||||
godCommandDescription=Activa tus poderes místicos.
|
||||
godCommandDescription=Activa tus poderes de Dios.
|
||||
godCommandUsage=/<command> [jugador] [on|off]
|
||||
godCommandUsage1=/<command> [jugador]
|
||||
godCommandUsage1Description=Activa el modo dios para ti o a otro jugador si se especifica
|
||||
giveSpawn=§6Entregado§c {0} §6de§c {1} §6a§c {2}§6.
|
||||
giveSpawnFailure=§4Sin espacio, §c{0} {1} §4se perdieron.
|
||||
godDisabledFor=§cdeshabilitado§6 para§c {0}
|
||||
@@ -398,6 +441,9 @@ hatArmor=§c¡No puedes usar este ítem como sombrero\!
|
||||
hatCommandDescription=Obtén un nuevo y genial accesorio de cabeza.
|
||||
hatCommandUsage=/<command> [remove]
|
||||
hatCommandUsage1=/<command>
|
||||
hatCommandUsage1Description=Coloca como sombrero el objeto que estés sosteniendo
|
||||
hatCommandUsage2=/<command> remove
|
||||
hatCommandUsage2Description=Elimina tu sombrero actual
|
||||
hatCurse=§4No puedes quitar un sombrero con maldición de ligamento\!
|
||||
hatEmpty=§4No estás usando sombrero.
|
||||
hatFail=§4Necesitas tener un ítem en tu mano para poder usarlo de sombrero.
|
||||
@@ -408,6 +454,7 @@ heal=§6Has sido curado.
|
||||
healCommandDescription=Te cura o al jugador especificado.
|
||||
healCommandUsage=/<command> [jugador]
|
||||
healCommandUsage1=/<command> [jugador]
|
||||
healCommandUsage1Description=Te curas a ti o a otro jugador si se especifica
|
||||
healDead=§4¡Está muerto, no puedes curarlo\!
|
||||
healOther=§7Has curado a {0}.
|
||||
helpCommandDescription=Mira la lista de comandos disponibles.
|
||||
@@ -421,6 +468,7 @@ helpPlugin=§4{0}§r\: Ayuda para el plugin\: /help {1}
|
||||
helpopCommandDescription=Contacta administradores conectados.
|
||||
helpopCommandUsage=/<command> <mensaje>
|
||||
helpopCommandUsage1=/<command> <mensaje>
|
||||
helpopCommandUsage1Description=Envía el mensaje a todos los administradores en línea
|
||||
holdBook=§4No tienes un libro para escribir.
|
||||
holdFirework=§4No tienes algun cohete al que agregar efectos.
|
||||
holdPotion=§4No tienes pociones a las que agregar efectos.
|
||||
@@ -428,7 +476,9 @@ holeInFloor=§4¡No hay suelo en el punto de aparición\!
|
||||
homeCommandDescription=Teletransportarte a tu casa.
|
||||
homeCommandUsage=/<command> [player\:][nombre]
|
||||
homeCommandUsage1=/<comando> <nombre>
|
||||
homeCommandUsage1Description=Te teletransporta a tu casa con el nombre dado
|
||||
homeCommandUsage2=/<comando> <jugador>\:<nombre>
|
||||
homeCommandUsage2Description=Te teletransporta a la casa del jugador especificado con el nombre dado
|
||||
homes=§6Hogares\:§r {0}
|
||||
homeConfirmation=§6Ya tienes una casa llamada §c{0}§6\!\nPara sobrescribir tu casa existente, escribe el comando de nuevo.
|
||||
homeSet=§7Hogar establecido.
|
||||
@@ -440,10 +490,14 @@ iceCommandUsage=/<command> [jugador]
|
||||
iceCommandUsage1=/<command>
|
||||
iceCommandUsage1Description=Te enfría
|
||||
iceCommandUsage2=/<command> <jugador>
|
||||
iceCommandUsage2Description=Congela al jugador seleccionado
|
||||
iceCommandUsage3=/<comando> *
|
||||
iceCommandUsage3Description=Congela a todos los jugadores en línea
|
||||
iceOther=§6De tranquis§c {0}§6.
|
||||
ignoreCommandDescription=Ignorar o dejar de ignorar a otros jugadores.
|
||||
ignoreCommandUsage=/<command> <jugador>
|
||||
ignoreCommandUsage1=/<command> <jugador>
|
||||
ignoreCommandUsage1Description=Desactiva o activa al jugador dado
|
||||
ignoredList=§6Ignorado\:§r {0}
|
||||
ignoreExempt=§4No puedes ignorar a este jugador.
|
||||
ignorePlayer=A partir de ahora ignoras al jugador {0}.
|
||||
@@ -478,18 +532,27 @@ inventoryClearingStack=§6Eliminado§c {0} §6de§c {1} §6de {2}§6.
|
||||
invseeCommandDescription=Ver el inventario de otros jugadores.
|
||||
invseeCommandUsage=/<command> <jugador>
|
||||
invseeCommandUsage1=/<command> <jugador>
|
||||
invseeCommandUsage1Description=Abre el inventario del jugador especificado
|
||||
is=es
|
||||
isIpBanned=§6IP §c{0} §6está baneada.
|
||||
internalError=§cAn internal error occurred while attempting to perform this command.
|
||||
itemCannotBeSold=§4¡Ese objeto no puede ser vendido al servidor\!
|
||||
itemCommandDescription=Generar un elemento.
|
||||
itemCommandUsage=/<command> <item|numeric> [cantidad [itemmeta...]]
|
||||
itemCommandUsage1=/<command> <item> [cantidad]
|
||||
itemCommandUsage1Description=Te da un stack completo (o una cantidad especificada) del item especificado
|
||||
itemCommandUsage2=/<command> <item> <amount> <meta>
|
||||
itemCommandUsage2Description=Te da la cantidad especificada del item especificado con los metadatos especificados
|
||||
itemId=§6ID\:§c {0}
|
||||
itemloreClear=§6Has eliminado el lore de este objeto.
|
||||
itemloreCommandDescription=Editar el lore de un elemento.
|
||||
itemloreCommandUsage=/<command> <add/set/clear> [texto/línea] [texto]
|
||||
itemloreCommandUsage1=/<comando> add [texto]
|
||||
itemloreCommandUsage1Description=Añade el texto dado al final del lore del objeto sostenido
|
||||
itemloreCommandUsage2=/<comando> poner <número de línea> <texto>
|
||||
itemloreCommandUsage2Description=Establece la línea especificada del lore del item sostenido al texto dado
|
||||
itemloreCommandUsage3=/<command> clear
|
||||
itemloreCommandUsage3Description=Elimina el lore del item sostenido
|
||||
itemloreInvalidItem=§4Necesitas un item en la mano para editar su lore.
|
||||
itemloreNoLine=§4El objeto sostenido no tiene un texto de lore en línea §c{0}§4.
|
||||
itemloreNoLore=§4El item sostenido no contiene ningún lore.
|
||||
@@ -501,7 +564,9 @@ itemnameClear=§6Has eliminado el nombre de este objeto.
|
||||
itemnameCommandDescription=Nombra un item.
|
||||
itemnameCommandUsage=/<command> [nombre]
|
||||
itemnameCommandUsage1=/<command>
|
||||
itemnameCommandUsage1Description=Elimina el nombre del item sostenido
|
||||
itemnameCommandUsage2=/<comando> <nombre>
|
||||
itemnameCommandUsage2Description=Establece el nombre del item sostenido al texto dado
|
||||
itemnameInvalidItem=§cNecesitas tener un objeto en la mano para renombrarlo.
|
||||
itemnameSuccess=§6Has renombrado el objeto de tu mano a "§c{0}§6".
|
||||
itemNotEnough1=§4No tienes la suficiente cantidad del ítem para venderlo.
|
||||
@@ -518,10 +583,14 @@ itemType=§6Objeto\:§c {0}
|
||||
itemdbCommandDescription=Busca un item.
|
||||
itemdbCommandUsage=/<command> <item>
|
||||
itemdbCommandUsage1=/<command> <item>
|
||||
itemdbCommandUsage1Description=Busca el item dado en la base de datos de items
|
||||
jailAlreadyIncarcerated=§4Ese jugador ya está en la cárcel\:§c {0}
|
||||
jailList=§6Jails\:§r {0}
|
||||
jailMessage=§c¡Por el crimen hacer, a la cárcel irás\!
|
||||
jailNotExist=§4Esa cárcel no existe.
|
||||
jailNotifyJailed=§6El jugador§c {0} §6ha sido encarcelado por §c{1}.
|
||||
jailNotifyJailedFor=§6El jugador§c {0} §6ha sido encarcelado por§c {1}§6por §c{2}§6.
|
||||
jailNotifySentenceExtended=§6El tiempo en cárcel §6del jugador§c{0} §6ha sido extendido a §c{1} §6por §c{2}§6.
|
||||
jailReleased=§6El jugador §c{0}§6 ha salido de la cárcel.
|
||||
jailReleasedPlayerNotify=§7¡Has sido liberado\!
|
||||
jailSentenceExtended=Tiempo en la cárcel extendido a {0}
|
||||
@@ -537,26 +606,32 @@ jumpError=§4Eso dañaría el cerebro de tu ordenador.
|
||||
kickCommandDescription=Expulsa al jugador especificado con una razón.
|
||||
kickCommandUsage=/<command> <jugador> [razón]
|
||||
kickCommandUsage1=/<command> <jugador> [razón]
|
||||
kickCommandUsage1Description=Expulsa al jugador especificado con una razón opcional
|
||||
kickDefault=Has sido expulsado del servidor\! Nota\: Revisa tu comportamiento
|
||||
kickedAll=§4Todos los jugadores han sido expulsados.
|
||||
kickExempt=§4No puedes expulsar a ese jugador.
|
||||
kickallCommandDescription=Expulsa a todos los jugadores del servidor excepto al emisor.
|
||||
kickallCommandUsage=/<command> [razón]
|
||||
kickallCommandUsage1=/<command> [razón]
|
||||
kickallCommandUsage1Description=Expulsa a todos los jugadores con una razón opcional
|
||||
kill=§7Has matado a§c {0}§7.
|
||||
killCommandDescription=Mata al jugador especificado.
|
||||
killCommandUsage=/<command> <jugador>
|
||||
killCommandUsage1=/<command> <jugador>
|
||||
killCommandUsage1Description=Mata al jugador especificado
|
||||
killExempt=§4No puedes matar a §c{0}§4.
|
||||
kitCommandDescription=Obtiene el kit especificado o ve todos los kits disponibles.
|
||||
kitCommandUsage=/<command> [kit] [jugador]
|
||||
kitCommandUsage1=/<command>
|
||||
kitCommandUsage1Description=Lista de todos los kits disponibles
|
||||
kitCommandUsage2=/<command> <kit> [jugador]
|
||||
kitCommandUsage2Description=Entrega el kit especificado a ti o a otro jugador si se especifica
|
||||
kitContains=§6El kit §c{0} §6contiene\:
|
||||
kitCost=\ §7§o({0})§r
|
||||
kitDelay=§m{0}§r
|
||||
kitError=§cNo hay ningún kit válido.
|
||||
kitError2=§4Este kit está mal creado. Por favor, contacta con un administrador.
|
||||
kitError3=No se pudo dar el objeto en el kit del kit "{0}" al usuario {1} ya que ese objeto requiere Paper 1\n15.2+ para deserializar.
|
||||
kitGiveTo=§6Dando kit§c {0}§6 a §c{1}§6.
|
||||
kitInvFull=§4Tu inventario no tiene espacio para este kit. El kit se lanzará al suelo.
|
||||
kitInvFullNoDrop=§4No hay suficiente espacio en tu inventario para ese kit.
|
||||
@@ -568,6 +643,7 @@ kitReset=§6Restablecer el tiempo de reutilización del kit §c {0} §6.
|
||||
kitresetCommandDescription=Restablece el tiempo de reutilización del kit especificado.
|
||||
kitresetCommandUsage=/<command> <kit> [jugador]
|
||||
kitresetCommandUsage1=/<command> <kit> [jugador]
|
||||
kitresetCommandUsage1Description=Reinicia el enfriamiento del kit especificado para ti o para otro jugador si se específica
|
||||
kitResetOther=§6Restableciendo el tiempo de espera del kit §c{0} §6durante §c{1}§6.
|
||||
kits=§7Kits disponibles\: {0}
|
||||
kittycannonCommandDescription=Tira un gato explosivo a tu oponente.
|
||||
@@ -577,6 +653,9 @@ leatherSyntax=§6Sintaxis color del cuero\:§c color\:<red>,<green>,<blue> ejemp
|
||||
lightningCommandDescription=El poder de Thor. Lanza un rayo al cursor o al jugador.
|
||||
lightningCommandUsage=/<command> [jugador] [poder]
|
||||
lightningCommandUsage1=/<command> [jugador]
|
||||
lightningCommandUsage1Description=Golpea con un rayo ya sea donde estás mirando o a otro jugador si se especifica
|
||||
lightningCommandUsage2=/<command> <jugador> <poder>
|
||||
lightningCommandUsage2Description=Lanza un rayo al jugador objetivo con el poder elegido
|
||||
lightningSmited=§6¡Has sido golpeado mágicamente\!
|
||||
lightningUse=§6Golpeando al jugador§c {0}
|
||||
listAfkTag=§8[Ausente]§r
|
||||
@@ -585,10 +664,12 @@ listAmountHidden=§6Hay§c{0}§6/§c{1}§6 de un máximo de §c{2}§6 jugadondo
|
||||
listCommandDescription=Lista todos los jugadores en línea.
|
||||
listCommandUsage=/<command> [grupo]
|
||||
listCommandUsage1=/<command> [grupo]
|
||||
listCommandUsage1Description=Lista todos los jugadores del servvidor, o del grupo si se ha especificado
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§8[Oculto]§r
|
||||
listRealName=({0})
|
||||
loadWarpError=§4Error al cargar el Warp {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
localFormat=§3[L] §r<{0}> {1}
|
||||
loomCommandDescription=Abre un telar.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Para marcar tu correo como leído, escribe§c /mail clear§6.
|
||||
@@ -596,10 +677,18 @@ mailCleared=§6¡El correo ha sido limpiado\!
|
||||
mailClearIndex=§Debes especificar un número entre 1 y {0}.
|
||||
mailCommandDescription=Administra el correo inter-jugador e intra-servidor.
|
||||
mailCommandUsage=/<comando> [read|clear|clear [número]|send [to] [mensaje]|sendtemp [to] [fecha de caducidad] [mensaje]|sendall [mensaje]]
|
||||
mailCommandUsage1=/<command> read [página]
|
||||
mailCommandUsage1Description=Lee la primera (o especificada) página de tu correo
|
||||
mailCommandUsage2=/<comando> clear [número]
|
||||
mailCommandUsage2Description=Limpia todos los correos especificados
|
||||
mailCommandUsage3=/<command> send <jugador> <mensaje>
|
||||
mailCommandUsage3Description=Envía al jugador especificado el mensaje dado
|
||||
mailCommandUsage4=/<command> sendall <mensaje>
|
||||
mailCommandUsage4Description=Envía a todos los jugadores el mensaje proporcionado
|
||||
mailCommandUsage5=/<comando> sendtemp <jugador> <fecha de caducidad> <mensaje>
|
||||
mailCommandUsage5Description=Envía al jugador especificado el mensaje, el cual expirará en el tiempo de caducidad establecido
|
||||
mailCommandUsage6=/<comando> sendtempall <caducidad> <mensaje>
|
||||
mailCommandUsage6Description=Envía a todos los jugadores el mensaje escrito y caducará cuando se especifique.
|
||||
mailDelay=Demasiados correos han sido enviados en el último minuto. Máximo\: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
@@ -620,6 +709,7 @@ mayNotJailOffline=§4No puedes encarcelar a jugadores que no están conectados.
|
||||
meCommandDescription=Describe una acción en el contexto del jugador.
|
||||
meCommandUsage=/<command> <descripción>
|
||||
meCommandUsage1=/<command> <descripción>
|
||||
meCommandUsage1Description=Describe una acción
|
||||
meSender=yo
|
||||
meRecipient=mi
|
||||
minimumBalanceError=§4El balance mínimo que un jugador puede tener es {0}.
|
||||
@@ -639,6 +729,7 @@ months=meses
|
||||
moreCommandDescription=Rellena el stack de items en tu mano con la cantidad especificada, o al máximo si ninguna cantidad es especificada.
|
||||
moreCommandUsage=/<command> [cantidad]
|
||||
moreCommandUsage1=/<command> [cantidad]
|
||||
moreCommandUsage1Description=Llena el ítem retenido hasta el monto establecido, o su tamaño máximo si no está especificado
|
||||
moreThanZero=Las cantidades deben ser mayores que 0.
|
||||
motdCommandDescription=Mira el Mensaje del Día.
|
||||
motdCommandUsage=/<command> [capítulo] [página]
|
||||
@@ -646,6 +737,7 @@ moveSpeed=§6Establecida velocidad de {0} a§c {1} §6durante §c{2}§6.
|
||||
msgCommandDescription=Envía un mensaje privado al jugador especificado.
|
||||
msgCommandUsage=/<command> <hacia> <mensaje>
|
||||
msgCommandUsage1=/<command> <hacia> <mensaje>
|
||||
msgCommandUsage1Description=Envía el mensaje privado al jugador especificado
|
||||
msgDisabled=§6Receiving messages §cdisabled§6.
|
||||
msgDisabledFor=§6Receiving messages §cdisabled §6for §c{0}§6.
|
||||
msgEnabled=§6Receiving messages §cenabled§6.
|
||||
@@ -655,11 +747,15 @@ msgIgnore=§c{0} §4has messages disabled.
|
||||
msgtoggleCommandDescription=Bloquea la recepción de mensajes privados.
|
||||
msgtoggleCommandUsage=/<command> [jugador] [on|off]
|
||||
msgtoggleCommandUsage1=/<command> [jugador]
|
||||
msgtoggleCommandUsage1Description=Alterna el vuelo de ti mismo o de otro jugador si se especifica
|
||||
multipleCharges=§4Solo puedes aplicar una carga a este cohete.
|
||||
multiplePotionEffects=§4No puedes aplicarle más de un efecto a esta poción.
|
||||
muteCommandDescription=Silencia o deja de silenciar a un jugador.
|
||||
muteCommandUsage=/<command> <jugador> [tiempo] [razón]
|
||||
muteCommandUsage1=/<command> <jugador>
|
||||
muteCommandUsage1Description=Silenciar permanentemente al jugador especificado o de-silenciarlos si ya estaban silenciados
|
||||
muteCommandUsage2=/<comando> <jugador> <duración> [razón]
|
||||
muteCommandUsage2Description=Silencia al jugador especificado durante el tiempo dado con una razón opcional
|
||||
mutedPlayer=§6El jugador§c {0} §6está silenciado.
|
||||
mutedPlayerFor=§6Jugador§c {0} §6silenciado por§c {1}§6.
|
||||
mutedPlayerForReason=§c {0} §6silenciado por§c {1}§6. Motivo\: §c{2}
|
||||
@@ -674,13 +770,27 @@ muteNotifyReason=§c{0} §6ha silenciado a §c{1}§6. §6Motivo\: §c{2}
|
||||
nearCommandDescription=Lista los jugadores cerca o alrededor de un jugador.
|
||||
nearCommandUsage=/<command> [jugador] [radio]
|
||||
nearCommandUsage1=/<command>
|
||||
nearCommandUsage1Description=Enumera a todos los jugadores cerca de ti dentro del radio por defecto
|
||||
nearCommandUsage2=/<command> <radius>
|
||||
nearCommandUsage2Description=Enumera a todos los jugadores cerca de ti dentro del radio dado
|
||||
nearCommandUsage3=/<command> <jugador>
|
||||
nearCommandUsage3Description=Enumera a todos los jugadores cerca del jugador especificado dentro del radio por defecto
|
||||
nearCommandUsage4=/<comando> <jugador> <radio>
|
||||
nearCommandUsage4Description=Enumera a todos los jugadores cerca del jugador especificado dentro del radio dado
|
||||
nearbyPlayers=§6Jugadores cercanos\:§r {0}
|
||||
nearbyPlayersList={0}§f(§c{1}m§f)
|
||||
negativeBalanceError=§4El jugador no tiene permitido tener dinero por debajo de 0$.
|
||||
nickChanged=§6Nick cambiado.
|
||||
nickCommandDescription=Cambia tu apodo o el de otro jugador.
|
||||
nickCommandUsage=/<command> [jugador] <apodo|off>
|
||||
nickCommandUsage1=/<command> <apodo>
|
||||
nickCommandUsage1Description=Cambia tu apodo al texto dado
|
||||
nickCommandUsage2=/<comando> apagado
|
||||
nickCommandUsage2Description=Elimina tu nick
|
||||
nickCommandUsage3=/<comando> <jugador> <apodo>
|
||||
nickCommandUsage3Description=Cambia el apodo del jugador especificado al texto dado
|
||||
nickCommandUsage4=/<comando> <jugador> apagado
|
||||
nickCommandUsage4Description=Elimina el nick del jugador proporcionado
|
||||
nickDisplayName=§4Tienes que activar el cambio de nick en la configuración del plugin Essentials.
|
||||
nickInUse=§4Ese nick ya está en uso. Prueba a usar otro.
|
||||
nickNameBlacklist=§4Ese apodo no está permitido.
|
||||
@@ -722,8 +832,9 @@ noPlacePermission=§4No tienes permiso para colocar un bloque junto a eso.
|
||||
noPotionEffectPerm=§4No tienes permiso para aplicar el efecto§c {0} §4a esta poción.
|
||||
noPowerTools=§6No tienes ninguna herramienta eléctrica asignada.
|
||||
notAcceptingPay=§4{0} §4no esta aceptando pagos.
|
||||
notAllowedToQuestion=§4No estás autorizado para hacer una pregunta.
|
||||
notAllowedToShout=§4No estás autorizado para gritar.
|
||||
notAllowedToLocal=§4No tienes permiso para hablar en el chat local.
|
||||
notAllowedToQuestion=§4No tienes permiso para usar la pregunta.
|
||||
notAllowedToShout=§4No tienes permiso para gritar.
|
||||
notEnoughExperience=§4No tienes la experiencia necesaria.
|
||||
notEnoughMoney=§4No tienes dinero suficiente.
|
||||
notFlying=no esta volando
|
||||
@@ -733,6 +844,8 @@ noWarpsDefined=§6No hay warps disponibles.
|
||||
nuke=§5¡Que la lluvia de la muerte caiga sobre ellos\!.
|
||||
nukeCommandDescription=Que la muerte llueva sobre ellos.
|
||||
nukeCommandUsage=/<command> [jugador]
|
||||
nukeCommandUsage1=/<comando> [jugadores...]
|
||||
nukeCommandUsage1Description=Envía una bomba sobre todos los jugadores u otro(s) jugador(es), si se especifica
|
||||
numberRequired=Se requiere un número.
|
||||
onlyDayNight=§6/time §4únicamente funciona con los valores §6Day§4 o §6Night§4 (día/noche).
|
||||
onlyPlayers=§4Solo jugadores dentro del juego pueden usar §c{0}§4.
|
||||
@@ -746,6 +859,7 @@ passengerTeleportFail=§2♣§d§kii§a§lSkyblock§d§kii§2♣ No puedes telet
|
||||
payCommandDescription=Paga a otro jugador con tu dinero.
|
||||
payCommandUsage=/<command> <jugador> <cantidad>
|
||||
payCommandUsage1=/<command> <jugador> <cantidad>
|
||||
payCommandUsage1Description=Paga al jugador especificado la cantidad de dinero dada
|
||||
payConfirmToggleOff=§6You will no longer be prompted to confirm payments.
|
||||
payConfirmToggleOn=§6You will now be prompted to confirm payments.
|
||||
payDisabledFor=§6Aceptación de pagos desactivado para §c{0}§6.
|
||||
@@ -759,6 +873,7 @@ payconfirmtoggleCommandUsage=/<command>
|
||||
paytoggleCommandDescription=Alterna si puedes aceptar pagos.
|
||||
paytoggleCommandUsage=/<command> [jugador]
|
||||
paytoggleCommandUsage1=/<command> [jugador]
|
||||
paytoggleCommandUsage1Description=Activa o desactiva si tú, u otro jugador si se especifica, acepta pagos
|
||||
pendingTeleportCancelled=§4Petición de teletransporte cancelada.
|
||||
pingCommandDescription=¡PONG\!
|
||||
pingCommandUsage=/<command>
|
||||
@@ -778,12 +893,25 @@ playerTempBanned=§6El jugador §c{0}§6 ha baneado temporalmente a §c{1}§6 po
|
||||
playerUnbanIpAddress=§6La IP {1} ha sido desbaneada por§c {0}
|
||||
playerUnbanned=§c{0} §6ha desbaneado a§c {1}
|
||||
playerUnmuted=§6Ya no estás silenciado.
|
||||
playtimeCommandDescription=Muestra el tiempo jugado de alguien
|
||||
playtimeCommandUsage=/<command> [jugador]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Muestra tu tiempo jugado
|
||||
playtimeCommandUsage2=/<command> <jugador>
|
||||
playtimeCommandUsage2Description=Muestra el tiempo jugado del jugador específico
|
||||
playtime=§6Tiempo de juego\:§c {0}
|
||||
playtimeOther=§6Tiempo de juego de {1}§6\:§c {0}
|
||||
pong=¡PONG\!
|
||||
posPitch=§7Giro\: {0} (Ángulo de cabeza)
|
||||
possibleWorlds=§6Posibles mundos son los números desde el §c0§6 hasta el §c{0}§6.
|
||||
potionCommandDescription=Añade efectos personalizados a una poción.
|
||||
potionCommandUsage=/<command> <clear|apply|effect\:<efecto> power\:<poder> duration\:<duración>>
|
||||
potionCommandUsage1=/<command> clear
|
||||
potionCommandUsage1Description=Elimina todos los efectos de la poción sostenida
|
||||
potionCommandUsage2=/<command> aplicar
|
||||
potionCommandUsage2Description=Te aplica todos los efectos de la poción sostenida sin consumir la poción
|
||||
potionCommandUsage3=/<comando> efecto\:<efecto> poder\:<poder> duración\:<duración>
|
||||
potionCommandUsage3Description=Aplica el meta de la poción dada a la poción sostenida
|
||||
posX=§7X\: {0} (+Este <-> -Oeste)
|
||||
posY=§7Y\: {0} (+Arriba <-> -Abajo)
|
||||
posYaw=§7Yaw\: {0} (Rotación)
|
||||
@@ -802,12 +930,34 @@ powerToolsDisabled=§7Todas tus herramientas de poder han sido desactivadas.
|
||||
powerToolsEnabled=§7Todas tus herramientas de poder han sido activadas.
|
||||
powertoolCommandDescription=Asigna un comando al item en mano.
|
||||
powertoolCommandUsage=/<command> [l\:|a\:|r\:|c\:|d\:][comando] [argumentos] - {jugador} puede ser reemplazado por un jugador clickeado.
|
||||
powertoolCommandUsage1=/<comando> l\:
|
||||
powertoolCommandUsage1Description=Enumera todos los powertools del objeto sostenido
|
||||
powertoolCommandUsage2=/<comando> d\:
|
||||
powertoolCommandUsage2Description=Elimina todos los powertools del objeto sostenido
|
||||
powertoolCommandUsage3=/<comando> r\:<cmd>
|
||||
powertoolCommandUsage3Description=Elimina el comando dado del elemento sostenido
|
||||
powertoolCommandUsage4=/<comando> <cmd>
|
||||
powertoolCommandUsage4Description=Establece el comando powertool del objeto sostenido al comando dado
|
||||
powertoolCommandUsage5=/<comando> a\:<cmd>
|
||||
powertoolCommandUsage5Description=Añade el comando powertool dado al elemento sostenido
|
||||
powertooltoggleCommandDescription=Activa o desactiva todas las herramientas de poder actuales.
|
||||
powertooltoggleCommandUsage=/<command>
|
||||
ptimeCommandDescription=Ajustar la hora del cliente del jugador. Añadir prefijo @ para arreglar.
|
||||
ptimeCommandUsage=/<command> [list|reset|day|night|dawn|17\:30|4pm|4000ticks] [jugador|*]
|
||||
ptimeCommandUsage1=/<comando> lista [jugador|*]
|
||||
ptimeCommandUsage1Description=Enumera el tiempo de juego de ti u otro(s) jugador(es) si se especifica
|
||||
ptimeCommandUsage2=/<comando> <tiempo> [jugador|*]
|
||||
ptimeCommandUsage2Description=Cambia la hora del día a la hora dada para ti u otro(s) jugador(es) si se especifica
|
||||
ptimeCommandUsage3=/<comando> reset [jugador|*]
|
||||
ptimeCommandUsage3Description=Resetea la hora del día para ti u otro(s) jugador(es) si se especifica
|
||||
pweatherCommandDescription=Ajusta el clima de un jugador
|
||||
pweatherCommandUsage=/<command> [list|reset|storm|sun|clear] [jugador|*]
|
||||
pweatherCommandUsage1=/<comando> lista [jugador|*]
|
||||
pweatherCommandUsage1Description=Enumera el clima personal para ti u otro(s) jugador(es) si se especifica
|
||||
pweatherCommandUsage2=/<command> <storm|sun> [jugador|*]
|
||||
pweatherCommandUsage2Description=Cambia el clima personal para ti u otro(s) jugador(es) si se especifica al clima dado
|
||||
pweatherCommandUsage3=/<comando> reset [jugador|*]
|
||||
pweatherCommandUsage3Description=Resetea el clima para ti u otro(s) jugador(es) si se especifica
|
||||
pTimeCurrent=§6La hora de §c{0} es§c {1}§6.
|
||||
pTimeCurrentFixed=§c{0}§6 la hora ha sido corregida a§c {1}§6.
|
||||
pTimeNormal=§c{0} §7\: el tiempo es normal (coincide con el del servidor).
|
||||
@@ -827,17 +977,21 @@ questionFormat=§2[Pregunta]§r {0}
|
||||
rCommandDescription=Responde rápidamente al último jugador que te habló.
|
||||
rCommandUsage=/<command> <mensaje>
|
||||
rCommandUsage1=/<command> <mensaje>
|
||||
rCommandUsage1Description=Responde con el texto dado al último jugador que te ha mandado un mensaje
|
||||
radiusTooBig=§4Radidemasiado grande\! El máximo es§c {0}§4.
|
||||
readNextPage=§7Escribe§c /{0} {1} §7para leer la página siguiente.
|
||||
realName=§f{0}§r§6 es §f{1}
|
||||
realnameCommandDescription=Muestra el nombre de usuario de alguien basado en su apodo.
|
||||
realnameCommandUsage=/<command> <apodo>
|
||||
realnameCommandUsage1=/<command> <apodo>
|
||||
realnameCommandUsage1Description=Muestra el nombre de usuario de un jugador basado en el apodo dado
|
||||
recentlyForeverAlone=§4{0} recently went offline.
|
||||
recipe=§6Receta para §c{0}§6 (§c{1}§6 de §c{2}§6)
|
||||
recipeBadIndex=No hay ningún crafteo con ese número.
|
||||
recipeCommandDescription=Muestra como craftear items.
|
||||
recipeCommandUsage=/<command> <item> [número]
|
||||
recipeCommandUsage1=/<command> <item> [page]
|
||||
recipeCommandUsage1Description=Muestra como crear el objeto dado
|
||||
recipeFurnace=§6Fundir\: §c{0}§6.
|
||||
recipeGrid=§c{0}X §6| §{1}X §6| §{2}X
|
||||
recipeGridItem=§c{0}X §6es §c{1}
|
||||
@@ -848,12 +1002,19 @@ recipeShapeless=§7Combinar §c{0}
|
||||
recipeWhere=§7Donde\: {0}
|
||||
removeCommandDescription=Elimina entidades de tu mundo.
|
||||
removeCommandUsage=/<command> <all|tamed|named|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[tipoDeMob]> [radio|mundo]
|
||||
removeCommandUsage1=/<command> <mob type> [world]
|
||||
removeCommandUsage1Description=Elimina todos los mobs del tipo dado en el mundo actual u otro si especificado
|
||||
removeCommandUsage2=/<comando> <tipo de mob> <radio> [mundo]
|
||||
removeCommandUsage2Description=Elimina el tipo de mob dado dentro del radio dado en el mundo actual u otro si se especifica
|
||||
removed=§6Eliminadas§c {0} §6entidades.
|
||||
repair=§6Has reparado exitósamente tu\: §c{0}§6.
|
||||
repairAlreadyFixed=§4Este ítem no necesita reparación.
|
||||
repairCommandDescription=Repara la durabilidad de uno o todos tus objetos.
|
||||
repairCommandUsage=/<command> [hand|all]
|
||||
repairCommandUsage1=/<command>
|
||||
repairCommandUsage1Description=Repara el objeto sostenido
|
||||
repairCommandUsage2=/<comando> todos
|
||||
repairCommandUsage2Description=Repara todos los objetos en tu inventario
|
||||
repairEnchanted=§4No tienes permiso para reparar un ítem encantado.
|
||||
repairInvalidType=§4Ese ítem no puede ser reparado.
|
||||
repairNone=§4No hay ítems que necesiten ser reparados.
|
||||
@@ -863,20 +1024,24 @@ replyLastRecipientDisabledFor=§6Respuesta al último mensaje recibido/enviado
|
||||
replyLastRecipientEnabled=§6Respuesta al último mensaje recibido/enviado §cactivado§6.
|
||||
replyLastRecipientEnabledFor=§6Respuesta al último mensaje recibido/enviado §cdesactivado §6por §c{0}§6.
|
||||
requestAccepted=§6Petición de teletransporte aceptada.
|
||||
requestAcceptedAll=§6Aceptada(s) §c{0} §6peticion(es) de teletransporte pendiente(s).
|
||||
requestAcceptedAuto=§6Se aceptó automáticamente una solicitud de teletransporte de {0}.
|
||||
requestAcceptedFrom=§c{0} §6ha aceptado tu teletransportación.
|
||||
requestAcceptedFromAuto=§c{0} §6aceptó tu solicitud de teletransporte automáticamente.
|
||||
requestDenied=§6Petición de teletransporte denegada.
|
||||
requestDeniedAll=§6Denegada(s) §c{0} §6peticion(es) de teletransporte pendiente(s).
|
||||
requestDeniedFrom=§c{0} §6ha denegado tu teletransportación.
|
||||
requestSent=§6La petición ha sido enviada a§c {0}§6.
|
||||
requestSentAlready=§4Ya has enviado una peticion de teletransporte a {0}§4.
|
||||
requestTimedOut=§4El tiempo de la solicitud de teletransporte se ha agotado.
|
||||
requestTimedOutFrom=§4La petición de teletransporte de §c{0} §4ha caducado.
|
||||
resetBal=§6Dinero reestablecido a §c{0} §6a todos los jugadores conectados.
|
||||
resetBalAll=§6Dinero reestablecido a §c{0} §6a todos los jugadores.
|
||||
rest=§6Te sientes descansado.
|
||||
restCommandDescription=Te descansa o al jugador especificado.
|
||||
restCommandUsage=/<command> [jugador]
|
||||
restCommandUsage1=/<command> [jugador]
|
||||
restCommandUsage1Description=Resetea el tiempo desde el último reposo para ti u otro(s) jugador(es) si se especifica
|
||||
restOther=§6Descansando§c {0}§6.
|
||||
returnPlayerToJailError=§4¡Ha ocurrido un error al intentar enviar al jugador§c {0} §4a la cárcel\: §c{1}§4\!
|
||||
rtoggleCommandDescription=Cambia si el destinatario de la respuesta es del último mensaje enviado o último mensaje recibido
|
||||
@@ -890,10 +1055,20 @@ seenAccounts=§6El jugador ha sido también conocido como\:§c {0}
|
||||
seenCommandDescription=Muestra la última hora de desconexión de un jugador.
|
||||
seenCommandUsage=/<command> <jugador>
|
||||
seenCommandUsage1=/<command> <jugador>
|
||||
seenCommandUsage1Description=Muestra la información sobre el tiempo desconectado, bans, silencios y UUID del jugador especificado
|
||||
seenOffline=§6El jugador§c {0} §6ha estado §4desconectado§6 desde §c{1}§6.
|
||||
seenOnline=§6El jugador§c {0} §6ha estado §aconectado§6 desde §c{1}§6.
|
||||
sellBulkPermission=§6You do not have permission to bulk sell.
|
||||
sellCommandDescription=Vende el item en tu mano.
|
||||
sellCommandUsage=/<comando> <<nombredeitem>|<id>|mano|inventario|bloques> [cantidad]
|
||||
sellCommandUsage1=/<comando> <nombredeitem> [cantidad]
|
||||
sellCommandUsage1Description=Vende todo (o la cantidad dada, si se especifica) del objeto dado que haya en tu inventario
|
||||
sellCommandUsage2=/<comando> mano [cantidad]
|
||||
sellCommandUsage2Description=Vende todo (o la cantidad dada, si se especifica) del objeto sostenido
|
||||
sellCommandUsage3=/<comando> todos
|
||||
sellCommandUsage3Description=Vende todos los objetos posibles en tu inventario
|
||||
sellCommandUsage4=/<comando> bloques [cantidad]
|
||||
sellCommandUsage4Description=Vende todos (o la cantidad dada, si se especifica) los bloques en tu inventario
|
||||
sellHandPermission=§6You do not have permission to hand sell.
|
||||
serverFull=¡El servidor está lleno\!
|
||||
serverReloading=Hay una buena probabilidad de que estés recargando tu servidor en este momento. Si ese es el caso, ¿por qué te odias? No esperes soporte del equipo de EssentialsX al usar /reload.
|
||||
@@ -910,19 +1085,33 @@ setSpawner=§Cambiado tipo de generador a§c {0}§6.
|
||||
sethomeCommandDescription=Establece tu hogar en tu posición actual.
|
||||
sethomeCommandUsage=/<command> [[jugador\:]nombre]
|
||||
sethomeCommandUsage1=/<comando> <nombre>
|
||||
sethomeCommandUsage1Description=Establece tu hogar con el nombre dado en tu ubicación
|
||||
sethomeCommandUsage2=/<comando> <jugador>\:<nombre>
|
||||
sethomeCommandUsage2Description=Establece el hogar con el nombre dado el jugador especificado en tu ubicación
|
||||
setjailCommandDescription=Crea una cárcel donde especificaste, llamada [jailname].
|
||||
setjailCommandUsage=/<command> <cárcel>
|
||||
setjailCommandUsage1=/<command> <cárcel>
|
||||
setjailCommandUsage1Description=Establece la cárcel con el nombre dado en tu ubicación
|
||||
settprCommandDescription=Establece la ubicación y parámetros de teletransporte aleatorio.
|
||||
settprCommandUsage=/<command> [center|minrange|maxrange] [valor]
|
||||
settprCommandUsage1=/<command> centro
|
||||
settprCommandUsage1Description=Establece el centro del teletransporte aleatorio en tu ubicación
|
||||
settprCommandUsage2=/<comando> rangomin <radio>
|
||||
settprCommandUsage2Description=Establece el radio mínimo de teletransporte aleatorio al valor dado
|
||||
settprCommandUsage3=/<comando> rangomax <radio>
|
||||
settprCommandUsage3Description=Establece el radio de teletransporte aleatorio máximo al valor dado
|
||||
settpr=§6Establece un centro de teletransporte aleatorio.
|
||||
settprValue=§6Establece un teletransporte aleatorio desde §c{0}§6 a §c{1}§6.
|
||||
setwarpCommandDescription=Crea un nuevo warp.
|
||||
setwarpCommandUsage=/<command> <warp>
|
||||
setwarpCommandUsage1=/<command> <warp>
|
||||
setwarpCommandUsage1Description=Establece el warp con el nombre especificado en tu ubicación
|
||||
setworthCommandDescription=Establece el valor de venta de un item.
|
||||
setworthCommandUsage=/<command> [item|id] <precio>
|
||||
setworthCommandUsage1=/<command> <price>
|
||||
setworthCommandUsage1Description=Establece el valor del objeto sostenido al precio dado
|
||||
setworthCommandUsage2=/<command> <itemname> <price>
|
||||
setworthCommandUsage2Description=Establece el valor del objeto especificado al precio dado
|
||||
sheepMalformedColor=§4Color malformado.
|
||||
shoutDisabled=§6Modo gritar §cdesactivado§6.
|
||||
shoutDisabledFor=§6Modo gritar §cdesactivado §6para §c{0}§6.
|
||||
@@ -934,6 +1123,7 @@ editsignCommandClearLine=§6Borrada linea§c {0}§6.
|
||||
showkitCommandDescription=Muestra los contenidos de un kit.
|
||||
showkitCommandUsage=/<command> <kit>
|
||||
showkitCommandUsage1=/<command> <kit>
|
||||
showkitCommandUsage1Description=Muestra un resumen de los objetos en el kit especificado
|
||||
editsignCommandDescription=Edita un cartel en el mundo.
|
||||
editsignCommandLimit=§4El texto proporcionado es demasiado largo para que quepa en el cartel de destino.
|
||||
editsignCommandNoLine=§4Debes indicar un número de línea entre §c1-4§4.
|
||||
@@ -944,6 +1134,14 @@ editsignCopyLine=§6¡Línea §c{0} §6de firma copiada\! Pégala con §c/{1}{0}
|
||||
editsignPaste=§6¡Firma pegada\!
|
||||
editsignPasteLine=§6¡Línea de firma §c{0} §6pegada\!
|
||||
editsignCommandUsage=/<comando> <set/clear/copy/paste> [número de línea] [texto]
|
||||
editsignCommandUsage1=/<comando> poner <número de línea> <texto>
|
||||
editsignCommandUsage1Description=Pone el texto dado en la línea especificada del cartel
|
||||
editsignCommandUsage2=/<comando> borrar <número de línea>
|
||||
editsignCommandUsage2Description=Borra la línea especificada del cartel señalado
|
||||
editsignCommandUsage3=/<comando> copiar [número de línea]
|
||||
editsignCommandUsage3Description=Copia todo (o la línea especificada) el cartel señalado al portapapeles
|
||||
editsignCommandUsage4=/<comando> pegar [número de línea]
|
||||
editsignCommandUsage4Description=Pega el portapapeles a todo (o a la línea especificada) del cartel señalado
|
||||
signFormatFail=§4[{0}]
|
||||
signFormatSuccess=§1[{0}]
|
||||
signFormatTemplate=[{0}]
|
||||
@@ -956,7 +1154,9 @@ skullChanged=§6Calavera cambiada a §c{0}§6.
|
||||
skullCommandDescription=Establece el dueño de un cráneo
|
||||
skullCommandUsage=/<command> [dueño]
|
||||
skullCommandUsage1=/<command>
|
||||
skullCommandUsage1Description=Obtienes tu propia cabeza
|
||||
skullCommandUsage2=/<command> <jugador>
|
||||
skullCommandUsage2Description=Obtiene la cabeza del jugador especificado
|
||||
slimeMalformedSize=§4Medidas malformadas.
|
||||
smithingtableCommandDescription=Abre una mesa de herrería.
|
||||
smithingtableCommandUsage=/<command>
|
||||
@@ -966,22 +1166,34 @@ socialSpyMutedPrefix=§f[§6SS§f] §7(muted) §r
|
||||
socialspyCommandDescription=Cambia si puedes ver msg/mail en chat.
|
||||
socialspyCommandUsage=/<command> [jugador] [on|off]
|
||||
socialspyCommandUsage1=/<command> [jugador]
|
||||
socialspyCommandUsage1Description=Activa o desactiva el espía social para ti u otro jugador si se especifica
|
||||
socialSpyPrefix=§f[§6SS§f] §r
|
||||
soloMob=§4A este mob le gusta estar solo.
|
||||
spawned=nacido
|
||||
spawnerCommandDescription=Cambia el tipo de mob de un generador.
|
||||
spawnerCommandUsage=/<command> <mob> [retraso]
|
||||
spawnerCommandUsage1=/<command> <mob> [retraso]
|
||||
spawnerCommandUsage1Description=Cambia el tipo de mob (y opcionalmente, la demora) del spawner que estés mirando
|
||||
spawnmobCommandDescription=Invoca a un mob.
|
||||
spawnmobCommandUsage=<command> <mob>[\:data][,<mount>[\:data]] [cantidad] [jugador]
|
||||
spawnmobCommandUsage1=/<comando> <mob>[\:data] [cantidad] [jugador]
|
||||
spawnmobCommandUsage1Description=Genera uno (o la cantidad especificada) del mob dado en tu ubicación (o la de otro jugador si se especifica)
|
||||
spawnmobCommandUsage2=/<comando> <mob>[\:data],<motura>[\:data] [cantidad] [jugador]
|
||||
spawnmobCommandUsage2Description=Genera uno (o la cantidad especificada) del mob dado montado en el mob dado en tu ubicación (o la de otro jugador si se especifica)
|
||||
spawnSet=§6El lugar de aparición o el sitio del comando /spawn ha sido colocado para el grupo§c {0}§6.
|
||||
spectator=espectador
|
||||
speedCommandDescription=Cambia tus límites de velocidad.
|
||||
speedCommandUsage=/<command> [tipo] <velocidad> [jugador]
|
||||
speedCommandUsage1=/<command> <speed>
|
||||
speedCommandUsage1Description=Establece tu velocidad de volar o de andar a la velocidad dada
|
||||
speedCommandUsage2=/<command> <type> <speed> [player]
|
||||
speedCommandUsage2Description=Establece el tipo de velocidad especificado a la velocidad dada para ti u otro jugador si se especifica
|
||||
stonecutterCommandDescription=Abre un cortapiedras.
|
||||
stonecutterCommandUsage=/<command>
|
||||
sudoCommandDescription=Fuerza a otro usuario ejecutar un comando.
|
||||
sudoCommandUsage=/<command> <jugador> <comando [argumentos]>
|
||||
sudoCommandUsage1=/<command> <player> <command> [args]
|
||||
sudoCommandUsage1Description=Hace que el jugador especificado ejecute el comando dado
|
||||
sudoExempt=§4No puedes usar el comando sudo con este jugador.
|
||||
sudoRun=§6Forcing§c {0} §6to run\:§r /{1}
|
||||
suicideCommandDescription=Te hace perecer.
|
||||
@@ -1020,16 +1232,29 @@ tempbanExemptOffline=§4No puedes banear temporalmente a jugadores que no están
|
||||
tempbanJoin=You are banned from this server for {0}. Reason\: {1}
|
||||
tempBanned=§cSe te ha baneado temporalmente por §r {0}\:\n§r{2}
|
||||
tempbanCommandDescription=Banea temporalmente un usuario.
|
||||
tempbanCommandUsage=/<command> <playername> <datediff> [reason]
|
||||
tempbanCommandUsage1=/<comando> <jugador> <duración> [razón]
|
||||
tempbanCommandUsage1Description=Banea al jugador dado durante la cantidad especificada de tiempo por una razón opcional
|
||||
tempbanipCommandDescription=Banea temporalmente una dirección IP.
|
||||
tempbanipCommandUsage=/<command> <playername> <datediff> [reason]
|
||||
tempbanipCommandUsage1=/<comando> <jugador|dirección-ip> <duración> [razón]
|
||||
tempbanipCommandUsage1Description=Banea la dirección IP dado durante la cantidad especificada de tiempo por una razón opcional
|
||||
thunder=§6Has cambiado los truenos a§c {0} §6en tu mundo.
|
||||
thunderCommandDescription=Activa/desactiva las tormentas.
|
||||
thunderCommandUsage=/<command> <true/false> [duración]
|
||||
thunderCommandUsage1=/<command> <true|false> [duration]
|
||||
thunderCommandUsage1Description=Activa/desactiva los truenos durante una duración opcional
|
||||
thunderDuration=§6Has§c {0} §6una tormenta en tu mundo durante§c {1} §6segundos.
|
||||
timeBeforeHeal=Tiempo antes de la siguiente curacion\: {0}
|
||||
timeBeforeTeleport=§4Tiempo antes del próximo teletransporte\:§c {0}§4.
|
||||
timeCommandDescription=Muestra/Cambia la hora del mundo. Por defecto es el mundo actual.
|
||||
timeCommandUsage=/<command> [set|add] [day|night|dawn|17\:30|4pm|4000ticks] [mundo|all]
|
||||
timeCommandUsage1=/<command>
|
||||
timeCommandUsage1Description=Muestra las horas de todos los mundos
|
||||
timeCommandUsage2=/<comando> ajustar <tiempo> [mundo|todo]
|
||||
timeCommandUsage2Description=Establece la hora del mundo actual (o el especificado) a la hora dada
|
||||
timeCommandUsage3=/<comando> añadir <tiempo> [mundo|todo]
|
||||
timeCommandUsage3Description=Añade la hora dada a la hora del mundo actual (o del especificado)
|
||||
timeFormat=§c{0}§6 o §c{1}§6 o §c{2}§6
|
||||
timeSetPermission=§4No tienes permitido cambiar la hora.
|
||||
timeSetWorldPermission=§4You are not authorized to set the time in world ''{0}''.
|
||||
@@ -1042,6 +1267,7 @@ togglejailCommandUsage=/<command> <jugador> <jail> [tiempo]
|
||||
toggleshoutCommandDescription=Alterna si estás hablando en modo grito
|
||||
toggleshoutCommandUsage=/<command> [jugador] [on|off]
|
||||
toggleshoutCommandUsage1=/<command> [jugador]
|
||||
toggleshoutCommandUsage1Description=Activa o desactiva el modo grito para ti u otro jugador si se especifica
|
||||
topCommandDescription=Teletransporta al bloque más alto en tu posición actual.
|
||||
topCommandUsage=/<command>
|
||||
totalSellableAll=§aEl precio total de todos los objetos vendibles es de §c {1}.
|
||||
@@ -1051,59 +1277,89 @@ totalWorthBlocks=§aVendidos todos los bloques por un total de §c{1}§a.
|
||||
tpCommandDescription=Teletransporta a un jugador.
|
||||
tpCommandUsage=/<command> <jugador> [otroJugador]
|
||||
tpCommandUsage1=/<command> <jugador>
|
||||
tpCommandUsage1Description=Te teletransporta al jugador especificado
|
||||
tpCommandUsage2=/<comando> <jugador> <otro jugador>
|
||||
tpCommandUsage2Description=Teletransporta el primer al segundo jugador especificado
|
||||
tpaCommandDescription=Envía solicitud de teletransporte al jugador especificado.
|
||||
tpaCommandUsage=/<command> <jugador>
|
||||
tpaCommandUsage1=/<command> <jugador>
|
||||
tpaCommandUsage1Description=Solicita teletransportarse al jugador especificado
|
||||
tpaallCommandDescription=Solicita a todos los jugadores en línea a teletransportarse hacia ti.
|
||||
tpaallCommandUsage=/<command> <jugador>
|
||||
tpaallCommandUsage1=/<command> <jugador>
|
||||
tpaallCommandUsage1Description=Solicita a todos los jugadores que se teletransporten a ti
|
||||
tpacancelCommandDescription=Cancela todas las solicitudes de teletransporte pendientes. Especifica [player] para cancelar las solicitudes con aquel jugador.
|
||||
tpacancelCommandUsage=/<command> [jugador]
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Cancela todas tus solicitudes de teletransporte pendientes
|
||||
tpacancelCommandUsage2=/<command> <jugador>
|
||||
tpacceptCommandDescription=Acepta una solicitud de teletransporte.
|
||||
tpacancelCommandUsage2Description=Cancela todas tus solicitudes de teletransporte pendientes con el jugador especificado
|
||||
tpacceptCommandDescription=Acepta solicitudes de teletransporte.
|
||||
tpacceptCommandUsage=/<command> [otrojugador]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Acepta la solicitud de teletransporte más reciente
|
||||
tpacceptCommandUsage2=/<command> <jugador>
|
||||
tpacceptCommandUsage2Description=Acepta la solicitud de teletransporte del jugador especificado
|
||||
tpacceptCommandUsage3=/<comando> *
|
||||
tpacceptCommandUsage3Description=Acepta todas las solicitudes de teletransporte
|
||||
tpahereCommandDescription=Solicita que el jugador especificado se teletransporte hacia ti.
|
||||
tpahereCommandUsage=/<command> <jugador>
|
||||
tpahereCommandUsage1=/<command> <jugador>
|
||||
tpahereCommandUsage1Description=Solicita que el jugador especificado se teletransporte a ti
|
||||
tpallCommandDescription=Teletransporta todos los jugadores en línea a otro jugador.
|
||||
tpallCommandUsage=/<command> [jugador]
|
||||
tpallCommandUsage1=/<command> [jugador]
|
||||
tpallCommandUsage1Description=Teletransporta a todos los jugadores a ti, u otro jugador si se especifica
|
||||
tpautoCommandDescription=Automáticamente acepta solicitudes de teletransporte.
|
||||
tpautoCommandUsage=/<command> [jugador]
|
||||
tpautoCommandUsage1=/<command> [jugador]
|
||||
tpdenyCommandDescription=Rechaza una solicitud de teletransporte.
|
||||
tpautoCommandUsage1Description=Activa o desactiva si las solicitudes de teletransporte se aceptan automáticamente para ti u otro jugador si se especifica
|
||||
tpdenyCommandDescription=Rechaza las solicitudes de teletransporte.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Rechaza la solicitud de teletransporte más reciente
|
||||
tpdenyCommandUsage2=/<command> <jugador>
|
||||
tpdenyCommandUsage2Description=Rechaza la solicitud de teletransporte del jugador especificado
|
||||
tpdenyCommandUsage3=/<comando> *
|
||||
tpdenyCommandUsage3Description=Rechaza todas las solicitudes de teletransporte
|
||||
tphereCommandDescription=Teletransporta un jugador hacia ti.
|
||||
tphereCommandUsage=/<command> <jugador>
|
||||
tphereCommandUsage1=/<command> <jugador>
|
||||
tphereCommandUsage1Description=Teletransporta al jugador especificado a ti
|
||||
tpoCommandDescription=Teletransporte anulado en tptoggle.
|
||||
tpoCommandUsage=/<command> <jugador> [otroJugador]
|
||||
tpoCommandUsage1=/<command> <jugador>
|
||||
tpoCommandUsage1Description=Teletransporta al jugador especificado a ti sobrescribiendo sus preferencias
|
||||
tpoCommandUsage2=/<comando> <jugador> <otro jugador>
|
||||
tpoCommandUsage2Description=Teletransporta el primer jugador especificado al segundo sobrescribiendo sus preferencias
|
||||
tpofflineCommandDescription=Teletransporta a la última ubicación de desconexión de un jugador
|
||||
tpofflineCommandUsage=/<command> <jugador>
|
||||
tpofflineCommandUsage1=/<command> <jugador>
|
||||
tpofflineCommandUsage1Description=Te teletransporta al lugar de desconexión del jugador especificado
|
||||
tpohereCommandDescription=Teletransporte aquí anulado en tptoggle.
|
||||
tpohereCommandUsage=/<command> <jugador>
|
||||
tpohereCommandUsage1=/<command> <jugador>
|
||||
tpohereCommandUsage1Description=Teletransporta al jugador especificado a ti sobrescribiendo sus preferencias
|
||||
tpposCommandDescription=Teletransportar a coordenadas.
|
||||
tpposCommandUsage=/<command> <x> <y> <z> [yaw] [pitch] [world]
|
||||
tpposCommandUsage1=/<command> <x> <y> <z> [yaw] [pitch] [world]
|
||||
tpposCommandUsage1Description=Te teletransporta al lugar especificado con un cabeceo, balanceo, y/o mundo opcional
|
||||
tprCommandDescription=Teletransporta al azar.
|
||||
tprCommandUsage=/<command>
|
||||
tprCommandUsage1=/<command>
|
||||
tprCommandUsage1Description=Te teletransporta a una ubicación aleatoria
|
||||
tprSuccess=§6Teletransportando a una ubicación aleatoria...
|
||||
tps=§6Ticks por segundo \= {0}
|
||||
tptoggleCommandDescription=Bloquea todas las formas de teletransportación.
|
||||
tptoggleCommandUsage=/<command> [jugador] [on|off]
|
||||
tptoggleCommandUsage1=/<command> [jugador]
|
||||
tptoggleCommandUsageDescription=Activa o desactiva el teletransporte para ti u otro jugador si se especifica
|
||||
tradeSignEmpty=Esta tienda no tiene nada disponible para ti.
|
||||
tradeSignEmptyOwner=No hay nada que recojer de esta tienda.
|
||||
treeCommandDescription=Genera un árbol donde miras.
|
||||
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
|
||||
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
|
||||
treeCommandUsage1Description=Genera un árbol del tipo especificado donde estés mirando
|
||||
treeFailure=§cError al generar el árbol. Prueba de nuevo en tierra, tierra húmeda o hierba.
|
||||
treeSpawned=§7Árbol generado.
|
||||
true=§así§f
|
||||
@@ -1116,15 +1372,23 @@ unableToSpawnMob=§4No puedes generar criaturas.
|
||||
unbanCommandDescription=Desbanea el jugador especificado.
|
||||
unbanCommandUsage=/<command> <jugador>
|
||||
unbanCommandUsage1=/<command> <jugador>
|
||||
unbanCommandUsage1Description=Desbanea el jugador especificado
|
||||
unbanipCommandDescription=Desbanea la dirección IP especificada.
|
||||
unbanipCommandUsage=/<command> <dirección IP>
|
||||
unbanipCommandUsage1=/<command> <dirección IP>
|
||||
unbanipCommandUsage1Description=Desbanea la dirección IP especificada
|
||||
unignorePlayer=§6Ya no ignoras al jugador§c {0}§6.
|
||||
unknownItemId=§4ID de ítem desconocido\:§r {0}§4.
|
||||
unknownItemInList=§4Ítem desconocido {0} en {1} lista.
|
||||
unknownItemName=§4Nombre de ítem desconocido\: {0}.
|
||||
unlimitedCommandDescription=Permite la colocación infinita de items.
|
||||
unlimitedCommandUsage=/<command> <list|item|clear> [jugador]
|
||||
unlimitedCommandUsage1=/<comando> lista [jugador]
|
||||
unlimitedCommandUsage1Description=Muestra una lista de elementos ilimitados para ti u otro jugador si se especifica
|
||||
unlimitedCommandUsage2=/<comando> <objeto> [jugador]
|
||||
unlimitedCommandUsage2Description=Activa o desactiva si el objeto dado es ilimitado para ti u otro jugador si se especifica
|
||||
unlimitedCommandUsage3=/<comando> limpiar [jugador]
|
||||
unlimitedCommandUsage3Description=Limpia todos los objetos ilimitados para ti u otro jugador si se especifica
|
||||
unlimitedItemPermission=§4Sin permiso para artículo ilimitado §c{0}§4.
|
||||
unlimitedItems=§6Ítems ilimitados\:§r
|
||||
unmutedPlayer=§6El jugador§c {0} §6ya no está silenciado.
|
||||
@@ -1153,6 +1417,7 @@ vanish=§6Invisibilidad mágica para {0}§6\:§c {1}
|
||||
vanishCommandDescription=Te oculta de otros jugadores.
|
||||
vanishCommandUsage=/<command> [jugador] [on|off]
|
||||
vanishCommandUsage1=/<command> [jugador]
|
||||
vanishCommandUsage1Description=Activa o desactiva el modo invisible para ti u otro jugador si se especifica
|
||||
vanished=§6Ahora eres invisible para los usuarios normales, ellos no podrán detectarte ni con comandos.
|
||||
versionCheckDisabled=§6Comprobación de actualización desactivada en config.
|
||||
versionCustom=§6¡Error al comprobar tu versión\! ¿Autocompilar? Info. de compilación\: §c{0}§6.
|
||||
@@ -1183,11 +1448,15 @@ walking=caminando
|
||||
warpCommandDescription=Lista todos los warp o teletransporta al warp especificado.
|
||||
warpCommandUsage=/<command> <página|warp> [jugador]
|
||||
warpCommandUsage1=/<comando> [página]
|
||||
warpCommandUsage1Description=Enumera todos los warps en la primera página, o en la especificada
|
||||
warpCommandUsage2=/<comando> <warp> [jugador]
|
||||
warpCommandUsage2Description=Teletransporta a ti o a un jugador especificado al warp dado
|
||||
warpDeleteError=Problema al borrar el archivo de teletransporte.
|
||||
warpInfo=§6Información del warp§c {0}§6\:
|
||||
warpinfoCommandDescription=Encuentra información de ubicación de un warp específico.
|
||||
warpinfoCommandUsage=/<command> <warp>
|
||||
warpinfoCommandUsage1=/<command> <warp>
|
||||
warpinfoCommandUsage1Description=Proporciona información sobre el warp dado
|
||||
warpingTo=§6Teletransportando a§c {0}§6...
|
||||
warpList={0}
|
||||
warpListPermission=§cNo tienes permiso para listar esos teletransportes.
|
||||
@@ -1197,6 +1466,8 @@ warps=§6Warps\:§r {0}
|
||||
warpsCount=§6Hay§c {0} §6puntos de teletransporte. Mostrando página §c{1} §6de §c{2}§6.
|
||||
weatherCommandDescription=Establece el clima.
|
||||
weatherCommandUsage=/<command> <storm/sun> [duración]
|
||||
weatherCommandUsage1=/<comando> <tormenta|sol> [duración]
|
||||
weatherCommandUsage1Description=Establece el clima del tipo dado durante una duración opcional
|
||||
warpSet=§6El Warp§c {0} §6ha sido establecido.
|
||||
warpUsePermission=§4No tienes permisos para usar ese Warp.
|
||||
weatherInvalidWorld=¡No se ha podido encontrar el mundo llamado "{0}"\!
|
||||
@@ -1213,6 +1484,7 @@ whoisBanned=§7 - Baneado\:§f {0}
|
||||
whoisCommandDescription=Determina el usuario real detrás de un apodo.
|
||||
whoisCommandUsage=/<command> <apodo>
|
||||
whoisCommandUsage1=/<command> <jugador>
|
||||
whoisCommandUsage1Description=Proporciona información básica sobre el jugador especificado
|
||||
whoisExp=§7 - Exp\:§f {0} (Nivel {1})
|
||||
whoisFly=§7 - Modo volar\:§f {0} ({1})
|
||||
whoisSpeed=§6 - Velocidad\:§r {0}
|
||||
@@ -1238,9 +1510,20 @@ workbenchCommandUsage=/<command>
|
||||
worldCommandDescription=Alterna entre mundos.
|
||||
worldCommandUsage=/<command> [mundo]
|
||||
worldCommandUsage1=/<command>
|
||||
worldCommandUsage1Description=Te teletransporta a tu ubicación actual en el nether o en el mundo normal
|
||||
worldCommandUsage2=/<comando> <mundo>
|
||||
worldCommandUsage2Description=Te teletransporta a tu ubicación en el mundo dado
|
||||
worth=§7Pila de {0} con valor de §c{1}§7 ({2} objeto(s) a {3} cada uno)
|
||||
worthCommandDescription=Calcula el valor de los items en la mano o especificados.
|
||||
worthCommandUsage=/<command> <<item>|<id>|hand|inventory|blocks> [-][cantidad]
|
||||
worthCommandUsage1=/<comando> <nombredeitem> [cantidad]
|
||||
worthCommandUsage1Description=Comprueba el valor de todo (o la cantidad dada, si se especifica) del objeto dado en tu inventario
|
||||
worthCommandUsage2=/<comando> mano [cantidad]
|
||||
worthCommandUsage2Description=Comprueba el valor de todo (o la cantidad dada, si se especifica) del objeto sostenido
|
||||
worthCommandUsage3=/<comando> todos
|
||||
worthCommandUsage3Description=Comprueba el valor de todos los objetos posibles en tu inventario
|
||||
worthCommandUsage4=/<comando> bloques [cantidad]
|
||||
worthCommandUsage4Description=Comprueba el valor de todos (o la cantidad dada, si se especifica) los bloques en tu inventario
|
||||
worthMeta=§7Pila de {0} con metadata de {1} , con valor de §c{2}§7 ({3} objeto(s) a {4} cada uno)
|
||||
worthSet=Establecer valor
|
||||
year=año
|
||||
|
||||
@@ -126,7 +126,6 @@ cantReadGeoIpDB=GeoIP andmebaasi lugemisel esines viga\!
|
||||
cantSpawnItem=§4Sul puudub eseme§c {0}§4 tekitamiseks luba.
|
||||
cartographytableCommandDescription=Avab kartograafialaua.
|
||||
cartographytableCommandUsage=/<käsklus>
|
||||
chatTypeLocal=[K]
|
||||
chatTypeSpy=[Spioon]
|
||||
cleaned=Kasutajafailid puhastatud.
|
||||
cleaning=Kasutajafailide puhastamine.
|
||||
@@ -143,6 +142,7 @@ clearinventoryCommandUsage3Description=Tühjendab kõik (või määratud koguse)
|
||||
clearinventoryconfirmtoggleCommandDescription=Lülitab seljakoti puhastamise kinnituse küsimise sisse/välja.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<käsklus>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cSa ei saa veel {0} seda käsklust kirjutada.
|
||||
commandDisabled=§cKäsklus§6 {0}§c on keelatud.
|
||||
@@ -232,6 +232,21 @@ destinationNotSet=Sihtkoht on määramata\!
|
||||
disabled=keelatud
|
||||
disabledToSpawnMob=§4Selle eluka tekitamine on seadistustes keelatud.
|
||||
disableUnlimited=§6Mängijale§c {1}§6 on keelatud ploki§c {0} §6lõpmatu asetamine.
|
||||
discordbroadcastCommandUsage=/<käsklus> <kanal> <sõnum>
|
||||
discordbroadcastCommandUsage1=/<käsklus> <kanal> <sõnum>
|
||||
discordbroadcastInvalidChannel=§4Discordi kanalit §c{0}§4 ei eksisteeri.
|
||||
discordbroadcastSent=§6Sõnum saadetud kanalisse §c{0}§6\!
|
||||
discordCommandDescription=Saadab discordi kutse lingi mängijale.
|
||||
discordCommandLink=§6Liitu meie Discordi serveriga §c{0}§6\!
|
||||
discordCommandUsage=/<käsklus>
|
||||
discordCommandUsage1=/<käsklus>
|
||||
discordCommandUsage1Description=Saadab discordi kutse lingi mängijale
|
||||
discordCommandExecuteArgumentCommand=Käivitatav käsklus
|
||||
discordCommandExecuteReply=Käskluse käivitamine\: "/{0}"
|
||||
discordCommandListDescription=Hangib võrgumängijate nimekirja.
|
||||
discordErrorCommandDisabled=See käsklus on keelatud\!
|
||||
discordLoggingIn=Proovin logida Discordi...
|
||||
discordLoggingInDone=Edukalt sisse logitud kui {0}
|
||||
disposal=Prügišaht
|
||||
disposalCommandDescription=Avab kaasaskantava hävitusmenüü.
|
||||
disposalCommandUsage=/<käsklus>
|
||||
@@ -245,11 +260,11 @@ ecoCommandDescription=Haldab serveri ökonoomiat.
|
||||
ecoCommandUsage=/<käsklus> <give|take|set|reset> <mängija> <kogus>
|
||||
ecoCommandUsage1=/<käsklus> give <mängija> <summa>
|
||||
ecoCommandUsage1Description=Annab määratud mängijale valitud hulgal raha
|
||||
ecoCommandUsage2=/<käsklus> take <mängija> <kogus>
|
||||
ecoCommandUsage2=/<käsklus> take <mängija> <summa>
|
||||
ecoCommandUsage2Description=Võtab määratud mängijalt valitud hulga raha
|
||||
ecoCommandUsage3=/<käsklus> set <mängija> <kogus>
|
||||
ecoCommandUsage3=/<käsklus> set <mängija> <summa>
|
||||
ecoCommandUsage3Description=Määrab määratud mängija rahasummaks valitud hulga raha
|
||||
ecoCommandUsage4=/<käsklus> reset <mängija> <kogus>
|
||||
ecoCommandUsage4=/<käsklus> reset <mängija> <summa>
|
||||
ecoCommandUsage4Description=Lähtestab määratud mängija rahasumma serveri algussummale
|
||||
editBookContents=§eSa võid nüüd muuta selle raamatu sisu.
|
||||
enabled=lubatud
|
||||
@@ -287,6 +302,7 @@ essentialsCommandUsage6=/<käsklus> cleanup
|
||||
essentialsCommandUsage6Description=Kustutab vanad kasutajate andmed
|
||||
essentialsCommandUsage7=/<käsklus> homes
|
||||
essentialsCommandUsage7Description=Haldab kasutaja kodusid
|
||||
essentialsCommandUsage8=/<käsklus> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsHelp1=Fail on vigane ning Essentials ei saa seda avada. Essentials on nüüd keelatud. Kui sa ei suuda seda faili ise parandada, mine aadressile http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Fail on vigane ning Essentials ei saa seda avada. Essentials on nüüd keelatud. Kui sa ei suuda seda faili ise parandada, kirjuta mängus /essentialshelp või mine aadressile http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials taaslaetud§c {0}.
|
||||
@@ -439,7 +455,7 @@ homeConfirmation=§6Sul juba on kodu nimega §c{0}§6\!\nOlemasoleva kodu üleki
|
||||
homeSet=§6Kodu määratud.
|
||||
hour=tund
|
||||
hours=tundi
|
||||
ice=§Sa tunned end jahedana...
|
||||
ice=§Sa tunned end tunduvalt jahedamana...
|
||||
iceCommandDescription=Jahutab mängija maha.
|
||||
iceCommandUsage=/<käsklus> [mängija]
|
||||
iceCommandUsage1=/<käsklus>
|
||||
@@ -447,8 +463,8 @@ iceCommandUsage1Description=Jahutab sind maha
|
||||
iceCommandUsage2=/<käsklus> <mängija>
|
||||
iceCommandUsage2Description=Jahutab antud mängija maha
|
||||
iceCommandUsage3=/<käsklus> *
|
||||
iceCommandUsage3Description=Jahutab kõik aktiivsed mängijad maha
|
||||
iceOther=§6Jahtumine§c {0}§6.
|
||||
iceCommandUsage3Description=Jahutab kõik võrgus olevad mängijad maha
|
||||
iceOther=§6Mängija§c {0}§6 jahutamine.
|
||||
ignoreCommandDescription=Ignoreeri või ära ignoreeri teisi mängijaid.
|
||||
ignoreCommandUsage=/<käsklus> <mängija>
|
||||
ignoreCommandUsage1=/<käsklus> <mängija>
|
||||
@@ -496,12 +512,13 @@ itemCommandDescription=Tekita ese.
|
||||
itemCommandUsage=/<käsklus> <ese|number> [kogus [esememeta...]]
|
||||
itemCommandUsage1=/<käsklus> <ese> [kogus]
|
||||
itemCommandUsage1Description=Annab sulle terve kuhja (või määratud koguses) esemeid
|
||||
itemCommandUsage2=/<käsklus> <mängija> <ese> <kogus> <metaandmed>
|
||||
itemCommandUsage2=/<käsklus> <ese> <kogus> <metaandmed>
|
||||
itemCommandUsage2Description=Annab mängijale määratud koguse määratud koguse esemeid koos antud metaandmetega
|
||||
itemId=§6ID\:§c {0}
|
||||
itemloreClear=§6Sa oled tühjendanud selle eseme vihjeteksti.
|
||||
itemloreCommandDescription=Muuda eseme vihjeteksti.
|
||||
itemloreCommandUsage=/<käsklus> <add/set/clear> [text/line] [tekst]
|
||||
itemloreCommandUsage1=/<käsklus> add [tekst]
|
||||
itemloreCommandUsage1Description=Lisatud antud teksti käes hoitava eseme vihjeteksti
|
||||
itemloreCommandUsage2=/<käsklus> set <reanumber> <tekst>
|
||||
itemloreCommandUsage2Description=Määrab kindlaks etteantud eseme vihjeteksti rea
|
||||
@@ -542,6 +559,9 @@ jailAlreadyIncarcerated=§4Mängija on juba vanglas\:§c {0}
|
||||
jailList=§6Vanglad\:§r {0}
|
||||
jailMessage=§4Sooritasid kuriteo, istud oma aja ära.
|
||||
jailNotExist=§4Sellist vanglat pole olemas.
|
||||
jailNotifyJailed=§6Mängija§c {0} §6on §c{1}§6 poolt vangistatud.
|
||||
jailNotifyJailedFor=§6Mängija§c {0} §6on §c{2}§6 poolt vangistatud põhjusega§c {1}§6.
|
||||
jailNotifySentenceExtended=§6Mängija§c {0} §6vangistusaega on §c{2}§6 poolt pikendatud ajani §c{1}§6.
|
||||
jailReleased=§6Mängija §c{0}§6 on vanglast vabastatud.
|
||||
jailReleasedPlayerNotify=§6Sind vabastati vanglast\!
|
||||
jailSentenceExtended=§6Vangi aega pikendati järgnevalt\: {0}
|
||||
@@ -618,24 +638,34 @@ listCommandUsage1=/<käsklus> [grupp]
|
||||
listCommandUsage1Description=Loetleb kõik mängijad serveris või antud rühmas, kui see on määratletud
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[PEIDETUD]§r
|
||||
listRealName=({0})
|
||||
loadWarpError=§4Koolu {0} laadimisel esines viga.
|
||||
localFormat=[K]<{0}> {1}
|
||||
loomCommandDescription=Avab kangasteljed.
|
||||
loomCommandUsage=/<käsklus>
|
||||
mailClear=§6Postkasti tühjendamiseks kirjuta§c /mail clear§6.
|
||||
mailCleared=§6Postkast tühjendatud\!
|
||||
mailClearIndex=§4Sa pead valima numbri 1-{0} vahel.
|
||||
mailCommandDescription=Haldab üle-mängija, üle-serverilist postkastisüsteemi.
|
||||
mailCommandUsage=/<käsklus> [read|clear|clear [arv]|send [mängijale] [sõnum]|sendtemp [mängijale] [aegumisaeg] [sõnum]|sendall [sõnum]]
|
||||
mailCommandUsage1=/<käsklus> read [lk]
|
||||
mailCommandUsage1Description=Loeb teie kirja esimest (või täpsustatud) lehte
|
||||
mailCommandUsage2=/<käsklus> clear [arv]
|
||||
mailCommandUsage3=/<käsklus> send <mängija> <sõnum>
|
||||
mailCommandUsage3Description=Saadab määratud mängijale antud sõnumi
|
||||
mailCommandUsage4=/<käsklus> sendall <sõnum>
|
||||
mailCommandUsage4Description=Saadab kõikidele mängijatele antud sõnumi
|
||||
mailCommandUsage5=/<käsklus> sendtemp <mängija> <aegumisaeg> <sõnum>
|
||||
mailCommandUsage6=/<käsklus> sendtempall <aegumisaeg> <sõnum>
|
||||
mailDelay=Saatsid viimase minuti jooksul liiga palju kirju. Maksimaalne kirjade saatmise arv\: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewRead=§6[§r{0}§6] §6[§r{1}§6] §7§o{2}
|
||||
mailFormatNewReadTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §7§o{2}
|
||||
mailFormat=§6[§r{0}§6] §r{1}
|
||||
mailMessage={0}
|
||||
mailSent=§6Kiri saadetud\!
|
||||
mailSentTo=§6Mängijale §c{0}§6 saadeti järgnev kiri\:
|
||||
mailSentToExpire=§6Mängijale §c{0}§6 saadeti järgnev kiri, mis aegub §c{1}§6\:
|
||||
mailTooLong=§4Kiri on liiga pikk. Püüa see hoida alla 1000 tähemärgi.
|
||||
markMailAsRead=§6Kirjade loetuks märkimiseks kirjuta §c /mail clear§6.
|
||||
matchingIPAddress=§6Sellelt IP-aadressilt on eelnevalt sisse loginud järgnevad mängijad\:
|
||||
@@ -715,6 +745,7 @@ nearCommandUsage3Description=Loetleb kõik mängijad, kes asuvad täpsustatud m
|
||||
nearCommandUsage4=/<käsklus> <mängija> <raadius>
|
||||
nearCommandUsage4Description=Loetleb kõik mängijad, kes asuvad täpsustatud mängija antud raadiuses
|
||||
nearbyPlayers=§6Läheduses olevad mängijad\:§r {0}
|
||||
nearbyPlayersList={0}§f(§c{1}m§f)
|
||||
negativeBalanceError=§4Kasutajal ei tohi olla negatiivne rahasumma.
|
||||
nickChanged=§6Hüüdnimi on muudetud.
|
||||
nickCommandDescription=Muuda enda või teise mängija hüüdnime.
|
||||
@@ -768,8 +799,6 @@ noPlacePermission=§4Sul puudub luba selle sildi juurde ploki asetamiseks.
|
||||
noPotionEffectPerm=§4Sul puudub luba sellele võlujoogile efekti §c{0} §4 rakendamiseks.
|
||||
noPowerTools=§6Sul puuduvad võimutööriistad.
|
||||
notAcceptingPay=§4Mängija §4{0} §4ei võta makseid vastu.
|
||||
notAllowedToQuestion=§4Sul puudub küsimuse kasutamiseks luba.
|
||||
notAllowedToShout=§4Sul puudub hüüdmiseks luba.
|
||||
notEnoughExperience=§4Sul pole piisavalt kogemuspunkte.
|
||||
notEnoughMoney=§4Sul pole piisavalt raha.
|
||||
notFlying=ei lenda
|
||||
@@ -828,6 +857,11 @@ playerTempBanned=§6Mängija §c{0}§6 blokeeris ajutiselt mängija §c{1}§6 p
|
||||
playerUnbanIpAddress=§6Mängija§c {0} §6eemaldas IP§c {1} §6blokeeringu
|
||||
playerUnbanned=§6Mängija§c {0} §6eemaldas mängija§c {1} §6blokeeringu
|
||||
playerUnmuted=§6Sa ei ole enam vaigistatud.
|
||||
playtimeCommandUsage=/<käsklus> [mängija]
|
||||
playtimeCommandUsage1=/<käsklus>
|
||||
playtimeCommandUsage2=/<käsklus> <mängija>
|
||||
playtime=§6Mänguaeg\:§c {0}
|
||||
playtimeOther=§6Mängija {1}§6 mänguaeg\:§c {0}
|
||||
pong=Pong\!
|
||||
posPitch=§6Vert. pööre\: {0} (pea nurk)
|
||||
possibleWorlds=§6Võimalikud maailmad on arvud vahemikus §c0§6-§c{0}§6.
|
||||
@@ -863,7 +897,7 @@ powertoolCommandUsage2=/<käsklus> d\:
|
||||
powertoolCommandUsage2Description=Kustutab kõik käes oleva eseme tööriistad
|
||||
powertoolCommandUsage3=/<käsklus> r\:<käsklus>
|
||||
powertoolCommandUsage3Description=Eemaldab antud käskluse käeshoitavalt esemelt
|
||||
powertoolCommandUsage4=/<käsklus> <cmd>
|
||||
powertoolCommandUsage4=/<käsklus> <käsklus>
|
||||
powertoolCommandUsage4Description=Määrab tööriista käskluse käeshoitavale eseme antud käskluse
|
||||
powertoolCommandUsage5=/<käsklus> a\:<käsklus>
|
||||
powertoolCommandUsage5Description=Lisab antud tööriista käskluse käeshoitavale esemele
|
||||
@@ -881,7 +915,7 @@ pweatherCommandDescription=Määra mängija ilma
|
||||
pweatherCommandUsage=/<käsklus> [list|reset|storm|sun|clear] [mängija|*]
|
||||
pweatherCommandUsage1=/<käsklus> list [mängija]|*]
|
||||
pweatherCommandUsage1Description=Loetleb mängija ilma sinu jaoks või teise mängija, kui on täpsustatud
|
||||
pweatherCommandUsage2=/<käsklus> <torm|päikesepaisteline> [mängija]|*]
|
||||
pweatherCommandUsage2=/<käsklus> <storm|sun> [mängija]|*]
|
||||
pweatherCommandUsage2Description=Määrab ilma sinule või teistele mängijale kui on etteantud ilm
|
||||
pweatherCommandUsage3=/<käsklus> reset [mängija|*]
|
||||
pweatherCommandUsage3Description=Lähtestab ilma sinu või teisele mängijale, kui on täpsustatud
|
||||
@@ -917,7 +951,7 @@ recipe=§6Retsept esemele §c{0}§6 (§c{1}§6/§c{2}§6)
|
||||
recipeBadIndex=Selle arvuga retsepti ei leitud.
|
||||
recipeCommandDescription=Kuvab, kuidas esemeid meisterdada.
|
||||
recipeCommandUsage=/<käsklus> <ese> [number]
|
||||
recipeCommandUsage1=/<käsklus> <ese> [lehekülg]
|
||||
recipeCommandUsage1=/<käsklus> <ese> [lk]
|
||||
recipeCommandUsage1Description=Näitab kuidas meisterdada antud eset
|
||||
recipeFurnace=§6Sulata\: §c{0}§6.
|
||||
recipeGrid=§c{0}X §6| §{1}X §6| §{2}X
|
||||
@@ -929,9 +963,9 @@ recipeShapeless=§6Kombineeri §c{0}
|
||||
recipeWhere=§6Kus\: {0}
|
||||
removeCommandDescription=Eemaldab sinu maailmast olemid.
|
||||
removeCommandUsage=/<käsklus> <all|tamed|named|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[elukaliik]> [raadius|maailm]
|
||||
removeCommandUsage1=/<käsklus> <eluka tüüp> [maailm]
|
||||
removeCommandUsage1=/<käsklus> <elukatüüp> [maailm]
|
||||
removeCommandUsage1Description=Eemaldab kõik eluka tüübid selles maailmas või teises, kui on täpsustatud
|
||||
removeCommandUsage2=/<käsklus> <eluka tüüp> <raadius> [maailm]
|
||||
removeCommandUsage2=/<käsklus> <elukatüüp> <raadius> [maailm]
|
||||
removeCommandUsage2Description=Eemaldab antud eluka tüübi antud raadiuses praeguses maailmas või teises, kui on täpsustatud
|
||||
removed=§c {0} §6 olemit on eemaldatud.
|
||||
repair=§6Parandasid edukalt oma §c{0}§6.
|
||||
@@ -945,6 +979,7 @@ repairCommandUsage2Description=Parandab sinu seljakotis kõik esemed
|
||||
repairEnchanted=§4Sul puudub loitsitud esemete parandamiseks luba.
|
||||
repairInvalidType=§4Seda eset ei saa parandada.
|
||||
repairNone=§4Polnud ühtegi eset, mis vajaksid parandamist.
|
||||
replyFromDiscord=**Vastus mängijalt {0}\:** `{1}`
|
||||
replyLastRecipientDisabled=§6Viimasele sõnumisaatjale vastamine on §ckeelatud§6.
|
||||
replyLastRecipientDisabledFor=§6Viimasele sõnumisaatjale vastamine on §ckeelatud §6mängijale §c{0}§6.
|
||||
replyLastRecipientEnabled=§6Viimasele sõnumisaatjale vastamine on §clubatud§6.
|
||||
@@ -958,6 +993,7 @@ requestDeniedFrom=§6Mängija §c{0} §6hülgas su teleporteerumiskutse.
|
||||
requestSent=§6Kutse saadetud mängijale§c {0}§6.
|
||||
requestSentAlready=§4Sa juba saatsid teleporteerumiskutse mängijale {0}.
|
||||
requestTimedOut=§4Teleporteerumiskutse aegus.
|
||||
requestTimedOutFrom=§4Teleporteerumiskutse mängijalt §c{0} §4on aegunud.
|
||||
resetBal=§6Rahasumma on taastatud väärtuseks §c{0} §6kõikidel võrgus olevatel mängijatel.
|
||||
resetBalAll=§6Rahasumma on taastatud väärtuseks §c{0} §6kõikidel mängijatel.
|
||||
rest=§6Tunned end puhanuna.
|
||||
@@ -1060,7 +1096,7 @@ editsignCommandUsage1=/<käsklus> set <reanumber> <tekst>
|
||||
editsignCommandUsage1Description=Seadistab määratud rea teksti sihitud märgile
|
||||
editsignCommandUsage2=/<käsklus> clear <reanumber>
|
||||
editsignCommandUsage2Description=Puhastab määratud rea sihitud sildilt
|
||||
editsignCommandUsage3=/<käsklus> copy <reanumber>]
|
||||
editsignCommandUsage3=/<käsklus> copy [reanumber]
|
||||
editsignCommandUsage3Description=Kopeerib kõik(või määratud realt) teksti sildilt sinu lõikelauale
|
||||
editsignCommandUsage4=/<käsklus> paste [reanumber]
|
||||
editsignCommandUsage4Description=Kleebib sinu lõikelaua sildile või määratud reale sildil
|
||||
@@ -1095,14 +1131,19 @@ spawnerCommandUsage=/<käsklus> <elukas> [viivitus]
|
||||
spawnerCommandUsage1=/<käsklus> <elukas> [viivitus]
|
||||
spawnmobCommandDescription=Tekitab eluka.
|
||||
spawnmobCommandUsage=/<käsklus> <elukas>[\:andmed][,<seljas>[\:andmed]] [kogus] [mängija]
|
||||
spawnmobCommandUsage1=/<käsklus> <elukas>[\:andmed] [kogus] [mängija]
|
||||
spawnmobCommandUsage2=/<käsklus> <elukas>[\:andmed],<seljas>[\:andmed] [kogus] [mängija]
|
||||
spawnSet=§6Grupi §c {0}§6 tekkekoht on määratud.
|
||||
spectator=vaatlus
|
||||
speedCommandDescription=Muuda oma kiirusepiiranguid.
|
||||
speedCommandUsage=/<käsklus> [fly|walk] <kiirus> [mängija]
|
||||
speedCommandUsage1=/<käsklus> <kiirus>
|
||||
speedCommandUsage2=/<käsklus> <tüüp> <kiirus> [mängija]
|
||||
stonecutterCommandDescription=Avab kivilõikuri.
|
||||
stonecutterCommandUsage=/<käsklus>
|
||||
sudoCommandDescription=Sunni teine kasutaja käsklust teostama.
|
||||
sudoCommandUsage=/<käsklus> <mängija> <käsklus [param.]>
|
||||
sudoCommandUsage1=/<käsklus> <mängija> <käsklus> [param.]
|
||||
sudoExempt=§4Sa ei saa mängijat §c{0}§4 sundida.
|
||||
sudoRun=§6Sunnin mängijat§c {0} §6käivitama käsklust §r /{1}
|
||||
suicideCommandDescription=Hukatab sind.
|
||||
@@ -1111,7 +1152,7 @@ suicideMessage=§6Head aega, julm maailm...
|
||||
suicideSuccess=§6Mängija §c{0} §6võttis endalt elu.
|
||||
survival=ellujäämine
|
||||
takenFromAccount=§aSinu kontolt on §e{0}§a maha võetud.
|
||||
takenFromOthersAccount=§aMängija§e {1}§akontolt on §e{0}§a maha võetud. Uus rahasumma\:§e {2}
|
||||
takenFromOthersAccount=§aMängija§e {1}§a kontolt on §e{0}§a maha võetud. Uus rahasumma\:§e {2}
|
||||
teleportAAll=§6Teleporteerumiskutse saadetud kõikidele mängijatele...
|
||||
teleportAll=§6Teleporteerin kõik mängijad...
|
||||
teleportationCommencing=§6Teleporteerumine algab...
|
||||
@@ -1141,17 +1182,23 @@ tempbanExemptOffline=§4Sa ei tohi ajutiselt blokeerida võrgust väljas olevaid
|
||||
tempbanJoin=Sa oled sellest serverist {0} blokeeritud. Põhjus\: {1}
|
||||
tempBanned=§cSind blokeeriti sellest serverist ajutiselt§r {0}\:\n§r{2}
|
||||
tempbanCommandDescription=Blokeerib mängija ajutiselt.
|
||||
tempbanCommandUsage=/<käsklus> <mängijanimi> <kestus> [põhjus]
|
||||
tempbanCommandUsage1=/<käsklus> <mängija> <kestus> [põhjus]
|
||||
tempbanipCommandDescription=Blokeerib IP-aadressi ajutiselt.
|
||||
tempbanipCommandUsage=/<käsklus> <mängijanimi> <kestus> [põhjus]
|
||||
tempbanipCommandUsage1=/<käsklus> <mängija|ip-aadress> <kestus> [põhjus]
|
||||
thunder=§6Sa§c {0} §6äikeseliseks oma maailmas.
|
||||
thunderCommandDescription=Luba/keela äike.
|
||||
thunderCommandUsage=/<käsklus> <true/false> [kestus]
|
||||
thunderCommandUsage1=/<käsklus> <true|false> [kestus]
|
||||
thunderDuration=§6Sa§c {0} §6oma maailmas kõu§c {1} §6sekundiks.
|
||||
timeBeforeHeal=§4Aeg enne järgmist elustamist\:§c {0}§4.
|
||||
timeBeforeTeleport=§4Aeg enne järgmist teleporteerumist\:§c {0}§4.
|
||||
timeCommandDescription=Kuva/muuda maailma aega. Vaikimisi kehtib praeguse maailma jaoks.
|
||||
timeCommandUsage=/<käsklus> [set|add] [day|night|dawn|17\:30|4pm|4000ticks] [worldname|all]
|
||||
timeCommandUsage1=/<käsklus>
|
||||
timeCommandUsage2=/<käsklus> set <aeg> [world|all]
|
||||
timeCommandUsage3=/<käsklus> add <aeg> [world|all]
|
||||
timeFormat=§c{0}§6, §c{1}§6 või §c{2}§6
|
||||
timeSetPermission=§4Sul puudub aja määramiseks luba.
|
||||
timeSetWorldPermission=§4Sul puudub maailma "{0}" aja määramiseks luba.
|
||||
@@ -1173,20 +1220,28 @@ totalWorthBlocks=§aMüüsid kõik plokid koguväärtusega §c{1}§a.
|
||||
tpCommandDescription=Teleporteeru mängija juurde.
|
||||
tpCommandUsage=/<käsklus> <mängija> [teinemängija]
|
||||
tpCommandUsage1=/<käsklus> <mängija>
|
||||
tpCommandUsage1Description=Teleporteerib sind kindla mängija juurde
|
||||
tpCommandUsage2=/<käsklus> <mängija> <teine mängija>
|
||||
tpCommandUsage2Description=Teleporteerib esimese kindla mängija teise juurde
|
||||
tpaCommandDescription=Taotle valitud mängija juurde teleporteerumist.
|
||||
tpaCommandUsage=/<käsklus> <mängija>
|
||||
tpaCommandUsage1=/<käsklus> <mängija>
|
||||
tpaallCommandDescription=Taotleb kõiki võrgus olevaid mängijaid sinu juurde teleporteeruma.
|
||||
tpaallCommandUsage=/<käsklus> <mängija>
|
||||
tpaallCommandUsage1=/<käsklus> <mängija>
|
||||
tpaallCommandUsage1Description=Taotleb kõiki mängijaid sinu juurde teleporteeruma
|
||||
tpacancelCommandDescription=Tühista kõik käimasolevad teleporteerumiskutsed. Määra [mängija], et tühistada vaid selle mängija taotlused.
|
||||
tpacancelCommandUsage=/<käsklus> [mängija]
|
||||
tpacancelCommandUsage1=/<käsklus>
|
||||
tpacancelCommandUsage2=/<käsklus> <mängija>
|
||||
tpacceptCommandDescription=Võtab teleporteerumiskutse vastu.
|
||||
tpacceptCommandDescription=Võtab teleporteerumiskutsed vastu.
|
||||
tpacceptCommandUsage=/<käsklus> [teinemängija]
|
||||
tpacceptCommandUsage1=/<käsklus>
|
||||
tpacceptCommandUsage1Description=Võtab teleporteerumiskutse vastu
|
||||
tpacceptCommandUsage1Description=Võtab vastu kõige viimase Teleporteerimis kutse
|
||||
tpacceptCommandUsage2=/<käsklus> <mängija>
|
||||
tpacceptCommandUsage2Description=Võtab vastu teleporteerimis kutse kindlalt inimeselt
|
||||
tpacceptCommandUsage3=/<käsklus> *
|
||||
tpacceptCommandUsage3Description=Võtab kõik teleporteerumiskutsed vastu
|
||||
tpahereCommandDescription=Taotle valitud mängijal sinu juurde teleporteerumist.
|
||||
tpahereCommandUsage=/<käsklus> <mängija>
|
||||
tpahereCommandUsage1=/<käsklus> <mängija>
|
||||
@@ -1199,10 +1254,14 @@ tpautoCommandDescription=Võta automaatselt teleporteerumiskutsed vastu.
|
||||
tpautoCommandUsage=/<käsklus> [mängija]
|
||||
tpautoCommandUsage1=/<käsklus> [mängija]
|
||||
tpautoCommandUsage1Description=Lülitab teleporteerumise kutsete automaatse vastuvõtmise sinule või teisele mängijale, kui on täpsustatud
|
||||
tpdenyCommandDescription=Keeldub teleporteerumiskutsest.
|
||||
tpdenyCommandDescription=Keeldub teleporteerumiskutsetest.
|
||||
tpdenyCommandUsage=/<käsklus>
|
||||
tpdenyCommandUsage1=/<käsklus>
|
||||
tpdenyCommandUsage1Description=Eirab teleporteerumiskutset
|
||||
tpdenyCommandUsage1Description=Tühistab kõige viimase teleporteerimis kutse
|
||||
tpdenyCommandUsage2=/<käsklus> <mängija>
|
||||
tpdenyCommandUsage2Description=Tühistab kõige viimase teleporteerimis kutse kindlalt inimeselt
|
||||
tpdenyCommandUsage3=/<käsklus> *
|
||||
tpdenyCommandUsage3Description=Keeldub kõigist teleporteerumiskutsetest
|
||||
tphereCommandDescription=Teleporteeri mängija enda juurde.
|
||||
tphereCommandUsage=/<käsklus> <mängija>
|
||||
tphereCommandUsage1=/<käsklus> <mängija>
|
||||
@@ -1211,6 +1270,7 @@ tpoCommandDescription=Teleporteerumise sundimine /tptoggle jaoks.
|
||||
tpoCommandUsage=/<käsklus> <mängija> [teinemängija]
|
||||
tpoCommandUsage1=/<käsklus> <mängija>
|
||||
tpoCommandUsage1Description=Teleporteerib valitud mängija sinu juurde, eirates tema seadistust
|
||||
tpoCommandUsage2=/<käsklus> <mängija> <teine mängija>
|
||||
tpoCommandUsage2Description=Teleporteerib esimesena määratud mängija teise juurde, eirates nende seadistusi
|
||||
tpofflineCommandDescription=Teleporteeru mängija viimase teadaoleva asukoha juurde enne välja logimist
|
||||
tpofflineCommandUsage=/<käsklus> <mängija>
|
||||
@@ -1314,6 +1374,7 @@ versionOutputFine=§6{0} versioon\: §a{1}
|
||||
versionOutputWarn=§6{0} versioon\: §c{1}
|
||||
versionOutputUnsupported=§d{0} §6versioon\: §d{1}
|
||||
versionOutputUnsupportedPlugins=§6Sa käitad §dmittetoetatud pluginaid§6\!
|
||||
versionOutputEconLayer=§6Ökonoomiakiht\: §r{0}
|
||||
versionMismatch=§4Versioon ei kattu\! Palun uuenda {0} samale versioonile.
|
||||
versionMismatchAll=§4Versioon ei kattu\! Palun uuenda kõik Essentialsi jarid samale versioonile.
|
||||
versionReleaseLatest=§6Käitad viimatist EssentialsX''i stabiilset versiooni\!
|
||||
@@ -1328,7 +1389,7 @@ warpCommandDescription=Loetleb kõik koolud või kooldub valitud asukohta.
|
||||
warpCommandUsage=/<käsklus> <lehenr|koold> [mängija]
|
||||
warpCommandUsage1=/<käsklus> [lk]
|
||||
warpCommandUsage1Description=Annab nimekirja kõikidest lõimudest esimesel või täpsustatud leheküljel
|
||||
warpCommandUsage2=/<käsklus> <warp> [mängija]
|
||||
warpCommandUsage2=/<käsklus> <koold> [mängija]
|
||||
warpCommandUsage2Description=Telepordib teid või määratud nimega mängija antud lõimu
|
||||
warpDeleteError=§4Koolufaili kustutamisel esines probleem.
|
||||
warpInfo=§6Koolu§c {0}§6 teave\:
|
||||
|
||||
@@ -22,6 +22,7 @@ antiBuildInteract=§4Ez duzu §c {0}§4-rekin interaktzioa jartzeko permisiorik.
|
||||
antiBuildPlace=§4Ez daukazu hemen §c {0} §4 blokerik jartzeko baimenik.
|
||||
antiBuildUse=§4Ez daukazu§c {0}§4 erabiltzeko baimenik.
|
||||
antiochCommandUsage=/<command> [Mezua]
|
||||
autoAfkKickReason=Byl jsi vyhozen za neaktivitu delší než {0} minut.
|
||||
backupFinished=§6Segurtasun kopia ondo burutu da.
|
||||
backupStarted=§6Segurtasun kopia burutzea hasi da.
|
||||
backUsageMsg=§6Aurreko kokalekura itzultzen.
|
||||
@@ -67,6 +68,7 @@ deleteFileError=Ezin izan da fitxategia ezabatu\: {0}
|
||||
deleteHome=§c {0} §6etxea ezabatua.
|
||||
deleteJail=§c {0} §6kartzela ezabatua.
|
||||
deleteWarp=§c {0} §4telegarraiatze puntua ezabatu duzu.
|
||||
deljailCommandDescription=Kartzela bat borratzen du.
|
||||
deniedAccessCommand=§c{0} §4-(e) ri komandoaren erabilera ukatu zaio.
|
||||
denyBookEdit=§4Ezin duzu liburu hau editatu.
|
||||
denyChangeAuthor=§4Ezin duzu liburu honen idazlea aldatu.
|
||||
@@ -232,8 +234,6 @@ noPerm=§4Ez daukazu §c{0} §4 baimena.
|
||||
noPermissionSkull=§4Ez daukazu buru hori editatzeko baimenik.
|
||||
noPermToSpawnMob=§4Ez daukazu munstro hori sortzeko baimenik.
|
||||
noPlacePermission=§4Ez daukazu kartelaren ondoan blokerik jartzeko baimenik.
|
||||
notAllowedToQuestion=§4Ez daukazu galderarik egiteko baimenik.
|
||||
notAllowedToShout=§4Ez daukazu garrasi egiteko baimenik.
|
||||
notEnoughExperience=§4Ez daukazu nahikoa esperientziarik.
|
||||
notEnoughMoney=§4Ez daukazu nahikoa dirurik.
|
||||
notFlying=ez da hegan ari
|
||||
|
||||
@@ -126,7 +126,6 @@ cantReadGeoIpDB=Ei pystytty lukemaan GeoIP tietokantaa\!
|
||||
cantSpawnItem=§4Sinulla ei ole oikeutta luoda tavaraa§c {0}§4.
|
||||
cartographytableCommandDescription=Avaa karttapöydän.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Vakoilu]
|
||||
cleaned=Käyttäjätiedot on poistettu.
|
||||
cleaning=Poistetaan käyttäjätietoja.
|
||||
@@ -214,6 +213,8 @@ destinationNotSet=Sijaintia ei ole määritetty\!
|
||||
disabled=poistettu käytöstä
|
||||
disabledToSpawnMob=§4Tämän mobin luominen on poistettu käytöstä config tiedostossa.
|
||||
disableUnlimited=§6Poistettiin käytöstä loputon asettaminen tavaralle§c {0} §6pelaajalta§c {1}§6.
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandExecuteReply=Suoritetaan komento\: "/{0}"
|
||||
disposal=Hävittäminen
|
||||
disposalCommandDescription=Avaa kannettavan hävitysvalikon.
|
||||
@@ -503,7 +504,6 @@ listCommandUsage1=/<command> [group]
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[HIDDEN]§f
|
||||
loadWarpError=§4Virhe ladattaessa warppia {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
loomCommandDescription=Avaa kangaspuut.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Merkataksesi viestin luetuksi, kirjoita§c /mail clear§6.
|
||||
@@ -626,8 +626,6 @@ noPlacePermission=§4Sinulla ei ole lupaa laittaa palikoita lähelle tuota kyltt
|
||||
noPotionEffectPerm=§4Sinulla ei ole lupaa soveltaa juomavaikutusta §c{0} §4tähän juomaan.
|
||||
noPowerTools=§6Sinulla ei ole määritetty voimatyökaluja.
|
||||
notAcceptingPay=§4{0} §4ei hyväksy maksua.
|
||||
notAllowedToQuestion=§4Sinulla ei ole lupaa käyttää kysymystä.
|
||||
notAllowedToShout=§4Sinulla ei ole lupaa huutaa.
|
||||
notEnoughExperience=§4Sinulla ei ole tarpeeksi kokemusta.
|
||||
notEnoughMoney=§4Sinulla ei ole riittävästi rahaa.
|
||||
notFlying=ei lennä
|
||||
@@ -682,6 +680,9 @@ playerTempBanned=§6Pelaaja §c{0}§6 bannasi väliaikaisesti pelaajan §c{1}§6
|
||||
playerUnbanIpAddress=§6Pelaaja§c {0} §6poisti porttikiellon IP-osoitteelta\:§c {1}
|
||||
playerUnbanned=§6Pelaaja§c {0} §6poisti pelaajan§c {1}§6 porttikiellon
|
||||
playerUnmuted=§6Sinulta poistettiin mykistys.
|
||||
playtimeCommandUsage=/<command> [pelaaja]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage2=/<command> <player>
|
||||
pong=Pong\!
|
||||
posPitch=§6Kaltevuus\: {0} (Pään kulma)
|
||||
possibleWorlds=§6Mahdolliset maailmat ovat numeroiden §c0§6 ja §c{0}§6 välillä.
|
||||
@@ -960,9 +961,9 @@ tpacancelCommandDescription=Peruuttaa kaikki avoimet teleporttipyynnöt. Kirjoit
|
||||
tpacancelCommandUsage=/<command> [pelaaja]
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage2=/<command> <player>
|
||||
tpacceptCommandDescription=Hyväksyy teleporttauspyynnnön.
|
||||
tpacceptCommandUsage=/<command> [otherplayer]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage2=/<command> <player>
|
||||
tpahereCommandDescription=Pyytää tiettyä pelaajaa teleporttaamaan luoksesi.
|
||||
tpahereCommandUsage=/<command> <player>
|
||||
tpahereCommandUsage1=/<command> <player>
|
||||
@@ -972,9 +973,9 @@ tpallCommandUsage1=/<command> [pelaaja]
|
||||
tpautoCommandDescription=Hyväksyy automaattisesti teleporttipyynnöt.
|
||||
tpautoCommandUsage=/<command> [pelaaja]
|
||||
tpautoCommandUsage1=/<command> [pelaaja]
|
||||
tpdenyCommandDescription=Hylkää teleporttauspyynnön.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage2=/<command> <player>
|
||||
tphereCommandDescription=Teleporttaa pelaajan luoksesi.
|
||||
tphereCommandUsage=/<command> <player>
|
||||
tphereCommandUsage1=/<command> <player>
|
||||
|
||||
@@ -9,6 +9,7 @@ adventure=panglakbayan
|
||||
afkCommandDescription=Mamarkahan ka na nakaalis-mula-sa-keyboard.
|
||||
afkCommandUsage=/<command> [manlalaro/mensahe...]
|
||||
afkCommandUsage1=/<command> [mensahe]
|
||||
afkCommandUsage2=/<command> <manlalaro> [message]
|
||||
alertBroke=sinira\:
|
||||
alertFormat=§3[{0}] §r {1} §6 {2} sa\: {3}
|
||||
alertPlaced=linagay\:
|
||||
@@ -33,7 +34,9 @@ backAfterDeath=§6Gamitin ang§c /back§6 na utos upang bumalik sa iyong punto n
|
||||
backCommandDescription=Lilipatin ka sa iyong locasyon bago sa tp/spawn/kiwal.
|
||||
backCommandUsage=/<command> [manlalaro]
|
||||
backCommandUsage1=/<command>
|
||||
backCommandUsage1Description=Lilipatin ka sa iyong kaninang locasyon
|
||||
backCommandUsage2=/<command> <manlalaro>
|
||||
backCommandUsage2Description=Lilipatin ang tinutukoy na manlalaro sa kanilang kaninang locasyon
|
||||
backOther=§6Binalik si§c {0}§6 sa nakaraang locasyon.
|
||||
backupCommandDescription=Itatakbo ang backup kung kinongfigure.
|
||||
backupCommandUsage=/<command>
|
||||
@@ -46,11 +49,14 @@ balance=§aPitaka\:§c {0}
|
||||
balanceCommandDescription=Sinasabi ang kasalukuyang pitaka ng manlalaro.
|
||||
balanceCommandUsage=/<command> [manlalaro]
|
||||
balanceCommandUsage1=/<command>
|
||||
balanceCommandUsage1Description=Sinasabi ang kasalukuyang pitaka
|
||||
balanceCommandUsage2=/<command> <manlalaro>
|
||||
balanceOther=§aPitaka ni {0}§a\:§c {1}
|
||||
balanceTop=§6Pinakamataas na pitaka ({0})
|
||||
balanceTopLine={0}. {1}, {2}
|
||||
balancetopCommandDescription=Kinukuha ang halaga ng mga pinakamataas na pitaka.
|
||||
balancetopCommandUsage=/<command> [pahina]
|
||||
balancetopCommandUsage1=/<command> [pahina]
|
||||
banCommandDescription=Nagpapagbawal ng manlalaro.
|
||||
banCommandUsage=/<command> <manlalaro> [dahilan]
|
||||
banCommandUsage1=/<command> <manlalaro> [dahilan]
|
||||
@@ -60,12 +66,14 @@ banFormat=§cPinagbawalan ka\:\n§r{0}
|
||||
banIpJoin=Pinagbawalan ang iyong IP address mula sa server na ito. Dahilan\: {0}
|
||||
banJoin=Pinagbawalan ka mula sa server na ito. Dahilan\: {0}
|
||||
banipCommandDescription=Magpapagbawal ng IP address.
|
||||
banipCommandUsage=/<command> <address> <dahilan>
|
||||
banipCommandUsage1=/<command> <address> <dahilan>
|
||||
bed=§okama§r
|
||||
bedMissing=§4Ang iyong kama ay alinmang di-nakalagay, nawala o binawal.
|
||||
bedNull=§mkama§r
|
||||
bedOffline=§4Bawal ka lumipat sa mga kama ng mga manlalaro na offline.
|
||||
bedSet=§6Inilagay ang spawn ng iyong kama\!
|
||||
beezookaCommandDescription=Tumapon ng sumasabog na bubuyog sa iyong kalaban.
|
||||
beezookaCommandDescription=Magtapon ng sumasabog na bubuyog sa iyong kalaban.
|
||||
beezookaCommandUsage=/<command>
|
||||
bigTreeFailure=§4Nabigong malaking puno na henerasyon. Gawin ulit sa damo o sa lupa.
|
||||
bigTreeSuccess=§6Nalagay ang malaking puno.
|
||||
@@ -76,6 +84,8 @@ bookAuthorSet=§6Itinakda ang gumawa ng libro sa {0}.
|
||||
bookCommandDescription=Pumapayag ng pagbuksan at ng pagbago ng mga tinatakang libro.
|
||||
bookCommandUsage=/<command> [pamagat|gumawa [pangalan]]
|
||||
bookCommandUsage1=/<command>
|
||||
bookCommandUsage2=/<command> may-akda <may-akda>
|
||||
bookCommandUsage3=/<command> titulo <titulo>
|
||||
bookLocked=§6Naka-lock na ang libro na ito.
|
||||
bookTitleSet=§6Itinakda ang pamagat ng libro sa {0}.
|
||||
breakCommandDescription=Sisirain yung bloke kung saan ka nakatingin.
|
||||
@@ -101,7 +111,6 @@ cantReadGeoIpDB=Nabigo sa pagkabasa ng GeoIP database\!
|
||||
cantSpawnItem=§6Hindi ka pinapayagang maglagay ng bagay na §c {0}§4.
|
||||
cartographytableCommandDescription=Magbubukas ng mesa ng kartograpiya.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Ispiya]
|
||||
cleaned=Binura na ang mga files ng user.
|
||||
cleaning=Binubura ang mga files ng user.
|
||||
@@ -111,16 +120,25 @@ clearinventoryCommandDescription=Buburahin ang lahat ng mga gamit sa iyong imben
|
||||
clearinventoryCommandUsage=/<command> [manlalaro|*] [gamit[\:<data>]|*|**] [halaga]
|
||||
clearinventoryCommandUsage1=/<command>
|
||||
clearinventoryCommandUsage2=/<command> <manlalaro>
|
||||
clearinventoryCommandUsage3=/<command> <manlalaro> <bagay> [halaga]
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§4Hindi maaaring sulatin ang utos na iyon para sa {0}.
|
||||
commandDisabled=§cAng utos na§6 {0}§c ay di-napagana.
|
||||
commandFailed=Ang utos na {0} ay nabigo\:
|
||||
commandHelpFailedForPlugin=May pagkakamali sa pagkuha ng tulong para sa plugin\: {0}
|
||||
commandHelpLine1=§6Tulong sa Command\: §f/{0}
|
||||
commandHelpLine2=§6Description\: §f{0}
|
||||
commandHelpLine3=§6Pagkakagamit;
|
||||
commandHelpLineUsage={0} §6- {1}
|
||||
commandNotLoaded=§4Hindi maayos ang pagka-load ng utos na {0}.
|
||||
compassBearing=§6Kinalalaman\: {0} ({1} digri).
|
||||
compassCommandDescription=Sinasabi ang iyong kasalakuyang kinalalaman.
|
||||
compassCommandUsage=/<command>
|
||||
condenseCommandDescription=Pinapaikliin ang mga bagay sa mga mas masiksik na bloke.
|
||||
condenseCommandUsage=/<command> [bagay]
|
||||
condenseCommandUsage1=/<command>
|
||||
condenseCommandUsage2=/<command> <bagay>
|
||||
configFileMoveError=Nabigo ang paglipat ng config.yml na file sa backup na locasyon.
|
||||
@@ -150,22 +168,33 @@ customtextCommandUsage=/<alias> - I-kahulugan sa bukkit.yml
|
||||
day=araw
|
||||
days=mga araw
|
||||
defaultBanReason=Nagsalita ang Pagbabawalang Martilyo\!
|
||||
deletedHomes=Lahat ng mga bahay ay binura.
|
||||
deletedHomesWorld=Lahat ng mga bahay sa {0} ay binura.
|
||||
deleteFileError=Hindi mabura ang file\: {0}
|
||||
deleteHome=§6Ang tahanan na§c {0} §6ay binura.
|
||||
deleteJail=§6Ang kulungan na§c {0} §6ay binura.
|
||||
deleteKit=§6Ang kit na§c {0} §6ay binura.
|
||||
deleteWarp=§6Ang pagkiwal na§c {0} §6ay binura.
|
||||
deletingHomes=Binubura ang lahat ng mga bahay...
|
||||
deletingHomesWorld=Binubura ang lahat ng mga bahay sa {0}...
|
||||
delhomeCommandDescription=Nagbubura ng tahanan.
|
||||
delhomeCommandUsage=/<command> [manlalaro\:]<pangalan>
|
||||
delhomeCommandUsage1=/<command> <pangalan>
|
||||
delhomeCommandUsage1Description=Ibubura ang iyong bahay gamit ang pangalan na binigay
|
||||
delhomeCommandUsage2=/<command> <manlalaro>\:<pangalan>
|
||||
delhomeCommandUsage2Description=Ibubura ang bahay ng manlalarong tinutukoy gamit ang pangalan na binigay
|
||||
deljailCommandDescription=Nagbubura ng kulungan.
|
||||
deljailCommandUsage=/<command> <pangalan-ng-kulungan>
|
||||
deljailCommandUsage1=/<command> <pangalan-ng-kulungan>
|
||||
deljailCommandUsage1Description=Ibubura ang kulungan gamit ang pangalan na binigay
|
||||
delkitCommandDescription=Magbubura ng tinukoy na kit.
|
||||
delkitCommandUsage=/<command> <kit>
|
||||
delkitCommandUsage1=/<command> <kit>
|
||||
delkitCommandUsage1Description=Ibubura ang kit gamit ang pangalan na binigay
|
||||
delwarpCommandDescription=Magbubura ng tinukoy na pagkiwal.
|
||||
delwarpCommandUsage=/<command> <pagkiwal>
|
||||
delwarpCommandUsage1=/<command> <pagkiwal>
|
||||
delwarpCommandUsage1Description=Ibubura ang pagkiwal gamit ang pangalan na binigay
|
||||
deniedAccessCommand=§4Si §c{0} §4ay hindi pinayagan upang mag-utos.
|
||||
denyBookEdit=§4Hindi maaaring i-unlock ang librong ito.
|
||||
denyChangeAuthor=§4Hindi maaaring baguhin ang gumawa ng librong ito.
|
||||
@@ -179,21 +208,56 @@ destinationNotSet=Hindi nakatakda ang destinasyon\!
|
||||
disabled=di-pinagana
|
||||
disabledToSpawnMob=§4Di-pinagana ang pagka-likha ng itong mob sa config file.
|
||||
disableUnlimited=§6Di-pinagana ang pagkalagay na walang-limitasyon ng§c {0} §6para§c {1}§6.
|
||||
discordbroadcastCommandDescription=Mag-bo-brodkast ng mensahe sa tinutukoy na Discord channel.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <mensahe>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <mensahe>
|
||||
discordbroadcastCommandUsage1Description=Ipapadala ang mensaheng tinutukoy sa tinutukoy na Discord channel
|
||||
discordbroadcastInvalidChannel=§4Yung discord channel na §c{0}§4 does not exist.
|
||||
discordbroadcastPermission=§4Hindi ka pinapayagang magdala ng mga mensahe sa §c{0}§4 channel.
|
||||
discordbroadcastSent=§6Dinala ang mensahe kay §c{0}§6\!
|
||||
discordCommandDescription=Ipapadala ang Discord invite link sa manlalaro.
|
||||
discordCommandLink=§6Sumali ka sa aming Discord server sa §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Ipapadala ang Discord invite link sa manlalaro
|
||||
discordCommandExecuteDescription=Itatakbo ang console command sa Minecraft server.
|
||||
discordCommandExecuteArgumentCommand=Yung command na itatakbo
|
||||
discordCommandExecuteReply=Itatakbo ang command na\: "/{0}"
|
||||
discordCommandListDescription=Ililista ang mga manlalaro na online.
|
||||
discordCommandListArgumentGroup=Isang grupong tinutukoy upang ililimit ang iyong search na
|
||||
discordCommandMessageDescription=Mag-me-mensahe ng manlalaro sa Minecraft server.
|
||||
discordCommandMessageArgumentUsername=Yung manlalarong ipapadala ang iyong mensahe kay
|
||||
discordCommandMessageArgumentMessage=Yung mensaheng ipapadala sa manlalaro
|
||||
discordErrorCommandDisabled=Ang iyang command ay di-napagana\!
|
||||
discordErrorLogin=May nangyaring mali habang naglologin sa Discord, na binigay ang plugin ng sanhi upang ipatay ang sarili\: {0}
|
||||
discordLoggingIn=Sinusubukang mag-login sa Discord...
|
||||
discordLoggingInDone=Matagumpay na nakalogin bilang si {0}
|
||||
discordNoSendPermission=Hindi mai-padala ng mensahe sa channel\: \#{0} Mangyaring ipatunayan na ang bot ay mayroong "Magdala ng Mensahe" na pahintulot sa iyang channel\!
|
||||
disposal=Basura
|
||||
disposalCommandDescription=Magbubukas ng pwedeng-galawin na basurang lalagyan.
|
||||
disposalCommandUsage=/<command>
|
||||
distance=§6Distansya\: {0}
|
||||
dontMoveMessage=§6Mangyayari ang paglipat sa§c {0}§6. Huwag ka gumalaw.
|
||||
downloadingGeoIp=Dina-download ang GeoIP database... maaaring matagal ang pagka-download na ito (bansa\: 1.7MB, lungsod\: 30MB)
|
||||
dumpConsoleUrl=May ginawang server dump\: §c{0}
|
||||
dumpCreating=§6Gumagawa ng server dump...
|
||||
dumpError=§4Error habang gumagawa ng dump na §c{0}§4.
|
||||
dumpErrorUpload=§4Error habang ina-upload ang §c{0}§4\: §c{1}
|
||||
duplicatedUserdata=Duplikadong manlalarong-datos\: {0} at {1}.
|
||||
durability=§6Pwede mo pa gamitin ito ng §c{0}§6 pang beses.
|
||||
east=E
|
||||
ecoCommandDescription=Kino-kontrol ang ekonomiya na server.
|
||||
ecoCommandUsage=/<command> <give|take|set|reset> <manlalaro> <halaga>
|
||||
ecoCommandUsage1=/<command> give <manlalaro> <halaga>
|
||||
ecoCommandUsage1Description=Ibibigay yung manlalarong tinutukoy ng tinutukoy na halaga ng pera
|
||||
ecoCommandUsage2=/<command> take <manlalaro> <halaga>
|
||||
ecoCommandUsage3=/<command> set <manlalaro> <halaga>
|
||||
ecoCommandUsage4=/<command> reset <manlalaro> <halaga>
|
||||
editBookContents=§ePwede mo na baguhin ang nilalaman ng itong libro.
|
||||
enabled=pinagana
|
||||
enchantCommandDescription=Minamalika ang bagay na kinakapit ng manlalaro.
|
||||
enchantCommandUsage=/<command> <gayumang-pangalan> [lebel]
|
||||
enchantCommandUsage1=/<command> <pangalan ng gayuma> [lebel]
|
||||
enableUnlimited=§6Binibigay ng walang-limitasyong halaga ngf§c {0} §6kay §c{1}§6.
|
||||
enchantmentApplied=§6Ang gayuma na§c {0} §6ay linagay sa iyong bagay sa kamay.
|
||||
enchantmentNotFound=§4Hindi nahanap ang gayuma\!
|
||||
@@ -203,17 +267,40 @@ enchantments=§6Mga Gayuma\:§r {0}
|
||||
enderchestCommandDescription=Pinapayagan ka tumingin sa loob ng baul ng ender.
|
||||
enderchestCommandUsage=/<command> [manlalaro]
|
||||
enderchestCommandUsage1=/<command>
|
||||
enderchestCommandUsage1Description=Ibubukas ang iyong ender chest
|
||||
enderchestCommandUsage2=/<command> <manlalaro>
|
||||
enderchestCommandUsage2Description=Ibubukas ang ender chest ng manlalarong tinutukoy
|
||||
errorCallingCommand=May pagkakamali sa pagsabi ng utos na /{0}
|
||||
errorWithMessage=§cMali\:§4 {0}
|
||||
essentialsCommandDescription=Ini-re-reload ang EssentialsX.
|
||||
essentialsCommandUsage=/<command>
|
||||
essentialsCommandUsage1=/<command> reload
|
||||
essentialsCommandUsage1Description=I-ri-reload ang config ng Essentials
|
||||
essentialsCommandUsage2=/<command> version
|
||||
essentialsCommandUsage2Description=Magbi-bigay ng impormasyon tungkol sa bersyon ng Essentials
|
||||
essentialsCommandUsage3=/<command> commands
|
||||
essentialsCommandUsage4=/<command> debug
|
||||
essentialsCommandUsage5=/<command> reset <manlalaro>
|
||||
essentialsCommandUsage5Description=I-ri-reset ang userdata ng manlalarong tinutukoy
|
||||
essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=I-lilinis yung lumang userdata
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Nag-li-likha ng server dump gamit ang hinilingan na impormasyon
|
||||
essentialsHelp1=Sira ang file at hindi mabukas ng Essentials ito. Di-pinagana ang Essentials. Kung hindi mo kayang maayos ang file, punta ka sa http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Sira ang file at hindi mabukas ng Essentials ito. Di-pinagana ang Essentials. Kung hindi mo kayang maayos ang file, sulatin mo ang /essentialshelp sa laro o punta ka sa http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Ni-load muli ang Essentials. Bersyon\: §c {0}.
|
||||
exp=§6Si §c{0} §6ay mayroong§c {1} §6XP (lebel na§c {2}§6) at kinakailangan ng §c {3} §6pang XP upang tumaas ng lebel.
|
||||
expCommandDescription=Magbigay, magtakda, mag-reset o tumingin sa isang manlalarong karanasan.
|
||||
expCommandUsage=/<command> [reset|show|set|give] [pangalan-ng-manlalaro [halaga]]
|
||||
expCommandUsage1=/<command> give <manlalaro> <halaga>
|
||||
expCommandUsage1Description=Ibibigay ang manlalarong tinutukoy yung tinutukoy na halaga ng XP
|
||||
expCommandUsage2=/<command> set <pangalan ng manlalaro> <halaga>
|
||||
expCommandUsage2Description=Itatakda ang XP ng manlalarong tinutukoy yung tinutukoy na halaga
|
||||
expCommandUsage3=/<command> show <pangalan ng manlalaro>
|
||||
expCommandUsage4Description=Ipapakita ang halaga ng XP nang manlalarong tinutukoy ay meron
|
||||
expCommandUsage5=/<command> reset <pangalan ng manlalaro>
|
||||
expCommandUsage5Description=I-ri-reset ang XP ng manlalarong tinutukoy sa 0
|
||||
expSet=§6Si §c{0} §6ay mayroong§c {1} §6XP.
|
||||
extCommandDescription=Tinatanggal yung apoy mula sa mga manlalaro.
|
||||
extCommandUsage=/<command> [manlalaro]
|
||||
@@ -235,6 +322,10 @@ fireballCommandUsage=/<command> [fireball|small|large|arrow|skull|egg|snowball|e
|
||||
fireballCommandUsage1=/<command>
|
||||
fireworkCommandDescription=Pinapayagan ka upang bumago ng isang stack ng pagkaputok.
|
||||
fireworkCommandUsage=/<command> <<meta param>|lpower [halaga]|clear|fire [halaga]>
|
||||
fireworkCommandUsage1=/<command> clear
|
||||
fireworkCommandUsage2=/<command> power <halaga>
|
||||
fireworkCommandUsage3=/<command> fire [halaga]
|
||||
fireworkCommandUsage4=/<command> <meta>
|
||||
fireworkEffectsCleared=§6Tinanggal ang lahat ng mga epekto mula sa hinahawakan na stack.
|
||||
flyCommandDescription=Umalis, at lumipad\!
|
||||
flyCommandUsage=/<command> [manlalaro] [ON|OFF]
|
||||
@@ -262,6 +353,8 @@ getposCommandUsage=/<command> [manlalaro]
|
||||
getposCommandUsage1=/<command> [manlalaro]
|
||||
giveCommandDescription=Magbigay ng bagay sa isang manlalaro.
|
||||
giveCommandUsage=/<command> <manlalaro> <bagay|numerong> [halaga [kodigo-sa-bagay...]]
|
||||
giveCommandUsage1=/<command> <manlalaro> <bagay> [halaga]
|
||||
giveCommandUsage2=/<command> <manlalaro> <bagay> <halaga> <meta>
|
||||
geoipCantFind=§6Si §c{0} §6ay nanggagaling mula sa §ahindi malamang bansa§6.
|
||||
geoIpErrorOnJoin=Hindi makuha ang GeoIP na datos para sa {0}. Mangyaring siguraduhin na tama ang iyong lisensya para sa susi at tama ang iyong configuration.
|
||||
geoIpLicenseMissing=Walang lisensya para sa susi na nahanap\! Mangyaring basahin ang https\://essentialsx.net/geoip para sa unang pagkakataon na pagka-simulan na mga instruksiyon.
|
||||
@@ -284,6 +377,8 @@ hatArmor=§4Bawal mo tong gamitin na sumbrero ang bagay na ito\!
|
||||
hatCommandDescription=Magkaroon ng bagong kabigha-bighani na bagay sa iyong ulo.
|
||||
hatCommandUsage=/<command> [remove]
|
||||
hatCommandUsage1=/<command>
|
||||
hatCommandUsage2=/<command> remove
|
||||
hatCommandUsage2Description=Tinatanggal ang iyong kasalukuyang sumbrero
|
||||
hatCurse=§4Bawal kang magbura ng sumbrero na may mahikang "Curse of Binding"\!
|
||||
hatEmpty=§4Hindi ka nagsusuot ng sumbrero.
|
||||
hatFail=§4Kailangan mo ng pwedeng masuot sa iyong kamay.
|
||||
@@ -307,20 +402,27 @@ helpPlugin=§4{0}§r\: Tulong ng Plugin\: /help {1}
|
||||
helpopCommandDescription=Mag-mensahe ng mga admin dito na online.
|
||||
helpopCommandUsage=/<command> <mensahe>
|
||||
helpopCommandUsage1=/<command> <mensahe>
|
||||
helpopCommandUsage1Description=Idadala ang mensaheng binigay sa lahat ng admins na online
|
||||
holdBook=§4Wala kang hinahawakang libro na pwedeng masulat.
|
||||
holdFirework=§4Kailangan mong maghawak ng paputok upang dumagdag ng epekto.
|
||||
holdPotion=§4Kailangan mong maghawak ng gayuma upang magdagdag ng epekto sa ito.
|
||||
holeInFloor=§4Butas sa sahig\!
|
||||
homeCommandDescription=Lumipat sa iyong bahay.
|
||||
homeCommandUsage=/<command> [player\:][pangalan]
|
||||
homeCommandUsage1=/<command> <pangalan>
|
||||
homeCommandUsage1Description=Ililipat ka sa iyong bahay gamit ang pangalan na binigay
|
||||
homeCommandUsage2=/<command> <manlalaro>\:<pangalan>
|
||||
homeCommandUsage2Description=Ililipat ka sa bahay ng manlalarong tinutukoy gamit ang pangalan na binigay
|
||||
homes=§6Mga bahay mo\:§r {0}
|
||||
homeConfirmation=§6Mayroon ka nang bahay na tawag §c{0}§6\!\nKung gusto mong baguhin ang iyong kasalukuyang bagay, mangyaring sulatin ang utos ulit.
|
||||
homeSet=§6Itinakda ang iyong bagong bahay sa kasalukuyang locasyon.
|
||||
hour=oras
|
||||
hours=oras
|
||||
ice=§6Lumalamig ang iyong pakiramdam...
|
||||
iceCommandUsage=/<command> [manlalaro]
|
||||
iceCommandUsage1=/<command>
|
||||
iceCommandUsage2=/<command> <manlalaro>
|
||||
iceCommandUsage3=/<command> *
|
||||
ignoreCommandDescription=Pwede mong hindi i-pansin mo mag-pansin ng mga iba pang manlalaro dito gamit ang utos na ito.\n\n§4§lPaalala\: §r§4Magbabawal ka ng mga manlalaro ng tinutukoy sa pamamagitan ng chat gamit ang utos na ito. Ibig sabihin noon hindi ka makakasalita sa kanila.
|
||||
ignoreCommandUsage=/<command> <manlalaro>
|
||||
ignoreCommandUsage1=/<command> <manlalaro>
|
||||
@@ -368,6 +470,7 @@ itemId=§6ID\:§c {0}
|
||||
itemloreClear=§6Binura mo ang lore ng bagay na ito.
|
||||
itemloreCommandDescription=Magbago ng lore ng isang bagay.
|
||||
itemloreCommandUsage=/<command> <add/set/clear> [teksto/linya] [teksto]
|
||||
itemloreCommandUsage3=/<command> clear
|
||||
itemloreInvalidItem=§cKailangan mong hawakan ang bagay upang baguhin ang lore niya.
|
||||
itemloreNoLine=§4Yung bagay na hinawakan mo ay walang teksto ng lore sa linyang §c{0}§4.
|
||||
itemloreNoLore=§4Yung bagay na hinawakan mo ay walang anumang teksto ng lore.
|
||||
@@ -378,6 +481,7 @@ itemnameClear=§6Binura mo ang pangalan ng bagay na ito.
|
||||
itemnameCommandDescription=Binibagay ang bagay ng pangalan.
|
||||
itemnameCommandUsage=/<command> [pangalan]
|
||||
itemnameCommandUsage1=/<command>
|
||||
itemnameCommandUsage2=/<command> <pangalan>
|
||||
itemnameInvalidItem=§cKailangan mong hawakan ang bagay upang baguhin ang pangalan niya.
|
||||
itemnameSuccess=§6Binago mo ang pangalan ng hinawakang bagay sa "§c{0}§6".
|
||||
itemNotEnough1=§4Hindi sapat ang bagay na sinusubukan mong ibenta.
|
||||
@@ -463,7 +567,6 @@ listCommandUsage1=/<command> <grupo>
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[NAKATAGO]§r
|
||||
loadWarpError=§4Nabigong mag-load ng pagkiwal na {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
loomCommandDescription=Magbubukas ng habihan.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Upang ibura ang iyong mail, sulatin mo ang§c /mail clear§6.
|
||||
@@ -535,8 +638,6 @@ nickCommandUsage=/<command> [manlalaro] <nickname|OFF>
|
||||
nickCommandUsage1=/<command> <nickname>
|
||||
noBreakBedrock=§6Hindi ka pinapayagang magsira ng batong matigas.
|
||||
noGodWorldWarning=§4Babala\! Ang diyos na kapangyarihan sa ditong mundo ay di-napagana.
|
||||
notAllowedToQuestion=§6Hindi ka pinapayagang maggamit ng tanong.
|
||||
notAllowedToShout=§6Hindi ka pinapayagang sumigaw.
|
||||
nukeCommandUsage=/<command> [manlalaro]
|
||||
passengerTeleportFail=§4Ikaw ay hindi maaaring malipat habang dumadala ka ng mga tao.
|
||||
payCommandUsage=/<command> <manlalaro> <halaga>
|
||||
@@ -545,7 +646,11 @@ payconfirmtoggleCommandUsage=/<command>
|
||||
paytoggleCommandUsage=/<command> [manlalaro]
|
||||
paytoggleCommandUsage1=/<command> [manlalaro]
|
||||
pingCommandUsage=/<command>
|
||||
playtimeCommandUsage=/<command> [manlalaro]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage2=/<command> <manlalaro>
|
||||
potionCommandUsage=/<command> <clear|apply|effect\:<epekto> power\:<lakas> duration\:<durasyon>>
|
||||
potionCommandUsage1=/<command> clear
|
||||
powertoolCommandUsage=/<command> [l\:|a\:|r\:|c\:|d\:][utos] [mga argumento] - {player} maaaring palitan ng pangalan ng manlalarong pumindot
|
||||
powertooltoggleCommandUsage=/<command>
|
||||
ptimeCommandUsage=/<command> [list|reset|day|night|dawn|17\:30|4pm|4000ticks] [manlalaro|*]
|
||||
@@ -567,6 +672,8 @@ rulesCommandUsage=/<command> [kabanata] [pahina]
|
||||
seenCommandUsage=/<command> <pangalan-ng-manlalaro>
|
||||
seenCommandUsage1=/<command> <pangalan-ng-manlalaro>
|
||||
sethomeCommandUsage=/<command> [[player\:]pangalan]
|
||||
sethomeCommandUsage1=/<command> <pangalan>
|
||||
sethomeCommandUsage2=/<command> <manlalaro>\:<pangalan>
|
||||
setjailCommandDescription=Mag-gagawa ng kulungan sa tinutukoy na locasyon na may pangalan na [pangalan-ng-kulungan]
|
||||
setjailCommandUsage=/<command> <pangalan-ng-kulungan>
|
||||
setjailCommandUsage1=/<command> <pangalan-ng-kulungan>
|
||||
@@ -614,6 +721,8 @@ tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage2=/<command> <manlalaro>
|
||||
tpacceptCommandUsage=/<command> [iba-pang-manlalaro]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage2=/<command> <manlalaro>
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpahereCommandUsage=/<command> <manlalaro>
|
||||
tpahereCommandUsage1=/<command> <manlalaro>
|
||||
tpallCommandUsage=/<command> [manlalaro]
|
||||
@@ -622,6 +731,8 @@ tpautoCommandUsage=/<command> [manlalaro]
|
||||
tpautoCommandUsage1=/<command> [manlalaro]
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage2=/<command> <manlalaro>
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tphereCommandUsage=/<command> <manlalaro>
|
||||
tphereCommandUsage1=/<command> <manlalaro>
|
||||
tpoCommandUsage=/<command> <manlalaro> [iba-pang-manlalaro]
|
||||
@@ -650,6 +761,7 @@ userdataMoveError=Nabigong maglipat mula sa userdata/{0} sa userdata{1}.tmp\!
|
||||
vanishCommandUsage=/<command> [manlalaro] [ON|OFF]
|
||||
vanishCommandUsage1=/<command> [manlalaro]
|
||||
warpCommandUsage=/<command> <numero-ng-pahina|pagkiwal> [manlalaro]
|
||||
warpCommandUsage1=/<command> [pahina]
|
||||
warpinfoCommandUsage=/<command> <pagkiwal>
|
||||
warpinfoCommandUsage1=/<command> <pagkiwal>
|
||||
warpList={0}
|
||||
|
||||
@@ -126,7 +126,6 @@ cantReadGeoIpDB=Échec de la lecture de la base de données GeoIP \!
|
||||
cantSpawnItem=§4Vous n''êtes pas autorisé(e) à faire apparaître l''objet§c {0}§4.
|
||||
cartographytableCommandDescription=Ouvre une table de cartographie.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=[Espion]
|
||||
cleaned=Fichiers joueurs nettoyés.
|
||||
cleaning=Nettoyage des fichiers joueurs.
|
||||
@@ -143,6 +142,7 @@ clearinventoryCommandUsage3Description=Supprime tous les objets (ou la quantité
|
||||
clearinventoryconfirmtoggleCommandDescription=Activer/désactiver la confirmation pour le nettoyage de l''inventaire.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cVous ne pouvez pas exécuter cette commande pendant {0}.
|
||||
commandDisabled=§cLa commande§6 {0}§c est désactivée.
|
||||
@@ -181,6 +181,7 @@ createkitCommandUsage1Description=Crée un kit avec le nom donné et le délai i
|
||||
createKitFailed=§4Erreur lors de la création du kit {0}.
|
||||
createKitSeparator=§m-----------------------
|
||||
createKitSuccess=§6Kit créé \: §f{0}\n§6Délai \: §f{1}\n§6Lien \: §f{2}\n§6Copiez le contenu du lien ci-dessus dans votre fichier kits.yml.
|
||||
createKitUnsupported=§4La sérialisation d''item NBT a été activée, mais ce serveur n''exécute pas Paper 1.15.2+. Retour à la sérialisation d''item standard.
|
||||
creatingConfigFromTemplate=Création de la configuration à partir du modèle \: {0}
|
||||
creatingEmptyConfig=Création d''une configuration vierge \: {0}
|
||||
creative=créatif
|
||||
@@ -231,12 +232,54 @@ destinationNotSet=Destination non définie \!
|
||||
disabled=désactivé
|
||||
disabledToSpawnMob=L''invocation de ce monstre a été désactivée depuis le fichier de configuration.
|
||||
disableUnlimited=§6Le placement illimité de§c {0} §6pour§c {1} §6a été désactivé.
|
||||
discordbroadcastCommandDescription=Diffuse un message au salon Discord spécifié.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Envoie le message donné au salon Discord spécifié
|
||||
discordbroadcastInvalidChannel=§4Le salon Discord §c{0}§4 n''existe pas.
|
||||
discordbroadcastPermission=§4Vous n''avez pas la permission d''envoyer des messages dans le salon §c{0}§4.
|
||||
discordbroadcastSent=§6Message envoyé à §c{0}§6\!
|
||||
discordCommandDescription=Envoie le lien d''invitation discord au joueur.
|
||||
discordCommandLink=§6Rejoignez notre serveur Discord à §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Envoie le lien d''invitation Discord au joueur
|
||||
discordCommandExecuteDescription=Exécute une commande console depuis le serveur Minecraft.
|
||||
discordCommandExecuteArgumentCommand=La commande qui doit être exécutée
|
||||
discordCommandExecuteReply=Exécution de la commande\: "/{0}"
|
||||
discordCommandListDescription=Obtenir la liste des joueurs connectés.
|
||||
discordCommandListArgumentGroup=Un groupe spécifique auquel limiter vos recherches
|
||||
discordCommandMessageDescription=Envoie un message à un joueur sur le serveur Minecraft.
|
||||
discordCommandMessageArgumentUsername=Le joueur à qui envoyer le message
|
||||
discordCommandMessageArgumentMessage=Le message à envoyer au joueur
|
||||
discordErrorCommand=Vous avez incorrectement ajouté votre bot à votre serveur. Veuillez suivre le tutoriel dans la configuration et ajouter votre bot en utilisant https\://essentialsx.net/discord.html \!
|
||||
discordErrorCommandDisabled=Cette commande est désactivée \!
|
||||
discordErrorLogin=Une erreur s''est produite lors de la connexion à Discord, ce qui a causé la désactivation du plugin \: \n{0}
|
||||
discordErrorLoggerInvalidChannel=La connexion à la console Discord a été désactivée en raison d''une définition de canal invalide \! Si vous avez l''intention de le désactiver, définissez l''ID du canal à "none", sinon vérifiez que votre ID de canal est correct.
|
||||
discordErrorLoggerNoPerms=L''enregistreur de console Discord a été désactivé en raison de permissions insuffisantes \! Assurez-vous que votre bot a les permissions "Gérer les Webhooks" sur le serveur. Après avoir corrigé cela, exécutez "/ess reload".
|
||||
discordErrorNoGuild=ID de serveur invalide ou manquant\! Veuillez suivre le tutoriel dans la configuration afin de configurer le plugin.
|
||||
discordErrorNoGuildSize=Votre bot n''est dans aucun serveur\! Veuillez suivre le tutoriel dans la configuration afin de configurer le plugin.
|
||||
discordErrorNoPerms=Votre bot ne peut voir ou parler dans aucun canal \! Assurez-vous que votre bot a les permissions en lecture et en écriture dans tous les canaux que vous souhaitez utiliser.
|
||||
discordErrorNoPrimary=Vous n''avez pas défini de salon principal ou votre salon principal est invalide. Retour au salon par défaut \: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Votre bot ne peut pas parler dans votre salon principal, \#{0}. Assurez-vous que votre bot a les permissions de lecture et d''écriture dans tous les salons que vous souhaitez utiliser.
|
||||
discordErrorNoToken=Aucun jeton fourni\! Veuillez suivre le tutoriel dans la configuration afin de configurer le plugin.
|
||||
discordErrorWebhook=Une erreur s''est produite lors de l''envoi de messages à votre canal console \! Cela a probablement été causé par la suppression accidentelle de votre webhook console. Cela peut généralement être corrigé en s''assurant que votre bot a la permission "Gérer les Webhooks" et en exécutant "/ess reload".
|
||||
discordLoggingIn=Tentative de connexion à Discord...
|
||||
discordLoggingInDone=Connexion réussie en tant que {0}
|
||||
discordNoSendPermission=Impossible d''envoyer un message dans le salon \: \#{0} Veuillez vous assurer que le bot a la permission "Envoyer des Messages" dans ce salon \!
|
||||
discordReloadInvalid=Tentative de recharger la configuration de Discord EssentialsX alors que le plugin est en état invalide \! Si vous avez modifié votre configuration, redémarrez votre serveur.
|
||||
disposal=Poubelle
|
||||
disposalCommandDescription=Ouvrir une poubelle portative.
|
||||
disposalCommandUsage=/<command>
|
||||
distance=§6Distance \: {0}
|
||||
dontMoveMessage=§6La téléportation commence dans§c {0}§6. Ne bougez pas.
|
||||
downloadingGeoIp=Téléchargement de la base de données GeoIP... Cela peut prendre un moment (pays \: 1.7 Mo, villes \: 30 Mo)
|
||||
dumpConsoleUrl=Un dump de serveur a été créé \: §c{0}
|
||||
dumpCreating=§7Création de la sauvegarde du serveur...
|
||||
dumpDeleteKey=§6Si vous voulez supprimer ce dump à une date ultérieure, utilisez la clé de suppression suivante \: §c{0}
|
||||
dumpError=§4Erreur lors de la création du dump §c{0}§4.
|
||||
dumpErrorUpload=§4Erreur lors du téléchargement de §c{0}§4 \: §c{1}
|
||||
dumpUrl=§7Création d''un dump de serveur \: §c{0}
|
||||
duplicatedUserdata=Données utilisateurs dupliquées \: {0} et {1}
|
||||
durability=§6Cet outil a §c{0}§6 utilisation(s) restante(s).
|
||||
east=E
|
||||
@@ -286,6 +329,8 @@ essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Nettoie les anciennes données de joueur
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=Gère les résidences de joueurs
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Génère un dump serveur avec les informations demandées
|
||||
essentialsHelp1=Le fichier est corrompu et Essentials ne peut l''ouvrir. Essentials est désormais désactivé. Si vous ne pouvez corriger vous-même le problème, rendez-vous sur https\://essentialsx.net/community.html
|
||||
essentialsHelp2=Le fichier est corrompu et Essentials ne peut pas l''ouvrir. Essentials est maintenant désactivé. Si vous ne pouvez pas réparer le fichier vous-même, tapez /essentialshelp dans le jeu ou rendez-vous sur http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials§c {0} §6a été rechargé.
|
||||
@@ -438,9 +483,16 @@ homeConfirmation=§6Vous avez déjà une résidence nommée §c{0} §6\!\nPour
|
||||
homeSet=§7Résidence définie.
|
||||
hour=heure
|
||||
hours=heures
|
||||
ice=§7Il fait beaucoup plus froid...
|
||||
iceCommandDescription=Refroidit un joueur.
|
||||
iceCommandUsage=/<command> [joueur]
|
||||
iceCommandUsage1=/<command>
|
||||
iceCommandUsage1Description=Vous refroidit
|
||||
iceCommandUsage2=/<command> <joueur>
|
||||
iceCommandUsage2Description=Refroidit le joueur donné
|
||||
iceCommandUsage3=/<command> *
|
||||
iceCommandUsage3Description=Refroidit tous les joueurs en ligne
|
||||
iceOther=§7Rafraîchissement§c {0}§6.
|
||||
ignoreCommandDescription=Ignorer ou ne pas ignorer les autres joueurs.
|
||||
ignoreCommandUsage=/<command> <joueur>
|
||||
ignoreCommandUsage1=/<command> <joueur>
|
||||
@@ -494,6 +546,7 @@ itemId=§6ID \:§c {0}
|
||||
itemloreClear=§7Vous avez effacé la description de cet objet.
|
||||
itemloreCommandDescription=Modifie la description d''un objet.
|
||||
itemloreCommandUsage=/<command> <add|set|clear> [texte|ligne] [texte]
|
||||
itemloreCommandUsage1=/<command> add [text]
|
||||
itemloreCommandUsage1Description=Ajoute le texte donné à la fin de la description de l''objet tenu en main
|
||||
itemloreCommandUsage2=/<command> set <numéro de ligne> <texte>
|
||||
itemloreCommandUsage2Description=Définit la ligne spécifiée de la description de l''objet tenu en main au texte donné
|
||||
@@ -534,6 +587,9 @@ jailAlreadyIncarcerated=§cJoueur déjà emprisonné \: {0}
|
||||
jailList=§6Prisons \:§r {0}
|
||||
jailMessage=§cVous avez commis un crime, vous en payez le prix.
|
||||
jailNotExist=§4Cette prison n''existe pas.
|
||||
jailNotifyJailed=§7Joueur§c {0} §6emprisonné par §c{1}.
|
||||
jailNotifyJailedFor=§6Le joueur§c {0} §6a été emprisonné pour §c {1}§6par §c{2}§6.
|
||||
jailNotifySentenceExtended=§6Le temps de prison du joueur{0} a été prolongé à §c{1} §6par §c{2}§6.
|
||||
jailReleased=§6Le joueur §c{0}§6 a été libéré.
|
||||
jailReleasedPlayerNotify=§6Vous avez été libéré(e) \!
|
||||
jailSentenceExtended=Durée d''emprisonnement rallongée de \: {0}
|
||||
@@ -574,6 +630,7 @@ kitCost=\ §7§o({0})§r
|
||||
kitDelay=§m{0}§r
|
||||
kitError=§cIl n''y a pas de kits valides.
|
||||
kitError2=§4Ce kit est mal défini. Contactez un administrateur.
|
||||
kitError3=Impossible de donner l''article du kit dans le kit "{0}" à l''utilisateur {1} car l''élément du kit nécessite Paper 1.15.2+ pour la désérialiser.
|
||||
kitGiveTo=§6Don du kit§c {0}§6 à §c{1}§6.
|
||||
kitInvFull=§cVotre inventaire était plein, le kit est par terre.
|
||||
kitInvFullNoDrop=§4Il n''y a pas assez de place dans votre inventaire pour ce kit.
|
||||
@@ -609,24 +666,37 @@ listCommandUsage1=/<command> [groupe]
|
||||
listCommandUsage1Description=Liste tous les joueurs connectés serveur, ou le groupe donné, si spécifié
|
||||
listGroupTag=§6{0}§r \:
|
||||
listHiddenTag=§7[MASQUÉ]§f
|
||||
listRealName=({0})
|
||||
loadWarpError=§4Échec du chargement du point de téléportation {0}.
|
||||
localFormat=[L]<{0}> {1}
|
||||
loomCommandDescription=Ouvre un métier à tisser.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Pour supprimer votre courrier, tapez§c /mail clear§6.
|
||||
mailCleared=§6Courrier supprimé \!
|
||||
mailClearIndex=§4Vous devez spécifier un nombre entre 1 et {0}.
|
||||
mailCommandDescription=Gère le courrier inter-joueur, intra-serveur.
|
||||
mailCommandUsage=/<command> [read|clear|clear [number]|send [to] [message]|sendtemp [to] [expire time] [message]|sendall [message]]
|
||||
mailCommandUsage1=/<command> read [page]
|
||||
mailCommandUsage1Description=Lit la première page (ou la page spécifiée) de votre courrier
|
||||
mailCommandUsage2=/<command> clear [number]
|
||||
mailCommandUsage2Description=Efface tous les mails ou ceux spécifiés
|
||||
mailCommandUsage3=/<command> send <joueur> <message>
|
||||
mailCommandUsage3Description=Envoie le message donné au joueur spécifié
|
||||
mailCommandUsage4=/<command> sendall <message>
|
||||
mailCommandUsage4Description=Envoie le message donné à tous les joueurs
|
||||
mailCommandUsage5=/<command> sendtemp <player> <expire time> <message>
|
||||
mailCommandUsage5Description=Envoie au joueur spécifié le message qui expirera dans la période spécifiée
|
||||
mailCommandUsage6=/<command> sendtempall <expire time> <message>
|
||||
mailCommandUsage6Description=Envoie à tous les joueurs le message donné qui expirera dans la période spécifiée
|
||||
mailDelay=Trop de courriers ont été envoyés au cours de la dernière minute. Maximum \: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewRead=§6[§r{0}§6] §6[§r{1}§6] §7§o{2}
|
||||
mailFormatNewReadTimed=§6[§e⚠§6] §6[§r{0}§6] §6[§r{1}§6] §7§o{2}
|
||||
mailFormat=§6[§r{0}§6] §r{1}
|
||||
mailMessage={0}
|
||||
mailSent=§6Courrier envoyé \!
|
||||
mailSentTo=§c{0}§6 a reçu le courrier suivant \:
|
||||
mailSentToExpire=§c{0}§6 a été envoyé le mail suivant qui expirera dans §c{1}§6\:
|
||||
mailTooLong=§4Votre courrier est trop long. Il doit contenir au maximum 1000 caractères.
|
||||
markMailAsRead=§6Pour marquer votre courrier comme lu, tapez§c /mail clear§6.
|
||||
matchingIPAddress=§6Les joueurs suivants se sont déjà connectés avec cette adresse IP \:
|
||||
@@ -706,6 +776,7 @@ nearCommandUsage3Description=Liste tous les joueurs dans le rayon par défaut au
|
||||
nearCommandUsage4=/<command> <joueur> <rayon>
|
||||
nearCommandUsage4Description=Liste tous les joueurs dans le rayon donné autour du joueur spécifié
|
||||
nearbyPlayers=§6Joueurs aux alentours \:§r {0}
|
||||
nearbyPlayersList={0}§f(§c{1}m§f)
|
||||
negativeBalanceError=§4L''utilisateur n''est pas autorisé à avoir un solde négatif.
|
||||
nickChanged=§6Surnom changé.
|
||||
nickCommandDescription=Changer votre pseudo ou celui d''un autre joueur.
|
||||
@@ -759,8 +830,6 @@ noPlacePermission=§cVous n''avez pas la permission de placer un bloc près de c
|
||||
noPotionEffectPerm=§4Vous n''avez pas la permission d''appliquer l''effet §c{0} §4à cette potion.
|
||||
noPowerTools=§6Vous n''avez pas d''outil macro associé.
|
||||
notAcceptingPay=§4{0} §4n''accepte pas le paiement.
|
||||
notAllowedToQuestion=§cVous n''êtes pas autorisé à poser des questions.
|
||||
notAllowedToShout=§cVous n''êtes pas autorisé à crier.
|
||||
notEnoughExperience=§4Vous n''avez pas assez d''expérience.
|
||||
notEnoughMoney=§4Vous n''avez pas les fonds nécessaires.
|
||||
notFlying=ne vole pas
|
||||
@@ -771,6 +840,7 @@ nuke=§5Que la mort s''abatte sur eux \!
|
||||
nukeCommandDescription=Que la mort s''abatte sur ce joueur.
|
||||
nukeCommandUsage=/<command> [joueur]
|
||||
nukeCommandUsage1=/<command> [joueurs...]
|
||||
nukeCommandUsage1Description=Envoie une nuke sur tous les joueurs ou un autre joueur, si spécifié
|
||||
numberRequired=Un nombre est requis ici.
|
||||
onlyDayNight=/time ne supporte que day/night (jour/nuit).
|
||||
onlyPlayers=§4Seul les joueurs en jeu peuvent utiliser §c{0}§4.
|
||||
@@ -818,6 +888,14 @@ playerTempBanned=§6Le joueur §c{0}§6 a banni temporairement §c{1}§6 pendant
|
||||
playerUnbanIpAddress=§6Le joueur§c {0} §6a débanni l''adresse IP \:§c {1}
|
||||
playerUnbanned=§6Le joueur§c {0} §6a débanni§c {1}
|
||||
playerUnmuted=§6Vous avez de nouveau la parole.
|
||||
playtimeCommandDescription=Affiche le temps joué par un joueur
|
||||
playtimeCommandUsage=/<command> [joueur]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Affiche votre temps de jeu
|
||||
playtimeCommandUsage2=/<command> <joueur>
|
||||
playtimeCommandUsage2Description=Affiche le temps joué par le joueur spécifié
|
||||
playtime=§7Temps de jeu \:§c {0}
|
||||
playtimeOther=§7Temps de jeu de {1}\:§c {0}
|
||||
pong=Pong \!
|
||||
posPitch=§6Pitch \: {0} (Angle de tête)
|
||||
possibleWorlds=§6Les mondes possibles sont les nombres de §c0§6 à §c{0}§6.
|
||||
@@ -848,11 +926,15 @@ powerToolsEnabled=§6Toutes vos commandes assignées sur des outils macros ont
|
||||
powertoolCommandDescription=Assigne une commande à l''objet en main.
|
||||
powertoolCommandUsage=/<command> [l\:|a\:|r\:|c\:|d\:][commande] [arguments] - {player} peut être remplacé par le pseudo du joueur sur lequel vous cliquez.
|
||||
powertoolCommandUsage1=/<command> l\:
|
||||
powertoolCommandUsage1Description=Liste tous les powertools sur l''élément tenu
|
||||
powertoolCommandUsage2=/<command> d\:
|
||||
powertoolCommandUsage2Description=Supprime tous les powertools de l''élément tenu
|
||||
powertoolCommandUsage3=/<command> r\:<cmd>
|
||||
powertoolCommandUsage3Description=Supprime la commande donnée de l''objet tenu en main
|
||||
powertoolCommandUsage4=/<command> <cmd>
|
||||
powertoolCommandUsage4Description=Définit la commande powertool de l''élément tenu à la commande donnée
|
||||
powertoolCommandUsage5=/<command> a\:<cmd>
|
||||
powertoolCommandUsage5Description=Ajoute la commande powertool donnée à l''élément conservé
|
||||
powertooltoggleCommandDescription=Active ou désactive tous les outils macros actuels.
|
||||
powertooltoggleCommandUsage=/<command>
|
||||
ptimeCommandDescription=Ajuster le temps personnel du joueur. Ajouter le préfixe @ pour corriger.
|
||||
@@ -931,6 +1013,7 @@ repairCommandUsage2Description=Répare tous les objets dans votre inventaire
|
||||
repairEnchanted=§7Vous n''êtes pas autorisé à réparer les objets enchantés.
|
||||
repairInvalidType=§4Cet objet ne peut pas être réparé.
|
||||
repairNone=§4Aucun objet ne nécessite de réparation.
|
||||
replyFromDiscord=**Réponse de {0}\:** `{1}`
|
||||
replyLastRecipientDisabled=§6Répondre au dernier destinataire du message \: §cdésactivé§6.
|
||||
replyLastRecipientDisabledFor=§6Répondre au dernier destinataire du message §cdésactivé §6pour §c{0}§6.
|
||||
replyLastRecipientEnabled=§6Répondre au dernier destinataire du message \: §cactivé§6.
|
||||
@@ -1203,10 +1286,10 @@ tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Annule toutes vos demandes de téléportation en attente
|
||||
tpacancelCommandUsage2=/<command> <joueur>
|
||||
tpacancelCommandUsage2Description=Annule toutes vos demandes de téléportation en attente avec le joueur spécifié
|
||||
tpacceptCommandDescription=Accepte une requête de téléportation.
|
||||
tpacceptCommandUsage=/<command> [autre joueur]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Accepte une demande de téléportation entrante
|
||||
tpacceptCommandUsage2=/<command> <joueur>
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpahereCommandDescription=Envoie une requête au joueur spécifié pour qu''il se téléporte à vous.
|
||||
tpahereCommandUsage=/<command> <joueur>
|
||||
tpahereCommandUsage1=/<command> <joueur>
|
||||
@@ -1219,10 +1302,10 @@ tpautoCommandDescription=Accepte automatiquement les requêtes de téléportatio
|
||||
tpautoCommandUsage=/<command> [joueur]
|
||||
tpautoCommandUsage1=/<command> [joueur]
|
||||
tpautoCommandUsage1Description=Active/désactive l''acceptation automatique des requêtes tpa pour vous ou pour un autre joueur si spécifié
|
||||
tpdenyCommandDescription=Rejette une requête de téléportation.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Rejette une demande de téléportation entrante
|
||||
tpdenyCommandUsage2=/<command> <joueur>
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tphereCommandDescription=Téléporte un joueur à votre position.
|
||||
tphereCommandUsage=/<command> <joueur>
|
||||
tphereCommandUsage1=/<command> <joueur>
|
||||
@@ -1334,6 +1417,7 @@ versionOutputFine=§6Version {0} \: §a{1}
|
||||
versionOutputWarn=§6Version {0} \: §c{1}
|
||||
versionOutputUnsupported=§6Version §d{0} \: §d{1}
|
||||
versionOutputUnsupportedPlugins=§6Vous utilisez des §dplugins non pris en charge§6 \!
|
||||
versionOutputEconLayer=§6Économie \: §r{0}
|
||||
versionMismatch=Versions différentes \! Veuillez mettre {0} à la même version.
|
||||
versionMismatchAll=§4Versions différentes \! Veuillez mettre à jour tous les jars Essentials à la même version.
|
||||
versionReleaseLatest=§6Vous utilisez la dernière version stable d''EssentialsX \!
|
||||
|
||||
@@ -75,6 +75,7 @@ cleaning=מנקה את פרטי המשתמש.
|
||||
clearinventoryCommandUsage1=/<command>
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandFailed=פקודה {0} נכשלה\:
|
||||
commandHelpFailedForPlugin=שגיאה בקבלת עזרה לפלאגין\: {0}
|
||||
@@ -87,6 +88,7 @@ connectedPlayers=§6 התחברו שחקנים §r
|
||||
connectionFailed=נכשל פתיחת חיבור.
|
||||
cooldownWithMessage=§4 הפסקה\: {0}
|
||||
couldNotFindTemplate=§4 לא הצליח למצוא template {0}
|
||||
createKitSeparator=§m-----------------------
|
||||
creatingConfigFromTemplate=יוצר קונפינג מ template\: {0}
|
||||
creatingEmptyConfig=יוצר קונפינג ריק\: {0}
|
||||
creative=יצירתי
|
||||
@@ -103,8 +105,11 @@ denyBookEdit=\n§4אינך יכול לבטל את הנעילה מספר זה.\n
|
||||
denyChangeAuthor=\n§4אינך יכול לשנות את מחבר ספר זה.\n
|
||||
denyChangeTitle=\n§4אינך יכול לשנות את שם ספר זה.\n
|
||||
depth=§6אתה בגובה הים.
|
||||
depthCommandUsage=/depth
|
||||
disabled=מופסק
|
||||
disabledToSpawnMob=\n§4שיגור mob זה בוטל בקובץ הקונפיג.\n
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
disposalCommandUsage=/<command>
|
||||
dontMoveMessage=\n§6שיגור יתבצע בעוד§c {0}§6. אל תזוז.\n
|
||||
durability=\n§6לחפץ זה יש §c{0}§6 שימושים שנותרו.\n
|
||||
@@ -170,6 +175,7 @@ hour=שעה
|
||||
hours=שעות
|
||||
iceCommandUsage=שחקן
|
||||
iceCommandUsage1=/<command>
|
||||
iceCommandUsage3=/<command> *
|
||||
illegalDate=תבנית תאריך לא חוקית.
|
||||
infoChapter=§6בחר פרק\:
|
||||
infoUnknownChapter=\n§4נתון לא ידוע.\n
|
||||
@@ -229,6 +235,7 @@ listHiddenTag=\n§7[מוסתר]§r\n
|
||||
loadWarpError=\n§4שגיאה בניסיון לטעון שיגור {0}.\n
|
||||
loomCommandUsage=/<command>
|
||||
mailCleared=\n§6דואר נוקה\!\n
|
||||
mailMessage={0}
|
||||
mailSent=\n§6דואר נשלח\!\n
|
||||
markMailAsRead=\n§6בשביל לסמן את כל הדואר כנקרא , רשום§c /mail clear§6.\n
|
||||
matchingIPAddress=\n§6השחקנים הבאים התחברו בפעמים קודמות מכתובת האייפי הבאה\:\n
|
||||
@@ -265,8 +272,6 @@ noPermToSpawnMob=\n§4אין לך הרשאה לזמן את חיה זו.\n
|
||||
noPlacePermission=\n§4אין לך הרשאות לבנות ליד שלט זה.\n
|
||||
noPotionEffectPerm=\n§4אין לך הרשאות להפעיל אפקט זה §c{0} §4לשיקוי זה.\n
|
||||
noPowerTools=\n§6אין לך כוחות רשומים.\n
|
||||
notAllowedToQuestion=\n§4אינך רשאי להשתמש בשאלה.\n
|
||||
notAllowedToShout=\n§4אינך רשאי לפרסם הכרזה.\n
|
||||
notEnoughExperience=\n§4אין לך מספיק רמות.\n
|
||||
notEnoughMoney=\n§4אין לך מספיק כסף.\n
|
||||
notFlying=לא עף
|
||||
@@ -276,7 +281,7 @@ noWarpsDefined=\n§6אין שיגורים.\n
|
||||
nuke=\n§5גשם מוות הופעל.\n
|
||||
nukeCommandUsage=שחקן
|
||||
numberRequired=מספר הולך לשם, טיפשי
|
||||
onlyDayNight=\n/זמן תומך רק יום/לילה.\n
|
||||
onlyDayNight=/time תומך רק יום/לילה.
|
||||
onlyPlayers=\n§4רק שחקנים במשחק יכולים להשתמש ב §c{0}§4.\n
|
||||
onlyPlayerSkulls=\n§4אתה יכול רק להגדיר את הבעלים של הראש (§c397\:3§4).\n
|
||||
onlySunStorm=\n§4/מזג אוויר תומך רק שמש/סופה.\n
|
||||
@@ -294,6 +299,8 @@ playerJailed=\n§6השחקן§c {0} §6נכנס לכלא.\n
|
||||
playerMuted=\n§6כעת אתה מושתק\!\n
|
||||
playerNeverOnServer=\n§4השחקן§c {0} §4אף פעם לא התחבר לשרת זה.\n
|
||||
playerNotFound=§4שחקן לא נמצא.
|
||||
playtimeCommandUsage=שחקן
|
||||
playtimeCommandUsage1=/<command>
|
||||
pong=פונג\!
|
||||
powerToolAir=§4פקודה לא יכולה להיות מצורפת לאוויר.
|
||||
powerToolAlreadySet=§4הפקודה §c{0}§4 כבר רשומה ב §c{1}§4.
|
||||
@@ -338,6 +345,8 @@ setBalOthers=\n§aשינית לשחקן {0}§a''s את כמות הכסף ל {1}.
|
||||
setSpawner=\n§6סוג המשגר שונה ל §c {0}§6.\n
|
||||
sheepMalformedColor=\n§4צבע פגום.\n
|
||||
shoutFormat=§6[הכרזה]§r {0}
|
||||
signFormatFail=§4[{0}]
|
||||
signFormatSuccess=§1[{0}]
|
||||
signFormatTemplate=[{0}]
|
||||
signProtectInvalidLocation=\n§4אינך יכול ליצור שלט כאן.\n
|
||||
similarWarpExist=\n§4השיגור בשם זה כבר קיים.\n
|
||||
@@ -375,17 +384,20 @@ topCommandUsage=/<command>
|
||||
tpacancelCommandUsage=שחקן
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpallCommandUsage=שחקן
|
||||
tpallCommandUsage1=שחקן
|
||||
tpautoCommandUsage=שחקן
|
||||
tpautoCommandUsage1=שחקן
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tprCommandUsage=/<command>
|
||||
tprCommandUsage1=/<command>
|
||||
tptoggleCommandUsage1=שחקן
|
||||
treeSpawned=§6עץ זומן.
|
||||
vanishCommandUsage1=שחקן
|
||||
warpList={0}
|
||||
west=מערב
|
||||
whoisTop=§6 \=\=\=\=\=\= מי זה\:§c {0} §6\=\=\=\=\=\=
|
||||
workbenchCommandUsage=/<command>
|
||||
|
||||
@@ -109,6 +109,8 @@ depthBelowSea=§6Vi ste§c {0} §6blok(ova) ispod razine mora.
|
||||
destinationNotSet=Destinacija nije postavljena\!
|
||||
disabled=isključen
|
||||
disabledToSpawnMob=§4Stvaranje ovoga moba je iskljuceno u konfiguraciji.
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
disposalCommandUsage=/<command>
|
||||
distance=§6Udaljenost\: {0}
|
||||
dontMoveMessage=Teleportacija ce zapoceti za {0} sekundi.
|
||||
@@ -309,8 +311,6 @@ noPermToSpawnMob=&7Nemas dozvolz mrijest ovaj mob.
|
||||
noPlacePermission=&7Nemas dozvolu da postavis block blizu znaka.
|
||||
noPotionEffectPerm=§4Nemas dozvolu da pridodas efekt§c{0} §4ovom potionu.
|
||||
noPowerTools=&7Nemas dovoljnu moc da ovo napravis.
|
||||
notAllowedToQuestion=%4Niste ovlasteni da koristite pitanje.
|
||||
notAllowedToShout=&4Niste ovlasteni da vicete.
|
||||
notEnoughExperience=§4Nemaš dovoljno iskustva.
|
||||
notEnoughMoney=§4Nemas dovoljno novca.
|
||||
notFlying=&7ne letis
|
||||
@@ -336,6 +336,7 @@ playerMuted=§6Mutan si\!
|
||||
playerNeverOnServer=&7Igrac &3{0} &7nikad nije bio na ovom serveru.
|
||||
playerNotFound=§4Igrac nije pronađen.
|
||||
playerUnmuted=§6Unmutan si.
|
||||
playtimeCommandUsage1=/<command>
|
||||
pong=&3Strong-Pvperzzz &7<333\!
|
||||
posPitch=Nagib\: {0} (Kut glave)
|
||||
possibleWorlds=§6Mogući svjetovi su brojevi §c0§6 kroz §c{0}§6.
|
||||
|
||||
@@ -126,7 +126,6 @@ cantReadGeoIpDB=Nem sikerült beolvasni a GeoIP adatbázist\!
|
||||
cantSpawnItem=§4Nincs engedélyed, hogy lekérd a következő tárgyat\:§c {0}§4.
|
||||
cartographytableCommandDescription=Megnyit egy térképasztalt.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeSpy=§2[Kém]§r
|
||||
cleaned=Játékos fájlok Törölve.
|
||||
cleaning=Játékos fájlok tisztítása.
|
||||
@@ -143,6 +142,7 @@ clearinventoryCommandUsage3Description=Törli az összes (vagy a meghatározott
|
||||
clearinventoryconfirmtoggleCommandDescription=Megváltoztatja, hogy kérjen-e megerősítést az eszköztár törlésekhez.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cEzt a parancsot nem lehet beírni\: {0}.
|
||||
commandDisabled=§cA(z)§6 {0}§c parancs letiltva.
|
||||
@@ -181,6 +181,7 @@ createkitCommandUsage1Description=Készít egy csomagot egy megadott névvel és
|
||||
createKitFailed=§4Hiba történt a csomag létrehozásakor {0}.
|
||||
createKitSeparator=§m-----------------------
|
||||
createKitSuccess=§6Csomag létrehozva\: §f{0}\n§6Késleltetés\: §f{1}\n§6Link\: §f{2}\n§6A fenti hivatkozás tartalmának másolása a kits.yml-be.
|
||||
createKitUnsupported=§4 Az NBT -elemek sorosítása engedélyezve van, de ez a szerver nem futtatja az 1.15.2+ PAPER-t. Visszatérés a szabványos tételek sorba állításához.
|
||||
creatingConfigFromTemplate=Konfig létrehozása sablonból\: {0}
|
||||
creatingEmptyConfig=Üres konfig létrehozása\: {0}
|
||||
creative=kreatív
|
||||
@@ -231,10 +232,37 @@ destinationNotSet=A cél nem lett beállítva\!
|
||||
disabled=letiltva
|
||||
disabledToSpawnMob=§4Ennek az élőlénynek a lehívása jelenleg le van tiltva a konfig fájlban.
|
||||
disableUnlimited=§6Letiltva korlátlan számú lerakás§c {0} {1}§6.
|
||||
discordbroadcastCommandDescription=Üzenetet küld a megadott Discord csatornára.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=A megadott üzenetet a megadott Discord csatornára küldi
|
||||
discordbroadcastInvalidChannel=§4Discord csatorna §c{0}§4 nem létezik.
|
||||
discordbroadcastPermission=§4 Nincs jogod üzenetek küldésére a §c{0}§4 csatornára.
|
||||
discordbroadcastSent=6. §6Üzenet küldve a §c{0}§6-nak/nek\!
|
||||
discordCommandLink=§6Csatlakozz a Discord szerverünkhöz itt\: §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandExecuteDescription=Végrehajt egy konzol parancsot a Minecraft szerveren.
|
||||
discordCommandExecuteArgumentCommand=A parancs végrehajtva
|
||||
discordCommandExecuteReply=Parancs végrehajtása\: "/{0}"
|
||||
discordCommandListDescription=Lekér egy listát az online játékosokról.
|
||||
discordCommandListArgumentGroup=Egy adott csoport, amelyre korlátozza a keresést
|
||||
discordCommandMessageDescription=Üzenetet küld egy játékosnak a Minecraft szerveren.
|
||||
discordCommandMessageArgumentUsername=A játékos, akinek az üzenetet küldi
|
||||
discordCommandMessageArgumentMessage=Az üzenet amit a játékosnak küld
|
||||
discordErrorCommand=Helytelenül adta hozzá BOTját a szerveréhez. Kérjük, kövesse a konfigurációs útmutatót, és adja hozzá BOTját a https\://essentialsx.net/discord.html használatával\!
|
||||
discordErrorCommandDisabled=Ez a parancs le van tiltva\!
|
||||
discordErrorLogin=Hiba történt a Discordba való bejelentkezéskor, ami miatt a plugin letiltotta magát\:\n{0}
|
||||
discordErrorLoggerInvalidChannel=A Discord konzol naplózása érvénytelen csatorna -definíció miatt le van tiltva\! Ha letiltani kívánja, állítsa a csatornaazonosítót "nincs" értékre; Ellenkező esetben ellenőrizze, hogy a csatornaazonosító helyes -e.
|
||||
discordErrorLoggerNoPerms=A Discord konzol logger le van tiltva elégtelen engedélyek miatt\! Kérjük, győződjön meg arról, hogy BOTja rendelkezik a "Webhooks kezelése" jogosultságokkal a szerveren. A javítás után futtassa az "/ess reload" parancsot.
|
||||
discordErrorNoGuild=Érvénytelen vagy hiányzó szerver -azonosító\! Kérjük, kövesse a konfigurációs útmutatót a Plugin beállításához.
|
||||
discordErrorNoGuildSize=A BOTja nincs a szervereken\! Kérjük, kövesse a konfigurációs útmutatót a Plugin beállításához.\n\n
|
||||
discordErrorNoPerms=A BOTja nem látja vagy nem tud beszélni egyetlen csatornán sem\! Kérjük, győződjön meg arról, hogy a BOT olvasási és írási jogosultsággal rendelkezik minden használni kívánt csatornán.
|
||||
discordErrorNoToken=Token nincs megadva\! Kérjük, kövesse a konfigurációs útmutatót a Plugin beállításához.
|
||||
discordErrorWebhook=Hiba történt üzenetek küldése közben a konzol csatornájára\! Ezt valószínűleg a konzol webhookjának véletlen törlése okozta. Ez általában javítható úgy, hogy a BOT rendelkezik a "Webhooks kezelése" jogosultsággal és ez után futtassa le a "/ess reload" parancsot.
|
||||
discordLoggingIn=Belépés a Discordba...
|
||||
discordLoggingInDone=Sikeresen belépve mint {0}
|
||||
discordNoSendPermission=Nem lehet üzenetet küldeni a csatornán\: \#{0} Győződjön meg arról, hogy a BOT rendelkezik az "Üzenetek küldése" engedéllyel az adott csatornán\!
|
||||
discordReloadInvalid=Megpróbálta újratölteni az EssentialsX Discord konfigurációt, amíg a plugin érvénytelen állapotban van\! Ha módosította a konfigurációt, indítsa újra a szervert.
|
||||
disposal=Szemetes
|
||||
disposalCommandDescription=Megnyit egy hordozható szemetes menüt.
|
||||
@@ -242,6 +270,12 @@ disposalCommandUsage=/<command>
|
||||
distance=§6Távolság\: {0}
|
||||
dontMoveMessage=§6A teleportálás elkezdődik§c {0}en§6 belül. Ne mozogj.
|
||||
downloadingGeoIp=GeoIP adatbázis letöltése folyamatban... Eltarthat egy kis ideig (ország\: 1.7 MB, város\: 30MB)
|
||||
dumpConsoleUrl=Létrejött egy szerver dump\: §c {0}
|
||||
dumpCreating=6. §Szerver dump létrehozása ...
|
||||
dumpDeleteKey=§6Ha később szeretné törölni ezt a dump-ot, használja a következő törlési kulcsot\: §c {0}
|
||||
dumpError=§4Hiba a dump létrehozásakor §c {0} §4.
|
||||
dumpErrorUpload=§4Hiba a feltöltés közben\: §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Létrehozott szerver dump\: §c {0}
|
||||
duplicatedUserdata=Duplikált felhasználói adatok\: {0} és {1}.
|
||||
durability=§6Ez az eszköz még §c{0}§6 használatig bírja.
|
||||
east=K
|
||||
@@ -277,10 +311,22 @@ errorCallingCommand=Hiba a parancs meghívásakor /{0}
|
||||
errorWithMessage=§cHiba\:§4 {0}
|
||||
essentialsCommandDescription=Essentials újratöltése.
|
||||
essentialsCommandUsage=/<command>
|
||||
essentialsCommandUsage1=/<command> újratöltés
|
||||
essentialsCommandUsage1Description=Essentials konfig újratöltve
|
||||
essentialsCommandUsage2=/<command> verzió
|
||||
essentialsCommandUsage2Description=Információt ad az Essentials verziójáról
|
||||
essentialsCommandUsage3=/<command> parancsok
|
||||
essentialsCommandUsage3Description=Információt ad arról, hogy az Essentials milyen parancsokat továbbít
|
||||
essentialsCommandUsage4=/<command> debug
|
||||
essentialsCommandUsage4Description=Átválltja az Essentials'' "debug mode"-ját
|
||||
essentialsCommandUsage5=/<command> reset <player>
|
||||
essentialsCommandUsage5Description=Visszaállítja a megadott játékos felhasználói adatait
|
||||
essentialsCommandUsage6=/<command> cleanup
|
||||
essentialsCommandUsage6Description=Törli a régi felhasználói adatokat
|
||||
essentialsCommandUsage7=/<command> homes
|
||||
essentialsCommandUsage7Description=A felhasználói HOME-ok kezelése
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Szerver dump-ot generál a kért információkkal
|
||||
essentialsHelp1=A fájl sérült, és az Essentials nem tudja megnyitni. Az Essentials most le van tiltva. Ha nem tudja megjavítani a fájlt, akkor látogasson el a http\://tiny.cc/EssentialsChat webhelyre
|
||||
essentialsHelp2=A fájl sérült, és az Essentials nem tudja megnyitni. Az Essentials most le van tiltva. Ha nem tudja megjavítani a fájlt, írja be a /essentialshelp parancsot a játékban, vagy látogassan el a http\://tiny.cc/EssentialsChat webhelyre
|
||||
essentialsReload=§6Essentials újratöltve§c {0}.
|
||||
@@ -289,8 +335,11 @@ expCommandDescription=Adj hozzá, állítsd be, állítsd vissza, vagy nézd meg
|
||||
expCommandUsage=/<command> [reset|show|set|give] [játékosnév [mennyiség]]
|
||||
expCommandUsage1=/<command> give <játékos> <mennyiség>
|
||||
expCommandUsage1Description=Ad a megadott játékosnak egy megadott mennyiségű xp-t
|
||||
expCommandUsage2=/<command> set <playername> <amount>
|
||||
expCommandUsage2Description=Beállítja a megadott játékosnak a megadott mennyiségű xp-t
|
||||
expCommandUsage3=/<command> show <playername>
|
||||
expCommandUsage4Description=Megjeleníti a megadott játékos xp szintjét
|
||||
expCommandUsage5=/<command> reset <playername>
|
||||
expCommandUsage5Description=Visszaállítja a megadott játékos xp-jét 0-ra
|
||||
expSet=§c{0}-nak/nek §6most van§c {1} §6xp-je.
|
||||
extCommandDescription=Játékosok eloltása.
|
||||
@@ -314,12 +363,14 @@ fireballCommandDescription=Egy tűzlabdát vagy más válogatott lövedéket dob
|
||||
fireballCommandUsage=/<command> [fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident] [sebesség]
|
||||
fireballCommandUsage1=/<command>
|
||||
fireballCommandUsage1Description=Kilősz egy normál tűzgolyót a helyzetedről
|
||||
fireballCommandUsage2=/<command> <fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident> [speed]
|
||||
fireworkColor=§4Érvénytelen tűzijáték-töltési paramétereket adtál meg, először a színt kell beállítani.
|
||||
fireworkCommandDescription=Lehetővé teszi a tűzijáték-halom módosítását.
|
||||
fireworkCommandUsage=/<command> <<meta param>|power [mennyiség]|clear|fire [mennyiség]>
|
||||
fireworkCommandUsage4Description=A kezedben tartott tüzijátékhoz hozzáadja a megadott effektet
|
||||
fireworkEffectsCleared=§6Az összes effekt eltávolítva a tartott halomról.
|
||||
fireworkSyntax=§6Tűzijáték paraméterek\:§c color\:<color> [fade\:<color>] [shape\:<shape>] [effect\:<effect>]\n§6Több szín/effektus használatához vesszővel kell elválasztani az értékeket. pl.\: §cred,blue,pink\n§6Alakzatok\:§c star, ball, large, creeper, burst §6Effektek\:§c trail, twinkle.
|
||||
fixedHomes=Érvénytelen HOME-ok törölve
|
||||
flyCommandDescription=Szállj fel, és repülj\!
|
||||
flyCommandUsage=/<command> [játékos] [on|off]
|
||||
flyCommandUsage1=/<command> [játékos]
|
||||
@@ -560,7 +611,6 @@ listCommandUsage1=/<command> [rang]
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[REJTETT]§r
|
||||
loadWarpError=§4Nem sikerült a warp betöltése {0}.
|
||||
localFormat=[H]<{0}> {1}
|
||||
loomCommandDescription=Megnyit egy szövőszéket.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Hogy töröld a leveled, írd be§c /mail clear§6.
|
||||
@@ -684,8 +734,6 @@ noPlacePermission=§4Nincs jogosultságod egy blokknak a tábla közelében elhe
|
||||
noPotionEffectPerm=§4Nincs jogosultságod a főzet effekt alkalmazására §c{0} §4ennél a főzetnél.
|
||||
noPowerTools=§6Nincsenek power tools hozzárendeléseid.
|
||||
notAcceptingPay=§4{0} §4nem fogad el fizetést.
|
||||
notAllowedToQuestion=§4Nem vagy jogosult a kérdés használatára.
|
||||
notAllowedToShout=§4Nem vagy jogosult kiáltani.
|
||||
notEnoughExperience=§4Nincs elég tapasztalatod.
|
||||
notEnoughMoney=§4Nincs elegendő pénzed.
|
||||
notFlying=nem repül
|
||||
@@ -740,6 +788,9 @@ playerTempBanned=§c{0}§6 ideiglenesen kitiltva §c{1} {2}§6-ra/-re\: §c{3}§
|
||||
playerUnbanIpAddress=§c{0} §6feloldotta a következő IP cím tiltását\:§c {1}
|
||||
playerUnbanned=§c{0} §6feloldotta§c {1}§6 tiltását
|
||||
playerUnmuted=§6Fel lett oldva a lenémításod.
|
||||
playtimeCommandUsage=/<command> [játékos]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage2=/<command> <játékos>
|
||||
pong=Pong\!
|
||||
posPitch=§6Szög\: {0} (Fej szöge)
|
||||
possibleWorlds=§6Lehetséges világok a száma §c0§6 keresztül §6§c{0}.
|
||||
@@ -1021,9 +1072,9 @@ tpacancelCommandDescription=Törölje az összes fennálló teleport-kérést. A
|
||||
tpacancelCommandUsage=/<command> [játékos]
|
||||
tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage2=/<command> <játékos>
|
||||
tpacceptCommandDescription=Egy teleport kérés elfogadása.
|
||||
tpacceptCommandUsage=/<command> [másikjátékos]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage2=/<command> <játékos>
|
||||
tpahereCommandDescription=Kérj meg egy megadott játékost, hogy teleportáljon hozzád.
|
||||
tpahereCommandUsage=/<command> <játékos>
|
||||
tpahereCommandUsage1=/<command> <játékos>
|
||||
@@ -1033,9 +1084,9 @@ tpallCommandUsage1=/<command> [játékos]
|
||||
tpautoCommandDescription=A teleportálás kérelmek automatikus elfogadása.
|
||||
tpautoCommandUsage=/<command> [játékos]
|
||||
tpautoCommandUsage1=/<command> [játékos]
|
||||
tpdenyCommandDescription=Egy teleport kérés elutasítása.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage2=/<command> <játékos>
|
||||
tphereCommandDescription=Teleportálj egy játékost magadhoz.
|
||||
tphereCommandUsage=/<command> <játékos>
|
||||
tphereCommandUsage1=/<command> <játékos>
|
||||
|
||||
@@ -126,7 +126,7 @@ cantReadGeoIpDB=Lettura del database GeoIP fallita\!
|
||||
cantSpawnItem=§4Non hai il permesso di generare l''oggetto§c {0}§4.
|
||||
cartographytableCommandDescription=Apre una tabella cartografica.
|
||||
cartographytableCommandUsage=/<command>
|
||||
chatTypeLocal=[L]
|
||||
chatTypeLocal=§3[L]
|
||||
chatTypeSpy=[Spia]
|
||||
cleaned=File utente puliti.
|
||||
cleaning=Pulizia dei file utente in corso.
|
||||
@@ -143,6 +143,7 @@ clearinventoryCommandUsage3Description=Cancella tutto (o l''importo specificato)
|
||||
clearinventoryconfirmtoggleCommandDescription=Determina se ti viene chiesto di confermare la cancellazione dell''inventario.
|
||||
clearinventoryconfirmtoggleCommandUsage=/<command>
|
||||
commandArgumentOptional=§7
|
||||
commandArgumentOr=§c
|
||||
commandArgumentRequired=§e
|
||||
commandCooldown=§cNon puoi digitare questo comando per {0}.
|
||||
commandDisabled=§cIl comando§6 {0}§c è disabilitato.
|
||||
@@ -232,6 +233,18 @@ destinationNotSet=Destinazione non impostata\!
|
||||
disabled=disabilitato
|
||||
disabledToSpawnMob=§4La creazione di questo mob è stata disabilitata nel file configurazione.
|
||||
disableUnlimited=§6Disabilitato il posizionamento illimitato di §c {0} §6per§c {1}§6.
|
||||
discordbroadcastCommandDescription=Trasmette un messaggio al canale Discord specificato.
|
||||
discordbroadcastCommandUsage=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1=/<command> <channel> <msg>
|
||||
discordbroadcastCommandUsage1Description=Invia il messaggio dato al canale Discord specificato
|
||||
discordbroadcastInvalidChannel=§4Il canale Discord §c{0}§4 non esiste.
|
||||
discordbroadcastPermission=§4Non hai il permesso di inviare messaggi al canale §c{0}§4.
|
||||
discordbroadcastSent=§6Messaggio inviato a §c{0}§6\!
|
||||
discordCommandDescription=Invia link di invito per Discord al giocatore.
|
||||
discordCommandLink=§6Unisciti al nostro server Discord a §c{0}§6\!
|
||||
discordCommandUsage=/<command>
|
||||
discordCommandUsage1=/<command>
|
||||
discordCommandUsage1Description=Invia link di invito per Discord al giocatore
|
||||
discordCommandExecuteDescription=Esegue un comando console sul server di Minecraft.
|
||||
discordCommandExecuteArgumentCommand=Il comando da eseguire
|
||||
discordCommandExecuteReply=Esecuzione comando\: "/{0}"
|
||||
@@ -248,6 +261,8 @@ discordErrorLoggerNoPerms=Il logger della console Discord è stato disabilitato
|
||||
discordErrorNoGuild=ID server non valido o mancante\! Si prega di seguire il tutorial nella configurazione per configurare il plugin.
|
||||
discordErrorNoGuildSize=Il tuo bot non è presente in nessun server\! Segui il tutorial nella configurazione per configurare il plugin.
|
||||
discordErrorNoPerms=Il tuo bot non può vedere o parlare in alcun canale\! Assicurati che il tuo bot abbia i permessi di lettura e scrittura in tutti i canali che desideri utilizzare.
|
||||
discordErrorNoPrimary=Non hai definito un canale primario o il canale primario definito non è valido. Rientro al canale predefinito\: \#{0}.
|
||||
discordErrorNoPrimaryPerms=Il tuo bot non può parlare nel tuo canale principale, \#{0}. Assicurati che il tuo bot abbia i permessi di lettura e scrittura in tutti i canali che desideri utilizzare.
|
||||
discordErrorNoToken=Nessun token fornito\! Si prega di seguire il tutorial nella configurazione per configurare il plugin.
|
||||
discordErrorWebhook=Si è verificato un errore durante l''invio dei messaggi al canale della console\! Probabilmente è stato causato dall''eliminazione accidentale del webhook della console. Questo di solito può essere risolto assicurando che il tuo bot abbia il permesso "Gestisci Webhooks" ed eseguendo "/ess reload".
|
||||
discordLoggingIn=Tentativo di accedere a Discord...
|
||||
@@ -260,6 +275,12 @@ disposalCommandUsage=/<command>
|
||||
distance=§6Distanza\: {0}
|
||||
dontMoveMessage=§7Il teletrasporto inizierà tra {0}. Non muoverti.
|
||||
downloadingGeoIp=Download del database GeoIP... potrebbe richiedere del tempo (nazione\: 1.7 MB, città\: 30MB)
|
||||
dumpConsoleUrl=È stato creato un dump del server\: §c{0}
|
||||
dumpCreating=§6Creazione di un backup server...
|
||||
dumpDeleteKey=§6Se vuoi eliminare questo dump in una data successiva, usa la seguente chiave di eliminazione\: §c{0}
|
||||
dumpError=§4Errore durante la creazione del dump §c{0}§4.
|
||||
dumpErrorUpload=§4Errore durante il caricamento di §c{0}§4\: §c{1}
|
||||
dumpUrl=§6Creato server dump\: §c{0}
|
||||
duplicatedUserdata=Dati dell''utente duplicati\: {0} e {1}
|
||||
durability=§6Questo attrezzo ha §c{0}§6 utilizzi rimasti
|
||||
east=E
|
||||
@@ -309,6 +330,8 @@ essentialsCommandUsage6=/<command> ripulire
|
||||
essentialsCommandUsage6Description=Pulisce vecchi dati utente
|
||||
essentialsCommandUsage7=/<command> case
|
||||
essentialsCommandUsage7Description=Gestisce le case utente
|
||||
essentialsCommandUsage8=/<command> dump [all] [config] [discord] [kits] [log]
|
||||
essentialsCommandUsage8Description=Genera un dump server con le informazioni richieste
|
||||
essentialsHelp1=Il file è corrotto ed Essentials non lo può aprire. Essentials è ora disabilitato. Se non riesci a riparare il file, vai su http\://tiny.cc/EssentialsChat
|
||||
essentialsHelp2=Il file è corrotto ed Essentials non lo può aprire. Essentials è ora disabilitato. Se non riesci a riparare il file, scrivi /essentialshelp in gioco o vai su http\://tiny.cc/EssentialsChat
|
||||
essentialsReload=§6Essentials ricaricato§c {0}.
|
||||
@@ -565,6 +588,9 @@ jailAlreadyIncarcerated=§4Giocatore già in prigione\:§c {0}
|
||||
jailList=§6Jails\:§r {0}
|
||||
jailMessage=§4Avrai tempo per riflettere... in prigione.
|
||||
jailNotExist=§4Quella prigione non esiste.
|
||||
jailNotifyJailed=§6Giocatore§c {0} §6imprigionato da §c{1}.
|
||||
jailNotifyJailedFor=§6Giocatore§c {0} §6imprigionato per§c {1}§6da §c{2}§6.
|
||||
jailNotifySentenceExtended=§6Il giocatore§c{0} §6tempo di prigione esteso a §c{1} §6di §c{2}§6.
|
||||
jailReleased=§6Il giocatore §c{0}§6 è stato scarcerato.
|
||||
jailReleasedPlayerNotify=§6Sei stato scarcerato\!
|
||||
jailSentenceExtended=§6Tempo di prigionia esteso a §c{0}§6.
|
||||
@@ -641,8 +667,9 @@ listCommandUsage1=/<command> [group]
|
||||
listCommandUsage1Description=Elenca tutti i giocatori sul server, o il gruppo indicato se specificato
|
||||
listGroupTag=§6{0}§r\:
|
||||
listHiddenTag=§7[NASCOSTO]§r
|
||||
listRealName=({0})
|
||||
loadWarpError=Fallito il caricamento del warp {0}
|
||||
localFormat=[L]<{0}> {1}
|
||||
localFormat=§3[L] §r<{0}> {1}
|
||||
loomCommandDescription=Apre un telaio.
|
||||
loomCommandUsage=/<command>
|
||||
mailClear=§6Per cancellare le mail lette, digita§c /mail clear§6.
|
||||
@@ -660,6 +687,8 @@ mailCommandUsage4=/<command> invia <message>
|
||||
mailCommandUsage4Description=Invia a tutti i giocatori il messaggio dato
|
||||
mailCommandUsage5=/<command> sendtemp <player> <expire time> <message>
|
||||
mailCommandUsage5Description=Invia al giocatore specificato il messaggio dato che scadrà nell''ora specificata
|
||||
mailCommandUsage6=/<command> Invio a tempo <expire time> <message>
|
||||
mailCommandUsage6Description=Invia a tutti i giocatori il messaggio dato che scadrà nell''ora specificata
|
||||
mailDelay=Hai mandato troppe mail nell''ultimo minuto. Massimo\: {0}
|
||||
mailFormatNew=§6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
mailFormatNewTimed=§6[§e\: attenzione\:§6] §6[§r{0}§6] §6[§r{1}§6] §r{2}
|
||||
@@ -749,6 +778,7 @@ nearCommandUsage3Description=Elenca tutti i giocatori nel raggio predefinito vic
|
||||
nearCommandUsage4=/<command> <player> <radius>
|
||||
nearCommandUsage4Description=Elenca tutti i giocatori nel raggio indicato dal giocatore specificato
|
||||
nearbyPlayers=Giocatori nelle vicinanze\: {0}
|
||||
nearbyPlayersList={0}§f(§c{1}m§f)
|
||||
negativeBalanceError=§4L''utente non ha il permesso di avere un bilancio negativo.
|
||||
nickChanged=§6Nickname modificato.
|
||||
nickCommandDescription=Cambia il tuo soprannome o quello di un altro giocatore.
|
||||
@@ -802,7 +832,8 @@ noPlacePermission=§4Non hai il permesso di piazzare un blocco accanto a questo
|
||||
noPotionEffectPerm=§4Non hai il permesso di applicare l''effetto §c{0} §4a questa pozione.
|
||||
noPowerTools=§6Non hai nessun power tool assegnato.
|
||||
notAcceptingPay=§4{0} §4non accetta pagamenti.
|
||||
notAllowedToQuestion=§4Non sei autorizzato a fare domande.
|
||||
notAllowedToLocal=§4Non hai il permesso di parlare in chat locale.
|
||||
notAllowedToQuestion=§4Non hai il permesso di usare la domanda.
|
||||
notAllowedToShout=§4Non hai il permesso di gridare.
|
||||
notEnoughExperience=§4Non hai abbastanza esperienza.
|
||||
notEnoughMoney=§4Non hai abbastanza soldi.
|
||||
@@ -862,6 +893,14 @@ playerTempBanned=§6Il giocatore §c{0}§6 ha temporaneamente bannato §c{1}§6
|
||||
playerUnbanIpAddress=§6Il giocatore§c {0} §6ha rimosso il ban dall''IP\:§c {1}
|
||||
playerUnbanned=§6Il giocatore§c {0} §6ha rimosso il ban da§c {1}
|
||||
playerUnmuted=§7Ti è stato rimosso il muteè.
|
||||
playtimeCommandDescription=Mostra il tempo di un giocatore giocato in partita
|
||||
playtimeCommandUsage=/<command> [player]
|
||||
playtimeCommandUsage1=/<command>
|
||||
playtimeCommandUsage1Description=Mostra il tuo tempo giocato in partita
|
||||
playtimeCommandUsage2=/<command> <player>
|
||||
playtimeCommandUsage2Description=Mostra il tempo del giocatore specificato giocato nella partita
|
||||
playtime=§6Tempo di gioco\:§c {0}
|
||||
playtimeOther=§6Tempo di gioco di {1}§6\:§c {0}
|
||||
pong=Pong\!
|
||||
posPitch=§6Inclinazione\: {0} (Angolo testa)
|
||||
possibleWorlds=§6I mondi possibili sono i numeri§c0§6 tra §c{0}§6.
|
||||
@@ -985,14 +1024,17 @@ replyLastRecipientDisabledFor=§6Risposta all''ultimo destinatario dei messaggi
|
||||
replyLastRecipientEnabled=§6Risposta all''ultimo destinatario dei messaggi §cabilitata§6.
|
||||
replyLastRecipientEnabledFor=§6Risposta all''ultimo destinatario del messaggio §abilitato §6per §c {0} §6.
|
||||
requestAccepted=§6Richiesta di teletrasporto accettata.
|
||||
requestAcceptedAll=§6Accettate §c{0} §6in attesa di richieste di teletrasporto(s).
|
||||
requestAcceptedAuto=§6Accettata automaticamente una richiesta di teletrasporto da {0}.
|
||||
requestAcceptedFrom=§c{0} §6ha accettato la tua richiesta di teletrasporto.
|
||||
requestAcceptedFromAuto=§c{0} §6accettata automaticamente la tua richiesta di teletrasporto.
|
||||
requestDenied=§6Richiesta di teletrasporto rifiutata.
|
||||
requestDeniedAll=§6Hai rifiutato §c{0} §6in attesa di richieste di teletrasporto(s).
|
||||
requestDeniedFrom=§c{0} §6Ha rifiutato la tua richiesta di teletrasporto.
|
||||
requestSent=§6Richiesta inviata a§c {0}§6.
|
||||
requestSentAlready=§4Hai già inviato a {0}§4 una richiesta di teletrasporto.
|
||||
requestTimedOut=§4Richiesta di telestrasporto scaduta.
|
||||
requestTimedOutFrom=§4La richiesta di teletrasporto da §c{0} §4è scaduta.
|
||||
resetBal=§6Il bilancio è stato resettato a §c{0} §6per tutti i giocatori in gioco.
|
||||
resetBalAll=§6Il bilancio è stato resettato a §c{0} §6per tutti i giocatori.
|
||||
rest=§6Ti senti ben riposato.
|
||||
@@ -1252,10 +1294,14 @@ tpacancelCommandUsage1=/<command>
|
||||
tpacancelCommandUsage1Description=Annulla tutte le tue richieste di teletrasporto in sospeso
|
||||
tpacancelCommandUsage2=/<command> <player>
|
||||
tpacancelCommandUsage2Description=Annulla tutta la tua richiesta di teletrasporto con il giocatore specificato
|
||||
tpacceptCommandDescription=Rifiuta una richiesta di teletrasporto.
|
||||
tpacceptCommandDescription=Accetta richieste di teletrasporto.
|
||||
tpacceptCommandUsage=/<command> [otherplayer]
|
||||
tpacceptCommandUsage1=/<command>
|
||||
tpacceptCommandUsage1Description=Accetta una richiesta di teletrasporto in arrivo
|
||||
tpacceptCommandUsage1Description=Accetta la richiesta di teletrasporto più recente
|
||||
tpacceptCommandUsage2=/<command> <player>
|
||||
tpacceptCommandUsage2Description=Accetta una richiesta di teletrasporto dal giocatore specificato
|
||||
tpacceptCommandUsage3=/<command> *
|
||||
tpacceptCommandUsage3Description=Accetta tutte le richieste di teletrasporto
|
||||
tpahereCommandDescription=Richiedi che il giocatore specificato ti teletrasporti.
|
||||
tpahereCommandUsage=/<command> <player>
|
||||
tpahereCommandUsage1=/<command> <player>
|
||||
@@ -1268,10 +1314,14 @@ tpautoCommandDescription=Accetta automaticamente le richieste di teletrasporto.
|
||||
tpautoCommandUsage=/<command> [player]
|
||||
tpautoCommandUsage1=/<command> [player]
|
||||
tpautoCommandUsage1Description=Commuta se le richieste di tpa sono accettate automaticamente per te o per un altro giocatore se specificato
|
||||
tpdenyCommandDescription=Rifiuta una richiesta di teletrasporto.
|
||||
tpdenyCommandDescription=Rifiuta le richieste di teletrasporto.
|
||||
tpdenyCommandUsage=/<command>
|
||||
tpdenyCommandUsage1=/<command>
|
||||
tpdenyCommandUsage1Description=Rifiuta una richiesta di teletrasporto in arrivo
|
||||
tpdenyCommandUsage1Description=Rifiuta la richiesta di teletrasporto più recente
|
||||
tpdenyCommandUsage2=/<command> <player>
|
||||
tpdenyCommandUsage2Description=Rifiuta una richiesta di teletrasporto dal giocatore specificato
|
||||
tpdenyCommandUsage3=/<command> *
|
||||
tpdenyCommandUsage3Description=Rifiuta tutte le richieste di teletrasporto
|
||||
tphereCommandDescription=Teletrasporta il player verso un warp.
|
||||
tphereCommandUsage=/<command> <player>
|
||||
tphereCommandUsage1=/<command> <player>
|
||||
|
||||
Loaded 100 of 189 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user