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 = ""; | ||||
| 		char[] ch = s.toCharArray(); | ||||
| 		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]; | ||||
| 				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]; | ||||
| 				a ++; | ||||
| 			} | ||||
| 			else if(ch[a + 1] == 'x' && ch[a] == '§') { | ||||
| 				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]; | ||||
| 						a += 13; | ||||
| 					} | ||||
| @ -226,29 +226,35 @@ public class Format { | ||||
| 					underlined = false; | ||||
| 				} | ||||
| 			} | ||||
| 			else if(!color.matches("[0123456789abcdef]")) {				 | ||||
| 			else if(!color.matches("[0123456789abcdefABCDEF]")) {				 | ||||
| 				switch(color) { | ||||
| 					case "l": { | ||||
| 					case "l": | ||||
| 					case "L": { | ||||
| 						bold = true; | ||||
| 						break; | ||||
| 					} | ||||
| 					case "k": { | ||||
| 					case "k": | ||||
| 					case "K": { | ||||
| 						obfuscated = true; | ||||
| 						break; | ||||
| 					} | ||||
| 					case "o": { | ||||
| 					case "o": | ||||
| 					case "O": { | ||||
| 						italic = true; | ||||
| 						break; | ||||
| 					} | ||||
| 					case "m": { | ||||
| 					case "m": | ||||
| 					case "M": { | ||||
| 						strikethrough = true; | ||||
| 						break; | ||||
| 					} | ||||
| 					case "n": { | ||||
| 					case "n": | ||||
| 					case "N": { | ||||
| 						underlined = true; | ||||
| 						break; | ||||
| 					} | ||||
| 					case "r": { | ||||
| 					case "r": | ||||
| 					case "R": { | ||||
| 						bold = false; | ||||
| 						obfuscated = false; | ||||
| 						italic = false; | ||||
| @ -308,16 +314,26 @@ public class Format { | ||||
| 				case "7": return "gray"; | ||||
| 				case "8": return "dark_gray"; | ||||
| 				case "9": return "blue"; | ||||
| 				case "a": return "green"; | ||||
| 				case "b": return "aqua"; | ||||
| 				case "c": return "red"; | ||||
| 				case "d": return "light_purple"; | ||||
| 				case "e": return "yellow"; | ||||
| 				case "f": return "white"; | ||||
| 				case "a": | ||||
| 				case "A": return "green"; | ||||
| 				case "b": | ||||
| 				case "B": return "aqua"; | ||||
| 				case "c": | ||||
| 				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"; | ||||
| 			} | ||||
| 		} | ||||
| 		if(isValidHexColor(c)) { | ||||
| 			return c; | ||||
| 		} | ||||
| 		return "white"; | ||||
| 	} | ||||
| 	 | ||||
| 	public static String convertPlainTextToJson(String s, boolean convertURL) { | ||||
| 		if(convertURL) { | ||||
|  | ||||
| @ -1,11 +1,14 @@ | ||||
| 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.List; | ||||
| 
 | ||||
| import org.bukkit.configuration.file.FileConfiguration; | ||||
| import org.junit.After; | ||||
| import org.junit.Assert; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| @ -53,7 +56,7 @@ public class FormatTest { | ||||
| 		 | ||||
| 		String result = Format.getLastCode(input); | ||||
| 		 | ||||
| 		Assert.assertEquals(expectedResult, result); | ||||
| 		assertEquals(expectedResult, result); | ||||
| 	} | ||||
| 	 | ||||
| 	@Test | ||||
| @ -63,7 +66,7 @@ public class FormatTest { | ||||
| 		 | ||||
| 		String result = Format.getLastCode(input); | ||||
| 		 | ||||
| 		Assert.assertEquals(expectedResult, result); | ||||
| 		assertEquals(expectedResult, result); | ||||
| 	} | ||||
| 	 | ||||
| 	@Test | ||||
| @ -73,7 +76,7 @@ public class FormatTest { | ||||
| 		 | ||||
| 		String result = Format.getLastCode(input); | ||||
| 		 | ||||
| 		Assert.assertEquals(expectedResult, result); | ||||
| 		assertEquals(expectedResult, result); | ||||
| 	} | ||||
| 	 | ||||
| 	@Test | ||||
| @ -82,7 +85,7 @@ public class FormatTest { | ||||
| 		String expectedResult = "I am an donut"; | ||||
| 		 | ||||
| 		String result = Format.FilterChat(test); | ||||
| 		Assert.assertEquals(expectedResult, result); | ||||
| 		assertEquals(expectedResult, result); | ||||
| 	} | ||||
| 	 | ||||
| 	@Test | ||||
| @ -90,7 +93,7 @@ public class FormatTest { | ||||
| 		String color = "red"; | ||||
| 		 | ||||
| 		boolean result = Format.isValidColor(color); | ||||
| 		Assert.assertTrue(result); | ||||
| 		assertTrue(result); | ||||
| 	} | ||||
| 	 | ||||
| 	@Test | ||||
| @ -98,6 +101,40 @@ public class FormatTest { | ||||
| 		String color = "randomString"; | ||||
| 		 | ||||
| 		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