From 2dce675fe20de1c4d7613eab3bc2dcde7962f5ba Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Mon, 18 Mar 2019 23:24:50 +0800 Subject: [PATCH] Ignore all color formatting in world name. --- .../java/org/jackhuang/hmcl/ui/versions/WorldListItem.java | 3 ++- .../src/main/java/org/jackhuang/hmcl/util/StringUtils.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java index 7a2d1f4e3..b41a3ae4a 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java @@ -35,6 +35,7 @@ import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; +import static org.jackhuang.hmcl.util.StringUtils.parseColorEscapes; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; public class WorldListItem extends Control { @@ -48,7 +49,7 @@ public class WorldListItem extends Control { this.world = world; this.simpleDateFormat = new SimpleDateFormat(i18n("world.time")); - title.set(world.getWorldName()); + title.set(parseColorEscapes(world.getWorldName())); subtitle.set(i18n("world.description", world.getFileName(), simpleDateFormat.format(new Date(world.getLastPlayed())), world.getGameVersion() == null ? i18n("message.unknown") : world.getGameVersion())); } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java index 354950a0f..10173d10d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java @@ -213,4 +213,8 @@ public final class StringUtils { return result; } + + public static String parseColorEscapes(String original) { + return original.replaceAll("\u00A7\\d", ""); + } }