From 77aab7cb7f9b7cd4068e3a5e9b541502b33dd008 Mon Sep 17 00:00:00 2001 From: ApacheZy Date: Mon, 15 Mar 2021 01:31:21 +0800 Subject: [PATCH] 1. Optionally display the award title. 2. Added the banner pattern name display. --- .../bentobox/challenges/panel/CommonGUI.java | 56 +++++++++---------- src/main/resources/locales/cs.yml | 1 + src/main/resources/locales/de.yml | 1 + src/main/resources/locales/en-US.yml | 1 + src/main/resources/locales/es.yml | 1 + src/main/resources/locales/ja.yml | 1 + src/main/resources/locales/lv.yml | 1 + src/main/resources/locales/pl.yml | 1 + src/main/resources/locales/ru.yml | 1 + src/main/resources/locales/zh-CN.yml | 3 +- src/main/resources/locales/zh-TW.yml | 1 + 11 files changed, 37 insertions(+), 31 deletions(-) diff --git a/src/main/java/world/bentobox/challenges/panel/CommonGUI.java b/src/main/java/world/bentobox/challenges/panel/CommonGUI.java index a9f1f66..066ce80 100644 --- a/src/main/java/world/bentobox/challenges/panel/CommonGUI.java +++ b/src/main/java/world/bentobox/challenges/panel/CommonGUI.java @@ -1,37 +1,19 @@ package world.bentobox.challenges.panel; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; - +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.*; -import org.bukkit.conversations.Conversation; -import org.bukkit.conversations.ConversationContext; -import org.bukkit.conversations.ConversationFactory; -import org.bukkit.conversations.Prompt; -import org.bukkit.conversations.StringPrompt; +import org.bukkit.block.banner.Pattern; +import org.bukkit.conversations.*; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BookMeta; -import org.bukkit.inventory.meta.EnchantmentStorageMeta; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.KnowledgeBookMeta; -import org.bukkit.inventory.meta.LeatherArmorMeta; -import org.bukkit.inventory.meta.PotionMeta; -import org.bukkit.inventory.meta.SkullMeta; -import org.bukkit.inventory.meta.SpawnEggMeta; -import org.bukkit.inventory.meta.TropicalFishBucketMeta; +import org.bukkit.inventory.meta.*; import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionType; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; - -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.TextComponent; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.panels.PanelItem; import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; @@ -47,6 +29,12 @@ import world.bentobox.challenges.database.object.requirements.OtherRequirements; import world.bentobox.challenges.utils.LevelStatus; import world.bentobox.challenges.utils.Utils; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; + /** * This class contains common methods that will be used over all GUIs. It also allows @@ -511,14 +499,16 @@ public abstract class CommonGUI else { // Show a title to the rewards - result.add(this.user.getTranslation("challenges.gui.challenge-description.rewards-title")); - if (isCompletedOnce) + // If there is no reward text, do not display title + String rewardText = isCompletedOnce ? challenge.getRepeatRewardText() : challenge.getRewardText(); + if (rewardText != null) { - result.add(challenge.getRepeatRewardText()); - } - else - { - result.add(challenge.getRewardText()); + String testText = ChatColor.translateAlternateColorCodes('&', rewardText); + if (!ChatColor.stripColor(testText.replaceAll("[\\r\\n]", "")).isEmpty()) + { + result.add(this.user.getTranslation("challenges.gui.challenge-description.rewards-title")); + result.add(rewardText); + } } } break; @@ -1036,6 +1026,12 @@ public abstract class CommonGUI "[body-color]", LangUtilsHook.getDyeColorName(fishMeta.getBodyColor(), user))); } } + else if (meta instanceof BannerMeta) { + for (Pattern pattern : ((BannerMeta) meta).getPatterns()) { + result.add(this.user.getTranslation("challenges.gui.item-description.banner-pattern", + "[pattern]", LangUtilsHook.getBannerPatternName(pattern, user))); + } + } if (meta.hasEnchants()) { diff --git a/src/main/resources/locales/cs.yml b/src/main/resources/locales/cs.yml index c6dc4fd..a9a62b4 100644 --- a/src/main/resources/locales/cs.yml +++ b/src/main/resources/locales/cs.yml @@ -430,6 +430,7 @@ challenges: egg-meta: " [mob]" fish-meta: " [body-color] s [pattern-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' questions: prefix: "&2[SERVER]: " admin: diff --git a/src/main/resources/locales/de.yml b/src/main/resources/locales/de.yml index 431064e..735c6d2 100644 --- a/src/main/resources/locales/de.yml +++ b/src/main/resources/locales/de.yml @@ -513,6 +513,7 @@ challenges: egg-meta: "[mob]" fish-meta: "[body-color] mit [pattern-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' questions: prefix: "&2[SERVER]:" admin: diff --git a/src/main/resources/locales/en-US.yml b/src/main/resources/locales/en-US.yml index 6596b86..022c780 100755 --- a/src/main/resources/locales/en-US.yml +++ b/src/main/resources/locales/en-US.yml @@ -503,6 +503,7 @@ challenges: egg-meta: ' [mob]' fish-meta: ' [body-color] with [pattern-color] [pattern]' predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' questions: prefix: "&2 [SERVER]: " diff --git a/src/main/resources/locales/es.yml b/src/main/resources/locales/es.yml index d1a3d59..eab0857 100755 --- a/src/main/resources/locales/es.yml +++ b/src/main/resources/locales/es.yml @@ -561,6 +561,7 @@ challenges: potion-effect: "[effect] x [amplifier] por [duration]t" fish-meta: "[body-color] con [patter-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' item-meta: "([meta])" armor-color: "[color]" custom-effects: 'Efectos personalizados:' diff --git a/src/main/resources/locales/ja.yml b/src/main/resources/locales/ja.yml index ae13779..8f5b007 100644 --- a/src/main/resources/locales/ja.yml +++ b/src/main/resources/locales/ja.yml @@ -355,6 +355,7 @@ challenges: egg-meta: "[mob]" fish-meta: "[body-color] と [pattern-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' item: "-[count] x [item]" item-enchant: "-[enchant] [level]" item-lore: アイテム伝承: diff --git a/src/main/resources/locales/lv.yml b/src/main/resources/locales/lv.yml index 695fea1..997dd2f 100644 --- a/src/main/resources/locales/lv.yml +++ b/src/main/resources/locales/lv.yml @@ -422,6 +422,7 @@ challenges: egg-meta: " [mob]" fish-meta: " [body-color] ar [pattern-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' item: "- [count] x [item]" item-enchant: " - [enchant] [level]" item-lore: " Lietas apraksts:" diff --git a/src/main/resources/locales/pl.yml b/src/main/resources/locales/pl.yml index f344699..c8262d7 100644 --- a/src/main/resources/locales/pl.yml +++ b/src/main/resources/locales/pl.yml @@ -525,6 +525,7 @@ challenges: egg-meta: "[tłum]" fish-meta: "[body-color] with [pattern-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' questions: prefix: "& 2 [SERWER]:" admin: diff --git a/src/main/resources/locales/ru.yml b/src/main/resources/locales/ru.yml index 0b68b7b..4b34ce0 100644 --- a/src/main/resources/locales/ru.yml +++ b/src/main/resources/locales/ru.yml @@ -486,6 +486,7 @@ challenges: potion-effect: "[effect] x [amplifier] для [duration]t" fish-meta: "[body-color] с [pattern-color] [pattern]" predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' item-meta: "([meta])" item-enchant: "- [enchant] [level]" item-name: "[name]" diff --git a/src/main/resources/locales/zh-CN.yml b/src/main/resources/locales/zh-CN.yml index f4993c7..51de6ae 100644 --- a/src/main/resources/locales/zh-CN.yml +++ b/src/main/resources/locales/zh-CN.yml @@ -36,7 +36,7 @@ challenges: description: '将现有挑战导出到 default.json 文件。' parameters: '[overwrite] - 允许覆盖现有文件。' complete: - description: '将玩家的某个设置为完成为一个玩家完成挑战。' + description: '为玩家完成挑战。' parameters: ' ' reset: description: '重设玩家的挑战。如果将参数 设置为 "all", 则将重置该玩家所有挑战。' @@ -489,6 +489,7 @@ challenges: egg-meta: '&7 [mob]' fish-meta: '&7&o [body-color]-[pattern-color] [pattern]' predefined-fish: '&7&o [fish-name]' + banner-pattern: '&7 [pattern]' questions: prefix: "&7[&e服务器&7]: &r" diff --git a/src/main/resources/locales/zh-TW.yml b/src/main/resources/locales/zh-TW.yml index a7acd84..1119ab4 100644 --- a/src/main/resources/locales/zh-TW.yml +++ b/src/main/resources/locales/zh-TW.yml @@ -317,6 +317,7 @@ challenges: egg-meta: ' [mob]' fish-meta: ' [body-color]-[pattern-color] [pattern]' predefined-fish: ' [fish-name]' + banner-pattern: ' [pattern]' questions: prefix: "&2[SERVER]: "