Compare commits

..
38 Commits
Author SHA1 Message Date
JRoy eb781a192b Release 2.21.2 2025-08-03 19:21:20 +01:00
Flask BotandMD 16f643a41f New Crowdin updates (#6225)
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>
2025-08-03 18:01:24 +00:00
Josh Roy c01ba4eec4 Bump adventure dependencies (#6243)
Fixes #6215
2025-07-30 19:17:53 +00:00
Josh Roy f4cd1c92e2 Discord: Fix custom bot name requiring show-avatar (#6239)
Fixes #5878. Caused by a regression from
384f63bf92, we were checking for for the
legacy options when we should really be checking if
`mc-to-discord-name-format` is anything other than the bot name.
2025-07-28 05:38:13 +00:00
Josh Roy d002c34fe8 Add version data extraction (#6235)
Will allow me to dynamically fetch the version for the site making it so
we don't have to update it every mc release
2025-07-27 07:10:47 +00:00
Josh Roy ff7c952715 Fix per-player locale for messages with arguments (#6227)
Fixes #6029
2025-07-20 19:01:58 +00:00
Josh Roy 0417624bda Fix local chat spy formatting (#6226)
Fixes #5828
2025-07-20 08:56:46 +00:00
Josh Roy 9ef4fc34c3 Update to Minecraft 1.21.8 (#6224) 2025-07-17 21:55:01 +00:00
Flask BotandMD 73da278b02 New Crowdin updates (#6143)
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>
2025-07-13 14:19:48 +00:00
Josh Roy e04f4888cd Fix inventory behavior with new body/saddle slot (#6218)
There are new slots that are persistent in the player inventory, the
saddle slot + the body slot, ignore them from our inventory
calculations.

Fixes #6216
2025-07-12 14:10:16 +00:00
Josh RoyandMD dfd83cfb0b Fix /tpr on legacy versions (#6212)
Commodore breaks this on legacy likely, use a provider to ensure we use
the old ABI...................i love legacy

Fixes #6211

---------

Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>
2025-07-12 14:09:07 +00:00
Josh Roy cc25a798fc Fix player commands option not working (#6214)
Fixes regression from 8d44d1ae7e
2025-07-10 06:24:24 +00:00
Josh Roy e39b61447b Fix numerous antibuild bypasses with signs (#6186)
Fix numerous antibuild bypasses when it came to breaking blocks that
signs were attached to

BOY DO WE NEED BALLOON TO CLEAN ALL THIS STUFF UP

Fixes #5784
Fixes #6173
2025-07-09 19:44:44 +00:00
b996a9f143 Fix formatCommand to handle empty args correctly (#6213)
<!--

EssentialsX bug fix submission guide
====================================

NOTE: Failure to fill out this template properly may result in your PR
being
      delayed or ignored without warning.

NOTE: Don't type between any arrows in the template, as this text will
be
hidden. This includes this header block and any other explanation text
      blocks.

Want to discuss your PR before submitting it? Join the EssentialsX
Development
server: https://discord.gg/CUN7qVb


EssentialsX is GPL
------------------

By contributing to EssentialsX, you agree to license your code under the
GNU General Public License version 3, which can be found at the link
below:
https://github.com/EssentialsX/Essentials/blob/2.x/LICENSE


Instructions
------------

If you are submitting a bug fix, please follow the following steps:

1.  Fill out the template in full.
This includes providing screenshots and a link to the original bug
report. If there isn't an existing bug report, we recommend opening a
new
detailed bug report BEFORE opening your PR to fix it, else your PR may
be
      delayed or rejected without warning.
      
      You can open a new bug report by following this link:
      https://github.com/EssentialsX/Essentials/issues/new/choose 

2.  When linking logs or config files, do not attach them to the post!
Copy and paste any logs into https://gist.github.com/, then paste a
link to them in the relevant parts of the template. Do not use Hastebin
      or Pastebin, as this can cause issues with future reviews.
      
DO NOT drag logs directly into this text box, as we cannot read these!

3.  If you are fixing a performance issue, please include a link to a
    Timings and/or profiler report, both before and after your PR.

4.  If you are fixing a visual bug, such as in commands, please include
    screenshots so that we can more easily review the proposed fix.
    (You can drag screenshots into the bottom of the editor.)

-->

### Information

<!--
Replace #nnnn with the number of the original issue. If this PR fixes
multiple issues, you should repeat the phrase "fixes #nnnn" for each
issue.
-->

This PR fixes #nnnn. 

### Details

**Proposed fix:**    
<!-- Type a description of your proposed fix below this line. -->
Allows creating a clickable confirmation button for the clear command
message.
The space prevents the command from being executed properly, as this
tries to run `'/clear '` instead of `'/clear'`.

**Environments tested:**    

<!-- Type the OS you have used below. -->
OS: Linux

<!-- Type the JDK version (from java -version) you have used below. -->
Java version:  21

<!--
Put an "x" inside the boxes for the server software you have tested this
bug fix on. If this feature does not apply to a server, strike through
the server software using ~~strikethrough~~. If you have tested on other
    environments, add a new line with relevant details.
-->
- [X] Most recent Paper version (1.XX.Y, git-Paper-BUILD)
- [ ] CraftBukkit/Spigot/Paper 1.12.2
- [ ] CraftBukkit 1.8.8


**Demonstration:**    
<!--
Below this block, include screenshots/log snippets from before and after
as
necessary. If you have created or used a test case plugin, please link
to a
download of the plugin, source code and exact version used where
possible.
-->

---------

Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-09 18:11:18 +00:00
Josh Roy 3563b41556 Fix command data task (#6207) 2025-07-05 21:54:18 +00:00
Josh Roy ed3c9b83b5 Command + Permission Data Extraction (#6083)
for the new site, we're gonna have our own command and permissions page
and to make this less of a pain, this PR adds a gradle task which will
export that data. the resulting files end up in the root directory under
the generated folder.


gotta figure out how we automatically fetch this for the site, maybe we
make the generated json files part of the jenkins build process?
2025-07-05 21:43:29 +00:00
Josh Roy 6ad737d87a Fix various TPR issues (#6205)
Fixes various issues from the TPR improvements PR

Fixes #6035
2025-07-05 07:17:53 +00:00
Josh Roy 8d44d1ae7e Fix bstats error with unsupported permission plugins (#6190)
Fixes #5225
2025-07-04 15:35:00 +00:00
Josh Roy dae9e3d091 Trim chat messages with shout/question prefix (#6192)
Fixes #5333
2025-07-04 15:33:11 +00:00
Josh Roy 573aae01ee Fix /skull issues on 1.20.4+ (#6188)
Fixes #6124
2025-07-04 15:33:09 +00:00
Josh Roy c43ad269a8 Fix chat url parsing for tlds >3 chars (#6184)
Mojang only looks for urls with 2,3 chars but if we don't block urls
with >3 their regex will still parse the url trimming the extra chars
off the tld *sigh*

Fixes #6156
2025-07-04 15:33:06 +00:00
Josh Roy e3b4e7723f Fix PlaceholderAPI maven repo url (#6204) 2025-07-04 15:33:04 +00:00
Josh Roy 6100cedc58 Fix max nick length with hex color codes (#6185)
Hex color codes convert to the obnoxious md5 format which massively
inflates the character count than what the user entered. Unformat the
nickname before getting the length to remain true to what the user
entered as the command argument.

Fixes #6174
2025-07-04 15:21:57 +00:00
Josh Roy e6b8493749 Fix misleading whois command description (#6187)
Fixes #5616
2025-07-04 15:21:53 +00:00
MD fa4c6b66d5 Add merge queue trigger to PR workflow (#6203) 2025-07-04 15:17:39 +00:00
JRoy 715589c071 Add 1.21.7 Aliases 2025-06-30 08:45:26 -07:00
JRoy 4a06fd1138 Update to Minecraft 1.21.7 2025-06-30 08:45:26 -07:00
Josh Roy 25f2f76302 Update paste link inside of issue template (#6182)
paste.gg is kill
2025-06-28 07:03:27 +01:00
Josh Roy ff1b8b8615 Add 1.21.6 Aliases 2025-06-21 13:55:02 -07:00
Josh Roy 31ea9036cf Move tests to MockBukkit 2025-06-21 13:55:02 -07:00
Josh Roy 2796399268 Add 1.21.6 Mobs 2025-06-21 13:55:02 -07:00
Josh Roy 4057326b4f Update to Minecraft 1.21.6 2025-06-21 13:55:02 -07:00
Josh Roy b44a9b2256 Initial Move to Paper 1.21.6 2025-06-21 13:55:02 -07:00
Ahmed Waleed 4ab3bbca95 [ci skip] Update setup-gradle version (#6165) 2025-06-07 09:19:56 -07:00
Josh Roy f5c06b9676 Fix javadoc publish (#6164)
Netlify now requires a modern node version
2025-06-07 12:10:13 +01:00
Ahmed WaleedandJosh Roy 997f600c15 Update adventure dependencies (#6163)
Fixes issues with clickable chat components on 1.21.5

Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
2025-06-05 22:17:44 -07:00
ThiagoROX d42347fb09 Fix sending message during /editsign paste if SignChangeEvent is cancelled (#6136) 2025-05-25 13:27:48 -07:00
Josh Roy e836747244 Prepare for 2.21.2 dev builds (#6128) 2025-05-25 20:35:54 +01:00
107 changed files with 3168 additions and 919 deletions

No files matched your search

+2 -2
View File
@@ -32,8 +32,8 @@ body:
- type: input
attributes:
label: Error log (if applicable)
description: If you are reporting a console error, upload any relevant log excerpts to either https://paste.gg or https://gist.github.com, save and the 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"
description: If you are reporting a console error, upload any relevant log excerpts to either https://pastes.dev or https://gist.github.com, save and the 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://pastes.dev/UYL3ASLsee"
- type: textarea
attributes:
+3 -3
View File
@@ -27,7 +27,7 @@ jobs:
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle
run: |
@@ -35,7 +35,7 @@ jobs:
./gradlew build --stacktrace
- name: Publish JUnit report
uses: mikepenz/action-junit-report@v4
uses: mikepenz/action-junit-report@v5
if: success() || failure() # Run even if the previous step fails
with:
report_paths: '**/build/test-results/test*/TEST-*.xml'
@@ -82,7 +82,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 22
- name: Download Javadocs
uses: actions/download-artifact@v4
+3 -1
View File
@@ -10,6 +10,8 @@ on:
- 2.x
- mc/*
- dev/*
merge_group:
types: [checks_requested]
permissions:
checks: write
@@ -32,7 +34,7 @@ jobs:
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle
run: |
+43
View File
@@ -0,0 +1,43 @@
name: Command and Permissions Data
on:
push:
branches:
- 2.x
jobs:
data:
name: Generate and Upload
runs-on: ubuntu-latest
steps:
- name: Checkout Git Repo
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Generate Data
run: |
chmod +x gradlew
./gradlew commandData
./gradlew versionData
- name: Upload Data
uses: ryand56/r2-upload-action@v1
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: ${{ secrets.R2_BUCKET }}
source-dir: generated
destination-dir: ./
+3
View File
@@ -21,10 +21,13 @@
# Build files
.gradle/
/jars/
generated/
out/
build/
target/
*.class
build-logic/.kotlin/
build-logic/bin/
# Run directory
/run/
+16 -8
View File
@@ -14,21 +14,25 @@ dependencies {
implementation 'org.checkerframework:checker-qual:3.49.0'
implementation 'nu.studer:java-ordered-properties:1.0.4'
implementation 'net.kyori:adventure-api:4.19.0'
implementation 'net.kyori:adventure-text-minimessage:4.19.0'
implementation 'net.kyori:adventure-platform-bukkit:4.3.4'
implementation 'net.kyori:adventure-api:4.24.0'
implementation 'net.kyori:adventure-text-minimessage:4.24.0'
implementation 'net.kyori:adventure-platform-bukkit:4.4.1'
// Providers
api project(':providers:BaseProviders')
api project(path: ':providers:PaperProvider', configuration: 'shadow')
api(project(':providers:BaseProviders')) {
exclude(module: 'spigot-api')
}
api(project(path: ':providers:PaperProvider', configuration: 'shadow')){
exclude(module: 'paper-api')
}
api(project(':providers:NMSReflectionProvider')) {
exclude group: "org.bukkit", module: "bukkit"
exclude(module: 'bukkit')
}
api(project(':providers:1_8Provider')) {
exclude group: "org.spigotmc", module: "spigot"
exclude(module: 'spigot-api')
}
api(project(':providers:1_12Provider')) {
exclude group: "org.bukkit", module: "bukkit"
exclude(module: 'bukkit')
}
}
@@ -36,6 +40,10 @@ test {
testLogging.showStandardStreams = true
}
tasks.register('versionData', VersionDataTask) {
destination.set(rootProject.layout.projectDirectory.dir("generated").file("version-data.json"))
}
shadowJar {
dependencies {
include (dependency('io.papermc:paperlib'))
@@ -66,13 +66,13 @@ import net.ess3.provider.ProviderListener;
import net.ess3.provider.ServerStateProvider;
import net.ess3.provider.providers.BaseBannerDataProvider;
import net.ess3.provider.providers.BaseInventoryViewProvider;
import net.ess3.provider.providers.BaseLoggerProvider;
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.LegacyBannerDataProvider;
import net.ess3.provider.providers.LegacyBiomeNameProvider;
import net.ess3.provider.providers.LegacyDamageEventProvider;
import net.ess3.provider.providers.LegacyInventoryViewProvider;
import net.ess3.provider.providers.LegacyItemUnbreakableProvider;
@@ -120,18 +120,13 @@ import org.bukkit.event.player.PlayerEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.world.WorldLoadEvent;
import org.bukkit.inventory.InventoryView;
import org.bukkit.plugin.InvalidDescriptionException;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.ServicePriority;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.JavaPluginLoader;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scheduler.BukkitTask;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -187,52 +182,11 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
EconomyLayers.init();
}
public Essentials() {
}
protected Essentials(final JavaPluginLoader loader, final PluginDescriptionFile description, final File dataFolder, final File file) {
super(loader, description, dataFolder, file);
}
public Essentials(final Server server) {
super(new JavaPluginLoader(server), new PluginDescriptionFile("Essentials", "", "com.earth2me.essentials.Essentials"), null, null);
}
@Override
public ISettings getSettings() {
return settings;
}
public void setupForTesting(final Server server) throws IOException, InvalidDescriptionException {
TESTING = true;
LOGGER = new BaseLoggerProvider(this, BUKKIT_LOGGER);
final File dataFolder = File.createTempFile("essentialstest", "");
if (!dataFolder.delete()) {
throw new IOException();
}
if (!dataFolder.mkdir()) {
throw new IOException();
}
i18n = new I18n(this);
i18n.onEnable();
i18n.updateLocale("en");
Console.setInstance(this);
LOGGER.log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("usingTempFolderForTesting")));
LOGGER.log(Level.INFO, dataFolder.toString());
settings = new Settings(this);
mail = new MailServiceImpl(this);
userMap = new ModernUserMap(this);
balanceTop = new BalanceTopImpl(this);
permissionsHandler = new PermissionsHandler(this, false);
Economy.setEss(this);
confList = new ArrayList<>();
jails = new Jails(this);
registerListeners(server.getPluginManager());
kits = new Kits(this);
bukkitAudience = BukkitAudiences.create(this);
}
@Override
public void onLoad() {
try {
@@ -420,13 +374,18 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
// Inventory View Provider
providerFactory.registerProvider(LegacyInventoryViewProvider.class, BaseInventoryViewProvider.class);
// Biome Name Provider
providerFactory.registerProvider(LegacyBiomeNameProvider.class);
// Biome Key Provider
providerFactory.registerProvider(PaperBiomeKeyProvider.class);
// Tick Count Provider
providerFactory.registerProvider(PaperTickCountProvider.class);
providerFactory.finalizeRegistration();
if (!TESTING) {
providerFactory.finalizeRegistration();
}
// Event Providers
if (PaperLib.isPaper()) {
@@ -464,15 +423,17 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
PermissionsDefaults.registerAllBackDefaults();
PermissionsDefaults.registerAllHatDefaults();
updateChecker = new UpdateChecker(this);
runTaskAsynchronously(() -> {
getLogger().log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("versionFetching")));
for (final Component component : updateChecker.getVersionMessages(false, true, new CommandSource(this, Bukkit.getConsoleSender()))) {
getLogger().log(getSettings().isUpdateCheckEnabled() ? Level.WARNING : Level.INFO, AdventureUtil.adventureToLegacy(component));
}
});
if (!TESTING) {
updateChecker = new UpdateChecker(this);
runTaskAsynchronously(() -> {
getLogger().log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("versionFetching")));
for (final Component component : updateChecker.getVersionMessages(false, true, new CommandSource(this, Bukkit.getConsoleSender()))) {
getLogger().log(getSettings().isUpdateCheckEnabled() ? Level.WARNING : Level.INFO, AdventureUtil.adventureToLegacy(component));
}
});
metrics = new MetricsWrapper(this, 858, true);
metrics = new MetricsWrapper(this, 858, true);
}
execTimer.mark("Init(External)");
@@ -486,7 +447,9 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
handleCrash(ex);
throw ex;
}
getBackup().setPendingShutdown(false);
if (!TESTING) {
getBackup().setPendingShutdown(false);
}
}
// Returns our provider logger if available
@@ -554,11 +517,19 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
@Override
public void onDisable() {
final boolean stopping = provider(ServerStateProvider.class).isStopping();
if (bukkitAudience != null) {
bukkitAudience.close();
}
final boolean stopping = TESTING || provider(ServerStateProvider.class).isStopping();
if (!stopping) {
LOGGER.log(Level.SEVERE, AdventureUtil.miniToLegacy(tlLiteral("serverReloading")));
}
getBackup().setPendingShutdown(true);
if (!TESTING) {
getBackup().setPendingShutdown(true);
}
for (final User user : getOnlineUsers()) {
if (user.isVanished()) {
user.setVanished(false);
@@ -575,7 +546,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
}
}
cleanupOpenInventories();
if (getBackup().getTaskLock() != null && !getBackup().getTaskLock().isDone()) {
if (!TESTING && getBackup().getTaskLock() != null && !getBackup().getTaskLock().isDone()) {
LOGGER.log(Level.SEVERE, AdventureUtil.miniToLegacy(tlLiteral("backupInProgress")));
getBackup().getTaskLock().join();
}
@@ -586,9 +557,12 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials {
backup.stopTask();
}
this.getPermissionsHandler().unregisterContexts();
if (!TESTING) {
this.getPermissionsHandler().unregisterContexts();
}
Economy.setEss(null);
AdventureUtil.setEss(null);
Trade.closeLog();
getUsers().shutdown();
@@ -92,7 +92,7 @@ public class I18n implements net.ess3.api.II18n {
if (objects.length == 0) {
return NODOUBLEMARK.matcher(instance.translate(locale, tlKey)).replaceAll("'");
} else {
return instance.format(tlKey, objects);
return instance.format(locale, tlKey, objects);
}
}
@@ -162,10 +162,6 @@ public class I18n implements net.ess3.api.II18n {
}
}
private String format(final String string, final Object... objects) {
return format(currentLocale, string, objects);
}
private String format(final Locale locale, final String string, final Object... objects) {
String format = translate(locale, string);
@@ -281,7 +277,7 @@ public class I18n implements net.ess3.api.II18n {
* Reads .properties files as UTF-8 instead of ISO-8859-1, which is the default on Java 8/below.
* Java 9 fixes this by defaulting to UTF-8 for .properties files.
*/
private static class UTF8PropertiesControl extends ResourceBundle.Control {
private static final class UTF8PropertiesControl extends ResourceBundle.Control {
public ResourceBundle newBundle(final String baseName, final Locale locale, final String format, final ClassLoader loader, final boolean reload) throws IOException {
final String resourceName = toResourceName(toBundleName(baseName, locale), "properties");
ResourceBundle bundle = null;
@@ -124,7 +124,8 @@ public enum Mob {
ARMADILLO("Armadillo", Enemies.FRIENDLY, "ARMADILLO"),
BREEZE("Breeze", Enemies.ENEMY, "BREEZE"),
BOGGED("Bogged", Enemies.ENEMY, "BOGGED"),
CREAKING("Creaking", Enemies.ENEMY, "CREAKING")
CREAKING("Creaking", Enemies.ENEMY, "CREAKING"),
HAPPY_GHAST("HappyGhast", Enemies.FRIENDLY, "HAPPY_GHAST")
;
private static final Map<String, Mob> hashMap = new HashMap<>();
@@ -7,6 +7,7 @@ import com.earth2me.essentials.utils.LocationUtil;
import com.earth2me.essentials.utils.VersionUtil;
import io.papermc.lib.PaperLib;
import net.ess3.provider.BiomeKeyProvider;
import net.ess3.provider.BiomeNameProvider;
import net.ess3.provider.WorldInfoProvider;
import org.bukkit.Location;
import org.bukkit.Material;
@@ -238,8 +239,9 @@ public class RandomTeleport implements IConf {
// Exclude biome if enum or namespaced key matches
private boolean isExcludedBiome(final Location location) {
final BiomeNameProvider biomeNameProvider = ess.provider(BiomeNameProvider.class);
final Set<String> excluded = getExcludedBiomes();
final String enumKey = location.getBlock().getBiome().name().toLowerCase();
final String enumKey = biomeNameProvider.getBiomeName(location.getBlock());
// Try with good old bukkit enum
if (excluded.contains(enumKey)) {
return true;
@@ -136,6 +136,10 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
@Override
public boolean isAuthorized(final String node) {
if (Essentials.TESTING) {
return false;
}
final boolean result = isAuthorizedCheck(node);
if (ess.getSettings().isDebug()) {
ess.getLogger().log(Level.INFO, "checking if " + base.getName() + " has " + node + " - " + result);
@@ -145,6 +149,10 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
@Override
public boolean isPermissionSet(final String node) {
if (Essentials.TESTING) {
return false;
}
final boolean result = isPermSetCheck(node);
if (ess.getSettings().isDebug()) {
ess.getLogger().log(Level.INFO, "checking if " + base.getName() + " has " + node + " (set-explicit) - " + result);
@@ -196,6 +196,9 @@ public class Commandclearinventory extends EssentialsCommand {
}
private String formatCommand(final String commandLabel, final String[] args) {
if (args == null || args.length == 0) {
return "/" + commandLabel;
}
return "/" + commandLabel + " " + StringUtil.joinList(" ", (Object[]) args);
}
@@ -17,7 +17,6 @@ import org.bukkit.block.data.type.HangingSign;
import org.bukkit.block.data.type.WallHangingSign;
import org.bukkit.block.data.type.WallSign;
import org.bukkit.block.sign.Side;
import org.bukkit.entity.Player;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.util.Vector;
@@ -49,7 +48,7 @@ public class Commandeditsign extends EssentialsCommand {
throw new TranslatableException("editsignCommandLimit");
}
existingLines[line] = text;
if (callSignEvent(sign, user.getBase(), existingLines)) {
if (callSignEvent(sign, user, existingLines)) {
return;
}
@@ -61,7 +60,7 @@ public class Commandeditsign extends EssentialsCommand {
existingLines[i] = "";
}
if (callSignEvent(sign, user.getBase(), existingLines)) {
if (callSignEvent(sign, user, existingLines)) {
return;
}
@@ -71,7 +70,7 @@ public class Commandeditsign extends EssentialsCommand {
final int line = Integer.parseInt(args[1]) - 1;
existingLines[line] = "";
if (callSignEvent(sign, user.getBase(), existingLines)) {
if (callSignEvent(sign, user, existingLines)) {
return;
}
@@ -100,13 +99,17 @@ public class Commandeditsign extends EssentialsCommand {
for (int i = 0; i < 4; i++) {
existingLines[i] = FormatUtil.formatString(user, "essentials.editsign", user.getSignCopy().get(i));
}
if (callSignEvent(sign, user, existingLines)) {
return;
}
user.sendTl("editsignPaste", commandLabel);
} else {
existingLines[line] = FormatUtil.formatString(user, "essentials.editsign", user.getSignCopy().get(line));
if (callSignEvent(sign, user, existingLines)) {
return;
}
user.sendTl("editsignPasteLine", line + 1, commandLabel);
}
callSignEvent(sign, user.getBase(), existingLines);
} else {
throw new NotEnoughArgumentsException();
}
@@ -115,22 +118,22 @@ public class Commandeditsign extends EssentialsCommand {
}
}
private boolean callSignEvent(final ModifiableSign sign, final Player player, final String[] lines) {
private boolean callSignEvent(final ModifiableSign sign, final User user, final String[] lines) {
final SignChangeEvent event;
if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_20_1_R01)) {
if (sign.isWaxed() && !player.hasPermission("essentials.editsign.waxed.exempt")) {
if (sign.isWaxed() && !user.isAuthorized("essentials.editsign.waxed.exempt")) {
return true;
}
event = new SignChangeEvent(sign.getBlock(), player, lines, sign.isFront() ? Side.FRONT : Side.BACK);
event = new SignChangeEvent(sign.getBlock(), user.getBase(), lines, sign.isFront() ? Side.FRONT : Side.BACK);
} else {
//noinspection deprecation
event = new SignChangeEvent(sign.getBlock(), player, lines);
event = new SignChangeEvent(sign.getBlock(), user.getBase(), lines);
}
Bukkit.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
if (ess.getSettings().isDebug()) {
ess.getLogger().info("SignChangeEvent canceled for /editsign execution by " + player.getName());
ess.getLogger().info("SignChangeEvent canceled for /editsign execution by " + user.getName());
}
return true;
}
@@ -43,7 +43,7 @@ public class Commandhelpop extends EssentialsCommand {
final List<IUser> recipients = new ArrayList<>();
for (IUser user : ess.getOnlineUsers()) {
if (user.getBase().hasPermission("essentials.helpop.receive")) {
if (user.isAuthorized("essentials.helpop.receive")) {
recipients.add(user);
}
}
@@ -5,7 +5,6 @@ import com.earth2me.essentials.User;
import com.earth2me.essentials.utils.FormatUtil;
import net.ess3.api.TranslatableException;
import net.ess3.api.events.NickChangeEvent;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import java.util.Collections;
@@ -87,7 +86,10 @@ public class Commandnick extends EssentialsLoopCommand {
}
private int getNickLength(final String nick) {
return ess.getSettings().ignoreColorsInMaxLength() ? ChatColor.stripColor(nick).length() : nick.length();
if (ess.getSettings().ignoreColorsInMaxLength()) {
return FormatUtil.stripFormat(nick).length();
}
return FormatUtil.unformatString(nick).length();
}
private boolean nickInUse(final User target, final String nick) {
@@ -9,6 +9,7 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import net.ess3.api.TranslatableException;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
@@ -108,7 +109,7 @@ public class Commandskull extends EssentialsCommand {
ess.runTaskAsynchronously(() -> {
// Run this stuff async because it causes an HTTP request
final String shortOwnerName;
String shortOwnerName;
if (URL_VALUE_PATTERN.matcher(owner).matches()) {
if (!playerProfileSupported) {
user.sendTl("unsupportedFeature");
@@ -129,23 +130,46 @@ public class Commandskull extends EssentialsCommand {
shortOwnerName = owner.substring(0, 7);
} else {
//noinspection deprecation
skullMeta.setOwner(owner);
shortOwnerName = owner;
if (playerProfileSupported) {
try {
PlayerProfile profile = ess.getServer().createPlayerProfile(null, owner);
profile = profile.update().join();
if (profile != null) {
skullMeta.setOwnerProfile(profile);
}
if (skullMeta.getOwnerProfile() == null) {
final OfflinePlayer offline = ess.getServer().getOfflinePlayer(owner);
skullMeta.setOwningPlayer(offline);
}
shortOwnerName = owner;
} catch (final Exception e) {
//noinspection deprecation
skullMeta.setOwner(owner);
shortOwnerName = owner;
}
} else {
//noinspection deprecation
skullMeta.setOwner(owner);
shortOwnerName = owner;
}
}
skullMeta.setDisplayName("§fSkull of " + shortOwnerName);
final String shortNameFinal = shortOwnerName;
ess.scheduleSyncDelayedTask(() -> {
stack.setItemMeta(skullMeta);
if (spawn) {
Inventories.addItem(receive.getBase(), stack);
receive.sendTl("givenSkull", shortOwnerName);
receive.sendTl("givenSkull", shortNameFinal);
if (user != receive) {
user.sendTl("givenSkullOther", receive.getDisplayName(), shortOwnerName);
user.sendTl("givenSkullOther", receive.getDisplayName(), shortNameFinal);
}
return;
}
user.sendTl("skullChanged", shortOwnerName);
user.sendTl("skullChanged", shortNameFinal);
});
});
}
@@ -25,26 +25,51 @@ public class Commandtpr extends EssentialsCommand {
final Trade charge = new Trade(this.getName(), ess);
charge.isAffordableFor(user);
final RandomTeleport randomTeleport = ess.getRandomTeleport();
final String defaultLocation = randomTeleport.getDefaultLocation().replace("{world}", user.getLocation().getWorld().getName());
final String name = args.length > 0 ? args[0] : defaultLocation;
final User userToTeleport = args.length > 1 && user.isAuthorized("essentials.tpr.others") ? getPlayer(server, user, args, 1) : user;
if (randomTeleport.isPerLocationPermission() && !user.isAuthorized("essentials.tpr.location." + name)) {
throw new TranslatableException("warpUsePermission");
final String randomLocationName;
final User target;
if (args.length == 0) {
// No arguments provided, use the default random teleport location
randomLocationName = randomTeleport.getDefaultLocation().replace("{world}", user.getLocation().getWorld().getName());
target = user;
} else {
// Use the first argument as the location name
randomLocationName = args[0];
if (!randomTeleport.hasLocation(randomLocationName)) {
throw new TranslatableException("tprNotExist");
}
if (randomTeleport.isPerLocationPermission() && !user.isAuthorized("essentials.tpr.location." + randomLocationName)) {
throw new TranslatableException("tprNoPermission");
}
if (args.length > 1 && user.isAuthorized("essentials.tpr.others")) {
target = getPlayer(server, user, args, 1);
} else {
target = user;
}
}
final UserRandomTeleportEvent event = new UserRandomTeleportEvent(userToTeleport, name, randomTeleport.getCenter(name), randomTeleport.getMinRange(name), randomTeleport.getMaxRange(name));
final UserRandomTeleportEvent event = new UserRandomTeleportEvent(target, randomLocationName, randomTeleport.getCenter(randomLocationName), randomTeleport.getMinRange(randomLocationName), randomTeleport.getMaxRange(randomLocationName));
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
(event.isModified() ? randomTeleport.getRandomLocation(event.getCenter(), event.getMinRange(), event.getMaxRange()) : randomTeleport.getRandomLocation(name))
target.sendTl("tprSuccess");
if (target != user) {
user.sendTl("tprOtherUser", target.getDisplayName());
}
(event.isModified() ? randomTeleport.getRandomLocation(event.getCenter(), event.getMinRange(), event.getMaxRange()) : randomTeleport.getRandomLocation(randomLocationName))
.thenAccept(location -> {
final CompletableFuture<Boolean> future = getNewExceptionFuture(user.getSource(), commandLabel);
future.thenAccept(success -> {
if (success) {
userToTeleport.sendTl("tprSuccess");
target.sendTl("tprSuccessDone");
}
});
userToTeleport.getAsyncTeleport().teleport(location, charge, PlayerTeleportEvent.TeleportCause.COMMAND, future);
target.getAsyncTeleport().teleport(location, charge, PlayerTeleportEvent.TeleportCause.COMMAND, future);
});
throw new NoChargeException();
}
@@ -56,18 +81,27 @@ public class Commandtpr extends EssentialsCommand {
}
final RandomTeleport randomTeleport = ess.getRandomTeleport();
final User userToTeleport = getPlayer(server, sender, args, 1);
final String name = args[0];
final UserRandomTeleportEvent event = new UserRandomTeleportEvent(userToTeleport, name, randomTeleport.getCenter(name), randomTeleport.getMinRange(name), randomTeleport.getMaxRange(name));
// Validate the location name - only use if it exists and sender has permission
final String potentialLocation = args[0];
if (!randomTeleport.hasLocation(potentialLocation)) {
throw new TranslatableException("tprNotExist");
}
final UserRandomTeleportEvent event = new UserRandomTeleportEvent(userToTeleport, potentialLocation, randomTeleport.getCenter(potentialLocation), randomTeleport.getMinRange(potentialLocation), randomTeleport.getMaxRange(potentialLocation));
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
(event.isModified() ? randomTeleport.getRandomLocation(event.getCenter(), event.getMinRange(), event.getMaxRange()) : randomTeleport.getRandomLocation(name))
userToTeleport.sendTl("tprSuccess");
sender.sendTl("tprOtherUser", userToTeleport.getDisplayName());
(event.isModified() ? randomTeleport.getRandomLocation(event.getCenter(), event.getMinRange(), event.getMaxRange()) : randomTeleport.getRandomLocation(potentialLocation))
.thenAccept(location -> {
final CompletableFuture<Boolean> future = getNewExceptionFuture(sender, commandLabel);
future.thenAccept(success -> {
if (success) {
userToTeleport.sendTl("tprSuccess");
userToTeleport.sendTl("tprSuccessDone");
}
});
userToTeleport.getAsyncTeleport().now(location, false, PlayerTeleportEvent.TeleportCause.COMMAND, future);
@@ -19,6 +19,8 @@ public final class Inventories {
private static final int CHEST_SLOT = 38;
private static final int LEG_SLOT = 37;
private static final int BOOT_SLOT = 36;
private static final int BODY_SLOT = 41;
private static final int SADDLE_SLOT = 42;
private static final boolean HAS_OFFHAND = VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_9_R01);
private static final int INVENTORY_SIZE = HAS_OFFHAND ? 41 : 40;
@@ -224,6 +226,10 @@ public final class Inventories {
int removedAmount = 0;
final ItemStack[] items = player.getInventory().getContents();
for (int i = 0; i < items.length; i++) {
if (isContortedSlot(i)) {
continue;
}
if (!includeArmor && isArmorSlot(i)) {
continue;
}
@@ -251,6 +257,10 @@ public final class Inventories {
final ItemStack[] items = player.getInventory().getContents();
for (int i = 0; i < items.length; i++) {
if (isContortedSlot(i)) {
continue;
}
final ItemStack item = items[i];
if (isEmpty(item)) {
continue;
@@ -342,6 +352,10 @@ public final class Inventories {
final HashMap<ItemStack, List<Integer>> partialSlots = new HashMap<>();
for (int i = 0; i < inventoryContents.length; i++) {
if (isContortedSlot(i)) {
continue;
}
if (!includeArmor && isArmorSlot(i)) {
continue;
}
@@ -403,6 +417,10 @@ public final class Inventories {
return stack == null || MaterialUtil.isAir(stack.getType());
}
public static boolean isContortedSlot(final int slot) {
return slot == BODY_SLOT || slot == SADDLE_SLOT;
}
private static boolean isArmorSlot(final int slot) {
return slot == HELM_SLOT || slot == CHEST_SLOT || slot == LEG_SLOT || slot == BOOT_SLOT;
}
@@ -52,7 +52,8 @@ public class MetricsWrapper {
final Map<String, Map<String, Integer>> result = new HashMap<>();
final String handler = ess.getPermissionsHandler().getName();
final Map<String, Integer> backend = new HashMap<>();
backend.put(ess.getPermissionsHandler().getBackendName(), 1);
final String backendName = ess.getPermissionsHandler().getBackendName();
backend.put(backendName != null ? backendName : "Other", 1);
result.put(handler, backend);
return result;
}));
@@ -198,6 +198,9 @@ public class PermissionsHandler implements IPermissionsHandler {
String enabledPermsPlugin = ((AbstractVaultHandler) handler).getEnabledPermsPlugin();
if (enabledPermsPlugin == null) enabledPermsPlugin = "generic";
ess.getLogger().info("Using Vault based permissions (" + enabledPermsPlugin + ")");
} else if (handler.getClass() == ConfigPermissionsHandler.class) {
ess.getLogger().info("Using config file enhanced permissions.");
ess.getLogger().info("Permissions listed in as player-commands will be given to all users.");
} else if (handler.getClass() == SuperpermsHandler.class) {
if (handler.tryProvider(ess)) {
ess.getLogger().warning("Detected supported permissions plugin " +
@@ -206,9 +209,6 @@ public class PermissionsHandler implements IPermissionsHandler {
"work until you install Vault.");
}
ess.getLogger().info("Using superperms-based permissions.");
} else if (handler.getClass() == ConfigPermissionsHandler.class) {
ess.getLogger().info("Using config file enhanced permissions.");
ess.getLogger().info("Permissions listed in as player-commands will be given to all users.");
}
}
@@ -170,6 +170,7 @@ public class SuperpermsHandler implements IPermissionsHandler {
break;
}
}
return enabledPermsPlugin;
}
}
@@ -42,26 +42,22 @@ public final class VersionUtil {
public static final BukkitVersion v1_21_R01 = BukkitVersion.fromString("1.21-R0.1-SNAPSHOT");
public static final BukkitVersion v1_21_3_R01 = BukkitVersion.fromString("1.21.3-R0.1-SNAPSHOT");
public static final BukkitVersion v1_21_5_R01 = BukkitVersion.fromString("1.21.5-R0.1-SNAPSHOT");
public static final BukkitVersion v1_21_8_R01 = BukkitVersion.fromString("1.21.8-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, v1_18_2_R01, v1_19_4_R01, v1_20_6_R01, v1_21_5_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, v1_19_4_R01, v1_20_6_R01, v1_21_8_R01);
public static final boolean PRE_FLATTENING = VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_13_0_R01);
private static final Map<String, SupportStatus> unsupportedServerClasses;
private static final String PFX = make("8(;4>`");
static {
final ImmutableMap.Builder<String, SupportStatus> builder = new ImmutableMap.Builder<>();
// Yatopia - Extremely volatile patch set;
// * Messes with proxy-forwarded UUIDs
// * Frequent data corruptions
builder.put("org.yatopiamc.yatopia.server.YatopiaConfig", SupportStatus.DANGEROUS_FORK);
builder.put("net.yatopia.api.event.PlayerAttackEntityEvent", SupportStatus.DANGEROUS_FORK);
builder.put("org.bukkit.plugin.SimplePluginManager#getPluginLoaders", SupportStatus.DANGEROUS_FORK);
builder.put("org.bukkit.Bukkit#getLastTickTime", SupportStatus.DANGEROUS_FORK);
builder.put("brand:Yatopia", SupportStatus.DANGEROUS_FORK);
// Yatopia downstream(s) which attempt to do tricky things :)
builder.put("brand:Hyalus", SupportStatus.DANGEROUS_FORK);
// Leaf, yet another "High Performance" fork of Paper. Not supported by EssentialsX.
builder.put(make("5(=t>(??;7t6?;<t\\026?;<\\03055.).(;*"), SupportStatus.DANGEROUS_FORK);
builder.put("brand:Leaf", SupportStatus.DANGEROUS_FORK);
builder.put(PFX + make("\\026?;<"), SupportStatus.DANGEROUS_FORK);
// KibblePatcher - Dangerous bytecode editor snakeoil whose only use is to break plugins
builder.put("net.kibblelands.server.FastMath", SupportStatus.DANGEROUS_FORK);
@@ -70,18 +66,17 @@ public final class VersionUtil {
builder.put("ml.tcoded.nochatreports.NoChatReportsSpigot", SupportStatus.STUPID_PLUGIN);
builder.put("me.doclic.noencryption.NoEncryption", SupportStatus.STUPID_PLUGIN);
// Akarin - Dangerous patch history;
// * Potentially unsafe saving of nms.JsonList
builder.put("io.akarin.server.Config", SupportStatus.DANGEROUS_FORK);
// Forge - Doesn't support Bukkit
// The below translates to net.minecraftforge.common.MinecraftForge
builder.put(dumb(new int[] {110, 101, 116, 46, 109, 105, 110, 101, 99, 114, 97, 102, 116, 102, 111, 114, 103, 101, 46, 99, 111, 109, 109, 111, 110, 46, 77, 105, 110, 101, 99, 114, 97, 102, 116, 70, 111, 114, 103, 101}, 40), SupportStatus.UNSTABLE);
builder.put("net.minecraftforge.common.MinecraftForge", SupportStatus.UNSTABLE);
builder.put(make("4?.t734?9(;<.<5(=?t957754t\\02734?9(;<.\\0345(=?"), SupportStatus.UNSTABLE);
builder.put(PFX + make("\\027523)."), SupportStatus.UNSTABLE);
builder.put("brand:Mohist", SupportStatus.UNSTABLE);
// Fabric - Doesn't support Bukkit
// The below translates to net.fabricmc.loader.launch.knot.KnotServer
builder.put(dumb(new int[] {110, 101, 116, 46, 102, 97, 98, 114, 105, 99, 109, 99, 46, 108, 111, 97, 100, 101, 114, 46, 108, 97, 117, 110, 99, 104, 46, 107, 110, 111, 116, 46, 75, 110, 111, 116, 83, 101, 114, 118, 101, 114}, 42), SupportStatus.UNSTABLE);
builder.put("net.fabricmc.loader.launch.knot.KnotServer", SupportStatus.UNSTABLE);
builder.put(make("4?.t<;8(3979t65;>?(t6;/492t145.t\\02145.\\t?(,?("), SupportStatus.UNSTABLE);
builder.put(PFX + make("\\0035/?("), SupportStatus.UNSTABLE);
// Misc translation layers that do not add NMS will be caught by this
if (ReflUtil.getNmsVersionObject().isHigherThanOrEqualTo(ReflUtil.V1_17_R1)) {
@@ -116,8 +111,8 @@ public final class VersionUtil {
if (supportStatus == null) {
for (Map.Entry<String, SupportStatus> entry : unsupportedServerClasses.entrySet()) {
if (entry.getKey().startsWith("brand:")) {
if (Bukkit.getName().equalsIgnoreCase(entry.getKey().replaceFirst("brand:", ""))) {
if (entry.getKey().startsWith(PFX)) {
if (Bukkit.getName().equalsIgnoreCase(entry.getKey().replaceFirst(PFX, ""))) {
supportStatusClass = entry.getKey();
return supportStatus = entry.getValue();
}
@@ -353,20 +348,11 @@ public final class VersionUtil {
}
}
private static String dumb(final int[] clazz, final int len) {
final char[] chars = new char[clazz.length];
for (int i = 0; i < clazz.length; i++) {
chars[i] = (char) clazz[i];
private static String make(String in) {
final char[] c = in.toCharArray();
for (int i = 0; i < c.length; i++) {
c[i] ^= 0x5A;
}
final String decode = String.valueOf(chars);
if (decode.charAt(0) != 'n' || decode.length() != len) {
System.exit(1);
return "why do hybrids try to bypass this?";
}
return decode;
return new String(c);
}
}
+407 -1
View File
@@ -1774,6 +1774,13 @@
"blagtcotta": "black_glazed_terracotta",
"blagterra": "black_glazed_terracotta",
"minecraft:black_glazed_terracotta": "black_glazed_terracotta",
"black_harness": {
"material": "BLACK_HARNESS"
},
"bkharness": "black_harness",
"blackharness": "black_harness",
"blaharness": "black_harness",
"minecraft:black_harness": "black_harness",
"black_shulker_box": {
"material": "BLACK_SHULKER_BOX"
},
@@ -2024,6 +2031,12 @@
"blugtcotta": "blue_glazed_terracotta",
"blugterra": "blue_glazed_terracotta",
"minecraft:blue_glazed_terracotta": "blue_glazed_terracotta",
"blue_harness": {
"material": "BLUE_HARNESS"
},
"blueharness": "blue_harness",
"bluharness": "blue_harness",
"minecraft:blue_harness": "blue_harness",
"blue_ice": {
"material": "BLUE_ICE"
},
@@ -2354,6 +2367,13 @@
"browngtcotta": "brown_glazed_terracotta",
"browngterra": "brown_glazed_terracotta",
"minecraft:brown_glazed_terracotta": "brown_glazed_terracotta",
"brown_harness": {
"material": "BROWN_HARNESS"
},
"brharness": "brown_harness",
"broharness": "brown_harness",
"brownharness": "brown_harness",
"minecraft:brown_harness": "brown_harness",
"brown_mushroom": {
"material": "BROWN_MUSHROOM"
},
@@ -5151,6 +5171,12 @@
"cyangtcotta": "cyan_glazed_terracotta",
"cyangterra": "cyan_glazed_terracotta",
"minecraft:cyan_glazed_terracotta": "cyan_glazed_terracotta",
"cyan_harness": {
"material": "CYAN_HARNESS"
},
"charness": "cyan_harness",
"cyanharness": "cyan_harness",
"minecraft:cyan_harness": "cyan_harness",
"cyan_shulker_box": {
"material": "CYAN_SHULKER_BOX"
},
@@ -6448,6 +6474,15 @@
},
"dragonhead": "dragon_head",
"minecraft:dragon_head": "dragon_head",
"dried_ghast": {
"material": "DRIED_GHAST"
},
"driedg": "dried_ghast",
"driedghast": "dried_ghast",
"dryghast": "dried_ghast",
"ghastb": "dried_ghast",
"ghastblock": "dried_ghast",
"minecraft:dried_ghast": "dried_ghast",
"dried_kelp": {
"material": "DRIED_KELP"
},
@@ -8374,6 +8409,19 @@
"greygtcotta": "gray_glazed_terracotta",
"greygterra": "gray_glazed_terracotta",
"minecraft:gray_glazed_terracotta": "gray_glazed_terracotta",
"gray_harness": {
"material": "GRAY_HARNESS"
},
"darkgraharness": "gray_harness",
"darkgrayharness": "gray_harness",
"darkgreyharness": "gray_harness",
"dgraharness": "gray_harness",
"dgrayharness": "gray_harness",
"dgreyharness": "gray_harness",
"graharness": "gray_harness",
"grayharness": "gray_harness",
"greyharness": "gray_harness",
"minecraft:gray_harness": "gray_harness",
"gray_shulker_box": {
"material": "GRAY_SHULKER_BOX"
},
@@ -8718,6 +8766,16 @@
"gregtcotta": "green_glazed_terracotta",
"gregterra": "green_glazed_terracotta",
"minecraft:green_glazed_terracotta": "green_glazed_terracotta",
"green_harness": {
"material": "GREEN_HARNESS"
},
"darkgreenharness": "green_harness",
"darkgreharness": "green_harness",
"dgreenharness": "green_harness",
"dgreharness": "green_harness",
"greenharness": "green_harness",
"greharness": "green_harness",
"minecraft:green_harness": "green_harness",
"green_shulker_box": {
"material": "GREEN_SHULKER_BOX"
},
@@ -8923,6 +8981,94 @@
"hangroots": "hanging_roots",
"hroots": "hanging_roots",
"minecraft:hanging_roots": "hanging_roots",
"happy_ghast_spawn_egg": {
"material": "HAPPY_GHAST_SPAWN_EGG"
},
"eggghastling": "happy_ghast_spawn_egg",
"egghappy_ghast": "happy_ghast_spawn_egg",
"egghappyg": "happy_ghast_spawn_egg",
"egghappyghast": "happy_ghast_spawn_egg",
"egghghast": "happy_ghast_spawn_egg",
"ghastlingegg": "happy_ghast_spawn_egg",
"ghastlingsegg": "happy_ghast_spawn_egg",
"ghastlingspawn": "happy_ghast_spawn_egg",
"ghastlingspawnegg": "happy_ghast_spawn_egg",
"happy_ghastegg": "happy_ghast_spawn_egg",
"happy_ghastsegg": "happy_ghast_spawn_egg",
"happy_ghastspawn": "happy_ghast_spawn_egg",
"happy_ghastspawnegg": "happy_ghast_spawn_egg",
"happygegg": "happy_ghast_spawn_egg",
"happyghastegg": "happy_ghast_spawn_egg",
"happyghastsegg": "happy_ghast_spawn_egg",
"happyghastspawn": "happy_ghast_spawn_egg",
"happyghastspawnegg": "happy_ghast_spawn_egg",
"happygsegg": "happy_ghast_spawn_egg",
"happygspawn": "happy_ghast_spawn_egg",
"happygspawnegg": "happy_ghast_spawn_egg",
"hghastegg": "happy_ghast_spawn_egg",
"hghastsegg": "happy_ghast_spawn_egg",
"hghastspawn": "happy_ghast_spawn_egg",
"hghastspawnegg": "happy_ghast_spawn_egg",
"minecraft:happy_ghast_spawn_egg": "happy_ghast_spawn_egg",
"seggghastling": "happy_ghast_spawn_egg",
"segghappy_ghast": "happy_ghast_spawn_egg",
"segghappyg": "happy_ghast_spawn_egg",
"segghappyghast": "happy_ghast_spawn_egg",
"segghghast": "happy_ghast_spawn_egg",
"spawneggghastling": "happy_ghast_spawn_egg",
"spawnegghappy_ghast": "happy_ghast_spawn_egg",
"spawnegghappyg": "happy_ghast_spawn_egg",
"spawnegghappyghast": "happy_ghast_spawn_egg",
"spawnegghghast": "happy_ghast_spawn_egg",
"spawnghastling": "happy_ghast_spawn_egg",
"spawnhappy_ghast": "happy_ghast_spawn_egg",
"spawnhappyg": "happy_ghast_spawn_egg",
"spawnhappyghast": "happy_ghast_spawn_egg",
"spawnhghast": "happy_ghast_spawn_egg",
"happy_ghast_spawner": {
"entity": "HAPPY_GHAST",
"material": "SPAWNER"
},
"ghastlingcage": "happy_ghast_spawner",
"ghastlingmcage": "happy_ghast_spawner",
"ghastlingmobcage": "happy_ghast_spawner",
"ghastlingmobspawner": "happy_ghast_spawner",
"ghastlingmonstercage": "happy_ghast_spawner",
"ghastlingmonsterspawner": "happy_ghast_spawner",
"ghastlingmspawner": "happy_ghast_spawner",
"ghastlingspawner": "happy_ghast_spawner",
"happy_ghastcage": "happy_ghast_spawner",
"happy_ghastmcage": "happy_ghast_spawner",
"happy_ghastmobcage": "happy_ghast_spawner",
"happy_ghastmobspawner": "happy_ghast_spawner",
"happy_ghastmonstercage": "happy_ghast_spawner",
"happy_ghastmonsterspawner": "happy_ghast_spawner",
"happy_ghastmspawner": "happy_ghast_spawner",
"happy_ghastspawner": "happy_ghast_spawner",
"happygcage": "happy_ghast_spawner",
"happyghastcage": "happy_ghast_spawner",
"happyghastmcage": "happy_ghast_spawner",
"happyghastmobcage": "happy_ghast_spawner",
"happyghastmobspawner": "happy_ghast_spawner",
"happyghastmonstercage": "happy_ghast_spawner",
"happyghastmonsterspawner": "happy_ghast_spawner",
"happyghastmspawner": "happy_ghast_spawner",
"happyghastspawner": "happy_ghast_spawner",
"happygmcage": "happy_ghast_spawner",
"happygmobcage": "happy_ghast_spawner",
"happygmobspawner": "happy_ghast_spawner",
"happygmonstercage": "happy_ghast_spawner",
"happygmonsterspawner": "happy_ghast_spawner",
"happygmspawner": "happy_ghast_spawner",
"happygspawner": "happy_ghast_spawner",
"hghastcage": "happy_ghast_spawner",
"hghastmcage": "happy_ghast_spawner",
"hghastmobcage": "happy_ghast_spawner",
"hghastmobspawner": "happy_ghast_spawner",
"hghastmonstercage": "happy_ghast_spawner",
"hghastmonsterspawner": "happy_ghast_spawner",
"hghastmspawner": "happy_ghast_spawner",
"hghastspawner": "happy_ghast_spawner",
"harming_lingering_potion": {
"potionData": {
"type": "HARMING",
@@ -11811,6 +11957,16 @@
"lightblugtcotta": "light_blue_glazed_terracotta",
"lightblugterra": "light_blue_glazed_terracotta",
"minecraft:light_blue_glazed_terracotta": "light_blue_glazed_terracotta",
"light_blue_harness": {
"material": "LIGHT_BLUE_HARNESS"
},
"lbharness": "light_blue_harness",
"lblueharness": "light_blue_harness",
"lbluharness": "light_blue_harness",
"light_blueharness": "light_blue_harness",
"lightblueharness": "light_blue_harness",
"lightbluharness": "light_blue_harness",
"minecraft:light_blue_harness": "light_blue_harness",
"light_blue_shulker_box": {
"material": "LIGHT_BLUE_SHULKER_BOX"
},
@@ -12190,6 +12346,21 @@
"silverglazedterracotta": "light_gray_glazed_terracotta",
"silvergtcotta": "light_gray_glazed_terracotta",
"silvergterra": "light_gray_glazed_terracotta",
"light_gray_harness": {
"material": "LIGHT_GRAY_HARNESS"
},
"lgharness": "light_gray_harness",
"lgraharness": "light_gray_harness",
"lgrayharness": "light_gray_harness",
"lgreyharness": "light_gray_harness",
"light_grayharness": "light_gray_harness",
"lightgraharness": "light_gray_harness",
"lightgrayharness": "light_gray_harness",
"lightgreyharness": "light_gray_harness",
"minecraft:light_gray_harness": "light_gray_harness",
"siaharness": "light_gray_harness",
"siharness": "light_gray_harness",
"silverharness": "light_gray_harness",
"light_gray_shulker_box": {
"material": "LIGHT_GRAY_SHULKER_BOX"
},
@@ -12597,6 +12768,16 @@
"limegtcotta": "lime_glazed_terracotta",
"limegterra": "lime_glazed_terracotta",
"minecraft:lime_glazed_terracotta": "lime_glazed_terracotta",
"lime_harness": {
"material": "LIME_HARNESS"
},
"lgreenharness": "lime_harness",
"lgreharness": "lime_harness",
"lharness": "lime_harness",
"lightgreenharness": "lime_harness",
"lightgreharness": "lime_harness",
"limeharness": "lime_harness",
"minecraft:lime_harness": "lime_harness",
"lime_shulker_box": {
"material": "LIME_SHULKER_BOX"
},
@@ -19919,6 +20100,12 @@
"mgtcotta": "magenta_glazed_terracotta",
"mgterra": "magenta_glazed_terracotta",
"minecraft:magenta_glazed_terracotta": "magenta_glazed_terracotta",
"magenta_harness": {
"material": "MAGENTA_HARNESS"
},
"magentaharness": "magenta_harness",
"mharness": "magenta_harness",
"minecraft:magenta_harness": "magenta_harness",
"magenta_shulker_box": {
"material": "MAGENTA_SHULKER_BOX"
},
@@ -21336,8 +21523,71 @@
"music_disc_creator_music_box": {
"material": "MUSIC_DISC_CREATOR_MUSIC_BOX"
},
"cdcreatormb": "music_disc_creator_music_box",
"cdcreatormbox": "music_disc_creator_music_box",
"cdcreatormusicb": "music_disc_creator_music_box",
"cdcreatormusicbox": "music_disc_creator_music_box",
"creatormbcd": "music_disc_creator_music_box",
"creatormbdisc": "music_disc_creator_music_box",
"creatormbdisk": "music_disc_creator_music_box",
"creatormbmdisc": "music_disc_creator_music_box",
"creatormbmusicdisc": "music_disc_creator_music_box",
"creatormbmusicdisk": "music_disc_creator_music_box",
"creatormbmusicrecord": "music_disc_creator_music_box",
"creatormboxcd": "music_disc_creator_music_box",
"creatormboxdisc": "music_disc_creator_music_box",
"creatormboxdisk": "music_disc_creator_music_box",
"creatormboxmdisc": "music_disc_creator_music_box",
"creatormboxmusicdisc": "music_disc_creator_music_box",
"creatormboxmusicdisk": "music_disc_creator_music_box",
"creatormboxmusicrecord": "music_disc_creator_music_box",
"creatormboxrecord": "music_disc_creator_music_box",
"creatormbrecord": "music_disc_creator_music_box",
"creatormusicbcd": "music_disc_creator_music_box",
"creatormusicbdisc": "music_disc_creator_music_box",
"creatormusicbdisk": "music_disc_creator_music_box",
"creatormusicbmdisc": "music_disc_creator_music_box",
"creatormusicbmusicdisc": "music_disc_creator_music_box",
"creatormusicbmusicdisk": "music_disc_creator_music_box",
"creatormusicbmusicrecord": "music_disc_creator_music_box",
"creatormusicboxcd": "music_disc_creator_music_box",
"creatormusicboxdisc": "music_disc_creator_music_box",
"creatormusicboxdisk": "music_disc_creator_music_box",
"creatormusicboxmdisc": "music_disc_creator_music_box",
"creatormusicboxmusicdisc": "music_disc_creator_music_box",
"creatormusicboxmusicdisk": "music_disc_creator_music_box",
"creatormusicboxmusicrecord": "music_disc_creator_music_box",
"creatormusicboxrecord": "music_disc_creator_music_box",
"creatormusicbrecord": "music_disc_creator_music_box",
"disccreatormb": "music_disc_creator_music_box",
"disccreatormbox": "music_disc_creator_music_box",
"disccreatormusicb": "music_disc_creator_music_box",
"disccreatormusicbox": "music_disc_creator_music_box",
"diskcreatormb": "music_disc_creator_music_box",
"diskcreatormbox": "music_disc_creator_music_box",
"diskcreatormusicb": "music_disc_creator_music_box",
"diskcreatormusicbox": "music_disc_creator_music_box",
"mdisccreatormb": "music_disc_creator_music_box",
"mdisccreatormbox": "music_disc_creator_music_box",
"mdisccreatormusicb": "music_disc_creator_music_box",
"mdisccreatormusicbox": "music_disc_creator_music_box",
"minecraft:music_disc_creator_music_box": "music_disc_creator_music_box",
"musicdisccreatormb": "music_disc_creator_music_box",
"musicdisccreatormbox": "music_disc_creator_music_box",
"musicdisccreatormusicb": "music_disc_creator_music_box",
"musicdisccreatormusicbox": "music_disc_creator_music_box",
"musicdiskcreatormb": "music_disc_creator_music_box",
"musicdiskcreatormbox": "music_disc_creator_music_box",
"musicdiskcreatormusicb": "music_disc_creator_music_box",
"musicdiskcreatormusicbox": "music_disc_creator_music_box",
"musicrecordcreatormb": "music_disc_creator_music_box",
"musicrecordcreatormbox": "music_disc_creator_music_box",
"musicrecordcreatormusicb": "music_disc_creator_music_box",
"musicrecordcreatormusicbox": "music_disc_creator_music_box",
"recordcreatormb": "music_disc_creator_music_box",
"recordcreatormbox": "music_disc_creator_music_box",
"recordcreatormusicb": "music_disc_creator_music_box",
"recordcreatormusicbox": "music_disc_creator_music_box",
"music_disc_far": {
"material": "MUSIC_DISC_FAR"
},
@@ -21422,6 +21672,90 @@
"recordlgreen": "music_disc_far",
"recordlightgr": "music_disc_far",
"recordlightgreen": "music_disc_far",
"music_disc_lava_chicken": {
"material": "MUSIC_DISC_LAVA_CHICKEN"
},
"cdchicken": "music_disc_lava_chicken",
"cdlava": "music_disc_lava_chicken",
"cdlavachicken": "music_disc_lava_chicken",
"cdlchick": "music_disc_lava_chicken",
"cdlchicken": "music_disc_lava_chicken",
"chickencd": "music_disc_lava_chicken",
"chickendisc": "music_disc_lava_chicken",
"chickendisk": "music_disc_lava_chicken",
"chickenmdisc": "music_disc_lava_chicken",
"chickenmusicdisc": "music_disc_lava_chicken",
"chickenmusicdisk": "music_disc_lava_chicken",
"chickenmusicrecord": "music_disc_lava_chicken",
"chickenrecord": "music_disc_lava_chicken",
"discchicken": "music_disc_lava_chicken",
"disclava": "music_disc_lava_chicken",
"disclavachicken": "music_disc_lava_chicken",
"disclchick": "music_disc_lava_chicken",
"disclchicken": "music_disc_lava_chicken",
"diskchicken": "music_disc_lava_chicken",
"disklava": "music_disc_lava_chicken",
"disklavachicken": "music_disc_lava_chicken",
"disklchick": "music_disc_lava_chicken",
"disklchicken": "music_disc_lava_chicken",
"lavacd": "music_disc_lava_chicken",
"lavachickencd": "music_disc_lava_chicken",
"lavachickendisc": "music_disc_lava_chicken",
"lavachickendisk": "music_disc_lava_chicken",
"lavachickenmdisc": "music_disc_lava_chicken",
"lavachickenmusicdisc": "music_disc_lava_chicken",
"lavachickenmusicdisk": "music_disc_lava_chicken",
"lavachickenmusicrecord": "music_disc_lava_chicken",
"lavachickenrecord": "music_disc_lava_chicken",
"lavadisc": "music_disc_lava_chicken",
"lavadisk": "music_disc_lava_chicken",
"lavamdisc": "music_disc_lava_chicken",
"lavamusicdisc": "music_disc_lava_chicken",
"lavamusicdisk": "music_disc_lava_chicken",
"lavamusicrecord": "music_disc_lava_chicken",
"lavarecord": "music_disc_lava_chicken",
"lchickcd": "music_disc_lava_chicken",
"lchickdisc": "music_disc_lava_chicken",
"lchickdisk": "music_disc_lava_chicken",
"lchickencd": "music_disc_lava_chicken",
"lchickendisc": "music_disc_lava_chicken",
"lchickendisk": "music_disc_lava_chicken",
"lchickenmdisc": "music_disc_lava_chicken",
"lchickenmusicdisc": "music_disc_lava_chicken",
"lchickenmusicdisk": "music_disc_lava_chicken",
"lchickenmusicrecord": "music_disc_lava_chicken",
"lchickenrecord": "music_disc_lava_chicken",
"lchickmdisc": "music_disc_lava_chicken",
"lchickmusicdisc": "music_disc_lava_chicken",
"lchickmusicdisk": "music_disc_lava_chicken",
"lchickmusicrecord": "music_disc_lava_chicken",
"lchickrecord": "music_disc_lava_chicken",
"mdiscchicken": "music_disc_lava_chicken",
"mdisclava": "music_disc_lava_chicken",
"mdisclavachicken": "music_disc_lava_chicken",
"mdisclchick": "music_disc_lava_chicken",
"mdisclchicken": "music_disc_lava_chicken",
"minecraft:music_disc_lava_chicken": "music_disc_lava_chicken",
"musicdiscchicken": "music_disc_lava_chicken",
"musicdisclava": "music_disc_lava_chicken",
"musicdisclavachicken": "music_disc_lava_chicken",
"musicdisclchick": "music_disc_lava_chicken",
"musicdisclchicken": "music_disc_lava_chicken",
"musicdiskchicken": "music_disc_lava_chicken",
"musicdisklava": "music_disc_lava_chicken",
"musicdisklavachicken": "music_disc_lava_chicken",
"musicdisklchick": "music_disc_lava_chicken",
"musicdisklchicken": "music_disc_lava_chicken",
"musicrecordchicken": "music_disc_lava_chicken",
"musicrecordlava": "music_disc_lava_chicken",
"musicrecordlavachicken": "music_disc_lava_chicken",
"musicrecordlchick": "music_disc_lava_chicken",
"musicrecordlchicken": "music_disc_lava_chicken",
"recordchicken": "music_disc_lava_chicken",
"recordlava": "music_disc_lava_chicken",
"recordlavachicken": "music_disc_lava_chicken",
"recordlchick": "music_disc_lava_chicken",
"recordlchicken": "music_disc_lava_chicken",
"music_disc_mall": {
"material": "MUSIC_DISC_MALL"
},
@@ -21966,6 +22300,42 @@
"whmusicdisk": "music_disc_strad",
"whmusicrecord": "music_disc_strad",
"whrecord": "music_disc_strad",
"music_disc_tears": {
"material": "MUSIC_DISC_TEARS"
},
"cdghast": "music_disc_tears",
"cdtears": "music_disc_tears",
"discghast": "music_disc_tears",
"disctears": "music_disc_tears",
"diskghast": "music_disc_tears",
"disktears": "music_disc_tears",
"ghastcd": "music_disc_tears",
"ghastdisc": "music_disc_tears",
"ghastdisk": "music_disc_tears",
"ghastmdisc": "music_disc_tears",
"ghastmusicdisc": "music_disc_tears",
"ghastmusicdisk": "music_disc_tears",
"ghastmusicrecord": "music_disc_tears",
"ghastrecord": "music_disc_tears",
"mdiscghast": "music_disc_tears",
"mdisctears": "music_disc_tears",
"minecraft:music_disc_tears": "music_disc_tears",
"musicdiscghast": "music_disc_tears",
"musicdisctears": "music_disc_tears",
"musicdiskghast": "music_disc_tears",
"musicdisktears": "music_disc_tears",
"musicrecordghast": "music_disc_tears",
"musicrecordtears": "music_disc_tears",
"recordghast": "music_disc_tears",
"recordtears": "music_disc_tears",
"tearscd": "music_disc_tears",
"tearsdisc": "music_disc_tears",
"tearsdisk": "music_disc_tears",
"tearsmdisc": "music_disc_tears",
"tearsmusicdisc": "music_disc_tears",
"tearsmusicdisk": "music_disc_tears",
"tearsmusicrecord": "music_disc_tears",
"tearsrecord": "music_disc_tears",
"music_disc_wait": {
"material": "MUSIC_DISC_WAIT"
},
@@ -23277,6 +23647,12 @@
"orangeglazedterracotta": "orange_glazed_terracotta",
"orangegtcotta": "orange_glazed_terracotta",
"orangegterra": "orange_glazed_terracotta",
"orange_harness": {
"material": "ORANGE_HARNESS"
},
"minecraft:orange_harness": "orange_harness",
"oharness": "orange_harness",
"orangeharness": "orange_harness",
"orange_shulker_box": {
"material": "ORANGE_SHULKER_BOX"
},
@@ -24805,6 +25181,12 @@
"pinkglazedterracotta": "pink_glazed_terracotta",
"pinkgtcotta": "pink_glazed_terracotta",
"pinkgterra": "pink_glazed_terracotta",
"pink_harness": {
"material": "PINK_HARNESS"
},
"minecraft:pink_harness": "pink_harness",
"piharness": "pink_harness",
"pinkharness": "pink_harness",
"pink_petals": {
"material": "PINK_PETALS"
},
@@ -26057,6 +26439,12 @@
"purpleglazedterracotta": "purple_glazed_terracotta",
"purplegtcotta": "purple_glazed_terracotta",
"purplegterra": "purple_glazed_terracotta",
"purple_harness": {
"material": "PURPLE_HARNESS"
},
"minecraft:purple_harness": "purple_harness",
"puharness": "purple_harness",
"purpleharness": "purple_harness",
"purple_shulker_box": {
"material": "PURPLE_SHULKER_BOX"
},
@@ -26509,6 +26897,12 @@
"rglazedterracotta": "red_glazed_terracotta",
"rgtcotta": "red_glazed_terracotta",
"rgterra": "red_glazed_terracotta",
"red_harness": {
"material": "RED_HARNESS"
},
"minecraft:red_harness": "red_harness",
"redharness": "red_harness",
"rharness": "red_harness",
"red_mushroom": {
"material": "RED_MUSHROOM"
},
@@ -46804,6 +47198,12 @@
"whiteglazedterracotta": "white_glazed_terracotta",
"whitegtcotta": "white_glazed_terracotta",
"whitegterra": "white_glazed_terracotta",
"white_harness": {
"material": "WHITE_HARNESS"
},
"minecraft:white_harness": "white_harness",
"wharness": "white_harness",
"whiteharness": "white_harness",
"white_shulker_box": {
"material": "WHITE_SHULKER_BOX"
},
@@ -47351,6 +47751,12 @@
"yglazedterracotta": "yellow_glazed_terracotta",
"ygtcotta": "yellow_glazed_terracotta",
"ygterra": "yellow_glazed_terracotta",
"yellow_harness": {
"material": "YELLOW_HARNESS"
},
"minecraft:yellow_harness": "yellow_harness",
"yellowharness": "yellow_harness",
"yharness": "yellow_harness",
"yellow_shulker_box": {
"material": "YELLOW_SHULKER_BOX"
},
@@ -47949,4 +48355,4 @@
"zpmanmonsterspawner": "zombified_piglin_spawner",
"zpmanmspawner": "zombified_piglin_spawner",
"zpmanspawner": "zombified_piglin_spawner"
}
}
@@ -1416,7 +1416,15 @@ tprCommandDescription=Teleport randomly.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleports you to a random location
tprCommandUsage2=/<command> <world>
tprCommandUsage2Description=Teleports you to a random location in the specified world
tprCommandUsage3=/<command> <world> <player>
tprCommandUsage3Description=Teleports the specified player to a random location in the specified world
tprOtherUser=<primary>Teleporting<secondary> {0}<primary> to a random location.
tprSuccess=<primary>Teleporting to a random location...
tprSuccessDone=<primary>You have been teleported to a random location.
tprNoPermission=<dark_red>You do not have permission to use that location.
tprNotExist=<dark_red>That random teleport location does not exist.
tps=<primary>Current TPS \= {0}
tptoggleCommandDescription=Blocks all forms of teleportation.
tptoggleCommandUsage=/<command> [player] [on|off]
@@ -1559,7 +1567,7 @@ west=W
whoisAFK=<primary> - AFK\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Since {1})
whoisBanned=<primary> - Banned\:<reset> {0}
whoisCommandDescription=Determine the username behind a nickname.
whoisCommandDescription=Determine basic information about the specified player.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=Gives basic information about the specified player
@@ -4,7 +4,6 @@ adventure=приключенски
afkCommandDescription=Маркира ви като далеч-от-клавиятурата.
afkCommandUsage=/<command> [player/message...]
afkCommandUsage1=[Съобщение]
afkCommandUsage1Description=Активира вашият афк статус с опционална причина
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Активира афк статуса на специфичен играч с опционална причина
alertBroke=счупени\:
@@ -206,8 +205,6 @@ discordCommandAccountResponseLinked=Вашият акаунт е свързан
discordCommandAccountResponseLinkedOther=Акаунта на {0} е свързан към Minecraft акаунта\: **{1}**
discordCommandAccountResponseNotLinked=Нямате свързан Minecraft акаунт.
discordCommandAccountResponseNotLinkedOther={0} няма свързан Minecraft акаунт.
discordCommandDescription=Изпраща линк на Discord поканата до играча.
discordCommandUsage1Description=Изпраща линк на Discord поканата до играча
discordCommandExecuteDescription=Изпълнява конзолна команда в Minecraft сървъра.
discordCommandExecuteArgumentCommand=Командата, която трябва да бъде изпълнена
discordCommandExecuteReply=Изпълнява се команда\: "/{0}"
@@ -826,7 +823,6 @@ west=З
whoisAFK=<primary> - Неактивен/на\:<reset> {0}
whoisAFKSince=<primary> - Неактивен/на\:<reset> {0} (От {1})
whoisBanned=<primary> - Ограничен/а\:<reset> {0}
whoisCommandDescription=Определя потребителското име зад псевдоним.
whoisCommandUsage1Description=Дава основна информация за указаният потребител
whoisExp=<primary> - Опит\:<reset> {0} (Ниво {1})
whoisFly=<primary> - Летателен режим\:<reset> {0} ({1})
@@ -2,7 +2,6 @@
adventure=pustolovina
afkCommandDescription=Označava da ste trenutno odsutni.
afkCommandUsage=/<command> [Igrač/poruka...]
afkCommandUsage1Description=Mijenja vaš afk status uz optimalan razlog
afkCommandUsage2=/<command> igrač [Igrač/poruka]
alertBroke=slomio\:
alertFormat=<dark_aqua>[{0}] <reset> {1} <primary> {2} u\: {3}
@@ -6,7 +6,7 @@ adventure=dobrodružná hra
afkCommandDescription=Označuje tě jako mimo počítač.
afkCommandUsage=/<command> [hráč/zpráva...]
afkCommandUsage1=/<command> [zpráva]
afkCommandUsage1Description=Přepíná tvůj stav, zda jsi mimo počítač (afk), s volitelným důvodem
afkCommandUsage1Description=Přepíná tvůj stav, zda jsi mimo počítač (AFK), s volitelným důvodem
afkCommandUsage2=/<command> <hráč> [zpráva]
afkCommandUsage2Description=Přepíná hráčův stav, zda je mimo počítač (afk), s volitelným důvodem
alertBroke=zničeno\:
@@ -108,7 +108,7 @@ broadcastCommandUsage1=/<command> <message>
broadcastCommandUsage1Description=Zašle zprávu celému serveru
broadcastworldCommandDescription=Zašle zprávu jednomu světu.
broadcastworldCommandUsage=/<command> <svět> <zpráva>
broadcastworldCommandUsage1=/<command> <world> <msg>
broadcastworldCommandUsage1=/<command> <svět> <zpráva>
broadcastworldCommandUsage1Description=Zašle zprávu zadanému světu
burnCommandDescription=Sešle na hráče oheň.
burnCommandUsage=/<command> <hráč> [počet_sekund]
@@ -884,7 +884,7 @@ noPotionEffectPerm=<dark_red>Nemáš oprávnění používat u tohoto lektvaru
noPowerTools=<primary>Nemáš přiřazen žádný výkonný nástroj.
notAcceptingPay=<dark_red>{0} <dark_red>nepřijímá platby.
notAllowedToLocal=<dark_red>Nemáš oprávnění mluvit v místním chatu.
notAllowedToQuestion=<dark_red>Nemáš oprávnění položit dotaz.
notAllowedToQuestion=<dark_red>Nemáš oprávnění posílat zprávy s dotazy.
notAllowedToShout=<dark_red>Nemáš oprávnění k hlučnému módu.
notEnoughExperience=<dark_red>Nemáš dostatek zkušeností.
notEnoughMoney=<dark_red>Nemáš dost prostředků.
@@ -1151,12 +1151,12 @@ setjailCommandUsage=/<command> <jailname>
setjailCommandUsage1=/<command> <jailname>
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> <world> [střed|minvzdálenost|maxvzádelnost] [value]
settprCommandUsage1=/<command> <world> střed
settprCommandUsage=/<command> <svět> [center|minrange|maxrange] [hodnota]
settprCommandUsage1=/<command> <svět> center
settprCommandUsage1Description=Nastaví střed náhodného teleportu tam, kde stojíš
settprCommandUsage2=/<command> <world> minvzdálenost <radius>
settprCommandUsage2=/<command> <svět> minrange <dosah>
settprCommandUsage2Description=Nastaví minimální poloměr náhodného teleportu na danou hodnotu
settprCommandUsage3=/<command> <world> maxvzdálenost<radius>
settprCommandUsage3=/<command> <svět> maxrange <dosah>
settprCommandUsage3Description=Nastaví maximální poloměr náhodného teleportu na danou hodnotu
settpr=<primary>Nastaven střed náhodné teleportace.
settprValue=<primary>Nastavena náhodná teleportace <secondary>{0}<primary> na <secondary>{1}<primary>.
@@ -1415,7 +1415,15 @@ tprCommandDescription=Náhodná teleportace.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleportuje tě na náhodné místo
tprCommandUsage2=/<command> <svět>
tprCommandUsage2Description=Teleportuje tě na náhodné místo v zadaném světě
tprCommandUsage3=/<command> <svět> <hráč>
tprCommandUsage3Description=Teleportuje zadaného hráče na náhodné místo v zadaném světě
tprOtherUser=<primary>Teleportuji<secondary> {0}<primary> na náhodné místo.
tprSuccess=<primary>Teleportace na náhodnou polohu...
tprSuccessDone=<primary>Proběhla teleportace tebe na náhodné místo.
tprNoPermission=<dark_red>Nemáš oprávnění použít toto místo.
tprNotExist=<dark_red>Toto náhodné umístění teleportu neexistuje.
tps=<primary>Aktuální TPS \= {0}
tptoggleCommandDescription=Blokuje všechny druhy teleportace.
tptoggleCommandUsage=/<command> [hráč] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>Tato cedule je plná\!
tradeSignSameType=<dark_red>Nemůžeš obchodovat za stejný typ předmětu.
treeCommandDescription=Vytvoří strom na místě, kam se díváš.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Vytvoří strom určitého typu na bloku, na který se díváš
treeFailure=<dark_red>Vytváření stromu selhalo. Zkus to znovu na trávě nebo na hlíně.
treeSpawned=<primary>Strom vytvořen.
@@ -1558,7 +1566,7 @@ west=Z
whoisAFK=<primary> - mimo počítač\:<reset> {0}
whoisAFKSince=<primary> - mimo počítač\:<reset> {0} (Od {1})
whoisBanned=<primary> - Zablokován\:<reset> {0}
whoisCommandDescription=Zjistí uživatelské jméno ukryté pod přezdívkou.
whoisCommandDescription=Poskytne základní informace o určitém hráči.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=Poskytne základní informace o určitém hráči
@@ -6,7 +6,7 @@ adventure=eventyr
afkCommandDescription=Markerer dig som værende inaktiv.
afkCommandUsage=/<command> [spiller/besked...]
afkCommandUsage1=/<command> [besked]
afkCommandUsage1Description=Ændrer din aktivitets status med en eventuel oversag
afkCommandUsage1Description=Ændrer din aktivitetsstatus med en eventuel årsag
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Ændrer aktivitets statussen for en specifik spiller med en eventuel oversag
alertBroke=ødelagde\:
@@ -90,6 +90,7 @@ bookAuthorSet=<primary>Bogens forfatter er ændret til {0}.
bookCommandDescription=Tillader genåbning og redigering af forseglede bøger.
bookCommandUsage=/<command> [titel|forfatter [navn]]
bookCommandUsage1=/<command>
bookCommandUsage1Description=Låser/Låser op for en bog-og-fjer/signeret bog
bookCommandUsage2=/<command> forfatter <author>
bookCommandUsage2Description=Sætter forfatteren til en underskrevet bog
bookCommandUsage3=/<command> titel <title>
@@ -247,11 +247,11 @@ discordCommandAccountResponseLinked=Dein Account ist mit dem Minecraft Account *
discordCommandAccountResponseLinkedOther={0}''s Account ist mit dem Minecraft Account **{1}** verknüpft
discordCommandAccountResponseNotLinked=Du hast keinen verknüpften Minecraft Account.
discordCommandAccountResponseNotLinkedOther={0} hat keinen verknüpften Minecraft Account.
discordCommandDescription=Sendet die Discord Einladungslink an den Spieler.
discordCommandDescription=Sendet den Discord Einladungslink an den Spieler.
discordCommandLink=<primary>Joine unserem Discord-Server bei auf <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Sendet die Discord Einladungslink an den Spieler
discordCommandUsage1Description=Sendet den 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}"
@@ -282,7 +282,7 @@ discordErrorNoToken=Kein Token bereitgestellt\! Bitte folgen Sie dem Tutorial in
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.
discordLinkInvalidGroup=Ungültige Gruppe {0} wurde für Rolle {1} bereitgestellt. Die folgenden Gruppen sind verfügbar\: {2}
discordLinkInvalidRole=Eine ungültige Rollen-ID, {0}, wurde für die Gruppe {1} bereitgestellt. Du kannst die Rollen-ID mit dem /roleinfo Befehl in Discord sehen.
discordLinkInvalidRoleInteract=Die Rolle, {0} ({1}), kann nicht für die Gruppen->Rollensynchronisierung verwendet werden, da sie über der obersten Rolle Ihres Bots liegt. Verschieben Sie entweder die Rolle Ihres Bots über "{0}" oder bewegen Sie sich "{0}" unter der Rolle Ihres Bots.
discordLinkInvalidRoleInteract=Die Rolle, {0} ({1}), kann nicht für die Gruppen->Rollensynchronisierung verwendet werden, da sie über der obersten Rolle deines Bots liegt. Verschiebe entweder die Rolle deines Bots über "{0}" oder bewege "{0}" unter die Rolle deines Bots.
discordLinkInvalidRoleManaged=Die Rolle, {0} ({1}), kann nicht für Gruppen->Rollensynchronisierung verwendet werden, da sie von einem anderen Bot oder einer anderen Integration verwaltet wird.
discordLinkLinked=<primary>Um dein Minecraft-Konto mit Discord zu verknüpfen, tippe <secondary>{0} <primary>in den Discord-Server.
discordLinkLinkedAlready=<primary>Du hast deinen Discord Account bereits verlinkt\! Wenn du die Verknüpfung deines Discord Accounts aufheben möchtest, nutze <secondary>/unlink<primary>.
@@ -627,7 +627,7 @@ jailList=<primary>Gefängnisse\:<reset> {0}
jailMessage=<dark_red>Du hast ein Verbrechen begangen, also musst du deine Zeit absitzen.
jailNotExist=<dark_red>Dieses Gefängnis existiert nicht.
jailNotifyJailed=<primary>Player<secondary> {0} <primary>wurde in den Knast gesteckt von <secondary>{1}.
jailNotifyJailedFor=<primary>Spieler<secondary> {0} <primary>verhaftet für<secondary> {1}<primary>durch <secondary>{2}<primary>.
jailNotifyJailedFor=<primary>Spieler<secondary> {0} <primary>verhaftet für<secondary> {1} <primary>von <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>Die Haftstrafe des Spielers <secondary>{0} <primary>wurde auf <secondary>{1} <primary>um <secondary>{2}<primary> verändert.
jailReleased=<primary>Spieler <secondary>{0}<primary> wurde freigelassen.
jailReleasedPlayerNotify=<primary>Du wurdest freigelassen\!
@@ -884,7 +884,7 @@ noPotionEffectPerm=<dark_red>Du darfst den Zaubertrankeffekt <secondary>{0} <dar
noPowerTools=<primary>Du hast keine Powertools zugewiesen.
notAcceptingPay=<dark_red>{0} <dark_red>akzeptiert keine Zahlungen.
notAllowedToLocal=<dark_red>Du hast keine Berechtigung, im lokalen Chat zu sprechen.
notAllowedToQuestion=<dark_red>Du hast keine Berechtigung das Frage System zu benutzen.
notAllowedToQuestion=<dark_red>Du hast keine Berechtigung Fragenachrichten zu senden.
notAllowedToShout=<dark_red>Du hast nicht die Erlaubnis zu schreien.
notEnoughExperience=<dark_red>Du hast nicht genug Erfahrung.
notEnoughMoney=<dark_red>Du hast nicht genug Guthaben.
@@ -1415,7 +1415,15 @@ tprCommandDescription=Teleportiere zufällig.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleportiert dich an einen zufälligen Ort
tprCommandUsage2=/<command> <world>
tprCommandUsage2Description=Teleportiert dich an einen zufälligen Ort in der angegebenen Welt
tprCommandUsage3=/<command> <world> <player>
tprCommandUsage3Description=Teleportiert den angegebenen Spieler an einen zufälligen Ort in der angegebenen Welt
tprOtherUser=<primary>Teleportieren von <secondary> {0}<primary> zu einem zufälligen Ort.
tprSuccess=<primary>Teleportiere zu einem zufälligen Standort...
tprSuccessDone=<primary>Du wurdest zu einer zufälligen Ort teleportiert.
tprNoPermission=<dark_red>Du hast keine Berechtigung diesen Ort zu nutzen.
tprNotExist=<dark_red>Diesert Ort für die zufällige Teleportation existiert nicht.
tps=<primary>Aktuelle TPS \= {0}
tptoggleCommandDescription=Blockiere alle Formen der Teleportation.
tptoggleCommandUsage=/<command> [spieler] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>Dieses Schild ist voll\!
tradeSignSameType=<dark_red>Du kannst nicht den gleichen Gegenstandstyp handeln.
treeCommandDescription=Erschaffe einen Baum, wo du schaust.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Erzeugt einen Baum des angegebenen Typs an der Stelle, an die du hinschaust
treeFailure=<dark_red>Baumgeneration fehlgeschlagen. Versuche es nochmal auf Gras oder Erde.
treeSpawned=<primary>Baum wurde gepflanzt.
@@ -1558,7 +1566,7 @@ west=W
whoisAFK=<primary> - Abwesend\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Seit {1})
whoisBanned=<primary> - Gesperrt\:<reset> {0}
whoisCommandDescription=Finde heraus, welcher Benutzername hinter einem Spitznamen steckt.
whoisCommandDescription=Ermittle grundlegende Informationen über den angegebenen Spieler.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <spieler>
whoisCommandUsage1Description=Gibt grundlegende Informationen über den angegebenen Spieler
@@ -6,7 +6,6 @@ adventure=περιπέτεια
afkCommandDescription=Σας χαρακτηρίζει ως μακριά-από-το-πληκτρολόγιο.
afkCommandUsage=/<command> [παίχτης/μήνυμα...]
afkCommandUsage1=/<command> [μήνυμα]
afkCommandUsage1Description=Ενεργοποιεί την κατάσταση afk με έναν προαιρετικό λόγο
afkCommandUsage2=/<command> <player> [μήνυμα]
afkCommandUsage2Description=Αλλάζει την κατάσταση afk του καθορισμένου παίκτη με έναν προαιρετικό λόγο
alertBroke=έσπασε\:
@@ -203,11 +202,9 @@ discordCommandAccountResponseLinked=Ο λογαριασμός σας συνδέ
discordCommandAccountResponseLinkedOther=Ο λογαριασμός του {0} συνδέεται με τον λογαριασμό Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=Δεν έχετε συνδεδεμένο λογαριασμό Minecraft.
discordCommandAccountResponseNotLinkedOther={0} δεν έχει συνδεδεμένο λογαριασμό Minecraft.
discordCommandDescription=Στέλνει το σύνδεσμο πρόσκλησης Discord στον παίκτη.
discordCommandLink=<primary>Ελάτε στον διακομιστή μας Discord στο <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Στέλνει τον σύνδεσμο πρόσκλησης στο Discord στον παίκτη
discordCommandExecuteDescription=Εκτελεί μια εντολή κονσόλας στον διακομιστή Minecraft.
discordCommandExecuteArgumentCommand=Η εντολή που πρέπει να εκτελεστεί
discordCommandExecuteReply=Εκτέλεση εντολής\: "/{0}"
@@ -6,7 +6,6 @@ adventure=adventure
afkCommandDescription=Marks you as away-from-keyboard.
afkCommandUsage=/<command> [player/message...]
afkCommandUsage1=/<command> [message]
afkCommandUsage1Description=Toggles your AFK status with an optional reason
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Toggles the afk status of the specified player with an optional reason
alertBroke=broke\:
@@ -247,7 +246,6 @@ discordCommandAccountResponseLinked=Your account is linked to the Minecraft acco
discordCommandAccountResponseLinkedOther={0}''s account is linked to the Minecraft account\: **{1}**
discordCommandAccountResponseNotLinked=You do not have a linked Minecraft account.
discordCommandAccountResponseNotLinkedOther={0} does not have a linked Minecraft account.
discordCommandDescription=Sends the Discord invite link to the player.
discordCommandLink=<primary>Join our Discord server at <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
@@ -885,7 +883,6 @@ noPotionEffectPerm=<dark_red>You do not have permission to apply potion effect <
noPowerTools=<primary>You have no power tools assigned.
notAcceptingPay=<dark_red>{0} <dark_red>is not accepting payment.
notAllowedToLocal=<dark_red>You don''t have permission to speak in local chat.
notAllowedToQuestion=<dark_red>You don''t have permission to send question messages.
notAllowedToShout=<dark_red>You don''t have permission to shout.
notEnoughExperience=<dark_red>You do not have enough experience.
notEnoughMoney=<dark_red>You do not have sufficient funds.
@@ -1416,6 +1413,7 @@ tprCommandDescription=Teleport randomly.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleports you to a random location
tprCommandUsage2=/<command> <world>
tprSuccess=<primary>Teleporting to a random location...
tps=<primary>Current TPS \= {0}
tptoggleCommandDescription=Blocks all forms of teleportation.
@@ -1428,7 +1426,6 @@ tradeSignFull=<dark_red>This sign is full\!
tradeSignSameType=<dark_red>You cannot trade for the same item type.
treeCommandDescription=Spawn a tree where you are looking.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Spawns a tree of the specified type where you''re looking
treeFailure=<dark_red>Tree generation failure. Try again on grass or dirt.
treeSpawned=<primary>Tree spawned.
@@ -1559,7 +1556,6 @@ west=W
whoisAFK=<primary> - AFK\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Since {1})
whoisBanned=<primary> - Banned\:<reset> {0}
whoisCommandDescription=Determine the username behind a nickname.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=Gives basic information about the specified player
@@ -1416,7 +1416,15 @@ tprCommandDescription=Teleport randomly.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleports you to a random location
tprCommandUsage2=/<command> <world>
tprCommandUsage2Description=Teleports you to a random location in the specified world
tprCommandUsage3=/<command> <world> <player>
tprCommandUsage3Description=Teleports the specified player to a random location in the specified world
tprOtherUser=<primary>Teleporting<secondary> {0}<primary> to a random location.
tprSuccess=<primary>Teleporting to a random location...
tprSuccessDone=<primary>You have been teleported to a random location.
tprNoPermission=<dark_red>You do not have permission to use that location.
tprNotExist=<dark_red>That random teleport location does not exist.
tps=<primary>Current TPS \= {0}
tptoggleCommandDescription=Blocks all forms of teleportation.
tptoggleCommandUsage=/<command> [player] [on|off]
@@ -1559,7 +1567,7 @@ west=W
whoisAFK=<primary> - AFK\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Since {1})
whoisBanned=<primary> - Banned\:<reset> {0}
whoisCommandDescription=Determine the username behind a nickname.
whoisCommandDescription=Determine basic information about the specified player.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=Gives basic information about the specified player
@@ -108,9 +108,11 @@ broadcastCommandUsage1=/<comando> <mensaje>
broadcastCommandUsage1Description=Retransmite el mensaje a todo el servidor
broadcastworldCommandDescription=Transmite un mensaje a un mundo.
broadcastworldCommandUsage=/<command> <world> <msg>
broadcastworldCommandUsage1=/<command> <world> <msg>
broadcastworldCommandUsage1Description=Retransmite el mensaje al mundo especificado
burnCommandDescription=Prende fuego a un jugador.
burnCommandUsage=/<command> <player> <seconds>
burnCommandUsage1=/<command> <player> <seconds>
burnCommandUsage1Description=Prende en llamas al jugador especificado por la cantidad especificada de segundos
burnMsg=<gray>Has puesto a {0} en fuego durante {1} segundos.
cannotSellNamedItem=<dark_red>No tienes permiso para vender un ítem nombrado.
@@ -124,9 +126,12 @@ cantReadGeoIpDB=¡Error al leer la base de datos de GeoIP\!
cantSpawnItem=<dark_red>No tienes acceso para producir el ítem<secondary> {0}<dark_red>.
cartographytableCommandDescription=Abre una mesa de cartografía.
cartographytableCommandUsage=/<command>
chatTypeLocal=<dark_aqua>[L]
chatTypeSpy=[Espía]
cleaned=Archivos de usuarios limpiados.
cleaning=Limpiando archivos de usuario.
clearInventoryConfirmToggleOff=<primary>
clearInventoryConfirmToggleOn=<primary>
clearinventoryCommandDescription=Elimina todos los objetos de tu inventario.
clearinventoryCommandUsage=/<command> [player|*] [item[\:<data>]|*|**] [amount]
clearinventoryCommandUsage1=/<command>
@@ -137,6 +142,9 @@ clearinventoryCommandUsage3=/<command> <player> <item> [cantidad]
clearinventoryCommandUsage3Description=Elimina todos (o la cantidad especificada) los objetos del inventario especificado del jugador
clearinventoryconfirmtoggleCommandDescription=Alterna la solicitud de confirmación al eliminar el inventario.
clearinventoryconfirmtoggleCommandUsage=/<command>
commandArgumentOptional=<gray>
commandArgumentOr=<secondary>
commandArgumentRequired=<yellow>
commandCooldown=<secondary>No puedes usar ese comando durante {0}.
commandDisabled=<secondary>El comando<primary> {0}<secondary> está deshabilitado.
commandFailed=Comando {0} fallido\:
@@ -237,11 +245,10 @@ discordCommandAccountResponseLinked=Tu cuenta está vinculada a la cuenta de Min
discordCommandAccountResponseLinkedOther=La cuenta de {0} está vinculada a la cuenta de Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=No tienes una cuenta de Minecraft vinculada.
discordCommandAccountResponseNotLinkedOther={0} no tiene una cuenta de Minecraft vinculada.
discordCommandDescription=Envía un enlace de invitación de Discord a un jugador.
discordCommandDescription=Envía el enlace de invitación de Discord a un jugador.
discordCommandLink=<primary>¡Únete a nuestro servidor de Discord en <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Envía un enlace de invitación de Discord a un jugador
discordCommandExecuteDescription=Ejecuta un comando de consola en el servidor de Minecraft.
discordCommandExecuteArgumentCommand=El comando a ejecutar
discordCommandExecuteReply=Ejecutando comando\: "/{0}"
@@ -272,7 +279,6 @@ discordErrorNoToken=¡No hay token\! Sigue el tutorial de configuración para po
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".
discordLinkInvalidGroup=Grupo inválido {0} proporcionado para el rol {1}. Los siguientes grupos están disponibles\: {2}
discordLinkInvalidRole=Un ID de rol inválido, {0}, ha sido proporcionado para el grupo\: {1}. Puedes ver el ID de los roles con el comando /roleinfo en Discord.
discordLinkInvalidRoleInteract=El rol, {0} ({1}), no se puede utilizar para la sincronización de roles debido a que está por encima del rol máximo de tu bot. Puedes mover el rol de tu bot encima de "{0}" o mover "{0}" debajo.
discordLinkInvalidRoleManaged=El rol, {0} ({1}), no se puede utilizar para sincronizar de roles debido a que está controlado por otro bot o integración.
discordLinkLinked=<primary>Para vincular tu cuenta de Minecraft a Discord, escribe <secondary>{0} <primary>en el servidor de Discord.
discordLinkLinkedAlready=<primary>Ya tienes vinculada tu cuenta de Discord\! Si deseas desvincularla usa <secondary>/unlink<primary>.
@@ -598,7 +604,6 @@ jailAlreadyIncarcerated=<dark_red>Ese jugador ya está en la cárcel\:<secondary
jailMessage=<secondary>¡Por el crimen hacer, a la cárcel irás\!
jailNotExist=<dark_red>Esa cárcel no existe.
jailNotifyJailed=<primary>El jugador<secondary> {0} <primary>ha sido encarcelado por <secondary>{1}.
jailNotifyJailedFor=<primary>El jugador<secondary> {0} <primary>ha sido encarcelado por<secondary> {1} <primary>por <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>El tiempo en cárcel <primary>del jugador<secondary>{0} <primary>ha sido extendido a <secondary>{1} <primary>por <secondary>{2}<primary>.
jailReleased=<primary>El jugador <secondary>{0}<primary> ha salido de la cárcel.
jailReleasedPlayerNotify=<gray>¡Has sido liberado\!
@@ -691,6 +696,11 @@ mailCommandUsage6Description=Envía a todos los jugadores el mensaje proporciona
mailCommandUsage7Description=Envía al jugador especificado el mensaje, el cual expirará en el tiempo de caducidad establecido
mailCommandUsage8Description=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=<primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <reset>{2}
mailFormatNewTimed=<primary>[<yellow>⚠<primary>] <primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <reset>{2}
mailFormatNewRead=<primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <gray><i>{2}
mailFormatNewReadTimed=<primary>[<yellow>⚠<primary>] <primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <gray><i>{2}
mailFormat=<primary>[<reset>{0}<primary>] <reset>{1}
mailMessage={0}
mailSent=<primary>¡El correo ha sido enviado\!
mailSentToExpire=<secondary>{0}<primary> se ha enviado el siguiente correo que expirará en <secondary>{1}<primary>\:
@@ -814,7 +824,6 @@ noPotionEffectPerm=<dark_red>No tienes permiso para aplicar el efecto<secondary>
noPowerTools=<primary>No tienes ninguna herramienta eléctrica asignada.
notAcceptingPay=<dark_red>{0} <dark_red>no esta aceptando pagos.
notAllowedToLocal=<dark_red>No tienes permiso para hablar en el chat local.
notAllowedToQuestion=<dark_red>No tienes permiso para usar la pregunta.
notAllowedToShout=<dark_red>No tienes permiso para gritar.
notEnoughExperience=<dark_red>No tienes la experiencia necesaria.
notEnoughMoney=<dark_red>No tienes dinero suficiente.
@@ -1400,7 +1409,6 @@ west=W
whoisAFK=<gray> - Ausente\:<reset> {0}
whoisAFKSince=<primary> - Ausente\:<reset> {0} (Desde {1})
whoisBanned=<gray> - Baneado\:<white> {0}
whoisCommandDescription=Determina el usuario real detrás de un apodo.
whoisCommandUsage1Description=Proporciona información básica sobre el jugador especificado
whoisExp=<gray> - Exp\:<white> {0} (Nivel {1})
whoisFly=<gray> - Modo volar\:<white> {0} ({1})
@@ -1,8 +1,8 @@
#Sat Feb 03 17:34:46 GMT 2024
action=<dark_purple>* {0} <dark_purple>{1}
adventure=seiklus
afkCommandDescription=Märgib sind kui klaviatuurist eemal.
afkCommandUsage=/<käsklus> [mängija/sõnum...]
afkCommandUsage1Description=Lülitab sinu eemalolekut valikulise põhjusega
afkCommandUsage2=/<käsklus> <mängija> [sõnum]
afkCommandUsage2Description=Lülitab valitud mängija eemalolekut valikulise põhjusega
alertBroke=lõhkus\:
@@ -66,6 +66,7 @@ bigTreeFailure=<dark_red>Suure puu genereerimisel esines viga. Proovi uuesti mur
bigTreeSuccess=<primary>Suur puu on tekitatud.
bigtreeCommandDescription=Tekitab vaadatavasse kohta suure puu.
bigtreeCommandUsage=/<käsklus> <tree|redwood|jungle|darkoak>
bigtreeCommandUsage1=/<command> <tree|redwood|jungle|darkoak>
bigtreeCommandUsage1Description=Loob valitud tüüpi suure puu
blockList=<primary>EssentialsX edastab järgnevad käsklused teistele pluginatele\:
blockListEmpty=<primary>EssentialsX ei edasta mistahes käsklusi teistele pluginatele.
@@ -199,8 +200,6 @@ discordbroadcastInvalidChannel=<dark_red>Discordi kanalit <secondary>{0}<dark_re
discordbroadcastPermission=<dark_red>Teil pole luba <secondary>{0}<dark_red> kanalile sõnumeid saata.
discordbroadcastSent=<primary>Sõnum saadetud kanalisse <secondary>{0}<primary>\!
discordCommandAccountResponseNotLinked=Sul ei ole seotud Minecrafti kontot.
discordCommandDescription=Saadab discordi kutse lingi mängijale.
discordCommandUsage1Description=Saadab discordi kutse lingi mängijale
discordCommandExecuteDescription=Täidab Minecrafti serveris konsoolikäsu.
discordCommandExecuteArgumentCommand=Käivitatav käsklus
discordCommandExecuteReply=Käskluse käivitamine\: "/{0}"
@@ -217,7 +216,6 @@ discordErrorLoggerInvalidChannel=Discordi konsooli logimine on keelatud kanali d
discordErrorLoggerNoPerms=Discordi konsooli logija on ebapiisavate õiguste tõttu keelatud\! Veenduge, et teie robotil on serveris õigused "Halda veebihaake". Pärast selle parandamist käivitage "/ess reload".
discordErrorWebhook=Error ilmnes saates sõnum konsooli kanalisse\! See ilmnes tõenäoliselt seetõttu, et oled kustutanud konsooli webhook''i. Seda saab tavaliselt parandada tehes kindlaks, et botil on "Manage Webhooks" õigus ja jooksutades käsklust "/ess reload".
discordLinkInvalidRole=Kehtetu rolli ID, {0}, anti grupile\: {1}. Sa saad näha rollide ID-d kasutades /roleinfo käsklust Discordis.
discordLinkInvalidRoleInteract=Rolli, {0} ({1}), ei saa kasutada grupp->roll sünkroonimisel, sest see on kõrgemal, kui boti roll. Tõsta boti roll kõrgemale, kui "{0}" või liiguta "{0}" boti rollist allapoole.
discordLinkInvalidRoleManaged=Rolli {0} ({1}) ei olnud võimalik kasutada grupp->roll sünkroonimisel, sest seda kasutatakse mõne teise boti või integratsiooni puhul.
discordLinkLinked=<primary>, et ühendada Minecrafti kasutaja Discordiga, kirjuta <secondary>{0} <primary> Discordi serveris.
discordLinkLinkedAlready=<primary> Sa oled juba ühendatud Discordi kasutajaga\! Kui soovid lahti ühendada, kasuta <secondary>/unlink<primary>.
@@ -541,7 +539,6 @@ jailList=<primary>Vanglad\:<reset> {0}
jailMessage=<dark_red>Sooritasid kuriteo, istud oma aja ära.
jailNotExist=<dark_red>Sellist vanglat pole olemas.
jailNotifyJailed=<primary>Mängija<secondary> {0} <primary>on <secondary>{1}<primary> poolt vangistatud.
jailNotifyJailedFor=<primary>Mängija<secondary> {0} <primary>on <secondary>{2}<primary> poolt vangistatud põhjusega<secondary> {1}<primary>.
jailNotifySentenceExtended=<primary>Mängija<secondary> {0} <primary>vangistusaega on <secondary>{2}<primary> poolt pikendatud ajani <secondary>{1}<primary>.
jailReleased=<primary>Mängija <secondary>{0}<primary> on vanglast vabastatud.
jailReleasedPlayerNotify=<primary>Sind vabastati vanglast\!
@@ -1155,6 +1152,8 @@ tptoggleCommandUsageDescription=Lülitab teleporteerumise kutsete vastuvõtmise
tradeSignEmpty=<dark_red>Kauplemissildil pole sulle midagi pakkuda.
tradeSignEmptyOwner=<dark_red>Siit kauplemissildilt pole midagi korjata.
treeCommandDescription=Tekitab vaadatavasse kohta puu.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Tekitab puu täpsustatud kohta, kuhu vaatad
treeFailure=<dark_red>Puu genereerimisel esines viga. Proovi uuesti muru või mulla peal.
treeSpawned=<primary>Puu on tekitatud.
@@ -1270,7 +1269,6 @@ west=lääs
whoisAFK=<primary> - Eemal\:<reset> {0}
whoisAFKSince=<primary> - Eemal\:<reset> {0} (alates {1})
whoisBanned=<primary> - Blokeeritud\:<reset> {0}
whoisCommandDescription=Uuri hüüdnime alusel välja kasutajanimi.
whoisCommandUsage1Description=Annab üldise informatsiooni täpsustatud mängija kohta
whoisExp=<primary> - Kogemuspunkte\:<reset> {0} (tase {1})
whoisFly=<primary> - Lennurežiim\:<reset> {0} ({1})
@@ -3,7 +3,6 @@ adventure=seikkailu
afkCommandDescription=Merkitsee sinut "näppäimistöltä-poistuneeksi".
afkCommandUsage=/<command> [pelaaja/viesti...]
afkCommandUsage1=/<command> [viesti]
afkCommandUsage1Description=Vaihtaa AFK-tilasi valitulla syyllä
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Vaihtaa määritellyn pelaajan AFK-tilan valitulla syyllä
alertBroke=rikkoi\:
@@ -932,7 +931,6 @@ weatherSunFor=<primary>Laitoit sään <secondary>aurinkoiseksi<primary> maailmaa
west=W
whoisAFKSince=<primary> - AFK\:<reset> {0} (ajan {1})
whoisBanned=<primary> - Bannattu\:<white> {0}
whoisCommandDescription=Näyttää lempinimen takana olevan käyttäjänimen.
whoisCommandUsage1Description=Antaa perustietoja määritetystä pelaajasta
whoisExp=<primary> - Exp\:<reset> {0} (Taso {1})
whoisFly=<primary> - Lento-tila\:<reset> {0} ({1})
@@ -172,9 +172,7 @@ discordbroadcastCommandUsage1Description=Ipapadala ang mensaheng tinutukoy sa ti
discordbroadcastInvalidChannel=<dark_red>Yung discord channel na <secondary>{0}<dark_red> does not exist.
discordbroadcastPermission=<dark_red>Hindi ka pinapayagang magdala ng mga mensahe sa <secondary>{0}<dark_red> channel.
discordbroadcastSent=<primary>Dinala ang mensahe kay <secondary>{0}<primary>\!
discordCommandDescription=Ipapadala ang Discord invite link sa manlalaro.
discordCommandLink=<primary>Sumali sa aming Discord server sa <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
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}"
@@ -1,12 +1,12 @@
#Sat Feb 03 17:34:46 GMT 2024
action=<dark_purple>* {0}<dark_purple>{1}
action=<dark_purple> {0} <dark_purple> {1}
addedToAccount=<yellow>{0}<green> ont été ajoutés à votre compte.
addedToOthersAccount=<yellow>{0}<green> ajoutés au compte de <yellow>{1}<green>. Nouveau solde \: <yellow>{2}
adventure=aventure
afkCommandDescription=Vous indique comme étant absent.
afkCommandUsage=/<command> [joueur/message...]
afkCommandUsage1=/<command> [message]
afkCommandUsage1Description=Active/Désactive votre statut afk avec une raison facultative
afkCommandUsage1Description="Active/Désactive" Votre statut AFK avec une raison facultative
afkCommandUsage2=/<command> <joueur> [message]
afkCommandUsage2Description=Active/Désactive le statut afk du joueur spécifié avec une raison facultative
alertBroke=a détruit \:
@@ -15,11 +15,11 @@ alertPlaced=a placé \:
alertUsed=a utilisé \:
alphaNames=<dark_red>Les pseudos ne peuvent contenir que des lettres, des chiffres et des sous-tirets.
antiBuildBreak=<dark_red>Vous n''êtes pas autorisé à casser des blocs de<secondary> {0} <dark_red>ici.
antiBuildCraft=<dark_red>Vous n''êtes pas autorisé à créer<secondary> {0}<dark_red>.
antiBuildDrop=<dark_red>Vous n''êtes pas autorisé à jeter<secondary> {0}<dark_red>.
antiBuildCraft=<dark_red>Vous n''êtes pas autorisé à créer<secondary> {0}<dark_red>
antiBuildDrop=<dark_red>Vous n''êtes pas autorisé à jeter<secondary> {0}<dark_red>
antiBuildInteract=<dark_red>Vous n''êtes pas autorisé à interagir avec<secondary> {0}<dark_red>.
antiBuildPlace=<dark_red>Vous n''êtes pas autorisé à placer<secondary> {0} <dark_red>ici.
antiBuildUse=<dark_red>Vous n''êtes pas autorisé à utiliser<secondary> {0}<dark_red>.
antiBuildUse=<dark_red>Vous n''êtes pas autorisé à utiliser<secondary> {0}<dark_red>
antiochCommandDescription=Une petite surprise pour les opérateurs.
antiochCommandUsage=/<command> [message]
anvilCommandDescription=Ouvre une enclume.
@@ -666,12 +666,14 @@ kitCommandUsage2=/<command> <kit> [joueur]
kitCommandUsage2Description=Vous donne le kit spécifié ou le donne à un autre joueur si spécifié
kitContains=<primary>Le kit <secondary>{0} <primary>contient \:
kitCost=\ <gray><i>({0})<reset>
kitDelay=<st>{0}<reset>
kitError=<secondary>Il n''y a pas de kits valides.
kitError2=<dark_red>Ce 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=<primary>Don du kit<secondary> {0}<primary> à <secondary>{1}<primary>.
kitInvFull=<secondary>Votre inventaire était plein, le kit est par terre.
kitInvFullNoDrop=<dark_red>Il n''y a pas assez de place dans votre inventaire pour ce kit.
kitItem=<primary>- <white>{0}
kitNotFound=<dark_red>Ce kit n''existe pas.
kitOnce=<dark_red>Vous ne pouvez pas utiliser ce kit de nouveau.
kitReceive=<primary>Kit<secondary> {0}<primary> reçu.
@@ -698,6 +700,7 @@ linkCommandDescription=Génère un code pour lier votre compte Minecraft à Disc
linkCommandUsage=/<command>
linkCommandUsage1=/<command>
linkCommandUsage1Description=Génère un code pour la commande /link sur Discord
listAfkTag=<gray>[AFK]<reset>
listAmount=<blue>Il y a <secondary>{0}<blue> joueurs en ligne sur <secondary>{1}<blue> au total.
listAmountHidden=<primary>Il y a <secondary>{0}<primary>/<secondary>{1}<primary> joueurs en ligne sur un maximum de <secondary>{2}<primary>.
listCommandDescription=Liste tous les joueurs en ligne.
@@ -708,6 +711,7 @@ listGroupTag=<primary>{0}<reset> \:
listHiddenTag=<gray>[MASQUÉ]<white>
listRealName=({0})
loadWarpError=<dark_red>Échec du chargement du point de téléportation {0}.
localFormat=<dark_aqua>[L] <reset>{0} {1}
loomCommandDescription=Ouvre un métier à tisser.
loomCommandUsage=/<command>
mailClear=<primary>Pour supprimer votre courrier, tapez<secondary> /mail clear<primary>.
@@ -733,6 +737,10 @@ mailCommandUsage7Description=Envoie au joueur spécifié le message qui expirera
mailCommandUsage8=/<command> sendtemp <joueur> <temps expiration> <message>
mailCommandUsage8Description=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=<primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <reset>{2}
mailFormatNewTimed=<primary>[<yellow>⚠<primary>] <primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <reset>{2}
mailFormatNewRead=<primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <gray><i>{2}
mailFormatNewReadTimed=<primary>[<yellow>⚠<primary>] <primary>[<reset>{0}<primary>] <primary>[<reset>{1}<primary>] <gray><i>{2}
mailFormat=
mailMessage={0}
mailSent=<primary>Courrier envoyé \!
@@ -782,6 +790,7 @@ msgDisabled=<primary>Réception des messages <secondary>désactivée<primary>.
msgDisabledFor=<primary>Réception des messages <secondary>désactivée <primary>pour <secondary>{0}<primary>.
msgEnabled=<primary>Réception des messages <secondary>activée<primary>.
msgEnabledFor=<primary>Réception des messages <secondary>activée <primary>pour <secondary>{0}<primary>.
msgFormat=<primary>[<secondary>{0}<primary> → <secondary>{1}<primary>] <reset>{2}
msgIgnore=<secondary>{0} <dark_red>a désactivé les messages.
msgtoggleCommandDescription=Bloque la réception de messages privés.
msgtoggleCommandUsage=/<command> [joueur] [on|off]
@@ -817,6 +826,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=<primary>Joueurs aux alentours \:<reset> {0}
nearbyPlayersList={0}<white>(<secondary>{1}m<white>)
negativeBalanceError=<dark_red>L''utilisateur n''est pas autorisé à avoir un solde négatif.
nickChanged=<primary>Surnom changé.
nickCommandDescription=Changer votre pseudo ou celui d''un autre joueur.
@@ -1014,6 +1024,7 @@ pWeatherOthersPermission=<secondary>Vous n''êtes pas autorisé à changer la m
pWeatherPlayers=Ces joueurs ont leur propre météo \:
pWeatherReset=La météo a été réinitialisée à \: <yellow>{0}
pWeatherSet=La météo du joueur a été réglée à <dark_aqua>{0}<white> pour \: <yellow>{1}
questionFormat=<dark_green>[Question]<reset> {0}
rCommandDescription=Répondre à l''expéditeur ou au receveur du dernier message privé.
rCommandUsage=/<command> <message>
rCommandUsage1=/<command> <message>
@@ -1140,8 +1151,12 @@ setjailCommandUsage=/<command> <nom de la cellule>
setjailCommandUsage1=/<command> <nom de la cellule>
setjailCommandUsage1Description=Définit la prison sur votre position actuelle avec le nom spécifié
settprCommandDescription=Définissez l''emplacement et les paramètres de téléportation aléatoires.
settprCommandUsage=/<command> <world> [centrer|portée minimale|portée maximale] [valeur]
settprCommandUsage1=/<command> <world> centre
settprCommandUsage1Description=Définit le centre du point de téléportation aléatoire sur votre position actuelle
settprCommandUsage2=/<command> <world> portée minimale <radius>
settprCommandUsage2Description=Définit le rayon minimal de téléportation aléatoire sur la valeur spécifiée
settprCommandUsage3=/<command> <world> portée maximale <radius>
settprCommandUsage3Description=Définit le rayon maximal de téléportation aléatoire sur la valeur spécifiée
settpr=<primary>Définit le centre de la téléportation aléatoire.
settprValue=<primary>Téléportation aléatoire <secondary>{0}<primary> défini à <secondary>{1}<primary>.
@@ -1185,6 +1200,8 @@ editsignCommandUsage3=/<command> copy [numéro de ligne]
editsignCommandUsage3Description=Copie la totalité (ou la ligne spécifiée) de la pancarte ciblée vers votre presse-papiers
editsignCommandUsage4=/<command> paste [numéro de ligne]
editsignCommandUsage4Description=Colle votre presse-papiers sur la totalité (ou la ligne spécifiée) de la pancarte ciblée
signFormatFail=<dark_red>[{0}]
signFormatSuccess=<dark_blue>[{0}]
signFormatTemplate=[{0}]
signProtectInvalidLocation=<dark_red>Vous n''avez pas l''autorisation de créer une pancarte ici.
similarWarpExist=<dark_red>Un point de téléportation existe déjà sous ce nom.
@@ -1193,22 +1210,29 @@ south=S
southWest=SO
skullChanged=<primary>Tête changée en celle de <secondary>{0}<primary>.
skullCommandDescription=Définit le propriétaire d''une tête
skullCommandUsage=/<command> [Propriétaire] [Joueur]
skullCommandUsage1=/<command>
skullCommandUsage1Description=Obtenir votre crâne
skullCommandUsage2=/<command> <joueur>
skullCommandUsage2Description=Obtenir le crâne du joueur spécifié
skullCommandUsage3=/<command> <texture>
skullCommandUsage3Description=Obtient une tête avec la texture spécifiée (soit le hash à partir d''une URL de texture ou d''une valeur de texture Base64)
skullCommandUsage4=/<command> <owner> <player>
skullCommandUsage4Description=Donne un crâne du propriétaire spécifié à un joueur spécifié
skullCommandUsage5=/<command> <texture> <player>
skullCommandUsage5Description=Obtient une tête avec la texture spécifiée (soit le code à partir d''une URL de texture ou d''une valeur de texture Base64)
skullInvalidBase64=<dark_red>La valeur de texture est invalide.
slimeMalformedSize=<dark_red>Taille incorrecte.
smithingtableCommandDescription=Ouvre une table de forgeron.
smithingtableCommandUsage=/<command>
socialSpy=<primary>SocialSpy pour <secondary>{0}<primary> \: <secondary>{1}
socialSpyMsgFormat=<primary>[<secondary>{0}<gray> → <secondary>{1}<primary>] <gray>{2}
socialSpyMutedPrefix=<white>[<primary>SS<white>] <gray>(muet) <reset>
socialspyCommandDescription=Active ou désactive l''affichage des commandes msg/mail dans le chat.
socialspyCommandUsage=/<command> [joueur] [on|off]
socialspyCommandUsage1=/<command> [joueur]
socialspyCommandUsage1Description=Active/désactive le mode espion pour vous-même ou pour un autre joueur si spécifié
socialSpyPrefix=<white>[<primary>SS<white>] <reset>
soloMob=Cette créature préfère être seule.
spawned=invoqué(s)
spawnerCommandDescription=Change le type de créature d''un générateur.
@@ -1391,7 +1415,15 @@ tprCommandDescription=Se téléporter aléatoirement.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Vous téléporte à un emplacement aléatoire
tprCommandUsage2=/<command> <world>
tprCommandUsage2Description=Vous téléporte vers un emplacement aléatoire dans le monde spécifié
tprCommandUsage3=/<command><command> <world> <player>
tprCommandUsage3Description=Téléporte le joueur spécifié à un endroit aléatoire dans le monde spécifié
tprOtherUser=<primary>Téléportation<secondary> {0}<primary> à un emplacement aléatoire.
tprSuccess=<primary>Téléportation vers une position aléatoire...
tprSuccessDone=<primary>
tprNoPermission=<dark_red>Vous n''êtes pas autorisé à utiliser la question.
tprNotExist=<dark_red>Cet emplacement de téléportation aléatoire n''existe pas.
tps=<primary>TPS actuel \= {0}
tptoggleCommandDescription=Bloque toutes les formes de téléportation.
tptoggleCommandUsage=/<command> [joueur] [on|off]
@@ -1402,8 +1434,8 @@ tradeSignEmptyOwner=Il n''y a rien à collecter de cette pancarte d''échange co
tradeSignFull=<dark_red>Ce panneau est complet\!
tradeSignSameType=<dark_red>Vous ne pouvez pas échanger le même type d''objet.
treeCommandDescription=Fait apparaître un arbre où vous regardez.
treeCommandUsage=
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Fait apparaître un arbre du type spécifié à l''emplacement où vous regardez
treeFailure=<secondary>Échec de la génération de l''arbre. Essayez de nouveau sur de l''herbe ou de la terre.
treeSpawned=<primary>Arbre généré.
@@ -1534,7 +1566,7 @@ west=O
whoisAFK=<primary> - AFK \:<reset> {0}
whoisAFKSince=<primary> - AFK \:<reset> {0} (Depuis {1})
whoisBanned=<primary> - Banni(s) \:<reset> {0}
whoisCommandDescription=Détermine le nom d''utilisateur derrière un surnom.
whoisCommandDescription=Détermine les informations de base sur le joueur spécifié.
whoisCommandUsage=/<command> <surnom>
whoisCommandUsage1=/<command> <joueur>
whoisCommandUsage1Description=Donne des informations basiques sur le joueur spécifié
@@ -1556,6 +1588,7 @@ whoisNick=<primary> - Surnom \:<reset> {0}
whoisOp=<primary> - OP \:<white> {0}
whoisPlaytime=<primary> - Temps de jeu \:<reset> {0}
whoisTempBanned=<primary> - Expiration du bannissement \:<reset> {0}
whoisTop=<primary>\=\=\=\=\=\= Qui est \: <secondary>{0}<primary>\=\=\=\=\=\=
whoisUuid=<primary> - UUID \:<reset> {0}
whoisWhitelist=<primary> - Liste Blanche \:<reset>{0}
workbenchCommandDescription=Ouvre un établi.
@@ -6,7 +6,6 @@ adventure=הרפתקה
afkCommandDescription=שם אותך כ-רחוק מהמקלדת.
afkCommandUsage=[שחקן/הודעה...]
afkCommandUsage1=/<command> [הודעה]
afkCommandUsage1Description=מחליף את מצב ה-רחוק מהמקלדת שלך עם סיבה אופציונלית
afkCommandUsage2=[הודעה]
afkCommandUsage2Description=מחליף את מצב ה-רחוק מהמקלדת של השחקן הספציפי עם סיבה אופציונלית
alertBroke=נשבר\:
@@ -247,11 +246,9 @@ discordCommandAccountResponseLinked=המשתמש שלך מחובר למשתמש
discordCommandAccountResponseLinkedOther=המשתמש של {0} מחובר למשתמש המיינקראפט\: **{1}**
discordCommandAccountResponseNotLinked=אין לך משתמש מיינקראפט מחובר.
discordCommandAccountResponseNotLinkedOther=ל{0} אין משתמש מיינקראפט מחובר.
discordCommandDescription=שולח את קישור הזמנת הדיסקורד לשחקן.
discordCommandLink=<primary>הצטרף לשרת הDiscord שלנו בכתובת <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=שולח את קישור הזמנה לדיסקרוד לשחקן
discordCommandExecuteDescription=מבצע פקודת קונסולה בשרת מיינקראפט.
discordCommandExecuteArgumentCommand=הפקודה שיש לבצע
discordCommandExecuteReply=מבצע פקודה\: "\\{0}"
@@ -282,7 +279,6 @@ discordErrorNoToken=אין לבוט token\! אנא עקובו אחר המדרי
discordErrorWebhook=אירעה שגיאה בעת שליחת הודעות לערוץ הקונסולה שלכם\! זה כנראה נגרם על ידי מחיקה בטעות של ה-webhook של הקונסולה שלכם. אפשר לתקן את זה, פשוט מאוד הגדירו מחדש את ההרשאות "Manage Webhooks" והריצו את הפקודה "\\ess reload".
discordLinkInvalidGroup=קבוצה לא מאופשרת {0} קיבלה את התפקיד {1}. הקבוצות הבאות מאופשרות\: {2}
discordLinkInvalidRole=מזהה תפקיד לא חוקי, {0}, סופק עבור הקבוצה\: {1}. אתה יכול לראות את מזהה התפקידים עם הפקודה roleinfo/ ב-Discord.
discordLinkInvalidRoleInteract=לא ניתן להשתמש בתפקיד, {0} ({1}), לסנכרון קבוצה->תפקידים מכיוון שהוא מעל התפקיד העליון של הבוט שלך. העבר את תפקיד הבוט שלך מעל "{0}" או העבר את "{0}" מתחת לתפקיד הבוט שלך.
discordLinkInvalidRoleManaged=לא ניתן להשתמש בתפקיד, {0} ({1}), לסנכרון קבוצה->תפקידים מכיוון שהוא מנוהל על ידי בוט או אינטגרציה אחרים.
discordLoggingIn=מנסה להיכנס לדיסקורד...
discordLoggingInDone=נכנס בהצלחה בתור {0}
@@ -2,7 +2,6 @@
adventure=एडवेंचर
afkCommandDescription=आपको Afk के रूप में चिह्नित करता है।
afkCommandUsage=/<command> [खिलाड़ी/संदेश...]
afkCommandUsage1Description=वैकल्पिक कारण के साथ आपकी afk स्थिति को टॉगल करता है
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=वैकल्पिक कारण के साथ निर्दिष्ट खिलाड़ी की afk स्थिति को टॉगल करता है
alertBroke=टूटा हुआ\:
@@ -53,6 +53,7 @@ bookCommandUsage=/<command> [title|author [name]]
bookCommandUsage2=/<command> author <author>
bookLocked=<primary>Ova knjiga je sada zaključana.
bookTitleSet=<primary>Naslov knjige postavljen na {0}.
broadcastCommandDescription=Šalje poruku cijelom poslužitelju.
burnMsg=<primary>Zapaslio si <secondary> {0} <primary>na<secondary> {1} sekundi<primary>.
cannotStackMob=<dark_red>Nemaš dozvolu spajati više bića.
canTalkAgain=<primary>Sada opet možes razgovarati.
@@ -247,11 +247,11 @@ discordCommandAccountResponseLinked=A fiókod hozzá van kötve a következő Mi
discordCommandAccountResponseLinkedOther={0}-nek/nek a fiókja a következő Minecraft fiókhoz van kötve\: **{1}**
discordCommandAccountResponseNotLinked=Nincs csatlakoztatott Minecraft fiókod.
discordCommandAccountResponseNotLinkedOther={0}-nek/nek nincs Minecraft fiókja csatlakoztatva.
discordCommandDescription=Elküldi a discord meghívó linket a játékosnak.
discordCommandDescription=Elküldi a Discord meghívó linket a játékosnak.
discordCommandLink=<primary>Csatlakozz a Discord szerverünkhöz itt\: <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Discord meghívó link küldése egy játékosnak
discordCommandUsage1Description=Discord meghívó link küldése a játékosnak
discordCommandExecuteDescription=Végrehajt egy konzol parancsot a Minecraft szerveren.
discordCommandExecuteArgumentCommand=A végrehajtandó parancs
discordCommandExecuteReply=Parancs végrehajtása\: "/{0}"
@@ -627,7 +627,7 @@ jailList=<primary>Börtönök\:<reset> {0}
jailMessage=<dark_red>Ha bűncselekményt követsz el, akkor leülöd az időt.
jailNotExist=<dark_red>Ez a börtön nem létezik.
jailNotifyJailed=<secondary>{0} <primary>játékos börtönbe került <secondary>{1} <primary> által.
jailNotifyJailedFor=<secondary> {0} <primary>játékos börtönbe került <secondary> {1}<primary> másodpercre <secondary>{2}<primary> által.
jailNotifyJailedFor=<secondary>{0} <primary>játékos bebörtönözve<secondary> {1} <primary>időre <secondary>{2}<primary> által.
jailNotifySentenceExtended=<secondary>{0} <primary>játékos börtön ideje kibővült <secondary>{1} <primary>időre <secondary>{2}<primary> által.
jailReleased=<secondary>{0}<primary> kiengedve a börtönből.
jailReleasedPlayerNotify=<primary>Kiengedtek a börtönből\!
@@ -663,7 +663,7 @@ kitCommandUsage=/<command> [csomag] [játékos]
kitCommandUsage1=/<command>
kitCommandUsage1Description=Lista az összes elérhető felszerelésről
kitCommandUsage2=/<command> <kit> [játékos]
kitCommandUsage2Description=Ad egy megadott kit-et neked vagy egy megadott játékosnak
kitCommandUsage2Description=Ad egy megadott felszerelést neked vagy egy megadott játékosnak
kitContains=<primary>A(z) <secondary>{0} <primary>csomag tartalmaz\:
kitCost=\ <gray><i>({0})<reset>
kitDelay=<st>{0}<reset>
@@ -714,25 +714,25 @@ loadWarpError=<dark_red>Nem sikerült a warp betöltése {0}.
localFormat=<dark_aqua>[L] <reset><{0}> {1}
loomCommandDescription=Megnyit egy szövőszéket.
loomCommandUsage=/<command>
mailClear=<primary>Hogy töröld a leveled, írd be<secondary> /mail clear<primary>.
mailClear=<primary>A levelek törléséhez használd a<secondary> /mail clear<primary> parancsot.
mailCleared=<primary>Levél törölve\!
mailClearedAll=<primary>Minden játékosnál törlésre kerültek a levelek\!
mailClearIndex=<dark_red>Meg kell határoznod egy számot 1 és {0} között.
mailCommandDescription=Kezeli a játékosok közötti, szerveren belüli e-maileket.
mailCommandUsage=/<command> [read|clear|clear [szám]|clear <játékos> [szém]|send [játékos] [üzenet]|sendtemp [játékos] [lejárati idő] [üzenet]|sendall [üzenet]]
mailCommandUsage=/<command> [read|clear|clear [szám]|clear <játékos> [szám]|send [játékos] [üzenet]|sendtemp [játékos] [lejárati idő] [üzenet]|sendall [üzenet]]
mailCommandUsage1=/<command> read [oldal]
mailCommandUsage1Description=Elolvassa az első (vagy amennyiben megvan adva) oldalt a leveleidből
mailCommandUsage2=/<command> clear [összeg]
mailCommandUsage2Description=Törli az összes, vagy csak a megadott levél(eke)t
mailCommandUsage2Description=Törli az összes, vagy csak a megadott levele(ke)t
mailCommandUsage3=/<command> clear <játékos> [szám]
mailCommandUsage3Description=Törli az összes, vagy csak a megadott levél(eke)t a megadott játékosnál
mailCommandUsage3Description=Törli az összes, vagy csak a megadott levele(ke)t megadott játékosnál
mailCommandUsage4=/<command> clearall
mailCommandUsage4Description=Törli az összes levélt az összes játékosnál
mailCommandUsage5=/<command> send <jtáékos> <üzenet>
mailCommandUsage5=/<command> send <játékos> <üzenet>
mailCommandUsage5Description=Üzenetet küld a megadott játékosnak
mailCommandUsage6=/<command> sendall <szöveg>
mailCommandUsage6Description=Elküldi az összes játékosnak a megadott üzenetet
mailCommandUsage7=/<command> sendtemp <jtáékos> <lejárati idő> <üzenet>
mailCommandUsage7=/<command> sendtemp <játékos> <lejárati idő> <üzenet>
mailCommandUsage7Description=Elküldi a megadott játékosnak a megadott üzenetet, ami lejár a megadott időben
mailCommandUsage8=/<command> sendtempall <lejárati idő> <üzenet>
mailCommandUsage8Description=Elküldi az összes játékosnak a megadott üzenetet, ami lejár a megadott időben
@@ -745,7 +745,7 @@ mailFormat=<primary>[<reset>{0}<primary>] <reset>{1}
mailMessage={0}
mailSent=<primary>Levél elküldve\!
mailSentTo=<secondary>{0}<primary>-nek/nak elküldtük a következő levelet\:
mailSentToExpire=<secondary>{0}<primary> elküldte az alábbi levelet, ami lejár <secondary>{1}<primary> belűl\:
mailSentToExpire=<secondary>{0}<primary> elküldte az alábbi levelet, ami lejár <secondary>{1}<primary> belül\:
mailTooLong=<dark_red>A levél túl hosszú. Próbálj meg 1000 karakter alatt maradni.
markMailAsRead=<primary>Hogy olvasottnak jelöld a leveled, írd be<secondary> /mail clear<primary>.
matchingIPAddress=<primary>Az alábbi játékosok csatlakoztak utoljára erről az IP címről\:
@@ -784,7 +784,7 @@ motdCommandUsage=/<command> [fejezet] [oldal]
moveSpeed=<primary>Sebesség típus\:<secondary> {0}<primary>, sebesség\:<secondary> {1}<primary>-ra/re<secondary> {2}<primary>-nak/nek.
msgCommandDescription=Privát üzenetet küld a megadott játékosnak.
msgCommandUsage=/<command> <neki> <üzenet>
msgCommandUsage1=/<command> <neki> <üzenet>
msgCommandUsage1=/<command> <felhasználó> <üzenet>
msgCommandUsage1Description=Privát üzenet küldése egy megadott játékosnak
msgDisabled=<primary>Üzenetek fogadása <secondary>letiltva<primary>.
msgDisabledFor=<primary>Üzenetek fogadása <secondary>letiltva <secondary>{0}<primary>-nak/nek.
@@ -802,7 +802,7 @@ muteCommandDescription=A játékos lenémítása vagy a lenémításának megsz
muteCommandUsage=/<command> <játékos> [időtartam] [ok]
muteCommandUsage1=/<command> <játékos>
muteCommandUsage1Description=Örökletesen némítja a megadott játékost, vagy feloldja a némítást, amennyiben már némítva voltak
muteCommandUsage2=/<command> <játékos> <datediff> [indok]
muteCommandUsage2=/<command> <játékos> <idő> [indok]
muteCommandUsage2Description=Némítja a megadott játékost megadott időre opcionális indokkal
mutedPlayer=<secondary>{0} <primary>lenémítva.
mutedPlayerFor=<secondary>{0} <primary>lenémítva<secondary> {1}<primary>-ra/-re.
@@ -846,7 +846,7 @@ nickNamesAlpha=<dark_red>A becenevek alfanumerikus karakterekből kell, hogy ál
nickNamesOnlyColorChanges=<dark_red>A beceneveknek csak a színeik változtathatóak.
nickNoMore=<primary>Nincs többé beceneved.
nickSet=<primary>A beceneved mostantól\: <secondary>{0}<primary>.
nickTooLong=<primary>Ez a becenév túl hosszú.
nickTooLong=<dark_red>Ez a becenév túl hosszú.
noAccessCommand=<dark_red>Nincs hozzáférésed ehhez a parancshoz.
noAccessPermission=<dark_red>Nincs jogosultságod ehhez hozzáférni\: <secondary>{0}<dark_red>.
noAccessSubCommand=<dark_red>Nincs hozzáférésed ehhez <secondary>{0}<dark_red>.
@@ -870,7 +870,7 @@ noMetaComponents=Az adatkomponensek nem támogatottak ebben a Bukkit verzióban.
noMetaFirework=<dark_red>Nincs jogosultságod, hogy alkalmazd ezt a tűzijáték meta-t.
noMetaJson=A JSON Metaadat nem támogatott a Bukkit ezen verziójában.
noMetaNbtKill=JSON NBT metaadat nem támogatott többé. Konvertálnod kell a megadott tárgyakat adatkomponensé. Konvertálni JSON NBT adatokat adatkomponensé itt tudsz\: https\://docs.papermc.io/misc/tools/item-command-converter
noMetaPerm=<dark_red>Nincs jogosultságod alkalmazni ezt a meta-t <secondary>{0}<dark_red> erre az elemre.
noMetaPerm=<dark_red>Nincs jogosultságod alkalmazni a <secondary>{0}<dark_red> meta-t erre az elemre.
none=senki
noNewMail=<primary>Nincs új leveled.
nonZeroPosNumber=<dark_red>Nullától eltérő számra van szükség.
@@ -884,7 +884,7 @@ noPotionEffectPerm=<dark_red>Nincs jogosultságod a főzet effekt alkalmazásár
noPowerTools=<primary>Nincsenek power tools hozzárendeléseid.
notAcceptingPay=<dark_red>{0} <dark_red>nem fogad el fizetést.
notAllowedToLocal=<dark_red>Nincs megfelelő jogosultságod, hogy beszélj a helyi chat-en.
notAllowedToQuestion=<dark_red>Nincs jogosultságod, hogy használd a kérdést.
notAllowedToQuestion=<dark_red>Nincs jogosultságod kérdéseket küldeni.
notAllowedToShout=<dark_red>Nincs jogosultságod, hogy kiálts.
notEnoughExperience=<dark_red>Nincs elég tapasztalatod.
notEnoughMoney=<dark_red>Nincs elegendő pénzed.
@@ -954,13 +954,13 @@ playtime=<primary>Játékidő\:<secondary> {0}
playtimeOther=<primary>{1} játékideje\:<secondary> {0}
pong=Pong\!
posPitch=<primary>Szög\: {0} (Fej szöge)
possibleWorlds=<primary>Lehetséges világok a száma <secondary>0<primary> keresztül <primary><secondary>{0}.
possibleWorlds=<primary>Lehetséges világok száma <secondary>0<primary>-tól <primary><secondary>{0}-ig.
potionCommandDescription=Egyéni főzethatásokat adhatsz hozzá egy italhoz.
potionCommandUsage=/<command> <clear|apply|effect\:<effekt> power\:<erő> duration\:<hosszúság>>
potionCommandUsage1=/<command> clear
potionCommandUsage1Description=Törli az összes effektet a kézben tartott főzetről
potionCommandUsage2=/<command> apply
potionCommandUsage2Description=Aktiválja az összes effektet a kézben tartott főzeten, főzet fogyasztása nélkűl
potionCommandUsage2Description=Aktiválja az összes effektet a kézben tartott főzeten, főzet fogyasztása nélkül
potionCommandUsage3=/<command> effekt\:<effect> erő\:<power> idő\:<duration>
potionCommandUsage3Description=Alkalmazza az adott főzet metaadatát a kézben tartott főzeten
posX=<primary>X\: {0} (+Kelet <-> -Nyugat)
@@ -975,7 +975,7 @@ powerToolClearAll=<primary>Az összes powertool parancs törölve.
powerToolList=<secondary>{1}<primary>-n a következő parancsok vannak\: <secondary>{0}<primary>.
powerToolListEmpty=<secondary>{0}<dark_red>-hoz egy parancs sincs csatolva.
powerToolNoSuchCommandAssigned=<dark_red>A(z)<secondary> {0}<dark_red> parancs nincs beállítva <secondary>{1}<dark_red>-hoz/-hez.
powerToolRemove=<dark_red>A(z)<secondary> {0}<dark_red> parancs el lett távolítva <secondary>{1}<dark_red>-ról/-ről.
powerToolRemove=<primary>A(z)<secondary> {0}<primary> parancs el lett távolítva <secondary>{1}<primary>-ról/-ről.
powerToolRemoveAll=<primary>Az összes parancs eltávolítva <secondary>{0}<primary>-ról/-ről.
powerToolsDisabled=<primary>Az összes power tool-os eszközöd letiltva.
powerToolsEnabled=<primary>Az összes power tool-os eszközöd engedélyezve.
@@ -1415,7 +1415,15 @@ tprCommandDescription=Véletlenszerű teleportálás.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleportál egy random helyre.
tprCommandUsage2=/<command> <világ>
tprCommandUsage2Description=A megadott világ egy véletlenszerű helyére teleportál
tprCommandUsage3=/<command> <világ> <játékos>
tprCommandUsage3Description=Teleportálja a megadott játékost a megadott világ egy véletlenszerű helyére
tprOtherUser=<primary>Teleportálása<secondary> {0}<primary> egy rnadom helyre.
tprSuccess=<primary>Teleportálás egy véletlenszerű helyre...
tprSuccessDone=<primary>El lettél random teleportálva.
tprNoPermission=<dark_red>Nincs jogosultságod, hogy használd azt a helyszínt.
tprNotExist=<dark_red>Az a random teleportáció helyszín nem létezik.
tps=<primary>Jelenlegi TPS \= {0}
tptoggleCommandDescription=Blokkolja a teleportálás minden formáját.
tptoggleCommandUsage=/<command> [játékos] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>Ez a tábla tele van\!
tradeSignSameType=<dark_red>Nem cserélhetsz ugyanolyan tárgyat.
treeCommandDescription=Létrehoz egy fát oda, ahova nézel.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Létrehoz egy fát a megadott típusban, ahova nézel.
treeFailure=<dark_red>Fa generálási hiba. Próbáld újra a földön.
treeSpawned=<primary>Fa idézve.
@@ -1558,7 +1566,7 @@ west=NY
whoisAFK=<primary> - Nincs gépnél\:<reset> {0}
whoisAFKSince=<primary> - Nincs gépnél\:<reset> {0} (Mivel {1})
whoisBanned=<primary> - Kitiltva\:<reset> {0}
whoisCommandDescription=Határozd meg a becenév mögötti a felhasználónevet.
whoisCommandDescription=Alapvető információk meghatározása a megadott játékosról.
whoisCommandUsage=/<command> <becenév>
whoisCommandUsage1=/<command> <játékos>
whoisCommandUsage1Description=Alap információkat ad a játékosról
@@ -1589,7 +1597,7 @@ worldCommandDescription=Váltás a világok között.
worldCommandUsage=/<command> [világ]
worldCommandUsage1=/<command>
worldCommandUsage1Description=Teleportál a megfelelő helyre a netherben vagy a normál világban
worldCommandUsage2=/<command> <world>
worldCommandUsage2=/<command> <világ>
worldCommandUsage2Description=Teleportál a helyzetedhez a megadott világban
worth=<green>Stackelés {0} érdemes <secondary>{1}<green> ({2} elem(ek) {3} minden)
worthCommandDescription=Kiszámítja a kézben lévő vagy a megadott tárgy értékét.
@@ -20,7 +20,7 @@ antiBuildDrop=<dark_red>Non hai il permesso di droppare un<secondary> {0}<dark_r
antiBuildInteract=<dark_red>Non hai il permesso di interagire con<secondary> {0}<dark_red>.
antiBuildPlace=<dark_red>Non hai il permesso di piazzare<secondary> {0} <dark_red>qui.
antiBuildUse=<dark_red><dark_red>Non hai il permesso di utilizzare <secondary>{0}<dark_red>.
antiochCommandDescription=Sorpresina per i super operatori <3.
antiochCommandDescription=Sorpresina per i super operatori.
antiochCommandUsage=/<command> [messaggio]\n
anvilCommandDescription=Apre un''incudine.
anvilCommandUsage=/<command>
@@ -247,11 +247,10 @@ discordCommandAccountResponseLinked=Il tuo account Discord è collegato all''acc
discordCommandAccountResponseLinkedOther=L''account Discord di {0} è associato all''account Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=Non hai ancora associato un account Minecraft.
discordCommandAccountResponseNotLinkedOther={0} non ha un account Minecraft associato.
discordCommandDescription=Invia un link d''invito per il server Discord.
discordCommandDescription=Invia il link di invito per il server Discord al giocatore.
discordCommandLink=<primary>Unisciti al nostro server Discord\: <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Invia il link di invito per il server Discord al giocatore
discordCommandExecuteDescription=Esegue un comando all''interno del server Minecraft come Console.
discordCommandExecuteArgumentCommand=Il comando da eseguire
discordCommandExecuteReply=Esecuzione del comando\: "/{0}"
@@ -282,7 +281,6 @@ discordErrorNoToken=Nessun token inserito\! Segui il tutorial nel file di config
discordErrorWebhook=Errore durante l''invio di un messaggio nel canale della console\! Probabilmente è stato causato dall''eliminazione involontaria del webhook della console. Puoi risolvere il problema assicurandoti che il tuo bot abbia il permesso "Manage Webhooks" ed eseguendo il comando "/ess reload".
discordLinkInvalidGroup=Gruppo {0} non valido per il ruolo {1}. Gruppi disponibili\: {2}
discordLinkInvalidRole=ID ruolo {0} non valido per il gruppo\: {1}. Puoi visualizzare l''ID dei ruoli usando il comando /roleinfo su Discord.
discordLinkInvalidRoleInteract=Il ruolo {0} ({1}) non può essere utilizzato per la sincronizzazione gruppo->ruolo perché ha un ruolo più alto del tuo bot. Fornisci al bot un ruolo maggiore di "{0}" oppure sposta "{0}" sotto il ruolo del bot.
discordLinkInvalidRoleManaged=Il ruolo {0} ({1}) non può essere utilizzato per la sincronizzazione gruppo->ruolo perché è gestito da un altro bot o da un''altra integrazione.
discordLinkLinked=<primary>Per associare il tuo account Minecraft a Discord, digita <secondary>{0} <primary>nel server di Discord.
discordLinkLinkedAlready=<primary>Hai già associato il tuo account Discord\! Se lo vuoi scollegare esegui il comando <secondary>/unlink<primary>.
@@ -627,7 +625,6 @@ jailList=<primary>Prigioni\:<reset> {0}
jailMessage=<dark_red>Avrai tempo per riflettere... in prigione.
jailNotExist=<dark_red>Quella prigione non esiste.
jailNotifyJailed=<primary>Il giocatore<secondary> {0} <primary>è stato incarcerato da <secondary>{1}.
jailNotifyJailedFor=<primary>Il giocatore<secondary> {0} <primary>è stato incarcerato per<secondary> {1} <primary>da <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>La pena di<secondary>{0}<primary>è stata estesa a <secondary>{1} <primary>da <secondary>{2}<primary>.
jailReleased=<primary>Il giocatore <secondary>{0}<primary> è stato scarcerato.
jailReleasedPlayerNotify=<primary>Sei stato scarcerato\!
@@ -884,7 +881,6 @@ noPotionEffectPerm=<dark_red>Non hai il permesso di applicare l''effetto <second
noPowerTools=<primary>Non hai nessun power tool assegnato.
notAcceptingPay=<dark_red>{0} <dark_red>non accetta pagamenti.
notAllowedToLocal=<dark_red>Non hai il permesso di scrivere nella chat locale.
notAllowedToQuestion=<dark_red>Non hai il permesso di fare domande.
notAllowedToShout=<dark_red>Non hai il permesso per urlare.
notEnoughExperience=<dark_red>Non hai abbastanza esperienza.
notEnoughMoney=<dark_red>Non hai abbastanza soldi.
@@ -1427,7 +1423,7 @@ tradeSignFull=<dark_red>Questo segno è pieno\!
tradeSignSameType=<dark_red>Non puoi scambiare per lo stesso tipo di oggetto.
treeCommandDescription=Genera un albero nel punto in cui stai guardando
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Genera un albero, del tipo specificato, nel punto in cui stai guardando
treeFailure=<dark_red>Creazione dell''albero fallita. Riprova sull''erba o sulla terra.
treeSpawned=<primary>Albero generato.
@@ -1558,7 +1554,6 @@ west=O
whoisAFK=<primary> - AFK\:<white> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Da {1})
whoisBanned=<primary> - Bannato\:<white> {0}
whoisCommandDescription=Risale al nome utente dal nickname.
whoisCommandUsage=/<command> <soprannome>
whoisCommandUsage1=/<command> <giocatore>
whoisCommandUsage1Description=Visualizza alcune informazioni circa un determinato un giocatore
@@ -6,7 +6,6 @@ adventure=アドベンチャー
afkCommandDescription=キーボードから離れたユーザーとしてマークします。
afkCommandUsage=/<command> [player/message...]
afkCommandUsage1=/<command> [message]
afkCommandUsage1Description=AFKの状態を任意の理由で切り替えます
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=指定されたプレーヤーのAFK状態を、任意の理由で切り替えます
alertBroke=壊れた\:
@@ -246,11 +245,9 @@ discordCommandAccountResponseLinked=あなたのアカウントは次のマイ
discordCommandAccountResponseLinkedOther={0}''のアカウントは次のMCIDと連携されました\:**{1}**
discordCommandAccountResponseNotLinked=あなたは連携されたマインクラフトアカウントがありません。
discordCommandAccountResponseNotLinkedOther={0} はリンクされたマインクラフトアカウントを持っていません。
discordCommandDescription=プレイヤーにdiscordの招待リンクを送信します。
discordCommandLink=<primary> <secondary><click\:open_url\:"{0}">{0}</click><primary> からDiscordサーバーに参加してください!
discordCommandUsage=/<コマンド>
discordCommandUsage1=/<コマンド>
discordCommandUsage1Description=プレイヤーにdiscordの招待リンクを送信します。
discordCommandExecuteDescription=Minecraftサーバー上でコンソールコマンドを実行します。
discordCommandExecuteArgumentCommand=実行されるコマンド
discordCommandExecuteReply=コマンドを実行中\: "/{0}"
@@ -281,7 +278,6 @@ discordErrorNoToken=トークンは提供されません\! プラグインを設
discordErrorWebhook=コンソールチャンネルへのメッセージ送信中にエラーが発生しました。コンソールウェブフックを誤って削除してしまったことが原因だと思われます。これは通常、botに "Manage Webhooks" 権限があることを確認し、"/ess reload" を実行することで修正できます。
discordLinkInvalidGroup=ロール {1} に無効なグループ {0} が入力されました。次のグループが利用可能です\: {2}
discordLinkInvalidRole=無効なロール ID {0} がグループに入力されました\: {1}。Discordで/roleinfoコマンドを実行することでロールのIDを確認できます。
discordLinkInvalidRoleInteract=ロール {0} ({1}) は、Discord botのロールより上位なため、、グループ->ロールの同期には使用できません。botのロールを「{0}」の上に移動するか、「{0}」をbotのロールの下に移動してください。
discordLinkInvalidRoleManaged=ロール {0} ({1}) は、別のbotまたはプラグインによって管理されているため、group->role 同期には使用できません。
discordLinkLinked=<primary>Discordとアカウントと連携するには、<secondary>{0} <primary>とDiscordで入力します。
discordLinkLinkedAlready=<primary>あなたは既にDiscordアカウントを連携しています!あなたのDiscordアカウントの連携を解除したい場合は、 <secondary>/unlink<primary>を使用してください。
@@ -619,7 +615,6 @@ jailList=<primary>牢獄\: <reset>{0}
jailMessage=<dark_red>あなたは時間制の投獄です。
jailNotExist=<dark_red>その牢獄は存在しません。
jailNotifyJailed=<secondary> {0} <primary>は<secondary>{1} によって投獄されました。
jailNotifyJailedFor=<primary><secondary> {0} <primary>が <secondary>{2} <primary>によって<secondary> {1}<primary>間投獄させられました。
jailNotifySentenceExtended=<secondary>{0} <primary>の投獄時間が <secondary>{2} によって <secondary>{1} <primary>まで延長されました。<primary>
jailReleased=<secondary>{0}<primary> が牢獄から解放されました。
jailReleasedPlayerNotify=<primary>あなたは牢獄から解放されました。
@@ -814,7 +809,6 @@ noPotionEffectPerm=<secondary>{0} <dark_red>のポーション効果を付与す
noPowerTools=<primary>このツールはパワーツールになっていません。\n
notAcceptingPay=<dark_red>{0} <dark_red>は支払いを受け付けていません。
notAllowedToLocal=<dark_red>AFKローカルチャットで会話する権限がありません。
notAllowedToQuestion=<dark_red>あなたは質問を使用する権限がありません。
notAllowedToShout=あなたは叫ぶ権限を持っていません
notEnoughExperience=<dark_red>あなたは十分な経験値を持っていません。
notEnoughMoney=<dark_red>あなたは十分なお金を持っていません.
@@ -1247,6 +1241,7 @@ tptoggleCommandUsageDescription=指定された場合、自分または他のプ
tradeSignEmpty=<dark_red>トレードサインには利用可能なものは何もありません。
tradeSignEmptyOwner=<dark_red>このトレードサインから収集するものは何もありません。
treeCommandDescription=見ている場所に木をスポーンさせます。
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=指定した種類の木を見ている場所にスポーンさせます
treeFailure=<dark_red>木を生成するには、草ブロックか土ブロックの上である必要があります。
treeSpawned=<primary>木がスポーンしました。
@@ -1362,7 +1357,6 @@ weatherSunFor=<secondary>{0}<primary>の天候を<secondary>{1}<primary>秒間<s
west=西
whoisAFKSince=<primary> - AFK\:<reset> {0} ({1}前から)
whoisBanned=<primary> - BAN状況\:<reset> {0}
whoisCommandDescription=ニックネームの後ろにあるユーザー名を指定します。
whoisCommandUsage1Description=指定したプレイヤーについての基本情報を出します
whoisExp=<primary> - 経験値\:<reset> {0} (レベル {1})
whoisFly=<primary> - 飛行モード\:<reset> {0} ({1})
@@ -4,7 +4,7 @@ adventure=모험
afkCommandDescription=자리비움 상태로 전환합니다.
afkCommandUsage=/<command> [player/message]
afkCommandUsage1=/<command> [message]
afkCommandUsage1Description=사유와 함께 잠수 상태를 활성화하거나 비활성화합니다.
afkCommandUsage1Description=사유와 함께 잠수 상태를 활성화하거나 비활성화합니다
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=사유와 함께 해당 플레이어의 잠수 상태를 활성화하거나 비활성화합니다.
alertBroke=부서짐\:
@@ -234,10 +234,8 @@ discordCommandAccountResponseLinked=내 계정은 Minecraft 계정에 연동되
discordCommandAccountResponseLinkedOther={0}님의 계정은 Minecraft 계정에 연동되어 있어요\: **{1}**
discordCommandAccountResponseNotLinked=연동된 Minecraft 계정이 없어요.
discordCommandAccountResponseNotLinkedOther={0}님은 연동된 Minecraft 계정이 없어요.
discordCommandDescription=플레이어에게 Discord 초대 링크를 보냅니다.
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=플레이어에게 Discord 초대 링크를 보냅니다
discordCommandExecuteDescription=마인크래프트 서버에서 명령어를 실행합니다.
discordCommandExecuteArgumentCommand=실행할 명령어
discordCommandExecuteReply=명령어를 실행합니다\: "/{0}"
@@ -268,7 +266,6 @@ discordErrorNoToken=디스코드 봇 토큰이 설정되지 않았습니다\!
discordErrorWebhook=콘솔 채널에 메세지를 보내는데 실패했습니다. 이러한 오류는 보통 콘솔 채널에서 웹후크를 삭제한 경우 발생합니다. 이러한 경우, 봇이 "웹후크 관리하기" 권한이 있는지 확인한 후, "/ess reload" 명령어를 실행함으로서 오류를 해결할 수 있습니다.
discordLinkInvalidGroup={1} 역할에 잘못된 {0} 그룹이 제공되었습니다. 다음 그룹을 사용할 수 있습니다\: {2}
discordLinkInvalidRole=잘못된 역할 아이디 ({0}) 가 그룹({1}) 에 제공되었습니다. 역할 아이디는 디스코드내 /roleinfo 커맨드로 확인하실 수 있습니다.
discordLinkInvalidRoleInteract="역할 {0} ({1})은(는) 그룹->역할 동기화에 사용할 수 없습니다. 봇의 최상위 역할 위에 있기 때문입니다. 봇의 역할을 ''{0}'' 위로 이동시키거나 ''{0}''를 봇의 역할 아래로 이동시키세요."
discordLinkInvalidRoleManaged=역할 {0} ({1})은(는) 다른 봇이나 통합에 의해 관리되기 때문에 그룹->역할 동기화에 사용할 수 없습니다.
discordLinkLinked=<primary>Minecraft 계정을 Discord와 연동하려면, <secondary>{0} 을 <primary>Discord 서버에서 입력하세요.
discordLinkLinkedAlready=<primary>이미 Discord 계정이 연동되어 있습니다\! 연동을 해제하려면 <secondary>/unlink<primary>를 입력하세요.
@@ -609,7 +606,6 @@ jailList=<primary>감옥\:<reset> {0}
jailMessage=<dark_red>범죄를 저질렀으니, 대가를 치뤄야합니다.
jailNotExist=<dark_red>그 감옥은 존재하지 않습니다.
jailNotifyJailed=<secondary>{1} <primary>님이 <secondary>{0} <primary>님을 감금했습니다.
jailNotifyJailedFor=<secondary>{2} <primary>님이 <secondary>{0} <primary>님을 <secondary>{1}<primary> 동안 감금했습니다.
jailNotifySentenceExtended=<secondary>{0} <primary>님의 감금 시간이 <secondary>{2}<primary> 님에 의해 <secondary>{1}<primary>(으)로 연장되었습니다.
jailReleased=<primary>플레이어 <secondary>{0}<primary> (이)가 감옥에서 석방되었습니다.
jailReleasedPlayerNotify=<primary>당신은 석방되었습니다\!
@@ -854,7 +850,6 @@ noPotionEffectPerm=<dark_red>이 포션에 <secondary>{0} <dark_red>효과를
noPowerTools=<primary>할당된 파워툴이 없습니다.
notAcceptingPay=<dark_red>{0} <dark_red>는 거래를 받지 않습니다.
notAllowedToLocal=<dark_red>로컬 채팅에서 발언할 권한이 없습니다.
notAllowedToQuestion=<dark_red>질문을 사용할 수 있는 권한이 없습니다.
notAllowedToShout=<dark_red>외칠 수 있는 권한이 없습니다.
notEnoughExperience=<dark_red>경험치가 부족합니다.
notEnoughMoney=<dark_red>돈이 부족합니다.
@@ -1382,7 +1377,7 @@ tradeSignEmptyOwner=<dark_red>거래 표지판에서 아무것도 얻을 수 없
tradeSignFull=<dark_red>이 표지판은 가득 찼습니다\!
tradeSignSameType=<dark_red>같은 종류의 아이템으로 거래할 수 없습니다.
treeCommandDescription=바라보고 있는 곳에 나무를 소환합니다.
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=현재 보고 있는 위치에 지정한 종류의 나무를 소환합니다
treeFailure=<dark_red>나무 생성에 실패했습니다. 잔디나 흙에서 다시 시도해보세요.
treeSpawned=<primary>나무 소환됨.
@@ -1513,7 +1508,6 @@ west=서
whoisAFK=<primary> - 잠수\:<reset> {0}
whoisAFKSince=<primary> - 잠수\:<reset> {0} ({1} 부터)
whoisBanned=<primary> - 차단\:<reset> {0}
whoisCommandDescription=닉네임 뒤에 가려진 진짜 닉네임을 확인합니다.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=해당 플레이어의 기본적인 정보를 보여줍니다.
@@ -3,7 +3,6 @@ adventure=advenchur
afkCommandDescription=Markz u as away-frum-keybord.
afkCommandUsage=/<command> [playr/mesage...]
afkCommandUsage1=itz /<command> [message]
afkCommandUsage1Description=Togglez Ur Afk Status Wif An Opshunal Reason
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Togglez Teh Afk Status Ov Teh Specifid Playr Wif An Opshunal Reason
alertBroke=brok\:
@@ -202,8 +201,6 @@ discordCommandAccountDescription=Catchz da link''d Minecraft profile 4 u or othe
discordCommandAccountResponseLinked=Yur account iz linkd 2 da Minecraft account\: **{0}**
discordCommandAccountResponseNotLinked=U doesn''t haev a link''d Minceraft account...
discordCommandAccountResponseNotLinkedOther={0} doesn''t has link''d Minceraft account...
discordCommandDescription=senDZ Teh DISCOrd envite link to teh playr,
discordCommandUsage1Description=SenDZ Teh Discord envite link to teh playr
discordCommandExecuteDescription=oh hi execuTez cONSOL COmman on teh mINecraf serVR??
discordCommandExecuteArgumentCommand=teh coMMan to be executd plz?
discordCommandExecuteReply=executIN comman\: "/{0}"
@@ -517,7 +514,6 @@ jailList=<primary>jAilZ\:<reset> {0}
jailMessage=<dark_red>u do teh crime u do teh time?
jailNotExist=<dark_red>thAT jail dus not exis??\!\!\!\!\!
jailNotifyJailed=<primary>pLayR<secondary> {0} <primary>jaild by <secondary>{1}.
jailNotifyJailedFor=<primary>pLaer<secondary> {0} <primary>jaild fr<secondary> {1}<primary>b <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>pLAyer<secondary>{0} <primary>jailz time EXTEndd to <secondary>{1} <primary>by <secondary>{2}<primary>.
jailReleased=<primary>plAYR <secondary>{0}<primary> njaild
jailReleasedPlayerNotify=<primary>u HAZ bin reLeesed
@@ -5,7 +5,6 @@ adventure=nuotykių
afkCommandDescription=Pažymi jus kaip pasišalinus.
afkCommandUsage=/<command> [player/message...]
afkCommandUsage1=/<command> [žinutė]
afkCommandUsage1Description=Nustato jūsų afk statusą su nustatyta priežastimi
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Įjungia afk statusą nurodytam žaidėjui su nurodyta priežastimi
alertBroke=broke\:
@@ -190,8 +189,6 @@ discordbroadcastCommandUsage1Description=Siunčia duotą pranešimą į nurodyt
discordbroadcastInvalidChannel=<dark_red>Discord kanalas <secondary>{0}<dark_red> neegzistuoja.
discordbroadcastPermission=<dark_red>Jūs neturite teisės siųsti žinučių į <secondary>{0}<dark_red> kanalą.
discordbroadcastSent=<primary>Žinutė buvo išsiųsta į <secondary>{0}<primary>\!
discordCommandDescription=Išsiunčia discord pakvietimo adresą žaidėjui.
discordCommandUsage1Description=Išsiunčia discord pakvietimo adresą žaidėjui
discordCommandExecuteDescription=Vykdo konsolės komandą Minecraft serveryje.
discordCommandExecuteArgumentCommand=Komanda, kuria panaudoti
discordCommandExecuteReply=Vykdoma komanda\: "/{0}"
@@ -458,7 +455,6 @@ jailAlreadyIncarcerated=<dark_red>Žaidėjas jau yra kalėjime\:<secondary> {0}
jailMessage=<dark_red>Padarei nusikaltimą, laikas atpirkti nuodėmes.
jailNotExist=<dark_red>Šis kalėjimas neegzistuoja.
jailNotifyJailed=<primary>Žaidėjas/a<secondary> {0} <primary>pasodintas/a į kalėjimą.
jailNotifyJailedFor=<primary>Žaidėjas/a<secondary> {0} <primary>įkalintas už<secondary> {1}<primary>.
jailNotifySentenceExtended=<primary>Žaidėjo/s<secondary>{0} <primary>kalėjimo laikas pratestas iki <secondary>{1} <primary>.
jailReleased=<primary>Žaidėjas <secondary>{0}<primary> buvo išlaisvintas.
jailReleasedPlayerNotify=<primary>Tu buvai paleistas\!
@@ -1083,7 +1079,6 @@ weatherSun=<primary>Tu nustatei orą į <secondary>sun<primary>, pasaulyje\:<sec
weatherSunFor=<primary>Jūs nustatėte orą į <secondary>saulėtą<primary> pasaulyje<secondary> {0} <secondary>{1} sekundžių<primary>.
west=W
whoisBanned=<primary> - Užblokuotas\:<reset> {0}
whoisCommandDescription=Nustato vartotojo vardą esantį po slapyvardžiu.
whoisCommandUsage1Description=Pateikiama pagrindinė informacija apie nurodytą žaidėją
whoisFly=<primary> - Fly rėžimas\:<reset> {0} ({1})
whoisSpeed=<primary> - Greitis\:<reset> {0}
@@ -2,7 +2,6 @@
adventure=piedzīvojumu
afkCommandDescription=Atzīmē jūs kā atgājušu no tastatūras.
afkCommandUsage=/<command> [spēlētājs/ziņojums..]
afkCommandUsage1Description=Ieslēdz jūsu AFK statusu ar neobligātu iemesla norādīšanu
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Ieslēdz AFK statusu norādītajam spēlētājam ar neobligātu iemesla norādīšanu
alertBroke=salauza\:
@@ -891,7 +890,6 @@ weatherSunFor=<primary>Tu iestatīji laikapstākļus kā <secondary>saulainu<pri
west=R
whoisAFKSince=<primary> - AFK\:<reset> {0} (Kopš {1})
whoisBanned=<primary> - Izraidīts\:<reset> {0}
whoisCommandDescription=Nosaka lietotājvārdu aiz segvārda.
whoisExp=<primary> - Exp\:<reset> {0} (Līmenis {1})
whoisFly=<primary> - Lidošanas režīms\:<reset> {0} ({1})
whoisSpeed=<primary> - Ātrums\:<reset> {0}
@@ -6,7 +6,6 @@ adventure=avontuur
afkCommandDescription=Markeert je als weg-van-toetsenbord.
afkCommandUsage=/<command> [speler/bericht...]
afkCommandUsage1=/<command> [bericht]
afkCommandUsage1Description=Schakel je afk status met een optionele reden
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Schakel de afk status van een specifieke speler met een optionele reden
alertBroke=gebroken\:
@@ -247,11 +246,9 @@ discordCommandAccountResponseLinked=Je account is gekoppeld aan het Minecraft ac
discordCommandAccountResponseLinkedOther=Het account van {0} is gekoppeld aan het Minecraft account\: **{1}**
discordCommandAccountResponseNotLinked=Je hebt geen gekoppeld Minecraft-account.
discordCommandAccountResponseNotLinkedOther={0} heeft geen gekoppeld Minecraft account.
discordCommandDescription=Stuurt de Discord-uitnodingslink naar de speler.
discordCommandLink=<primary>Sluit je aan bij onze Discord server hier <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Stuurt de Discord-uitnodingslink naar de speler
discordCommandExecuteDescription=Voert een consolecommando uit op de Minecraft server.
discordCommandExecuteArgumentCommand=Het commando om uit te voeren
discordCommandExecuteReply=Commando aan het uitvoeren\: "/{0}"
@@ -282,7 +279,6 @@ discordErrorNoToken=Geen token opgegeven\! Volg alsjeblieft de tutorial in de co
discordErrorWebhook=Er is een fout opgetreden tijdens het verzenden van berichten naar uw console-kanaal\! Dit is waarschijnlijk veroorzaakt door het per ongeluk verwijderen van uw console webhook. Dit kan meestal opgelost worden door ervoor te zorgen dat je bot de "Webhooks beheren" toestemming heeft en "/ess reload" uit te voeren.
discordLinkInvalidGroup=Ongeldige groep {0} was opgegeven voor de rol {1}. De volgende groepen zijn beschikbaar\: {2}
discordLinkInvalidRole=Een ongeldige rol ID, {0}, werd opgegeven voor de groep\: {1}. U kunt de ID van de rollen zien met het /roleinfo opdracht in Discord.
discordLinkInvalidRoleInteract=De rol, {0} ({1}), kan niet worden gebruikt voor groep → rol synchronisatie omdat het boven de hoogste rol van uw bot ligt. Beweeg de rol van je bot boven "{0}" of verplaats "{0}" onder de rol van je bot.
discordLinkInvalidRoleManaged=De rol, {0} ({1}), kan niet worden gebruikt voor groep → rol synchronisatie omdat het wordt beheerd door een andere bot of integratie.
discordLinkLinked=<primary>Om je Minecraft account te koppelen aan Discord, typ <secondary>{0} <primary>in de Discord server.
discordLinkLinkedAlready=<primary>Je hebt je Discord account al verbonden\! Als je je Discord account wilt ontkoppelen, gebruik dan <secondary>/unlink<primary>.
@@ -1149,7 +1145,6 @@ weatherSunFor=<primary>Je hebt het weer in <secondary>{0}<primary> naar <seconda
west=W
whoisAFK=<primary> - Afwezig\:<white> {0}
whoisBanned=<primary> - Verbannen\:<white> {0}
whoisCommandDescription=Bepaal de gebruikersnaam achter een bijnaam.
whoisCommandUsage1Description=Geeft de basisinformatie over de gespecificeerde speler
whoisExp=<primary> - Exp\:<white> {0} (Level {1})
whoisFly=<primary> - Vlieg modus\:<white> {0} ({1})
@@ -3,7 +3,6 @@ adventure=eventyr
afkCommandDescription=Markerer deg som "borte fra tastaturet".
afkCommandUsage=/<command> [spiller/melding...]
afkCommandUsage1=addedToAccount\=\\u00a7a{0} has been added to your account.
afkCommandUsage1Description=Endrer afk-statusen din med en valgfri årsak
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Veksler imellom afk-statusen til den angitte spilleren med valgfri grunn
alertBroke=ødelagt\:
@@ -201,8 +200,6 @@ discordbroadcastSent=<primary>Skilaboð send til <secondary>{0}<primary>\!
discordCommandAccountDescription=Søker opp den koblede Minecraft-kontoen for enten deg selv eller en annen Discord bruker
discordCommandAccountResponseNotLinked=Du har ikke en tilknyttet Minecraft konto.
discordCommandAccountResponseNotLinkedOther={0} Du har ikke en tilknyttet Minecraft konto.
discordCommandDescription=Sender Discord invitasjonlinken til spilleren.
discordCommandUsage1Description=Sender Discord invitasjonlinken til spilleren
discordCommandExecuteDescription=Utfører en konsollkommando på Minecraft-serveren.
discordCommandExecuteArgumentCommand=Kommandoen som skal utføres
discordCommandExecuteReply=Utfører kommando\: "/{0}"
@@ -1071,7 +1068,6 @@ weatherSunFor=<primary>Du satte været til <secondary>sol<primary> i<secondary>
west=V
whoisAFKSince=<primary> - AFK\:<reset> {0} (Siden {1})
whoisBanned=<primary> - Utestengt\:<reset> {0}
whoisCommandDescription=Fastslå brukernavnet bak et kallenavn.
whoisFly=<primary> - Fly-modus\:<reset> {0} ({1})
whoisSpeed=<primary> - Hastighet\:<reset> {0}
whoisGamemode=<primary> - Spillmodus\:<reset> {0}
@@ -1,11 +1,11 @@
#Sat Feb 03 17:34:46 GMT 2024
action=<dark_purple>* {0} <dark_purple>{1}
addedToAccount=<yellow>{0}<green> zostało dodany do twojego konta.
addedToOthersAccount=<yellow>{0}<green> dodano do konta<yellow> {1}<green>. Nowe saldo\:<yellow> {2}
addedToOthersAccount=<yellow>{0}<green> Dodano do konta<yellow> {1}<green>. Nowe saldo\:<yellow> {2}
adventure=Przygoda
afkCommandDescription=Oznacza cię jako nieobecnego.
afkCommandUsage=/<command> [gracz/wiadomość…]
afkCommandUsage1=/<command> [wiadomość]
afkCommandUsage1=/<command> [message]
afkCommandUsage1Description=Włącza stan bezczynności (możliwe podanie powodu)
afkCommandUsage2=/<command> <gracz> [wiadomość]
afkCommandUsage2Description=Przełącza status AFK określonego gracza z opcjonalnym powodem
@@ -247,11 +247,9 @@ discordCommandAccountResponseLinked=Twoje konto jest połączone z kontem Minecr
discordCommandAccountResponseLinkedOther=Konto {0} jest połączone z kontem Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=Nie masz połączonego konta Minecraft.
discordCommandAccountResponseNotLinkedOther={0} nie posiada połączonego konta Minecraft.
discordCommandDescription=Wysyła graczowi odsyłacz z zaproszeniem.
discordCommandLink=<primary>Dołącz do naszego serwera Discord <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Wysyła graczowi zaproszenie na serwer Discorda
discordCommandExecuteDescription=Wykonuje polecenie konsoli na serwerze Minecrafta.
discordCommandExecuteArgumentCommand=Polecenie, które ma zostać wykonane
discordCommandExecuteReply=Wykonywanie polecenia\: „/{0}”
@@ -282,7 +280,6 @@ discordErrorNoToken=Nie podano tokenu\! Postępuj zgodnie z poradnikiem w konfig
discordErrorWebhook=Wystąpił błąd podczas wysyłania wiadomości do kanału konsoli\! Było to prawdopodobnie spowodowane przypadkowym usunięciem twojego webhooka konsoli. Zazwyczaj można to naprawić, upewniając się, że Twój bot ma uprawnienia "Zarządzaj Webhookami" i uruchamiając "/ess reload".
discordLinkInvalidGroup=Nieprawidłowa grupa {0} została dostarczona dla roli {1}. Dostępne są następujące grupy\: {2}
discordLinkInvalidRole=Niepoprawny identyfikator roli, {0} został podany dla grupy\: {1}. Możesz zobaczyć ID ról z komendą /roleinfo na Discordzie.
discordLinkInvalidRoleInteract=Rola, {0} ({1}) nie może być użyta do synchronizacji grupa->rola, ponieważ znajduje się powyżej górnej roli bota. Przenieś rolę bota powyżej "{0}" lub przenieś "{0}" poniżej roli bota.
discordLinkInvalidRoleManaged=Rola, {0} ({1}) nie może być użyta do synchronizacji grupa->rola, ponieważ jest zarządzana przez innego bota lub integrację.
discordLinkLinked=<gray>Aby połączyć swoje konto Minecraft z Discordem, wpisz <secondary>{0} <gray>na serwerze Discord.
discordLinkLinkedAlready=<gray>Już połączyłeś swoje konto Discord\! Jeśli chcesz odłączyć swoje konto Discord, użyj <secondary>/unlink<primary>.
@@ -627,7 +624,6 @@ jailList=<primary>Więzienia\:<reset> {0}
jailMessage=<dark_red>Za każde przewinienie czeka cię kara.
jailNotExist=<dark_red>Nie ma takiego więzienia.
jailNotifyJailed=<primary>Gracz<secondary> {0} <primary>został wtrącony do więzienia przez gracza <secondary>{1}<primary>.
jailNotifyJailedFor=<primary>Gracz<secondary> {0} <primary>został uwięziony na<secondary> {1}<primary>przez gracza <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>Gracz <secondary>{2}<primary> przedłużył czas uwięzienia gracza<secondary>{0} do <secondary>{1}.
jailReleased=<gray>Gracz <secondary>{0}<gray> został wypuszczony z więzienia.
jailReleasedPlayerNotify=<gray>Zostałeś zwolniony\!
@@ -884,7 +880,6 @@ noPotionEffectPerm=<dark_red>Nie masz uprawnień by dodać efekt <secondary>{0}
noPowerTools=<gray>Nie masz przypisanego żadnego power tool.
notAcceptingPay=<dark_red>{0} <dark_red>nie przyjmuje wpłat.
notAllowedToLocal=<dark_red>Nie masz uprawnień do pisania na lokalnym czacie.
notAllowedToQuestion=<dark_red>Nie masz uprawnień do zadawania pytań.
notAllowedToShout=<dark_red>Nie masz uprawnień do krzyczenia.
notEnoughExperience=<dark_red>Nie masz wystarczająco dużo doswiadczenia.
notEnoughMoney=<dark_red>Nie masz tyle pieniędzy.
@@ -1427,7 +1422,7 @@ tradeSignFull=<dark_red>Ta tabliczka jest pełna\!
tradeSignSameType=<dark_red>Nie możesz handlować przedmiotem tego samego typu.
treeCommandDescription=Posadzi drzewo w miejscu, gdzie patrzysz.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Tworzy drzewo określonego typu tam gdzie patrzysz
treeFailure=<dark_red>Utworzenie drzewa nie powiodło sie, spróbuj na trawie lub ziemi.
treeSpawned=<gray>Stworzono drzewo.
@@ -1558,7 +1553,6 @@ west=W
whoisAFK=<gray> - AFK\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Od {1})
whoisBanned=<gray> - Zbanowany\:<reset> {0}.
whoisCommandDescription=Określ nazwę użytkownika za nickiem.
whoisCommandUsage=/<command> <nazwa gracza>
whoisCommandUsage1=/<command> <gracz>
whoisCommandUsage1Description=Daje podstawowe informacje o określonym graczu
@@ -6,7 +6,7 @@ adventure=aventura
afkCommandDescription=Marca-te como AFK.
afkCommandUsage=/<command> [jogador/mensagem...]
afkCommandUsage1=/<command> [mensagem]
afkCommandUsage1Description=Alterna o estado afk com uma razão opcional
afkCommandUsage1Description=Alterna o estado AFK com uma razão opcional
afkCommandUsage2=/<command> <jogador> [mensagem]
afkCommandUsage2Description=Alterna o estado afk de um jogador com uma razão opcional
alertBroke=destruído\:
@@ -142,6 +142,9 @@ clearinventoryCommandUsage3=/<command> <jogador> <item> [quantidade]
clearinventoryCommandUsage3Description=Elimina todos (ou um número específico) de itens do inventário de um jogador
clearinventoryconfirmtoggleCommandDescription=Alterna o aviso de destruição de itens do inventário.
clearinventoryconfirmtoggleCommandUsage=/<command>
commandArgumentOptional=<gray>
commandArgumentOr=<secondary>
commandArgumentRequired=<yellow>
commandCooldown=<secondary>Não podes executar este comando durante {0}.
commandDisabled=<secondary>O comando<primary> {0}<secondary> está desativado.
commandFailed=Ocorreu um erro com o comando {0}\:
@@ -234,8 +237,6 @@ discordCommandAccountResponseLinked=Sua conta está vinculada à conta do Minecr
discordCommandAccountResponseLinkedOther=A conta de {0} está vinculada à conta do Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=Você não tem uma conta de Minecraft vinculada.
discordCommandAccountResponseNotLinkedOther={0} não tem uma conta de Minecraft vinculada.
discordCommandDescription=Envia o convite de Discord ao jogador.
discordCommandUsage1Description=Envia o convite de Discord ao jogador
discordCommandExecuteDescription=Executa um comando da consola no servidor de Minecraft.
discordCommandExecuteArgumentCommand=O comando a ser executado
discordCommandExecuteReply=Comando a ser executado\: "/{0}"
@@ -266,7 +267,6 @@ discordErrorNoToken=Token não fornecido\! Por favor segue o tutorial nas config
discordErrorWebhook=Ocorreu um erro ao enviar mensagens para o teu canal da consola\! Isto foi provavelmente causado por acidentalmente apagar o webhook da tua consola. Isto pode normalmente ser corrigido, ao garantir que o teu bot tem a permissão "Administrar Webhooks" e executando "/ess reload".
discordLinkInvalidGroup=Grupo inválido {0} foi fornecido para o cargo {1}. Os seguintes grupos estão disponíveis\: {2}
discordLinkInvalidRole=Um ID de cargo inválido, {0}, foi fornecido para o grupo\: {1}. Podes ver o ID dos cargos com o comando /roleinfo no Discord.
discordLinkInvalidRoleInteract=O cargo, {0} ({1}), não pode ser usado para sincronização de grupo->cargo porque está acima do cargo mais alto do teu bot. Move o cargo do teu bot acima de "{0}" ou move "{0}" abaixo do papel do teu bot.
discordLinkInvalidRoleManaged=O cargo, {0} ({1}), não pode ser usado para sincronização de grupo->cargo porque é administrado por outro bot ou integração.
discordLinkLinked=<primary>Para conectar a tua conta do Minecraft ao Discord, digita <secondary>{0} <primary>no servidor do Discord.
discordLinkLinkedAlready=<primary>Já conectaste a tua conta do Discord\! Se desejas desconectar a tua conta do Discord usa <secondary>/unlink<primary>.
@@ -604,7 +604,6 @@ jailList=<primary>Jaulas\:<reset> {0}
jailMessage=<dark_red>Foste condenado. Pensa bem antes de voltares a fazer o que fizeste.
jailNotExist=<dark_red>Esta jaula não existe.
jailNotifyJailed=<primary>Jogador<secondary> {0} <primary>preso por <secondary>{1}.
jailNotifyJailedFor=<primary>Jogador<secondary> {0} <primary>preso por<secondary> {1}<primary>por <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>Tempo de prisão do <primary>Jogador<secondary>{0} extendido para <secondary>{1} <primary>por <secondary>{2}<primary>.
jailReleased=<primary> <secondary>{0}<primary> foi libertado.
jailReleasedPlayerNotify=<primary>Estás livre da jaula\!
@@ -821,7 +820,6 @@ noPotionEffectPerm=<dark_red>Não tens permissões para aplicar <secondary>{0} <
noPowerTools=<primary>Não tens nenhuma ferramenta de poder atribuída.
notAcceptingPay=<dark_red>{0} <dark_red>não está a aceitar pagamentos.
notAllowedToLocal=<dark_red>Não tens permissões para falar no chat local.
notAllowedToQuestion=<dark_red>Não tens permissões.
notAllowedToShout=<dark_red>Não tens permissões para falar no chat geral.
notEnoughExperience=<dark_red>Não tens experiência suficiente.
notEnoughMoney=<dark_red>Não tens dinheiro suficiente.
@@ -1360,7 +1358,6 @@ weatherSunFor=<primary>O clima foi definido para <secondary>sol<primary> em<seco
west=W
whoisAFKSince=<primary> - AFK\:<reset> {0} (desde {1})
whoisBanned=<primary> - Banidos\:<reset> {0}
whoisCommandDescription=Indentifica o jogador por detrás de uma alcunha.
whoisCommandUsage1Description=Dispõe informações básicas sobre um jogador
whoisExp=<primary> - Exp\:<reset> {0} (nível {1})
whoisFly=<primary> - Modo de voo\:<reset> {0} ({1})
@@ -282,7 +282,6 @@ discordErrorNoToken=Nenhum token fornecido\! Por favor, siga o tutorial da confi
discordErrorWebhook=Ocorreu um erro ao enviar mensagens para o canal do console\! Isso provavelmente foi causado por excluir acidentalmente o webhook do console. Isso geralmente pode ser corrigido, garantindo que o seu bot tenha a permissão "Gerenciar Webhooks" e executando "/ess reload".
discordLinkInvalidGroup=O grupo inválido {0} foi fornecido para a função {1}. Os seguintes grupos estão disponíveis\: {2}
discordLinkInvalidRole=Um ID de função inválido, {0}, foi fornecido para o grupo\: {1}. Você pode ver o ID das funções com o comando /roleinfo no Discord.
discordLinkInvalidRoleInteract=A função, {0} ({1}), não pode ser usada para sincronização de grupo->função porque está acima da função superior do seu bot. Mova a função de seu bot para cima de "{0}" ou mova "{0}" para baixo da função de seu bot.
discordLinkInvalidRoleManaged=A função, {0} ({1}), não pode ser usada para sincronização de grupo->função porque é gerenciada por outro bot ou integração.
discordLinkLinked=<primary>Para vincular sua conta do Minecraft ao Discord, digite <secondary>{0} <primary> no servidor Discord.
discordLinkLinkedAlready=<primary>Você já vinculou sua conta do Discord\! Se você deseja desvincular sua conta do Discord, use <secondary>/unlink<primary>.
@@ -627,7 +626,6 @@ jailList=<primary>Prisões\:<reset> {0}
jailMessage=<dark_red>Você foi preso.
jailNotExist=<dark_red>Essa cadeia não existe.
jailNotifyJailed=<primary>Jogador<secondary> {0} <primary>preso por <secondary>{1}.
jailNotifyJailedFor=<primary>Jogador<secondary> {0} <primary>preso pelo motivo<secondary> {1}<primary> por <secondary>{2}.
jailNotifySentenceExtended=<primary>Jogador<secondary>{0} <primary>tempo de prisão extendido para <secondary>{1} <primary>por <secondary>{2}<primary>.
jailReleased=<primary>O jogador <secondary>{0}<primary> foi liberado da prisão.
jailReleasedPlayerNotify=<primary>Você foi liberado\!
@@ -884,7 +882,6 @@ noPotionEffectPerm=<dark_red>Você não tem permissão para aplicar o efeito <se
noPowerTools=<primary>Você não tem nenhuma ferramenta de poder atribuida.
notAcceptingPay=<dark_red>{0} <dark_red>não está aceitando pagamento.
notAllowedToLocal=<dark_red>Você não tem permissão para falar no chat local.
notAllowedToQuestion=<dark_red>Você não tem permissão para a usar pergunta.
notAllowedToShout=<dark_red>Você não tem permissão para gritar.
notEnoughExperience=<dark_red>Você não tem experiência suficiente.
notEnoughMoney=<dark_red>Você não tem dinheiro suficiente.
@@ -1427,7 +1424,6 @@ tradeSignFull=<dark_red>Esta placa está cheia\!
tradeSignSameType=<dark_red>Você não pode negociar pelo mesmo tipo de item.
treeCommandDescription=Invoque uma árvore onde você está olhando.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1Description=Gera uma árvore do tipo especificado onde você está olhando
treeFailure=<dark_red>Erro ao gerar árvore. Tente novamente na terra ou na grama.
treeSpawned=<primary>Árvore gerada.
@@ -1558,7 +1554,6 @@ west=O
whoisAFK=<primary> - AFK\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Desde {1})
whoisBanned=<primary> - Banido\:<reset> {0}
whoisCommandDescription=Determine o nome de usuário atrás de um apelido.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=Mostra informações básicas sobre o jogador especificado
@@ -2,7 +2,6 @@
adventure=aventură
afkCommandDescription=Te marcheaza ca si plecat de la tastatura.
afkCommandUsage=/<comanda> [jucator/mesaj...]
afkCommandUsage1Description=Activeaza/dezactiveaza starea afk cu un motiv optional
afkCommandUsage2=/<comanda> <jucator> [mesaj]
afkCommandUsage2Description=Activeaza/dezactiveaza starea afk a jucatorului specificat cu un motiv optional
alertBroke=stricat\:
@@ -199,8 +198,6 @@ discordCommandAccountResponseLinked=Cont-ul tău este conectat de Cont-ul Minecr
discordCommandAccountResponseLinkedOther=Cont-ul lui {0} este conectat la cont-ul de Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=Tu nu ai un cont de Minecraft conectat.
discordCommandAccountResponseNotLinkedOther={0} nu are un cont de Minecraft conectat.
discordCommandDescription=Trimite link-ul de invitație Discord la jucător.
discordCommandUsage1Description=Trimite link-ul de invitație Discord jucătorului
discordCommandExecuteDescription=Executa o comandă de consola pe serverul Minecraft.
discordCommandExecuteArgumentCommand=Comanda va fi executata
discordCommandExecuteReply=Comanda este executata\: "/{0}"
@@ -231,7 +228,6 @@ discordErrorNoToken=Niciun token oferit\! Vă rugăm să urmați tutorialul din
discordErrorWebhook=A apărut o eroare la trimiterea mesajelor către canalul de consolă\! Acest lucru a fost cauzat probabil de ștergerea accidentală a consolei webhook. Acest lucru poate fi reparat asigurându-te că botul tău are permisiunea "Gestionează Webhooks" și rulează "/ess reload".
discordLinkInvalidGroup=Grupul {0} a fost furnizat nevalid pentru rolul {1}. Următoarele grupuri sunt disponibile\: {2}
discordLinkInvalidRole=Un ID de rol nevalid {0}, a fost furnizat pentru grupul\: {1}. Puteți vedea ID-ul rolurilor cu comanda /roleinfo în Discord.
discordLinkInvalidRoleInteract=Rolul {0} ({1}), nu poate fi folosit pentru grup->sincronizarea rolului, deoarece este deasupra rolului superior al botului tău. Fie mutați rolul botului mai sus "{0}" sau mutați "{0}" sub rolul robotului dvs.
discordLinkInvalidRoleManaged=Rolul {0} ({1}), nu poate fi folosit pentru grup->sincronizarea rolului, deoarece este gestionat de un alt bot sau integrare.
discordLinkLinked=<primary>Pentru a lega contul tau Minecraft de Discord, scrie <secondary>{0} <primary>pe serverul Discord.
discordLinkLinkedAlready=<primary>Ai conectat deja contul tău Discord\! Dacă dorești să deconectezi contul tău de discord folosește <secondary>/unlink<primary>.
@@ -423,7 +419,6 @@ jailAlreadyIncarcerated=<dark_red>Acest jucator este deja in inchisoare\:<second
jailMessage=<dark_red>Incalci reguli, trebuie sa platesti.
jailNotExist=<dark_red>Aceasta inchisoare nu exista.
jailNotifyJailed=<primary>Jucatorul<secondary> {0} <primary>a fost inchis de catre &c{1}.
jailNotifyJailedFor=<secondary>{0} <primary>a fost inchis timp de <secondary>{1}<primary> de catre <secondary>{2}<primary>.
jailNotifySentenceExtended=Player{0} jail''s time extended to {1} by {2}.
jailReleased=<primary>Jucatorul <secondary>{0}<primary> a fost eliberat.
jailReleasedPlayerNotify=<primary>Ai fost eliberat\!
@@ -247,11 +247,11 @@ discordCommandAccountResponseLinked=Ваш аккаунт привязан к а
discordCommandAccountResponseLinkedOther=Аккаунт {0} привязан к аккаунту Minecraft\: **{1}**
discordCommandAccountResponseNotLinked=У вас нет привязанного аккаунта Minecraft.
discordCommandAccountResponseNotLinkedOther=У {0} нет привязанного аккаунта Minecraft.
discordCommandDescription=Отправляет игроку ссылку-приглашение на Discord сервер.
discordCommandLink=<primary>Присоединяйтесь к нашему Discord серверу по ссылке <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandDescription=Отправляет игроку ссылку-приглашение на Discord-сервер.
discordCommandLink=<primary>Присоединяйтесь к нашему Discord-серверу по ссылке <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Отправляет игроку ссылку-приглашение на Discord сервер
discordCommandUsage1Description=Отправляет игроку ссылку-приглашение на Discord-сервер
discordCommandExecuteDescription=Выполняет консольную команду на сервере Minecraft.
discordCommandExecuteArgumentCommand=Команда, которую нужно выполнить
discordCommandExecuteReply=Выполнение команды\: "/{0}"
@@ -862,7 +862,7 @@ noJailsDefined=<primary>Тюрьмы не установлены.
noKitGroup=<dark_red>У вас нет доступа к этому набору.
noKitPermission=<dark_red>У вас должно быть право <secondary>{0}<dark_red> для получения этого набора.
noKits=<primary>Нет доступных наборов.
noLocationFound=<dark_red>Некуда вернуться.
noLocationFound=<dark_red>Некуда телепортироваться.
noMail=<primary>Ваша почта пуста.
noMailOther=<primary>Почта <secondary>{0} <primary>пуста.
noMatchingPlayers=<primary>Игрок не найден.
@@ -884,7 +884,7 @@ noPotionEffectPerm=<dark_red>У вас нет прав для применени
noPowerTools=<primary>У вас нет командных инструментов.
notAcceptingPay=<dark_red>{0} <dark_red>не принимает платежи.
notAllowedToLocal=<dark_red>У вас нет прав на общение в локальном чате.
notAllowedToQuestion=<dark_red>У вас нет прав на использование вопроса.
notAllowedToQuestion=<dark_red>У вас нет прав отправлять вопросы.
notAllowedToShout=<dark_red>У вас нет прав на крик.
notEnoughExperience=<dark_red>У вас недостаточно опыта.
notEnoughMoney=<dark_red>У вас недостаточно средств.
@@ -1415,7 +1415,15 @@ tprCommandDescription=Телепортирует в случайное мест
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Телепортирует вас в случайное место
tprSuccess=<primary>Телепортирование в случайное место...
tprCommandUsage2=/<command> <мир>
tprCommandUsage2Description=Телепортирует вас в случайное место в указанном мире
tprCommandUsage3=/<command> <мир> <игрок>
tprCommandUsage3Description=Телепортирует указанного игрока в случайное место в указанном мире
tprOtherUser=<primary>Телепортация<secondary> {0}<primary> в случайную локацию.
tprSuccess=<primary>Телепортация в случайную локацию...
tprSuccessDone=<primary>Вы были телепортированы в случайную локацию.
tprNoPermission=<dark_red>У вас нет прав на использование этой локации.
tprNotExist=<dark_red>Этой локации случайной телепортации не существует.
tps=<primary>Tекущий TPS \= {0}
tptoggleCommandDescription=Блокирует все виды телепортации.
tptoggleCommandUsage=/<command> [игрок] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>Эта табличка заполнена\!
tradeSignSameType=<dark_red>Вы не можете обменивать предмет на такой же.
treeCommandDescription=Создает дерево на месте вашего взгляда.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Создает дерево указанного типа на месте вашего взгляда
treeFailure=<dark_red>Не удалось сгенерировать дерево. Попробуйте на дерне или земле.
treeSpawned=<primary>Дерево создано.
@@ -1558,7 +1566,7 @@ west=З
whoisAFK=<primary> - Отошёл\:<reset> {0}
whoisAFKSince=<primary> - Отошёл\:<reset> {0} (в течение {1})
whoisBanned=<primary> - Забанен\:<reset> {0}
whoisCommandDescription=Показывает имя игрока за никнеймом.
whoisCommandDescription=Определяет базовую информацию об указанном игроке.
whoisCommandUsage=/<command> <никнейм>
whoisCommandUsage1=/<command> <игрок>
whoisCommandUsage1Description=Выводит базовую информацию об указанном игроке
@@ -1415,7 +1415,15 @@ tprCommandDescription=Náhodný teleport.
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=Teleportuje ťa na náhodné miesto
tprCommandUsage2=/<command> <svet>
tprCommandUsage2Description=Teleportuje ťa na náhodné miesto v zadanom svete
tprCommandUsage3=/<command> <svet> <hráč>
tprCommandUsage3Description=Teleportuje hráča na náhodné miesto v zadanom svete
tprOtherUser=<primary>Hráč <secondary>{0}<primary> sa teleportuje na náhodné miesto.
tprSuccess=<primary>Teleportovanie na náhodnú polohu...
tprSuccessDone=<primary>Prebehol teleport teba na náhodné miesto.
tprNoPermission=<dark_red>Nemáš oprávnenie použiť toto miesto.
tprNotExist=<dark_red>Toto náhodné miesto na teleport neexistuje.
tps=<primary>Aktuálne TPS \= {0}
tptoggleCommandDescription=Zablokuje všetky druhy teleportu.
tptoggleCommandUsage=/<command> [hráč] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>Táto ceduľa je plná\!
tradeSignSameType=<dark_red>Nie je možné predávať za ten istý predmet.
treeCommandDescription=Zasaď strom tam, kam sa pozeráš.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Vytvorí strom určeného typu tam, kde sa pozeráš
treeFailure=<dark_red>Generovanie stromu zlyhalo. Skús to znova na tráve alebo zemi.
treeSpawned=<primary>Strom vytvorený.
@@ -1558,7 +1566,7 @@ west=Z
whoisAFK=<primary> - AFK\:<reset> {0}
whoisAFKSince=<primary> - AFK\:<reset> {0} (Od {1})
whoisBanned=<primary> - Má ban\:<reset> {0}
whoisCommandDescription=Zistí používateľské meno pod prezývkou.
whoisCommandDescription=Poskytuje základné informácie o zadanom hráčovi.
whoisCommandUsage=/<command> <nickname>
whoisCommandUsage1=/<command> <player>
whoisCommandUsage1Description=Poskytuje základné informácie o zadanom hráčovi
@@ -3,7 +3,6 @@ adventure=pustolovina
afkCommandDescription=Označava te kao da si podalje od tastature.
afkCommandUsage=/<command> [igrač/poruka]
afkCommandUsage1=/<command> [poruka]
afkCommandUsage1Description=Menja tvoj afk status sa opcionim razlogom
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=Menja afk status navedenog igrača sa opcionim razlogom
alertBroke=je polomio/la\:
@@ -356,7 +355,6 @@ jailList=<primary>Ćelije\:<reset> {0}
jailMessage=<dark_red>Počiniš zločin, odležiš kaznu.
jailNotExist=<dark_red>Taj zatvor ne postoji.
jailNotifyJailed=<primary>Igrač<secondary> {0} <primary>zatvoren od strane <secondary>{1}.
jailNotifyJailedFor=<primary>Igrač<secondary> {0} <primary>zatvoren na<secondary> {1}<primary>od strane <secondary>{2}<primary>.
jailNotifySentenceExtended=<primary>Igraču<secondary>{0} <primary>produženo vreme iza rešetka na <secondary>{1} <primary>od strane <secondary>{2}<primary>.
jailReleased=<primary>Igrač <secondary>{0}<primary> oslobođen.
jailReleasedPlayerNotify=<primary>Oslobođen/na si\!
@@ -6,7 +6,6 @@ adventure=äventyr
afkCommandDescription=Markerar dig som borta.
afkCommandUsage=/<command> [spelare/meddelande...]
afkCommandUsage1=/<command> [meddelande]
afkCommandUsage1Description=Växlar huruvida du vill vara markerad som borta eller ej med möjlighet att ange en anledning
afkCommandUsage2=/<command> <spelare> [meddelande]
afkCommandUsage2Description=Växlar huruvida en vald spelare är markerad som borta eller ej med möjlighet att ange en anledning
alertBroke=gjorde sönder\:
@@ -231,11 +230,9 @@ discordCommandAccountResponseLinked=Ditt konto är kopplat till Minecraft kontot
discordCommandAccountResponseLinkedOther={0} konto är kopplat till Minecraft kontot\: **{1}**
discordCommandAccountResponseNotLinked=Du har inte ett länkat Minecraft konto.
discordCommandAccountResponseNotLinkedOther={0} har inte ett länkat Minecraft konto.
discordCommandDescription=Skickar Discord-serverns inbjudningslänk till spelaren.
discordCommandLink=<primary>Gå med i vår Discord-server på <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Skickar Discord-serverns inbjudningslänk till spelaren
discordCommandExecuteDescription=Kör ett konsolkommando på Minecraft-servern.
discordCommandExecuteArgumentCommand=Kommandot som kommer att köras
discordCommandExecuteReply=Kör kommando\: "/{0}"
@@ -266,7 +263,6 @@ discordErrorNoToken=Ingen token tillhandahålls\! Följ handledningen i konfigur
discordErrorWebhook=Ett fel inträffade när meddelanden skulle skickas till din konsolkanal\! Detta berodde sannolikt på att du av misstag tog bort din konsols webhook. Detta kan fixas genom att säkerställa att din bot har behörigheten "Hantera Webhooks" och kör "/ess reload".
discordLinkInvalidGroup=Ogiltig grupp {0} angavs för rollen {1}. Följande grupper är tillgängliga\: {2}
discordLinkInvalidRole=Ett ogiltigt roll-ID, {0}, har angetts för grupp\: {1}. Du kan se roll-ID med kommandot /roleinfo i Discord.
discordLinkInvalidRoleInteract=Rollen, {0} ({1}), kan inte användas för grupp->rollsynkronisering eftersom den ovanför botens översta roll. Antingen flytta din bots roll ovanför "{0}" eller flytta "{0}" under din bots roll.
discordLinkInvalidRoleManaged=Rollen, {0} ({1}), kan inte användas för grupp->rollsynkronisering eftersom den hanteras av en annan bot eller integration.
discordLinkLinked=<gray>För att länka ditt Minecraft-konto till Discord, skriv <secondary>{0} i Discord-servern.
discordLinkLinkedAlready=<gray>Du har redan länkat ditt Discord-konto\! Om du vill avlänka ditt discord-konto använd <secondary>/unlink<primary>.
@@ -542,7 +538,6 @@ jailAlreadyIncarcerated=<secondary>Personen är redan i fängelse\: {0}
jailMessage=<secondary>Bryter du mot reglerna, får du stå ditt kast.
jailNotExist=Det fängelset finns inte.
jailNotifyJailed=<secondary>{0} <primary>har blivit fängslad av <secondary>{1}.
jailNotifyJailedFor=<secondary>{0} <primary>har blivit fängslad för<secondary> {1}<primary> av <secondary>{2}<primary>.
jailNotifySentenceExtended=<secondary>{0} <primary>fängelsestraff har förlängts till <secondary>{1} <primary>av <secondary>{2}<primary>.
jailReleased=<gray>Spelaren <yellow>{0}<gray> är frisläppt.
jailReleasedPlayerNotify=<gray>Du har blivit frisläppt\!
@@ -708,7 +703,6 @@ noPlacePermission=<secondary>Du har inte tillåtelse att placera ett block nära
noPotionEffectPerm=<dark_red>Du har inte tillåtelse att lägga till brygd-effekten <secondary>{0} <dark_red>till denna brygden.
noPowerTools=Du har inga power-tools tilldelade.
notAllowedToLocal=<dark_red>Du har inte behörighet att använda den lokala chatten.
notAllowedToQuestion=<dark_red>Du har inte behörighet att fråga.
notAllowedToShout=<dark_red>Du har inte behörighet att ropa.
notEnoughExperience=Du har inte nog med erfarenhet.
notEnoughMoney=Du har inte tillräckligt med pengar.
@@ -1087,7 +1081,6 @@ weatherSun=<gray>Du har ställt in vädret till sol i {0}
west=W
whoisAFK=<primary> - AFK\:<white> {0}
whoisBanned=<primary> - Bannad\:<white> {0}
whoisCommandDescription=Tar reda på användarnamnet bakom ett smeknamn.
whoisCommandUsage1Description=Skriver ut grundläggande information om den valda spelaren
whoisExp=<primary> - Erfarenhet\:<white> {0} (Level {1})
whoisFly=<primary> - Flygläge\:<white> {0} ({1})
@@ -3,7 +3,6 @@ adventure=โหมดผจญภัย
afkCommandDescription=สวัสดีครับ
afkCommandUsage=/<command> [ชื่อผู้เล่น/ข้อความ...]
afkCommandUsage1=/<command> [ข้อความ]
afkCommandUsage1Description=ปรับสถานะ afk ด้วยเหตุผลเพิ่มเติม
afkCommandUsage2=/<command> <player> [message]
afkCommandUsage2Description=ปรับสถานะ afk ของผู้เล่นที่ระบุพร้อมกับเหตุผลเพิ่มเติม
alertBroke=ทำลายบล็อค\:
@@ -6,7 +6,7 @@ adventure=macera
afkCommandDescription=Sizi afk (klavyeden uzakta) olarak işaretler.
afkCommandUsage=/<komut> [oyuncu/mesaj...]
afkCommandUsage1=/<command> [mesaj]
afkCommandUsage1Description=İsteğe bağlı bir nedenle afk durumunuzu değiştirir
afkCommandUsage1Description=İsteğe bağlı bir nedenle AFK durumunuzu değiştirir
afkCommandUsage2=/<komut> <oyuncu> [mesaj]
afkCommandUsage2Description=Belirtilen oyuncunun afk (klavyeden uzak) durumunu, isteğe bağlı bir nedenle değiştirir
alertBroke=kırıldı\:
@@ -82,6 +82,7 @@ bigTreeFailure=<dark_red>Büyük ağac oluşturma başarısız. Çimen yada bir
bigTreeSuccess=<primary>Büyük ağaç oluşturuldu.
bigtreeCommandDescription=Baktığın yere büyük bir ağaç oluştur.
bigtreeCommandUsage=/<komut> <tree(ağaç)|redwood(sekoya)|jungle(orman)|darkoak(koyu meşe)>
bigtreeCommandUsage1=/<command> <tree|redwood|jungle|darkoak>
bigtreeCommandUsage1Description=Bahsedilmiş türden büyük bir ağaç oluşturur
blockList=<primary>EssentialsX başka pluginlerdeki aşağıdaki komutların yerine geçiyor\:
blockListEmpty=<primary>EssentialsX başka pluginlerdeki herhangi bir komutun yerini almıyor.
@@ -92,15 +93,18 @@ bookCommandUsage1=
bookCommandUsage1Description=Bir kitap ve tüy veya imazalanmış kitabı kitler veya kilidini kaldırır
bookCommandUsage2=/<command> yazar <author>
bookCommandUsage2Description=İmzalı bir kitabın yazarını belirler
bookCommandUsage3=/<command> title <title>
bookCommandUsage3Description=İmzalı bir kitabın başlığını belirler
bookLocked=<primary>Bu kitap artık kilitli.
bookTitleSet=<primary>Kitabin adı şuna ayarlandı {0}.
bottomCommandDescription=Mevcut konumundaki en düşük bloğa ışınlan.
bottomCommandUsage=/<command>
breakCommandDescription=Baktığınız yerdeki bloğu kırar.
breakCommandUsage=/<command>
broadcast=<reset><primary>[<dark_red>Duyuru<primary>]<green> {0}
broadcastCommandDescription=Tüm sunucuya bir mesaj yayınlar.
broadcastCommandUsage=/<komut> <mesaj>
broadcastCommandUsage1=/<command> <message>
broadcastCommandUsage1Description=Verilen mesajı tüm sunucuya yayınlar
broadcastworldCommandDescription=Bir dünyaya mesaj yayınlar.
broadcastworldCommandUsage=/<komut> <dünya> <mesaj>
@@ -108,6 +112,7 @@ broadcastworldCommandUsage1=/<command><world><msg>
broadcastworldCommandUsage1Description=Verilen mesajı belirtilen dünyada yayınlar
burnCommandDescription=Bir oyuncuyu ateşe ver.
burnCommandUsage=/<komut> <oyuncu> <saniye>
burnCommandUsage1=/<command> <player> <seconds>
burnCommandUsage1Description=Belirtilen oyuncuyu belirtilen süre boyunca yakar
burnMsg=<secondary>{0} <secondary>isimli oyuncuyu <secondary>{1} saniye <primary>boyunca ateşe verdin.
cannotSellNamedItem=<primary>İsimli öğeleri satmaya iznin yok.
@@ -120,6 +125,7 @@ cantGamemode=<dark_red>Oyun modunuzu değiştirmeye izniniz yok \! {0}
cantReadGeoIpDB=GeoIP veritabınını okumakta başarısız olundu\!
cantSpawnItem=<secondary> {0}<dark_red> eşyasını oluşturabilmene izin verilmiyor.
cartographytableCommandDescription=Bir haritacılık masası açar.
cartographytableCommandUsage=/<command>
chatTypeLocal=[L]
chatTypeSpy=[Casus]
cleaned=Oyuncu dosyaları temizlendi.
@@ -128,25 +134,41 @@ clearInventoryConfirmToggleOff=<primary>Artık envanter temizlemelerini onaylama
clearInventoryConfirmToggleOn=<primary>Artık envanter temizlemelerini onaylamanız istenecek.
clearinventoryCommandDescription=Envanterinizdeki tüm öğeleri temizleyin.
clearinventoryCommandUsage=/<komut> [oyuncu|*] [item[\:<veri>]|*|**] [miktar]
clearinventoryCommandUsage1=/<command>
clearinventoryCommandUsage1Description=Envanterindeki tüm eşyaları siler
clearinventoryCommandUsage2=/<command> <player>
clearinventoryCommandUsage2Description=Belirtilen oyuncunun envanterinden tüm eşyaları siler
clearinventoryCommandUsage3=/<command> <player> <item> [miktar]
clearinventoryCommandUsage3Description=Tüm (yada belirlenen miktar kadar) belirlenen eşya türünü oyuncunun envanterinden kaldırır
clearinventoryconfirmtoggleCommandDescription=Envanter temizlemelerini onaylamanız istenip istenmeyeceğini değiştirir.
clearinventoryconfirmtoggleCommandUsage=/<command>
commandArgumentOptional=<gray>
commandArgumentOr=<secondary>
commandArgumentRequired=<yellow>
commandCooldown=<secondary>{0} için bu komutu yazamazsınız.
commandDisabled=<primary> {0} <secondary>komudu kapatılmış.
commandFailed=Komut {0} başarısız oldu\:
commandHelpFailedForPlugin=Plugin hakkında yardım alınırken hata oluştu\: {0}
commandHelpLine1=Komut Yardımı\: {0}
commandHelpLine2=Açıklama\: {0}
commandHelpLine3=<primary>Kullanım(lar);
commandHelpLine4=<primary>Takma Ad(lar)\: <white>{0}
commandHelpLineUsage={0} <primary>- {1}
commandNotLoaded=<dark_red>Komut {0} düzgünce yüklenemedi.
consoleCannotUseCommand=Bu komut Konsol tarafından kullanılamaz.
compassBearing=<primary>Pusula\: {0} ({1} derece).
compassCommandDescription=Mevcut yönünüzü açıklar.
compassCommandUsage=/<command>
condenseCommandDescription=Öğeleri daha kompakt bloklara yoğunlaştırır.
condenseCommandUsage=/<command> [item]
condenseCommandUsage1=/<command>
condenseCommandUsage1Description=Envanterindeki tüm eşyaları siler
condenseCommandUsage2=/<command> <item>
condenseCommandUsage2Description=Envanterinizdeki belirtilen öğeyi fazlalaştırır
configFileMoveError=config.yml dosyasını yedekleme lokasyonuna taşıma işleminde başarısız olundu.
configFileRenameError=Ayarlar yüklenirken hata oluştu \!
confirmClear=<gray>Envanter temizliğini <b>ONAYLAMAK</b><gray> için lütfen komutu tekrarlayın\: <primary>{0}
confirmPayment=<gray><primary>{0}<gray> ödemesini <b>ONAYLAMAK</b><gray> için lütfen şu komutu tekrarlayın\: <primary>{1}
connectedPlayers=<primary>Bağlı oyuncular<reset>
connectionFailed=Bağlantı kurmakta başarısız olundu.
consoleName=Konsol
@@ -156,8 +178,10 @@ couldNotFindTemplate=<secondary>Şablon bulunamadı {0}
createdKit=<primary>Kit <secondary>{0}<primary>, {1} <primary>girdileri ve <secondary>{2} gecikmesi ile oluşturuldu.
createkitCommandDescription=Oyun içinde bir kit oluştur\!
createkitCommandUsage=/<komut> <kitadı> <gecikme>
createkitCommandUsage1=/<command> <kitname> <delay>
createkitCommandUsage1Description=Verilen ad ve süre ile bir kit oluşturur
createKitFailed=<dark_red>{0} kiti oluşturulurken hata oluştu.
createKitSeparator=<st>-----------------------
createKitSuccess=<primary>Oluşturulmuş Kit\: <white>{0}\n<primary>Gecikme\: <white>{1}\n<primary>Bağlantı\: <white>{2}\n<primary>Yukarıdaki bağlantıdaki içerikleri kits.yml dosyanıza kopyalayın.
createKitUnsupported=<dark_red>NBT eşya serileştirme etkinleştirildi, ancak bu sunucu Paper 1.15.2+ sürümünde değil. Standart öğe serileştirmeye geri dönülüyor.
creatingConfigFromTemplate={0} Şablonundan konfigürasyon oluşturuluyor.
@@ -181,16 +205,21 @@ deletingHomes=Tüm evler siliniyor...
deletingHomesWorld={0} içerisindeki tüm evler siliniyor...
delhomeCommandDescription=Bir evi kaldırır.
delhomeCommandUsage=/<komut> [oyuncu\:]<isim>
delhomeCommandUsage1=/<command> <name>
delhomeCommandUsage1Description=Evinizi verilen isimle siler
delhomeCommandUsage2=/<command> <player>\:<name>
delhomeCommandUsage2Description=Belirtilen oyuncunun belirtilen isimli evini siler
deljailCommandDescription=Bir hapsi kaldırır.
deljailCommandUsage=/<komut> <hapisadı>
deljailCommandUsage1=/<command> <jailname>
deljailCommandUsage1Description=Belirtilen isimdeki hapishaneyi siler
delkitCommandDescription=Belirtilen bir kiti kaldırır.
delkitCommandUsage=/<komut> <kit>
delkitCommandUsage1=/<command> <kit>
delkitCommandUsage1Description=Belirtilen isimdeki kiti siler
delwarpCommandDescription=Belirtilen warp noktasını kaldırır.
delwarpCommandUsage=/<komut> <warp>
delwarpCommandUsage1=/<command> <warp>
delwarpCommandUsage1Description=Belirtilen isimdeki ışınlanma noktasını siler
deniedAccessCommand=<secondary>{0} <dark_red>isimli oyuncunun bir komuta erişimi engellendi.
denyBookEdit=<dark_red>Bu kitabın kilidini açamazsınız.
@@ -205,11 +234,68 @@ destinationNotSet=Hedef ayarlanmadı\!
disabled=devre dışı
disabledToSpawnMob=<dark_red>Bu mobun oluşturulması konfigürasyon dosyasından devre dışı bırakılmış.
disableUnlimited=<secondary> {1} <primary>isimli eşyanın <secondary> {0}<primary> için sınırsız yerleştirilmesi devre dışı bırakıldı.
discordbroadcastCommandDescription=Belirtilen Discord kanalına mesaj yayınlar.
discordbroadcastCommandUsage=/<command> <channel> <msg>
discordbroadcastCommandUsage1=/<command> <channel> <msg>
discordbroadcastCommandUsage1Description=Verilen mesajı belirtilen Discord kanalına gönderir
discordbroadcastInvalidChannel=<dark_red>Discord kanalı <secondary>{0}<dark_red> mevcut değil.
discordbroadcastPermission=<secondary>{0}<dark_red> kanalına mesaj göndermek için izniniz yok.
discordbroadcastSent=<secondary>{0}<primary> kanalına mesaj gönderildi\!
discordCommandAccountArgumentUser=Aranacak Discord hesabı
discordCommandAccountDescription=Kendinizin veya belirtilen başka bir Discord kullanıcısının bağlı Minecraft hesabını görüntüler
discordCommandAccountResponseLinked=Hesabınız Minecraft hesabına bağlı\: **{0}**
discordCommandAccountResponseLinkedOther={0} hesabı Minecraft hesabına bağlı\: **{1}**
discordCommandAccountResponseNotLinked=Bağlantılı bir Minecraft hesabınız yok.
discordCommandAccountResponseNotLinkedOther={0}''ın bağlantılı bir Minecraft hesabı yok.
discordCommandDescription=Oyuncuya Discord davet bağlantısını gönderir.
discordCommandLink=<primary>Discord sunucumuza <secondary><click\:open_url\:"{0}">{0}</click> adresinden katılın<primary>\!
discordCommandUsage=/<command>
discordCommandUsage1=/<command>
discordCommandUsage1Description=Oyuncuya Discord davet bağlantısını gönderir
discordCommandExecuteDescription=Minecraft sunucusunda bir konsol komutu çalıştırır.
discordCommandExecuteArgumentCommand=Çalıştırılacak komut
discordCommandExecuteReply="/{0}" komutu çalıştırılıyor
discordCommandUnlinkDescription=Şu anda Minecraft hesabına bağlı olan Discord hesabını kaldırır
discordCommandUnlinkInvalidCode=Şu anda Discord''a bağlı bir Minecraft hesabınız yok\!
discordCommandUnlinkUnlinked=Discord hesabınızın Minecraft''la ilişkili tüm hesaplarıyla bağlantısı kaldırıldı.
discordCommandLinkArgumentCode=Minecraft hesabınızı bağlamak için oyun içinde sağlanan kod
discordCommandLinkDescription=Minecraft içindeki /link komutundan alınan kodla Discord hesabınızı Minecraft hesabınıza bağlar
discordCommandLinkHasAccount=Zaten bağlı bir hesabınız var\! Mevcut hesabınızın bağlantısını kaldırmak için /unlink yazın.
discordCommandLinkInvalidCode=Geçersiz bağlantı kodu\! Oyun içinde /link komutunu çalıştırdığınızdan ve kodu doğru şekilde kopyaladığınızdan emin olun.
discordCommandLinkLinked=Hesabınız başarıyla bağlandı\!
discordCommandListDescription=Çevrimiçi olan oyuncuların bir listesini gösterir.
discordCommandListArgumentGroup=Aramanızı sınırlandırmak için belirli bir grup
discordCommandMessageDescription=Minecraft sunucusundaki bir oyuncuya mesaj gönderir.
discordCommandMessageArgumentUsername=Mesajın gönderileceği oyuncu
discordCommandMessageArgumentMessage=Oyuncuya gönderilecek mesaj
discordErrorCommand=Botunuzu sunucunuza yanlış eklediniz\! Lütfen yapılandırmadaki öğreticiyi takip edin ve botunuzu https\://essentialsx.net/discord.html kullanarak ekleyin
discordErrorCommandDisabled=Bu komut devre dışı\!
discordErrorLogin=Discord’a giriş yapılırken bir hata oluştu, bu nedenle eklenti kendini devre dışı bıraktı\:\n{0}
discordErrorLoggerInvalidChannel=Geçersiz bir kanal tanımı nedeniyle Discord konsol günlüğü devre dışı bırakıldı\! Bunu devre dışı bırakmak istiyorsanız, kanal kimliğini “none” olarak ayarlayın; aksi takdirde, kanal kimliğinizin doğru olduğundan emin olun.
discordErrorLoggerNoPerms=Yetersiz izinler nedeniyle Discord konsol günlüğü devre dışı bırakıldı\! Lütfen botunuzun sunucuda “Webhookları Yönet” iznine sahip olduğundan emin olun. Bunu düzelttikten sonra “/ess reload” komutunu çalıştırın.
discordErrorNoGuild=Geçersiz veya eksik sunucu kimliği\! Lütfen eklentiyi kurmak için yapılandırma dosyasındaki öğreticiyi takip edin.
discordErrorNoGuildSize=Botunuz hiçbir sunucuda bulunmuyor\! Lütfen eklentiyi kurmak için yapılandırma dosyasındaki öğreticiyi takip edin.
discordErrorNoPerms=Botunuz hiçbir kanalı göremiyor veya kanallarda konuşamıyor\! Lütfen botunuzun kullanmak istediğiniz tüm kanallarda okuma ve yazma izinlerine sahip olduğundan emin olun.
discordErrorNoPrimary=Birincil kanal tanımlamadınız veya tanımladığınız birincil kanal geçersiz. Varsayılan kanala geri dönülüyor\: \#{0}.
discordErrorNoPrimaryPerms=Botunuz birincil kanalınız olan \#{0} kanalında konuşamıyor. Lütfen botunuzun kullanmak istediğiniz tüm kanallarda okuma ve yazma izinlerine sahip olduğundan emin olun.
discordErrorNoToken=Hiçbir token sağlanmadı\! Lütfen eklentiyi kurmak için yapılandırma dosyasındaki öğreticiyi takip edin.
discordErrorWebhook=Konsol kanalınıza mesaj gönderilirken bir hata oluştu\! Bu muhtemelen konsol webhook’unuzu yanlışlıkla silmenizden kaynaklanmıştır. Genellikle, botunuzun “Webhookları Yönet” iznine sahip olduğundan emin olarak ve “/ess reload” komutunu çalıştırarak bu sorun giderilebilir.
discordLinkInvalidGroup=Rol {1} için geçersiz grup {0} sağlandı. Mevcut gruplar şunlardır\: {2}
discordLinkInvalidRole=Grup {1} için geçersiz bir rol kimliği ({0}) sağlandı. Rol kimliklerini Discord’da /roleinfo komutuyla görebilirsiniz.
discordLinkInvalidRoleInteract={0} ({1}) rolü, botunuzun en üst rolünün üzerinde olduğu için grup->rol eşzamanlamasında kullanılamaz. Ya botunuzun rolünü “{0}” rolünün üstüne taşıyın ya da “{0}” rolünü botunuzun rolünün altına taşıyın.
discordLinkInvalidRoleManaged={0} ({1}) rolü, başka bir bot veya entegrasyon tarafından yönetildiği için grup->rol eşzamanlamasında kullanılamaz.
discordLinkLinked=<primary>Minecraft hesabınızı Discord ile bağlamak için Discord sunucusunda <secondary>{0}<primary> yazın.
discordLinkLinkedAlready=<primary>Discord hesabınızı zaten bağladınız\! Hesabınızın bağlantısını kaldırmak istiyorsanız <secondary>/unlink<primary> komutunu kullanın.
discordLinkLoginKick=<primary>Bu sunucuya katılmadan önce Discord hesabınızı bağlamalısınız.\n<primary>Minecraft hesabınızı Discord ile bağlamak için şunu yazın\:\n<secondary>{0}\n<primary>bu sunucunun Discord sunucusunda\:\n<secondary>{1}
discordLinkLoginPrompt=<primary>Bu sunucuda hareket etmek, sohbet etmek veya etkileşimde bulunmak için önce Discord hesabınızı bağlamalısınız. Minecraft hesabınızı Discord ile bağlamak için bu sunucunun Discord sunucusunda <secondary>{0}<primary> yazın\: <secondary>{1}
discordLinkNoAccount=<primary>Minecraft hesabınıza şu anda bağlı bir Discord hesabınız yok.
discordLinkPending=<primary>Zaten bir bağlantı kodunuz var. Minecraft hesabınızı Discord ile bağlamayı tamamlamak için Discord sunucusunda <secondary>{0}<primary> yazın.
discordLinkUnlinked=<primary>Minecraft hesabınız tüm bağlı Discord hesaplarından ayrıldı.
discordLoggingIn=Discord’a giriş yapılmaya çalışılıyor...
discordLoggingInDone={0} olarak başarıyla giriş yapıldı
discordMailLine=**{0} kişisinden yeni posta\:** {1}
discordNoSendPermission=\#{0} kanalına mesaj gönderilemiyor. Lütfen botun bu kanalda “Mesaj Gönder” iznine sahip olduğundan emin olun\!
discordReloadInvalid=Eklenti geçersiz bir durumdayken EssentialsX Discord yapılandırmasını yeniden yüklemeye çalışıldı\! Yapılandırma dosyanızı değiştirdiyseniz, sunucunuzu yeniden başlatın.
disposal=Tasfiye
disposalCommandDescription=Sanal çöp menüsü açar.
distance=<primary>Konum\: {0}
@@ -220,11 +306,15 @@ durability=<primary>Bu aracın <secondary>{0}<primary> kullanım ömürü kaldı
east=D
ecoCommandDescription=Sunucu ekonomisini yönetir.
ecoCommandUsage=/<komut> <give(ver)|take(al)|set(ayarla)|reset(sıfırla)> <oyuncu> <miktar>
ecoCommandUsage1Description=Belirtilen oyuncuya belirtilen miktarda para verir
ecoCommandUsage2Description=Belirtilen miktarda parayı belirtilen oyuncudan alır
ecoCommandUsage3Description=Belirtilen oyuncunun bakiyesini belirtilen para miktarına ayarlar
ecoCommandUsage4Description=Belirtilen oyuncunun bakiyesini sunucunun başlangıç bakiyesine sıfırlar
editBookContents=<yellow>Artık bu kitabın içeriğini düzenleyebilirsin.
enabled=aktif
enchantCommandDescription=Oyuncunun tuttuğu öğeyi büyüler.
enchantCommandUsage=/<komut> <büyüadı> [seviye]
enchantCommandUsage1Description=Elinizdeki eşyayı, isteğe bağlı bir seviyeye kadar belirtilen büyüyle büyüler
enableUnlimited=<primary>Sınırsız sayıda<secondary> {0} <primary>, <secondary>{1}<primary> isimli oyuncuya veriliyor.
enchantmentApplied=<primary>Büyü<secondary> {0} <primary>tuttuğun eşyaya uygulandı.
enchantmentNotFound=<dark_red>Büyü bulunamadı\!
@@ -232,15 +322,32 @@ enchantmentPerm=<secondary> {0}<dark_red> için yeterli izinlere sahip değilsin
enchantmentRemoved=<primary>Büyü<secondary> {0} <primary>elinde tuttuğun eşyadan silindi.
enchantments=<primary>Büyüler\:<reset> {0}
enderchestCommandDescription=Bir Ender Sandığı içini görmenizi sağlar.
enderchestCommandUsage1Description=Ender sandığını açar
enderchestCommandUsage2Description=Hedef oyuncunun ender sandığını açar
errorCallingCommand=Komutu çağırırken hata oluştu /{0}
errorWithMessage=<secondary>Hata\:<dark_red> {0}
essentialsCommandDescription=Essentials eklentisini tekrar yükler.
essentialsCommandUsage1Description=Essentials yapılandırma dosyasını yeniden yükler
essentialsCommandUsage2Description=Essentials sürümü hakkında bilgi verir
essentialsCommandUsage3=/<command> commands
essentialsCommandUsage3Description=Essentials’ın ilettiği komutlar hakkında bilgi verir
essentialsCommandUsage4=/<command> debug
essentialsCommandUsage4Description=Essentials’ın “hata ayıklama modu”nu açar veya kapatır
essentialsCommandUsage5=/<command> reset <player>
essentialsCommandUsage5Description=Belirtilen oyuncunun kullanıcı verilerini sıfırlar
essentialsCommandUsage6Description=Eski kullanıcı verilerini temizler
essentialsCommandUsage7Description=Kullanıcı evlerini yönetir
essentialsCommandUsage8Description=İstenen bilgilerle sunucu döküm raporu oluşturur
essentialsHelp1=Bu dosya bozulmuş ve Essentials bunu açamıyor. Essentials devre dışı bırakıldı. Dosyayı kendiniz tamir edemediğiniz takdirde buraya gidin\: http\://tiny.cc/EssentialsChat
essentialsHelp2=Bu dosya bozulmuş ve Essentials bunu açamıyor. Essentials devre dışı bırakıldı. Kendiniz dosyayı düzeltemezseniz /essentialshelp yazın ya da buraya gidin\: http\://tiny.cc/EssentialsChat
essentialsReload=<primary>Essentials yenilendi<secondary> {0}.
exp=<secondary>{0} <primary>adlı oyuncunun <secondary>{1} <primary>tecrübesi (level<secondary> {2}<primary>) var ve bir sonraki seviye için <secondary> {3} <primary>tecrübe kazanması gerekiyor.
expCommandDescription=Bir oyuncunun tecrübesini sıfırla, belirle, ver veya bak.
expCommandUsage=/<komut> [reset|show|set|give] [oyuncuadı [miktar]]
expCommandUsage1Description=Hedef oyuncuya belirtilen miktarda XP verir
expCommandUsage2Description=Hedef oyuncunun Xp miktarını belirtilen değere ayarlar
expCommandUsage4Description=Hedef oyuncunun sahip olduğu Xp miktarını gösterir
expCommandUsage5Description=Hedef oyuncunun XP’sini sıfırlar
expSet=<secondary>{0} <primary>adlı oyuncu artık<secondary> {1} <primary>tecrübeye sahip.
extCommandDescription=Oyuncuları söndür.
extinguish=<primary>Kendini söndürdün.
@@ -251,17 +358,26 @@ failedToWriteConfig=Konfigürasyonu yazarken hata oluştu {0}.
false=<dark_red>yanlış<reset>
feed=<primary>İştahın sona erdi.
feedCommandDescription=Açlığını yatıştır.
feedCommandUsage1Description=Kendinizi veya belirtilirse başka bir oyuncuyu tamamen doyurur
feedOther=<secondary>{0} <primary>adlı oyuncunun iştahını bitirdin.
fileRenameError={0} isimli dosya isimlendirilirken hata oluştu\!
fireballCommandDescription=Bir ateş topu ya da diğer çeşitli şeyleri at.
fireballCommandUsage=/<komut> [fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident] [hız]
fireballCommandUsage1Description=Bulunduğunuz konumdan normal bir ateş topu fırlatır
fireballCommandUsage2=/<command> <fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident> [speed]
fireballCommandUsage2Description=Belirtilen mermiyi, isteğe bağlı bir hızla bulunduğunuz konumdan fırlatır
fireworkColor=<dark_red>Geçersiz havai fişek parametreleri girildi, önce bir renkb belirlemelisin.
fireworkCommandDescription=Bir yığın havai fişeği düzenlemenizi sağlar.
fireworkCommandUsage=/<komut> <<meta param>|power [miktar]|clear|fire [miktar]>
fireworkCommandUsage1Description=Elinizdeki havai fişekten tüm efektleri temizler
fireworkCommandUsage2Description=Elinizdeki havai fişeğin gücünü ayarlar
fireworkCommandUsage3Description=Elinizdeki havai fişekten bir veya belirtilen sayıda kopya fırlatır
fireworkCommandUsage4Description=Elinizdeki havai fişeğe belirtilen efekti ekler
fireworkEffectsCleared=<primary>Tutulan yığından bütün efektler silindi.
fireworkSyntax=<primary>Havai fişek parametreleri\:<secondary> color\:\\<color> [fade\:\\<color>] [shape\:<shape>] [effect\:<effect>]\n<primary>To use multiple colors/effects, separate values with commas\: <secondary>red,blue,pink\n<primary>Shapes\:<secondary> star, ball, large, creeper, burst <primary>Effects\:<secondary> trail, twinkle.
flyCommandDescription=Havalan ve yüksel\!
flyCommandUsage=/<komut> [oyuncu] [on|off]
flyCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için uçma özelliğini açar veya kapatır
flying=uçuyor
flyMode=<secondary>{1} <primary>adlı oyuncu için uçuş modu <secondary>{0} <primary>.
foreverAlone=<dark_red>Yanıtlayabileceğin biri yok.
@@ -272,6 +388,7 @@ gameMode=<primary>Oyun modu<secondary> {0} <primary>olarak <secondary>{1}<primar
gameModeInvalid=<dark_red>Geçerli bir oyuncu/mod belirtmen gerek.
gamemodeCommandDescription=Oyuncu oyun modunu değiştir.
gamemodeCommandUsage=/<komut> <survival|creative|adventure|spectator> [oyuncu]
gamemodeCommandUsage1Description=Kendinizin veya belirtilirse başka bir oyuncunun oyun modunu ayarlar
gcCommandDescription=Hafıza, çalışma süresini ve tick bilgilerini raporlar.
gcfree=<primary>Serbest bellek\:<secondary> {0} MB.
gcmax=<primary>Maximum bellek\:<secondary> {0} MB.
@@ -279,8 +396,11 @@ gctotal=<primary>Kullanılan bellek\:<secondary> {0} MB.
gcWorld=<primary>{0} "<secondary>{1}<primary>"\: <secondary>{2}<primary> chunk, <secondary>{3}<primary> varlıklar, <secondary>{4}<primary> parçacık.
geoipJoinFormat=<primary>Oyuncu, <secondary>{0} <secondary>{1} <primary>adlı yerden geliyor.
getposCommandDescription=Kendinin veya başkasının şimdiki koordinatlarını al.
getposCommandUsage1Description=Kendinizin veya belirtilirse başka bir oyuncunun koordinatlarını alır
giveCommandDescription=Bir oyuncuya bir öğe ver.
giveCommandUsage=/<komut> <oyuncu> <item|numeric> [miktar [öğemetası...]]
giveCommandUsage1Description=Hedef oyuncuya belirtilen eşyadan 64 adet (veya belirtilen miktarda) verir
giveCommandUsage2Description=Hedef oyuncuya belirtilen metadata ile belirtilen eşyadan belirtilen miktarda verir
geoipCantFind=<primary>Oyuncu <secondary>{0} <green>bilinmeyen bir ülkeden <primary> geliyor.
geoIpErrorOnJoin={0} için GeoIP verisi bulunamadı. Lütfen lisans anahtarınızın ve yapılandırmasının doğru olduğundan emin olun.
geoIpLicenseMissing=Lisans anahtarı bulunamadı\! Lütfen ilk kurulum talimatları için https\://essentialsx.net/geoip sayfasını ziyaret edin.
@@ -288,17 +408,22 @@ geoIpUrlEmpty=GeoIP IP indirme bağlantısı boş.
geoIpUrlInvalid=GeoIP indirme bağlantısı geçersiz.
givenSkull=<secondary>{0} <primary>adlı oyuncunun kellesi size verildi.\n
godCommandDescription=Tanrısal güçlerini açar.
godCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için tanrı modunu açar veya kapatır
giveSpawn=<secondary>{0} <primary>eşyasından {1} adet <secondary> {2}<primary> isimli oyuncuya veriliyor.
giveSpawnFailure=<dark_red>Yeterli alan yok<secondary>{0} <secondary>{1} <dark_red>kaybedildi.
godDisabledFor=<secondary>{0} <primary>için <secondary>devre dışı bırakıldı.
godEnabledFor=<secondary>{0} <primary>adlı oyuncu için <secondary>aktif edildi.
godMode=<primary>Tanrı modu<secondary> {0}<primary>.
grindstoneCommandDescription=Zımpara taşı açar.
grindstoneCommandUsage=/<command>
groupDoesNotExist=<dark_red>Bu grupta kimse çevrimiçi değil.
groupNumber=<secondary>{0}<white> aktif, tam liste için\:<secondary> /{1} {2}
hatArmor=<dark_red>Bu eşyayı şapka olarak kullanamazsın\!
hatCommandDescription=Yeni havalı bir şapka al.
hatCommandUsage=/<komut> [remove]
hatCommandUsage1=/<command>
hatCommandUsage1Description=Şapkanızı şu anda elinizde tuttuğunuz eşya olarak ayarlar
hatCommandUsage2Description=Mevcut şapkanızı çıkarır
hatCurse=<dark_red>Bağlanma lanetli bir şapkayı kaldıramazsın\!
hatEmpty=<dark_red>Bir şapka giymiyorsun.
hatFail=<dark_red>Şapka olarak giyebilmek için elinize bir şeyler almalısınız.
@@ -307,6 +432,7 @@ hatRemoved=<primary>Şapkanız çıkarıldı.
haveBeenReleased=<primary>Serbest bırakıldınız.
heal=<primary>İyileştirildin.
healCommandDescription=Seni veya verilen oyuncuyu iyileştirir.
healCommandUsage1Description=Kendinizi veya belirtilirse başka bir oyuncuyu iyileştirir
healDead=<dark_red>Ölü birisini iyileştiremezsiniz\!
healOther=<secondary>{0}<primary> iyileştirildi.
helpCommandDescription=Mevcut komutların bir listesini gösterir.
@@ -318,19 +444,27 @@ helpOp=<dark_red>[Yetkili Yardımı]<reset> <primary>{0}\:<reset> {1}
helpPlugin=<dark_red>{0}<reset>\: Eklenti yardımı\: /help {1}
helpopCommandDescription=Sadece yöneticilere mesaj atar.
helpopCommandUsage=/<komut> <mesaj>
helpopCommandUsage1Description=Belirtilen mesajı çevrimiçi olan tüm yöneticilere gönderir
holdBook=<dark_red>Yazilabilir bir kitap tutmuyorsun.
holdFirework=<dark_red>Efekt eklemek için elinde bir havai fişek olması gerekli.
holdPotion=<dark_red>Efekt eklemek için elinde bir iksir olmalı.
holeInFloor=<dark_red>Yerde bir delik\!
homeCommandDescription=Evine ışınlan.
homeCommandUsage=/<komut> [oyuncu\:][isim]
homeCommandUsage1Description=Belirtilen isme sahip evinize ışınlanırsınız
homeCommandUsage2Description=Belirtilen oyuncunun, belirtilen isme sahip evine ışınlanırsınız
homes=<primary>Evler\:<reset> {0}
homeConfirmation=<secondary>{0}<primary> adında zaten bir evin var\!\nVarolan evinizin üstüne yazmak için komudu tekrar yazın.
homeSet=<primary>Eviniz şuanki konum olarak ayarlandı.
hour=saat
hours=saatler
iceCommandDescription=Bir oyuncuyu serinletir.
iceCommandUsage1Description=Sizi serinletir
iceCommandUsage2Description=Belirtilen oyuncuyu serinletir
iceCommandUsage3Description=Çevrimiçi olan tüm oyuncuları serinletir
ignoreCommandDescription=Diğer oyuncuları görmezden gel veya gelme.
ignoreCommandUsage=/<komut> <oyuncu>
ignoreCommandUsage1Description=Belirtilen oyuncuyu yok sayar veya yok saymayı bırakır
ignoredList=<primary>Engellenen\:<reset> {0}
ignoreExempt=<secondary>Bu kişiyi engelleyemezsiniz.
ignorePlayer=<primary>Şu andan itibaren<secondary> {0} <primary>isimli oyuncuyu engelliyorsunuz.
@@ -363,15 +497,21 @@ inventoryClearingAllItems=<secondary>{0}<aqua> isimli oyuncunun envanterindeki t
inventoryClearingFromAll=<primary>Tüm oyuncuların envanterleri siliniyor...
inventoryClearingStack=<secondary> {0} <primary>isimli eşyadan <secondary> {1} <primary>adet <secondary> {2} <primary>tarafından silindi.
invseeCommandDescription=Diğer oyuncuların envanterini gör.
invseeCommandUsage1Description=Belirtilen oyuncunun envanterini açar
is=olan
isIpBanned=<secondary>{0} <primary>IP adresi sunucudan uzaklaştırıldı.
internalError=<secondary>Bu komutu yerine getirmeye çalışırken iç hata oluştu.
itemCannotBeSold=<dark_red>Bu eşya sunucuya satılamaz.
itemCommandDescription=Bir öğe al.
itemCommandUsage=/<komut> <item|numeric> [miktar [öğemetası...]]
itemCommandUsage1Description=Belirtilen eşyadan bir tam set (veya belirtilen miktarda) verir
itemCommandUsage2Description=Belirtilen metadata ile, belirtilen eşyadan belirtilen miktarda verir
itemloreClear=<primary>Bu öğenin verisi temizlendi.
itemloreCommandDescription=Bir öğenin verisini düzenle.
itemloreCommandUsage=/<komut> <add/set/clear> [yazı/satır] [yazı]
itemloreCommandUsage1Description=Elinizdeki eşyanın açıklamasının sonuna belirtilen metni ekler
itemloreCommandUsage2Description=Elinizdeki eşyanın açıklamasının belirtilen satırını verilen metinle değiştirir
itemloreCommandUsage3Description=Elinizdeki eşyanın açıklamasını temizler
itemloreInvalidItem=<dark_red>Verisini düzenleyebilmek için bir öğe tutmalısınız.
itemloreNoLine=<dark_red>Tuttuğunuz öğenin <secondary>{0}<dark_red> satırında veri yok.
itemloreNoLore=<dark_red>Tuttuğunuz öğenin veri yazısı yok.
@@ -382,6 +522,8 @@ itemNames=<primary>Eşya kısaltmaları\:<reset> {0}
itemnameClear=<primary>Bu eşyanın adını temizlediniz.
itemnameCommandDescription=Bir öğeyi isimlendirir.
itemnameCommandUsage=/<komut> [isim]
itemnameCommandUsage1Description=Elinizdeki eşyanın adını temizler
itemnameCommandUsage2Description=Elinizdeki eşyanın adını belirtilen metinle ayarlar
itemnameInvalidItem=<secondary>Bir eşyayı yeniden isimlendirmek için onu tutmalısın.
itemnameSuccess=<primary>Tuttuğun eşyayı "<secondary>{0}<primary> olarak isimlendirdin".
itemNotEnough1=<dark_red>Bu eşyayı satmak için yeteri kadar adedine sahip değilsiniz.
@@ -396,6 +538,7 @@ itemSpawn=<secondary>{0} <primary>adet <secondary>{1} <primary>verildi.
itemType=<primary>Eşya\:<secondary> {0}
itemdbCommandDescription=Bir öğeyi arar.
itemdbCommandUsage=/<komut> <öğe>
itemdbCommandUsage1Description=Belirtilen eşyayı eşya veritabanında arar
jailAlreadyIncarcerated=<dark_red>Bu kişi zaten hapiste\:<secondary> {0}
jailList=<primary>Hapishaneler\:<reset> {0}
jailMessage=<dark_red>Suçlunun iki kafası vardır, birisi bütün suçlarını işlerken yanındadır, bir diğeri ise sadece idam sehpasında. Birinin adı zeka küpü, birinin adı ise kütüktür.
@@ -410,16 +553,21 @@ jailsCommandDescription=Bütün hapisleri istele.
jumpCommandDescription=Görünürdeki en yakın bloğa zıplar.
jumpError=<dark_red>Bu bilgisayarınızın beynine hasar verebilir.
kickCommandDescription=Belirtilen oyuncuyu bir sebeple atar.
kickCommandUsage1Description=Belirtilen oyuncuyu, isteğe bağlı bir sebep ile oyundan atar
kickDefault=Sunucudan atıldınız.
kickedAll=<dark_red>Sunucudaki tüm oyuncular atıldı.
kickExempt=<dark_red>Bu oyuncuyu atamazsınız.
kickallCommandDescription=Komutu yazan dışında tüm oyuncuları sunucudan atar.
kickallCommandUsage=/<komut> [neden]
kickallCommandUsage1Description=Tüm oyuncuları, isteğe bağlı bir sebep ile oyundan atar
kill=<secondary>{0}<primary> öldürüldü. R.I.P
killCommandDescription=Belirtilen oyuncuyu öldürür.
killCommandUsage1Description=Belirtilen oyuncuyu öldürür
killExempt=<secondary>{0} <dark_red>isimli oyuncuyu öldüremezsiniz.
kitCommandDescription=Belirtilen kiti verir ya da tüm kitleri gösterir.
kitCommandUsage=/<komut> [kit] [oyuncu]
kitCommandUsage1Description=Mevcut tüm kitleri listeler
kitCommandUsage2Description=Belirtilen kiti kendinize veya belirtilirse başka bir oyuncuya verir
kitContains=<primary>Kit <secondary>{0} <primary>şunları içerir\:
kitError=<dark_red>Geçerli bir kit yok.
kitError2=<dark_red>Bu kit düzgün bir şekilde tanımlanmamış. Lütfen bir yönetici ile iletişime geçiniz.
@@ -431,26 +579,40 @@ kitOnce=<secondary>Bu kiti tekrar kullanamazsınız.
kitReceive=<secondary>{0} <primary>kiti alındı.
kitresetCommandDescription=Belirtilen kit üzerindeki bekleme süresini sıfırlar.
kitresetCommandUsage=/<komut> <kit> [oyuncu]\n
kitresetCommandUsage1Description=Belirtilen kitin bekleme süresini kendiniz veya belirtilirse başka bir oyuncu için sıfırlar
kits=<primary>Kitler\:<reset> {0}
kittycannonCommandDescription=Karşındakine patlayan bir kedi at.
kitTimed=<secondary>{0} <dark_red>süre daha bu kiti tekrar kullanamazsın.
leatherSyntax=<primary>Deri renk sözdizimi(syntax)\: <secondary> color\: \\<red>, \\<green>, örneğin\: color\:255,0,0<primary> veya<secondary> color\:<rgb int> örneğin\: color\:16777011
lightningCommandDescription=Thor''un gücü. İmleç veya oyuncuyu çarp.
lightningCommandUsage=/<komut> [oyuncu] [güç]
lightningCommandUsage1Description=Bakmakta olduğunuz yere veya belirtilirse başka bir oyuncunun bulunduğu yere yıldırım düşürür
lightningCommandUsage2Description=Hedef oyuncunun bulunduğu yere belirtilen güçte yıldırım düşürür
lightningSmited=<primary>Tanrılar sana kızıyor olmalı (\!)
lightningUse=<primary>Çarpılıyor<secondary> {0}
linkCommandDescription=Minecraft hesabınızı Discord’a bağlamak için bir kod oluşturur.
linkCommandUsage=/<command>
linkCommandUsage1=/<command>
linkCommandUsage1Description=Discord’daki /link komutu için bir kod oluşturur
listAmount=<primary>Sunucuda <secondary>{0}<primary> çevrimiçi oyuncu var. Maksimum oyuncu sayısı <secondary>{1}<primary> olabilir.
listAmountHidden=<primary>Sunucuda <secondary>{0}<primary>/{1}<primary> çevrimiçi oyuncu var. Maksimum oyuncu sayısı <secondary>{2}<primary> olabilir.
listCommandDescription=Tüm çevrimiçi oyuncuları listele.
listCommandUsage=/<komut> [grup]
listCommandUsage1Description=Sunucudaki tüm oyuncuları veya belirtilirse verilen gruptaki oyuncuları listeler
loadWarpError=<secondary>{0} <dark_red>isimli ışınlanma noktası yüklenemedi.
localFormat=[L]<{0}> {1}
loomCommandDescription=Dokuma tezgahı açar.
mailClear=<primary>Postanızı temizlemek için <secondary> / mail clear<primary> yazın.
mailCleared=<primary>Postan temizlendi\!
mailCommandDescription=Oyuncular arası, sunucu içi postaları yönetir.
mailCommandUsage1Description=Postanızın ilk sayfasını (veya belirtilen sayfayı) okur
mailCommandUsage2Description=Tüm postaları veya belirtilen postayı/postaları siler
mailCommandUsage3Description=Belirtilen oyuncunun tüm postalarını veya belirtilen postayı/postaları siler
mailCommandUsage4Description=Tüm oyuncuların tüm postalarını siler
mailCommandUsage5Description=Belirtilen oyuncuya belirtilen mesajı gönderir
mailCommandUsage6Description=Tüm oyunculara belirtilen mesajı gönderir
mailCommandUsage7Description=Belirtilen oyuncuya, belirtilen sürede sona erecek şekilde mesaj gönderir
mailCommandUsage8Description=Tüm oyunculara, belirtilen sürede sona erecek şekilde mesaj gönderir
mailDelay=Bir dakika içerisinde çok fazla posta gönderdiniz. Maksimum\: {0}
mailMessage={0}
mailSent=<primary>Posta gönderildi\!
@@ -458,12 +620,14 @@ mailSentTo=<secondary>{0}<primary> adlı kişiye aşağıdaki posta gönderildi\
mailTooLong=<dark_red>Posta mesajı çok uzun. Lütfen 1000 karakterden kısa tutmaya çalışın.
markMailAsRead=<primary>Postalarını okundu olarak işaretlemek için <secondary> / mail clear<primary> yaz.
matchingIPAddress=<primary>Bu IP adresinden daha önce şu oyuncular oyuna girdi\:
matchingAccounts={0}
maxHomes=<secondary>{0} <primary>adetten daha fazla ev belirleyemezsin.
maxMoney=<dark_red>Bu işlem, hesabın maksimum bakiye limitini aşacaktır.
mayNotJail=<dark_red>Bu oyuncuyu hapse atamazsınız\!
mayNotJailOffline=<dark_red>Çevrimdışı oyuncuları hapsedemezsin.
meCommandDescription=Oyuncu bağlamındaki bir eylemi açıklar.
meCommandUsage=/<komut> <açıklama>
meCommandUsage1Description=Bir eylemi betimler
meSender=Ben
meRecipient=ben
minimumBalanceError=<dark_red>Bir oyuncunun sahip olabileceği minimum bakiye {0}.
@@ -482,21 +646,26 @@ month=ay
months=ay
moreCommandDescription=Eldeki öğe stackini belirtilen miktara ya da belirtilmediyse maksimum boyuta doldurur.
moreCommandUsage=/<komut> [miktar]
moreCommandUsage1Description=Elinizdeki eşyayı belirtilen miktara veya belirtilmezse maksimum yığınına kadar doldurur
moreThanZero=<dark_red>Miktarlar 0''dan fazla olmalıdır.
motdCommandDescription=Günün Mesajı''nı gösterir.
moveSpeed=<primary>Hız <secondary>{2}<primary> için <secondary>{0} <primary> değerinden {1} <primary>değerine ayarlandı.
msgCommandDescription=Belirtilen oyuncuya özel bir mesaj gönderir.
msgCommandUsage=/<komut> <oyuncu> <mesaj>
msgCommandUsage1Description=Belirtilen oyuncuya verilen mesajı özel olarak gönderir
msgDisabled=<primary>Mesajları alma <secondary>devre dışı<primary>.
msgDisabledFor=<primary>Mesajları alma <secondary>{0}<primary> adlı oyuncu için <secondary>devre dışı .
msgEnabled=<primary>Mesajları alma <secondary>aktif edildi<primary>.
msgEnabledFor=<primary>Mesajları alma <secondary>{0}<primary> adlı oyuncu için <secondary>devrede.
msgIgnore=<secondary>{0} <dark_red>mesajları alma devre dışı.
msgtoggleCommandDescription=Tüm özel mesajları almayı engeller.
msgtoggleCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için özel mesajları açar veya kapatır
multipleCharges=<dark_red>Bu havai fişeğe birden fazla şarj uygulayamazsın.
multiplePotionEffects=<dark_red>Bu iksire birden daha fazla efekt ekleyemezsiniz.
muteCommandDescription=Bir oyuncuyu susturur veya geri susturur.
muteCommandUsage=/<komut> <oyuncu> [tarihfarkı] [sebep]
muteCommandUsage1Description=Belirtilen oyuncuyu kalıcı olarak susturur veya zaten susturulmuşsa susturmayı kaldırır
muteCommandUsage2Description=Belirtilen oyuncuyu belirtilen süre boyunca, isteğe bağlı bir sebep ile susturur
mutedPlayer=<primary>Oyuncu <secondary>{0} <primary>susturuldu.
mutedPlayerFor=<primary>Oyuncu, <secondary>{0} <secondary>{1} <primary>süresince susturuldu.
mutedPlayerForReason=<primary>Oyuncu,<secondary> {0} <secondary> {1}<primary> süreliğine susturuldu. Sebep\: <secondary>{2}
@@ -510,11 +679,19 @@ muteNotifyForReason=<secondary>{0} <primary> isimli kişi, <secondary>{1}<primar
muteNotifyReason=<secondary>{0} <primary>isimli kişi <secondary>{1}<primary> kişisini susturdu. Sebep\: <secondary>{2}
nearCommandDescription=Yakındaki veya bir oyuncu etrafındaki oyuncuları listeler.
nearCommandUsage=/<komut> [oyuncuadı] [yarıçap]
nearCommandUsage1Description=Varsayılan yakınlık mesafesi içinde bulunan tüm oyuncuları listeler
nearCommandUsage2Description=Varsayılan yakınlık mesafesi içinde bulunan tüm oyuncuları listeler
nearCommandUsage3Description=Belirtilen oyuncunun varsayılan yakınlık mesafesi içinde bulunan tüm oyuncuları listeler
nearCommandUsage4Description=Belirtilen oyuncunun belirli bir yarıçapı içinde bulunan tüm oyuncuları listeler
nearbyPlayers=<primary>Yakındaki oyuncular\:<reset> {0}
negativeBalanceError=<dark_red>Kullanıcının negatif değerde bir bakiyeye sahip olmasına izin verilmiyor.
nickChanged=<primary>Oyuncu adı değiştirildi.
nickCommandDescription=Kendi veya başka bir oyuncunun kullanıcı adını değiştir.
nickCommandUsage=/<komut> [oyuncu] [kullanıcıadı|off]
nickCommandUsage1Description=Takma adınızı belirtilen metinle değiştirir
nickCommandUsage2Description=Takma adınızı kaldırır
nickCommandUsage3Description=Belirtilen oyuncunun takma adını belirtilen metinle değiştirir
nickCommandUsage4Description=Belirtilen oyuncunun takma adını kaldırır
nickDisplayName=<dark_red>Essentials konfigürasyonunda change-displayname ayarını aktif etmen gerek.
nickInUse=<dark_red>Bu isim zaten kullanılıyor.
nickNameBlacklist=<dark_red>O isim yasaklı.
@@ -541,6 +718,7 @@ noKits=<primary>Kullanılabilir bir kit yok.
noLocationFound=<dark_red>Geçerli bir konum bulunamadı.
noMail=<primary>Hiç postanız yok.
noMatchingPlayers=<primary>Eşleşen oyuncu bulunamadı.
noMetaComponents=Bukkit''in bu sürümünde Veri Bileşenleri desteklenmiyor. Lütfen JSON NBT meta verilerini kullanın.
noMetaFirework=<dark_red>Havai fişek düzenlemesi yapmak için izniniz yok.
noMetaJson=JSON Metadata Bukkit''in bu versiyonunda desteklenmiyor.
noMetaPerm=<dark_red>Bu eşyaya <secondary>{0}<dark_red> metasını ayarlayamazsınız.
@@ -564,6 +742,7 @@ now=şimdi
noWarpsDefined=<primary>Herhangi bir ışınlanma noktası tarif edilmemiş.
nuke=<dark_purple>Ölüm, yağmur gibi yağ onlara.
nukeCommandDescription=Ölüm üzerlerine yağmur gibi yağsın.
nukeCommandUsage1Description=Tüm oyuncuların veya belirtilirse belirli oyuncuların üzerine nükleer saldırı gönderir
numberRequired=Bir numara oraya gidiyor, saçma.
onlyDayNight=/time sadece day/night destekliyor.
onlyPlayers=<dark_red>Sadece oyun içi kullanıcılar <secondary>{0}<dark_red> kullanabilir.
@@ -576,6 +755,7 @@ oversizedTempban=<dark_red>Bu kadar uzun süreliğine bir oyuncuyu uzaklaştıra
passengerTeleportFail=<dark_red>Yolcu taşırken ışınlanamazsın.
payCommandDescription=Sizin bakiyenizden başka bir oyuncuya ödeme yapar.
payCommandUsage=/<komut> <oyuncu> <miktar>
payCommandUsage1Description=Belirtilen oyuncuya belirtilen miktarda para öder
payConfirmToggleOff=<primary>Artık ödemeleri onaylamanız istenmeyecek.
payConfirmToggleOn=<primary>Şimdi ödemeleri onaylamanız istenecek.
payDisabledFor=<secondary>{0}<primary> için ödemelerin kabulü kapatıldı.
@@ -586,7 +766,9 @@ payToggleOff=<primary>Artık ödeme kabul etmiyorsun.
payToggleOn=<primary>Şimdi ödemeleri kabul ediyorsun.
payconfirmtoggleCommandDescription=Ödemeleri onaylamanız istenip istenmeyeceğini değiştirir.
paytoggleCommandDescription=Ödeme kabul edip etmeyeceğinizi değiştirir.
paytoggleCommandUsage1Description=Kendinizin veya belirtilirse başka bir oyuncunun ödeme kabul edip etmediğini açar veya kapatır
pendingTeleportCancelled=<dark_red>Bekleyen ışınlanma isteği iptal edildi.
pingCommandDescription=Ponpon\!
playerBanIpAddress=<secondary>{0} <secondary>{1} <primary>IP adresini <secondary>{2} <primary>süresince uzaklaştırdı.
playerTempBanIpAddress=<secondary>{0} <primary>oyuncusu <secondary>{1}<primary> IP adresini <secondary>{2}<primary>\: <secondary>{3}<primary> süreliğine geçici olarak banladı.
playerBanned=<secondary>{0} <primary>adlı oyuncu, <secondary>{1} <primary>adlı oyuncuyu <secondary>{2}<primary> <primary>süresince uzaklaştırdı.
@@ -603,11 +785,17 @@ playerTempBanned=<primary>Oyuncu <secondary>{0} <primary>geçici olarak <seconda
playerUnbanIpAddress=<secondary>{0} <primary>oyuncusu <secondary>{1} <primary>IP adresinin uzaklaştırmasını kaldırdı.
playerUnbanned=<primary>Oyuncu,<secondary> {0}<primary>, <secondary>{1} <primary>isimli oyuncunun uzaklaştırılmasını kaldırdı.
playerUnmuted=<primary>Artık konuşabilirsin.
playtimeCommandDescription=Bir oyuncunun oyunda oynadığı süreyi gösterir
playtimeCommandUsage1Description=Oyunda oynadığınız süreyi gösterir
playtimeCommandUsage2Description=Belirtilen oyuncunun oyunda oynadığı süreyi gösterir
pong=Pong\!
posPitch=<primary>Eğim\: {0} (Kafa açısı)
possibleWorlds=<primary>Mümkün dünyalar <secondary>0<primary> ile <secondary>{0}<primary> arasındadır.
potionCommandDescription=Bir iksire özel iksir efektleri ekler.
potionCommandUsage=/<komut> <clear|apply|effect\:<efekt> power\:<güç> duration\:<süre>>
potionCommandUsage1Description=Elinizdeki iksirin üzerindeki tüm etkileri temizler
potionCommandUsage2Description=Elinizdeki iksirdeki tüm etkileri iksiri tüketmeden üzerinize uygular
potionCommandUsage3Description=Elinizdeki iksire belirtilen iksir meta verisini uygular
posX=<primary>X\: {0} (+Doğu <-> -Batı)
posY=<primary>Y\: {0} (+Yukarı <-> -Aşağı)
posYaw=<primary>Rota\: {0} (Yön)
@@ -626,11 +814,22 @@ powerToolsDisabled=<primary>Tüm güç araçlarınız devre dışı bırakıldı
powerToolsEnabled=<primary>Tüm güç araçlarınız etkinleştirildi.
powertoolCommandDescription=Eldeki öğeye bir komut atar.
powertoolCommandUsage=/<komut> [l\:|a\:|r\:|c\:|d\:] [komut] [argümanlar] - {player}, tıklanan bir oyuncunun adıyla değiştirilebilir.
powertoolCommandUsage1Description=Elinizdeki eşyadaki tüm güç araçlarını listeler
powertoolCommandUsage2Description=Elinizdeki eşyanın tüm güç araçlarını siler
powertoolCommandUsage3Description=Elinizdeki eşyadan belirtilen komutu kaldırır
powertoolCommandUsage4Description=Elinizdeki eşyanın güç aracı komutunu belirtilen komutla ayarlar
powertoolCommandUsage5Description=Elinizdeki eşyanın güç araçlarına belirtilen komutu ekler
powertooltoggleCommandDescription=Şimdiki tüm güç aletlerini açar/kapar.
ptimeCommandDescription=Oyuncunun istemci zamanını ayarla. Düzeltmek için @ ekleyin.
ptimeCommandUsage=/<komut> [list|reset|day|night|dawn|17\:30|4pm|4000ticks] [oyuncu|*]
ptimeCommandUsage1Description=Kendinizin veya belirtilirse başka oyuncuların oyun süresini listeler
ptimeCommandUsage2Description=Kendinizin veya belirtilirse başka oyuncuların oyun süresini belirtilen zamana ayarlar
ptimeCommandUsage3Description=Kendinizin veya belirtilirse başka oyuncuların oyun süresini sıfırlar
pweatherCommandDescription=Bir oyuncunun havasını değiştir
pweatherCommandUsage=/<komut> [list|reset|storm|sun|clear] [oyuncu|*]
pweatherCommandUsage1Description=Kendinizin veya belirtilirse başka oyuncuların oyun hava durumunu listeler
pweatherCommandUsage2Description=Kendinizin veya belirtilirse başka oyuncuların oyun hava durumunu belirtilen duruma ayarlar
pweatherCommandUsage3Description=Kendinizin veya belirtilirse başka oyuncuların oyun hava durumunu sıfırlar
pTimeCurrent=<secondary>{0}<primary> isimli oyuncunun zamanı <secondary>{1}<primary>.
pTimeCurrentFixed=<secondary>{0}<primary> isimli oyuncunun zamanı <secondary>{1}<primary> olarak sabitlendi.
pTimeNormal=<secondary>{0}<primary> isimli oyuncunun saati normal ve sunucu saati ile eşleşiyor.
@@ -647,15 +846,18 @@ pWeatherPlayers=<primary>Bu oyuncuların kendilerine özgü hava durumları var\
pWeatherReset=<primary>Oyuncu hava durumu <secondary>{0} <primary> adlı oyuncu için sıfırlandı.
pWeatherSet=<primary>Oyuncu hava durumu <secondary>{0} <primary>olarak <secondary>{1} adlı oyuncu için ayarlandı.
rCommandDescription=Sana en son mesaj atan oyuncuya hızlıca cevap ver.
rCommandUsage1Description=Sana son mesaj gönderen oyuncuya belirtilen metinle cevap verir
radiusTooBig=<dark_red>Çap çok büyük \! Maksiumum çap <secondary> {0} <dark_red> olmalıdır.
readNextPage=<primary>Bir sonraki sayfayı okumak için<secondary> /{0} {1} <primary>yazın.
realName=<white>{0} <primary> adlı kişinin gerçek adı <white>{1}
realnameCommandDescription=Takma ada göre bir kullanıcının kullanıcı adını görüntüler.
realnameCommandUsage=/<komut> <takmaad>
realnameCommandUsage1Description=Belirtilen takma ada göre kullanıcının kullanıcı adını gösterir
recentlyForeverAlone=<dark_red>{0} az önce çevrimdışı oldu.
recipe=<secondary>{0} <primary>için tarif gösteriliyor (<secondary>{1}<primary>/<secondary>{2}<primary>)
recipeBadIndex=Bu sayıda bir tarif bulunamadı.
recipeCommandDescription=Öğelerin nasıl yapılacağını gösterir.
recipeCommandUsage1Description=Belirtilen eşyanın nasıl yapıldığını gösterir
recipeFurnace=<primary>Pişirilmiş\: <secondary>{0}<primary>.
recipeMore=<secondary>{2}<primary> için diğer tarifleri görmek için /{0} <secondary>{1}<primary> <sayı> komutunu kullanın.
recipeNone={0} için tarif bulunamadı.
@@ -664,14 +866,22 @@ recipeShapeless=<primary>Kombine <secondary>{0}
recipeWhere=<primary>Yer\: {0}
removeCommandDescription=Dünyandaki canlıları kaldırır.
removeCommandUsage=/<komut> <all|tamed|named|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[mobTürü]> [yarıçap|dünya]
removeCommandUsage1Description=Mevcut dünyadaki veya belirtilirse başka bir dünyadaki belirtilen türdeki tüm yaratıkları kaldırır
removeCommandUsage2Description=Mevcut dünyadaki veya belirtilirse başka bir dünyadaki belirtilen yarıçap içindeki türdeki tüm yaratıkları kaldırır
removed=<primary><secondary> {0} <primary>adet varlık silindi.
renamehomeCommandDescription=Bir evin adını değiştirir.
renamehomeCommandUsage1Description=Evinizin adını belirtilen isimle değiştirir
renamehomeCommandUsage2Description=Belirtilen oyuncunun evinin adını belirtilen isimle değiştirir
repair=<secondary>{0}<primary> isimli eşyanızı başarıyla tamir ettiniz.
repairAlreadyFixed=<dark_red>Bu eşyanın tamire ihtiyacı yok.
repairCommandDescription=Bir veya tüm öğelerin dayanıklılığını yeniler.
repairCommandUsage=/<komut> [hand|all]
repairCommandUsage1Description=Elinizdeki eşyayı tamir eder
repairCommandUsage2Description=Envanterinizdeki tüm eşyaları tamir eder
repairEnchanted=<dark_red>Büyülü eşyaları tamir etmek için izniniz yok.
repairInvalidType=<dark_red>Bu eşya tamir edilemez.
repairNone=<secondary>Tamire ihtiyacı olan hiç eşya yok.
replyFromDiscord=**{0} kişisinden yanıt\:** {1}
replyLastRecipientDisabled=<primary>Son mesajın alıcısına yanıt verme <secondary>devre dışı bırakıldı<primary>.
replyLastRecipientDisabledFor=<primary>Son mesajın alıcısına yanıt verme <secondary>{0} <primary>adlı oyuncu için <secondary>devre dışı bırakıldı<primary>.
replyLastRecipientEnabled=<primary>Son mesajın alıcısına yanıt verme <secondary>aktif edildi<primary>.
@@ -689,6 +899,7 @@ resetBal=<primary>Tüm çevrimiçi oyuncuların parası <secondary>{0} <primary>
resetBalAll=<primary>Tüm oyuncuların parası <secondary>{0} <primary>olarak sıfırlandı.
rest=<primary>Kendini iyice dinlenmiş hissediyorsun.
restCommandDescription=Seni veya verilen oyuncuyu uyutur.
restCommandUsage1Description=Kendinizin veya belirtilirse başka bir oyuncunun dinlenme süresini sıfırlar
restOther=<primary>Dinleniyor <secondary>{0}<primary>.
returnPlayerToJailError=<secondary>{0} <dark_red>isimli oyuncuyu <secondary>{1} <dark_red>isimli hapse sokarken bir hata oluştu\!
rtoggleCommandDescription=Yanıtın alıcısının son alıcı mı yoksa son gönderen mi olduğunu değiştirin
@@ -699,10 +910,15 @@ seconds=saniye
seenAccounts=<primary>Bu oyuncu ayrıca\:<secondary> {0} <primary>olarak da bilinir.
seenCommandDescription=Bir oyuncunun son çıkış noktasını gösterir.
seenCommandUsage=/<command> <oyuncuadı>
seenCommandUsage1Description=Belirtilen oyuncunun çıkış zamanı, ban durumu, susturma ve UUID bilgilerini gösterir
seenOffline=<secondary>{0} <primary>isimli oyuncu <secondary>{1} <primary>süresinden beri <dark_red>çevrimdışı.
seenOnline=<secondary>{0} <primary>isimli oyuncu <secondary>{1}<primary> süresinden beri <green>çevrimiçi.
sellBulkPermission=<primary>Bir toplu satış izniniz yok.
sellCommandDescription=Elindeki öğeyi satar.
sellCommandUsage1Description=Elinizdeki eşyadan tamamını veya belirtilen miktarı satar
sellCommandUsage2Description=Elinizdeki eşyadan tamamını veya belirtilen miktarı satar
sellCommandUsage3Description=Envanterinizde satılabilecek tüm eşyaları satar
sellCommandUsage4Description=Envanterinizdeki bloklardan tamamını veya belirtilen miktarı satar
sellHandPermission=<primary>El ile satma yetkiniz yok.
serverFull=Sunucu dolu\!
serverReloading=Şu anda iyi bir sunucuyu yeniden yüklüyor olma şansın var. Eğer durum buysa, neden kendinden nefret ediyorsun? /reload kullanırken EssentialsX takımından destek beklemeyin.
@@ -714,23 +930,37 @@ setBalOthers=<green>{0}<green> isimli oyuncunun bakiyesini {1} olarak ayarladın
setSpawner=<primary>Oluşturucu türü <secondary>{0}<primary> olarak değiştirildi.
sethomeCommandDescription=Evini şimdiki noktaya ayarla.
sethomeCommandUsage=/<komut> [[player\:]isim]
sethomeCommandUsage1Description=Belirtilen isimle bulunduğunuz konumda evinizi ayarlar
sethomeCommandUsage2Description=Belirtilen oyuncunun evini, belirtilen isimle ve bulunduğunuz konumda ayarlar
setjailCommandDescription=[hapisadı] adlı belirttiğiniz yerde bir hapishane oluşturur.
setjailCommandUsage1Description=Belirtilen isimle hapishaneyi bulunduğunuz konuma ayarlar
settprCommandDescription=Rasgele ışınlanma lokasyonu ve parametrelerini ayarlayın.
settprCommandUsage1Description=Rastgele ışınlanma merkezini bulunduğunuz konuma ayarlar
settprCommandUsage2Description=Rastgele ışınlanmanın minimum yarıçapını belirtilen değere ayarlar
settprCommandUsage3Description=Rastgele ışınlanmanın maksimum yarıçapını belirtilen değere ayarlar
settpr=<primary>Rasgeke ışınlanma merkezi ayarlandı.
settprValue=<primary>Rasgele ışınlanma <secondary>{0}<primary>, <secondary>{1}<primary> olarak ayarlandı.
setwarpCommandDescription=Yeni bir bükülme noktası oluşturur.
setwarpCommandUsage1Description=Belirtilen isimle warp noktasını bulunduğunuz konuma ayarlar
setworthCommandDescription=Bir öğenin satma değerini ayarla.
setworthCommandUsage=/<komut> [öğeadı|id] <fiyat>
setworthCommandUsage1Description=Elinizdeki eşyanın değerini belirtilen fiyata ayarlar
setworthCommandUsage2Description=Belirtilen eşyanın değerini belirtilen fiyata ayarlar
sheepMalformedColor=<dark_red>Hatalı biçimlendirilmiş renk.
editsignCommandClear=<primary>Tabela temizlendi.
editsignCommandClearLine=<secondary>{0}<primary> satırı temizlendi.
showkitCommandDescription=Bir kitin içeriğini göster.
showkitCommandUsage=/<komut> <kitadı>
showkitCommandUsage1Description=Belirtilen kitteki eşyaların özetini gösterir
editsignCommandDescription=Dünyadaki bir tabelayı düzenler.
editsignCommandLimit=<dark_red>Verilen yazı, hedef tabelaya sığamayacak kadar büyük.
editsignCommandNoLine=<secondary>1-4<dark_red> arası bir numara girmelisiniz.
editsignCommandSetSuccess=<secondary>{0}<primary> satırı "<secondary>{1}<primary>" olarak değiştirildi.
editsignCommandTarget=<dark_red>Yazısını düzenleyebilmek için bir tabelaya bakıyor olmalısınız.
editsignCommandUsage1Description=Hedef tabelanın belirtilen satırını verilen metinle değiştirir
editsignCommandUsage2Description=Hedef tabelanın belirtilen satırını temizler
editsignCommandUsage3Description=Hedef tabelanın tamamını veya belirtilen satırını panonuza kopyalar
editsignCommandUsage4Description=Panonuzdaki metni hedef tabelanın tamamına veya belirtilen satırına yapıştırır
signFormatTemplate=[{0}]
signProtectInvalidLocation=<dark_red>Burada tabela oluşturma izinin yok.
similarWarpExist=<dark_red>Benzer isimde bir ışınlanma noktası zaten mevcut.
@@ -739,24 +969,36 @@ south=G
southWest=GB
skullChanged=<primary>Kafatası <secondary>{0}<primary> olarak değişti.
skullCommandDescription=Bir oyuncu kafatasının sahibini ayarla
skullCommandUsage1Description=Kendi kafanızı alır
skullCommandUsage2Description=Belirtilen oyuncunun kafasını alır
skullCommandUsage3Description=Belirtilen dokuya sahip kafayı alır (doku URL’sinden hash veya Base64 doku değeri olabilir)
skullCommandUsage4Description=Belirtilen sahibin kafasını belirtilen oyuncuya verir
skullCommandUsage5Description=Belirtilen dokuya sahip kafayı (doku URL’sinden hash veya Base64 doku değeri) belirtilen oyuncuya verir
slimeMalformedSize=<dark_red>Hatalı biçimlendirilmiş boyut.
smithingtableCommandDescription=Demirci masası açar.
socialSpy=<secondary>{0} <primary>için sohbet casusluğu<primary>\: <secondary>{1}
socialSpyMutedPrefix=<white>[<primary>SS<white>] <gray>(susturulmuş) <reset>
socialspyCommandDescription=Sohbette msg/mail komutlarını görüp göremeyeceğini açar/kapar.
socialspyCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için sosyal casusluğu açar veya kapatır
soloMob=<dark_red>Bu yaratık yanlız olmak istiyor.
spawned=doğdu
spawnerCommandDescription=Bir spawner''ın canlı türünü değiştir.
spawnerCommandUsage=/<komut> <canlı> [gecikme]
spawnerCommandUsage1Description=Bakmakta olduğunuz canavar kafesinin türünü (ve isteğe bağlı olarak gecikmesini) değiştirir
spawnmobCommandDescription=Bir canlı doğurur.
spawnmobCommandUsage=/<komut> <mob>[\:veri][,<mount>[\:veri]] [miktar] [oyuncu]
spawnmobCommandUsage1Description=Bulunduğunuz konuma (veya belirtilirse başka bir oyuncunun konumuna) belirtilen türden bir veya belirtilen miktarda yaratık doğurur
spawnmobCommandUsage2Description=Bulunduğunuz konuma (veya belirtilirse başka bir oyuncunun konumuna) belirtilen türde bir veya belirtilen miktarda yaratığı, belirtilen yaratığın üzerinde doğurur
spawnSet=<secondary>{0}<primary> grubu için doğma noktası ayarlandı.
spectator=seyirci
speedCommandDescription=Hız sınırlarını değiştir.
speedCommandUsage=/<komut> [tür] <hız> [oyuncu]
speedCommandUsage1Description=Uçma veya yürüme hızınızı belirtilen hıza ayarlar
speedCommandUsage2Description=Belirtilen hız türünü, kendiniz veya belirtilirse başka bir oyuncu için belirtilen hıza ayarlar
stonecutterCommandDescription=Taş kesici açar.
sudoCommandDescription=Başka bir kullanıcı adına komut kullan.
sudoCommandUsage=/<komut> <oyuncu> <komut [argümanlar]>
sudoCommandUsage1Description=Belirtilen oyuncunun belirtilen komutu çalıştırmasını sağlar
sudoExempt=<secondary>{0} <dark_red>isimli oyuncuya sudo komutunu uygulayamazsın.
sudoRun=<secondary>{0} <reset>/{1} <primary>yazmak için zorlanıyor.
suicideCommandDescription=Ölmenize neden olur.
@@ -794,15 +1036,21 @@ tempbanExemptOffline=<secondary>Çevrimdışı oyuncuları sunucudan geçici ola
tempbanJoin=Sunucudan yasaklandınız {0}. Sebep\: {1}
tempBanned=<secondary>{0} Süresince uzaklaştırıldın\:\n<reset>{2}
tempbanCommandDescription=Bir kullanıcıyı geçici olarak banla.
tempbanCommandUsage1Description=Belirtilen oyuncuyu, isteğe bağlı bir sebep ile belirtilen süre boyunca yasaklar
tempbanipCommandDescription=Bir IP adresini geçici banla.
tempbanipCommandUsage1Description=Belirtilen IP adresini, isteğe bağlı bir sebep ile belirtilen süre boyunca yasaklar
thunder=<secondary>{0} <primary>dünyanda şimşek.\n
thunderCommandDescription=Yıldırımı aç/kapa.
thunderCommandUsage=/<komut> <true/false> [süre]
thunderCommandUsage1Description=İsteğe bağlı bir süre için fırtınayı açar veya kapatır
thunderDuration=<secondary>{1} <primary>dünyanda şimşek, <secondary>{0} <primary>süresince.
timeBeforeHeal=<dark_red>Bir sonraki canlandırma için\:<secondary> {0}<dark_red>.
timeBeforeTeleport=<dark_red>Bir sonraki ışınlanma için\:<secondary>{0}<dark_red>.
timeCommandDescription=Dünya saatini değiştir/göster. Varsayılan şimdiki dünyadır.
timeCommandUsage=/<komut> [set|add] [day|night|dawn|17\:30|4pm|4000ticks] [dunyaadı|all]
timeCommandUsage1Description=Tüm dünyalardaki zamanları gösterir
timeCommandUsage2Description=Mevcut (veya belirtilen) dünyadaki zamanı belirtilen zamana ayarlar
timeCommandUsage3Description=Mevcut (veya belirtilen) dünyanın zamanına belirtilen süreyi ekler
timeFormat=<secondary>{0}<primary> veya <secondary>{1}<primary> veya <secondary>{2}<primary>
timeSetPermission=<dark_red>Zamanı ayarlamak için yeterli iznin yok.
timeSetWorldPermission=<dark_red> ''{0}'' dünyasındaki saati ayarlama yetkiniz yok.
@@ -811,6 +1059,8 @@ timeWorldCurrent=<secondary>{0} <primary>lokasyonundaki geçerli saat\: <seconda
timeWorldSet=<primary>Zaman <secondary>{1}<primary> lokasyonunda <secondary>{0}<primary> olarak ayarlandı.
togglejailCommandDescription=Bir oyuncuyu hapse atar ya da hapisten çıkarır, onları belirtilen hapse ışınlar.
togglejailCommandUsage=/<komut> <oyuncu> <hapisadı> [tarihfarkı]
toggleshoutCommandDescription=Bağırma modunda konuşmayı açar veya kapatır
toggleshoutCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için bağırma modunu açar veya kapatır
topCommandDescription=Şimdiki pozisyonundak, en yüksek bloğa ışınlan.
totalSellableAll=<green>Satılabilir tüm eşya ve bloklarınızın değeri\: <secondary>{1}<green>.
totalSellableBlocks=<green>Satılabilir tüm bloklarınızın değeri\: <secondary>{1}<green>.
@@ -818,28 +1068,55 @@ totalWorthAll=<green>Envanterinizdeki tüm eşyalar <secondary>{1} <green>fiyat
totalWorthBlocks=<green>Envanterinizdeki tüm bloklar <secondary>{1} <green>fiyatından satıldı.
tpCommandDescription=Bir oyuncuya ışınlan.
tpCommandUsage=/<komut> <oyuncu> [diğeroyuncu]
tpCommandUsage1Description=Sizi belirtilen oyuncuya ışınlar
tpCommandUsage2Description=Belirtilen ilk oyuncuyu ikinci oyuncuya ışınlar
tpaCommandDescription=Belirtilen oyuncuya ışınlanma isteğinde bulun.
tpaCommandUsage1Description=Belirtilen oyuncuya ışınlanma isteği gönderir
tpaallCommandDescription=Tüm çevrimiçi oyunculardan sana ışınlanmasını ister.
tpaallCommandUsage1Description=Tüm oyuncuların size ışınlanmasını talep eder
tpacancelCommandDescription=Aktif ışınlanma istekleri iptal eder. Bir oyuncu için iptal etmek için [oyuncu] ile belirtin.
tpacancelCommandUsage1Description=Tüm bekleyen ışınlanma isteklerinizi iptal eder
tpacancelCommandUsage2Description=Belirtilen oyuncuya yaptığınız tüm bekleyen ışınlanma isteklerini iptal eder
tpacceptCommandDescription=Bir ışınlanma isteğini kabul eder.
tpacceptCommandUsage=/<komut> [diğeroyuncu]
tpacceptCommandUsage1Description=En son gelen ışınlanma isteğini kabul eder
tpacceptCommandUsage2Description=Belirtilen oyuncudan gelen ışınlanma isteğini kabul eder
tpacceptCommandUsage3Description=Tüm ışınlanma isteklerini kabul eder
tpahereCommandDescription=Belirtilen oyuncunun sana ışınlanmasını iste.
tpahereCommandUsage1Description=Belirtilen oyuncunun size ışınlanmasını talep eder
tpallCommandDescription=Tüm çevrimiçi oyuncuları başka bir oyuncuya ışınla.
tpallCommandUsage1Description=Tüm oyuncuları size veya belirtilirse başka bir oyuncuya ışınlar
tpautoCommandDescription=Işınlanma isteklerini otomatik kabul et.
tpautoCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için ışınlanma (tpa) isteklerinin otomatik kabul edilip edilmediğini açar veya kapatır
tpdenyCommandDescription=Bir ışınlanma isteğini reddet.
tpdenyCommandUsage1Description=En son gelen ışınlanma isteğini reddeder
tpdenyCommandUsage2Description=Belirtilen oyuncudan gelen ışınlanma isteğini reddeder
tpdenyCommandUsage3Description=Tüm ışınlanma isteklerini reddeder
tphereCommandDescription=Bir oyuncuyu kendine ışınla.
tphereCommandUsage1Description=Belirtilen oyuncuyu size ışınlar
tpoCommandDescription=Tptoggle için ışınlanmayı geçersiz kıl.
tpoCommandUsage1Description=Belirtilen oyuncuyu, tercihlerine bakılmaksızın size ışınlar
tpoCommandUsage2Description=Belirtilen ilk oyuncuyu, tercihlerine bakılmaksızın ikinci oyuncuya ışınlar
tpofflineCommandDescription=Bir oyuncunun bilinen son çıkış noktasına ışınlan
tpofflineCommandUsage1Description=Sizi belirtilen oyuncunun çıkış yaptığı konuma ışınlar
tpohereCommandDescription=Tptoggle için buraya ışınlanmayı geçersiz kıl.
tpohereCommandUsage1Description=Belirtilen oyuncuyu, tercihlerine bakılmaksızın size ışınlar
tpposCommandDescription=Koordinatlara ışınlan.
tpposCommandUsage=/<komut> <x> <y> <z> [yaw] [pitch] [dünya]
tpposCommandUsage1Description=Sizi belirtilen konuma, isteğe bağlı olarak yaw, pitch ve/veya dünyayla birlikte ışınlar
tprCommandDescription=Rasgele ışınlan.
tprCommandUsage1Description=Sizi rastgele bir konuma ışınlar
tprCommandUsage2Description=Sizi belirtilen dünyadaki rastgele bir yere ışınlar
tprSuccess=<primary>Rasgele bir yere ışınlanılıyor...
tps=<primary>Şuanki TPS \= {0}
tptoggleCommandDescription=Tüm ışınlanma türlerini engeller.
tptoggleCommandUsageDescription=Kendiniz veya belirtilirse başka bir oyuncu için ışınlamaların açık veya kapalı olduğunu değiştirir
tradeSignEmpty=<dark_red>Ticaret tabelasında senin için hiçbir şey yok.
tradeSignEmptyOwner=<dark_red>Bu ticaret tabelasından alabileceğin hiçbir şey yok.
treeCommandDescription=Baktığın yere bir ağaç oluştur.
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=Bakmakta olduğunuz yere belirtilen türde bir ağaç diker
treeFailure=<dark_red>Ağaç oluşturma sorunu. Toprak veya çimenin üzerinde tekrar deneyin.
treeSpawned=<primary>Ağaç oluşturuldu.
true=<green>doğru<reset>
@@ -850,18 +1127,26 @@ typeWorldName=<primary>Ayrıca belirli bir dünyanın adını da yazabilirsiniz.
unableToSpawnItem=<secondary>{0}<dark_red> eşyası spawnlanamadı. Spawnlanabilir bir eşya değildir.
unableToSpawnMob=<dark_red>Yaratık oluşturulamıyor.
unbanCommandDescription=Belirtilen oyuncunun yasağını kaldırır.
unbanCommandUsage=/<command> <player>
unbanCommandUsage1Description=Belirtilen oyuncunun yasağını kaldırır
unbanipCommandDescription=Belirtilen IP adresinin yasağını kaldırır.
unbanipCommandUsage=/<komut> <adres>
unbanipCommandUsage1Description=Belirtilen IP adresinin yasağını kaldırır
unignorePlayer=<secondary>{0} <primary>isimli oyuncuyu artık engellemiyorsunuz.
unknownItemId=<dark_red>Bilinmeyen eşya ID''''si\:<reset> {0}<dark_red>.
unknownItemInList=<dark_red>{1} listesinde {0} bilinmeyen eşya.
unknownItemName=<dark_red>Bilinmeyen eşya adı\: {0}.
unlimitedCommandDescription=Sınırsız öğe yerleştirmesini sağlar.
unlimitedCommandUsage=/<komut> <list|item|clear> [oyuncu]
unlimitedCommandUsage1Description=Kendinizin veya belirtilirse başka bir oyuncunun sınırsız eşya listesini gösterir
unlimitedCommandUsage2Description=Belirtilen eşyanın kendiniz veya belirtilirse başka bir oyuncu için sınırsız olup olmadığını açar veya kapatır
unlimitedCommandUsage3Description=Kendinizin veya belirtilirse başka bir oyuncunun tüm sınırsız eşyalarını temizler
unlimitedItemPermission=<secondary>Sınırsız <primary>{0}<secondary> için izniniz yok.
unlimitedItems=<primary>Sınırsız eşyalar\:<reset>
unlinkCommandDescription=Minecraft hesabınızı şu anda bağlı olan Discord hesabıyla bağlantısını keser.
unlinkCommandUsage=/<command>
unlinkCommandUsage1=/<command>
unlinkCommandUsage1Description=Minecraft hesabınızın şu anda bağlı olan Discord hesabıyla bağlantısını keser.
unmutedPlayer=<primary>Oyuncu<secondary> {0} <primary>Artik Konusabilirsin\!
unsafeTeleportDestination=<dark_red>Işınlanma hedefi güvenilir değil ve ışınlanma güvenliği devre dışı.
unsupportedBrand=<dark_red>Şu anda sunucuyu yönettiğiniz platform bu özellik için gerekli yeterlilikleri sağlamıyor.
@@ -886,6 +1171,7 @@ userUnknown=<dark_red>Uyarı\: ''<secondary>{0}<dark_red>'' isimli kullanıcı d
usingTempFolderForTesting=Test için kullanılan temp dosyası\:
vanish=<primary>{0} <primary>için Görünmezlik<primary>\: {1}
vanishCommandDescription=Kendini diğer oyunculardan sakla.
vanishCommandUsage1Description=Kendiniz veya belirtilirse başka bir oyuncu için görünmezlik modunu açar veya kapatır
vanished=<primary>Artık tamamen normal oyunculara gizlisiniz\! Ayrıca oyun-içi komutlarda da gizlendiniz.
versionOutputVaultMissing=<dark_red>Vault kurulu değil. Sohbet ve izinler çalışmayabilir.
versionOutputFine=<primary>{0} sürüm\: <green>{1}
@@ -901,7 +1187,11 @@ voiceSilencedReasonTime=<primary>{0} süreliğine susturuldunuz\! Sebep\: <secon
walking=yürüyor
warpCommandDescription=Tüm warpları listele veya belirtilen yere bükül.
warpCommandUsage=/<komut> <sayfanumarası|warp> [oyuncu]
warpCommandUsage1Description=Birinci sayfada veya belirtilen sayfada bulunan tüm warp noktalarının listesini verir
warpCommandUsage2Description=Sizi veya belirtilen oyuncuyu verilen warp noktasına ışınlar
warpDeleteError=<dark_red>Işınlanma noktası dosyası silinirken bir sorun oluştu.
warpinfoCommandDescription=Belirtilen warp noktasının konum bilgilerini bulur
warpinfoCommandUsage1Description=Belirtilen warp noktası hakkında bilgi verir
warpList={0}
warpListPermission=<dark_red>Işınlanma noktalarını listelemek için izniniz yok.
warpNotExist=<dark_red>Böyle bir ışınlanma noktası yok.
@@ -910,6 +1200,7 @@ warps=<primary>Warp Listesi\:<reset> {0}
warpsCount=<secondary>{0} <primary>adet ışınlanma noktası var. Gösterilen Sayfa\: <secondary>{1}<primary>/<secondary>{2}<primary>.
weatherCommandDescription=Havayı ayarlar.
weatherCommandUsage=/<komut> <storm/sun> [süre]
weatherCommandUsage1Description=İsteğe bağlı bir süre için hava durumunu belirtilen türe ayarlar
warpSet=<secondary>{0} <primary>isimli ışınlanma noktası ayarlandı.
warpUsePermission=<secondary>Bu ışınlanma noktasını kullanabilmek için izniniz yok.
weatherInvalidWorld={0} adında bir dünya bulunamadı\!
@@ -919,7 +1210,7 @@ weatherSun=<primary>Havayı <secondary>güneşli <primary>olarak <secondary>{0}
west=B
whoisAFKSince=<primary> - AFK\:<reset> {0} ({1} süresinden beri)
whoisBanned=<primary> - Uzaklaştırılmış\:<reset> {0}
whoisCommandDescription=Takma adın arkasındaki kullanıcı adını belirleyin.
whoisCommandUsage1Description=Belirtilen oyuncu hakkında temel bilgileri verir
whoisExp=<primary> - Tecrübe Puanı\:<reset> {0} (Seviye {1})
whoisFly=<primary> - Uçuş Modu\:<reset> {0} ({1})
whoisSpeed=<primary> - Hız\:<reset> {0}
@@ -941,9 +1232,15 @@ whoisTop=<primary> \=\=\=\=\=\= Kim\:<secondary> {0} <primary>\=\=\=\=\=\=
workbenchCommandDescription=Bir çalışma masası açar.
worldCommandDescription=Dünyalar arası geçiş yap.
worldCommandUsage=/<komut> [dünya]
worldCommandUsage1Description=Nether veya Overworld’deki karşılık gelen konumunuza ışınlanır
worldCommandUsage2Description=Belirtilen dünyadaki konumunuza ışınlanır
worth=<green>1 yığın {0} eşyasının değeri <secondary>{1}<green>. (tanesi {3}''''dan {2} eşya)
worthCommandDescription=Eldeki veya belirtilen öğelerin değerini hesaplar.
worthCommandUsage=/<komut> <<öğeadı>|<id>|hand|inventory|blocks> [-][miktar]
worthCommandUsage1Description=Envanterinizdeki belirtilen eşyadan tamamının veya belirtilen miktarın değerini kontrol eder
worthCommandUsage2Description=Elinizdeki eşyanın tamamının veya belirtilen miktarının değerini kontrol eder
worthCommandUsage3Description=Envanterinizdeki satılabilir tüm eşyaların değerini kontrol eder
worthCommandUsage4Description=Envanterinizdeki bloklardan tamamının veya belirtilen miktarın değerini kontrol eder
worthMeta=<green>{1} meta verisi ile 1 yığın {0} eşyasının değeri <secondary>{2}<green>. (Tanesi {4}''''dan {3} eşya)
worthSet=<primary>Edecek değeri belirlendi.
year=yıl
File diff suppressed because it is too large. Load diff
@@ -455,6 +455,7 @@ geoIpUrlEmpty=Địa chỉ tải xuống GeoIP rỗng.
geoIpUrlInvalid=Địa chỉ tải xuống GeoIP không hợp lệ.
givenSkull=<primary>Bạn đã nhận được đầu của <secondary>{0}<primary>.
godCommandDescription=Thức tỉnh sức mạnh thần thánh của bạn.
godCommandUsage1=/<command> [người chơi]
godCommandUsage1Description=Chuyển đổi chế độ thần cho bạn hoặc người chơi khác nếu được chỉ định
giveSpawn=<primary>Gửi<secondary> {0} <primary>của<secondary> {1} đến<secondary> {2}<primary>.
giveSpawnFailure=<dark_red>Không đủ chỗ trống, <secondary>{0} <secondary>{1} <dark_red>đã bị mất.
@@ -480,6 +481,8 @@ hatRemoved=<primary>Mũ của bạn đã được gỡ.
haveBeenReleased=<primary>Bạn đã được tự do.
heal=<primary>Bạn đã được hồi.
healCommandDescription=Hồi máu cho bạn hoặc người chơi.
healCommandUsage=/<command> [người chơi]
healCommandUsage1=/<command> [người chơi]
healCommandUsage1Description=Hồi phục cho chính bạn hoặc người chơi khác nếu được chỉ định
healDead=<dark_red>Bạn không thể hồi cho người đã chết\!
healOther=<primary>Đã hồi<secondary> {0}<primary>.
@@ -919,7 +922,7 @@ spectator=Khán giả
sudoExempt=<aqua>ạn không thể điều khiển <secondary>{0}.
sudoRun=<primary>Ép buộc<secondary> {0} <primary>dùng\:<reset> /{1}
suicideMessage=<primary>Tạm biệt, thế giới ác độc \:<
suicideSuccess=<primary>Người chơi <secondary>{0} <primary>đã kết liễu đời mình.
suicideSuccess=<primary>Người chơi <secondary>{0} <primary>đã đồng quy vô tận.
survival=Sinh tồn
takenFromAccount=<yellow>{0}<green> đã được rút từ tài khoản của bạn.
takenFromOthersAccount=<green>{0} đã được lấy khỏi tài khoản {1}<green>. Số dư mới\: {2}
@@ -6,7 +6,7 @@ adventure=冒险模式
afkCommandDescription=将你标记为暂时离开。
afkCommandUsage=/<command> [玩家/消息…]
afkCommandUsage1=/<command> [消息]
afkCommandUsage1Description=以一个可选理由切换离开状态
afkCommandUsage1Description=以一个可选理由切换挂机状态
afkCommandUsage2=/<command> <玩家> [信息]
afkCommandUsage2Description=为指定玩家以一个可选理由切换离开状态
alertBroke=破坏了:
@@ -282,7 +282,7 @@ discordErrorNoToken=未提供令牌!请按照配置里的教程来设置插件
discordErrorWebhook=在传输信息到控制台频道时发生了错误!这很有可能是因为控制台的webhook被意外删除而导致的。这通常可以通过让你的机器人得到“管理Webhook”权限,然后使用“/ess reload”来修复。
discordLinkInvalidGroup=身份组{1}被分配了无效的组{0}。当前以下组可用:{2}
discordLinkInvalidRole=组{1}提供了一个无效的身份组ID{0}。你可以在Discord中使用/roleinfo命令来查看身份组ID。
discordLinkInvalidRoleInteract=身份组{0}({1})不能在组 -> 身份组之间同步,因为它的权限高于你的机器人的最高身份组。 请将你的机器人身份组移动到“{0}”以上,或者将“{0}”移动到你机器人的身份组之下。
discordLinkInvalidRoleInteract=身份组{0}({1})不能用于组 -> 身份组之间同步,因为它的权限高于你的机器人的最高身份组。 请将你的机器人身份组移动到“{0}”以上,或者将“{0}”移动到你机器人的身份组之下。
discordLinkInvalidRoleManaged=身份组{0}({1})不能在组 -> 身份组之间同步,因为它是由另一个机器人或集成管理的。
discordLinkLinked=<primary>若要绑定你的Minecraft与Discord账号,请在Discord服务器中输入<secondary>{0}<primary>。
discordLinkLinkedAlready=<primary>你的Discord账号已经绑定过了!如果你想要解绑,请使用<secondary>/unlink<primary>。
@@ -627,7 +627,7 @@ jailList=<primary>监狱:<reset>{0}
jailMessage=<dark_red>请在监狱中面壁思过。
jailNotExist=<dark_red>该监狱不存在。
jailNotifyJailed=<primary>玩家<secondary>{0}<primary>被<secondary>{1}<primary>监禁。
jailNotifyJailedFor=<primary>玩家<secondary>{0}<primary>被<secondary>{2}<primary>监禁<secondary>{1}<primary>。
jailNotifyJailedFor=<primary>玩家<secondary>{0}<primary>被<secondary>{2}<primary>囚禁<secondary>{1}<primary>。
jailNotifySentenceExtended=<primary>玩家<secondary>{0}<primary>的监禁时间被<secondary>{2}<primary>延长到<secondary>{1}<primary>。
jailReleased=<primary>玩家<secondary>{0}<primary>出狱了。
jailReleasedPlayerNotify=<primary>你已被释放!
@@ -884,7 +884,7 @@ noPotionEffectPerm=<dark_red>你没有权限将<secondary>{0}<dark_red>效果应
noPowerTools=<primary>你没有绑定的快捷命令工具。
notAcceptingPay=<dark_red>{0}<dark_red>不接受付款。
notAllowedToLocal=<dark_red>你没有在本地聊天发言的权限。
notAllowedToQuestion=<dark_red>你没有提问的权限。
notAllowedToQuestion=<dark_red>你没有发送提问消息的权限。
notAllowedToShout=<dark_red>你没有喊话的权限。
notEnoughExperience=<dark_red>你没有足够的经验值。
notEnoughMoney=<dark_red>你没有足够的资金。
@@ -1415,7 +1415,15 @@ tprCommandDescription=随机传送。
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=把你随机传送
tprCommandUsage2=/<command> <世界>
tprCommandUsage2Description=将你传送到指定世界中的随机位置
tprCommandUsage3=/<command> <世界> <玩家>
tprCommandUsage3Description=将指定的玩家传送到指定世界中的随机位置
tprOtherUser=<primary>正在传送<secondary> {0} <primary>至随机位置。
tprSuccess=<primary>正在随机传送到一个位置……
tprSuccessDone=<primary>你已被传送至一个随机的位置。
tprNoPermission=<dark_red>你没有权限使用那个位置。
tprNotExist=<dark_red>该随机传送位置不存在。
tps=<primary>当前服务器TPS\={0}
tptoggleCommandDescription=阻止所有形式的传送。
tptoggleCommandUsage=/<command> [玩家] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>这个告示牌已经写满了!
tradeSignSameType=<dark_red>你不能交易相同的物品类型。
treeCommandDescription=在你的光标所指向的位置生成一棵树。
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=在你光标所指向的位置生成一颗指定类型的树
treeFailure=<dark_red>无法生成树。请在泥土(或草方块)上面再试一次。
treeSpawned=<primary>已生成树。
@@ -1558,7 +1566,7 @@ west=W
whoisAFK=<primary> - 暂时离开:<reset>{0}
whoisAFKSince=<primary> - 暂时离开:<reset>{0}(自{1}起)
whoisBanned=<primary> - 已被封禁:<reset>{0}
whoisCommandDescription=确认昵称下的用户名。
whoisCommandDescription=查明指定玩家的基本信息。
whoisCommandUsage=/<command> <昵称>
whoisCommandUsage1=/<command> <玩家>
whoisCommandUsage1Description=查询指定玩家的基本信息
@@ -5,7 +5,6 @@ adventure=冒險模式
afkCommandDescription=標記你為離開狀態。
afkCommandUsage=/<command> [玩家/訊息...]
afkCommandUsage1=/<command> [訊息]
afkCommandUsage1Description=切換你自己嘅離線狀態,可附加訊息
afkCommandUsage2=/<command> <玩家> [訊息]
afkCommandUsage2Description=切換指定玩家嘅離線狀態,可附加訊息
alertBroke=破壞\:
@@ -216,9 +215,7 @@ discordCommandAccountResponseLinked=你嘅 Discord 帳戶已連結到 Minecraft
discordCommandAccountResponseLinkedOther={0} 嘅帳戶已連結到 Minecraft 帳戶:**{1}**
discordCommandAccountResponseNotLinked=你未連結任何 Minecraft 帳戶。
discordCommandAccountResponseNotLinkedOther={0} 未連結任何 Minecraft 帳戶。
discordCommandDescription=向玩家發送 Discord 邀請連結。
discordCommandLink=<primary>加入我哋嘅 Discord 伺服器\: <secondary><click\:open_url\:"{0}">{0}</click><primary>\!
discordCommandUsage1Description=向玩家發送 Discord 邀請連結
discordCommandExecuteDescription=喺 Minecraft 伺服器上執行控制台指令。
discordCommandExecuteArgumentCommand=要執行嘅指令
discordCommandExecuteReply=執行緊指令:"/{0}"
@@ -249,7 +246,6 @@ discordErrorNoToken=未提供 token!請跟隨設定文件入面嘅教學設定
discordErrorWebhook=向控制台頻道發送訊息時出錯!可能係因為意外刪咗控制台 webhook。通常可以透過賦予「管理 Webhooks」權限再執行 /ess reload 解決。
discordLinkInvalidGroup=角色 {1} 指定嘅群組 {0} 無效。可用群組有:{2}
discordLinkInvalidRole=對群組 {1},提供咗無效角色 ID {0}。請用 /roleinfo 喺 Discord 入面查看角色 ID。
discordLinkInvalidRoleInteract=角色 {0} ({1}) 高於你機械人最高權限角色,唔可以用於群組同步。請調整角色順序或權限。
discordLinkInvalidRoleManaged=角色 {0} ({1}) 受其他機械人或集成管理,唔可以用嚟做群組到角色同步。
discordLinkLinked=<primary>要將你嘅 Minecraft 帳戶連結到 Discord,請喺 Discord 伺服器輸入 <secondary>{0}<primary>。
discordLinkLinkedAlready=<primary>你已經連結咗 Discord 帳戶\! 如果要取消連結,請使用 <secondary>/unlink<primary>。
@@ -538,7 +534,6 @@ jailList=<primary>監獄清單\:<reset> {0}
jailMessage=<dark_red>請面壁思過,冷靜反省!
jailNotExist=<dark_red>該監獄不存在。
jailNotifyJailed=<primary>玩家<secondary>{0}<primary>已被<secondary>{1}<primary>監禁。
jailNotifyJailedFor=<primary>玩家<secondary>{0}<primary>被監禁 <secondary>{1}<primary>,由 <secondary>{2}<primary>操作。
jailNotifySentenceExtended=<primary>玩家<secondary>{0}<primary>嘅監禁時間被延長至<secondary>{1}<primary>,由 <secondary>{2}<primary>操作。
jailReleased=<primary>玩家 <secondary>{0}<primary> 已經出獄。
jailReleasedPlayerNotify=<primary>你已經獲釋啦!
@@ -748,7 +743,6 @@ noPotionEffectPerm=<dark_red>你冇權限將特效 <secondary>{0}<dark_red> 應
noPowerTools=<primary>你冇綁定任何指令。
notAcceptingPay=<dark_red>{0}<dark_red> 唔接受付款。
notAllowedToLocal=<dark_red>你冇權限喺本地聊天講嘢。
notAllowedToQuestion=<dark_red>你冇權限發問。
notAllowedToShout=<dark_red>你冇權限喺頻道大叫。
notEnoughExperience=<dark_red>你冇足夠經驗值。
notEnoughMoney=<dark_red>你冇足夠資金。
@@ -884,7 +884,7 @@ noPotionEffectPerm=<dark_red>你沒有套用效果 <secondary>{0} <dark_red>到
noPowerTools=<primary>你沒有綁定指令。
notAcceptingPay=<dark_red>{0} <dark_red>不接受付款。
notAllowedToLocal=<dark_red>你沒有在區域聊天的權限。
notAllowedToQuestion=&c你沒有使用提問的權限。
notAllowedToQuestion=<dark_red>你沒有權限傳送問題訊息。
notAllowedToShout=你沒有使用喊話的權限。
notEnoughExperience=<dark_red>你沒有足夠的經驗值。
notEnoughMoney=<dark_red>你沒有足夠的餘額。
@@ -903,7 +903,7 @@ onlyPlayers=<dark_red>只有遊戲中的玩家可以使用 <secondary>{0}<dark_r
onlyPlayerSkulls=<dark_red>你只能設定玩家頭顱的擁有者(<secondary>397\:3<dark_red>)。
onlySunStorm=<dark_red>/weather 只有 sun/storm 兩個引數。
openingDisposal=<primary>正在開啟垃圾桶選單……
orderBalances=<primary>正在排序<secondary> {0} <primary>個使用者的餘額中,請稍候……
orderBalances=<primary>正在排序<secondary> {0} <primary>個玩家的金錢中,請稍候……
oversizedMute=<dark_red>你在一段時間內無法禁言此玩家。
oversizedTempban=<dark_red>你無法以此持續時間封鎖玩家。
passengerTeleportFail=<dark_red>你無法在乘坐時被傳送。
@@ -944,7 +944,7 @@ playerTempBanned=<primary>玩家<secondary> {1} <primary>暫時被<secondary> {0
playerUnbanIpAddress=<primary>玩家<secondary> {0} <primary>已解除封鎖 IP 位址:<secondary>{1}<primary>。
playerUnbanned=<primary>玩家<secondary> {1} <primary>被<secondary> {0} <primary>解除封鎖。
playerUnmuted=<primary>你已被解除禁言。
playtimeCommandDescription=顯示玩家的遊玩時間
playtimeCommandDescription=顯示玩家的遊玩時間,
playtimeCommandUsage=/<command> [玩家]
playtimeCommandUsage1=/<command>
playtimeCommandUsage1Description=顯示你的遊玩時間
@@ -1025,10 +1025,10 @@ pWeatherPlayers=<primary>這些玩家的用戶端天氣與伺服器端天氣不
pWeatherReset=<primary>玩家 <secondary>{0} <primary>的用戶端天氣已被重設。
pWeatherSet=<primary>玩家 <secondary>{1}<primary> 的用戶端天氣已被設定為 <secondary>{0}。
questionFormat=<dark_green>[提問]<reset> {0}
rCommandDescription=快速回覆上一個玩家訊息。
rCommandDescription=快速回覆上一位玩家的訊息。
rCommandUsage=/<command> <訊息>
rCommandUsage1=/<command> <訊息>
rCommandUsage1Description=使用指定文字訊息回覆上一個玩家
rCommandUsage1Description=使用指定文字訊息回覆上一位玩家
radiusTooBig=<dark_red>半徑太大!最大半徑為<secondary> {0}<dark_red>。
readNextPage=<primary>輸入<secondary> /{0} {1} <primary>來閱讀下一頁。
realName=<white>{0}<reset><primary> 是 <white>{1}
@@ -1101,14 +1101,14 @@ restCommandUsage1=/<command> [玩家]
restCommandUsage1Description=重設你或指定玩家精神狀態
restOther=<secondary>{0} <primary>休息中。
returnPlayerToJailError=<dark_red>嘗試將玩家<secondary> {0} <dark_red>關回監獄時發生錯誤:<secondary>{1}<dark_red>!
rtoggleCommandDescription=變更回覆收件人為最後的收件人或發件人
rtoggleCommandDescription=變更你是否要回覆上一位收到你訊息的人或上一位傳訊息給你的人。
rtoggleCommandUsage=/<command> [玩家] [on|off]
rulesCommandDescription=檢視伺服器規則。
rulesCommandUsage=/<command> [章節] [頁數]
runningPlayerMatch=<primary>正在搜尋符合「<secondary>{0}<primary>」的玩家(這可能需要一點時間)。
second=秒
seconds=秒
seenAccounts=<primary>此玩家以前也叫做:<secondary>{0}
seenAccounts=<primary>這位玩家以前也叫做:<secondary>{0}
seenCommandDescription=顯示玩家的最後登出時間。
seenCommandUsage=/<command> <玩家名稱>
seenCommandUsage1=/<command> <玩家名稱>
@@ -1415,7 +1415,15 @@ tprCommandDescription=隨機傳送。
tprCommandUsage=/<command>
tprCommandUsage1=/<command>
tprCommandUsage1Description=傳送到隨機位置
tprCommandUsage2=/<command> <世界>
tprCommandUsage2Description=將你傳送到指定世界的隨機座標
tprCommandUsage3=/<command> <世界> <玩家>
tprCommandUsage3Description=將指定玩家傳送到指定世界的隨機座標
tprOtherUser=<primary>正在傳送<secondary> {0}<primary> 到隨機座標。
tprSuccess=<primary>正在傳送到隨機座標……
tprSuccessDone=<primary>你已被傳送到隨機座標。
tprNoPermission=<dark_red>您沒有使用此座標的權限。
tprNotExist=<dark_red>此隨機傳送座標不存在。
tps=<primary>目前 TPS \= {0}
tptoggleCommandDescription=阻止所有形式的傳送。
tptoggleCommandUsage=/<command> [玩家] [on|off]
@@ -1427,7 +1435,7 @@ tradeSignFull=<dark_red>此告示牌已寫滿了!
tradeSignSameType=<dark_red>你不能交易相同的物品類型。
treeCommandDescription=讓你看著的位置生成一棵樹木。
treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp>
treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp|paleoak>
treeCommandUsage1Description=讓你看著的位置生成指定類型的大樹
treeFailure=<dark_red>無法生成樹木,請在草地或泥土上再試一次。
treeSpawned=<primary>已生成樹木。
@@ -1487,15 +1495,15 @@ userJailed=<primary>你已被逮捕並關進監獄!
usermapEntry=<secondary>{0} <primary>與 <secondary>{1}<primary> 已關聯。
usermapKnown=<primary>使用者快取中有 <secondary>{0} <primary> 個已知使用者,有 <secondary>{1} <primary>個名稱與 UUID 配對。
usermapPurge=<primary>正在檢查沒有建立關聯的使用者檔案,結果將被記錄到控制台。破壞模式:{0}
usermapSize=<primary>目前玩家地圖中的快取玩家是 <secondary>{0}<primary>/<secondary>{1}<primary>/<secondary>{2}<primary>。
usermapSize=<primary>使用者地圖中目前快取的使用者是 <secondary>{0}<primary>/<secondary>{1}<primary>/<secondary>{2}<primary>。
userUnknown=<dark_red>警告:使用者「<secondary>{0}<dark_red>」從來沒有加入過此伺服器。
usingTempFolderForTesting=使用暫存資料夾來測試:
vanish=<primary>已{1} {0} <primary>的隱形模式。
vanish=<primary>隱形 {0}<primary>:{1}
vanishCommandDescription=從其他玩家的視線中隱藏自己。
vanishCommandUsage=/<command> [玩家] [on|off]
vanishCommandUsage1=/<command> [玩家]
vanishCommandUsage1Description=切換自己或指定玩家是否隱形
vanished=<primary>現在開始你將不會被一般使用者發現,而且在遊戲內的指令消失。
vanished=<primary>已將你從遊戲及指令訊息中隱形,不被普通玩家看見。
versionCheckDisabled=<primary>更新檢查已於設定檔中停用。
versionCustom=<primary>無法檢查你目前的版本!是自己建立的?建置資訊:<secondary>{0}<primary>。
versionDevBehind=<dark_red>你正在執行的 EssentialsX 已過時 <secondary>{0} <dark_red>個開發建置!
@@ -1558,7 +1566,7 @@ west=西
whoisAFK=<primary> - 暫時離開:<reset>{0}
whoisAFKSince=<primary> - 暫時離開:<reset>{0}(從 {1} 前)
whoisBanned=<primary> - 封鎖:<reset>{0}
whoisCommandDescription=確認暱稱玩家真實名稱。
whoisCommandDescription=確定指定玩家基本資訊。
whoisCommandUsage=/<command> <暱稱>
whoisCommandUsage1=/<command> <玩家>
whoisCommandUsage1Description=查詢指定玩家基本資訊
File diff suppressed because it is too large. Load diff
@@ -8,92 +8,102 @@ import com.earth2me.essentials.utils.AdventureUtil;
import net.ess3.api.Economy;
import net.ess3.api.MaxMoneyException;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.InvalidDescriptionException;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockbukkit.mockbukkit.MockBukkit;
import org.mockbukkit.mockbukkit.ServerMock;
import java.io.IOException;
import java.io.File;
public class EconomyTest {
private static final String NPCNAME = "npc1";
private static final String PLAYERNAME = "testPlayer1";
private static final String PLAYERNAME2 = "testPlayer2";
private final transient Essentials ess;
private final FakeServer server;
private Essentials ess;
private ServerMock server;
public EconomyTest() {
this.server = FakeServer.getServer();
ess = new Essentials(server);
try {
ess.setupForTesting(server);
} catch (final InvalidDescriptionException ex) {
Assert.fail("InvalidDescriptionException");
} catch (final IOException ex) {
Assert.fail("IOException");
@BeforeEach
void setUp() {
server = MockBukkit.mock();
Essentials.TESTING = true;
ess = MockBukkit.load(Essentials.class);
// Proactively create the userdata folder to prevent async task failures
final File userdataFolder = new File(ess.getDataFolder(), "userdata");
if (!userdataFolder.exists()) {
userdataFolder.mkdirs();
}
server.addPlayer(new OfflinePlayerStub(PLAYERNAME, ess.getServer()));
server.addPlayer(new OfflinePlayerStub(PLAYERNAME2, ess.getServer()));
server.addPlayer(PLAYERNAME);
server.addPlayer(PLAYERNAME2);
}
@AfterEach
void tearDown() {
MockBukkit.unmock();
}
// only one big test, since we use static instances
@Test
public void testEconomy() {
// test NPC
Assert.assertFalse("NPC does not exists", Economy.playerExists(NPCNAME));
Assert.assertTrue("Create NPC", Economy.createNPC(NPCNAME));
Assert.assertTrue("NPC exists", Economy.playerExists(NPCNAME));
Assert.assertNotNull("NPC can be accessed", ess.getOfflineUser(NPCNAME));
Assertions.assertFalse(Economy.playerExists(NPCNAME), "NPC does not exists");
Assertions.assertTrue(Economy.createNPC(NPCNAME), "Create NPC");
Assertions.assertTrue(Economy.playerExists(NPCNAME), "NPC exists");
Assertions.assertNotNull(ess.getOfflineUser(NPCNAME), "NPC can be accessed");
try {
Economy.removeNPC(NPCNAME);
} catch (final UserDoesNotExistException ex) {
Assert.fail(ex.getMessage());
Assertions.fail(ex.getMessage());
}
Assert.assertFalse("NPC can be removed", Economy.playerExists(NPCNAME));
Assertions.assertFalse(Economy.playerExists(NPCNAME), "NPC can be removed");
//test Math
try {
Assert.assertTrue("Player exists", Economy.playerExists(PLAYERNAME));
Assertions.assertTrue(Economy.playerExists(PLAYERNAME), "Player exists");
Economy.resetBalance(PLAYERNAME);
Assert.assertEquals("Player has no money", 0.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(0.0, Economy.getMoney(PLAYERNAME), 0, "Player has no money");
Economy.add(PLAYERNAME, 10.0);
Assert.assertEquals("Add money", 10.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(10.0, Economy.getMoney(PLAYERNAME), 0, "Add money");
Economy.subtract(PLAYERNAME, 5.0);
Assert.assertEquals("Subtract money", 5.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(5.0, Economy.getMoney(PLAYERNAME), 0, "Subtract money");
Economy.multiply(PLAYERNAME, 2.0);
Assert.assertEquals("Multiply money", 10.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(10.0, Economy.getMoney(PLAYERNAME), 0, "Multiply money");
Economy.divide(PLAYERNAME, 2.0);
Assert.assertEquals("Divide money", 5.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(5.0, Economy.getMoney(PLAYERNAME), 0, "Divide money");
Economy.setMoney(PLAYERNAME, 10.0);
Assert.assertEquals("Set money", 10.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(10.0, Economy.getMoney(PLAYERNAME), 0, "Set money");
} catch (final NoLoanPermittedException | UserDoesNotExistException | MaxMoneyException ex) {
Assert.fail(ex.getMessage());
Assertions.fail(ex.getMessage());
}
//test Format
Assert.assertEquals("Format $1,000", "$1,000", Economy.format(1000.0));
Assert.assertEquals("Format $10", "$10", Economy.format(10.0));
Assert.assertEquals("Format $10.10", "$10.10", Economy.format(10.10));
Assert.assertEquals("Format $10.10", "$10.10", Economy.format(10.1000001));
Assert.assertEquals("Format $10.10", "$10.10", Economy.format(10.1099999));
Assertions.assertEquals("$1,000", Economy.format(1000.0), "Format $1,000");
Assertions.assertEquals("$10", Economy.format(10.0), "Format $10");
Assertions.assertEquals("$10.10", Economy.format(10.10), "Format $10.10");
Assertions.assertEquals("$10.10", Economy.format(10.1000001), "Format $10.10");
Assertions.assertEquals("$10.10", Economy.format(10.1099999), "Format $10.10");
//test Exceptions
try {
Assert.assertTrue("Player exists", Economy.playerExists(PLAYERNAME));
Assertions.assertTrue(Economy.playerExists(PLAYERNAME), "Player exists");
Economy.resetBalance(PLAYERNAME);
Assert.assertEquals("Reset balance", 0.0, Economy.getMoney(PLAYERNAME), 0);
Assertions.assertEquals(0.0, Economy.getMoney(PLAYERNAME), 0, "Reset balance");
Economy.subtract(PLAYERNAME, 5.0);
Assert.fail("Did not throw exception");
Assertions.fail("Did not throw exception");
} catch (final NoLoanPermittedException | MaxMoneyException ignored) {
} catch (final UserDoesNotExistException ex) {
Assert.fail(ex.getMessage());
Assertions.fail(ex.getMessage());
}
try {
Economy.resetBalance("UnknownPlayer");
Assert.fail("Did not throw exception");
Assertions.fail("Did not throw exception");
} catch (final NoLoanPermittedException | MaxMoneyException ex) {
Assert.fail(ex.getMessage());
Assertions.fail(ex.getMessage());
} catch (final UserDoesNotExistException ignored) {
}
}
@@ -139,7 +149,7 @@ public class EconomyTest {
try {
runCommand("pay", user1, PLAYERNAME2 + " -123");
} catch (final Exception e) {
Assert.assertEquals(AdventureUtil.miniToLegacy(I18n.tlLiteral("payMustBePositive")), e.getMessage());
Assertions.assertEquals(AdventureUtil.miniToLegacy(I18n.tlLiteral("payMustBePositive")), e.getMessage());
}
}
}
@@ -3,36 +3,37 @@ package com.earth2me.essentials;
import com.earth2me.essentials.commands.IEssentialsCommand;
import com.earth2me.essentials.commands.NoChargeException;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.InvalidDescriptionException;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockbukkit.mockbukkit.MockBukkit;
import org.mockbukkit.mockbukkit.ServerMock;
import org.mockbukkit.mockbukkit.entity.PlayerMock;
import java.io.IOException;
import static org.junit.Assert.fail;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
public class MessagingTest {
private final OfflinePlayerStub base1;
private final Essentials ess;
private final FakeServer server;
private PlayerMock base1;
private Essentials ess;
private ServerMock server;
public MessagingTest() {
server = FakeServer.getServer();
ess = new Essentials(server);
try {
ess.setupForTesting(server);
} catch (final InvalidDescriptionException ex) {
fail("InvalidDescriptionException");
} catch (final IOException ex) {
fail("IOException");
}
base1 = server.createPlayer("testPlayer1");
server.addPlayer(base1);
@BeforeEach
void setUp() {
this.server = MockBukkit.mock();
Essentials.TESTING = true;
ess = MockBukkit.load(Essentials.class);
base1 = server.addPlayer("testPlayer1");
ess.getUser(base1);
}
@AfterEach
void tearDown() {
MockBukkit.unmock();
}
private void runCommand(final String command, final User user, final String args) throws Exception {
runCommand(command, user, args.split("\\s+"));
}
@@ -68,27 +69,29 @@ public class MessagingTest {
}
}
@Test(expected = Exception.class) // I really don't like this, but see note below about console reply
public void testNullLastMessageReplyRecipient() throws Exception {
final User user1 = ess.getUser(base1);
final Console console = Console.getInstance();
if (ess.getSettings().isLastMessageReplyRecipient()) {
assertNull(console.getReplyRecipient()); // console never messaged or received messages from anyone.
@Test
public void testNullLastMessageReplyRecipient() {
assertThrows(Exception.class, () -> {
final User user1 = ess.getUser(base1);
final Console console = Console.getInstance();
if (ess.getSettings().isLastMessageReplyRecipient()) {
runCommand("r", user1, "This is me sending you a message using /r without you replying!");
assertNull(console.getReplyRecipient()); // console never messaged or received messages from anyone.
if (ess.getSettings().isLastMessageReplyRecipient()) {
runCommand("r", user1, "This is me sending you a message using /r without you replying!");
}
// Not really much of a strict test, but just "testing" console output.
user1.setAfk(true);
// Console replies using "/r Hey, son!"
//
// This throws Exception because the console hasnt messaged anyone.
runConsoleCommand("r", "Hey, son!");
} else {
throw new Exception(); // Needed to prevent build failures.
}
// Not really much of a strict test, but just "testing" console output.
user1.setAfk(true);
// Console replies using "/r Hey, son!"
//
// This throws Exception because the console hasnt messaged anyone.
runConsoleCommand("r", "Hey, son!");
} else {
throw new Exception(); // Needed to prevent build failures.
}
});
}
@Test
@@ -2,36 +2,36 @@ package com.earth2me.essentials;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.plugin.InvalidDescriptionException;
import org.junit.Assert;
import org.junit.Test;
import java.io.IOException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockbukkit.mockbukkit.MockBukkit;
import org.mockbukkit.mockbukkit.ServerMock;
import org.mockbukkit.mockbukkit.entity.PlayerMock;
public class StorageTest {
private final Essentials ess;
private final FakeServer server;
private final World world;
private Essentials ess;
private ServerMock server;
private World world;
public StorageTest() {
server = FakeServer.getServer();
world = server.getWorld("testWorld");
ess = new Essentials(server);
try {
ess.setupForTesting(server);
} catch (final InvalidDescriptionException ex) {
Assert.fail("InvalidDescriptionException");
} catch (final IOException ex) {
Assert.fail("IOException");
}
@BeforeEach
public void setUp() {
this.server = MockBukkit.mock();
world = server.addSimpleWorld("testWorld");
Essentials.TESTING = true;
ess = MockBukkit.load(Essentials.class);
}
@AfterEach
public void tearDown() {
MockBukkit.unmock();
}
@Test
public void testOldUserdata() {
final ExecuteTimer ext = new ExecuteTimer();
ext.start();
final OfflinePlayerStub base1 = server.createPlayer("testPlayer1");
server.addPlayer(base1);
final PlayerMock base1 = server.addPlayer("testPlayer1");
ext.mark("fake user created");
final UserData user = ess.getUser(base1);
ext.mark("load empty user");
@@ -2,33 +2,36 @@ package com.earth2me.essentials;
import com.earth2me.essentials.commands.IEssentialsCommand;
import com.earth2me.essentials.commands.NoChargeException;
import junit.framework.TestCase;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.InvalidDescriptionException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockbukkit.mockbukkit.MockBukkit;
import org.mockbukkit.mockbukkit.ServerMock;
import org.mockbukkit.mockbukkit.entity.PlayerMock;
import java.io.IOException;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class ToggleTest extends TestCase {
private final OfflinePlayerStub base1;
private final Essentials ess;
private final FakeServer server;
public class ToggleTest {
private PlayerMock base1;
private Essentials ess;
private ServerMock server;
public ToggleTest(final String testName) {
super(testName);
server = FakeServer.getServer();
ess = new Essentials(server);
try {
ess.setupForTesting(server);
} catch (final InvalidDescriptionException ex) {
fail("InvalidDescriptionException");
} catch (final IOException ex) {
fail("IOException");
}
base1 = server.createPlayer("testPlayer1");
server.addPlayer(base1);
@BeforeEach
public void setUp() {
this.server = MockBukkit.mock();
Essentials.TESTING = true;
ess = MockBukkit.load(Essentials.class);
base1 = server.addPlayer("testPlayer1");
ess.getUser(base1);
}
@AfterEach
public void tearDown() {
MockBukkit.unmock();
}
private void runCommand(final String command, final User user, final String[] args) throws Exception {
final IEssentialsCommand cmd;
@@ -55,6 +58,7 @@ public class ToggleTest extends TestCase {
}
@Test
public void testFlyToggle() throws Exception {
final User user = ess.getUser(base1);
@@ -79,6 +83,7 @@ public class ToggleTest extends TestCase {
assertFalse(user.getBase().getAllowFlight());
}
@Test
public void testFlyDisOnToggle() throws Exception {
final User user = ess.getUser(base1);
@@ -90,6 +95,7 @@ public class ToggleTest extends TestCase {
assertFalse(user.getBase().isFlying());
}
@Test
public void testGodToggle() throws Exception {
final User user = ess.getUser(base1);
@@ -114,6 +120,7 @@ public class ToggleTest extends TestCase {
assertFalse(user.isGodModeEnabled());
}
@Test
public void testConsoleToggle() throws Exception {
final User user = ess.getUser(base1);
@@ -138,6 +145,7 @@ public class ToggleTest extends TestCase {
assertFalse(user.getBase().getAllowFlight());
}
@Test
public void testAliasesToggle() throws Exception {
final User user = ess.getUser(base1);
@@ -1,49 +1,57 @@
package com.earth2me.essentials;
import junit.framework.TestCase;
import net.ess3.api.MaxMoneyException;
import org.bukkit.Location;
import org.bukkit.plugin.InvalidDescriptionException;
import org.bukkit.entity.Player;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockbukkit.mockbukkit.MockBukkit;
import org.mockbukkit.mockbukkit.ServerMock;
import org.mockbukkit.mockbukkit.entity.PlayerMock;
import java.io.IOException;
import java.math.BigDecimal;
public class UserTest extends TestCase {
private final OfflinePlayerStub base1;
private final Essentials ess;
private final FakeServer server;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail;
public UserTest(final String testName) {
super(testName);
server = FakeServer.getServer();
ess = new Essentials(server);
try {
ess.setupForTesting(server);
} catch (final InvalidDescriptionException ex) {
fail("InvalidDescriptionException");
} catch (final IOException ex) {
fail("IOException");
}
base1 = server.createPlayer("testPlayer1");
server.addPlayer(base1);
public class UserTest {
private PlayerMock base1;
private Essentials ess;
private ServerMock server;
@BeforeEach
public void setUp() {
this.server = MockBukkit.mock();
Essentials.TESTING = true;
ess = MockBukkit.load(Essentials.class);
base1 = server.addPlayer("testPlayer1");
ess.getUser(base1);
}
private void should(final String what) {
System.out.println(getName() + " should " + what);
@AfterEach
public void tearEach() {
MockBukkit.unmock();
}
private void should(final String what) {
System.out.println("UserTest should " + what);
}
@Test
public void testUpdate() {
final OfflinePlayerStub base1alt = server.createPlayer(base1.getName());
final Player base1alt = server.getPlayer(base1.getName());
assertEquals(base1alt, ess.getUser(base1alt).getBase());
}
@Test
public void testHome() {
final User user = ess.getUser(base1);
final Location loc = base1.getLocation();
loc.setWorld(server.getWorlds().get(0));
user.setHome("home", loc);
final OfflinePlayerStub base2 = server.createPlayer(base1.getName());
final Player base2 = server.getPlayer(base1.getName());
final User user2 = ess.getUser(base2);
final Location home = user2.getHome(loc);
@@ -56,6 +64,7 @@ public class UserTest extends TestCase {
assertEquals(loc.getPitch(), home.getPitch());
}
@Test
public void testMoney() {
should("properly set, take, give, and get money");
final User user = ess.getUser(base1);
@@ -3,29 +3,36 @@ package com.earth2me.essentials;
import com.earth2me.essentials.utils.DateUtil;
import com.earth2me.essentials.utils.LocationUtil;
import com.earth2me.essentials.utils.VersionUtil;
import junit.framework.TestCase;
import org.bukkit.plugin.InvalidDescriptionException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockbukkit.mockbukkit.MockBukkit;
import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.Set;
public class UtilTest extends TestCase {
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
public UtilTest() {
final FakeServer server = FakeServer.getServer();
final Essentials ess = new Essentials(server);
try {
ess.setupForTesting(server);
} catch (final InvalidDescriptionException ex) {
fail("InvalidDescriptionException");
} catch (final IOException ex) {
fail("IOException");
}
public class UtilTest {
private Essentials ess;
@BeforeEach
public void setUp() {
MockBukkit.mock();
Essentials.TESTING = true;
ess = MockBukkit.load(Essentials.class);
}
@AfterEach
public void afterEach() {
MockBukkit.unmock();
}
@Test
public void testSafeLocation() {
final Set<String> testSet = new HashSet<>();
int count = 0;
@@ -55,12 +62,14 @@ public class UtilTest extends TestCase {
assertEquals(diameter * diameter * diameter, count);
}
@Test
public void testFDDnow() {
final Calendar c = new GregorianCalendar();
final String resp = DateUtil.formatDateDiff(c, c);
assertEquals(resp, "now");
}
@Test
public void testFDDfuture() {
Calendar a, b;
a = new GregorianCalendar(2010, Calendar.FEBRUARY, 1, 10, 0, 0);
@@ -128,6 +137,7 @@ public class UtilTest extends TestCase {
assertEquals("5 minutes", DateUtil.formatDateDiff(a, b));
}
@Test
public void testFDDpast() {
Calendar a, b;
a = new GregorianCalendar(2010, Calendar.FEBRUARY, 1, 10, 0, 0);
@@ -192,6 +202,7 @@ public class UtilTest extends TestCase {
assertEquals("10 years 6 months 10 days", DateUtil.formatDateDiff(a, b));
}
@Test
public void testVer() {
VersionUtil.BukkitVersion v;
v = VersionUtil.BukkitVersion.fromString("1.13.2-R0.1");
@@ -1,9 +1,9 @@
package com.earth2me.essentials.utils;
import net.ess3.api.IUser;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -1,15 +1,15 @@
package com.earth2me.essentials.utils;
import com.earth2me.essentials.commands.InvalidModifierException;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.Locale;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertThrows;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
public class NumberUtilTest {
@@ -1,6 +1,6 @@
package com.earth2me.essentials.utils;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -2,10 +2,13 @@ package com.earth2me.essentials.antibuild;
import com.earth2me.essentials.User;
import com.earth2me.essentials.utils.EnumUtil;
import com.earth2me.essentials.utils.MaterialUtil;
import com.earth2me.essentials.utils.VersionUtil;
import net.ess3.api.IEssentials;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.data.Directional;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.EnderCrystal;
import org.bukkit.entity.Entity;
@@ -32,7 +35,9 @@ import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Sign;
import java.util.function.Predicate;
import java.util.logging.Level;
public class EssentialsAntiBuildListener implements Listener {
@@ -107,6 +112,64 @@ public class EssentialsAntiBuildListener implements Listener {
return user.isAuthorized(blockPerm);
}
private boolean wouldBreakProtectedSigns(final Block block, final User user) {
return wouldBreakAttachedSigns(block, signBlock -> isSignProtected(signBlock, user));
}
private boolean isSignProtected(final Block signBlock, final User user) {
final Material signType = signBlock.getType();
if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !metaPermCheck(user, "break", signBlock)) {
return true;
}
return prot.checkProtectionItems(AntiBuildConfig.blacklist_break, signType) && !user.isAuthorized("essentials.protect.exemptbreak");
}
private BlockFace getWallSignFacing(final Block signBlock) {
if (VersionUtil.PRE_FLATTENING) {
final Sign signMat = (Sign) signBlock.getState().getData();
return signMat.getFacing();
}
final Directional signData = (Directional) signBlock.getState().getBlockData();
return signData.getFacing();
}
private boolean wouldBreakAttachedSigns(final Block block, final Predicate<Block> signChecker) {
// Check for sign posts above the block
final Block signAbove = block.getRelative(BlockFace.UP);
if (MaterialUtil.isSignPost(signAbove.getType()) && signChecker.test(signAbove)) {
return true;
}
// Check for hanging signs below the block
final Block signBelow = block.getRelative(BlockFace.DOWN);
if (MaterialUtil.isHangingSign(signBelow.getType()) && signChecker.test(signBelow)) {
return true;
}
// Check for wall signs and wall hanging signs attached to the block faces
final BlockFace[] directions = new BlockFace[] {BlockFace.NORTH, BlockFace.EAST, BlockFace.SOUTH, BlockFace.WEST};
for (final BlockFace blockFace : directions) {
final Block signBlock = block.getRelative(blockFace);
if (MaterialUtil.isWallSign(signBlock.getType()) || MaterialUtil.isWallHangingSign(signBlock.getType())) {
try {
if (getWallSignFacing(signBlock) == blockFace && signChecker.test(signBlock)) {
return true;
}
} catch (final NullPointerException ignored) {
}
}
}
return false;
}
private boolean wouldBreakAnySign(final Block block) {
return wouldBreakAttachedSigns(block, signBlock -> true);
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockPlace(final BlockPlaceEvent event) {
final User user = ess.getUser(event.getPlayer());
@@ -145,6 +208,15 @@ public class EssentialsAntiBuildListener implements Listener {
final Block block = event.getBlock();
final Material type = block.getType();
// Check if breaking this block would cause any protected signs to break
if (wouldBreakProtectedSigns(block, user)) {
if (ess.getSettings().warnOnBuildDisallow()) {
user.sendTl("antiBuildBreak", EssentialsAntiBuild.getNameForType(type));
}
event.setCancelled(true);
return;
}
if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !metaPermCheck(user, "break", block)) {
if (ess.getSettings().warnOnBuildDisallow()) {
user.sendTl("antiBuildBreak", EssentialsAntiBuild.getNameForType(type));
@@ -314,6 +386,11 @@ public class EssentialsAntiBuildListener implements Listener {
event.setCancelled(true);
return;
}
if (wouldBreakAnySign(block)) {
event.setCancelled(true);
return;
}
}
}
@@ -327,6 +404,11 @@ public class EssentialsAntiBuildListener implements Listener {
event.setCancelled(true);
return;
}
if (wouldBreakAnySign(block)) {
event.setCancelled(true);
return;
}
}
}
@@ -1,4 +1,3 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsAntiBuild
main: com.earth2me.essentials.antibuild.EssentialsAntiBuild
# Note to developers: This next line cannot change, or the automatic versioning system will break.
@@ -10,6 +9,30 @@ depend: [Essentials]
api-version: "1.13"
permissions:
essentials.build:
description: Allows the bearer to build
essentials.build.place.<material>:
description: Allows the bearer to place the specified material
essentials.build.break.<material>:
description: Allows the bearer to break the specified material
essentials.build.interact.<material>:
description: Allows the bearer to interact with the specified material
essentials.build.craft.<material>:
description: Allows the bearer to craft the specified material
essentials.build.drop.<material>:
description: Allows the bearer to drop the specified material
essentials.build.pickup.<material>:
description: Allows the bearer to pick up the specified material
essentials.protect.alerts:
description: Allows the bearer to receive protect alerts
essentials.protect.alerts.notrigger:
description: Allows the bearer to be exempt from triggering protect alerts
essentials.protect.exemptbreak:
description: Allows the bearer to be exempt from the break blacklist
essentials.protect.exemptplacement:
description: Allows the bearer to be exempt from the place blacklist
essentials.protect.exemptusage:
description: Allows the bearer to be exempt from the usage blacklist
essentials.exempt.protect:
default: false
description: Exempt from EssentialsProtect/EssentialsAntiBuild protections
@@ -107,7 +107,7 @@ public abstract class AbstractChatHandler {
// Local, shout and question chat types are only enabled when there's a valid radius
if (chat.getRadius() > 0 && !event.getMessage().isEmpty()) {
if (event.getMessage().length() > 1 && ((chat.getType() == ChatType.SHOUT && event.getMessage().charAt(0) == ess.getSettings().getChatShout()) || (chat.getType() == ChatType.QUESTION && event.getMessage().charAt(0) == ess.getSettings().getChatQuestion()))) {
event.setMessage(event.getMessage().substring(1));
event.setMessage(event.getMessage().substring(1).trim());
}
// Prevent messages like "!&c" or "?&c" from being sent which would cause an empty message
@@ -214,9 +214,9 @@ public abstract class AbstractChatHandler {
}
// Strip local chat prefix to preserve API behaviour
final String localPrefix = AdventureUtil.miniToLegacy(tlLiteral("chatTypeLocal"));
final String localPrefix = tlLiteral("chatTypeLocal");
String baseFormat = AdventureUtil.legacyToMini(event.getFormat());
if (event.getFormat().startsWith(localPrefix)) {
if (baseFormat.startsWith(localPrefix)) {
baseFormat = baseFormat.substring(localPrefix.length());
}
+22 -1
View File
@@ -1,4 +1,3 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsChat
main: com.earth2me.essentials.chat.EssentialsChat
# Note to developers: This next line cannot change, or the automatic versioning system will break.
@@ -14,11 +13,33 @@ commands:
usage: /<command> [player] [on|off]
aliases: [etoggleshout]
permissions:
essentials.chat.color:
description: Allows access to sending color codes in chat
essentials.chat.format:
description: Allows access to sending format codes in chat
essentials.chat.magic:
description: Allows access to sending magic codes in chat
essentials.chat.rgb:
description: Allows access to sending RGB codes in chat
essentials.chat.url:
description: Allows access to sending URLs in chat
essentials.toggleshout:
description: Allows access to the /toggleshout command
essentials.toggleshout.others:
description: Allows access to the /toggleshout command for other players
essentials.chat.question:
description: Allows access to sending global questions in chat when chat radius is enabled
essentials.chat.shout:
description: Allows access to sending shout messages
essentials.chat.local:
default: true
description: Allows access to sending local chat messages
essentials.chat.receive.local:
default: true
description: Allows access to receiving local chat messages
essentials.chat.receive.shout:
default: true
description: Allows access to receiving shout chat messages
essentials.chat.receive.question:
default: true
description: Allows access to receiving global question chat messages
@@ -202,6 +202,16 @@ public class DiscordSettings implements IConf {
return config.getBoolean("show-displayname", false);
}
protected boolean isCustomBotName() {
if (isShowName() || isShowDisplayName()) {
return true;
}
final String format = getFormatString("mc-to-discord-name-format");
return format != null && !format.isEmpty() && !format.equals("{botname}");
}
public String getAvatarURL() {
return config.getString("avatar-url", "https://crafthead.net/helm/{uuid}");
}
@@ -367,7 +367,7 @@ public class JDADiscordService implements DiscordService, IEssentialsModule {
}
public void updateTypesRelay() {
if (!getSettings().isShowAvatar() && !getSettings().isShowName() && !getSettings().isShowDisplayName()) {
if (!getSettings().isShowAvatar() && !getSettings().isCustomBotName()) {
for (WrappedWebhookClient webhook : channelIdToWebhook.values()) {
webhook.close();
}
@@ -16,4 +16,21 @@ commands:
discord:
description: Sends the discord invite link to the player.
usage: /<command>
aliases: [ediscord]
aliases: [ediscord]
permissions:
essentials.discord.markdown:
description: Allows the bearer to bypass the Discord markdown filter
essentials.discord.ping:
description: Allows the bearer to ping users in Discord
essentials.discord.receive.<channel>:
description: Allows the bearer to receive messages from the specified channel
essentials.discord:
description: Allows access to the /discord command
essentials.discordbroadcast:
description: Allows access to the /discordbroadcast command
essentials.discordbroadcast.markdown:
description: Allows the bearer to bypass the Discord markdown filter for /discordbroadcast
essentials.discordbroadcast.ping:
description: Allows the bearer to ping users in Discord for /discordbroadcast
essentials.discordbroadcast.<channel>:
description: Allows access to the /discordbroadcast command for the specified channel
@@ -16,3 +16,8 @@ commands:
description: Unlinks your Minecraft account from any associated Discord account.
usage: /<command>
aliases: [eunlink, discordunlink, ediscordunlink]
permissions:
essentials.link:
description: Allows access to the /link command
essentials.unlink:
description: Allows access to the /unlink command
@@ -1,4 +1,3 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsGeoIP
main: com.earth2me.essentials.geoip.EssentialsGeoIP
# Note to developers: This next line cannot change, or the automatic versioning system will break.
@@ -8,3 +7,8 @@ description: Shows the country or city of a user on login and /whois.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology, kjiang, pop4959]
depend: [Essentials]
api-version: 1.13
permissions:
essentials.geoip.show:
description: Shows the country or city of a user on login and /whois.
essentials.geoip.hide:
description: Hides the bearer of this permission from users with essentials.geoip.show
@@ -1,4 +1,3 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsProtect
main: com.earth2me.essentials.protect.EssentialsProtect
# Note to developers: This next line cannot change, or the automatic versioning system will break.
@@ -8,3 +7,38 @@ description: Provides protection for various parts of the world.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology, KHobbits, drtshock]
softdepend: [Essentials]
api-version: 1.13
permissions:
essentials.protect.entitytarget.bypass:
description: Allows the bearer to be targeted by entities
essentials.protect.pvp:
description: Allows the bearer to participate in PvP when prevent pvp is enabled
essentials.protect.damage.disable:
description: Allows the bearer to not take damage
essentials.protect.damage.contact:
description: Allows the bearer to take damage from cacti and other contact damage
essentials.protect.damage.lava:
description: Allows the bearer to take damage from lava
essentials.protect.damage.tnt:
description: Allows the bearer to take damage from TNT
essentials.protect.damage.creeper:
description: Allows the bearer to take damage from creepers
essentials.protect.damage.fireball:
description: Allows the bearer to take damage from fireballs
essentials.protect.damage.witherskull:
description: Allows the bearer to take damage from wither skulls
essentials.protect.damage.tnt-minecraft:
description: Allows the bearer to take damage from a tnt minecart
essentials.protect.damage.projectiles:
description: Allows the bearer to take damage from projectiles
essentials.protect.damage.fall:
description: Allows the bearer to take fall damage
essentials.protect.damage.suffocation:
description: Allows the bearer to take suffocation damage
essentials.protect.damage.fire:
description: Allows the bearer to take fire damage
essentials.protect.damage.drowning:
description: Allows the bearer to take drowning damage
essentials.protect.damage.lightning:
description: Allows the bearer to take lightning damage
essentials.protect.damage.wither:
description: Allows the bearer to take wither damage
@@ -1,4 +1,3 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsSpawn
main: com.earth2me.essentials.spawn.EssentialsSpawn
# Note to developers: This next line cannot change, or the automatic versioning system will break.
@@ -18,6 +17,12 @@ commands:
usage: /<command> [player]
aliases: [espawn]
permissions:
essentials.spawn:
description: Allows access to the /spawn command
essentials.spawn.others:
description: Allows access to the /spawn command for other players
essentials.setspawn:
description: Allows access to the /setspawn command
essentials.spawn-on-join.exempt:
default: false
description: "Bypass spawn teleportation on join when spawn-on-join is true."
description: Bypass spawn teleportation on join when spawn-on-join is true
+7 -1
View File
@@ -1,4 +1,3 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsXMPP
main: com.earth2me.essentials.xmpp.EssentialsXMPP
# Note to developers: This next line cannot change, or the automatic versioning system will break.
@@ -18,3 +17,10 @@ commands:
xmppspy:
description: Toggles XMPP spy for all messages.
usage: /<command> <player>
permissions:
essentials.xmpp:
description: Allows access to the /xmpp command
essentials.setxmpp:
description: Allows access to the /setxmpp command
essentials.xmppspy:
description: Allows access to the /xmppspy command
+3 -3
View File
@@ -26,7 +26,7 @@ however, have some new requirements:
* **EssentialsX requires CraftBukkit, Spigot or Paper to run.** Other server software may work, but these are not tested
by the team and we may not be able to help with any issues that occur.
* **EssentialsX currently supports Minecraft versions 1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2,
1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.6, and 1.21.5.**
1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.6, and 1.21.8.**
* **EssentialsX currently requires Java 8 or higher.** We recommend using the latest Java version supported by your
server software.
* **EssentialsX requires [Vault](http://dev.bukkit.org/bukkit-plugins/vault/) to enable using chat prefix/suffixes and
@@ -76,8 +76,8 @@ To add EssentialsX to your build system, you should use the following artifacts:
| Type | Group ID | Artifact ID | Version |
|:---------------|:------------------|:--------------|:------------------|
| Latest release | `net.essentialsx` | `EssentialsX` | `2.21.1` |
| Snapshots | `net.essentialsx` | `EssentialsX` | `2.21.1-SNAPSHOT` |
| Latest release | `net.essentialsx` | `EssentialsX` | `2.21.2` |
| Snapshots | `net.essentialsx` | `EssentialsX` | `2.21.2-SNAPSHOT` |
| Older releases | `net.ess3` | `EssentialsX` | `2.18.2` |
Note: until version `2.18.2`, EssentialsX used the `net.ess3` group ID.
+2
View File
@@ -10,4 +10,6 @@ dependencies {
implementation("net.kyori", "indra-common", "3.1.3")
implementation("com.gradleup.shadow", "shadow-gradle-plugin", "8.3.6")
implementation("xyz.jpenilla", "run-task", "2.3.1")
implementation("org.yaml", "snakeyaml", "2.4")
implementation("com.google.code.gson", "gson", "2.12.1")
}
@@ -0,0 +1,119 @@
import com.google.gson.GsonBuilder
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import org.yaml.snakeyaml.Yaml
import java.util.*
abstract class CommandDataTask : DefaultTask() {
@OutputFile
val destination = project.objects.fileProperty()
@OutputFile
val permissionDestination = project.objects.fileProperty()
// i promise i will be safe
@Suppress("UNCHECKED_CAST")
@TaskAction
fun harvest() {
val pluginYml = project.file("src/main/resources/plugin.yml")
if (!pluginYml.exists()) {
logger.warn("No plugin.yml found to harvest")
return
}
val messagesProps = project.rootProject.file("Essentials/src/main/resources/messages.properties")
if (!messagesProps.exists()) {
logger.warn("No messages.properties found to harvest")
return
}
val yaml = Yaml()
val data: Map<String, Any> = yaml.load(pluginYml.inputStream())
val commands = data["commands"] as? Map<String, Map<String, Any>> ?: emptyMap()
val extractedCommands = commands.mapValues { (_, details) ->
val aliases = when (val aliasesData = details["aliases"]) {
is String -> listOf(aliasesData)
is List<*> -> aliasesData.filterIsInstance<String>()
else -> emptyList()
}
mapOf(
"aliases" to aliases,
"description" to "",
"usage" to "",
"usages" to mutableListOf<Map<String, String>>()
)
}.toMutableMap()
val permissions = data["permissions"] as? Map<String, Map<String, Any>> ?: emptyMap()
val extractedPermissions = permissions.mapValues { (_, value) ->
val default = value["default"] ?: "op"
val description = value["description"] as? String ?: ""
val children = value["children"] as? Map<String, Any> ?: emptyMap()
mapOf(
"default" to default,
"description" to description,
"children" to children
)
}.toMutableMap()
if (extractedCommands.isEmpty()) {
logger.warn("No commands found in plugin.yml for ${project.name}")
} else {
val properties = Properties()
messagesProps.inputStream().use { properties.load(it) }
properties.forEach { key, value ->
val commandKeyRegex = Regex("^(\\w+)Command(Description|Usage)(\\d*)$")
val match = commandKeyRegex.matchEntire(key.toString())
if (match != null) {
val (command, type, index) = match.destructured
val commandData = extractedCommands[command] ?: return@forEach
if (index.isEmpty()) {
// main description and usage
when (type) {
"Description" -> extractedCommands[command] =
commandData + ("description" to value.toString())
"Usage" -> extractedCommands[command] = commandData + ("usage" to value.toString())
}
} else {
val usagesList =
commandData["usages"] as MutableList<Map<String, String>> // verbose command usages
usagesList.add(
mapOf(
"usage" to value.toString(),
"description" to properties["${command}CommandUsage${index}Description"]?.toString()
.orEmpty()
)
)
}
}
}
val json = GsonBuilder().create().toJson(extractedCommands)
val output = project.file("build/generated/${project.name}-commands.json")
output.parentFile.mkdirs()
output.writeText(json)
destination.get().asFile.parentFile.mkdirs()
output.copyTo(destination.get().asFile, overwrite = true)
}
if (extractedPermissions.isEmpty()) {
logger.warn("No permissions found in plugin.yml for ${project.name}")
} else {
val json = GsonBuilder().create().toJson(extractedPermissions)
val output = project.file("build/generated/${project.name}-permissions.json")
output.parentFile.mkdirs()
output.writeText(json)
permissionDestination.get().asFile.parentFile.mkdirs()
output.copyTo(permissionDestination.get().asFile, overwrite = true)
}
}
}
+1 -1
View File
@@ -11,7 +11,7 @@ abstract class FileCopyTask : DefaultTask() {
val destination = project.objects.fileProperty()
@TaskAction
private fun copyFile() {
fun copyFile() {
destination.get().asFile.parentFile.mkdirs()
fileToCopy.get().asFile.copyTo(destination.get().asFile, overwrite = true)
}
@@ -0,0 +1,76 @@
import com.google.gson.GsonBuilder
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import java.util.regex.Pattern
abstract class VersionDataTask : DefaultTask() {
@OutputFile
val destination = project.objects.fileProperty()
@TaskAction
fun generateVersionData() {
val versionUtilFile =
project.rootProject.file("Essentials/src/main/java/com/earth2me/essentials/utils/VersionUtil.java")
if (!versionUtilFile.exists()) {
logger.warn("VersionUtil not found")
return
}
val content = versionUtilFile.readText()
val supportedVersions = extractSupportedVersions(content)
if (supportedVersions.isEmpty()) {
logger.warn("No supported versions found in VersionUtil")
return
}
val versionData = mapOf("supportedVersions" to supportedVersions)
val json = GsonBuilder().create().toJson(versionData)
val output = project.file("build/generated/version-data.json")
output.parentFile.mkdirs()
output.writeText(json)
destination.get().asFile.parentFile.mkdirs()
output.copyTo(destination.get().asFile, overwrite = true)
}
private fun extractSupportedVersions(content: String): List<String> {
val supportedVersions = mutableListOf<String>()
val supportedVersionsPattern = Pattern.compile(
"supportedVersions\\s*=\\s*ImmutableSet\\.of\\(([^)]+)\\)",
Pattern.DOTALL
)
val matcher = supportedVersionsPattern.matcher(content)
if (matcher.find()) {
val versionsString = matcher.group(1)
val versionNames = versionsString.split(",")
.map { it.trim() }
.filter { it.isNotEmpty() }
for (versionName in versionNames) {
val versionString = extractVersionString(content, versionName)
if (versionString != null) {
supportedVersions.add(versionString)
}
}
}
return supportedVersions
}
private fun extractVersionString(content: String, versionName: String): String? {
val versionPattern = Pattern.compile(
"BukkitVersion\\s+$versionName\\s*=\\s*BukkitVersion\\.fromString\\(\"([^\"]+)\"\\)"
)
val matcher = versionPattern.matcher(content)
return if (matcher.find()) {
matcher.group(1)
} else {
null
}
}
}
+1 -1
View File
@@ -1 +1 @@
const val RUN_PAPER_MINECRAFT_VERSION = "1.21.5"
const val RUN_PAPER_MINECRAFT_VERSION = "1.21.8"
@@ -10,14 +10,20 @@ plugins {
val baseExtension = extensions.create<EssentialsBaseExtension>("essentials", project)
val checkstyleVersion = "8.36.2"
val spigotVersion = "1.21.5-R0.1-SNAPSHOT"
val junit5Version = "5.10.2"
val mockitoVersion = "3.12.4"
val paperVersion = "1.21.8-R0.1-SNAPSHOT"
val paperTestVersion = "1.21.5-R0.1-SNAPSHOT"
val junit5Version = "5.12.2"
val junitPlatformVersion = "1.12.2"
val mockitoVersion = "5.18.0"
dependencies {
testImplementation("org.junit.jupiter", "junit-jupiter", junit5Version)
testImplementation("org.junit.vintage", "junit-vintage-engine", junit5Version)
testImplementation("org.junit.platform", "junit-platform-launcher", junitPlatformVersion)
testImplementation("org.mockito", "mockito-core", mockitoVersion)
testImplementation("org.mockbukkit.mockbukkit:mockbukkit-v1.21:4.50.0") {
exclude(module = "paper-api")
exclude(module = "spigot-api")
}
constraints {
implementation("org.yaml:snakeyaml:1.28") {
@@ -27,6 +33,7 @@ dependencies {
}
tasks.test {
useJUnitPlatform()
testLogging {
events("PASSED", "SKIPPED", "FAILED")
}
@@ -35,7 +42,31 @@ tasks.test {
afterEvaluate {
if (baseExtension.injectBukkitApi.get()) {
dependencies {
api("org.spigotmc", "spigot-api", spigotVersion)
api("io.papermc.paper", "paper-api", paperVersion)
testImplementation("io.papermc.paper", "paper-api", paperTestVersion)
}
configurations {
testCompileClasspath {
resolutionStrategy {
dependencySubstitution {
substitute( module("io.papermc.paper:paper-api"))
.using(module("io.papermc.paper:paper-api:$paperTestVersion"))
}
}
}
testRuntimeClasspath {
resolutionStrategy {
dependencySubstitution {
substitute( module("io.papermc.paper:paper-api"))
.using(module("io.papermc.paper:paper-api:$paperTestVersion"))
}
}
}
}
java {
disableAutoTargetJvm()
}
}
if (baseExtension.injectBstats.get()) {
@@ -26,4 +26,9 @@ tasks {
build {
dependsOn(copyJar)
}
register<CommandDataTask>("commandData") {
destination.set(rootProject.layout.projectDirectory.dir("generated").file("${project.name}-commands.json"))
permissionDestination.set(rootProject.layout.projectDirectory.dir("generated").file("${project.name}-permissions.json"))
}
}
@@ -26,6 +26,7 @@ tasks {
}
named<Delete>("clean") {
delete(file("jars"))
delete(file("generated"))
}
}
+1 -1
View File
@@ -3,7 +3,7 @@ plugins {
}
group = "net.essentialsx"
version = "2.21.1"
version = "2.21.2"
project.ext {
GIT_COMMIT = !indraGit.isPresent() ? "unknown" : indraGit.commit().abbreviate(7).name()
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
+1 -1
View File
@@ -4,7 +4,7 @@ plugins {
dependencies {
implementation(project(':providers:BaseProviders')) {
exclude group: "org.spigotmc", module: "spigot-api"
exclude(module: 'spigot-api')
}
api project(':providers:NMSReflectionProvider')
}
@@ -1,11 +1,14 @@
package com.earth2me.essentials;
import org.bukkit.Achievement;
import org.bukkit.BanList;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.Server;
import org.bukkit.Statistic;
import org.bukkit.UnsafeValues;
import org.bukkit.Warning.WarningState;
import org.bukkit.World;
@@ -1005,7 +1008,52 @@ public final class FakeServer implements Server {
@Override
@SuppressWarnings("deprecation")
public UnsafeValues getUnsafe() {
throw new UnsupportedOperationException("Not supported yet.");
return new UnsafeValues() {
public int getDataVersion() {
// 1.21.5
return 4325;
}
@Override
public Material getMaterialFromInternalName(String s) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<String> tabCompleteInternalMaterialName(String s, List<String> list) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack modifyItemStack(ItemStack itemStack, String s) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Statistic getStatisticFromInternalName(String s) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Achievement getAchievementFromInternalName(String s) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<String> tabCompleteInternalStatisticOrAchievementName(String s, List<String> list) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Advancement loadAdvancement(NamespacedKey namespacedKey, String s) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean removeAdvancement(NamespacedKey namespacedKey) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
}
@Override
+1 -1
View File
@@ -4,7 +4,7 @@ plugins {
dependencies {
implementation(project(':providers:BaseProviders')) {
exclude group: "org.spigotmc", module: "spigot-api"
exclude(module: 'spigot-api')
}
implementation 'org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT'
}
Loaded 100 of 107 files, more files were not shown because too many files have changed in this diff. Show more