mirror of
https://github.com/PikaMug/Quests.git
synced 2024-12-22 00:58:55 +01:00
Improve translation of enchantments and tameable mob types. Bump version
This commit is contained in:
parent
fd6024a601
commit
024e455698
2
dist/pom.xml
vendored
2
dist/pom.xml
vendored
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.8.3</version>
|
||||
<version>3.8.4</version>
|
||||
</parent>
|
||||
<artifactId>quests-dist</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.8.3</version>
|
||||
<version>3.8.4</version>
|
||||
</parent>
|
||||
<artifactId>quests-main</artifactId>
|
||||
|
||||
|
@ -20,6 +20,7 @@ import me.blackvein.quests.Quests;
|
||||
import me.blackvein.quests.util.CK;
|
||||
import me.blackvein.quests.util.ItemUtil;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
import me.blackvein.quests.util.MiscUtil;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@ -387,15 +388,16 @@ public class ItemsPrompt extends FixedSetPrompt {
|
||||
|
||||
private class EnchantTypesPrompt extends StringPrompt {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.LIGHT_PURPLE + "- " + ChatColor.DARK_PURPLE + Lang.get("stageEditorEnchantments")
|
||||
+ ChatColor.LIGHT_PURPLE + " -\n";
|
||||
for (int i = 0; i < Enchantment.values().length; i++) {
|
||||
if (i == Enchantment.values().length - 1) {
|
||||
text += ChatColor.GREEN + ItemUtil.getPrettyEnchantmentName(Enchantment.values()[i]) + " ";
|
||||
text += ChatColor.GREEN + MiscUtil.snakeCaseToUpperCamelCase(Enchantment.values()[i].getName()) + " ";
|
||||
} else {
|
||||
text += ChatColor.GREEN + ItemUtil.getPrettyEnchantmentName(Enchantment.values()[i]) + ", ";
|
||||
text += ChatColor.GREEN + MiscUtil.snakeCaseToUpperCamelCase(Enchantment.values()[i].getName()) + ", ";
|
||||
}
|
||||
}
|
||||
text = text.substring(0, text.length() - 1);
|
||||
@ -405,31 +407,22 @@ public class ItemsPrompt extends FixedSetPrompt {
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(Lang.get("charSemi"));
|
||||
LinkedList<String> enchs = new LinkedList<String>();
|
||||
boolean valid;
|
||||
for (String s : args) {
|
||||
s = s.trim();
|
||||
valid = false;
|
||||
for (Enchantment e : Enchantment.values()) {
|
||||
if (ItemUtil.getPrettyEnchantmentName(e).equalsIgnoreCase(s)) {
|
||||
if (enchs.contains(s) == false) {
|
||||
enchs.add(ItemUtil.getPrettyEnchantmentName(e));
|
||||
valid = true;
|
||||
break;
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + " " + Lang.get("listDuplicate"));
|
||||
return new EnchantTypesPrompt();
|
||||
}
|
||||
LinkedList<String> enchTypes = new LinkedList<String>();
|
||||
for (String s : input.split(" ")) {
|
||||
if (ItemUtil.getEnchantmentFromProperName(s) != null) {
|
||||
if (enchTypes.contains(s) == false) {
|
||||
enchTypes.add(s);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + " " + Lang.get("listDuplicate"));
|
||||
return new EnchantTypesPrompt();
|
||||
}
|
||||
}
|
||||
if (valid == false) {
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " "
|
||||
+ Lang.get("stageEditorInvalidEnchantment"));
|
||||
return new EnchantTypesPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_ENCHANT_TYPES, enchs);
|
||||
context.setSessionData(pref + CK.S_ENCHANT_TYPES, enchTypes);
|
||||
}
|
||||
return new EnchantmentListPrompt();
|
||||
}
|
||||
|
@ -376,13 +376,13 @@ public class MobsPrompt extends FixedSetPrompt {
|
||||
for (String s : input.split(" ")) {
|
||||
if (MiscUtil.getProperMobType(s) != null) {
|
||||
mobTypes.add(s);
|
||||
context.setSessionData(pref + CK.S_MOB_TYPES, mobTypes);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED
|
||||
+ Lang.get("stageEditorInvalidMob"));
|
||||
return new MobTypesPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_MOB_TYPES, mobTypes);
|
||||
}
|
||||
return new MobListPrompt();
|
||||
}
|
||||
@ -556,7 +556,7 @@ public class MobsPrompt extends FixedSetPrompt {
|
||||
if (context.getSessionData(pref + CK.S_TAME_TYPES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - "
|
||||
+ Lang.get("stageEditorSetMobTypes") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.GRAY
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.GRAY + " - "
|
||||
+ Lang.get("stageEditorSetTameAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.RED + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - "
|
||||
+ Lang.get("clear") + "\n";
|
||||
@ -663,7 +663,7 @@ public class MobsPrompt extends FixedSetPrompt {
|
||||
if (MiscUtil.getProperMobType(s) != null) {
|
||||
final EntityType type = MiscUtil.getProperMobType(s);
|
||||
if (type.isAlive() || Tameable.class.isAssignableFrom(type.getEntityClass())) {
|
||||
mobTypes.add(MiscUtil.getPrettyMobName(type));
|
||||
mobTypes.add(s);
|
||||
context.setSessionData(pref + CK.S_TAME_TYPES, mobTypes);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED
|
||||
|
@ -601,8 +601,17 @@ public class ItemUtil {
|
||||
* @return pretty localized name
|
||||
*/
|
||||
public static String getPrettyEnchantmentName(Enchantment e) {
|
||||
String prettyString = getEnchantmentName(e);
|
||||
prettyString = MiscUtil.capitalsToSpaces(prettyString);
|
||||
String baseString = e.getName();
|
||||
String[] substrings = baseString.split("_");
|
||||
String prettyString = "";
|
||||
int size = 1;
|
||||
for (String s : substrings) {
|
||||
prettyString = prettyString.concat(MiscUtil.getCapitalized(s));
|
||||
if (size < substrings.length) {
|
||||
prettyString = prettyString.concat(" ");
|
||||
}
|
||||
size++;
|
||||
}
|
||||
return prettyString;
|
||||
}
|
||||
|
||||
@ -612,7 +621,7 @@ public class ItemUtil {
|
||||
* @param e Enchantment to get localized name of
|
||||
* @return localized name
|
||||
*/
|
||||
private static String getEnchantmentName(Enchantment e) {
|
||||
/*private static String getEnchantmentName(Enchantment e) {
|
||||
try {
|
||||
return (Lang.get("ENCHANTMENT_" + e.getName()));
|
||||
} catch (NullPointerException ne) {
|
||||
@ -620,15 +629,34 @@ public class ItemUtil {
|
||||
+ "update the file or simply add an entry for the enchantment");
|
||||
return e.getName().toLowerCase().replace("_", " ");
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
public static Enchantment getEnchantmentFromProperName(String enchant) {
|
||||
String ench = Lang.getKey(enchant.replace(" ", ""));
|
||||
ench = ench.replace("ENCHANTMENT_", "");
|
||||
Enchantment e = Enchantment.getByName(ench);
|
||||
return e != null ? e : getEnchantmentFromProperLegacyName(ench.replace(" ", ""));
|
||||
/**
|
||||
* Gets enchantment from name
|
||||
*
|
||||
* @param properName Name to get enchantment from
|
||||
* @return Enchantment or null if invalid
|
||||
*/
|
||||
public static Enchantment getEnchantmentFromProperName(String properName) {
|
||||
properName = properName.replace(" ", "").toUpperCase();
|
||||
for (Enchantment e : Enchantment.values()) {
|
||||
if (e.getName().replace("_", "").equalsIgnoreCase(properName.replace("_", ""))) {
|
||||
return e;
|
||||
}
|
||||
if (getEnchantmentFromProperLegacyName(properName) != null) {
|
||||
return e;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Enchantment from name as it appears in lang file
|
||||
*
|
||||
* @deprecated Use {@link #getProperEnchantmentType(String)}
|
||||
* @param enchant Name to match lang value to
|
||||
* @return Enchantment or null if invalid
|
||||
*/
|
||||
public static Enchantment getEnchantmentFromProperLegacyName(String enchant) {
|
||||
if (enchant.equalsIgnoreCase(Lang.get("ENCHANTMENT_ARROW_DAMAGE"))) {
|
||||
return Enchantment.ARROW_DAMAGE;
|
||||
|
@ -154,7 +154,7 @@ public class LocaleQuery {
|
||||
if (enchantments != null && !enchantments.isEmpty()) {
|
||||
int count = 0;
|
||||
for (Enchantment e : enchantments.keySet()) {
|
||||
enchKeys[count] = "enchantment.minecraft." + e.toString().toLowerCase();
|
||||
enchKeys[count] = "enchantment." + e.getKey().toString().toLowerCase().replace(":", ".");
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@ -162,7 +162,7 @@ public class LocaleQuery {
|
||||
String msg = message.replace("<item>", "\",{\"translate\":\"" + matKey + "\"},\"");
|
||||
if (enchKeys != null && enchKeys.length > 0) {
|
||||
for (String ek : enchKeys) {
|
||||
msg.replaceFirst("<enchantment>", "\",{\"translate\":\"" + ek + "\"},\"");
|
||||
msg = msg.replace("<enchantment>", "\",{\"translate\":\"" + ek + "\"},\"");
|
||||
}
|
||||
}
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " [\"" + msg + "\"]");
|
||||
|
@ -148,9 +148,9 @@ public class MiscUtil {
|
||||
* @return EntityType or null if invalid
|
||||
*/
|
||||
public static EntityType getProperMobType(String properName) {
|
||||
properName = properName.replaceAll("_", "").replaceAll(" ", "").toUpperCase();
|
||||
properName = properName.replace("_", "").replace(" ", "").toUpperCase();
|
||||
for (EntityType et : EntityType.values()) {
|
||||
if (et.isAlive() && et.name().replaceAll("_", "").equalsIgnoreCase(properName)) {
|
||||
if (et.isAlive() && et.name().replace("_", "").equalsIgnoreCase(properName)) {
|
||||
return et;
|
||||
}
|
||||
}
|
||||
@ -260,6 +260,8 @@ public class MiscUtil {
|
||||
/**
|
||||
* Adds a single space in front of all capital letters
|
||||
*
|
||||
* Unused internally. Left for external use
|
||||
*
|
||||
* @param s string to process
|
||||
* @return processed string
|
||||
*/
|
||||
|
@ -194,7 +194,7 @@ stageEditorEnterBlockAmounts: "Enter block amounts, <space>, <cancel>"
|
||||
stageEditorEnterBlockDurability: "Enter block durabilities (numbers), <space>, <cancel>"
|
||||
stageEditorCatchFishPrompt: "Enter number of fish to catch, <clear>, <cancel>"
|
||||
stageEditorKillPlayerPrompt: "Enter number of players to kill, <clear>, <cancel>"
|
||||
stageEditorEnchantTypePrompt: "Enter enchantment names, <semicolon>, <cancel>"
|
||||
stageEditorEnchantTypePrompt: "Enter enchantment names, <space>, <cancel>"
|
||||
stageEditorEnchantAmountsPrompt: "Enter enchant amounts (numbers), <space>, <cancel>"
|
||||
stageEditorItemNamesPrompt: "Enter item names, <space>, <cancel>"
|
||||
stageEditorNPCPrompt: "Enter NPC IDs, <space>, <cancel>"
|
||||
@ -701,40 +701,6 @@ journalAlreadyHave: "You already have your Quest Journal out."
|
||||
journalNoRoom: "You have no room in your inventory for your Quest Journal!"
|
||||
journalNoQuests: "You have no accepted quests!"
|
||||
journalDenied: "You cannot do that with your Quest Journal."
|
||||
ENCHANTMENT_ARROW_DAMAGE: "Power"
|
||||
ENCHANTMENT_ARROW_FIRE: "Flame"
|
||||
ENCHANTMENT_ARROW_INFINITE: "Infinity"
|
||||
ENCHANTMENT_ARROW_KNOCKBACK: "Punch"
|
||||
ENCHANTMENT_BINDING_CURSE: "BindingCurse"
|
||||
ENCHANTMENT_CHANNELING: "Channeling"
|
||||
ENCHANTMENT_DAMAGE_ALL: "Sharpness"
|
||||
ENCHANTMENT_DAMAGE_ARTHROPODS: "BaneOfArthropods"
|
||||
ENCHANTMENT_DEPTH_STRIDER: "DepthStrider"
|
||||
ENCHANTMENT_DAMAGE_UNDEAD: "Smite"
|
||||
ENCHANTMENT_DIG_SPEED: "Efficiency"
|
||||
ENCHANTMENT_DURABILITY: "Unbreaking"
|
||||
ENCHANTMENT_FIRE_ASPECT: "FireAspect"
|
||||
ENCHANTMENT_FROST_WALKER: "FrostWalker"
|
||||
ENCHANTMENT_IMPALING: "Impaling"
|
||||
ENCHANTMENT_KNOCKBACK: "Knockback"
|
||||
ENCHANTMENT_LOOT_BONUS_BLOCKS: "Fortune"
|
||||
ENCHANTMENT_LOOT_BONUS_MOBS: "Looting"
|
||||
ENCHANTMENT_LOYALTY: "Loyalty"
|
||||
ENCHANTMENT_LUCK: "LuckOfTheSea"
|
||||
ENCHANTMENT_LURE: "Lure"
|
||||
ENCHANTMENT_MENDING: "Mending"
|
||||
ENCHANTMENT_OXYGEN: "Respiration"
|
||||
ENCHANTMENT_PROTECTION_ENVIRONMENTAL: "Protection"
|
||||
ENCHANTMENT_PROTECTION_EXPLOSIONS: "BlastProtection"
|
||||
ENCHANTMENT_PROTECTION_FALL: "FeatherFalling"
|
||||
ENCHANTMENT_PROTECTION_FIRE: "FireProtection"
|
||||
ENCHANTMENT_PROTECTION_PROJECTILE: "ProjectileProtection"
|
||||
ENCHANTMENT_RIPTIDE: "Riptide"
|
||||
ENCHANTMENT_SILK_TOUCH: "SilkTouch"
|
||||
ENCHANTMENT_SWEEPING_EDGE: "SweepingEdge"
|
||||
ENCHANTMENT_THORNS: "Thorns"
|
||||
ENCHANTMENT_VANISHING_CURSE: "VanishingCurse"
|
||||
ENCHANTMENT_WATER_WORKER: "AquaAffinity"
|
||||
COLOR_BLACK: "Black"
|
||||
COLOR_BLUE: "Blue"
|
||||
COLOR_BROWN: "Brown"
|
||||
|
4
pom.xml
4
pom.xml
@ -6,12 +6,12 @@
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.8.3</version>
|
||||
<version>3.8.4</version>
|
||||
<name>quests</name>
|
||||
<url>https://github.com/PikaMug/Quests/</url>
|
||||
|
||||
<properties>
|
||||
<revision>3.8.3</revision>
|
||||
<revision>3.8.4</revision>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.8.3</version>
|
||||
<version>3.8.4</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.8.3</version>
|
||||
<version>3.8.4</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.8.3</version>
|
||||
<version>3.8.4</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
Loading…
Reference in New Issue
Block a user