From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Sat, 18 Jan 2014 19:32:42 +0000 Subject: [PATCH] Support non-prefixed URLs diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java @@ -0,0 +0,0 @@ import com.google.common.collect.ImmutableMap.Builder; public final class CraftChatMessage { private static class StringMessage { private static final Map formatMap; - private static final Pattern INCREMENTAL_PATTERN = Pattern.compile("(" + String.valueOf(org.bukkit.ChatColor.COLOR_CHAR) + "[0-9a-fk-or])|(\\n)|(?:(https?://[^ ][^ ]*?)(?=[\\.\\?!,;:]?(?:[ \\n]|$)))", Pattern.CASE_INSENSITIVE); + private static final Pattern INCREMENTAL_PATTERN = Pattern.compile("(" + String.valueOf(org.bukkit.ChatColor.COLOR_CHAR) + "[0-9a-fk-or])|(\\n)|((?:(?:https?)://)?(?:[-\\w_\\.]{2,}\\.[a-z]{2,4}.*?(?=[\\.\\?!,;:]?(?:[" + String.valueOf(org.bukkit.ChatColor.COLOR_CHAR) + " \\n]|$))))", Pattern.CASE_INSENSITIVE); static { Builder builder = ImmutableMap.builder(); @@ -0,0 +0,0 @@ public final class CraftChatMessage { currentChatComponent = null; break; case 3: + if ( !( match.startsWith( "http://" ) || match.startsWith( "https://" ) ) ) { + match = "http://" + match; + } modifier.setChatClickable(new ChatClickable(EnumClickAction.OPEN_URL, match)); appendNewComponent(matcher.end(groupId)); modifier.setChatClickable((ChatClickable) null); @@ -0,0 +0,0 @@ public final class CraftChatMessage { appendNewComponent(message.length()); } - output = list.toArray(new IChatBaseComponent[0]); + output = list.toArray(new IChatBaseComponent[list.size()]); } private void appendNewComponent(int index) { --