From 6f0534529cb2fe258da0935f53d9de5d9ca67aad Mon Sep 17 00:00:00 2001 From: mfishma Date: Thu, 28 May 2026 10:50:12 -0700 Subject: [PATCH] added a runUi gradle task, fixed README --- README.md | 2 +- build.gradle.kts | 11 +++++++++++ .../mappingsgenerator/helper/MappingUi.java | 17 +++++++++++++++-- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5e00445..8d5ee8e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Generates and compiles mapping files for Via*. Current mapping files can be foun ## Non-technical editing of existing mappings If you're just here to edit an existing mapping of a block, item, or an entity name, you can use the helper UI. -Via IntelliJ or the command line, run `BlockStateMappingUi` main function. After generating the output NBT files, +Run the `MappingUi` main function via IntelliJ or via the command line with `./gradlew runUi`. After generating the output NBT files, you can find them in the `output/` directory. ## Generating json mapping files for a Minecraft version diff --git a/build.gradle.kts b/build.gradle.kts index 4a6a9d6..ca52f87 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -76,4 +76,15 @@ tasks { test { useJUnitPlatform() } + + register("runUi") { + group = "application" + description = "Starts the mapping helper UI" + mainClass.set("com.viaversion.mappingsgenerator.helper.MappingUi") + classpath = sourceSets["main"].runtimeClasspath + standardInput = System.`in` + if (project.hasProperty("args")) { + args = (project.property("args") as String).split(" ") + } + } } diff --git a/src/main/java/com/viaversion/mappingsgenerator/helper/MappingUi.java b/src/main/java/com/viaversion/mappingsgenerator/helper/MappingUi.java index 40ac277..98e7fd9 100644 --- a/src/main/java/com/viaversion/mappingsgenerator/helper/MappingUi.java +++ b/src/main/java/com/viaversion/mappingsgenerator/helper/MappingUi.java @@ -221,11 +221,20 @@ private static void sendCopyResult(final HttpExchange exchange, final CopyResult } private static Path ideaProjectsDir() { + final Path parent = Path.of("").toAbsolutePath().getParent(); + if (parent != null && (Files.exists(parent.resolve("ViaVersion")) || Files.exists(parent.resolve("viaversion")) + || Files.exists(parent.resolve("ViaBackwards")) || Files.exists(parent.resolve("viabackwards")))) { + return parent; + } return Path.of(System.getProperty("user.home"), "IdeaProjects"); } private static Path viaVersionResourceDir() { - return ideaProjectsDir().resolve("ViaVersion").resolve("common").resolve("src").resolve("main").resolve("resources") + Path base = ideaProjectsDir().resolve("ViaVersion"); + if (!Files.exists(base)) { + base = ideaProjectsDir().resolve("viaversion"); + } + return base.resolve("common").resolve("src").resolve("main").resolve("resources") .resolve("assets").resolve("viaversion"); } @@ -234,7 +243,11 @@ private static Path viaVersionDataDir() { } private static Path viaBackwardsDataDir() { - return ideaProjectsDir().resolve("ViaBackwards").resolve("common").resolve("src").resolve("main").resolve("resources") + Path base = ideaProjectsDir().resolve("ViaBackwards"); + if (!Files.exists(base)) { + base = ideaProjectsDir().resolve("viabackwards"); + } + return base.resolve("common").resolve("src").resolve("main").resolve("resources") .resolve("assets").resolve("viabackwards").resolve("data"); }