mcMMO/src/main/java/com/gmail/nossr50/util/StringUtils.java

124 lines
3.8 KiB
Java

package com.gmail.nossr50.util;
import com.gmail.nossr50.datatypes.party.PartyFeature;
import com.gmail.nossr50.datatypes.skills.AbilityType;
import com.gmail.nossr50.datatypes.skills.SecondaryAbility;
import org.bukkit.Material;
import org.bukkit.TreeSpecies;
import org.bukkit.entity.EntityType;
import org.bukkit.material.MaterialData;
public class StringUtils {
/**
* Gets a capitalized version of the target string.
*
* @param target
* String to capitalize
* @return the capitalized string
*/
public static String getCapitalized(String target) {
return target.substring(0, 1).toUpperCase() + target.substring(1).toLowerCase();
}
public static String getPrettyItemString(Material material) {
return createPrettyEnumString(material.toString());
}
public static String getPrettyEntityTypeString(EntityType entity) {
return createPrettyEnumString(entity.toString());
}
public static String getPrettyAbilityString(AbilityType ability) {
return createPrettyEnumString(ability.toString());
}
public static String getPrettyTreeSpeciesString(TreeSpecies species) {
return createPrettyEnumString(species.toString());
}
public static String getWildcardConfigMaterialDataString(MaterialData data) {
return StringUtils.getPrettyItemString(data.getItemType()).replace(" ", "_") + "|*";
}
public static String getFriendlyConfigMaterialDataString(MaterialData data) {
return getPrettyItemString(data.getItemType()).replace(" ", "_");
}
public static String getExplicitConfigMaterialDataString(MaterialData data) {
return StringUtils.getPrettyItemString(data.getItemType()).replace(" ", "_") + "|" + data.getData();
}
public static String getPrettySecondaryAbilityString(SecondaryAbility secondaryAbility) {
switch (secondaryAbility) {
case HERBALISM_DOUBLE_DROPS :
case MINING_DOUBLE_DROPS :
case WOODCUTTING_DOUBLE_DROPS :
return "Double Drops";
case FISHING_TREASURE_HUNTER :
case EXCAVATION_TREASURE_HUNTER :
return "Treasure Hunter";
case GREEN_THUMB_BLOCK :
case GREEN_THUMB_PLANT :
return "Green Thumb";
default :
return createPrettyEnumString(secondaryAbility.toString());
}
}
public static String getPrettyPartyFeatureString(PartyFeature partyFeature) {
return createPrettyEnumString(partyFeature.toString());
}
private static String createPrettyEnumString(String baseString) {
String[] substrings = baseString.split("_");
String prettyString = "";
int size = 1;
for (String string : substrings) {
prettyString = prettyString.concat(getCapitalized(string));
if (size < substrings.length) {
prettyString = prettyString.concat(" ");
}
size++;
}
return prettyString;
}
/**
* Determine if a string represents an Integer
*
* @param string
* String to check
* @return true if the string is an Integer, false otherwise
*/
public static boolean isInt(String string) {
try {
Integer.parseInt(string);
return true;
} catch (NumberFormatException nFE) {
return false;
}
}
/**
* Determine if a string represents a Double
*
* @param string
* String to check
* @return true if the string is a Double, false otherwise
*/
public static boolean isDouble(String string) {
try {
Double.parseDouble(string);
return true;
} catch (NumberFormatException nFE) {
return false;
}
}
}