diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9296f26..6e88943 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,11 +14,11 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: 'adopt' - java-version: 17 + java-version: 21 - name: Cache SonarCloud packages uses: actions/cache@v3 with: diff --git a/pom.xml b/pom.xml index 11445cf..3da436b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,23 +28,30 @@ GitHub https://github.com/BentoBoxWorld/Challenges/issues + + + + bentoboxworld + https://repo.codemc.org/repository/bentoboxworld/ + + UTF-8 UTF-8 - 17 + 21 2.0.9 - 1.20.4-R0.1-SNAPSHOT + 1.21.3-R0.1-SNAPSHOT 1.2.3-SNAPSHOT - 2.1.0 + 2.7.1-SNAPSHOT 2.6.3 1.7 1.2.0 ${build.version}-SNAPSHOT - 1.3.1 + 1.4.0 -LOCAL BentoBoxWorld_Challenges @@ -83,17 +90,6 @@ - - - codemc-snapshots - https://repo.codemc.org/repository/maven-snapshots - - - codemc-releases - https://repo.codemc.org/repository/maven-releases - - - apache.snapshots @@ -108,6 +104,10 @@ https://hub.spigotmc.org/nexus/content/repositories/snapshots + + bentoboxworld + https://repo.codemc.io/repository/bentoboxworld/ + codemc-repo https://repo.codemc.io/repository/maven-public @@ -231,7 +231,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.3.1-SNAPSHOT + 3.6.0 true diff --git a/src/main/java/world/bentobox/challenges/commands/admin/ChallengesAdminCommand.java b/src/main/java/world/bentobox/challenges/commands/admin/ChallengesAdminCommand.java index 57f9efc..086869c 100644 --- a/src/main/java/world/bentobox/challenges/commands/admin/ChallengesAdminCommand.java +++ b/src/main/java/world/bentobox/challenges/commands/admin/ChallengesAdminCommand.java @@ -63,6 +63,7 @@ public class ChallengesAdminCommand extends CompositeCommand return true; } + this.showHelp(this, user); return false; } } diff --git a/src/main/java/world/bentobox/challenges/database/object/ChallengeLevel.java b/src/main/java/world/bentobox/challenges/database/object/ChallengeLevel.java index f885632..4a7ae9f 100644 --- a/src/main/java/world/bentobox/challenges/database/object/ChallengeLevel.java +++ b/src/main/java/world/bentobox/challenges/database/object/ChallengeLevel.java @@ -153,6 +153,9 @@ public class ChallengeLevel implements DataObject, Comparable */ public ItemStack getIcon() { + if (icon == null) { + icon = new ItemStack(Material.PAPER); + } return icon.clone(); } diff --git a/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java b/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java index 39d6889..a61e175 100644 --- a/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java +++ b/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java @@ -113,32 +113,36 @@ public class ChallengesManager * This comparator orders challenges by their level, order and name. */ private final Comparator challengeComparator = (o1, o2) -> { + // Get the levels ChallengeLevel o1Level = this.getLevel(o1.getLevel()); ChallengeLevel o2Level = this.getLevel(o2.getLevel()); - if (o1Level == null && o2Level == null) - { + // Handle null levels consistently + if (o1Level == null && o2Level == null) { + // Both levels are null, compare by order return Integer.compare(o1.getOrder(), o2.getOrder()); - } - else if (o1Level == null) - { + } else if (o1Level == null) { + // If o1 level is null, it should be ordered lower return -1; - } - else if (o2Level == null) - { + } else if (o2Level == null) { + // If o2 level is null, it should be ordered lower return 1; } - else if (o1Level.equals(o2Level)) - { + + // If both levels are non-null, compare their orders + int levelComparison = Integer.compare(o1Level.getOrder(), o2Level.getOrder()); + + // If levels are the same, compare by challenge order + if (levelComparison == 0) { return Integer.compare(o1.getOrder(), o2.getOrder()); } - else - { - return Integer.compare(o1Level.getOrder(), o2Level.getOrder()); - } + + // Return the level comparison result + return levelComparison; }; + // --------------------------------------------------------------------- // Section: Constructor // --------------------------------------------------------------------- diff --git a/src/main/java/world/bentobox/challenges/panel/ConversationUtils.java b/src/main/java/world/bentobox/challenges/panel/ConversationUtils.java index 76873ac..270528f 100644 --- a/src/main/java/world/bentobox/challenges/panel/ConversationUtils.java +++ b/src/main/java/world/bentobox/challenges/panel/ConversationUtils.java @@ -119,6 +119,9 @@ public class ConversationUtils withFirstPrompt(confirmationPrompt). withLocalEcho(false). withTimeout(90). + // Use null value in consumer to detect if user has abandoned conversation. + addConversationAbandonedListener(ConversationUtils.getAbandonListener(consumer, user)) + . buildConversation(user.getPlayer()). begin(); } diff --git a/src/main/java/world/bentobox/challenges/web/WebManager.java b/src/main/java/world/bentobox/challenges/web/WebManager.java index 23a4a01..ec91f3b 100644 --- a/src/main/java/world/bentobox/challenges/web/WebManager.java +++ b/src/main/java/world/bentobox/challenges/web/WebManager.java @@ -151,6 +151,11 @@ public class WebManager if (this.plugin.getSettings().isLogGithubDownloadData()) { this.plugin.log("Could not connect to GitHub."); + this.plugin.log( + "JSON files can be found at https://github.com/BentoBoxWorld/weblink/tree/master/challenges/library"); + user.sendRawMessage("Could not connect to GitHub."); + user.sendRawMessage( + "JSON files can be found at https://github.com/BentoBoxWorld/weblink/tree/master/challenges/library"); } } catch (Exception e) diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 13c59e0..8cd6b89 100755 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,7 +1,7 @@ name: Challenges main: world.bentobox.challenges.ChallengesAddon version: ${version}${build.number} -api-version: 1.17 +api-version: 2.7.1 repository: 'BentoBoxWorld/Challenges' metrics: true diff --git a/src/main/resources/locales/cs.yml b/src/main/resources/locales/cs.yml index 6adaef2..1ae69e1 100644 --- a/src/main/resources/locales/cs.yml +++ b/src/main/resources/locales/cs.yml @@ -1,524 +1,1089 @@ --- +meta: + authors: + - BONNE challenges: commands: admin: main: description: Hlavní administrátorský příkaz. Otevře GUI. - import: - parameters: "[overwrite]" - description: Importovat výzvy ze souboru challenges.yml|Parametr overwrite - znamená, že výzvy nebo úrovně se stejnou ID budou přepsána. reload: - parameters: "[hard]" description: Znovu načíst výzvy z databáze|Parametr hard znamená, že doplňek zresetuje připojení k databázi. - defaults: - parameters: "[command]" - description: Tato metoda ukáže podpříkazy, které umožní import/export výchozích - výzev. - defaults-generate: - parameters: "[overwrite] - umožní přepsat existující soubor." - description: Tato metoda umožňuje export existujících výzev do souboru default.json. + show: + description: Tato metoda vypíše do chatu všechny výzvy, které ve světě existují. complete: - parameters: " " description: Tento příkaz umožňuje dokončit výzvu hráči bez GUI. - reset: parameters: " " + reset: description: Tento příkaz umožňuje resetovat výzvu hráči bez GUI. Pokud je "challenge_id" nastaveno na "all", potom příkaz zresetuje hráči všechny výzvy. + parameters: " " migrate: description: Tato metoda umožňuje migrovat data výzev, která referují na svět nynějšího herního módu, do nového formátu úložiště 0.8.0. - show: - description: Tato metoda vypíše do chatu všechny výzvy, které ve světě existují. - defaults-import: - description: Tato metoda umožňuje import výchozích výzev. user: - complete: - parameters: " [count]" - description: Tato metoda umožňuje dokončit výzvu bez GUI. main: description: Tato metoda otevárá GUI Výzev. + complete: + description: Tato metoda umožňuje dokončit výzvu bez GUI. + parameters: " [count]" gui: - title: - admin: - gui-title: "&aAdministrace Výzev" - edit-challenge-title: "&aEditovat výzvu" - edit-level-title: "&aEditovat úroveň" - settings-title: "&aEditovat nastavení" - choose-challenge-title: "&aZvolit výzvu" - choose-level-title: "&aZvolit úroveň" - choose-user-title: "&aZvolit hráče" - manage-blocks: "&aSpravovat bloky" - manage-entities: "&aSpravovat entity" - confirm-title: "&aPotvrzení" - manage-items: "&aSpravovat předměty" - manage-numbers: "&aČíselník" - select-block: "&aZvolit blok" - select-challenge: "&aZvolit výzvu" - select-entity: "&aZvolit entitu" - toggle-environment: "&aPřepnout prostředí" - edit-text-fields: "&aEditovat textová pole" - library-title: "&aStáhnutelné knihovny" - lore-add: "&aPřidat řádek příběhu" - lore-remove: "&aOdstranit řádek příběhu" - lore-edit: "&aEditovat příběh" - type-select: "&aZvolit typ výzvy" - challenges: "&6Výzvy" - game-modes: "&6Zvolit herní mód" - multiple-complete: "&6Kolikrát?" + titles: + player-gui: "&0&l Nabídka výzev" + gamemode-gui: "&0&l Vyberte GameMode" + multiple-gui: "&0&l Kolikrát?" + admin-gui: "&0&l Nabídka správce výzev" + edit-challenge: "&0&l Upravit [challenge]" + edit-level: "&0&l Upravit [level]" + settings: "&0&l Nastavení" + choose-challenge: "&0&l Vyber výzvu" + choose-level: "&0&l Vyber level" + choose-player: "&0&l Vyber hráče" + library: Knihovna &0&l + manage-blocks: "&0&l Spravovat bloky" + manage-entities: "&0&l Spravovat entity" + type-selector: "&0&l Výběr typu výzvy" + item-selector: "&0&l Výběr položek" + block-selector: "&0&l Výběr bloku" + entity-selector: "&0&l Výběr entity" + challenge-selector: "&0&l Výběr výzvy" + statistic-selector: "&0&l Výběr statistiky" + environment-selector: "&0&l Výběr prostředí" buttons: - admin: - complete: Dokončit výzvy hráče - reset: Resetovat výzvy hráče - create-challenge: Přidat novou výzvu - create-level: Přidat novou úroveň - edit-challenge: Editovat výzvu - edit-level: Editovat úroveň - delete-challenge: Odstranit výzvu - delete-level: Odstranit úroveň - properties: Vlastnosti - requirements: Požadavky - rewards: Odměny - challenges: Výzvy - deployment: Zveřejnění - icon: Ikona - locked-icon: Ikona zamčení - description: Popis - order: Pořadí - environment: Prostředí - remove-on-complete: Odstranit po dokončení - required-experience: Požadované zkušenosti - remove-experience: Odstranit zkušenosti - required-level: Požadovaná úroveň ostrova - required-money: Požadované peníze - remove-money: Odstranit peníze - reward-text: Zpráva odměny - reward-items: Odměnit předměty - reward-experience: Odměnit zkušenostmi - reward-money: Odměnit penězmi - reward-commands: Příkazy odměny - repeatable: Opakovatelná - repeat-count: Max. počet opakování - repeat-reward-text: Zpráva opakované odměny - repeat-reward-items: Odměnit předměty po opakování - repeat-reward-experience: Odměnit zkušenostmi po opakování - repeat-reward-money: Odměnit penězmi po opakování - repeat-reward-commands: Odměnit příkazy po opakování - remove-completed: Odstranit po dokončení - glow: Svítit při dokončení - free-at-top: Výzvy zdarma první - line-length: Délka řádku příběhu - add: Přidat - accept: Přijmout - decline: Odmítnout - save: Uložit - cancel: Zrušit - input: Vstup - value: Hodnota - set: "=" - increase: "+" - reduce: "-" - multiply: "*" - clear: Vyčistit - remove-empty: Odstranit prázdné - number: "[number]" - history-lifespan: Dosah historie - input-mode: Přepnout režim vstupu - title-enable: Titul dokončení - library: Webová knihovna - download: Stáhnout knihovny - type: - island: "&6Typ ostrova" - inventory: "&6Typ inventáře" - other: "&6Jiný typ" - import: Importovat výzvy starého pluginu ASkyBlock - settings: Editovat nastavení - name: Viditelný název - required-entities: Požadované entity - remove-entities: Zabít entity - required-blocks: Požadované bloky - remove-blocks: Odstranit bloky - search-radius: Radius hledání - required-permissions: Požadovaná oprávnění - required-items: Požadované předměty - remove-items: Odstranit předměty - waiver-amount: Nedokončené výzvy - add-challenge: Přidat výzvu - remove-challenge: Odstranit výzvu - reset-on-new: Resetovat na novém ostrově - broadcast: Oznámit dokončení - visibility-mode: Mód viditelnosti výzvy - toggle-user-list: Seznam hráčů - remove-selected: Odstranit vybrané - show-eggs: Přepnout mód zobrazení - level-lore: Popis úrovně - challenge-lore: Popis výzvy - gui-view-mode: Ukázat všechny herní módy - gui-mode: Samostatné GUI výzev - history-store: Historie výzev - island-store: Ukládat dle ostrovů - default-locked-icon: Ikona zamčené úrovně - title-showtime: Titul ukázky - default-import: Import výchozích výzev - default-export: Export existujících výzev - complete-wipe: Vymazat databáze doplňku - challenge-wipe: Vymazat databáze výzev - players-wipe: Vymazat databáze hráčů - next: Další - previous: Předchozí - return: Zpět - value: Dokončeno - increase: Zvýšit - reduce: Snížit + free-challenges: + name: "&f&l Výzvy zdarma" + description: |- + &7 Zobrazí seznam + &7 bezplatných výzev + return: + name: "&f&l Návrat" + description: |- + &7 Návrat do předchozí nabídky + &7 nebo ukončete GUI + previous: + name: "&f&l Předchozí stránka" + description: "&7 Přepnout na stránku &e [number] &7" + next: + name: "&f&l Další stránka" + description: "&7 Přepnout na stránku &e [number] &7" + reduce: + name: "&f&l Snížit" + description: "&7 Snížit o &e [number]" + increase: + name: "&f&l Zvýšit" + description: "&7 Zvýšit o &e [number]" + accept: + name: "&f&l Hotovo" + description: |- + &7 Dokonči výzvu &e [number] + &7 krát (-s) + quit: + name: "&f&l Ukončit" + description: "&7 Ukončete GUI." + complete_user_challenges: + name: "&f&l Dokončit uživatelskou výzvu(-y)" + description: |- + &7 Umožňuje vybrat uživatele a + &7 kompletních výzev pro + &7 ho + reset_user_challenges: + name: "&f&l Obnovit uživatelské výzvy" + description: |- + &7 Umožňuje vybrat uživatele a + &7 resetoval své výzvy + add_challenge: + name: "&f&l Vytvořit výzvu" + description: |- + &7 Spustí proces pro + &7 vytvoření nové výzvy. + add_level: + name: "&f&l Vytvořit úroveň" + description: |- + &7 Spustí proces pro + &7 vytvoření nové úrovně. + edit_challenge: + name: "&f&l Upravit výzvu" + description: |- + &7 Umožňuje vybrat a upravit + &7 výzva. + edit_level: + name: "&f&l Upravit úroveň" + description: |- + &7 Umožňuje vybrat a upravit + &7 úroveň. + delete_challenge: + name: "&f&l Smazat výzvu" + description: |- + &7 Umožňuje vybrat a odstranit + &7 výzva. + delete_level: + name: "&f&l Odstranit úroveň" + description: |- + &7 Umožňuje vybrat a odstranit + &7 úroveň. + edit_settings: + name: "&f&l Nastavení" + description: |- + &7 Umožňuje prohlížet a upravovat + &7 nastavení doplňku. + complete_wipe: + name: "&f&l Kompletní vymazání" + description: |- + &7 Zcela odstraňuje výzvy + Databáze doplňků &7, včetně + &7 uživatelských dat. + challenge_wipe: + name: "&f&l Vymazání výzvy" + description: |- + &7 Zcela odstraňuje výzvy + &7 a úrovně z databáze. + user_wipe: + name: "&f&l Vymazání uživatele" + description: |- + &7 Úplně vymaže uživatele + &7 data z databáze. + library: + name: "&f&l Knihovna" + description: |- + &7 Otevře veřejnost + Knihovna výzev &7. + import_database: + name: "&f&l Importovat databázi" + description: |- + &7 Umožňuje exportovat import + &7 databáze výzev. + import_template: + name: "&f&l Importovat šablonu" + description: |- + &7 Umožňuje importovat šablonu + &7 soubor s výzvami. + export_challenges: + name: "&f&l Výzvy exportu" + description: |- + &7 Umožňuje exportovat databázi + &7 do místního souboru. + properties: + name: "&f&l Vlastnosti" + description: "&7 Zobrazit všechny hlavní vlastnosti." + requirements: + name: "&f&l Požadavky" + description: "&7 Zobrazit vlastnosti požadavků." + rewards: + name: "&f&l Odměny" + description: "&7 Zobrazit vlastnosti odměn." + deployed: + name: "&f&l Nasazení" + description: |- + &7 Přepnout, pokud je výzva + &7 nasazeno a uživatelé mohou + &7 dokončit. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + name: + name: "&f&l Jméno" + description: |- + &7 Umožňuje změnu + &7 zobrazovaný název. + value: "&7 Aktuálně: &r [name]" + remove_on_complete: + name: "&f&l Skrýt po dokončení" + description: |- + &7 Přepnout, pokud má být výzva + &7 poté skryto před hráčem + &7 je hotovo. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + description: + name: "&f&l Popis" + description: |- + &7 Konkrétní popis + &7 za výzvu. Barva + Musí na něj být použity kódy &7. + value: "&7 Aktuální popis:" + environment: + name: "&f&l rozměr" + description: |- + &7 Umožňuje omezit ve kterém + &7 rozměr výzvy + &7 lze dokončit. + enabled: "&2" + disabled: "&C" + order: + name: "&f&l Objednávka" + description: |- + &7 Umožňuje změnit pořadí + &7 objektů. + &7 Objekty se stejnými čísly + &7 bude objednáno jejich + &7 jedinečných ID jmen. + value: "&7 Aktuální objednávka: &e [number]" + icon: + name: Ikona &f&l + description: |- + &7 Umožňuje změnit ikonu + &7 pro tuto výzvu. + locked_icon: + name: "&f&l Ikona uzamčení" + description: |- + &7 Umožňuje změnit uzamčeno + Ikona úrovně &7. + required_permissions: + name: "&f&l Požadovaná oprávnění" + description: |- + &7 Umožňuje požadovanou změnu + &7 oprávnění pro toto + &7 výzva k dokončení. + title: "&7 Oprávnění: " + permission: " &8 – [permission]" + none: "&7 Oprávnění nejsou nastavena." + remove_entities: + name: "&f&l Odebrat entity" + description: |- + &7 Umožňuje přepínat, pokud + &7 požadovaných subjektů + &7 být odstraněn ze světa + &7 po dokončení + &7 výzva. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + required_entities: + name: "&f&l Požadované entity" + description: |- + &7 Umožňuje požadovanou změnu + &7 subjektů za to + &7 výzva k dokončení. + title: "&7 entity: " + list: " &8 - [number] x [entity]" + none: "&7 Entity nejsou přidány." + remove_blocks: + name: "&f&l Odebrat bloky" + description: |- + &7 Umožňuje přepínat, pokud + &7 požadovaných bloků bude + &7 být odstraněn ze světa + &7 po dokončení + &7 výzva. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + required_blocks: + name: "&f&l Požadované bloky" + description: |- + &7 Umožňuje požadovanou změnu + K tomu &7 bloků + &7 výzva k dokončení. + title: "&7 bloků: " + list: " &8 - [number] x [block]" + none: "&7 Bloky nejsou přidány." + search_radius: + name: "&f&l Poloměr hledání" + description: |- + &7 Umožňuje změnit poloměr + &7 kolem hráče, ze kterého + &7 bloků a/nebo entit + &7 zjištěno. + value: "&7 Aktuální vzdálenost: &e [number]" + remove_items: + name: "&f&l Odebrat položky" + description: |- + &7 Umožňuje přepínat, pokud + &7 požadovaných položek bude + &7 být odstraněn z inventáře + &7 po dokončení + &7 výzva. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + required_items: + name: "&f&l Požadované položky" + description: |- + &7 Umožňuje požadovanou změnu + &7 položek k tomu + &7 výzva k dokončení. + title: "&7 položek: " + list: " &8 - [number] x [item]" + none: "&7 Itemy nejsou přidány." + add_ignored_meta: + name: "&f&l Přidat Ignorovat metadata" + description: |- + &7 Umožňuje přidat které + &7 položky by měly být ignorovány + &7 jakákoli metadata, která + Je jim přiřazen &7. + title: "&7 Itemy: " + list: " &8 - [number] x [item]" + none: "&7 Položky nejsou přidány." + remove_ignored_meta: + name: "&f&l Odebrat Ignorovat metadata" + description: |- + &7 Umožňuje odstranit které + &7 položky by měly být ignorovány + &7 jakákoli metadata, která + Je jim přiřazen &7. + remove_experience: + name: "&f&l Odebrat zážitek" + description: |- + &7 Umožňuje přepínat, pokud + &7 požadované zkušenosti budou + &7 být odstraněn z přehrávače + &7 po dokončení + &7 výzva. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + required_experience: + name: "&f&l Požadované zkušenosti" + description: |- + &7 Umožňuje změnit + &7 požadované zkušenosti pro + &7 přehrávač. + value: "&7 Aktuální zkušenost: &e [number]" + required_level: + name: "&f&l Požadovaná úroveň ostrova" + description: |- + &7 Umožňuje změnit + &7 požadovaná úroveň ostrova + &7 za výzvu. + value: "&7 Aktuální úroveň: &e [number]" + remove_money: + name: "&f&l Odebrat peníze" + description: |- + &7 Umožňuje přepínat, pokud + &7 požadované peníze budou + &7 být odstraněn z přehrávače + &7 účet po dokončení + &7 výzva. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + required_money: + name: "&f&l Požadované peníze" + description: |- + &7 Umožňuje změnit + &7 vyžaduje od hráče peníze + &7 odpovídá za výzvu. + value: "&7 Aktuální hodnota: &e [number]" + statistic: + name: "&f&l Statistika" + description: |- + &7 Umožňuje změnit + Typ statistiky &7 + &7 se zapsal do této výzvy. + value: "&7 Aktuální hodnota: &e [statistic]" + statistic_amount: + name: "&f&l Cílová hodnota" + description: |- + &7 Umožňuje změnit + &7 statistická cílová hodnota + &7, které musí být splněny. + value: "&7 Aktuální hodnota: &e [number]" + remove_statistic: + name: "&f&l Snížit statistiku" + description: |- + &7 Umožňuje přepínat, pokud + &7 statistická hodnota bude + &7 se po dokončení sníží + &7 výzva. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + statistic_blocks: + name: "&f&l Cílový blok" + description: |- + &7 Umožňuje změnit + &7 statistický cílový blok. + value: "&7 Aktuální blok: &e [block]" + statistic_items: + name: "&f&l Cílová položka" + description: |- + &7 Umožňuje změnit + &7 statistická cílová položka. + value: "&7 Aktuální položka: &e [item]" + statistic_entities: + name: "&f&l Cílová entita" + description: |- + &7 Umožňuje změnit + &7 statistická cílová entita. + value: "&7 Aktuální entita: &e [entity]" + reward_text: + name: "&f&l Text odměny" + description: |- + &7 Konkrétní text odměny. + &7 Kódy barev musí být + &7 se na něj vztahovalo. + value: "&7 Aktuální text:" + repeat_reward_text: + name: "&f&l Opakovat text odměny" + description: |- + &7 Specifický text odměny za opakování + &7 za výzvu. Barva + Musí na něj být použity kódy &7. + value: "&7 Aktuální text:" + reward_items: + name: "&f&l Odměnové položky" + description: |- + &7 Umožňuje změnit odměnu + &7 položek. + title: "&7 položek: " + list: " &8 - [number] x [item]" + none: "&7 Položky nejsou přidány." + repeat_reward_items: + name: "&f&l Opakovat položky odměn" + description: |- + &7 Umožňuje změnit opakování + &7 odměn za to + &7 výzva. + title: "&7 Itemy: " + list: " &8 - [number] x [item]" + none: "&7 Položky nejsou přidány." + reward_experience: + name: "&f&l Zkušenosti s odměnou" + description: |- + &7 Umožňuje změnit + &7 zkušenost s odměnou za + &7 přehrávač. + value: "&7 Zkušenosti s odměnou: &e [number]" + repeat_reward_experience: + name: "&f&l Opakovat odměnu" + description: |- + &7 Umožňuje změnit + &7 opakování odměny + &7 pro hráče. + value: "&7 Zkušenosti s odměnou: &e [number]" + reward_money: + name: "&f&l Odměna" + description: |- + &7 Umožňuje změnit + &7 peníze na odměnu. + value: "&7 Aktuální hodnota: &e [number]" + repeat_reward_money: + name: "&f&l Opakovat odměnu" + description: |- + &7 Umožňuje změnit + &7 opakování peněz za odměnu + &7 za výzvu. + value: "&7 Aktuální hodnota: &e [number]" + reward_commands: + name: "&f&l Příkazy odměny" + description: |- + &7 Konkrétní příkazy k odměně. + &8 Tip: + &8 Příkaz nevyžaduje + &8 zapsat jako první `/` + &8 se použije automaticky. + &8 Ve výchozím nastavení budou příkazy + &8 spuštěný serverem. Však + &8 přidání „[SELF]“ na začátku + &8 umožní příkaz být + &8 provedená hráčem. To také + &8 podporuje jeden zástupný symbol + &8 `[player]` to bude + &8 nahrazeno jménem hráče + &8, kteří dokončili výzvu. + value: "&7 Aktuální příkazy:" + repeat_reward_commands: + name: "&f&l Opakovat příkazy odměny" + description: |- + &7 Konkrétní opakovací odměna + &7 příkazů pro výzvu. + &8 Tip: + &8 Příkaz nevyžaduje + &8 zapsat jako první `/` + &8 se použije automaticky. + &8 Ve výchozím nastavení budou příkazy + &8 spuštěný serverem. Však + &8 přidání „[SELF]“ na začátku + &8 umožní příkaz být + &8 provedená hráčem. To také + &8 podporuje jeden zástupný symbol + &8 `[player]` to bude + &8 nahrazeno jménem hráče + &8, kteří dokončili výzvu. + value: "&7 Aktuální příkazy:" + repeatable: + name: "&f&l Opakovatelné" + description: |- + &7 Umožňuje přepínat, pokud + &7 výzvou je + &7 opakovatelné. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + repeat_count: + name: "&f&l Počet opakování" + description: |- + &7 Umožňuje změnit + &7 počet opakování + &7 za výzvu. + value: "&7 Aktuální hodnota: &e [number]" + cool_down: + name: "&f&l Vychladnout" + description: |- + &7 Umožňuje změnit + &7 vychladnout sekund, že + Mezi tím je třeba počkat na &7 + &7 opakovatelná výzva + &7 dokončení. + value: "&7 Aktuální hodnota: &e [time]" + challenges: + name: "&f&l Výzvy" + description: |- + &7 Zobrazit přiřazené výzvy + &7 na úroveň. + waiver_amount: + name: "&f&l Částka prominutí" + description: |- + &7 Umožňuje nastavit číslo + &7 výzev, které mohou + &7 bude ponecháno nevyplněno pro + &7 odemknutí další úrovně. + value: "&7 Aktuální hodnota: &e [number]" + add_challenges: + name: "&f&l Přidat výzvu(-y)" + description: |- + &7 Umožňuje vybrat a + &7 přidává výzvy k + &7 úroveň. + remove_challenges: + name: "&f&l Odstranit výzvy" + description: |- + &7 Umožňuje vybrat a + &7 odstranit výzvy k + &7 úroveň. + reset_on_new: + name: "&f&l Resetovat na Nový" + description: |- + &7 Umožňuje přepínat, pokud + &7 výzvy by měly být + &7 se resetuje, když uživatel odejde + &7 ostrov nebo vytvoří nový + Ostrov &7. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + broadcast: + name: "&f&l Vysílat" + description: |- + &7 Vysílá výzva a + První dokončení úrovně &7 + &7 všem. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + remove_completed: + name: "&f&l Skrýt dokončené" + description: |- + &7 Skryje dokončené výzvy + &7 z nabídky. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + glow_completed: + name: "&f&l Záře dokončena" + description: |- + &7 Přidá okouzlující záři + &7 k dokončeným výzvám. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + store_history: + name: "&f&l Historie obchodu" + description: |- + &7 Ukládá interní historii + &7, když je každá výzva + &7 dokončeno. + &7 Aktuálně pouze k zobrazení + &7 v databázi. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + data_per_island: + name: "&f&l Obchod na ostrově" + description: |- + &7 Uloží dokončené + &7 výzev na ostrov. + &7 Průběh bude sdílen + &7 se všemi hráči v týmu. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + show_title: + name: "&f&l Zobrazit název" + description: |- + &7 Zobrazí název, když a + &7 výzva nebo úroveň + &7 je dokončena. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + gamemode_gui: + name: "&f&l GUI pro výběr herního režimu" + description: |- + &7 Povolí jediné GUI + &7 je k dispozici přes /challenges + příkaz &7. + &c Vyžaduje restart serveru. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + locked_level_icon: + name: "&f&l Výchozí ikona uzamčené úrovně" + description: |- + &7 Výchozí ikona pro všechny uzamčené + &7 úrovní. Každá úroveň se může změnit + &7 této ikony. + purge_history: + name: "&f&l Životnost historie" + description: |- + &7 Počet dní, jak dlouho + &7 data historie jsou uložena + &7 v uživatelských datech. + &7 0 znamená, že data budou + &7 nelze odstranit. + value: "&7 Aktuální hodnota: &e [number]" + title_showtime: + name: "&f&l Název Showtime" + description: |- + &7 Počet zaškrtnutí tohoto titulu + &7 se zobrazí přehrávači. + value: "&7 Aktuální hodnota: &e [number]" + active_world_list: + name: "&f&l Zobrazit pouze aktivní svět" + description: |- + &7 Pokud GUI pro výběr herního režimu + &7 je povoleno, může se přepínat + &7, pokud GUI zobrazuje výběr GameMode + &7 aneb výzvy pro současný svět. + &c Vyžaduje restart serveru. + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + visibility_mode: + name: "&f&l Režim viditelnosti" + description: |- + &7 Režim viditelnosti pro + &7 výzev, které jsou + &7 skrytý. + enabled: "&2" + disabled: "&C" + visible: Zobrazit viditelné výzvy + hidden: Zobrazit všechny výzvy + toggleable: Povolit přepínání + include_undeployed: + name: "&f&l Zahrnout nenasazené výzvy" + description: "&7 Označuje, zda není rozmístěno \n&7 výzvy by měly být \n&7 + se počítá do úrovně \n&7 dokončení." + enabled: "&2 Povoleno" + disabled: "&c Zakázáno" + download: + name: "&f&l Stáhnout knihovny" + description: |- + &7 K dispozici je ruční aktualizace + &7 vyzývá knihovny. + enabled: "&2 S vymazáním mezipaměti" + disabled: "&c Bez vymazání mezipaměti" + player: + name: "&f&l [name]" + description: "&7 Vlastník ostrova: [owner]" + members: "&7 Island Members:" + member: "&8 - [name]" + no-island: |- + &c Hráč nemá + &c ostrov. + player_list: + name: "&f&l Vyberte seznam uživatelů" + description: |- + &7 Vyberte seznam uživatelů + Mělo by se zobrazit &7. + enabled: "&2" + disabled: "&C" + online: Online hráči + with_island: Hráči s ostrovy + in_world: Hráči ve světě + add_block: + name: "&f&l Přidat blok" + description: |- + &7 Umožňuje přidat nový + &7 blokovat do seznamu. + remove_block: + name: "&f&l Odebrat blok" + description: |- + &7 Umožňuje odstranit + &7 vybraných bloků + &7 ze seznamů. + title: "&7 Vybrané materiály:" + material: "&8 - [material]" + material: + name: "&f&l [material]" + description: "&7 ID materiálu: [id]" + selected: "&2 Vybráno" + add_entity: + name: "&f&l Přidat entitu" + description: |- + &7 Umožňuje přidat nový + &7 entity do seznamu. + switch_entity: + name: "&f&l Přepnout vejce" + description: |- + &7 Umožňuje přepnout z + &7 vajec do hlav davů. + remove_entity: + name: "&f&l Odebrat entitu" + description: |- + &7 Umožňuje odstranit + &7 vybraných subjektů + &7 ze seznamů. + title: "&7 vybrané entity:" + entity: "&8 - [entity]" + entity: + name: "&f&l [entity]" + description: "&7 ID entity: [id]" + selected: "&2 Vybráno" + inventory_type: + name: "&f&l Typ inventáře" + description: |- + &7 Výzva, která kontroluje + &7 položek v inventáři hráče + island_type: + name: "&f&l Typ ostrova" + description: |- + &7 Výzva, která kontroluje + &7 bloků nebo entit kolem + Hráč &7. + other_type: + name: "&f&l Jiný typ" + description: |- + &7 Výzva, která využívá + &7 pluginy nebo doplňky, + &7 jako úroveň a peníze. + statistic_type: + name: "&f&l Typ statistiky" + description: |- + &7 Výzva, která kontroluje + Statistika hráče &7. + save: + name: "&f&l Uložit" + description: |- + &7 Uloží změny a + &7 se vrací. + cancel: + name: "&f&l Zrušit" + description: |- + &7 Zahodí změny a + &7 se vrací. + accept_selected: + name: "&f&l Přijmout vybrané" + description: |- + &7 Vrátí vybrané prvky + &7 a otevře předchozí GUI. + title: "&7 Vybráno: " + element: "&8 - [element]" + statistic_element: + name: "&f&l [statistic]" + description: "[description]" + environment_element: + name: "&f&l [environment]" + description: "[description]" + search: + name: "&f&l Hledat" + description: |- + &7 Umožňuje vyhledávat + &7 prvek se vstupem + textová hodnota &7. + search: "&b Hodnota: [value]" + tips: + click-to-select: "&e Klepnutím na &7 vyberte." + click-to-choose: "&e Klepnutím na &7 vyberte." + click-to-complete: "&e Dokončete kliknutím na &7." + right-click-multiple-open: "&e Klikněte pravým tlačítkem na &7 pro výběr počtu + dokončení." + shift-left-click-to-complete-all: "&e Shift Klepnutím na &7 vše dokončíte." + left-click-to-accept: "&e Klikněte levým tlačítkem &7 pro dokončení." + right-click-to-write: "&e Klikněte pravým tlačítkem na &7 pro psaní." + click-to-reduce: "&e Klikněte na &7 pro zmenšení." + click-to-increase: "&e Klikněte na &7 pro zvýšení." + click-to-return: "&e Klepnutím na &7 se vrátíte." + click-to-quit: "&e Klikněte na &7 pro ukončení." + click-to-wipe: "&e Klepnutím na &7 vymažete." + left-click-to-wipe: "&e Levým kliknutím &7 vymažete." + right-click-to-switch: "&e Klepnutím pravým tlačítkem na &7 přepnete." + click-to-open: "&e Klepnutím na &7 otevřete." + click-to-export: "&e Klepnutím na &7 exportujte." + click-to-create: "&e Klepnutím na &7 vytvořte." + left-click-to-open: "&e Levým tlačítkem otevřete &7." + right-click-to-reset-all: "&e Klikněte pravým tlačítkem na &7 pro vymazání všech." + click-to-toggle: "&e Klepnutím na &7 přepnete." + click-to-change: "&e Klikněte na &7 pro změnu." + shift-click-to-reset: "&e Shift Klepnutím na &7 resetujete." + click-to-add: "&e Klepnutím na &7 přidejte." + click-to-remove: "&e Klikni &7 pro odebrání." + left-click-to-cycle: "&e Levým kliknutím &7 přejdete dolů." + right-click-to-cycle: "&e Klikněte pravým tlačítkem na &7 pro přechod nahoru." + click-to-edit: "&e Klikni &7 pro editaci." + left-click-to-download: "&e Klikněte levým tlačítkem &7 pro stažení." + right-click-to-toggle: "&e Klepnutím pravým tlačítkem &7 přepnete." + click-to-install: "&e Klikni &7 pro instalaci." + click-to-reset-all: "&e klikni &7 pro resetování všeho." + right-click-to-select: "&e Klikni pravým tlačítkem na &7 pro výběr." + right-click-to-deselect: "&e Klikněte pravým tlačítkem na &7 pro zrušení výběru." + left-click-to-choose: "&e Levým tlačítkem vyberte &7." + click-to-cancel: "&e Klepnutím na &7 zrušíte." + click-to-save: "&e Klepnutím na &7 uložíte." + click-to-deselect: "&e Klepnutím na &7 zrušíte výběr." + click-on-item: |- + &e Klikněte na &7 na položku v + &7 váš inventář. + left-click-to-edit: "&e Levým tlačítkem myši &7 upravíte." + right-click-to-clear: "&e Klikněte pravým tlačítkem na &7 pro vymazání." + click-to-previous: "&e Klepnutím na &7 zobrazíte předchozí stránku." + click-to-next: "&e Klepnutím na &7 zobrazíte další stránku." descriptions: - admin: - input: Otevřít vstup tetového pole. - deployment: Umožňuje hráčům dokončit (zobrazit) výzvu. - icon-challenge: Ikona, která bude zobrazena v GUI panelech pro tuto výzvu. - icon-level: Ikona, která bude zobrazena v GUI panelech pro tuto úroveň. - remove-completed: Zapíná/vypíná skrývání výzev, které jsou dokončené a nelze - je opakovat. - toggle-user-list: Přepnout na jiný seznam hráčů. - selected: Zvoleno - show-eggs: Přepnout zobrazení mobů mezi spawnovacím vajíčkem nebo hlavou moba. - click-to-edit: "&4Klikni sem k editaci vstupu." - input-mode: Přepni mezi módem vstupu v chatu a kovadlině. - library-author: od &e[author] - library-lang: "&aJazyk: [lang]" - library-gamemode: "&aPrimárně pro [gamemode]" - download-disabled: Stahovač dat GitHub je v pluginu BentoBox zakázán. Bez - toho nemůžeš použít knihovny! - create-level: Umožňuje přidat novou úroveň. - edit-challenge: Umožňuje editovat nastavení jakékoliv výzvy. - edit-level: Umožňuje editovat nastavení jakékoliv úrovně. - delete-challenge: Umožňuje odstranit jakoukoliv výzvu. - delete-level: Umožňuje odstranit jakoukoliv úroveň. - settings: Umožňuje změnit nastavení doplňku. - properties: Umožňuje změnit obecné nastavení - requirements: Umožňuje spravovat požadavky - rewards: Umožňuje spravovat odměny - description: Umožňuje editovat popis. - order: Umožňuje změnit číslo pořadí. - environment: Umožňuje změnit prostředí, kde výzvy fungují. - name-challenge: Umožňuje změnit viditelné jméno výzvy. - name-level: Umožňuje změnit viditelné jméno úrovně. - remove-entities: Umožňuje odebrat (zabít) entity při dokončení výzvy. - remove-blocks: Umožňuje odebrat (nahradit vzduchem) bloky při dokončení výzvy. - search-radius: Radius okolo umístění hráče, kde se budou požadované entity - a bloky hledat. - reward-text: Umožňuje změnit zprávu, která se odešle hráči po dokončení výzvy. - repeatable: Umožňuje definovat, zda je výzva opakovatelná nebo ne. - free-at-top: Umožňuje změnit umístění výzvy zdarma. Skutečně to znamená, že - výzvy budou první, jinak poslední. - line-length: Umožňuje modifikovat maximální délku řádku příběhu. To neovlivní - uložené objekty. - level-lore: Umožňuje modifikovat, které položky popisu úrovně by měly být - viditelné. - challenge-lore: Umožňuje modifikovat, které položky popisu výzvy by měly být - viditelné. - gui-view-mode: Umožňuje nastavit, zda GUI /challenges má zobrazit herní módy - nebo výzvy ve světě hráče. - history-store: Umožňuje zapnout/vypnout ukládání historie výzev. - default-import: Umožňuje import výchozích výzev. - default-export: Umožňuje export existujících výzev do souboru defaults.json. - complete-wipe: Umožňuje kompletně vymazat všechny databáze výzev doplňku. - Zahrnuje data hráčů! - challenge-wipe: Umožňuje kompletně vymazat databáze výzev a jejich úrovní! - players-wipe: Umožňuje kompletně vymazat databázi hráčů! - library: Otevře GUI, které ukáže všechny dostupné veřejné knihovny výzev. - library-version: "&9Vytvořeno ve verzi Challenges [version]" - save: Uložit a vrátit se do předchozího GUI. - cancel: Vrátit se do předchozího GUI. Změny nebudou uloženy. - set: Operace nastavení. Klikání na čísla změní hodnotu na zvolené číslo. - increase: Operace zvýšení. Klikání na čísla zvýší hodnotu o zvolené číslo. - reduce: Operace snížení. Klikání na čísla sníží hodnotu o zvolené číslo. - multiply: Operace násobení. Klikání na čísla znásobí hodnotu zvoleným číslem. - challenges: Umožňuje spravovat úroveň výzev (přidat / odebrat). - locked-icon: Ikona, která bude zobrazena v GUI panelech, je-li úroveň zamčena. - remove-on-complete: Umožňuje odebrat výzvu z GUI hráče po jejím dokončení. - remove-items: Umožňuje odebrat předměty z inventáře hráče po dokončení výzvy. - required-experience: Umožňuje definovat požadované zkušenosti hráče pro dokončení - výzvy. - remove-experience: Umožňuje odebrat požadované zkušenosti. - reward-experience: Umožňuje změnit zkušenostní odměnu za první dokončení výzvy. - repeat-count: Umožňuje definovat maximální počet opakování. Pokud je hodnota - nastavena na 0 nebo nižší, pak nebude počet opakování limitován. - repeat-reward-text: Umožňuje změnit zprávu, která se odešle hráči po opakovaném - dokončení výzvy. - repeat-reward-experience: Umožňuje změnit zkušenostní odměnu za opakované - dokončení výzvy. - waiver-amount: Umožňuje nastavit, kolik výzev může zůstat nedokončených k - odemčení další úrovně. - reward-text-level: Umožňuje změnit zprávu, která se odešle hráči po dokončení - všech výzev v úrovni. - add-challenge: Umožňuje přidat existující výzvu do aktuální úrovně. - remove-challenge: Umožňuje odstranit jakoukoliv výzvu z aktuální úrovně. - reset-on-new: Zapíná/vypíná možnost, která resetuje všechny výzvy hráče, pokud - hráč restartuje ostrov, opustí ostrov nebo byl vykopnut. - broadcast: Zapíná/vypíná oznámení online hráčům o prvním dokončení výzvy. - glow: Zapíná/vypíná efekt záření pro dokončené výzvy. - mode-online: Hráči, kteří jsou aktuálně online. - mode-in-world: Hráči, kteří jsou ve světě tohoto herního módu. - mode-with-island: Hráči, kteří mají v tomto herním módu ostrov. - visibility-mode: Umožňuje přepnout, zda by se nezveřejněné výzvy měly zobrazovat - nebo ne. - edit-text-line: "&6 Edituj textovou zprávu!" - add-text-line: "&6 Přidej novou textovou zprávu!" - title-enable: Umožňuje zapnout/vypnout zprávu titulku, který se ukáže, když - hráč dokončí výzvu. - title-showtime: Umožňuje modifikovat, jak dlouho se bude zpráva titulku pro - hráče zobrazovat. - import: Umožňuje import výzev ze starého pluginu ASkyblock.|Klinkutí pravým - myšítkem zapíná/vypíná mód přepisování.|Vlož soubor Challenges.yml do složky - ./BentoBox/addons/Challenges. - complete: Umožňuje dokončit výzvy jakémukoliv hráči.|Hráči nedostanou odměnu - za dokončení. - reset: Umožňuje resetovat dokončené výzvy hráče.|Kliknutí pravým myšítkem - zapíná/vypíná funkci resetu všeho. - create-challenge: Umožňuje přidat novou výzvu.|Jako výchozí se objeví v seznamu - výzev zdarma. - required-entities: Umožňuje přidat/editovat/odebrat požadované entity.|Entity:| - required-blocks: Umožňuje přidat/editovat/odebrat požadované bloky.|Bloky:| - required-permissions: 'Požadovaná oprávnění hráče pro možnost dokončit výzvu.|Oprávnění:' - required-items: 'Požadované předměty v inventáři hráče.|Předměty:' - required-level: Umožňuje definovat požadovanou úroveň ostrova pro tuto výzvu.|&cVyžaduje - doplňek Level. - required-money: Umožňuje definovat požadované peníze v účtu hráče.|&cVyžaduje - pluginy Vault a Economy. - remove-money: Umožňuje odebrat pořadované peníze z účtu hráče.|&cVyžaduje - pluginy Vault a Economy. - reward-items: 'Umožňuje změnit odměnu za první dokončení výzvy.|Předměty:' - reward-money: Umožňuje změnit peněžní odměnu za první dokončení výzvy.|&cVyžaduje - pluginy Vault a Economy. - reward-commands: 'Umožňuje definovat příkazy odměny, které se vykonají po - prvním dokončení výzvy.|***Přidáním "[SELF]" na začátek znamená, že příkaz - bude proveden hráčem, např. "/kill"|***Řetězec "[player]" bude nahrazen - jménem hráče, např. "/kill [player]" bude nahrazen příkazem "/kill BONNe1704"|Příkazy:' - repeat-reward-items: 'Umožňuje změnit odměnu za opakované dokončení výzvy.|Předměty:' - repeat-reward-money: Umožňuje změnit peněžní odměnu za opakované dokončení - výzvy.|&cVyžaduje pluginy Vault a Economy. - repeat-reward-commands: 'Umožňuje definovat příkazy odměny, které se vykonají - po opakovaném dokončení výzvy.|***Přidáním "[SELF]" na začátek znamená, - že příkaz bude proveden hráčem, např. "/kill"|***Řetězec "[player]" bude - nahrazen jménem hráče, např. "/kill [player]" bude nahrazen příkazem "/kill - BONNe1704"|Příkazy:' - remove-selected: Odstranit zvolené položky.|Můžeš zvolit položky kliknutím - pravým myšítkem. - history-lifespan: Umožňuje modifikovat, kolik dní budou data historie uložena.|0 - znamená navždy. - island-store: Umožňuje zapnout/vypnout ukládání dat výzev dle ostrova. To - znamená, že výzvy budou stejné pro celý tým, pokud bude funkce zapnuta.|Toto - NEZKONVERTUJE data kliknutím. POSTUP BUDE ZTRACEN. - default-locked-icon: Umožňuje změnit výchozí ikonu zamčené úrovně.|Tato volba - může být přepsána každou úrovní. - gui-mode: Umožňuje zapnout/vypnout samostatné GUI výzev.|&2Vyžaduje restart - serveru. - download: Umožňuje manuálně aktualizovat dostupné knihovny výzev. |Klikni - pravým myšítkem k zapnutí čištění cache. - lore: - level: Řetězec úrovně. | Reprezentuje překlad 'challenges.gui.challenge-description.level'. - status: Řetězec statusu. | Reprezentuje překlad 'challenges.gui.challenge-description.completed'. - count: Řetězec počtu dončení. | Reprezentuje překlad pro 'challenges.gui.challenge-description.completed-times', 'challenges.gui.challenge-description.completed-times-of' - and 'challenges.gui.challenge-description.maxed-reached'. - description: Řetězec popisu. | Devinován v objektu výzev - challenge.description. - warnings: 'Řetězec varování. | Reprezentuje překlad pro: | ''challenges.gui.challenge-description.warning-items-take'' - | ''challenges.gui.challenge-description.objects-close-by'' | ''challenges.gui.challenge-description.warning-entities-kill'' - | ''challenges.gui.challenge-description.warning-blocks-remove''.' - environment: Řetězec prostředí. | Definován v objektu výzev - challenge.environment. - requirements: 'Řetězec požadavků. | Reprezentuje překlad pro: | ''challenges.gui.challenge-description.required-level'' - | ''challenges.gui.challenge-description.required-money'' | ''challenges.gui.challenge-description.required-experience'' - | and challenge.requiredItems, challenge.requiredBlocks or challenge.requiredEntities.' - reward_text: Řetězec odměn. | Definován v challenge.rewardText a challenge.repeatRewardText - reward_other: 'Řetězec ostatních odměn. | Reprezentuje překlad pro: | ''challenges.gui.challenge-description.experience-reward'' - | ''challenges.gui.challenge-description.money-reward'' | ''challenges.gui.challenge-description.not-repeatable''.' - reward_items: Předměty odměny. | Seznam předmětů, které budou odměněny, - je definován v challenge.rewardItems and challenge.repeatRewardItems. - reward_commands: Příkazy odměny. | Seznam příkazů, které budou odměněny, - je definován v challenge.rewardCommands and challenge.repeatRewardCommands. - level_status: Řetězec statusu. | Reprezentuje překlad 'challenges.gui.level-description.completed'. - challenge_count: Řetězec počtu dokončených výzev. | Reprezentuje překlad - pro 'challenges.gui.level-description.completed-challenges-of' - unlock_message: Řetězec zprávy odemčení. | Definován v objektu výzev Level - - challengeLevel.unlockMessage. - waiver_amount: Řetězec počtu povolených nedokončených výzev k odemčení další - úrovně. | Reprezentuje překlad pro 'challenges.gui.level-description.waver-amount' - level_reward_text: Řetězec odměn. | Definován v challengeLevel.rewardText - level_reward_other: 'Řetězec ostatních odměn. | Reprezentuje překlad pro: - | ''challenges.gui.level-description.experience-reward'' | ''challenges.gui.level-description.money-reward''.' - level_reward_items: Předměty odměny. | Seznam předmětů, které budou odměněny, - je definován v challengeLevel.rewardItems. - level_reward_commands: Příkazy odměny. | Seznam příkazů, které budou odměněny, - je definován v challengeLevel.rewardCommands. - enabled: Povoleno - disabled: Zakázáno - the-end: "- End" - nether: "- Nether" - normal: "- Svět" - entity: "- [entity] : [count]" - block: "- [block] : [count]" - permission: "- [permission]" - item: "- [count] x [item]" - item-meta: " ([meta])" - item-enchant: " - [enchant] [level]" - command: "- [command]" - level-unlocked: Klikni k zobrazení výzev [level]! - level-locked: Dokonči dalších [count] výzev [level] k odemčení další úrovně! - increase-by: "&aNavýšit počet dokončení o [value]" - reduce-by: "&cSnížit počet dokončení o [value]" - visibility: - hidden: Jen zveřejněné výzvy jsou viditelné. - visible: Všechny výzvy jsou pro všechny viditelné - toggleable: Umožňuje přepnout, zda by měly být nezveřejněné výzvy viditelné - type: - island: "&aUmožňuje požadovat bloky nebo moby okolo hráče" - other: "&aUmožňuje požadovat položky z ostatních pluginů/doplňků" - inventory: "&aUmožňuje požadovat předměty v inventáři hráče" - current-value: "|&6Nynější hodnota: [value]." - challenge-description: - completed-times-of: Dokončeno [donetimes] z [maxtimes] - maxed-reached: Dokončeno [donetimes] z [maxtimes] - completed-times: Dokončeno [donetimes] - objects-close-by: "&cVšechny požadované bloky a entity musí být blízko tebe - na tvém ostrově!" - warning-entities-kill: "&cVšechny požadované entity budou zabity po dokončení - této výzvy!" - warning-blocks-remove: "&cVšechny požadované blocks budou odstraněny po dokončení - této výzvy!" - not-repeatable: "&cTato výzva není opakovatelná!" - experience-reward: "&6Zkuš. odměna: [value]" - money-reward: "&6Peněžní odměna: $[value]" - required-experience: "&6Potřebné zkuš.: [value]" - required-money: "&6Potřebné peníze: $[value]" - required-island-level: "&6Potřebná úroveň ostrova: [value]" - environment: 'Požadovaná prostředí:' - reward-items: "&6Odměněné předměty:" - reward-commands: "&6Odměněné příkazy:" - required-items: 'Potřebné předměty:' - required-entities: 'Potřebné entity:' - required-blocks: 'Potřebné bloky:' - level: "&FÚroveň: [level]" - completed: "&BDokončeno" - warning-items-take: "&cVšechny požadované předměty budou po dokončení výzvy - odebrány!" - rewards-title: "&a Odměny:" - level-description: - experience-reward: "&6Zkuš. odměna: [value]" - money-reward: "&6Peněžní odměna: $[value]" - reward-items: "&6Odměněné předměty:" - reward-commands: "&6Odměněné příkazy:" - waver-amount: "&6Lze přeskočit [value] výzev k odemčení další úrovně." - completed: "&BDokončeno" - completed-challenges-of: "&3Dokončil jsi [number] z [max] výzev v této úrovni." - item-description: - item: "- [count] x [item]" - item-meta: " ([meta])" - item-enchant: " - [enchant] [level]" - item-name: " [name]" - item-lore: " Příběh přemětu:" - book-meta: " [title] od [author]" - recipe-count: " [count] receptů" - armor-color: " [color]" - potion-type-extended-upgraded: " Rozšířen a aktualizován [name]" - potion-type-upgraded: " Aktualizován [name]" - potion-type-extended: " Rozšířen [name]" - potion-type: " [name]" - custom-effects: " Vlastní efekty:" - potion-effect: " [effect] x [amplifier] na [duration]t" - skull-owner: " [owner]" - egg-meta: " [mob]" - fish-meta: " [body-color] s [pattern-color] [pattern]" - questions: - prefix: "&2[SERVER]: " - admin: - unique-id: Napište jedinečné ID objektu a stiskněte klávesu Enter. - number: Napiš číslo do chatu a stiskni Enter k přijetí a opět stiskni Enter. - challenge-name: Napiš do chatu zobrazované jméno pro aktuální výzvu. - level-name: Napiš do chatu zobrazované jméno pro aktuální úroveň. + challenge: + lore: |- + [description] + [status] + [cooldown] + [requirements] + [rewards] + status: + completed: "&2&l Dokončeno" + completed-times: "&2 Dokončeno &7&l [number] &r&2 čas(-y)" + completed-times-of: "&2 Dokončeno &7&l [number] &r&2 z &7&l [max] &r&2krát" + completed-times-reached: "&2&l Dokončeno vše &7 [max] &2krát" + cooldown: + lore: |- + [timeout] + [wait-time] + timeout: "&7&l Vychladnout: &r&7 [time]" + wait-time: "&c&l Dostupné po: &r&c [time]" + in-days: "[number] d " + in-hours: "[number] h " + in-minutes: "[number] min " + in-seconds: "[number] s" + requirements: + lore: |- + [environment] + [type-requirement] + [permissions] + environment-single: "&7 Omezeno na [environment]" + environment-title: "&7 Omezeno na: " + environment-list: " &7 - &e [environment]" + permission-single: "&c Vyžaduje oprávnění [permission]" + permissions-title: "&c Vyžaduje oprávnění: " + permissions-list: " &c - [permission]" + island: + lore: |- + [blocks] + [entities] + [search-radius] + [warning-block] + [warning-entity] + blocks-title: "&7&l Požadované bloky:" + block-value: " &7 - &e [material]" + blocks-value: " &7 - &e [number] x [material]" + entities-title: "&7&l Požadované entity:" + entity-value: " &7 - &e [entity]" + entities-value: " &7 - &e [number] x [entity]" + search-radius: "&7 Ne dále než &e [number] &7 metrů" + warning-block: "&e Bloky budou odstraněny &c" + warning-entity: "&e Entity budou &c odstraněny" + inventory: + lore: |- + [items] + [warning] + item-title: "&7&l Požadované položky:" + item-value: " &7 - &e [item]" + items-value: " &7 - &e [number] x [item]" + warning: "&e Položky budou odstraněny &c" + other: + lore: |- + [experience] + [experience-warning] + [money] + [money-warning] + [level] + experience: "&7&l Požadovaná zkušenost: &r&e [number]" + experience-warning: "&e Zkušenosti budou &c odstraněny" + money: "&7&l Požadované peníze: &r&e [number]" + money-warning: "&e Peníze budou odebrány &c" + level: "&7&l Požadovaná úroveň ostrova: &r&e [number]" + statistic: + lore: |- + [statistic] + [warning] + multiple-target: "&7&l [statistic]: &r&e [number] x [target]" + single-target: "&7&l [statistic]: &r&e [target]" + statistic: "&7&l [statistic] &r&e [number]" + warning: "&e Statistická data se sníží &c" + rewards: + lore: |- + Odměny &7&l: + [text] + [items] + [experience] + [money] + [commands] + item-title: "&7 Itemy:" + item-value: " &7 - &e [item]" + items-value: " &7 - &e [number] x [item]" + experience: "&7 Zkušenosti: &r&e [number]" + money: "&7 Peníze: &r&e [number]" + commands-title: "&7 příkazy:" + command: " &7 - &e [command]" + level: + lore: |- + [text] + [status] + [waiver] + [rewards] + status: + completed: "&2&l Dokončeno" + completed-challenges-of: |- + &2 Dokončeno &7&l [number] &r&2 z + &7&l [max] &r&2 výzvy. + locked: "&c&l Uzamčeno" + missing-challenges: |- + &7 [number] musí být další výzvy + Dokončeno &7 k odemknutí této úrovně. + waiver: |- + &7&l [number] výzva(-y) &r&7 může být + &7 přeskočeno k odemknutí další úrovně. + rewards: + lore: |- + Odměny &7&l: + [text] + [items] + [experience] + [money] + [commands] + item-title: "&7 Itemy:" + item-value: " &7 - &e [item]" + items-value: " &7 - &e [number] x [item]" + experience: "&7 Zkušenosti: &r&e [number]" + money: "&7 Peníze: &r&e [number]" + commands-title: "&7 příkazy:" + command: " &7 - &e [command]" + library: + author: "&7 od &e [autor]" + version: "&7 Made with Challenges &e [version]" + lang: "&7 Jazyk: &e [lang]" + gamemode: "&7 Primární pro &e [gamemode]" + conversations: + prefix: "&l&6 [BentoBox]: &r" + confirm-string: pravda, na, ano, potvrdit, y, platný, správný + deny-string: nepravdivý, vypnutý, ne, popřít, n, neplatný, nesprávný + cancel-string: zrušit + exit-string: zrušit, odejít, ukončit + cancelled: "&c Konverzace zrušena!" + input-number: "&e Zadejte prosím číslo do chatu." + input-seconds: "&e Zadejte prosím sekundy do chatu." + numeric-only: "&c Daná [value] není číslo!" + not-valid-value: "&c Dané číslo [value] není platné. Musí být větší než [min] + a menší než [max]!" + user-data-removed: "&a Všechna uživatelská data pro [gamemode] jsou vymazána + z databáze." + confirm-user-data-deletion: "&e Potvrďte prosím, že chcete vymazat databázi uživatelů + pro [gamemode]." + challenge-data-removed: "&a Všechna data výzev pro [gamemode] jsou vymazána + z databáze." + confirm-challenge-data-deletion: "&e Potvrďte prosím, že chcete vymazat databázi + výzev pro [gamemode]." + all-data-removed: "&a Všechna data doplňků pro [gamemode] jsou vymazána z databáze." + confirm-all-data-deletion: "&e Potvrďte, že chcete vymazat data doplňků pro [herní + režim]." + write-name: "&e Napiš prosím jméno do chatu." + new-object-created: "&a Je vytvořen nový objekt pro [gamemode]." + object-already-exists: "&c Objekt &7 [id] &c již existuje. Vyberte jiný název." + invalid-challenge: "&c Výzva [challenge] obsahuje neplatná data. Nelze jej nasadit!" + name-changed: "&a Úspěch, název byl aktualizován." + write-description: "&e Zadejte prosím nový popis v chatu a 'konec' na samostatném + řádku pro dokončení." + description-changed: "&a Úspěch, popis byl aktualizován." + write-permissions: "&e Zadejte prosím požadovaná oprávnění, jedno na každý řádek + v chatu, a dokončete ukončení na samostatném řádku." + permissions-changed: "&a Úspěch, oprávnění k výzvě byla aktualizována." + write-reward-text: "&e Zadejte prosím nový text odměny do chatu a dokončete ho + na samostatném řádku." + reward-text-changed: "&a Úspěch, text odměny byl aktualizován." + write-repeat-reward-text: "&e Zadejte prosím nový opakující se text odměny v chatu + a dokončete jej na samostatném řádku." + repeat-reward-text-changed: "&a Úspěch, text opakování odměny byl aktualizován." + write-reward-commands: "&e Zadejte prosím nový příkaz pro odměnu na řádek v chatu + a dokončete jej na samostatném řádku." + reward-commands-changed: "&a Úspěch, příkazy odměn byly aktualizovány." + write-repeat-reward-commands: "&e Zadejte prosím nový příkaz pro opakování odměny + na řádek v chatu a dokončete jej na samostatném řádku." + repeat-reward-commands-changed: "&a Úspěch, příkazy k opakování odměny byly aktualizovány." + challenge-removed: "&a Výzvy [challenge] pro [gamemode] jsou odstraněny z databáze." + confirm-challenge-deletion: "&e Potvrďte, že chcete odstranit [challenge] pro [gamemode] + z databáze." + level-removed: "&a Úroveň [level] pro [gamemode] je odstraněna z databáze." + confirm-level-deletion: "&e Potvrďte prosím, že chcete odstranit [level] pro + [gamemode] z databáze." + start-downloading: "&a Začíná stahování a import knihovny výzev." + written-text: "&a Vstupní text:" + confirm-data-replacement: "&e Potvrďte prosím, že chcete nahradit své stávající + výzvy novými." + new-challenges-imported: "&a Úspěch, byly importovány nové výzvy pro [gamemode]." + exported-file-name: "&e Zadejte prosím název souboru pro exportovaný databázový + soubor. (pro ukončení napište 'zrušit')" + database-export-completed: "&a Úspěch, export databáze pro [world] je dokončen. + Vygenerován soubor [file]." + file-name-exist: "&c Soubor s názvem '[id]' existuje. Nelze jej přepsat." + write-search: "&e Napište prosím hodnotu hledání. (pro ukončení napiš 'cancel')" + search-updated: "&a Hodnota vyhledávání byla aktualizována." titles: challenge-title: Úspěšně dokončeno challenge-subtitle: "[friendlyName]" level-title: Úspěšně dokončeno level-subtitle: "[friendlyName]" messages: - admin: - you-added: Přidal jsi jeden [thing] do výzvy - challenge-created: "[challenge]&r vytvořeno!" - completed: "&2Dokončil jsi výzvu [name] hráči [player]!" - already-completed: "&2Tato výzva již byla dokončena!" - reset: "&2Resetoval jsi výzvu [name] hráči [player]!" - reset-all: "&2Všechny výzvy hráče [player] jsou resetovány!" - not-completed: "&2Tato výzva ještě není dokončena!" - migrate-start: "&2Začít migrovat data doplňku Challenges." - migrate-not: "&2Všechna data jsou platná." - start-downloading: "&5Začínám stahovat a importovat knihovnu výzev." - migrate-end: "&2Data doplňku Challenges jsou aktualizována na nový formát." - hit-things: Bouchni do věcí pro jejich přidání do seznamu požadovaných věcí. - Klikni pravým myšítkem, jakmile budeš hotov. - complete-wipe: "&cDoufám, že máš zálohy, neboť jsi právě vyprázdnil všechny - databáze doplňku Challenges!" - challenge-wipe: "&cDoufám, že máš zálohy, neboť jsi právě vyprázdnil výzvy a - jejich úrovně z databází!" - players-wipe: "&cDoufám, že máš zálohy, neboť jsi právě vyprázdnil dokončené - výzvy hráčů z databází!" + completed: "&2 Dokončili jste výzvu [name] pro [player]!" + already-completed: "&2 Tato výzva již byla dokončena!" + reset: "&2 Resetoval jsi výzvu[name] hráči [player]!" + reset-all: "&2 Všechny [player] výzvy byly resetovány!" + not-completed: "&2 Tato výzva ještě není dokončena!" + migrate-start: "&2 Začněte migrovat data doplňků výzev." + migrate-end: Data doplňků &2 Challenges aktualizována na nový formát. + migrate-not: "&2 Všechna data jsou platná." + start-downloading: "&5 Začíná stahování a import knihovny výzev." you-completed-challenge: "&2Dokončil jsi výzvu [value]&r&2!" you-repeated-challenge: "&2Zopakoval jsi výzvu [value]&r&2!" you-repeated-challenge-multiple: "&2Zopakoval jsi výzvu [value] &r&2[count]x!" you-completed-level: "&2Dokončil jsi úroveň [value]&r&2!" name-has-completed-challenge: "&5[name] dokončil výzvu [value]&r&5!" name-has-completed-level: "&5[name] dokončil úroveň [value]&r&5!" - import-levels: Začínám importovat úrovně - import-challenges: Začínám importovat výzvy - no-levels: 'Varování: Žádné úrovně nejsu definovány v souboru challenges.yml' - import-number: Importováno [number] výzev load-skipping: '"[value]" již existuje - přeskakuji' load-overwriting: Přepisuji "[value]" load-add: 'Přidávám nový objekt: [value]' - defaults-file-overwrite: Soubor defaults.json existuje. Bude přepsán. - defaults-file-completed: Soubor defaults.json je naplněn výzvami ze světa [world]! errors: no-name: "&cChybějící název výzvy" unknown-challenge: "&cNeznámá výzva" - unique-id: '&cUnikátní ID "[id]" není platné.' - wrong-icon: '&cUvedený materiál "[value]" je neplatný a nelze jej použít jako - ikonu.' + not-valid-integer: '&cUvedené celé číslo "[value]" je neplatné!|Hodnota by měla + být mezi [min] a [max].' not-deployed: "&cVýzva není zveřejněna!" not-on-island: "&cK tomuto musíš být na svém ostrově!" + challenge-level-not-available: "&cNeodemkl jsi úroveň k dokončení této výzvy." not-repeatable: "&cTato výzva není opakovatelná!" + wrong-environment: "&cJsi ve špatném prostředí!" not-enough-items: "&cNemáš dostatek [items] k dokončení této výzvy!" not-close-enough: "&cMusíš stát alespoň [number] bloků od požadovaných položek." you-still-need: "&cStále potřebuješ [amount] x [item]" + missing-addon: "&cNelze dokončit výzvu. Vyžadovaný doplňek nebo plugin chybí." + incorrect: "&cNelze dokončit výzvu. Požadavky nejsou správně." not-enough-money: "&cJe důležité mít [value] na svém účtu k dokončení této výzvy." - import-no-file: "&cNelze najít soubor challenges.yml k importu!" + not-enough-experience: "&cJe důležité mít [value] zkuš. k dokončení této výzvy." + island-level: "&cÚroveň tvého ostrova musí být [number] k dokončení této výzvy!" no-load: "&cChyba: Nelze načíst soubor challenges.yml. [message]" load-error: "&cChyba: Nelze načíst [value]." - defaults-file-exist: "&cSoubor defaults.json již existuje. Použij mód přepsání - k jeho nahrazení!" - defaults-file-error: "&cVyskytla se chyba během vytváření souboru defaults.json! - Podívej se do konzole!" - missing-arguments: "&cPříkaz postrádá argumenty." - wrong-environment: "&cJsi ve špatném prostředí!" - missing-addon: "&cNelze dokončit výzvu. Vyžadovaný doplňek nebo plugin chybí." + no-rank: "&cNa toto nemáš hodnost." + cannot-remove-items: "&cNěkteré předměty nelze odebrat z tvého inventáře!" exist-challenges-or-levels: "&cVe tvém světě již existují výzvy. Nelze pokračovat!" no-challenges: "&cVýzvy nejsou v aktuálním světě implementovány!" no-challenges-admin: "&cVýzvy nejsou v aktuálním světě implementovány! Měl bys použít &5/[command] &ck jejich přidání!" - missing-level: "&cÚroveň výzev [level] není v databázi definována. To může způsobit - nějaké chyby!" + missing-arguments: "&cPříkaz postrádá argumenty." no-multiple-permission: "&cNemáš oprávnění k dokončení výzev vícekrát najednou." - not-a-integer: '&cUvedená hodnota "[value]" není celé číslo!' - challenge-level-not-available: "&cNeodemkl jsi úroveň k dokončení této výzvy." - incorrect: "&cNelze dokončit výzvu. Požadavky nejsou správně." - not-enough-experience: "&cJe důležité mít [value] zkuš. k dokončení této výzvy." - island-level: "&cÚroveň tvého ostrova musí být [number] k dokončení této výzvy!" - no-rank: "&cNa toto nemáš hodnost." - cannot-remove-items: "&cNěkteré předměty nelze odebrat z tvého inventáře!" - not-valid-integer: '&cUvedené celé číslo "[value]" je neplatné!|Hodnota by měla - být mezi [min] a [max].' invalid-level: "&c Level [level] obsahuje neplatná data. Nebude načten z databáze!" invalid-challenge: "&c Challenge [challenge] obsahuje neplatná data. Nebude načtena z databáze!" + no-library-entries: "&c Nelze najít žádné položky knihovny. Nic k zobrazení." + not-hooked: "&c Výzvy Addon nenašel žádný GameMode." + timeout: "&c Tato výzva vyžaduje mezi dokončeními čekat [timeout]. Musíte + počkat [wait-time], než to znovu dokončíte." + requirement-not-met: "&c Tato výzva vyžaduje, aby [statistic] měla [number]. Máte + pouze [hodnotu]. " + requirement-not-met-entity: "&c Tato výzva vyžaduje, aby [statistic] [entity] + měla [number]. Máte pouze [hodnotu]. " + requirement-not-met-material: "&c Tato výzva vyžaduje, aby [statistic] [material] + měl [number]. Máte pouze [hodnotu]. " protection: flags: CHALLENGES_ISLAND_PROTECTION: @@ -527,14 +1092,11 @@ protection: &5&odokončit výzvy name: Protekce výzev CHALLENGES_WORLD_PROTECTION: - name: Limitace výzev na ostrov - hint: Žádné výzvy mimo ostrov description: |- &5&oToto umožní zapnout/vypnout &5&opožadavky hráčů &5&obýt na jejich ostrově &5&ok dokončení výzvy. + name: Limitace výzev na ostrov + hint: Žádné výzvy mimo ostrov version: 11 -meta: - authors: - '0': BONNe diff --git a/src/main/resources/locales/de.yml b/src/main/resources/locales/de.yml index 2d65c5f..bc89377 100644 --- a/src/main/resources/locales/de.yml +++ b/src/main/resources/locales/de.yml @@ -649,6 +649,12 @@ challenges: visible: Zeigen Sie sichtbare Herausforderungen hidden: Alle Herausforderungen anzeigen toggleable: Umschalten zulassen + include_undeployed: + name: "&f&l Nicht bereitgestellte Herausforderungen einschließen" + description: "&7 Gibt an, ob nicht bereitgestellte \n&7 Herausforderungen + \n&7 für den Abschluss von Level \n&7 angerechnet werden sollen." + enabled: "&2 Aktiviert" + disabled: "&c Deaktiviert" download: name: "&f&l Bibliotheken herunterladen" description: |- @@ -851,7 +857,7 @@ challenges: environment-single: "&7 Limitiert auf [environment]" environment-title: "&7 Limitiert auf:" environment-list: " &7 - &e [environment]" - permission-single: "&c Requires [permissions] permission" + permission-single: "&c Erfordert die Berechtigung [permission]" permissions-title: "&c Erfordert Berechtigungen:" permissions-list: " &c - [permission]" island: @@ -998,9 +1004,9 @@ challenges: write-reward-commands: "&e Bitte geben Sie pro Zeile im Chat einen neuen Belohnungsbefehl ein und beenden Sie den Chat in einer eigenen Zeile." reward-commands-changed: "&a Erfolg, die Belohnungsbefehle wurden aktualisiert." - write-repeat-reward-commands: "&e Bitte geben Sie pro Zeile im Chat einen neuen - Belohnungswiederholungsbefehl ein und beenden Sie den Chat in einer eigenen - Zeile." + write-repeat-reward-commands: "&e Geben Sie bitte pro Zeile im Chat einen neuen + Befehl zur Wiederholung der Belohnung ein und klicken Sie zum Beenden auf „Beenden“ + in einer eigenen Zeile." repeat-reward-commands-changed: "&a Erfolg, die Wiederholungsbelohnungsbefehle wurden aktualisiert." challenge-removed: "&a Herausforderungen [challende] für [gamemode] wird aus der @@ -1098,6 +1104,12 @@ challenges: not-hooked: "&c Challenges Addon konnte keinen GameMode finden." timeout: "&c Diese Abfrage erfordert eine Wartezeit von [timeout] zwischen den Vervollständigungen. Sie müssen [wait-time] warten, bis Sie es erneut abschließen." + requirement-not-met: "&c Für diese Herausforderung muss [statistic] [number] haben. + Sie haben nur [value]." + requirement-not-met-entity: "&c Für diese Herausforderung muss [statistic] [entity] + über [number] verfügen. Sie haben nur [value]." + requirement-not-met-material: "&c Diese Herausforderung erfordert, dass [statistic] + [material] [number] hat. Sie haben nur [value]." protection: flags: CHALLENGES_ISLAND_PROTECTION: diff --git a/src/main/resources/locales/es.yml b/src/main/resources/locales/es.yml index 0d44f98..92e8ce0 100755 --- a/src/main/resources/locales/es.yml +++ b/src/main/resources/locales/es.yml @@ -1,49 +1,43 @@ --- meta: authors: - - BONne + - BONNE challenges: commands: admin: main: description: Comando de administrador principal. Abrir GUI. reload: - description: |- + description: >- Recargar desafíos desde la base de datos + El parámetro hard significa que el addon restablecerá la conexión a la base de datos. show: description: Imprime todos los desafíos en el chat que existen en este mundo. complete: description: Completar un desafío para un jugador. - parameters: " " + parameters: reset: description: Restablecer un desafío para un jugador. Si "challenge_id" se establece en "all", restableceran todos los desafíos. - parameters: " " + parameters: migrate: - description: Migrar los datos actuales de los desafíos del mundo del juego - al formato de almacenamiento 0.8.0. - create: - parameters: "" - description: Abre el GUI que permite crear desafío.. - surrounding: - parameters: "" - description: Crea un desafío envolvente. + description: Migrar los datos actuales de los desafíos del mundo del juego al + formato de almacenamiento 0.8.0. user: main: description: Abrir GUI de Desafíos. complete: description: Completa el desafío. - parameters: " [count]" - description: Este método abre el GUI de los desafíos. + parameters: [count] gui: titles: player-gui: "&0&l Menú de desafíos" gamemode-gui: "&0&l Seleccionar modo de juego" multiple-gui: "&0&l ¿Cuántas veces?" admin-gui: "&0&l Menú de administración de desafíos" - edit-challenge: "&0&l Editar [desafío]" - edit-level: "&0&l Editar [nivel]" + edit-challenge: "&0&l Editar [challenge]" + edit-level: "&0&l Editar [level]" settings: "&0&l Configuración" choose-challenge: "&0&l Elegir desafío" choose-level: "&0&l Elegir nivel" @@ -71,20 +65,20 @@ challenges: &7 o salir de GUI previous: name: "&f&l Página anterior" - description: "&7 Cambiar a &e [número] &7 página" + description: "&7 Cambiar a &e [number] &7 página" next: name: "&f&l Página siguiente" - description: "&7 Cambiar a &e [número] &7 página" + description: "&7 Cambiar a &e [number] &7 página" reduce: name: "&f&l Reducir" - description: "&7 Reducir en &e [número]" + description: "&7 Reducir en &e [number]" increase: name: "&f&l Aumento" - description: "&7 Aumentar en &e [número]" + description: "&7 Aumentar en &e [number]" accept: name: "&f&l completo" description: |- - &7 Completa el desafío &e [número] + &7 Completa el desafío &e [number] &7 veces) quit: name: "&f&l Salir" @@ -193,7 +187,7 @@ challenges: description: |- &7 Permite cambiar &7 el nombre para mostrar. - value: "&7 Actualmente: &r [nombre]" + value: "&7 Actualmente: &r [name]" remove_on_complete: name: "&f&l Ocultar después de finalizar" description: |- @@ -225,7 +219,7 @@ challenges: &7 Objetos con números iguales &7 serán ordenados por su &7 nombres de identificación únicos. - value: "&7 Orden actual: &e [número]" + value: "&7 Orden actual: &e [number]" icon: name: Icono &f&l description: |- @@ -243,7 +237,7 @@ challenges: &7 permisos para esto &7 desafío para ser completable. title: "&7 permisos:" - permission: " &8 - [permiso]" + permission: " &8 - [permission]" none: "&7 Los permisos no están establecidos." remove_entities: name: "&f&l Eliminar entidades" @@ -262,7 +256,7 @@ challenges: &7 entidades para esto &7 desafío para ser completable. title: "&7 entidades:" - list: " &8 - [número] x [entidad]" + list: " &8 - [number] x [entity]" none: "&7 Entidades no se agregan." remove_blocks: name: "&f&l Quitar bloques" @@ -281,7 +275,7 @@ challenges: &7 bloques para esto &7 desafío para ser completable. title: "&7 bloques:" - list: " &8 - [número] x [bloque]" + list: " &8 - [number] x [block]" none: "&7 bloques no se agregan." search_radius: name: "&f&l Radio de búsqueda" @@ -290,7 +284,7 @@ challenges: &7 alrededor del jugador del cual &7 bloques y/o entidades son &7 detectado. - value: "&7 Distancia actual: &e [número]" + value: "&7 Distancia actual: &e [number]" remove_items: name: "&f&l Eliminar elementos" description: |- @@ -308,7 +302,7 @@ challenges: &7 artículos para esto &7 desafío para ser completable. title: "&7 artículos:" - list: " &8 - [número] x [elemento]" + list: " &8 - [number] x [item]" none: "&7 Los artículos no se agregan." add_ignored_meta: name: "&f&l Agregar Ignorar metadatos" @@ -318,7 +312,7 @@ challenges: &7 cualquier metadato que Se les asigna &7. title: "&7 artículos:" - list: " &8 - [número] x [elemento]" + list: " &8 - [number] x [item]" none: "&7 Los artículos no se agregan." remove_ignored_meta: name: "&f&l Eliminar Ignorar metadatos" @@ -343,14 +337,14 @@ challenges: &7 Permite cambiar el &7 experiencia requerida para &7 el jugador. - value: "&7 Experiencia actual: &e [número]" + value: "&7 Experiencia actual: &e [number]" required_level: name: "&f&l Nivel de isla requerido" description: |- &7 Permite cambiar el &7 nivel de isla requerido &7 para el desafío. - value: "&7 Nivel actual: &e [número]" + value: "&7 Nivel actual: &e [number]" remove_money: name: "&f&l Quitar dinero" description: |- @@ -367,21 +361,21 @@ challenges: &7 Permite cambiar el &7 dinero requerido en el jugador &7 explica el desafío. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" statistic: name: "&f&l estadística" description: |- &7 Permite cambiar el &7 tipo de estadística que es &7 marcó este desafío. - value: "&7 Valor actual: &e [estadística]" + value: "&7 Valor actual: &e [statistic]" statistic_amount: name: "&f&l Valor objetivo" description: |- &7 Permite cambiar el &7 valor objetivo estadístico &7 que se debe cumplir. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" remove_statistic: name: "&f&l Reducir estadística" description: |- @@ -396,19 +390,19 @@ challenges: description: |- &7 Permite cambiar el &7 bloque objetivo estadístico. - value: "&7 Bloque actual: &e [bloque]" + value: "&7 Bloque actual: &e [block]" statistic_items: name: "&f&l Artículo de destino" description: |- &7 Permite cambiar el &7 elemento objetivo estadístico. - value: "&7 Artículo actual: &e [artículo]" + value: "&7 Artículo actual: &e [item]" statistic_entities: name: "&f&l entidad objetivo" description: |- &7 Permite cambiar el &7 entidad objetivo estadística. - value: "&7 Entidad actual: &e [entidad]" + value: "&7 Entidad actual: &e [entity]" reward_text: name: "&f&l Texto de recompensa" description: |- @@ -429,7 +423,7 @@ challenges: &7 Permite cambiar recompensa &7 artículos. title: "&7 artículos:" - list: " &8 - [número] x [elemento]" + list: " &8 - [number] x [item]" none: "&7 Los artículos no se agregan." repeat_reward_items: name: "&f&l Repetir artículos de recompensa" @@ -438,7 +432,7 @@ challenges: &7 artículos de recompensa por esto &7 desafío. title: "&7 artículos:" - list: " &8 - [número] x [elemento]" + list: " &8 - [number] x [item]" none: "&7 Los artículos no se agregan." reward_experience: name: Experiencia de recompensa &f&l @@ -446,27 +440,27 @@ challenges: &7 Permite cambiar el &7 experiencia de recompensa para &7 el jugador. - value: "&7 Experiencia de recompensa: &e [número]" + value: "&7 Experiencia de recompensa: &e [number]" repeat_reward_experience: name: "&f&l Repetir experiencia de recompensa" description: |- &7 Permite cambiar el &7 repetir experiencia de recompensa &7 para el jugador. - value: "&7 Experiencia de recompensa: &e [número]" + value: "&7 Experiencia de recompensa: &e [number]" reward_money: name: "&f&l Recompensa en dinero" description: |- &7 Permite cambiar el &7 dinero de recompensa. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" repeat_reward_money: name: "&f&l repetir dinero de recompensa" description: |- &7 Permite cambiar el &7 repetir dinero de recompensa &7 para el desafío. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" reward_commands: name: "&f&l Comandos de recompensa" description: |- @@ -481,7 +475,7 @@ challenges: &8 permitirá que el comando sea &8 ejecutado por el jugador. También &8 admite un marcador de posición - &8 `[jugador]` que será + &8 `[player]` que será &8 reemplazado con el nombre de un jugador &8 que completó el desafío. value: "&7 Comandos actuales:" @@ -500,7 +494,7 @@ challenges: &8 permitirá que el comando sea &8 ejecutado por el jugador. También &8 admite un marcador de posición - &8 `[jugador]` que será + &8 `[player]` que será &8 reemplazado con el nombre de un jugador &8 que completó el desafío. value: "&7 Comandos actuales:" @@ -518,7 +512,7 @@ challenges: &7 Permite cambiar el &7 número de repeticiones &7 para el desafío. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" cool_down: name: "&f&l enfriamiento" description: |- @@ -527,7 +521,7 @@ challenges: &7 debe esperarse entre &7 desafío repetible &7 finalizaciones. - value: "&7 Valor actual: &e [hora]" + value: "&7 Valor actual: &e [time]" challenges: name: Desafíos &f&l description: |- @@ -540,7 +534,7 @@ challenges: &7 de desafíos que pueden &7 quedará sin completar durante &7 desbloqueando el siguiente nivel. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" add_challenges: name: "&f&l Agregar desafío(s)" description: |- @@ -635,13 +629,13 @@ challenges: &7 en datos de usuario. &7 0 significa que los datos &7 no se eliminará. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" title_showtime: name: "&f&l Título Showtime" description: |- &7 Número de ticks de ese título &7 se mostrará al jugador. - value: "&7 Valor actual: &e [número]" + value: "&7 Valor actual: &e [number]" active_world_list: name: "&f&l Mostrar sólo mundo activo" description: |- @@ -680,10 +674,10 @@ challenges: enabled: "&2 Con borrado de caché" disabled: "&c Sin borrar caché" player: - name: "&f&l [nombre]" - description: "&7 Propietario de la isla: [propietario]" + name: "&f&l [name]" + description: "&7 Propietario de la isla: [owner]" members: "&7 miembros de la isla:" - member: "&8 - [nombre]" + member: "&8 - [name]" no-island: |- &c El jugador no tiene &c una isla. @@ -731,9 +725,9 @@ challenges: &7 entidades seleccionadas &7 de listas. title: "&7 entidades seleccionadas:" - entity: "&8 - [entidad]" + entity: "&8 - [entity]" entity: - name: "&f&l [entidad]" + name: "&f&l [entity]" description: "&7 ID de entidad: [id]" selected: "&2 seleccionado" inventory_type: @@ -774,29 +768,25 @@ challenges: &7 Devuelve elementos seleccionados &7 y abre la GUI anterior. title: "&7 seleccionado:" - element: "&8 - [elemento]" + element: "&8 - [element]" statistic_element: - name: "&f&l [estadística]" - description: "[descripción]" + name: "&f&l [statistic]" + description: "[description]" environment_element: - name: "&f&l [medio ambiente]" - description: "[descripción]" + name: "&f&l [environment]" + description: "[description]" search: name: "&f&l Buscar" description: |- &7 Permite buscar un &7 elemento con entrada &7 valor de texto. - search: "&b Valor: [valor]" - admin: - backward: Importar desafios 0.3.0 - backward-player: Arreglar 0.3.0 PlayerData + search: "&b Valor: [value]" tips: click-to-select: "&e Haga clic en &7 para seleccionar." click-to-choose: "&e Haga clic en &7 para elegir." click-to-complete: "&e Haga clic en &7 para completar." - right-click-multiple-open: "&e Haga clic derecho en &7 para elegir el recuento - de finalización." + right-click-multiple-open: "&e Haga clic derecho en &7 para elegir el recuento de finalización." shift-left-click-to-complete-all: "&e Shift Haga clic en &7 para completar todo." left-click-to-accept: "&e Haga clic izquierdo en &7 para completar." right-click-to-write: "&e Haga clic derecho en &7 para escribir." @@ -840,140 +830,134 @@ challenges: descriptions: challenge: lore: |- - [descripción] - [estado] - [enfriarse] - [requisitos] - [recompensas] + [description] + [status] + [cooldown] + [requirements] + [rewards] status: completed: "&2&l completado" - completed-times: "&2 completado &7&l [número] &r&2 vez(-s)" - completed-times-of: "&2 completado &7&l [número] &r&2 de &7&l [máx.] &r&2 - veces" + completed-times: "&2 completado &7&l [number] &r&2 vez(-s)" + completed-times-of: "&2 completado &7&l [number] &r&2 de &7&l [max] &r&2 veces" completed-times-reached: "&2&l Completado todo &7 [max] &2 veces" cooldown: lore: |- - [se acabó el tiempo] - [tiempo de espera] - timeout: "&7&l Enfriamiento: &r&7 [tiempo]" - wait-time: "&c&l Disponible después de: &r&c [hora]" - in-days: "[número] d" - in-hours: "[número] h" - in-minutes: "[número] min" - in-seconds: "[número] s" + [timeout] + [wait-time] + timeout: "&7&l Enfriamiento: &r&7 [time]" + wait-time: "&c&l Disponible después de: &r&c [time]" + in-days: "[number] d" + in-hours: "[number] h" + in-minutes: "[number] min" + in-seconds: "[number] s" requirements: lore: |- - [ambiente] - [tipo-requisito] - [permisos] - environment-single: "&7 Limitado a [entorno]" + [environment] + [type-requirement] + [permissions] + environment-single: "&7 Limitado a [environment]" environment-title: "&7 Limitado a:" - environment-list: " &7 - &e [entorno]" - permission-single: "&c Requiere permiso [permiso]" + environment-list: " &7 - &e [environment]" + permission-single: "&c Requiere permiso [permission]" permissions-title: "&c Requiere permisos:" - permissions-list: " &c - [permiso]" + permissions-list: " &c - [permission]" island: lore: |- - [bloques] - [entidades] - [radio de búsqueda] - [bloque de advertencia] - [entidad de advertencia] + [blocks] + [entities] + [search-radius] + [warning-block] + [warning-entity] blocks-title: "&7&l Bloques requeridos:" block-value: " &7 - &e [material]" - blocks-value: " &7 - &e [número] x [material]" + blocks-value: " &7 - &e [number] x [material]" entities-title: "&7&l Entidades requeridas:" - entity-value: " &7 - &e [entidad]" - entities-value: " &7 - &e [número] x [entidad]" - search-radius: "&7 No más allá de &e [número] &7 metros" + entity-value: " &7 - &e [entity]" + entities-value: " &7 - &e [number] x [entity]" + search-radius: "&7 No más allá de &e [number] &7 metros" warning-block: "&e Los bloques serán &c eliminados" warning-entity: "&e Entidades serán &c eliminadas" inventory: lore: |- - [elementos] - [advertencia] + [items] + [warning] item-title: "&7&l Elementos necesarios:" - item-value: " &7 - &e [artículo]" - items-value: " &7 - &e [número] x [elemento]" + item-value: " &7 - &e [item]" + items-value: " &7 - &e [number] x [item]" warning: "& los artículos serán &c eliminados" other: lore: |- - [experiencia] - [experiencia-advertencia] - [dinero] - [advertencia de dinero] - [nivel] - experience: "&7&l Experiencia requerida: &r&e [número]" + [experience] + [experience-warning] + [money] + [money-warning] + [level] + experience: "&7&l Experiencia requerida: &r&e [number]" experience-warning: "&e experiencia será &c eliminada" - money: "&7&l Dinero requerido: &r&e [número]" + money: "&7&l Dinero requerido: &r&e [number]" money-warning: "&e dinero será &c eliminado" - level: "&7&l Nivel de isla requerido: &r&e [número]" + level: "&7&l Nivel de isla requerido: &r&e [number]" statistic: lore: |- - [estadística] - [advertencia] - multiple-target: "&7&l [estadística]: &r&e [número] x [objetivo]" - single-target: "&7&l [estadística]: &r&e [objetivo]" - statistic: "&7&l [estadística] &r&e [número]" + [statistic] + [warning] + multiple-target: "&7&l [statistic]: &r&e [number] x [target]" + single-target: "&7&l [statistic]: &r&e [target]" + statistic: "&7&l [statistic] &r&e [number]" warning: "&e Los datos estadísticos serán &c reducidos." rewards: lore: |- &7&l Recompensas: - [texto] - [elementos] - [experiencia] - [dinero] - [comandos] + [text] + [items] + [experience] + [money] + [commands] item-title: "&7 artículos:" - item-value: " &7 - &e [artículo]" - items-value: " &7 - &e [número] x [elemento]" - experience: "&7 Experiencia: &r&e [número]" - money: "&7 Dinero: &r&e [número]" + item-value: " &7 - &e [item]" + items-value: " &7 - &e [number] x [item]" + experience: "&7 Experiencia: &r&e [number]" + money: "&7 Dinero: &r&e [number]" commands-title: "&7 comandos:" - command: " &7 - &e [comando]" + command: " &7 - &e [command]" level: lore: |- - [texto] - [estado] - [exención] - [recompensas] + [text] + [status] + [waiver] + [rewards] status: completed: "&2&l completado" completed-challenges-of: |- - &2 completado &7&l [número] &r&2 de - &7&l [máx.] &r&2 desafíos. + &2 completado &7&l [number] &r&2 de + &7&l [max] &r&2 desafíos. locked: "&c&l bloqueado" missing-challenges: |- - &7 [número] más desafíos deben ser + &7 [number] más desafíos deben ser &7 completado para desbloquear este nivel. waiver: |- - &7&l [número] desafío(s) &r&7 puede ser + &7&l [number] desafío(s) &r&7 puede ser &7 se saltó para desbloquear el siguiente nivel. rewards: lore: |- &7&l Recompensas: - [texto] - [elementos] - [experiencia] - [dinero] - [comandos] + [text] + [items] + [experience] + [money] + [commands] item-title: "&7 artículos:" - item-value: " &7 - &e [artículo]" - items-value: " &7 - &e [número] x [elemento]" - experience: "&7 Experiencia: &r&e [número]" - money: "&7 Dinero: &r&e [número]" + item-value: " &7 - &e [item]" + items-value: " &7 - &e [number] x [item]" + experience: "&7 Experiencia: &r&e [number]" + money: "&7 Dinero: &r&e [number]" commands-title: "&7 comandos:" - command: " &7 - &e [comando]" + command: " &7 - &e [command]" library: - author: "&7 por &e [autor]" - version: "&7 Hecho con desafíos &e [versión]" - lang: "&7 Idioma: &e [idioma]" - gamemode: "&7 Principal para &e [modo de juego]" - admin: - backward: Permite importar desafíos desde 0.3.0 y por debajo de la versión - adicional. - backward-player: Permite corregir PlayerData dañado desde la versión 0.3.0|&2ÚSELO - SOLO SI ES NECESARIO|&2PUEDE NO TRABAJAR EN TODAS LAS SITUACIONES + author: "&7 por &e [author]" + version: "&7 Hecho con desafíos &e [version]" + lang: "&7 Idioma: &e [lang]" + gamemode: "&7 Principal para &e [gamemode]" conversations: prefix: "&l&6 [BentoBox]: &r" confirm-string: verdadero, activado, sí, confirmar, y, válido, correcto @@ -983,32 +967,30 @@ challenges: cancelled: "&c ¡Conversación cancelada!" input-number: "&e Por favor ingresa un número en el chat." input-seconds: "&e Por favor ingrese unos segundos en el chat." - numeric-only: "&c ¡El [valor] dado no es un número!" - not-valid-value: "&c El número dado [valor] no es válido. ¡Debe ser mayor que + numeric-only: "&c ¡El [value] dado no es un número!" + not-valid-value: "&c El número dado [value] no es válido. ¡Debe ser mayor que [min] y menor que [max]!" - user-data-removed: "&a Todos los datos del usuario para [modo de juego] se borran - de la base de datos." + user-data-removed: "&a Todos los datos del usuario para [gamemode] se borran de + la base de datos." confirm-user-data-deletion: "&e Confirme que desea borrar la base de datos de - usuarios para [modo de juego]." - challenge-data-removed: "&a Todos los datos de los desafíos para [modo de juego] - se borran de la base de datos." + usuarios para [gamemode]." + challenge-data-removed: "&a Todos los datos de los desafíos para [gamemode] se + borran de la base de datos." confirm-challenge-data-deletion: "&e Confirme que desea borrar la base de datos - de desafíos para [modo de juego]." - all-data-removed: "&a Todos los datos adicionales para [modo de juego] se borran - de la base de datos." - confirm-all-data-deletion: "&e Confirme que desea borrar los datos adicionales - para [modo de juego]." + de desafíos para [gamemode]." + all-data-removed: "&a Todos los datos adicionales para [gamemode] se borran de + la base de datos." + confirm-all-data-deletion: "&e Confirme que desea borrar los datos adicionales para [gamemode]." write-name: "&e Por favor escribe un nombre en el chat." - new-object-created: "&Se crea un nuevo objeto para [modo de juego]." + new-object-created: "&Se crea un nuevo objeto para [gamemode]." object-already-exists: "&c El objeto &7 [id] &c ya existe. Elija un nombre diferente." - invalid-challenge: "&c Desafío [desafío] contiene datos no válidos. ¡No se puede - desplegar!" + invalid-challenge: "&c Desafío [challenge] contiene datos no válidos. ¡No se puede desplegar!" name-changed: "&a Éxito, se actualizó el nombre." write-description: '&e Ingrese una nueva descripción en el chat y "salir" en una línea sola para finalizar.' description-changed: "&a Éxito, se actualizó la descripción." - write-permissions: '&e Ingrese los permisos requeridos, uno por línea en el chat, - y "salga" en una línea sola para finalizar.' + write-permissions: '&e Ingrese los permisos requeridos, uno por línea en el + chat, y "salga" en una línea sola para finalizar.' permissions-changed: "&a Éxito, se actualizaron los permisos de desafío." write-reward-text: '&e Ingrese un nuevo texto de recompensa en el chat y "salir" en una línea aparte para finalizar.' @@ -1019,28 +1001,24 @@ challenges: write-reward-commands: '&e Ingrese un nuevo comando de recompensa por línea en el chat y "salga" en una línea sola para finalizar.' reward-commands-changed: "&a Éxito, se actualizaron los comandos de recompensa." - write-repeat-reward-commands: '&e Ingrese un nuevo comando de recompensa repetida - por línea en el chat y "salga" en una línea sola para finalizar.' - repeat-reward-commands-changed: "&a Éxito, se actualizaron los comandos de recompensa - repetida." - challenge-removed: "&a Los desafíos [desafío] para [modo de juego] se eliminan + write-repeat-reward-commands: '&e Ingrese un nuevo comando de recompensa + repetida por línea en el chat y "salga" en una línea sola para finalizar.' + repeat-reward-commands-changed: "&a Éxito, se actualizaron los comandos de recompensa repetida." + challenge-removed: "&a Los desafíos [challenge] para [gamemode] se eliminan de + la base de datos." + confirm-challenge-deletion: "&e Confirme que desea eliminar [challenge] para + [gamemode] de la base de datos." + level-removed: "&a Nivel [level] para [gamemode] se elimina de la base de datos." + confirm-level-deletion: "&e Confirme que desea eliminar [level] para [gamemode] de la base de datos." - confirm-challenge-deletion: "&e Confirme que desea eliminar [desafío] para [modo - de juego] de la base de datos." - level-removed: "&a Nivel [nivel] para [modo de juego] se elimina de la base de - datos." - confirm-level-deletion: "&e Confirme que desea eliminar [nivel] para [modo de - juego] de la base de datos." start-downloading: "&a Comenzando a descargar e importar la biblioteca de desafíos." written-text: "&un texto de entrada:" - confirm-data-replacement: "&e Confirme que desea reemplazar sus desafíos actuales - por uno nuevo." - new-challenges-imported: "&a Éxito, se importaron nuevos desafíos para [modo de - juego]." + confirm-data-replacement: "&e Confirme que desea reemplazar sus desafíos actuales por uno nuevo." + new-challenges-imported: "&a Éxito, se importaron nuevos desafíos para [gamemode]." exported-file-name: "&e Introduzca un nombre de archivo para el archivo de base de datos exportado. (escriba 'cancelar' para salir)" database-export-completed: "&a Éxito, se completó la exportación de la base de - datos para [mundo]. Archivo [archivo] generado." + datos para [world]. Archivo [file] generado." file-name-exist: "&c Existe un archivo con el nombre '[id]'. No se puede sobrescribir." write-search: "&e Por favor escriba un valor de búsqueda. (escriba 'cancelar' para salir)" @@ -1051,10 +1029,10 @@ challenges: level-title: Completado con éxito level-subtitle: "[friendlyName]" messages: - completed: "&2 ¡Has completado el desafío [nombre] para [jugador]!" + completed: "&2 ¡Has completado el desafío [name] para [player]!" already-completed: "&2 ¡Este desafío ya se completó!" - reset: "&2 ¡Reiniciaste el desafío [nombre] para [jugador]!" - reset-all: "&2 ¡Todos los desafíos [de jugador] fueron reiniciados!" + reset: "&2 ¡Reiniciaste el desafío [name] para [player]!" + reset-all: "&2 ¡Todos los desafíos [player] fueron reiniciados!" not-completed: "&2 ¡Este desafío aún no se ha completado!" migrate-start: "&2 Comenzar a migrar datos del complemento de desafíos." migrate-end: Datos del complemento &2 Challenges actualizados al nuevo formato. @@ -1062,24 +1040,22 @@ challenges: start-downloading: "&5 Comenzando a descargar e importar la biblioteca de desafíos." you-completed-challenge: "&2¡Has completado el desafío [value]!" you-repeated-challenge: "&2¡Has repetido el desafío [value]!" - you-repeated-challenge-multiple: "&2¡Has repetido el &r&2desafío [value] [count] - veces!" + you-repeated-challenge-multiple: "&2¡Has repetido el &r&2desafío [value] [count] veces!" you-completed-level: "&2¡Has completado el nivel [value]!" name-has-completed-challenge: "&5¡[name] ha completado el desafío [value]!" name-has-completed-level: "&5¡[name] ha completado el nivel [value]!" load-skipping: '"[value]" ya existe - saltando' load-overwriting: Sobrescribiendo "[value]" - load-add: 'Añadiendo nuevo objeto: [value]' + load-add: "Añadiendo nuevo objeto: [value]" errors: no-name: "&cFalta el nombre del desafío" unknown-challenge: "&cDesafío desconocido" not-valid-integer: |- - &c ¡El entero "[valor]" dado no es válido! + &c ¡El entero "[value]" dado no es válido! El valor debe estar entre [min] y [max]. not-deployed: "&c¡El desafío no está desplegado!" not-on-island: "&c¡Debes estar en tu isla para hacer eso!" - challenge-level-not-available: "&cNo has desbloqueado el nivel requerido para - completar este desafío." + challenge-level-not-available: "&cNo has desbloqueado el nivel requerido para completar este desafío." not-repeatable: "&c¡Este reto no es repetible!" wrong-environment: "&c¡Estás en el entorno equivocado!" not-enough-items: "&c¡No tienes [items] suficientes para completar este desafío!" @@ -1088,8 +1064,7 @@ challenges: you-still-need: "&cTodavía necesitas [amount] x [item]" missing-addon: "&cNo se puede completar el desafío: falta un addon o plugin requerido." incorrect: "&cNo se puede completar el desafío: los requisitos son incorrectos." - not-enough-money: "&cEs necesario tener [value] en tu cuenta para completar el - desafío." + not-enough-money: "&cEs necesario tener [value] en tu cuenta para completar el desafío." not-enough-experience: "&cEs necesario tener [value] EXP para completar este desafío." island-level: "&c¡Tu isla debe ser de nivel [number] o mayor para completar este desafío!" @@ -1097,29 +1072,26 @@ challenges: load-error: "&cError: No se pudo cargar [value]." no-rank: "&cNo tienes un rango lo suficientemente alto como para hacer eso." cannot-remove-items: "&c¡Algunos items no se pueden eliminar de tu inventario!" - exist-challenges-or-levels: "&cLos desafíos ya existen en tu mundo. ¡No se puede - proceder!" + exist-challenges-or-levels: "&cLos desafíos ya existen en tu mundo. ¡No se puede proceder!" no-challenges: "&c¡Los desafíos aún no se han implementado en este mundo!" no-challenges-admin: "&c¡Los desafíos aún no se han implementado en este mundo! ¡Usa &5/[command] &cpara agregarlos!" missing-arguments: "&cFaltan argumentos de comando." - no-multiple-permission: "&cNo tienes permiso para completar este desafío varias - veces a la vez." - invalid-level: "&c El nivel [nivel] contiene datos no válidos. ¡No se cargará + no-multiple-permission: "&cNo tienes permiso para completar este desafío varias veces a la vez." + invalid-level: "&c El nivel [level] contiene datos no válidos. ¡No se cargará desde la base de datos!" - invalid-challenge: "&c Desafío [desafío] contiene datos no válidos. ¡No se cargará - desde la base de datos!" - no-library-entries: "&c No se pueden encontrar entradas de la biblioteca. Nada - que mostrar." + invalid-challenge: "&c Desafío [challenge] contiene datos no válidos. ¡No se + cargará desde la base de datos!" + no-library-entries: "&c No se pueden encontrar entradas de la biblioteca. Nada que mostrar." not-hooked: "&c Challenges Addon no pudo encontrar ningún modo de juego." - timeout: "&c Este desafío requiere esperar [tiempo de espera] entre finalizaciones. - Debes esperar [tiempo de espera] hasta completarlo nuevamente." - requirement-not-met: "&c Este desafío requiere que [estadística] tenga [número]. - Solo tienes [valor]." - requirement-not-met-entity: "&c Este desafío requiere que [estadística] [entidad] - tenga [número]. Solo tienes [valor]." - requirement-not-met-material: "&c Este desafío requiere que [estadística] [material] - tenga [número]. Solo tienes [valor]." + timeout: "&c Este desafío requiere esperar [timeout] entre finalizaciones. Debes + esperar [wait-time] hasta completarlo nuevamente." + requirement-not-met: "&c Este desafío requiere que [statistic] tenga [number]. + Solo tienes [value]." + requirement-not-met-entity: "&c Este desafío requiere que [statistic] [entity] + tenga [number]. Solo tienes [value]." + requirement-not-met-material: "&c Este desafío requiere que [statistic] + [material] tenga [number]. Solo tienes [value]." protection: flags: CHALLENGES_ISLAND_PROTECTION: @@ -1128,8 +1100,8 @@ protection: &5&ocompletar desafíos name: Proteccion de desafios CHALLENGES_WORLD_PROTECTION: - description: "&5&oHabilitar/deshabilitar &5&orequerimiento para que los jugadores - &5&o esten en su isla para &5&ocompletar un desafío." + description: "&5&oHabilitar/deshabilitar &5&orequerimiento para que los + jugadores &5&o esten en su isla para &5&ocompletar un desafío." name: Limitaciones de la isla hint: No hay desafíos fuera de la isla -version: 11 +version: 12 diff --git a/src/main/resources/locales/fr.yml b/src/main/resources/locales/fr.yml index c831ca9..6efac2a 100644 --- a/src/main/resources/locales/fr.yml +++ b/src/main/resources/locales/fr.yml @@ -33,7 +33,7 @@ challenges: gamemode-gui: "&0&l Sélectionner le mode de jeu" multiple-gui: "&0&l Combien de fois ?" admin-gui: "&0&l Menu d'administration des Challenges" - edit-challenge: "&0&l Editer [Challenge]" + edit-challenge: "&0&l Editer [challenge]" edit-level: "&0&l Editer [level]" settings: "&0&l Paramètres" choose-challenge: "&0&l Choisir le Challenge" @@ -337,7 +337,7 @@ challenges: &7 Permet de modifier le &7 niveau d'îlot requis &7 pour le défi. - value: "&7 Niveau actuel : &e [numéro]" + value: "&7 Niveau actuel : &e [number]" remove_money: name: "&f&l Supprimer de l'argent" description: |- @@ -354,21 +354,21 @@ challenges: &7 Permet de modifier le &7 argent requis sur le joueur &7 représente le défi. - value: "&7 Valeur actuelle : &e [numéro]" + value: "&7 Valeur actuelle : &e [number]" statistic: name: "&f&l Statistique" description: |- &7 Permet de modifier le &7 type de statistique qui est &7 a vérifié ce défi. - value: "&7 Valeur actuelle : &e [statistique]" + value: "&7 Valeur actuelle : &e [statistic]" statistic_amount: name: "&f&l Valeur cible" description: |- &7 Permet de modifier le &7 valeur cible statistique &7 qui doit être respecté. - value: "&7 Valeur actuelle : &e [numéro]" + value: "&7 Valeur actuelle : &e [number]" remove_statistic: name: "&f&l Réduire la statistique" description: |- @@ -389,13 +389,13 @@ challenges: description: |- &7 Permet de modifier le &7 poste cible statistique. - value: "&7 Poste actuel : &e [poste]" + value: "&7 Poste actuel : &e [item]" statistic_entities: name: "&f&l Entité cible" description: |- &7 Permet de modifier le &7 entité cible statistique. - value: "&7 Entité actuelle : &e [entité]" + value: "&7 Entité actuelle : &e [entity]" reward_text: name: "&f&l Texte de récompense" description: |- @@ -446,7 +446,7 @@ challenges: description: |- &7 Permet de modifier le &7 récompense en argent. - value: "&7 Valeur actuelle : &e [numéro]" + value: "&7 Valeur actuelle : &e [number]" repeat_reward_money: name: "&f&l Répéter l'argent de la récompense" description: |- @@ -825,14 +825,14 @@ challenges: challenge: lore: |- [description] - [statut] - [refroidir] - [exigences] - [récompenses] + [status] + [cooldown] + [requirements] + [rewards] status: completed: "&2&l Terminé" - completed-times: "&2 Terminé &7&l [numéro] &r&2 fois(-s)" - completed-times-of: "&2 Terminé &7&l [nombre] &r&2 sur &7&l [max] &r&2 fois" + completed-times: "&2 Terminé &7&l [number] &r&2 fois(-s)" + completed-times-of: "&2 Terminé &7&l [number] &r&2 sur &7&l [max] &r&2 fois" completed-times-reached: "&2&l Terminé tout &7 [max] &2 fois" cooldown: lore: |- @@ -881,16 +881,16 @@ challenges: warning: "&e Le ou les éléments seront &c supprimés" other: lore: |- - [expérience] - [expérience-avertissement] - [argent] - [avertissement d'argent] - [niveau] + [experience] + [experience-warning] + [money] + [money-warning] + [level] experience: "&7&l Expérience requise : &r&e [number]" experience-warning: "&e L'expérience sera &c supprimée" money: "&7&l Argent requis : &r&e [number]" money-warning: "&e L'argent sera &c supprimé" - level: "&7&l Niveau d'îlot requis : &r&e [nombre]" + level: "&7&l Niveau d'îlot requis : &r&e [number]" statistic: lore: |- [statistic] @@ -923,14 +923,14 @@ challenges: status: completed: "&2&l Terminé" completed-challenges-of: |- - &2 Terminé &7&l [numéro] &r&2 sur + &2 Terminé &7&l [number] &r&2 sur &7&l [max] &r&2 défis. locked: "&c&l Verrouillé" missing-challenges: |- - &7 [nombre] d'autres défis doivent être relevés + &7 [number] d'autres défis doivent être relevés &7 terminé pour débloquer ce niveau. waiver: |- - &7&l [numéro] défi(s) &r&7 peut être + &7&l [number] défi(s) &r&7 peut être &7 ignoré pour débloquer le niveau suivant. rewards: lore: |- @@ -961,23 +961,23 @@ challenges: cancelled: "&c Conversation annulée !" input-number: "&e Veuillez saisir un numéro dans le chat." input-seconds: "&e Veuillez entrer une seconde dans le chat." - numeric-only: "&c La [valeur] donnée n'est pas un nombre !" + numeric-only: "&c La [value] donnée n'est pas un nombre !" not-valid-value: "&c Le nombre donné [value] n'est pas valide. Elle doit être supérieure à [min] et inférieure à [max] !" - user-data-removed: "&a Toutes les données utilisateur pour [mode de jeu] sont - effacées de la base de données." + user-data-removed: "&a Toutes les données utilisateur pour [gamemode] sont effacées + de la base de données." confirm-user-data-deletion: "&e Veuillez confirmer que vous souhaitez effacer - la base de données utilisateur pour [mode de jeu]." - challenge-data-removed: "&a Toutes les données des défis pour [mode de jeu] sont + la base de données utilisateur pour [gamemode]." + challenge-data-removed: "&a Toutes les données des défis pour [gamemode] sont effacées de la base de données." confirm-challenge-data-deletion: "&e Veuillez confirmer que vous souhaitez effacer - la base de données des défis pour [mode de jeu]." - all-data-removed: "&a Toutes les données du module complémentaire pour [mode de - jeu] sont effacées de la base de données." + la base de données des défis pour [gamemode]." + all-data-removed: "&a Toutes les données du module complémentaire pour [gamemode] + sont effacées de la base de données." confirm-all-data-deletion: "&e Veuillez confirmer que vous souhaitez effacer les données du module complémentaire pour [gamemode]." write-name: "&e Veuillez écrire un nom dans le chat." - new-object-created: "&a Un nouvel objet pour [mode de jeu] est créé." + new-object-created: "&a Un nouvel objet pour [gamemode] est créé." object-already-exists: "&c L'objet &7 [id] &c existe déjà. Choisissez un nom différent." invalid-challenge: "&c Challenge [challenge] contient des données non valides. Il ne peut pas être déployé !" @@ -1006,22 +1006,22 @@ challenges: challenge-removed: "&a Les défis [challenge] pour [gamemode] sont supprimés de la base de données." confirm-challenge-deletion: "&e Veuillez confirmer que vous souhaitez supprimer - [défi] pour [mode de jeu] de la base de données." - level-removed: "&a Le niveau [niveau] pour [mode de jeu] est supprimé de la base - de données." - confirm-level-deletion: "&e Veuillez confirmer que vous souhaitez supprimer [niveau] - pour [mode de jeu] de la base de données." + [challenge] pour [gamemode] de la base de données." + level-removed: "&a Le niveau [level] pour [gamemode] est supprimé de la base de + données." + confirm-level-deletion: "&e Veuillez confirmer que vous souhaitez supprimer [level] + pour [gamemode] de la base de données." start-downloading: "&a Début du téléchargement et de l'importation de la bibliothèque de défis." written-text: "&a Saisir du texte :" confirm-data-replacement: "&e Veuillez confirmer que vous souhaitez remplacer vos défis actuels par de nouveaux." - new-challenges-imported: "&a Succès, de nouveaux défis pour [mode de jeu] ont - été importés." + new-challenges-imported: "&a Succès, de nouveaux défis pour [gamemode] ont été + importés." exported-file-name: "&e Veuillez entrer un nom de fichier pour le fichier de base de données exporté. (écrivez « annuler » pour quitter)" database-export-completed: "&a Succès, l'exportation de la base de données pour - [monde] est terminée. Fichier [fichier] généré." + [world] est terminée. Fichier [file] généré." file-name-exist: "&c Le fichier portant le nom '[id]' existe. Ne peut pas écraser." write-search: "&e Veuillez saisir une valeur de recherche. (écrire 'cancel' pour quitter)" @@ -1056,7 +1056,7 @@ challenges: no-name: "&cNom du Challenge manquant" unknown-challenge: "&cChallenge inconnu" not-valid-integer: |- - &c L'entier donné "[valeur]" n'est pas valide ! + &c L'entier donné "[value]" n'est pas valide ! La valeur doit être comprise entre [min] et [max]. not-deployed: "&cLe Challenge ne peut pas être réalisé !" not-on-island: "&cVous devez être sur votre île pour faire le Challenge !" @@ -1090,8 +1090,8 @@ challenges: missing-arguments: "&c La commande n'a pas d'arguments." no-multiple-permission: "&cVous n'avez pas la permission d'accomplir ce challenge plusieurs fois à la fois." - invalid-level: "&c Le niveau [niveau] contient des données non valides. Il ne - sera pas chargé à partir de la base de données !" + invalid-level: "&c Le niveau [level] contient des données non valides. Il ne sera + pas chargé à partir de la base de données !" invalid-challenge: "&c Challenge [challenge] contient des données non valides. Il ne sera pas chargé à partir de la base de données !" no-library-entries: "&c Impossible de trouver des entrées de bibliothèque. Rien @@ -1099,12 +1099,12 @@ challenges: not-hooked: "&c Challenges Addon n'a trouvé aucun GameMode." timeout: "&c Ce défi nécessite d'attendre [timeout] entre les achèvements. Vous devez attendre [wait-time] pour le terminer à nouveau." - requirement-not-met: "&c Ce défi nécessite que [statistique] ait [nombre]. Vous - n'avez que [valeur]." - requirement-not-met-entity: "&c Ce défi nécessite que [statistique] [entité] ait - [nombre]. Vous n'avez que [valeur]." - requirement-not-met-material: "&c Ce défi nécessite que [statistique] [matériel] - ait [nombre]. Vous n'avez que [valeur]." + requirement-not-met: "&c Ce défi nécessite que [statistic] ait [number]. Vous + n'avez que [value]." + requirement-not-met-entity: "&c Ce défi nécessite que [statistic] [entity] ait + [number]. Vous n'avez que [value]." + requirement-not-met-material: "&c Ce défi nécessite que [statistic] [material] + ait [number]. Vous n'avez que [value]." protection: flags: CHALLENGES_ISLAND_PROTECTION: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 3c1152d..7debe79 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: BentoBox-Challenges main: world.bentobox.challenges.ChallengesPladdon version: ${project.version}${build.number} -api-version: "1.17" +api-version: "1.21" authors: [tastybento, BONNe] contributors: ["The BentoBoxWorld Community"] diff --git a/src/test/java/world/bentobox/challenges/tasks/TryToCompleteTest.java b/src/test/java/world/bentobox/challenges/tasks/TryToCompleteTest.java index 363367a..89c2dd6 100644 --- a/src/test/java/world/bentobox/challenges/tasks/TryToCompleteTest.java +++ b/src/test/java/world/bentobox/challenges/tasks/TryToCompleteTest.java @@ -1,10 +1,12 @@ package world.bentobox.challenges.tasks; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -30,6 +32,7 @@ import org.bukkit.World.Environment; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; +import org.bukkit.entity.Player.Spigot; import org.bukkit.inventory.ItemFactory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; @@ -41,6 +44,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.stubbing.Answer; @@ -49,6 +53,7 @@ import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; +import net.md_5.bungee.api.chat.TextComponent; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.addons.AddonDescription; import world.bentobox.bentobox.api.addons.GameModeAddon; @@ -119,6 +124,8 @@ public class TryToCompleteTest { @Mock private BoundingBox bb; private Set onlinePlayers; + @Mock + private Spigot spigot; /** */ @@ -207,6 +214,7 @@ public class TryToCompleteTest { when(user.getPlayer()).thenReturn(player); UUID uniqueId = UUID.randomUUID(); when(player.getUniqueId()).thenReturn(uniqueId); + when(player.spigot()).thenReturn(spigot); when(user.getUniqueId()).thenReturn(uniqueId); when(user.getTranslation(anyString())) .thenAnswer((Answer) invocation -> invocation.getArgument(0, String.class)); @@ -702,4 +710,32 @@ public class TryToCompleteTest { } + /** + * Check that spigot sent the message + * @param message - message to check + */ + public void checkSpigotMessage(String expectedMessage) { + checkSpigotMessage(expectedMessage, 1); + } + + public void checkSpigotMessage(String expectedMessage, int expectedOccurrences) { + // Capture the argument passed to spigot().sendMessage(...) if messages are sent + ArgumentCaptor captor = ArgumentCaptor.forClass(TextComponent.class); + + // Verify that sendMessage() was called at least 0 times (capture any sent messages) + verify(spigot, atLeast(0)).sendMessage(captor.capture()); + + // Get all captured TextComponents + List capturedMessages = captor.getAllValues(); + + // Count the number of occurrences of the expectedMessage in the captured messages + long actualOccurrences = capturedMessages.stream().map(component -> component.toLegacyText()) // Convert each TextComponent to plain text + .filter(messageText -> messageText.contains(expectedMessage)) // Check if the message contains the expected text + .count(); // Count how many times the expected message appears + + // Assert that the number of occurrences matches the expectedOccurrences + assertEquals("Expected message occurrence mismatch: " + expectedMessage, expectedOccurrences, + actualOccurrences); + } + }