mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 02:19:05 +00:00
Added support for uppercase characters in color and hex codes
This commit is contained in:
parent
8feeba0a78
commit
b0cf4d997d
@ -462,7 +462,7 @@ public class ChatListener implements Listener {
|
|||||||
chat = curColor + chat;
|
chat = curColor + chat;
|
||||||
}
|
}
|
||||||
|
|
||||||
String globalJSON = Format.convertToJson(mcp, format, chat);
|
String globalJSON = Format.convertToJson(mcp, format, chat);
|
||||||
String consoleChat = format + chat;
|
String consoleChat = format + chat;
|
||||||
String message = consoleChat.replaceAll("(§([a-z0-9]))", "");
|
String message = consoleChat.replaceAll("(§([a-z0-9]))", "");
|
||||||
int hash = message.hashCode();
|
int hash = message.hashCode();
|
||||||
|
@ -167,17 +167,17 @@ public class Format {
|
|||||||
String ts = "";
|
String ts = "";
|
||||||
char[] ch = s.toCharArray();
|
char[] ch = s.toCharArray();
|
||||||
for(int a = 0; a < s.length() - 1; a ++) {
|
for(int a = 0; a < s.length() - 1; a ++) {
|
||||||
if(String.valueOf(ch[a + 1]).matches("[lkomn]") && ch[a] == '§') {
|
if(String.valueOf(ch[a + 1]).matches("[lkomnLKOMN]") && ch[a] == '§') {
|
||||||
ts += String.valueOf(ch[a]) + ch[a + 1];
|
ts += String.valueOf(ch[a]) + ch[a + 1];
|
||||||
a ++;
|
a ++;
|
||||||
}
|
}
|
||||||
else if(String.valueOf(ch[a + 1]).matches("[0123456789abcdefr]") && ch[a] == '§') {
|
else if(String.valueOf(ch[a + 1]).matches("[0123456789abcdefrABCDEFR]") && ch[a] == '§') {
|
||||||
ts = String.valueOf(ch[a]) + ch[a + 1];
|
ts = String.valueOf(ch[a]) + ch[a + 1];
|
||||||
a ++;
|
a ++;
|
||||||
}
|
}
|
||||||
else if(ch[a + 1] == 'x' && ch[a] == '§') {
|
else if(ch[a + 1] == 'x' && ch[a] == '§') {
|
||||||
if(ch.length > a + 13) {
|
if(ch.length > a + 13) {
|
||||||
if(String.valueOf(ch[a + 3]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 5]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 7]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 9]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 11]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 13]).matches("[0123456789abcdef]") && ch[a + 2] == '§' && ch[a + 4] == '§' && ch[a + 6] == '§' && ch[a + 8] == '§' && ch[a + 10] == '§' && ch[a + 12] == '§') {
|
if(String.valueOf(ch[a + 3]).matches("[0123456789abcdefABCDEF]") && String.valueOf(ch[a + 5]).matches("[0123456789abcdefABCDEF]") && String.valueOf(ch[a + 7]).matches("[0123456789abcdefABCDEF]") && String.valueOf(ch[a + 9]).matches("[0123456789abcdefABCDEF]") && String.valueOf(ch[a + 11]).matches("[0123456789abcdefABCDEF]") && String.valueOf(ch[a + 13]).matches("[0123456789abcdefABCDEF]") && ch[a + 2] == '§' && ch[a + 4] == '§' && ch[a + 6] == '§' && ch[a + 8] == '§' && ch[a + 10] == '§' && ch[a + 12] == '§') {
|
||||||
ts = String.valueOf(ch[a]) + ch[a + 1] + ch[a + 2] + ch[a + 3] + ch[a + 4] + ch[a + 5] + ch[a + 6] + ch[a + 7] + ch[a + 8] + ch[a + 9] + ch[a + 10] + ch[a + 11] + ch[a + 12] + ch[a + 13];
|
ts = String.valueOf(ch[a]) + ch[a + 1] + ch[a + 2] + ch[a + 3] + ch[a + 4] + ch[a + 5] + ch[a + 6] + ch[a + 7] + ch[a + 8] + ch[a + 9] + ch[a + 10] + ch[a + 11] + ch[a + 12] + ch[a + 13];
|
||||||
a += 13;
|
a += 13;
|
||||||
}
|
}
|
||||||
@ -226,29 +226,35 @@ public class Format {
|
|||||||
underlined = false;
|
underlined = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(!color.matches("[0123456789abcdef]")) {
|
else if(!color.matches("[0123456789abcdefABCDEF]")) {
|
||||||
switch(color) {
|
switch(color) {
|
||||||
case "l": {
|
case "l":
|
||||||
|
case "L": {
|
||||||
bold = true;
|
bold = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "k": {
|
case "k":
|
||||||
|
case "K": {
|
||||||
obfuscated = true;
|
obfuscated = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "o": {
|
case "o":
|
||||||
|
case "O": {
|
||||||
italic = true;
|
italic = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "m": {
|
case "m":
|
||||||
|
case "M": {
|
||||||
strikethrough = true;
|
strikethrough = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "n": {
|
case "n":
|
||||||
|
case "N": {
|
||||||
underlined = true;
|
underlined = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "r": {
|
case "r":
|
||||||
|
case "R": {
|
||||||
bold = false;
|
bold = false;
|
||||||
obfuscated = false;
|
obfuscated = false;
|
||||||
italic = false;
|
italic = false;
|
||||||
@ -308,15 +314,25 @@ public class Format {
|
|||||||
case "7": return "gray";
|
case "7": return "gray";
|
||||||
case "8": return "dark_gray";
|
case "8": return "dark_gray";
|
||||||
case "9": return "blue";
|
case "9": return "blue";
|
||||||
case "a": return "green";
|
case "a":
|
||||||
case "b": return "aqua";
|
case "A": return "green";
|
||||||
case "c": return "red";
|
case "b":
|
||||||
case "d": return "light_purple";
|
case "B": return "aqua";
|
||||||
case "e": return "yellow";
|
case "c":
|
||||||
case "f": return "white";
|
case "C": return "red";
|
||||||
|
case "d":
|
||||||
|
case "D": return "light_purple";
|
||||||
|
case "e":
|
||||||
|
case "E": return "yellow";
|
||||||
|
case "f":
|
||||||
|
case "F": return "white";
|
||||||
|
default: return "white";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return c;
|
if(isValidHexColor(c)) {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
return "white";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String convertPlainTextToJson(String s, boolean convertURL) {
|
public static String convertPlainTextToJson(String s, boolean convertURL) {
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
package mineverse.Aust1n46.chat.utilities;
|
package mineverse.Aust1n46.chat.utilities;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@ -53,7 +56,7 @@ public class FormatTest {
|
|||||||
|
|
||||||
String result = Format.getLastCode(input);
|
String result = Format.getLastCode(input);
|
||||||
|
|
||||||
Assert.assertEquals(expectedResult, result);
|
assertEquals(expectedResult, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -63,7 +66,7 @@ public class FormatTest {
|
|||||||
|
|
||||||
String result = Format.getLastCode(input);
|
String result = Format.getLastCode(input);
|
||||||
|
|
||||||
Assert.assertEquals(expectedResult, result);
|
assertEquals(expectedResult, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -73,7 +76,7 @@ public class FormatTest {
|
|||||||
|
|
||||||
String result = Format.getLastCode(input);
|
String result = Format.getLastCode(input);
|
||||||
|
|
||||||
Assert.assertEquals(expectedResult, result);
|
assertEquals(expectedResult, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -82,7 +85,7 @@ public class FormatTest {
|
|||||||
String expectedResult = "I am an donut";
|
String expectedResult = "I am an donut";
|
||||||
|
|
||||||
String result = Format.FilterChat(test);
|
String result = Format.FilterChat(test);
|
||||||
Assert.assertEquals(expectedResult, result);
|
assertEquals(expectedResult, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -90,7 +93,7 @@ public class FormatTest {
|
|||||||
String color = "red";
|
String color = "red";
|
||||||
|
|
||||||
boolean result = Format.isValidColor(color);
|
boolean result = Format.isValidColor(color);
|
||||||
Assert.assertTrue(result);
|
assertTrue(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -98,6 +101,40 @@ public class FormatTest {
|
|||||||
String color = "randomString";
|
String color = "randomString";
|
||||||
|
|
||||||
boolean result = Format.isValidColor(color);
|
boolean result = Format.isValidColor(color);
|
||||||
Assert.assertFalse(result);
|
assertFalse(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsValidHexColor() {
|
||||||
|
String hexColor = "#ff00ff";
|
||||||
|
|
||||||
|
boolean result = Format.isValidHexColor(hexColor);
|
||||||
|
assertTrue(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsInvalidHexColor() {
|
||||||
|
String hexColor = "#random";
|
||||||
|
|
||||||
|
boolean result = Format.isValidHexColor(hexColor);
|
||||||
|
assertFalse(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testConvertHexColorCodeToBukkitColorCode() {
|
||||||
|
String hexColor = "#ff00ff";
|
||||||
|
String expectedResult = "§x§f§f§0§0§f§f";
|
||||||
|
|
||||||
|
String result = Format.convertHexColorCodeToBukkitColorCode(hexColor);
|
||||||
|
assertEquals(expectedResult, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testConvertHexColorCodeStringToBukkitColorCodeString() {
|
||||||
|
String input = "#ff00ffHello§cThere#00ff00Austin";
|
||||||
|
String expectedResult = "§x§f§f§0§0§f§fHello§cThere§x§0§0§f§f§0§0Austin";
|
||||||
|
|
||||||
|
String result = Format.convertHexColorCodeStringToBukkitColorCodeString(input);
|
||||||
|
assertEquals(expectedResult, result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user