From 0f4af9e7353e6526d93ff5884c67db6e38c1535c Mon Sep 17 00:00:00 2001
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
Date: Sun, 2 Apr 2023 17:45:46 -0400
Subject: [PATCH 01/11] Use strict comparison for potions in trade signs
(#5260)
---
.../src/main/java/com/earth2me/essentials/signs/SignTrade.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Essentials/src/main/java/com/earth2me/essentials/signs/SignTrade.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignTrade.java
index 96aa6f08d..3bfa4848c 100644
--- a/Essentials/src/main/java/com/earth2me/essentials/signs/SignTrade.java
+++ b/Essentials/src/main/java/com/earth2me/essentials/signs/SignTrade.java
@@ -87,6 +87,9 @@ public class SignTrade extends EssentialsSign {
final Trade trade = getTrade(sign, 2, AmountType.COST, false, true, ess);
ItemStack stack = Inventories.getItemInHand(player.getBase());
if (trade.getItemStack() != null && stack != null && !MaterialUtil.isAir(stack.getType()) && trade.getItemStack().getType() == stack.getType() && MaterialUtil.getDamage(trade.getItemStack()) == MaterialUtil.getDamage(stack) && trade.getItemStack().getEnchantments().equals(stack.getEnchantments())) {
+ if (MaterialUtil.isPotion(trade.getItemStack().getType()) && !trade.getItemStack().isSimilar(stack)) {
+ return null;
+ }
final int amount = trade.getItemStack().getAmount();
if (Inventories.containsAtLeast(player.getBase(), trade.getItemStack(), amount)) {
stack = stack.clone();
From ecb1850451b50d59688359618a956b9778104321 Mon Sep 17 00:00:00 2001
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
Date: Sun, 2 Apr 2023 18:04:36 -0400
Subject: [PATCH 02/11] Add message for unknown last location for /tpo (#5290)
---
.../com/earth2me/essentials/commands/Commandtpoffline.java | 5 +++++
Essentials/src/main/resources/messages.properties | 1 +
2 files changed, 6 insertions(+)
diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpoffline.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpoffline.java
index 6700ca223..f859b12d4 100644
--- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpoffline.java
+++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpoffline.java
@@ -21,6 +21,11 @@ public class Commandtpoffline extends EssentialsCommand {
final User target = getPlayer(server, args, 0, true, true);
final Location logout = target.getLogoutLocation();
+ if (logout == null) {
+ user.sendMessage(tl("teleportOfflineUnknown", user.getDisplayName()));
+ throw new NoChargeException();
+ }
+
if (user.getWorld() != logout.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + logout.getWorld().getName())) {
throw new Exception(tl("noPerm", "essentials.worlds." + logout.getWorld().getName()));
}
diff --git a/Essentials/src/main/resources/messages.properties b/Essentials/src/main/resources/messages.properties
index eab2065c5..e033025ff 100644
--- a/Essentials/src/main/resources/messages.properties
+++ b/Essentials/src/main/resources/messages.properties
@@ -1268,6 +1268,7 @@ teleportRequestTimeoutInfo=\u00a76This request will timeout after\u00a7c {0} sec
teleportTop=\u00a76Teleporting to top.
teleportToPlayer=\u00a76Teleporting to \u00a7c{0}\u00a76.
teleportOffline=\u00a76The player \u00a7c{0}\u00a76 is currently offline. You are able to teleport to them using /otp.
+teleportOfflineUnknown=\u00a76Unable to find the last known position of \u00a7c{0}\u00a76.
tempbanExempt=\u00a74You may not tempban that player.
tempbanExemptOffline=\u00a74You may not tempban offline players.
tempbanJoin=You are banned from this server for {0}. Reason: {1}
From 75481925f7bf3f904f0b190603f0335e4dcd8114 Mon Sep 17 00:00:00 2001
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
Date: Sun, 2 Apr 2023 18:08:38 -0400
Subject: [PATCH 03/11] Update display names before formatting chat messages
(#5282)
---
.../essentials/chat/processing/AbstractChatHandler.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/EssentialsChat/src/main/java/com/earth2me/essentials/chat/processing/AbstractChatHandler.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/processing/AbstractChatHandler.java
index dd4ea5d8b..aca765aa6 100644
--- a/EssentialsChat/src/main/java/com/earth2me/essentials/chat/processing/AbstractChatHandler.java
+++ b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/processing/AbstractChatHandler.java
@@ -59,6 +59,9 @@ public abstract class AbstractChatHandler {
return;
}
+ // Ensure we're getting the latest display name
+ user.setDisplayNick();
+
// Reuse cached IntermediateChat if available
ChatProcessingCache.ProcessedChat chat = cache.getProcessedChat(event.getPlayer());
if (chat == null) {
From 11e6d3ca7bf0412364b6e1a3cc1afaaf2a553fcb Mon Sep 17 00:00:00 2001
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
Date: Sun, 2 Apr 2023 18:12:04 -0400
Subject: [PATCH 04/11] Fix /mail sendall not working (#5263)
---
.../java/net/essentialsx/api/v2/events/UserMailEvent.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Essentials/src/main/java/net/essentialsx/api/v2/events/UserMailEvent.java b/Essentials/src/main/java/net/essentialsx/api/v2/events/UserMailEvent.java
index 0d9ca4dc7..b209cc3cb 100644
--- a/Essentials/src/main/java/net/essentialsx/api/v2/events/UserMailEvent.java
+++ b/Essentials/src/main/java/net/essentialsx/api/v2/events/UserMailEvent.java
@@ -2,12 +2,15 @@ package net.essentialsx.api.v2.events;
import net.ess3.api.IUser;
import net.essentialsx.api.v2.services.mail.MailMessage;
+import org.bukkit.Bukkit;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
/**
* Called when mail is sent to a {@link net.ess3.api.IUser IUser} by another player or the console.
+ *
+ * Note: This event has no guarantee of the thread it is fired on, please use {@link #isAsynchronous()}} to see if this event is off the main Bukkit thread.
*/
public class UserMailEvent extends Event implements Cancellable {
private static final HandlerList handlers = new HandlerList();
@@ -17,6 +20,7 @@ public class UserMailEvent extends Event implements Cancellable {
private boolean canceled;
public UserMailEvent(IUser recipient, MailMessage message) {
+ super(!Bukkit.isPrimaryThread());
this.recipient = recipient;
this.message = message;
}
From e7c56b32a4e9455e746382c001d23ea128991ba5 Mon Sep 17 00:00:00 2001
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
Date: Sun, 2 Apr 2023 18:29:29 -0400
Subject: [PATCH 05/11] Fix sulk sensors detecting vanished players (#5262)
---
.../essentials/EssentialsPlayerListener.java | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java
index c2dff750f..b4ba60e2f 100644
--- a/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java
+++ b/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java
@@ -121,6 +121,15 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
}
}
+ private static boolean isGameEventEvent() {
+ try {
+ Class.forName("org.bukkit.event.block.BlockReceiveGameEvent");
+ return true;
+ } catch (final ClassNotFoundException ignored) {
+ return false;
+ }
+ }
+
public void registerEvents() {
ess.getServer().getPluginManager().registerEvents(this, ess);
@@ -128,6 +137,10 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
ess.getServer().getPluginManager().registerEvents(new ArrowPickupListener(), ess);
}
+ if (isGameEventEvent()) {
+ ess.getServer().getPluginManager().registerEvents(new SculkListener1_17(), ess);
+ }
+
if (isEntityPickupEvent()) {
ess.getServer().getPluginManager().registerEvents(new PickupListener1_12(), ess);
} else {
@@ -1001,6 +1014,15 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
}
}
+ private final class SculkListener1_17 implements Listener {
+ @EventHandler
+ public void onGameEvent(final org.bukkit.event.block.BlockReceiveGameEvent event) {
+ if (event.getEntity() instanceof Player && ess.getUser((Player) event.getEntity()).isVanished()) {
+ event.setCancelled(true);
+ }
+ }
+ }
+
private final class CommandSendFilter implements CommandSendListenerProvider.Filter {
@Override
public Predicate apply(Player player) {
From c52c1fea9d1badad4d78f8e3cd71ef2b139b39bd Mon Sep 17 00:00:00 2001
From: Flask Bot <67512990+Flask-Bot@users.noreply.github.com>
Date: Wed, 5 Apr 2023 05:49:43 +0100
Subject: [PATCH 06/11] New Crowdin updates (#5244)
---
.../src/main/resources/messages_cs.properties | 19 ++++-
.../src/main/resources/messages_de.properties | 75 ++++++++++++++++++-
.../src/main/resources/messages_es.properties | 43 ++++++++++-
.../src/main/resources/messages_et.properties | 3 +
.../src/main/resources/messages_fi.properties | 34 +++++++++
.../src/main/resources/messages_fr.properties | 2 +
.../src/main/resources/messages_hu.properties | 4 +
.../src/main/resources/messages_it.properties | 1 +
.../src/main/resources/messages_ja.properties | 6 +-
.../src/main/resources/messages_ko.properties | 3 +
.../src/main/resources/messages_pl.properties | 1 +
.../src/main/resources/messages_pt.properties | 32 ++++++++
.../src/main/resources/messages_ru.properties | 5 +-
.../src/main/resources/messages_sk.properties | 7 +-
.../src/main/resources/messages_sv.properties | 1 +
.../src/main/resources/messages_uk.properties | 39 ++++++++++
.../src/main/resources/messages_zh.properties | 9 ++-
.../main/resources/messages_zh_TW.properties | 8 +-
18 files changed, 270 insertions(+), 22 deletions(-)
diff --git a/Essentials/src/main/resources/messages_cs.properties b/Essentials/src/main/resources/messages_cs.properties
index 978e65a4e..f6a896560 100644
--- a/Essentials/src/main/resources/messages_cs.properties
+++ b/Essentials/src/main/resources/messages_cs.properties
@@ -240,6 +240,10 @@ discordbroadcastCommandUsage1Description=Odešle zprávu na zadaný kanál na Di
discordbroadcastInvalidChannel=§4Discord kanál §c{0}§4 neexistuje.
discordbroadcastPermission=§4Nemáš oprávnění posílat zprávy do kanálu §c{0}§4.
discordbroadcastSent=§6Zpráva odeslána do kanálu §c{0}§6\!
+discordCommandAccountArgumentUser=Discord účet pro hledání
+discordCommandAccountResponseLinked=Tvůj účet je propojen s Minecraft účtem\: **{0}**
+discordCommandAccountResponseNotLinked=Nemáš propojený Minecraft účet.
+discordCommandAccountResponseNotLinkedOther={0} nemá propojený Minecraft účet.
discordCommandDescription=Zašle hráči pozvánku na Discord.
discordCommandLink=§6Připoj se k našemu Discord serveru na §c{0}§6\!
discordCommandUsage=/
@@ -248,6 +252,10 @@ discordCommandUsage1Description=Zašle hráči odkaz s pozvánkou na Discord
discordCommandExecuteDescription=Provede příkaz konzole na Minecraft serveru.
discordCommandExecuteArgumentCommand=Příkaz, který se má provést
discordCommandExecuteReply=Provádění příkazu\: „/{0}“
+discordCommandUnlinkDescription=Odpojí aktuálně propojený Minecraft účet s tvým Discord účtem
+discordCommandUnlinkInvalidCode=Momentálně nemáš Minecraft účet, který je propojen s Discordem\!
+discordCommandLinkArgumentCode=Kód uvedený ve hře pro propojení tvého Minecraft účtu
+discordCommandLinkLinked=Tvůj účet byl úspěšně propojen\!
discordCommandListDescription=Seznam přihlášených uživatelů.
discordCommandListArgumentGroup=Hledání omezit na skupinu
discordCommandMessageDescription=Zašle zprávu hráči na Minecraft serveru.
@@ -267,6 +275,7 @@ discordErrorNoToken=Nebyl zadán žádný token\! Chcete-li nastavit zásuvný m
discordErrorWebhook=Došlo k chybě při odesílání zpráv do kanálu konzole\! To bylo pravděpodobně způsobeno omylem smazáným webovým háčkem konzole. To lze obvykle opravit tak, že zajistíte, aby váš bot měl oprávnění „Správa háčků webhook“ a pak proveďte „/ess reload“.
discordLoggingIn=Pokouším se přihlásit do Discordu...
discordLoggingInDone=Uspěšně přihlášen jako {0}
+discordMailLine=**Nový mail od {0}\:** {1}
discordNoSendPermission=Nelze odeslat zprávu v kanálu\: \#{0}. Ujistěte se, že bot má v tomto kanálu oprávnění „Odesílat zprávy“.
discordReloadInvalid=Opětovné načtení konfigurace EssentialsX Discord není možné, když je plugin v neplatném stavu\! Změnila-li se konfigurace, je třeba server restartovat.
disposal=Odpadkový koš
@@ -586,7 +595,7 @@ itemType=§6Předmět\:§c {0}
itemdbCommandDescription=Vyhledá předmět.
itemdbCommandUsage=/
itemdbCommandUsage1=/
-itemdbCommandUsage1Description=Hledá daný předmět v databázi předmětů
+itemdbCommandUsage1Description=Vyhledá daný předmět v databázi předmětů
jailAlreadyIncarcerated=§4Tento hráč již úpí ve vězení\:§c {0}
jailList=§6Vězení\:§r {0}
jailMessage=§4Provinil ses, tak teď musíš pykat.
@@ -661,8 +670,10 @@ lightningCommandUsage2=/
lightningCommandUsage2Description=Vrhne blesk po cílovém hráči se zadanou silou
lightningSmited=§6Zasáhl tě blesk\!
lightningUse=§6Hráč§c {0} §6byl zasažen bleskem
+linkCommandDescription=Vygeneruje kód pro propojení tvého Minecraft s Discord účty.
linkCommandUsage=/
linkCommandUsage1=/
+linkCommandUsage1Description=Vygeneruje kód pro příkaz /link na Discordu
listAfkTag=§7[AFK]§r
listAmount=§6Je připojeno §c{0}§6 z maximálního počtu §c{1}§6 hráčů.
listAmountHidden=§6Je připojeno §c{0}§6/§c{1}§6 z maximálního počtu §c{2}§6 hráčů.
@@ -1029,6 +1040,7 @@ repairCommandUsage2Description=Opraví všechny předměty v inventáři
repairEnchanted=§4Nemáš oprávnění opravovat očarované předměty.
repairInvalidType=§4Tento předmět nelze opravit.
repairNone=§4Nemáš žádné předměty, které potřebují opravit.
+replyFromDiscord=**Odpověď od {0}\:** {1}
replyLastRecipientDisabled=§6Odpovídání poslednímu příjemci §cvypnuto§6.
replyLastRecipientDisabledFor=§6Odpovídání poslednímu příjemci §cvypnuto §6pro hráče §c{0}§6.
replyLastRecipientEnabled=§6Odpovídání poslednímu příjemci §czapnuto§6.
@@ -1238,6 +1250,7 @@ teleportRequestTimeoutInfo=§6Tato žádost vyprší za §c{0} sekund§6.
teleportTop=§6Teleportuješ se na povrch.
teleportToPlayer=§6Teleportuješ se k hráči §c{0}§6.
teleportOffline=§6Hráč §c{0}§6 je momentálně offline. Můžeš se k němu teleportovat pomocí /otp.
+teleportOfflineUnknown=§6Nelze najít poslední známou polohu §c{0}§6.
tempbanExempt=§4Tohoto hráče nemůžeš dočasně zablokovat.
tempbanExemptOffline=§4Nemůžeš dočasně zablokovat nepřipojeného hráče.
tempbanJoin=Na tomto serveru jsi zablokován na {0}. Důvod\: {1}
@@ -1254,14 +1267,14 @@ thunder=§6Nastavil jsi bouřku v tomto světě na §c{0}§6.
thunderCommandDescription=Zapne/vypne bouřku.
thunderCommandUsage=/ [trvání]
thunderCommandUsage1=/ [trvání]
-thunderCommandUsage1Description=Zapne/vypne bouřku na nepovinnou dobu
+thunderCommandUsage1Description=Povolí/zakáže bouře na volitelnou dobu
thunderDuration=§6Nastavil jsi bouřku v tomto světě na §c{0}§6 na §c{1}§6 sekund.
timeBeforeHeal=§4Čas do dalšího uzdravení\:§c {0}§4.
timeBeforeTeleport=§4Čas do dalšího teleportování\:§c {0}§4.
timeCommandDescription=Zobrazí/změní čas světa. Bez specifikace platí pro aktuální svět.
timeCommandUsage=/ [set|add] [day|night|dawn|17\:30|4pm|4000ticks] [svět|all]
timeCommandUsage1=/
-timeCommandUsage1Description=Ukáže čas ve všech světech
+timeCommandUsage1Description=Zobrazí časy ve všech světech
timeCommandUsage2=/ set <čas> [world|all]
timeCommandUsage2Description=Nastaví čas v současném (nebo určitém) světě na daný čas
timeCommandUsage3=/ add <čas> [world|all]
diff --git a/Essentials/src/main/resources/messages_de.properties b/Essentials/src/main/resources/messages_de.properties
index a4518295e..256ac1df9 100644
--- a/Essentials/src/main/resources/messages_de.properties
+++ b/Essentials/src/main/resources/messages_de.properties
@@ -240,7 +240,7 @@ discordbroadcastCommandUsage1Description=Sendet eine Nachricht an den angegebene
discordbroadcastInvalidChannel=§4Discord Kanal §c{0}§4 existiert nicht.
discordbroadcastPermission=§4Du hast keine Berechtigung, Nachrichten an den angegebenen §c{0}§4 Kanal zu senden.
discordbroadcastSent=§6Nachricht gesendet an §c{0}§6\!
-discordCommandAccountArgumentUser=Der Discord Account zum Nachschlagen
+discordCommandAccountArgumentUser=Der nachzuschlagende Discord Account
discordCommandAccountDescription=Sucht den verlinkten Minecraft Account für dich oder einen anderen Discord Benutzer
discordCommandAccountResponseLinked=Dein Account ist mit dem Minecraft Account **{0}** verknüpft
discordCommandAccountResponseLinkedOther={0}''s Account ist mit dem Minecraft Account **{1}** verknüpft
@@ -318,7 +318,7 @@ ecoCommandUsage2=/ take
ecoCommandUsage2Description=Nimmt den angegebenen Geldbetrag vom angegebenen Spieler
ecoCommandUsage3= set
ecoCommandUsage3Description=Setzt den angegebenen Spieler für die angegebene Anzahl von Sekunden in Brand
-ecoCommandUsage4= set
+ecoCommandUsage4=/ reset
ecoCommandUsage4Description=Setzt den Guthaben des angegebenen Spielers auf den Startsaldo des Servers zurück
editBookContents=§eDu darfst den Inhalt dieses Buches jetzt bearbeiten.
enabled=aktiviert
@@ -578,6 +578,7 @@ itemloreCommandDescription=Die Beschreibung eines Gegenstand bearbeiten.
itemloreCommandUsage=/ [text/zeile] [text]
itemloreCommandUsage1=/ add [text]
itemloreCommandUsage1Description=Fügt den angegebenen Text an das Ende der Lore des Gegenstands an
+itemloreCommandUsage2=/ set
itemloreCommandUsage2Description=Setzt die angegebene Zeile in der Lore des gehaltenen Gegenstandes zum angegebenen Text
itemloreCommandUsage3=/ clear
itemloreCommandUsage3Description=Löscht die Lore des gehaltenen Gegenstandes
@@ -963,6 +964,7 @@ powerToolsEnabled=§6All deine Powertools wurden aktiviert.
powertoolCommandDescription=Weist einem Gegenstand in der Hand einen Befehl zu.
powertoolCommandUsage=/ [l\:|a\:|r\:|c\:|d\:][befehl] [argumente] - {player} kanm mit sem Namen eines geklickten Spielers ersetzt werden.
powertoolCommandUsage1=/ l\:
+powertoolCommandUsage1Description=Listet alle Powertools für den aktuellen Gegenstand auf
powertoolCommandUsage2=/ d\:
powertoolCommandUsage2Description=Löscht alle Powertools auf dem gehaltenden Item
powertoolCommandUsage3=/ r\:
@@ -976,9 +978,18 @@ powertooltoggleCommandUsage=/
ptimeCommandDescription=Client-Zeit des Spielers anpassen. @-Präfix zum Korrigieren hinzufügen.
ptimeCommandUsage=/ [list|reset|day|night|dawn|17\:30|4pm|4000ticks] [Spieler|*]
ptimeCommandUsage1=/ list [player|*]
+ptimeCommandUsage1Description=Gibt die Spielzeit für dich oder einen oder mehrere angegebene Spieler an
+ptimeCommandUsage2=/ [spieler|*]
+ptimeCommandUsage2Description=Legt die Zeit für dich oder einen oder mehrere angegebene Spieler fest
+ptimeCommandUsage3=/ reset [spieler|*]
+ptimeCommandUsage3Description=Setzt die Zeit für dich oder andere Spieler zurück (falls angegeben)
pweatherCommandDescription=Wetter eines Spielers anpassen
pweatherCommandUsage=/ [list|reset|storm|sun|clear] [spieler|*]
pweatherCommandUsage1=/ list [player|*]
+pweatherCommandUsage1Description=Listet das Wetter für dich oder andere Spieler auf, falls diese angegeben wurden
+pweatherCommandUsage2=/ [Spieler|*]
+pweatherCommandUsage2Description=Legt das Wetter für dich oder andere Spieler(e) fest, wenn das Wetter angegeben wurde
+pweatherCommandUsage3=/ reset [spieler|*]
pTimeCurrent=§6Die Zeit für§c {0} §6ist§c {1}§6.
pTimeCurrentFixed=§6Die Zeit für §c{0}§6 wurde auf §c{1}§6 gesetzt.
pTimeNormal=§6Die Zeit für §c{0}§6 ist normal und entspricht der Serverzeit.
@@ -1009,6 +1020,8 @@ recipe=§6Rezept für §c{0}§5 (§c{1}§6 von §c{2}§6)
recipeBadIndex=Es gibt kein Rezept mit dieser Nummer.
recipeCommandDescription=Zeigt, wie man Gegenstände herstellt.
recipeCommandUsage=/ [nummer]
+recipeCommandUsage1=/ [Seite]
+recipeCommandUsage1Description=Zeigt an, wie der Gegenstand gecraftet werden kann
recipeFurnace=§6Schmelzen\: §c{0}§6.
recipeGrid=§c{0}X §6| §{1}X §6| §{2}X
recipeGridItem=§c{0}X §6ist §c{1}
@@ -1019,16 +1032,24 @@ recipeShapeless=§6Kombiniere §c{0}
recipeWhere=§6Wo\: {0}
removeCommandDescription=Entfernt Objekte in deiner Welt.
removeCommandUsage=/ [radius|welt]
+removeCommandUsage1=/ [Welt]
+removeCommandUsage2=/ [world]
removed=§c{0} §6Einheiten entfernt.
+renamehomeCommandDescription=Benennt ein Haus um.
+renamehomeCommandUsage1=/
+renamehomeCommandUsage1Description=Bennt dein Home in den gegebenen Namen um
+renamehomeCommandUsage2Description=Benennt das Haus des angegebenen Spielers um
repair=§6Dein §c{0}§6 wurde erfolgreich repariert.
repairAlreadyFixed=§4Dieser Gegenstand benötigt keine Reparatur.
repairCommandDescription=Repariert die Haltbarkeit eines oder aller Gegenstände.
repairCommandUsage=/ [hand|all]
repairCommandUsage1=/
+repairCommandUsage1Description=Repariert den gehaltenen Gegenstand
repairCommandUsage2Description=Repariere alle Items aus deinem Inventar
repairEnchanted=§4Du darfst keine verzauberten Gegenstände reparieren.
repairInvalidType=§4Dieser Gegenstand kann nicht repariert werden.
repairNone=§4Es sind keine Gegenstände vorhanden, die repariert werden können.
+replyFromDiscord=**Antwort von {0}\:** {1}
replyLastRecipientDisabled=§6Auf letzen Nachrichtenempfänger antworten §cdeaktiviert§6.
replyLastRecipientDisabledFor=§6Auf den letzen Nachrichtenempfänger antworten für §c{0} §cdeaktiviert§6.
replyLastRecipientEnabled=§cAuf den letzen Nachrichtenempfänger antworten §caktiviert§6.
@@ -1066,13 +1087,16 @@ seenOffline=§6Spieler§c {0} §6ist seit §c{1}§4 offline§6.
seenOnline=§6Spieler§c {0} §6ist seit §c{1}§a online.
sellBulkPermission=§6Du hast keine Berechtigung, in Massen zu verkaufen.
sellCommandDescription=Verkauft den Gegenstand, der momentan in deiner Hand ist.
+sellCommandUsage4Description=Verkauft alle (oder die angegebene Zahl, wenn angegeben) Blöcke in deinem Inventar
sellHandPermission=§6Du hast keine Berechtigung, einzeln zu verkaufen.
serverFull=Server ist voll\!
serverReloading=Es gibt eine gute Chance, dass du den Server gerade reloadest. Falls das der Fall ist, wieso hasst du dich selber? Erwarte keine Unterstützung des EssentialsX-Teams wenn du /reload verwendest.
serverTotal=§6Server insgesamt\:§c {0}
serverUnsupported=§cDu verwendest eine Serverversion, die nicht unterstützt wird\!
serverUnsupportedCleanroom=Sie betreiben einen Server, der Bukkit-Plugins nicht richtig unterstützt, die auf internen Mojang-Code angewiesen sind. Überlegen Sie sich, einen Essentials Ersatz für Ihre Server-Software zu verwenden.
+serverUnsupportedDangerous=Sie betreiben einen Server Fork, der als extrem gefährlich bekannt ist und zu Datenverlust führt. Es wird dringend empfohlen, zu einer stabileren Server-Software wie Papier zu wechseln.
serverUnsupportedLimitedApi=Sie verwenden einen Server mit eingeschränkter API-Funktionalität. EssentialsX wird weiterhin funktionieren, aber bestimmte Funktionen können deaktiviert sein.
+serverUnsupportedDumbPlugins=Du verwendest Plugins, wo bekannt ist, dass diese schwerwiegende Probleme mit EssentialsX und anderen Plugins verursachen.
serverUnsupportedMods=Du verwendest einen Server der Bukkit Plugins nicht korrekt unterstützt. Bukkit Plugins sollten nicht mit Forge/Fabric mods verwendet werden. Für Forge\: Überlege ForgeEssentials, oder SpongeForge + Nucleus zu verwenden.
setBal=§aDein Kontostand wurde auf §c{0} §agesetzt.
setBalOthers=§aDu hast den Kontostand von §6{0}§a auf §c{1} §a gesetzt.
@@ -1080,19 +1104,31 @@ setSpawner=§6Mob-Spawner-Typ geändert zu §c{0}§6.
sethomeCommandDescription=Setze dein Zuhause auf deinen momentanen Standort.
sethomeCommandUsage=/ [[spieler\:]name]
sethomeCommandUsage1=/
+sethomeCommandUsage1Description=Setzte dein Home mit dem gegebenen Namen und deiner aktuellen Location fest
sethomeCommandUsage2=/ \:
setjailCommandDescription=Erstellt ein Gefängnis mit dem angegebenen Namen [gefängnisname].
setjailCommandUsage=/
setjailCommandUsage1=/
+setjailCommandUsage1Description=Legt das Gefängnis mit dem angegebenen Namen an deinen Standort fest
settprCommandDescription=Lege die Ort der zufälligen Teleportierung und die Parameter fest.
settprCommandUsage=/ [center|minrange|maxrange] [wert]
+settprCommandUsage1=/ center
+settprCommandUsage1Description=Legt die Mitte des Zufalls-Teleport auf deinen Standort fest
+settprCommandUsage2=/ minrange
+settprCommandUsage2Description=Legt den minimalen zufälligen Teleportradius auf den angegebenen Wert
+settprCommandUsage3=/ maxrange
+settprCommandUsage3Description=Legt den maximalen Teleportations-Radius fest
settpr=§6Setze Zufallsteleportierungszentrum.
settprValue=§6Setzte Zufallsteleport §c{0}§6 zu §c{1}§6.
setwarpCommandDescription=Erstellt einen neuen Warp-Punkt.
setwarpCommandUsage=/
setwarpCommandUsage1=/
+setwarpCommandUsage1Description=Legt den Warp-Punkt mit dem angegebenen Namen an deinem Standort fest
setworthCommandDescription=Setze den Verkaufswert eines Gegenstands.
setworthCommandUsage=/ [itemname|id]
+setworthCommandUsage1=/
+setworthCommandUsage1Description=Legt den Wert des gehaltenen Gegenstandes auf den angegebenen Preis fest
+setworthCommandUsage2=/
sheepMalformedColor=§4Ungültige Farbe.
shoutDisabled=§6Rufmodus §cdeaktiviert§6.
shoutDisabledFor=§6Rufmodus §cdeaktiviert §6für §c{0}§6.
@@ -1104,13 +1140,18 @@ editsignCommandClearLine=§6Zeile §c{0}§6 geleert.
showkitCommandDescription=Zeige Inhalte eines Kits.
showkitCommandUsage=/
showkitCommandUsage1=/
+showkitCommandUsage1Description=Zeigt eine Zusammenfassung der Gegenstände im angegebenen Kit an
editsignCommandDescription=Bearbeitet ein Schild in der Welt.
editsignCommandLimit=§4Dein eingegebener Text ist zu groß, um auf das Zielschild zu passen.
editsignCommandNoLine=§4Du musst eine Zeilennummer zwischen §c1-4§4 eingeben.
editsignCommandSetSuccess=§6Setze Linie§c {0}§6 zu "§c{1}§6".
editsignCommandTarget=§4Du musst ein Schild anschauen, um seinen Text bearbeiten.
+editsignCopy=§6Schild kopiert\! Du kannst es nun mit §c/{0} paste§6 wieder einfügen.
editsignPaste=§6Schild eingefügt\!
editsignPasteLine=§6Zeile §c{0} §6vom Schild eigefügt\!
+editsignCommandUsage1=/ set
+editsignCommandUsage1Description=Setzt die angegebene Linie des Ziel-Schilds auf den angegebenen Text
+editsignCommandUsage2Description=Leert die angegebene Zeile von dem Zielschild
signFormatFail=§4[{0}]
signFormatSuccess=§1[{0}]
signFormatTemplate=[{0}]
@@ -1123,7 +1164,9 @@ skullChanged=§6Kopf zu §c{0} §6geändert.
skullCommandDescription=Setze den Besitzer eines Spielerkopfes
skullCommandUsage=/ [besitzer]
skullCommandUsage1=/
+skullCommandUsage1Description=Ruft deinen eigenen Spielerkopf ab
skullCommandUsage2=/
+skullCommandUsage2Description=Ruft den Kopf des angegebenen Spielers ab
slimeMalformedSize=§4Ungültige Größe.
smithingtableCommandDescription=Öffnet einen Schmiedetisch.
smithingtableCommandUsage=/
@@ -1145,6 +1188,8 @@ spawnSet=§6Du hast denSpawn-Punkt für die Gruppe§c {0}§6 gesetzt.
spectator=Zuschauermodus
speedCommandDescription=Ändere deine Geschwindigkeitsbegrenzungen.
speedCommandUsage=/ [typ] [spieler]
+speedCommandUsage1Description=Legt entweder deine Flug- oder Laufgeschwindigkeit auf den angegebenen Wert fest
+speedCommandUsage2Description=Setzt entweder den angegebenen Geschwindigkeittyp auf die angegebene Geschwindigkeit für dich oder einen anderen Spieler wenn angegeben
stonecutterCommandDescription=Öffnet eine Steinsäge.
stonecutterCommandUsage=/
sudoCommandDescription=Lasse einen anderen Benutzer einen Befehl ausführen.
@@ -1182,22 +1227,26 @@ teleportRequestTimeoutInfo=§6Diese Anfrage wird nach§c {0} Sekunden§6 ungült
teleportTop=§6Zum höchsten Punkt teleportieren.
teleportToPlayer=§6Du teleportierst dich zu §c{0}§6.
teleportOffline=§6Der Spieler §c{0}§6 ist gerade offline. Du kannst dich mit /otp zu ihm teleportieren.
+teleportOfflineUnknown=§6Die letzte bekannte Position von §c{0}§ 6 konnte nicht gefunden werden.
tempbanExempt=§4Du kannst diesen Spieler nicht temporär bannen.
tempbanExemptOffline=\\u00a74Du darfst Spieler, die offline sind, nicht tempor\\u00e4r bannen.
tempbanJoin=§4Du bist auf diesem Server gesperrt. \nDauer\: {0}\nGrund\: {1}
tempBanned=§cDu bist für§r {0}§c temporär gesperrt\:\n§r{2}
tempbanCommandDescription=Temporäres Speeren eines Benutzers.
tempbanCommandUsage1=/ [Grund]
+tempbanCommandUsage1Description=Bannt den gegebenen Spieler für die angegebene Zeit mit einem optionalen Grund
tempbanipCommandDescription=Temporäres Sperren einer IP-Adresse.
thunder=§6Es donnert jetzt in deiner Welt §c{0}§6.
thunderCommandDescription=Aktiviere/deaktiviere Thunder.
thunderCommandUsage=/ [länge]
+thunderCommandUsage1Description=Aktiviert/deaktiviert Donner (ggf. für eine bestimmte Zeit)
thunderDuration=§6Es donnert jetzt für§c {1} §6Sekunden in der Welt§c {0}§6.
timeBeforeHeal=§4Zeit bis zur nächsten Heilung\:§c {0}§4.
timeBeforeTeleport=§4Zeit bis zum nächsten Teleport\:§c {0}§4.
timeCommandDescription=Zeige/Ändere die Zeit der Welt. Standardmäßig die aktuelle Welt.
timeCommandUsage=/ [set|add] [day|night|dawn|17\:30|4pm|4000ticks] [weltname|all]
timeCommandUsage1=/
+timeCommandUsage1Description=Zeigt die Zeit in allen Welten an
timeFormat=§c{0}§6 oder §c{1}§6 oder §c{2}§6
timeSetPermission=§4Du hast keine Berechtigung die Zeit zu ändern.
timeSetWorldPermission=§4Du bist nicht berechtigt in der Welt §c''{0}''§4 die Zeit zu ändern.
@@ -1219,16 +1268,21 @@ tpCommandDescription=Zu einem Spieler teleportieren.
tpCommandUsage=/ [andererspieler]
tpCommandUsage1=/
tpCommandUsage1Description=Teleportiert dich zu dem angegebenen Spieler
+tpCommandUsage2Description=Teleportiert den ersten angegebenen Spieler zum zweiten
tpaCommandDescription=Anfrage zu dem angegebenen Spieler zu Teleportieren.
tpaCommandUsage=/
tpaCommandUsage1=/
+tpaCommandUsage1Description=Fragt eine Teleportation zum angegebenen Spieler an
tpaallCommandDescription=Fragt alle anwesenden Spieler, ob sie sich zu dir teleportieren wollen.
tpaallCommandUsage=/
tpaallCommandUsage1=/
+tpaallCommandUsage1Description=Fragt einen Teleport an alle Spieler an
tpacancelCommandDescription=Alle ausstehenden Teleportierungsanfragen abbrechen. [player] spezifizieren um Anfragen mit ihm abzubrechen.
tpacancelCommandUsage=/ [spieler]
tpacancelCommandUsage1=/
+tpacancelCommandUsage1Description=Bricht alle deine Teleport-Anfragen ab
tpacancelCommandUsage2=/
+tpacancelCommandUsage2Description=Bricht die Teleport-Anfrage mit dem angegebenen Spieler ab
tpacceptCommandDescription=Akteptiert Teleportationsanfragen.
tpacceptCommandUsage=/ [andererspieler]
tpacceptCommandUsage1=/
@@ -1244,6 +1298,7 @@ tpallCommandUsage1=/ [spieler]
tpautoCommandDescription=Akzeptiere Teleportationsanfragen automatisch.
tpautoCommandUsage=/ [spieler]
tpautoCommandUsage1=/ [spieler]
+tpdenyCommandDescription=Lehnt Teleportations-Anfragen ab.
tpdenyCommandUsage=/
tpdenyCommandUsage1=/
tpdenyCommandUsage2=/
@@ -1291,6 +1346,7 @@ unbanCommandUsage1=/
unbanipCommandDescription=Enbannt die angegebene IP-Adresse.
unbanipCommandUsage=/
unbanipCommandUsage1=/
+unbanipCommandUsage1Description=Entbannt die angegebene IP-Adresse
unignorePlayer=§6Du ignorierst §c{0} §6nicht mehr.
unknownItemId=§4Unbekannte Gegenstandsnummer\:§r {0}§4.
unknownItemInList=§4Unbekannter Gegenstand {0} in der Liste {1}.
@@ -1299,8 +1355,10 @@ unlimitedCommandDescription=Erlaubt das unbegrenzte Platzieren von Gegenständen
unlimitedCommandUsage=/ [spieler]
unlimitedItemPermission=\\u00a74Keine Berechtigung f\\u00fcr unendliche Items \\u00a7c{0}\\u00a74.
unlimitedItems=§6Unbegrenzte Objekte\:§r
+unlinkCommandDescription=Löscht die Verbindung deines Minecraft-Accounts zu deinem Discord-Account.
unlinkCommandUsage=/
unlinkCommandUsage1=/
+unlinkCommandUsage1Description=Löscht die Verbindung deines Minecraft-Accounts zu deinem Discord-Account.
unmutedPlayer=§6Spieler§c {0}§6 ist nicht mehr stummgeschaltet.
unsafeTeleportDestination=§4Das Teleport-Ziel ist nicht sicher und der Teleportschutz ist nicht aktiv.
unsupportedBrand=§4Die Server-Plattform, die die momentan verwendest, bietet die Möglichkeiten für diese Funktion nicht an.
@@ -1335,6 +1393,8 @@ versionOutputUnsupported=§d{0} §6Version\: §d{1}
versionOutputUnsupportedPlugins=§6Du verwendest Plugins, die§d nicht§6 unterstützt werden\!
versionMismatch=§4Versionen sind nicht gleich\! Bitte aktualisiere {0}.
versionMismatchAll=§4Versionen sind nicht gleich\! Bitte aktualisiere alle Essentials jar-Dateien auf die gleiche Version.
+versionReleaseLatest=§6Du nutzt die neuste stable Version von EssentialsX\!
+versionReleaseNew=§4Es steht eine neue Version von EssentialsX zum download\: §c{0}§4.
versionReleaseNewLink=§4Hier herunterladen\:§c {0}
voiceSilenced=§6Du bist nun stummgeschaltet\!
voiceSilencedTime=§6Deine Stimme wurde für {0} zum Schweigen gebracht\!
@@ -1344,11 +1404,14 @@ walking=gehend
warpCommandDescription=Zeige alle Warp-Punkte an oder warpe zum angegebenen Ort.
warpCommandUsage=/ [spieler]
warpCommandUsage1=/ [page]
+warpCommandUsage2=/ [spieler]
+warpCommandUsage2Description=Teleportiert dich oder einen bestimmten Spieler zu dem angegebenen Warp
warpDeleteError=§4Beim Löschen der Warp-Datei ist ein Fehler aufgetreten.
warpInfo=§6Informationen für Warp§c {0}§6\:
warpinfoCommandDescription=Findet Standortinformationen für einen bestimmten Warp.
warpinfoCommandUsage=/
warpinfoCommandUsage1=/
+warpinfoCommandUsage1Description=Gibt Informationen zum angegebenen Warp an
warpingTo=§6Warpe zu§c {0}§6.
warpList={0}
warpListPermission=§4Du hast keine Rechte, die Warp-Punkte anzuzeigen.
@@ -1358,9 +1421,13 @@ warps=§6Warp-Punkte\:§r {0}
warpsCount=§6Es existieren§c {0}§6 Warp-Punkte. Zeige§c {1}§6 von§c {2}§6 an.
weatherCommandDescription=Legt das Wetter fest.
weatherCommandUsage=/ [duration]
+weatherCommandUsage1=/ [dauer]
+weatherCommandUsage1Description=Setzte das Wetter auf den gegebenen Typ für eine optionale Dauer
warpSet=§6Warp§c {0}§6 wurde erstellt.
warpUsePermission=\\u00a74Du hast f\\u00fcr diesen Warp keine Rechte.
weatherInvalidWorld=Die Welt mit dem Namen {0} wurde nicht gefunden\!
+weatherSignStorm=§6Wetter\: §cstürmig§6.
+weatherSignSun=§6Wetter\: §csonnig§6.
weatherStorm=§6In §c{0} §6stürmt es jetzt.
weatherStormFor=§6Du hast das Wetter zu §cSturm§6 in§c {0}§6 für §c{1} Sekunden §6gesetzt.
weatherSun=§6In §c{0}§6 scheint jetzt die §cSonne§6.
@@ -1372,6 +1439,7 @@ whoisBanned=§6 - Gesperrt\:§r {0}
whoisCommandDescription=Finde heraus, welcher Benutzername hinter einem Spitznamen steckt.
whoisCommandUsage=/
whoisCommandUsage1=/
+whoisCommandUsage1Description=Gibt grundlegende Informationen über den angegebenen Spieler
whoisExp=§6 - Erfahrung\:§r {0} (Level {1})
whoisFly=§6 - Flugmodus\:§r {0} ({1})
whoisSpeed=§6 - Geschwindigkeit\:§r {0}
@@ -1397,6 +1465,9 @@ workbenchCommandUsage=/
worldCommandDescription=Zwischen Welten wechseln.
worldCommandUsage=/ [world]
worldCommandUsage1=/
+worldCommandUsage1Description=Teleportiert dich an den entsprechenden Standort im Nether oder in der Oberwelt
+worldCommandUsage2=/
+worldCommandUsage2Description=Teleportiert dich zu einer Location in der gegebenen Welt
worth=§aEin Stapel {0} ist §c{1}§a wert. ({2} Stück je {3})
worthCommandDescription=Berechnet den Wert der Gegenstände in der Hand oder wie angegeben.
worthCommandUsage=/ <||hand|inventory|blocks> [-][anzahl]
diff --git a/Essentials/src/main/resources/messages_es.properties b/Essentials/src/main/resources/messages_es.properties
index a963a97a4..8eedf9c3d 100644
--- a/Essentials/src/main/resources/messages_es.properties
+++ b/Essentials/src/main/resources/messages_es.properties
@@ -240,7 +240,12 @@ discordbroadcastCommandUsage1Description=Envía el mensaje dado al canal de Disc
discordbroadcastInvalidChannel=§4El canal de Discord §c{0}§4 no existe.
discordbroadcastPermission=§4No tienes permiso para enviar mensajes al canal §c{0}§4.
discordbroadcastSent=§6Mensaje enviado a §c{0}§6\!
-discordCommandAccountArgumentUser=soy insano la vdd despues de todo yo quuiero la traudcicon xdasdas
+discordCommandAccountArgumentUser=La cuenta de Discord a buscar
+discordCommandAccountDescription=Busca la cuenta de Minecraft vinculada a ti mismo o a otro usuario de Discord
+discordCommandAccountResponseLinked=Tu cuenta está vinculada a la cuenta de Minecraft\: **{0}**
+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 el enlace de invitación a Discord al jugador.
discordCommandLink=§6¡Únete a nuestro servidor de Discord en §c{0}§6\!
discordCommandUsage=/
@@ -249,6 +254,14 @@ discordCommandUsage1Description=Envía el enlace de invitación a Discord al jug
discordCommandExecuteDescription=Ejecuta un comando de consola en el servidor de Minecraft.
discordCommandExecuteArgumentCommand=El comando a ejecutar
discordCommandExecuteReply=Ejecutando comando\: "/{0}"
+discordCommandUnlinkDescription=Desvincula la cuenta de Minecraft actualmente vinculada a tu cuenta de Discord
+discordCommandUnlinkInvalidCode=¡Actualmente no tienes una cuenta de Minecraft vinculada a Discord\!
+discordCommandUnlinkUnlinked=Tu cuenta de Discord ha sido desvinculada de todas las cuentas de Minecraft asociadas.
+discordCommandLinkArgumentCode=El código proporcionado en el juego para vincular tu cuenta de Minecraft
+discordCommandLinkDescription=Vincula tu cuenta de Discord con tu cuenta de Minecraft usando un código del comando /link en el juego
+discordCommandLinkHasAccount=¡Ya tienes una cuenta vinculada\! Para desvincular tu cuenta actual, escribe /unlink.
+discordCommandLinkInvalidCode=¡Código de enlace no válido\! Asegúrese de que ha ejecutado /link en el juego y copiado el código correctamente.
+discordCommandLinkLinked=¡Se ha vinculado con éxito tu cuenta\!
discordCommandListDescription=Genera una lista de jugadores en línea.
discordCommandListArgumentGroup=Un grupo específico para limitar tu búsqueda
discordCommandMessageDescription=Envía un mensaje a un jugador del servidor de Minecraft.
@@ -266,8 +279,20 @@ discordErrorNoPrimary=No has definido un canal principal o el que has definido n
discordErrorNoPrimaryPerms=Tu bot no puede hablar en tu canal principal, \#{0}. Asegúrate de que tu bot tiene permisos de lectura y escritura en todos los canales que quieras que use.
discordErrorNoToken=¡No hay token\! Sigue el tutorial de configuración para poner en marcha el plugin.
discordErrorWebhook=¡Se ha producido un error al enviar mensajes al canal de la consola\! Esto puede deberse a que se haya eliminado accidentalmente tu webhook de consola. Esto se puede corregir asegurándote de que tu bot tiene permiso para "Administrar webhooks" y ejecutar "/ess reload".
+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=§6Para vincular tu cuenta de Minecraft a Discord, escribe §c{0} §6en el servidor de Discord.
+discordLinkLinkedAlready=§6Ya tienes vinculada tu cuenta de Discord\! Si deseas desvincularla usa §c/unlink§6.
+discordLinkLoginKick=§6Debes vincular tu cuenta de Discord para acceder a este servidor.\n§6Para vincular tu cuenta de Minecraft a Discord, escribe\:\n§c{0}\n§6en el Discord de este servidor\:\n§c{1}
+discordLinkLoginPrompt=§6Debes vincular tu cuenta de Discord para poder moverte, chatear o interactuar con el servidor. Para vincular tu cuenta de Minecraft a Discord, escribe§c{0} §6en el Discord de este servidor\: §c{1}
+discordLinkNoAccount=§6Actualmente no tienes una cuenta de Discord vinculada a tu cuenta de Minecraft.
+discordLinkPending=§6Ya tienes un código de vinculación. Para completar la vinculación de tu cuenta de Minecraft a Discord, escribe §c{0} §6en el servidor de Discord.
+discordLinkUnlinked=§6Has desvinculado tu cuenta de Minecraft de todas las cuentas de Discord asociadas.
discordLoggingIn=Intentando iniciar sesión en Discord...
discordLoggingInDone=Se ha iniciado sesión con éxito como {0}
+discordMailLine=**Nuevo mail de {0}\:** {1}
discordNoSendPermission=Error al enviar el mensaje al canal\: \#{0}. ¡Asegúrate de que el bot tiene permisos para "Enviar mensajes" en ese canal\!
discordReloadInvalid=¡Se ha intentado recargar la configuración de Discord de EssentialsX pero el plugin no era válido\! Si has modificado tu configuración, reinicia tu servidor.
disposal=Basura
@@ -483,6 +508,7 @@ homeCommandUsage2=/ \:
homeCommandUsage2Description=Te teletransporta a la casa del jugador especificado con el nombre dado
homes=§6Hogares\:§r {0}
homeConfirmation=§6Ya tienes una casa llamada §c{0}§6\!\nPara sobrescribir tu casa existente, escribe el comando de nuevo.
+homeRenamed=§6La casa §c{0} §6ha sido renombrada a §c{1}§6.
homeSet=§7Hogar establecido.
hour=hora
hours=horas
@@ -661,8 +687,10 @@ lightningCommandUsage2=/
lightningCommandUsage2Description=Lanza un rayo al jugador objetivo con el poder elegido
lightningSmited=§6¡Has sido golpeado mágicamente\!
lightningUse=§6Golpeando al jugador§c {0}
+linkCommandDescription=Genera un código para vincular tu cuenta de Minecraft a Discord.
linkCommandUsage=/
linkCommandUsage1=/
+linkCommandUsage1Description=Genera un código para el comando /link en Discord
listAfkTag=§8[Ausente]§r
listAmount=§9Hay §c{0}§9 jugadores de un máximo de §c{1}§9 jugadores §2en linea§9.
listAmountHidden=§6Hay§c{0}§6/§c{1}§6 de un máximo de §c{2}§6 jugadondo online.
@@ -1012,6 +1040,12 @@ removeCommandUsage1Description=Elimina todos los mobs del tipo dado en el mundo
removeCommandUsage2=/ [mundo]
removeCommandUsage2Description=Elimina el tipo de mob dado dentro del radio dado en el mundo actual u otro si se especifica
removed=§6Eliminadas§c {0} §6entidades.
+renamehomeCommandDescription=Cambia el nombre de un hogar.
+renamehomeCommandUsage=/ <[player\:]name>
+renamehomeCommandUsage1=/
+renamehomeCommandUsage1Description=Renombra tu casa con el nombre dado
+renamehomeCommandUsage2=/ \:
+renamehomeCommandUsage2Description=Cambia el nombre de la casa del jugador especificado por el nombre dado
repair=§6Has reparado exitósamente tu\: §c{0}§6.
repairAlreadyFixed=§4Este ítem no necesita reparación.
repairCommandDescription=Repara la durabilidad de uno o todos tus objetos.
@@ -1023,6 +1057,7 @@ repairCommandUsage2Description=Repara todos los objetos en tu inventario
repairEnchanted=§4No tienes permiso para reparar un ítem encantado.
repairInvalidType=§4Ese ítem no puede ser reparado.
repairNone=§4No hay ítems que necesiten ser reparados.
+replyFromDiscord=**Respuesta de {0}\:** {1}
replyLastRecipientDisabled=§6Respuesta al último mensaje recibido/enviado §cdesactivado§6.
replyLastRecipientDisabledFor=§6Respuesta al último mensaje recibido/enviado §cdesactivado §6por §c{0}§6.
replyLastRecipientEnabled=§6Respuesta al último mensaje recibido/enviado §cactivado§6.
@@ -1232,6 +1267,7 @@ teleportRequestTimeoutInfo=§6La solicitud será automáticamente cancelada desp
teleportTop=§6Teletransportandote hasta la cima.
teleportToPlayer=§6Teletransportándose a §c{0}§6.
teleportOffline=§6El[la] jugador[a] §c{0}§6 está desconectado[a].Puedes teletransportarte a él[ella] usando /otp.
+teleportOfflineUnknown=§6No se ha podido encontrar la última posición conocida de §c{0}§6.
tempbanExempt=§4No puedes banear temporalmente a ese usuario.
tempbanExemptOffline=§4No puedes banear temporalmente a jugadores que no están conectados.
tempbanJoin=You are banned from this server for {0}. Reason\: {1}
@@ -1396,8 +1432,10 @@ unlimitedCommandUsage3=/ limpiar [jugador]
unlimitedCommandUsage3Description=Limpia todos los objetos ilimitados para ti u otro jugador si se especifica
unlimitedItemPermission=§4Sin permiso para artículo ilimitado §c{0}§4.
unlimitedItems=§6Ítems ilimitados\:§r
+unlinkCommandDescription=Desvincula tu cuenta de Minecraft de la cuenta de Discord actualmente vinculada.
unlinkCommandUsage=/
unlinkCommandUsage1=/
+unlinkCommandUsage1Description=Desvincula tu cuenta de Minecraft de la cuenta de Discord actualmente vinculada.
unmutedPlayer=§6El jugador§c {0} §6ya no está silenciado.
unsafeTeleportDestination=§4El destino es inseguro y el teletransporte seguro está desactivado.
unsupportedBrand=§4La plataforma en la que se ejecuta el servidor no proporciona las capacidades para esta función.
@@ -1418,6 +1456,9 @@ userIsAwaySelf=§7Ahora estás AFK.
userIsAwaySelfWithMessage=§7Ahora estás AFK.
userIsNotAwaySelf=§7Ya no estás AFK\!
userJailed=§6¡Has sido encarcelado\!
+usermapEntry=§c{0} §6está mapeado en §c{1}§6.
+usermapPurge=§6Comprobando archivos en userdata que no estén mapeados, los resultados serán registrados en consola. Modo Destructivo\: {0}
+usermapSize=§6Usuarios actuales en cache en el mapeo del usuario §c{0}§6/§c{1}§6/§c{2}§6.
userUnknown=§4Aviso\: §cel jugador §4{0} §cnunca ha visitado el servidor\!
usingTempFolderForTesting=Usando carpeta temporal para pruebas\:
vanish=§6Invisibilidad mágica para {0}§6\:§c {1}
diff --git a/Essentials/src/main/resources/messages_et.properties b/Essentials/src/main/resources/messages_et.properties
index e7b02d60b..708ca213d 100644
--- a/Essentials/src/main/resources/messages_et.properties
+++ b/Essentials/src/main/resources/messages_et.properties
@@ -259,6 +259,7 @@ 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".
discordLoggingIn=Proovin logida Discordi...
discordLoggingInDone=Edukalt sisse logitud kui {0}
+discordMailLine=**Uus kiri mängijalt {0}\:** {1}
disposal=Prügišaht
disposalCommandDescription=Avab kaasaskantava hävitusmenüü.
disposalCommandUsage=/
@@ -654,6 +655,7 @@ listGroupTag=§6{0}§r\:
listHiddenTag=§7[PEIDETUD]§r
listRealName=({0})
loadWarpError=§4Koolu {0} laadimisel esines viga.
+localFormat=§3[L] §r<{0}> {1}
loomCommandDescription=Avab kangasteljed.
loomCommandUsage=/
mailClear=§6Postkasti tühjendamiseks kirjuta§c /mail clear§6.
@@ -813,6 +815,7 @@ noPlacePermission=§4Sul puudub luba selle sildi juurde ploki asetamiseks.
noPotionEffectPerm=§4Sul puudub luba sellele võlujoogile efekti §c{0} §4 rakendamiseks.
noPowerTools=§6Sul puuduvad võimutööriistad.
notAcceptingPay=§4Mängija §4{0} §4ei võta makseid vastu.
+notAllowedToLocal=§4Sul puudub luba kohalikus vestluses rääkimiseks.
notEnoughExperience=§4Sul pole piisavalt kogemuspunkte.
notEnoughMoney=§4Sul pole piisavalt raha.
notFlying=ei lenda
diff --git a/Essentials/src/main/resources/messages_fi.properties b/Essentials/src/main/resources/messages_fi.properties
index fa45a5bb9..f0bc710c4 100644
--- a/Essentials/src/main/resources/messages_fi.properties
+++ b/Essentials/src/main/resources/messages_fi.properties
@@ -126,6 +126,7 @@ cantReadGeoIpDB=Ei pystytty lukemaan GeoIP tietokantaa\!
cantSpawnItem=§4Sinulla ei ole oikeutta luoda tavaraa§c {0}§4.
cartographytableCommandDescription=Avaa karttapöydän.
cartographytableCommandUsage=/
+chatTypeLocal=§[L]
chatTypeSpy=[Vakoilu]
cleaned=Käyttäjätiedot on poistettu.
cleaning=Poistetaan käyttäjätietoja.
@@ -142,6 +143,7 @@ clearinventoryCommandUsage3Description=Poistaa kaiken (tai tietyn määrän) ann
clearinventoryconfirmtoggleCommandDescription=Vaihdettavissa, pyydetäänkö sinua vahvistamaan tavaraluettelon tyhjennys vai ei.
clearinventoryconfirmtoggleCommandUsage=/
commandArgumentOptional=§7
+commandArgumentOr=§c
commandArgumentRequired=§e
commandCooldown=§cEt voi kirjoittaa tätä komentoa ajassa {0}.
commandDisabled=§cKomento§6 {0}§c on poistettu käytöstä.
@@ -150,13 +152,18 @@ commandHelpFailedForPlugin=Virhe haettaessa apua lisäosasta\: {0}
commandHelpLine1=§6Komentoapu\: §f/{0}
commandHelpLine2=§6Kuvaus\: §f{0}
commandHelpLine3=§7Käyttö;
+commandHelpLine4=§6Myös\: §f{0}
+commandHelpLineUsage={0} §6- {1}
commandNotLoaded=§4Komento {0} on väärin ladattu.
compassBearing=§6Osoittaa\: {0} ({1} astetta).
compassCommandDescription=Kuvailee nykyistä katsomiskulmaasi.
compassCommandUsage=/
condenseCommandDescription=Tiivistää esineet pienemmiksi kappaleiksi.
+condenseCommandUsage=/ [item]
condenseCommandUsage1=/
+condenseCommandUsage1Description=Tyhjentää tavaraluottelosi
condenseCommandUsage2=/ -
+condenseCommandUsage2Description=Poistaa tietyn tavaran tavaraluettelostasi
configFileMoveError=Virhe siirrettäessä tiedostoa config.yml varmuuskopio sijaintiin.
configFileRenameError=Virhe nimettäessä tiedostoa temp tiedostoon config.yml
confirmClear=§7§lVAHVISTAAKSESI§7 tavaraluettelon tyhjennyksen, suorita uudellen komento\: §6{0}
@@ -171,9 +178,11 @@ createdKit=§6Luotu paketti §c{0}, §c{1} §6merkinnällä ja viiveellä §c{2}
createkitCommandDescription=Luo kitin pelissä\!
createkitCommandUsage=/
createkitCommandUsage1=/
+createkitCommandUsage1Description=Luo kitin annetulla nimellä ja ajalla
createKitFailed=§4Pakkauksen luomisessa tapahtui virhe {0}.
createKitSeparator=§m-----------------------
createKitSuccess=§6Luotu paketti\: §f{0}\n§6Viive\: §f{1}\n§6Osoite\: §f{2}\n§6Kopioi yllä olevan linkin sisältö kits.yml tiedostoon.
+createKitUnsupported=§4NBT-tavaroiden sarjoitus on otettu käyttöön, mutta tämä palvelin ei käytä versiota Paper 1.15.2+. Palataan takaisin tavalliseen sarjoitukseen.
creatingConfigFromTemplate=Luodaan config tiedostoa mallista\: {0}
creatingEmptyConfig=Luodaan tyhjää config tiedostoa\: {0}
creative=luova
@@ -184,22 +193,33 @@ customtextCommandUsage=/ - Määritä bukkit.yml-tiedostossa
day=päivä
days=päivää
defaultBanReason=Bannivasara on puhunut\!
+deletedHomes=Kaikki kodit poistettu.
+deletedHomesWorld=Kaikki kodit kohteessa {0} poistettu.
deleteFileError=Ei voida poistaa tiedostoa\: {0}
deleteHome=§6Koti§c {0} §6on poistettu.
deleteJail=§6Vankila§c {0} §6on poistettu.
deleteKit=§6Pakki§c {0} §6on poistettu.
deleteWarp=§6Warp§c {0} §6on poistettu.
+deletingHomes=Poistetaan kaikkia koteja...
+deletingHomesWorld=Poistetaan kaikkia koteja kohteessa {0}...
delhomeCommandDescription=Poistaa kodin.
delhomeCommandUsage=/ [pelaaja\:]
+delhomeCommandUsage1=/
+delhomeCommandUsage1Description=Poistaa kotisi annetulla nimellä
+delhomeCommandUsage2=/ \:
+delhomeCommandUsage2Description=Poistaa tietyn pelaajan kodin annetulla nimellä
deljailCommandDescription=Poistaa vankilan.
deljailCommandUsage=/
deljailCommandUsage1=/
+deljailCommandUsage1Description=Poistaa vankilan annetulla nimellä
delkitCommandDescription=Poistaa määritetyn kitin.
delkitCommandUsage=/
delkitCommandUsage1=/
+delkitCommandUsage1Description=Poistaa kitin annetulla nimellä
delwarpCommandDescription=Poistaa määritetyn warpin.
delwarpCommandUsage=/
delwarpCommandUsage1=/
+delwarpCommandUsage1Description=Poistaa warpin annetulla nimellä
deniedAccessCommand=§4Pelaajan §c{0} §4pääsy komentoon evättiin.
denyBookEdit=§4Et voi avata tätä kirjaa.
denyChangeAuthor=§4Et voi vaihtaa tämän kirjan kirjoittajaa.
@@ -213,6 +233,15 @@ destinationNotSet=Sijaintia ei ole määritetty\!
disabled=poistettu käytöstä
disabledToSpawnMob=§4Tämän mobin luominen on poistettu käytöstä config tiedostossa.
disableUnlimited=§6Poistettiin käytöstä loputon asettaminen tavaralle§c {0} §6pelaajalta§c {1}§6.
+discordbroadcastCommandDescription=Lähettää viestin tietylle Discord-kanavalle.
+discordbroadcastCommandUsage=/
+discordbroadcastCommandUsage1=/
+discordbroadcastInvalidChannel=§4Discord-kanavaa §c{0}§4 ei ole olemassa.
+discordbroadcastPermission=§4Sinulla ei ole oikeuttaa lähettää viestejä kanavalle §c{0}§4.
+discordbroadcastSent=§6Viesti lähetettiin kanavalle §c{0}§6\!
+discordCommandAccountArgumentUser=Etsittävä Discord-tili
+discordCommandAccountDescription=Etsii linkitettyjä Minecraft-tilejä itsellesi tai toiselle Discord-käyttäjälle
+discordCommandAccountResponseLinked=Tilisi on yhdistetty Minecraft-tiliin **{0}**
discordCommandUsage=/
discordCommandUsage1=/
discordCommandExecuteReply=Suoritetaan komento\: "/{0}"
@@ -353,6 +382,8 @@ holdPotion=§4Sinulla täytyy olla taikajuoma kädessäsi lisätäksesi siihen e
holeInFloor=§4Reikä lattiassa\!
homeCommandDescription=Teleporttaa sinut kotiisi.
homeCommandUsage=/ [pelaaja\:][name]
+homeCommandUsage1=/
+homeCommandUsage2=/ \:
homes=§6Kodit\:§r {0}
homeConfirmation=§6Sinulla on jo koti nimeltä §c{0}§6\!\nKorvataksesi edellisen kotisi, kirjoita komento uudelleen.
homeSet=§6Koti asetettu nykyiseen sijaintiin.
@@ -419,6 +450,7 @@ itemnameClear=§6Olet puhdistanut tämän kohteen nimen.
itemnameCommandDescription=Nimeää tavaran.
itemnameCommandUsage=/ [name]
itemnameCommandUsage1=/