Repair: Potion name -> effect name; Added: predefined tropical fish name.

This commit is contained in:
apacheZy 2021-02-28 00:42:36 +08:00
parent 862aa09f7b
commit 36d3857b1c
1 changed files with 33 additions and 19 deletions

View File

@ -10,6 +10,7 @@ import java.util.function.Consumer;
import org.bukkit.Color; import org.bukkit.Color;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.ChatColor;
import org.bukkit.conversations.Conversation; import org.bukkit.conversations.Conversation;
import org.bukkit.conversations.ConversationContext; import org.bukkit.conversations.ConversationContext;
import org.bukkit.conversations.ConversationFactory; import org.bukkit.conversations.ConversationFactory;
@ -17,6 +18,7 @@ import org.bukkit.conversations.Prompt;
import org.bukkit.conversations.StringPrompt; import org.bukkit.conversations.StringPrompt;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.TropicalFish;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta; import org.bukkit.inventory.meta.BookMeta;
import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.EnchantmentStorageMeta;
@ -29,6 +31,7 @@ import org.bukkit.inventory.meta.SpawnEggMeta;
import org.bukkit.inventory.meta.TropicalFishBucketMeta; import org.bukkit.inventory.meta.TropicalFishBucketMeta;
import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -964,26 +967,29 @@ public abstract class CommonGUI
else if (meta instanceof PotionMeta) else if (meta instanceof PotionMeta)
{ {
PotionData data = ((PotionMeta) meta).getBasePotionData(); PotionData data = ((PotionMeta) meta).getBasePotionData();
PotionEffectType effect = data.getType().getEffectType();
if (data.isExtended() && data.isUpgraded()) if (effect != null) {
{ if (data.isExtended() && data.isUpgraded())
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended-upgraded", {
"[name]", LangUtilsHook.getPotionTypeName(data.getType(), user))); result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended-upgraded",
} "[name]", LangUtilsHook.getPotionEffectName(effect, user)));
else if (data.isUpgraded()) }
{ else if (data.isUpgraded())
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-upgraded", {
"[name]", LangUtilsHook.getPotionTypeName(data.getType(), user))); result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-upgraded",
} "[name]", LangUtilsHook.getPotionEffectName(effect, user)));
else if (data.isExtended()) }
{ else if (data.isExtended())
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended", {
"[name]", LangUtilsHook.getPotionTypeName(data.getType(), user))); result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended",
} "[name]", LangUtilsHook.getPotionEffectName(effect, user)));
else }
{ else
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type", {
"[name]", LangUtilsHook.getPotionTypeName(data.getType(), user))); result.add(this.user.getTranslation("challenges.gui.item-description.potion-type",
"[name]", LangUtilsHook.getPotionEffectName(effect, user)));
}
} }
if (((PotionMeta) meta).hasCustomEffects()) if (((PotionMeta) meta).hasCustomEffects())
@ -1017,6 +1023,14 @@ public abstract class CommonGUI
else if (meta instanceof TropicalFishBucketMeta) else if (meta instanceof TropicalFishBucketMeta)
{ {
TropicalFishBucketMeta fishMeta = (TropicalFishBucketMeta) meta; TropicalFishBucketMeta fishMeta = (TropicalFishBucketMeta) meta;
// First try to use LangUtilsHook to get the predefined tropical
// fish names so that the description looks like vanilla names.
String predefined = LangUtilsHook.getPredefinedTropicalFishName(fishMeta, user);
if (predefined != null) {
result.add(ChatColor.translateAlternateColorCodes('&', "&7&o " + predefined));
}
else
if ((fishMeta).hasVariant()) if ((fishMeta).hasVariant())
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.fish-meta", result.add(this.user.getTranslation("challenges.gui.item-description.fish-meta",