Adds tons of changes to messages
This commit is contained in:
@@ -14,6 +14,9 @@ import org.bukkit.plugin.ServicesManager;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* A class which deals with everything economy
|
||||
*/
|
||||
public class EconomyManager {
|
||||
|
||||
private static Economy economy;
|
||||
|
31
src/main/java/net/knarcraft/blacksmith/manager/ItemType.java
Normal file
31
src/main/java/net/knarcraft/blacksmith/manager/ItemType.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package net.knarcraft.blacksmith.manager;
|
||||
|
||||
/**
|
||||
* An enum representing all item types used in messages
|
||||
*/
|
||||
public enum ItemType {
|
||||
|
||||
ENCHANTMENT("enchantment"),
|
||||
MATERIAL("material");
|
||||
|
||||
private final String itemTypeName;
|
||||
|
||||
/**
|
||||
* Instantiates an item type
|
||||
*
|
||||
* @param itemTypeName <p>The name shown in messages</p>
|
||||
*/
|
||||
ItemType(String itemTypeName) {
|
||||
this.itemTypeName = itemTypeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the name of this item type
|
||||
*
|
||||
* @return <p>The name of this item type</p>
|
||||
*/
|
||||
public String getItemTypeName() {
|
||||
return this.itemTypeName;
|
||||
}
|
||||
|
||||
}
|
100
src/main/java/net/knarcraft/blacksmith/manager/Message.java
Normal file
100
src/main/java/net/knarcraft/blacksmith/manager/Message.java
Normal file
@@ -0,0 +1,100 @@
|
||||
package net.knarcraft.blacksmith.manager;
|
||||
|
||||
public enum Message {
|
||||
|
||||
VALUE_CHANGED("&7{setting} set to &6{newValue}"),
|
||||
VALUE_FOR_ITEM_CHANGED("&7{setting} for {itemType} {item} set to &6{newValue}"),
|
||||
CURRENT_VALUE("&7Current value of {setting}:&r {currentValue}"),
|
||||
CURRENT_VALUE_FOR_ITEM("&7Current value of {setting} for {itemType} {item}:&r {currentValue}");
|
||||
|
||||
private final String messageString;
|
||||
|
||||
/**
|
||||
* Instantiates a new message
|
||||
*
|
||||
* @param messageString <p>The string value of this message</p>
|
||||
*/
|
||||
Message(String messageString) {
|
||||
this.messageString = messageString;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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(VALUE_CHANGED.messageString, 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(VALUE_FOR_ITEM_CHANGED.messageString, 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(CURRENT_VALUE.messageString, 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(CURRENT_VALUE_FOR_ITEM.messageString, new String[]{"{setting}", "{itemType}",
|
||||
"{item}", "{currentValue}"}, new String[]{setting, itemType.getItemTypeName(), item, currentValue});
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces a placeholder in a string
|
||||
*
|
||||
* @param input <p>The input string to replace in</p>
|
||||
* @param placeholder <p>The placeholder to replace</p>
|
||||
* @param replacement <p>The replacement value</p>
|
||||
* @return <p>The input string with the placeholder replaced</p>
|
||||
*/
|
||||
private static String replacePlaceholder(String input, String placeholder, String replacement) {
|
||||
return input.replace(placeholder, replacement);
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces placeholders in a string
|
||||
*
|
||||
* @param input <p>The input string to replace in</p>
|
||||
* @param placeholders <p>The placeholders to replace</p>
|
||||
* @param replacements <p>The replacement values</p>
|
||||
* @return <p>The input string with placeholders replaced</p>
|
||||
*/
|
||||
private static String replacePlaceholders(String input, String[] placeholders, String[] replacements) {
|
||||
for (int i = 0; i < Math.min(placeholders.length, replacements.length); i++) {
|
||||
input = replacePlaceholder(input, placeholders[i], replacements[i]);
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user