From 77519bde9d8a09edc4cd919eb468ed6615b546f5 Mon Sep 17 00:00:00 2001 From: coolGi Date: Thu, 17 Nov 2022 21:44:43 +1030 Subject: [PATCH 1/2] Updated updater screen (thanks a lot to Pankakes#0686) --- .../main/resources/assets/lod/lang/en_us.json | 22 ++++++++++++++---- .../assets/lod/textures/gui/changelog.png | Bin 0 -> 299 bytes 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 core/src/main/resources/assets/lod/textures/gui/changelog.png diff --git a/core/src/main/resources/assets/lod/lang/en_us.json b/core/src/main/resources/assets/lod/lang/en_us.json index ff805d88f..4f94b3b8b 100644 --- a/core/src/main/resources/assets/lod/lang/en_us.json +++ b/core/src/main/resources/assets/lod/lang/en_us.json @@ -7,13 +7,13 @@ "lod.updater.title": "Distant Horizons auto updater", "lod.updater.text1": - "§lUpdate for Distant Horizons available!", + "§lNew update available!", "lod.updater.text2": - "§fWould you like to automatically update from version %s§f to %s§f?", + "§fDo you want to update from %s§f to %s§f?", "lod.updater.later": - "Later", + "Not now", "lod.updater.never": - "Dont show again", + "Don't show again", "lod.updater.update": "Update", "lod.updater.update.@tooltip": @@ -24,6 +24,20 @@ "Every time an update is available, it would update\n(§6WARNING§r: It wont prompt the user on an update, tough it would keep the mod up to date)", + "lod.general.back": + "Back", + "lod.general.next": + "Next", + "lod.general.done": + "Done", + "lod.general.cancel": + "Cancel", + "lod.general.yes": + "Yes", + "lod.general.no": + "No", + + "lod.config.title": diff --git a/core/src/main/resources/assets/lod/textures/gui/changelog.png b/core/src/main/resources/assets/lod/textures/gui/changelog.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7c50d0dd74bea5074f00bd02bdb115ccc7f232 GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOR-^lnk5hS=4k__`PV-Ol@H(5E z00ciieB(X5tMqiitAp7JXBgPn*xD*Ls~i6L{rk7Qu(5X7bivdIn_Ax%m|bb@X^H8$ zY*utwa5cB_9E)VBY@Kv9_W$d3`wwSw kvah!}H^+#JO_71&4y)@69i^a$K;JTWy85}Sb4q9e0JKMJwEzGB literal 0 HcmV?d00001 From b64fdf214eeeb3aac8f20cd84c4693df67e2bfb0 Mon Sep 17 00:00:00 2001 From: coolGi Date: Fri, 18 Nov 2022 19:12:25 +1030 Subject: [PATCH 2/2] Added the ChangelogScreen. New changelog screen done --- .../core/jar/installer/MarkdownFormatter.java | 67 +++++++++++++++++++ .../core/jar/installer/ModrinthGetter.java | 3 + .../lod/core/jar/installer/WebDownloader.java | 16 +---- 3 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 core/src/main/java/com/seibel/lod/core/jar/installer/MarkdownFormatter.java diff --git a/core/src/main/java/com/seibel/lod/core/jar/installer/MarkdownFormatter.java b/core/src/main/java/com/seibel/lod/core/jar/installer/MarkdownFormatter.java new file mode 100644 index 000000000..ab07e0967 --- /dev/null +++ b/core/src/main/java/com/seibel/lod/core/jar/installer/MarkdownFormatter.java @@ -0,0 +1,67 @@ +package com.seibel.lod.core.jar.installer; + +import java.util.Arrays; +import java.util.List; +import java.util.regex.Pattern; + +/** + * Formats Markdown to other markup languages + * + * @author coolGi + */ +public class MarkdownFormatter { + public static abstract class GenericFormat { + /** Converts Markdown text to a different format */ + public String convertFrom(String original) { + System.out.println("Function \"convertFrom\" for \""+this.getClass().getSimpleName()+"\" not done yet"); + return null; + } + /** Converts formatted text back to Markdown */ + public String convertTo(String original) { + System.out.println("Function \"convertTo\" for \""+this.getClass().getSimpleName()+"\" not done yet"); + return null; + } + } + + + /** Split a string every n characters */ + public static List splitString(String text, int n) { + return Arrays.asList( + text.split("(?<=\\G.{"+ n +"})") + ); + } + private static String replaceRegex(String text, String regex, String start, String end) { + while (Pattern.compile(regex).matcher(text).find()) { + text = text.replaceFirst(regex, start).replaceFirst(regex, end); + } + return text; + } + + + + + public static class HTMLFormat extends GenericFormat { + @Override + public String convertTo(String original) { + original = original.replaceAll("\\\\\\n", "
") // Removes the "\" used in markdown to create new line + .replaceAll("\\n", "
"); // Fix the new line + + original = replaceRegex(original, "\\*\\*", "", ""); // Makes the text bold + original = replaceRegex(original, "~~", "", ""); // Striketrough +// original = replaceRegex(original, "_", "", ""); // Italic + + return original; + } + } + + public static class MinecraftFormat extends GenericFormat { + @Override + public String convertTo(String original) { + original = original.replaceAll("
", "\n"); // New lines + original = replaceRegex(original, "\\*\\*", "§l", "§r"); // Bold + original = replaceRegex(original, "~~", "§m", "§r"); // Striketrough +// original = replaceRegex(original, "_", "§n", "§r"); // Italic + return original; + } + } +} diff --git a/core/src/main/java/com/seibel/lod/core/jar/installer/ModrinthGetter.java b/core/src/main/java/com/seibel/lod/core/jar/installer/ModrinthGetter.java index 475dae491..7da9a8921 100644 --- a/core/src/main/java/com/seibel/lod/core/jar/installer/ModrinthGetter.java +++ b/core/src/main/java/com/seibel/lod/core/jar/installer/ModrinthGetter.java @@ -76,6 +76,9 @@ public class ModrinthGetter { } } + public static String getLatestIDForVersion(String mcVer) { + return mcVerToReleaseID.get(mcVer).get(0); + } public static String getLatestNameForVersion(String mcVer) { return releaseNames.get(mcVerToReleaseID.get(mcVer).get(0)); } diff --git a/core/src/main/java/com/seibel/lod/core/jar/installer/WebDownloader.java b/core/src/main/java/com/seibel/lod/core/jar/installer/WebDownloader.java index 9d4be6af5..cf160b5e2 100644 --- a/core/src/main/java/com/seibel/lod/core/jar/installer/WebDownloader.java +++ b/core/src/main/java/com/seibel/lod/core/jar/installer/WebDownloader.java @@ -72,20 +72,8 @@ public class WebDownloader { } public static String formatMarkdownToHtml(String md, int width) { - String str = String.format("
%s
", width, md) - .replaceAll("\\\\\\n", "
") // Removes the "\" used in markdown to create new line - .replaceAll("\\n", "
"); // Fix the new line - - boolean counter = false; - while (str.contains("**")) { - if (counter) - str = str.replaceFirst("\\*\\*", ""); - else - str = str.replaceFirst("\\*\\*", ""); - counter = !counter; - } - - return str; + String str = String.format("
%s
", width, md); + return new MarkdownFormatter.HTMLFormat().convertTo(str); }