Simply implement achievement system and add achievement command (#2068)

* Implement achievement system

* Update src/main/java/emu/grasscutter/command/commands/AchievementCommand.java

Co-authored-by: Der Chien <b03902015@ntu.edu.tw>

* fix: redundant codes

* fix: redundant codes

* Update language files

---------

Co-authored-by: Der Chien <b03902015@ntu.edu.tw>
This commit is contained in:
hamusuke
2023-02-26 14:14:27 +09:00
committed by GitHub
parent 51479e2abd
commit 3ab3d5bc04
35 changed files with 7418 additions and 1 deletions

View File

@@ -124,6 +124,21 @@
"no_account": "Account not found.",
"description": "Modify user accounts"
},
"achievement": {
"success": {
"grant": "Granted the achievement to %s.",
"revoke": "Revoked the achievement from %s.",
"progress": "Set progress of %s's achievement(id: %s) to %s.",
"grantall": "Granted %s achievement(s) to %s.",
"revokeall": "Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "Achievement not found.",
"already_achieved": "%s has already achieved the achievement.",
"not_yet_achieved": "%s hasn't achieved the achievement yet."
},
"description": "Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "Refresh announcement config file successfully. [Total %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "Cuenta no encontrada.",
"description": "Modifica las cuentas de usuarios"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "Se envió el anuncio correctamente, puedes revocarlo con /a revoke %s.",
"refresh_success": "Se actualizó el archivo de configuración de anuncio correctamente. [Total %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "Compte introuvable.",
"description": "Modifie les comptes utilisateurs"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "L'annonce à bien été envoyée, vous pouvez la révoquer en utilisant /a revoke %s.",
"refresh_success": "Le fichier de configuration des annonces à bien été actualisée. [Total : %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "Account non trovato.",
"description": "Modifica account utente"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "Invia un annuncio con successo, puoi revocarlo /a revoca %s.",
"refresh_success": "Aggiorna il file di configurazione dell'annuncio con successo. [Totale %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "アカウントが見つかりません。",
"description": "アカウントを作成、削除、または変更します。"
},
"achievement": {
"success": {
"grant": "%sにアチーブメントを付与しました。",
"revoke": "%sからアチーブメントを剥奪しました。",
"progress": "%sのアチーブメント(id: %s)の進捗を%sに設定しました。",
"grantall": "%2$sに%1$s個のアチーブメントを付与しました。",
"revokeall": "%2$sから%1$s個のアチーブメントを剥奪しました。"
},
"fail": {
"achievement_not_found": "アチーブメントが見つかりませんでした。",
"already_achieved": "%sはすでにそのアチーブメントを達成しています。",
"not_yet_achieved": "%sはまだそのアチーブメントを達成していません。"
},
"description": "アチーブメントを付与、剥奪、またはその進捗を設定します。"
},
"announce": {
"send_success": "アナウンスの送信に成功しました。アナウンスは /a revoke %s で取り消すことができます。",
"refresh_success": "アナウンス構成ファイルを正常に更新します。 [合計 %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "계정을 찾을 수 없습니다.",
"description": "사용자 계정을 수정합니다"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "공지 발송에 성공했습니다, 취소하고 싶으면 /a revoke %s를 입력하세요.",
"refresh_success": "공지 구성파일을 새로 고쳤습니다. [Total %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "Nie znaleziono konta.",
"description": "Twórz lub usuń konta."
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "Ogłoszenie zostało pomyślnie wysłane. Możesz je odwołać używając \"announce revoke %s\".",
"refresh_success": "Odświeżono konfigurację ogłoszeń (w sumie jest ich %s).",

View File

@@ -124,6 +124,21 @@
"no_account": "Contul nu a fost găsit.",
"description": "Modificați conturile de utilizator"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "Аккаунт не найден.",
"description": "Вносит изменения в аккаунты пользователей"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "Объявление было отправлено успешно, вы можете отзвать его с помощью команды /a revoke %s.",
"refresh_success": "Конфигурационный файл объявления был успешно обновлён. [Всего %s]",

View File

@@ -124,6 +124,21 @@
"no_account": "账号不存在。",
"description": "创建或删除账号"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "成功发送了一则公告,你可以通过 /a revoke %s 撤销。",
"refresh_success": "成功刷新了公告配置。[共 %s 个]",

View File

@@ -124,6 +124,21 @@
"no_account": "帳號不存在。",
"description": "建立或刪除帳號。"
},
"achievement": {
"success": {
"grant": "🇺🇸Granted the achievement to %s.",
"revoke": "🇺🇸Revoked the achievement from %s.",
"progress": "🇺🇸Set progress of %s's achievement(id: %s) to %s.",
"grantall": "🇺🇸Granted %s achievement(s) to %s.",
"revokeall": "🇺🇸Revoked %s achievement(s) from %s."
},
"fail": {
"achievement_not_found": "🇺🇸Achievement not found.",
"already_achieved": "🇺🇸%s has already achieved the achievement.",
"not_yet_achieved": "🇺🇸%s hasn't achieved the achievement yet."
},
"description": "🇺🇸Grant, Revoke or Progress achievements."
},
"announce": {
"send_success": "成功發送了一則公告,你可以通過 /a revoke %s 撤銷。",
"refresh_success": "已重新整理了%s個公告。",