mirror of
				https://github.com/Aust1n46/VentureChat.git
				synced 2025-10-31 06:02:23 +00:00 
			
		
		
		
	Added support for uppercase characters in color and hex codes
This commit is contained in:
		
							parent
							
								
									8feeba0a78
								
							
						
					
					
						commit
						b0cf4d997d
					
				| @ -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
	 Aust1n46
						Aust1n46