Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sign.signlink;
- public final class TextUtils {
- /**
- * A array of all of the valid characters.
- */
- private static final char VALID_CHARACTERS[] = { '_', 'a', 'b', 'c', 'd',
- 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
- 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
- '4', '5', '6', '7', '8', '9' };
- /**
- * Replaces the player's password with asterisks.
- *
- * @param password
- * The password.
- * @return The password as asterisks.
- */
- public static String censorPassword(String password) {
- StringBuffer stringBuffer = new StringBuffer();
- for (int i = 0; i < password.length(); i++)
- stringBuffer.append("*");
- return stringBuffer.toString();
- }
- /**
- * Decodes a player's encoded IP address.
- *
- * @param address
- * The encoded IP address.
- * @return The decoded IP address.
- */
- public static String decodeAddress(int address) {
- return (address >> 24 & 0xff) + "." + (address >> 16 & 0xff) + "."
- + (address >> 8 & 0xff) + "." + (address & 0xff);
- }
- /**
- * Encodes a sprite's name.
- *
- * @param spriteName
- * The decoded name.
- * @return The encoded name.
- */
- public static long encodeSpriteName(String spriteName) {
- spriteName = spriteName.toUpperCase();
- long value = 0L;
- for (int i = 0; i < spriteName.length(); i++) {
- value = (value * 61L + spriteName.charAt(i)) - 32L;
- value = value + (value >> 56) & 0xffffffffffffffL;
- }
- return value;
- }
- /**
- * Formats the player's name capitalization and spacing.
- *
- * @param name
- * The name being formated.
- * @return The formated name.
- */
- public static String formatName(String name) {
- if (name.length() > 0) {
- char nameArray[] = name.toCharArray();
- for (int i = 0; i < nameArray.length; i++)
- if (nameArray[i] == '_') {
- nameArray[i] = ' ';
- if (i + 1 < nameArray.length && nameArray[i + 1] >= 'a'
- && nameArray[i + 1] <= 'z')
- nameArray[i + 1] = (char) ((nameArray[i + 1] + 65) - 97);
- }
- if (nameArray[0] >= 'a' && nameArray[0] <= 'z')
- nameArray[0] = (char) ((nameArray[0] + 65) - 97);
- return new String(nameArray);
- } else {
- return name;
- }
- }
- /**
- * Converts a player's name to a long.
- *
- * @param name
- * The name as a long.
- * @return The name as a string.
- */
- public static String longToName(long name) {
- try {
- if (name <= 0L || name >= 0x5b5b57f8a98a5dd1L || name % 37L == 0L)
- return "invalid_name";
- int length = 0;
- char value[] = new char[12];
- while (name != 0L) {
- long original = name;
- name /= 37L;
- value[11 - length++] = VALID_CHARACTERS[(int) (original - name * 37L)];
- }
- return new String(value, 12 - length, length);
- } catch (RuntimeException runtimeexception) {
- signlink
- .reporterror("Error while converting a long to a name. Name: "
- + name + " " + runtimeexception.toString());
- }
- throw new RuntimeException();
- }
- /**
- * Converts a player's name to a long.
- *
- * @param name
- * The name as a string.
- * @return The name as a long.
- */
- public static long nameToLong(String name) {
- long value = 0L;
- for (int i = 0; i < name.length() && i < 12; i++) {
- char currentChar = name.charAt(i);
- value *= 37L;
- if (currentChar >= 'A' && currentChar <= 'Z')
- value += (1 + currentChar) - 65;
- else if (currentChar >= 'a' && currentChar <= 'z')
- value += (1 + currentChar) - 97;
- else if (currentChar >= '0' && currentChar <= '9')
- value += (27 + currentChar) - 48;
- }
- while (value % 37L == 0L && value != 0L)
- value /= 37L;
- return value;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment