diff --git a/src/main/java/net/minecraftforge/common/ForgeHooks.java b/src/main/java/net/minecraftforge/common/ForgeHooks.java index e254a74..f8d78fe 100644 --- a/src/main/java/net/minecraftforge/common/ForgeHooks.java +++ b/src/main/java/net/minecraftforge/common/ForgeHooks.java @@ -386,16 +386,17 @@ return event.component; } + // Includes ipv4 and domain pattern + // Matches an ip (xx.xxx.xx.xxx) or a domain (something.com) with or + // without a protocol or path. + private static final Pattern URL_PATTERN = Pattern.compile( + // schema ipv4 OR namespace port path ends + // |-----------------| |-------------------------| |----------------------------| |---------| |--| |---------------| + "((?:[a-z0-9]{2,}:\\/\\/)?(?:(?:[0-9]{1,3}\\.){3}[0-9]{1,3}|(?:[-\\w_\\.]{1,}\\.[a-z]{2,}?))(?::[0-9]{1,5})?.*?(?=[!\"\u00A7 \n]|$))", + Pattern.CASE_INSENSITIVE); + public static IChatComponent newChatWithLinks(String string) { - // Includes ipv4 and domain pattern - // Matches an ip (xx.xxx.xx.xxx) or a domain (something.com) with or - // without a protocol or path. - final Pattern URL_PATTERN = Pattern.compile( - // schema ipv4 OR namespace port path ends - // |-----------------| |-------------------------| |----------------------------| |---------| |--| |---------------| - "((?:[a-z0-9]{2,}:\\/\\/)?(?:(?:[0-9]{1,3}\\.){3}[0-9]{1,3}|(?:[-\\w_\\.]{1,}\\.[a-z]{2,}?))(?::[0-9]{1,5})?.*?(?=[!\"\u00A7 \n]|$))", - Pattern.CASE_INSENSITIVE); IChatComponent ichat = new ChatComponentText(""); Matcher matcher = URL_PATTERN.matcher(string); int lastEnd = 0;