96 lines
4.1 KiB
Java
96 lines
4.1 KiB
Java
package net.knarcraft.blacksmith.formatting;
|
|
|
|
import static net.knarcraft.blacksmith.formatting.StringFormatter.replacePlaceholders;
|
|
|
|
/**
|
|
* An enum containing all translatable global messages
|
|
*
|
|
* <p>This does not include NPC messages as they are configurable per-npc, and can be translated by changing the
|
|
* default message values in the main config file.</p>
|
|
*/
|
|
public enum TranslatableMessage {
|
|
|
|
VALUE_CHANGED,
|
|
VALUE_FOR_ITEM_CHANGED,
|
|
CURRENT_VALUE,
|
|
CURRENT_VALUE_FOR_ITEM,
|
|
ITEM_TYPE_ENCHANTMENT,
|
|
ITEM_TYPE_MATERIAL,
|
|
RAW_VALUE,
|
|
NO_NPC_SELECTED,
|
|
DEFAULT_REFORGE_ABLE_ITEMS_UNCHANGEABLE,
|
|
INPUT_STRING_LIST_REQUIRED,
|
|
INPUT_PERCENTAGE_REQUIRED,
|
|
INPUT_STRING_REQUIRED,
|
|
INPUT_POSITIVE_DOUBLE_REQUIRED,
|
|
INPUT_POSITIVE_INTEGER_REQUIRED,
|
|
PERMISSION_DENIED,
|
|
PLUGIN_RELOADED;
|
|
|
|
/**
|
|
* Gets the message to display when displaying the raw value of messages
|
|
*
|
|
* @param rawValue <p>The raw value to display</p>
|
|
* @return <p>The message to display</p>
|
|
*/
|
|
public static String getRawValueMessage(String rawValue) {
|
|
return StringFormatter.replacePlaceholder(Translator.getTranslatedMessage(TranslatableMessage.RAW_VALUE),
|
|
"{rawValue}", rawValue);
|
|
}
|
|
|
|
/**
|
|
* Gets the message to display when a value has been changed
|
|
*
|
|
* @param setting <p>The setting whose value has been changed</p>
|
|
* @param newValue <p>The new value of the setting</p>
|
|
* @return <p>The string to display to a user</p>
|
|
*/
|
|
public static String getValueChangedMessage(String setting, String newValue) {
|
|
return replacePlaceholders(Translator.getTranslatedMessage(TranslatableMessage.VALUE_CHANGED),
|
|
new String[]{"{setting}", "{newValue}"}, new String[]{setting, newValue});
|
|
}
|
|
|
|
/**
|
|
* Gets the message to display when a value has been changed for an item
|
|
*
|
|
* @param setting <p>The setting whose value has been changed</p>
|
|
* @param itemType <p>The type of item changed ("material" or "enchantment")</p>
|
|
* @param item <p>The item the setting was changed for (a material or an enchantment name)</p>
|
|
* @param newValue <p>The new value of the setting</p>
|
|
* @return <p>The string to display to a user</p>
|
|
*/
|
|
public static String getItemValueChangedMessage(String setting, ItemType itemType, String item, String newValue) {
|
|
return replacePlaceholders(Translator.getTranslatedMessage(TranslatableMessage.VALUE_FOR_ITEM_CHANGED),
|
|
new String[]{"{setting}", "{itemType}", "{item}", "{newValue}"},
|
|
new String[]{setting, itemType.getItemTypeName(), item, newValue});
|
|
}
|
|
|
|
/**
|
|
* Gets the message to display when displaying a setting's current value
|
|
*
|
|
* @param setting <p>The setting whose value is shown</p>
|
|
* @param currentValue <p>The current value of the setting</p>
|
|
* @return <p>The string to display to a user</p>
|
|
*/
|
|
public static String getCurrentValueMessage(String setting, String currentValue) {
|
|
return replacePlaceholders(Translator.getTranslatedMessage(TranslatableMessage.CURRENT_VALUE),
|
|
new String[]{"{setting}", "{currentValue}"}, new String[]{setting, currentValue});
|
|
}
|
|
|
|
/**
|
|
* Gets the message to display when displaying a setting's current value for an item
|
|
*
|
|
* @param setting <p>The setting whose value is shown</p>
|
|
* @param itemType <p>The type of item shown ("material" or "enchantment")</p>
|
|
* @param item <p>The item the setting is shown for (a material or an enchantment name)</p>
|
|
* @param currentValue <p>The current value of the setting</p>
|
|
* @return <p>The string to display to a user</p>
|
|
*/
|
|
public static String getItemCurrentValueMessage(String setting, ItemType itemType, String item, String currentValue) {
|
|
return replacePlaceholders(Translator.getTranslatedMessage(TranslatableMessage.CURRENT_VALUE_FOR_ITEM),
|
|
new String[]{"{setting}", "{itemType}", "{item}", "{currentValue}"},
|
|
new String[]{setting, itemType.getItemTypeName(), item, currentValue});
|
|
}
|
|
|
|
}
|