Added LangUtils support.

This commit is contained in:
zhangYi 2021-02-27 07:48:22 +08:00
parent 824d9a272a
commit 862aa09f7b
4 changed files with 42 additions and 29 deletions

View File

@ -35,8 +35,8 @@
<java.version>1.8</java.version> <java.version>1.8</java.version>
<powermock.version>2.0.2</powermock.version> <powermock.version>2.0.2</powermock.version>
<!-- More visible way how to change dependency versions --> <!-- More visible way how to change dependency versions -->
<spigot.version>1.15.2-R0.1-SNAPSHOT</spigot.version> <spigot.version>1.16.5-R0.1-SNAPSHOT</spigot.version>
<bentobox.version>1.15.4</bentobox.version> <bentobox.version>1.16.0</bentobox.version>
<level.version>2.5.0</level.version> <level.version>2.5.0</level.version>
<vault.version>1.7</vault.version> <vault.version>1.7</vault.version>
<!-- Revision variable removes warning about dynamic version --> <!-- Revision variable removes warning about dynamic version -->

View File

@ -7,6 +7,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.bukkit.Color;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.conversations.Conversation; import org.bukkit.conversations.Conversation;
@ -27,6 +28,7 @@ import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.inventory.meta.SpawnEggMeta; 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.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -36,6 +38,7 @@ import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.panels.PanelItem; import world.bentobox.bentobox.api.panels.PanelItem;
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.api.user.User;
import world.bentobox.bentobox.hooks.LangUtilsHook;
import world.bentobox.bentobox.util.Util; import world.bentobox.bentobox.util.Util;
import world.bentobox.challenges.ChallengesAddon; import world.bentobox.challenges.ChallengesAddon;
import world.bentobox.challenges.ChallengesManager; import world.bentobox.challenges.ChallengesManager;
@ -746,7 +749,7 @@ public abstract class CommonGUI
for (Map.Entry<Material, Integer> entry : challenge.getRequiredBlocks().entrySet()) for (Map.Entry<Material, Integer> entry : challenge.getRequiredBlocks().entrySet())
{ {
result.add(this.user.getTranslation("challenges.gui.descriptions.block", result.add(this.user.getTranslation("challenges.gui.descriptions.block",
"[block]", Util.prettifyText(entry.getKey().name()), "[block]", LangUtilsHook.getMaterialName(entry.getKey(), user),
"[count]", Integer.toString(entry.getValue()))); "[count]", Integer.toString(entry.getValue())));
} }
} }
@ -759,7 +762,7 @@ public abstract class CommonGUI
for (Map.Entry<EntityType, Integer> entry : challenge.getRequiredEntities().entrySet()) for (Map.Entry<EntityType, Integer> entry : challenge.getRequiredEntities().entrySet())
{ {
result.add(this.user.getTranslation("challenges.gui.descriptions.entity", result.add(this.user.getTranslation("challenges.gui.descriptions.entity",
"[entity]", Util.prettifyText(entry.getKey().name()), "[entity]", LangUtilsHook.getEntityName(entry.getKey(), user),
"[count]", Integer.toString(entry.getValue()))); "[count]", Integer.toString(entry.getValue())));
} }
} }
@ -913,7 +916,7 @@ public abstract class CommonGUI
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
result.add(this.user.getTranslation("challenges.gui.item-description.item", result.add(this.user.getTranslation("challenges.gui.item-description.item",
"[item]", Util.prettifyText(itemStack.getType().name()), "[item]", LangUtilsHook.getItemName(itemStack, user),
"[count]", Integer.toString(itemStack.getAmount()))); "[count]", Integer.toString(itemStack.getAmount())));
if (itemStack.hasItemMeta()) if (itemStack.hasItemMeta())
@ -942,7 +945,8 @@ public abstract class CommonGUI
{ {
((EnchantmentStorageMeta) meta).getStoredEnchants().forEach(((enchantment, level) -> { ((EnchantmentStorageMeta) meta).getStoredEnchants().forEach(((enchantment, level) -> {
result.add(this.user.getTranslation("challenges.gui.item-description.item-enchant", result.add(this.user.getTranslation("challenges.gui.item-description.item-enchant",
"[enchant]", enchantment.getKey().getKey(), "[level]", Integer.toString(level))); "[enchant]", LangUtilsHook.getEnchantName(enchantment, user),
"[level]", LangUtilsHook.getEnchantLevelName(level, user)));
})); }));
} }
else if (meta instanceof KnowledgeBookMeta) else if (meta instanceof KnowledgeBookMeta)
@ -952,8 +956,10 @@ public abstract class CommonGUI
} }
else if (meta instanceof LeatherArmorMeta) else if (meta instanceof LeatherArmorMeta)
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.armor-color", // The color value should be displayed like "#2B50E1"
"[color]", ((LeatherArmorMeta) meta).getColor().toString())); Color color = ((LeatherArmorMeta) meta).getColor();
String cols = String.format("#%02X%02X%02X", color.getRed(), color.getGreen(), color.getBlue());
result.add(this.user.getTranslation("challenges.gui.item-description.armor-color", "[color]", cols));
} }
else if (meta instanceof PotionMeta) else if (meta instanceof PotionMeta)
{ {
@ -962,33 +968,37 @@ public abstract class CommonGUI
if (data.isExtended() && data.isUpgraded()) if (data.isExtended() && data.isUpgraded())
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended-upgraded", result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended-upgraded",
"[name]", Util.prettifyText(data.getType().name()))); "[name]", LangUtilsHook.getPotionTypeName(data.getType(), user)));
} }
else if (data.isUpgraded()) else if (data.isUpgraded())
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-upgraded", result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-upgraded",
"[name]", Util.prettifyText(data.getType().name()))); "[name]", LangUtilsHook.getPotionTypeName(data.getType(), user)));
} }
else if (data.isExtended()) else if (data.isExtended())
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended", result.add(this.user.getTranslation("challenges.gui.item-description.potion-type-extended",
"[name]", Util.prettifyText(data.getType().name()))); "[name]", LangUtilsHook.getPotionTypeName(data.getType(), user)));
} }
else else
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.potion-type", result.add(this.user.getTranslation("challenges.gui.item-description.potion-type",
"[name]", Util.prettifyText(data.getType().name()))); "[name]", LangUtilsHook.getPotionTypeName(data.getType(), user)));
} }
if (((PotionMeta) meta).hasCustomEffects()) if (((PotionMeta) meta).hasCustomEffects())
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.custom-effects")); result.add(this.user.getTranslation("challenges.gui.item-description.custom-effects"));
((PotionMeta) meta).getCustomEffects().forEach(potionEffect -> ((PotionMeta) meta).getCustomEffects().forEach(potionEffect -> {
result.add(this.user.getTranslation("challenges.gui.item-description.potion-effect", int duration = potionEffect.getDuration();
"[effect]", Util.prettifyText(potionEffect.getType().getName()), int m = duration / 20 / 60;
"[duration]", Integer.toString(potionEffect.getDuration()), int s = duration / 20 % 60;
"[amplifier]", Integer.toString(potionEffect.getAmplifier())))); result.add(this.user.getTranslation("challenges.gui.item-description.potion-effect",
"[effect]", LangUtilsHook.getPotionEffectName(potionEffect.getType(), user),
"[duration]", String.format("%d:%02d", m, s),
"[amplifier]", LangUtilsHook.getEffectAmplifierName(potionEffect.getAmplifier(), user)));
});
} }
} }
else if (meta instanceof SkullMeta) else if (meta instanceof SkullMeta)
@ -1002,16 +1012,17 @@ public abstract class CommonGUI
else if (meta instanceof SpawnEggMeta) else if (meta instanceof SpawnEggMeta)
{ {
result.add(this.user.getTranslation("challenges.gui.item-description.egg-meta", result.add(this.user.getTranslation("challenges.gui.item-description.egg-meta",
"[mob]", Util.prettifyText(((SpawnEggMeta) meta).getSpawnedType().name()))); "[mob]", LangUtilsHook.getEntityName(((SpawnEggMeta) meta).getSpawnedType(), user)));
} }
else if (meta instanceof TropicalFishBucketMeta) else if (meta instanceof TropicalFishBucketMeta)
{ {
if (((TropicalFishBucketMeta) meta).hasVariant()) TropicalFishBucketMeta fishMeta = (TropicalFishBucketMeta) meta;
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",
"[pattern]", Util.prettifyText(((TropicalFishBucketMeta) meta).getPattern().name()), "[pattern]", LangUtilsHook.getTropicalFishTypeName(fishMeta.getPattern(), user),
"[pattern-color]", Util.prettifyText(((TropicalFishBucketMeta) meta).getPatternColor().name()), "[pattern-color]", LangUtilsHook.getDyeColorName(fishMeta.getPatternColor(), user),
"[body-color]", Util.prettifyText(((TropicalFishBucketMeta) meta).getBodyColor().name()))); "[body-color]", LangUtilsHook.getDyeColorName(fishMeta.getBodyColor(), user)));
} }
} }
@ -1020,9 +1031,9 @@ public abstract class CommonGUI
itemStack.getEnchantments().forEach((enchantment, level) -> { itemStack.getEnchantments().forEach((enchantment, level) -> {
result.add(this.user.getTranslation("challenges.gui.item-description.item-enchant", result.add(this.user.getTranslation("challenges.gui.item-description.item-enchant",
"[enchant]", "[enchant]",
enchantment.getKey().getKey(), LangUtilsHook.getEnchantName(enchantment, user),
"[level]", "[level]",
Integer.toString(level))); LangUtilsHook.getEnchantLevelName(level, user)));
}); });
} }
} }

View File

@ -17,6 +17,7 @@ import world.bentobox.bentobox.api.panels.PanelItem;
import world.bentobox.bentobox.api.panels.builders.PanelBuilder; import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.api.user.User;
import world.bentobox.bentobox.hooks.LangUtilsHook;
import world.bentobox.bentobox.util.Util; import world.bentobox.bentobox.util.Util;
import world.bentobox.challenges.ChallengesAddon; import world.bentobox.challenges.ChallengesAddon;
import world.bentobox.challenges.database.object.Challenge; import world.bentobox.challenges.database.object.Challenge;
@ -644,7 +645,7 @@ public class EditChallengeGUI extends CommonGUI
for (Map.Entry<EntityType, Integer> entry : requirements.getRequiredEntities().entrySet()) for (Map.Entry<EntityType, Integer> entry : requirements.getRequiredEntities().entrySet())
{ {
description.add(this.user.getTranslation("challenges.gui.descriptions.entity", description.add(this.user.getTranslation("challenges.gui.descriptions.entity",
"[entity]", Util.prettifyText(entry.getKey().name()), "[entity]", LangUtilsHook.getEntityName(entry.getKey(), user),
"[count]", Integer.toString(entry.getValue()))); "[count]", Integer.toString(entry.getValue())));
} }
@ -694,7 +695,7 @@ public class EditChallengeGUI extends CommonGUI
for (Map.Entry<Material, Integer> entry : requirements.getRequiredBlocks().entrySet()) for (Map.Entry<Material, Integer> entry : requirements.getRequiredBlocks().entrySet())
{ {
description.add(this.user.getTranslation("challenges.gui.descriptions.block", description.add(this.user.getTranslation("challenges.gui.descriptions.block",
"[block]", entry.getKey().name(), "[block]", LangUtilsHook.getMaterialName(entry.getKey(), user),
"[count]", Integer.toString(entry.getValue()))); "[count]", Integer.toString(entry.getValue())));
} }

View File

@ -29,6 +29,7 @@ import org.bukkit.util.BoundingBox;
import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.localization.TextVariables;
import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.api.user.User;
import world.bentobox.bentobox.database.objects.Island; import world.bentobox.bentobox.database.objects.Island;
import world.bentobox.bentobox.hooks.LangUtilsHook;
import world.bentobox.bentobox.util.Util; import world.bentobox.bentobox.util.Util;
import world.bentobox.challenges.ChallengesAddon; import world.bentobox.challenges.ChallengesAddon;
import world.bentobox.challenges.ChallengesManager; import world.bentobox.challenges.ChallengesManager;
@ -758,7 +759,7 @@ public class TryToComplete
{ {
this.user.sendMessage("challenges.errors.not-enough-items", this.user.sendMessage("challenges.errors.not-enough-items",
"[items]", "[items]",
Util.prettifyText(required.getType().toString())); LangUtilsHook.getItemName(required, user));
return EMPTY_RESULT; return EMPTY_RESULT;
} }
@ -1016,7 +1017,7 @@ public class TryToComplete
blocks.forEach((k, v) -> user.sendMessage("challenges.errors.you-still-need", blocks.forEach((k, v) -> user.sendMessage("challenges.errors.you-still-need",
"[amount]", String.valueOf(v), "[amount]", String.valueOf(v),
"[item]", Util.prettifyText(k.toString()))); "[item]", LangUtilsHook.getMaterialName(k, user)));
// kick garbage collector // kick garbage collector
@ -1097,7 +1098,7 @@ public class TryToComplete
minimalRequirements.forEach((reqEnt, amount) -> this.user.sendMessage("challenges.errors.you-still-need", minimalRequirements.forEach((reqEnt, amount) -> this.user.sendMessage("challenges.errors.you-still-need",
"[amount]", String.valueOf(amount), "[amount]", String.valueOf(amount),
"[item]", Util.prettifyText(reqEnt.toString()))); "[item]", LangUtilsHook.getEntityName(reqEnt, user)));
// Kick garbage collector // Kick garbage collector
entitiesFound.clear(); entitiesFound.clear();