Reformatting, instance ordering, "Inceptum" version name
This commit is contained in:
parent
45fe59df83
commit
5dd3c4b0a2
|
@ -25,7 +25,7 @@ public class InceptumConfig {
|
|||
Path json = MetaHolder.BASE_PATH.resolve("inceptum.json");
|
||||
if (Files.exists(gLaunch2)) {
|
||||
Files.move(gLaunch2, MetaHolder.CONFIG_PATH);
|
||||
} if (Files.exists(json)) {
|
||||
} else if (Files.exists(json)) {
|
||||
Files.move(json, MetaHolder.CONFIG_PATH);
|
||||
} else {
|
||||
saveConfig();
|
||||
|
|
|
@ -45,7 +45,7 @@ public class Updater {
|
|||
List<String> currentLibraries = new LinkedList<>(config.libraries);
|
||||
if (source.natives.containsKey(Utils.getCurrentFlavor())) {
|
||||
Set<String> natives = new LinkedHashSet<>();
|
||||
for (String lib : source.natives.get(Utils.getCurrentFlavor())){
|
||||
for (String lib : source.natives.get(Utils.getCurrentFlavor())) {
|
||||
downloadLibrary(source.repositories, lib, natives);
|
||||
}
|
||||
currentLibraries.addAll(natives);
|
||||
|
|
|
@ -58,8 +58,9 @@ public class Utils {
|
|||
/**
|
||||
* Joins strings with the provided separator but removes separators from the start and end of the strings
|
||||
* Example: join('/', "some/path/", "/some/subpath/", "example/") -> "some/path/some/subpath/example
|
||||
*
|
||||
* @param separator The separator to join with
|
||||
* @param segments The strings to join
|
||||
* @param segments The strings to join
|
||||
* @return The joined string
|
||||
*/
|
||||
public static String join(String separator, String... segments) {
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
package io.gitlab.jfronny.inceptum.common.api;
|
||||
|
||||
import io.gitlab.jfronny.commons.HttpUtils;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.common.Net;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.common.model.maven.*;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.w3c.dom.*;
|
||||
|
@ -204,6 +205,7 @@ public class MavenApi {
|
|||
private static Iterable<Node> iterable(NodeList list) {
|
||||
return () -> new Iterator<>() {
|
||||
int index = 0;
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
while (index < list.getLength() && isWhitespace(list.item(index))) {
|
||||
|
|
|
@ -2,7 +2,8 @@ package io.gitlab.jfronny.inceptum.common.model.inceptum;
|
|||
|
||||
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@GSerializable
|
||||
public class UpdateMetadata {
|
||||
|
|
|
@ -2,7 +2,8 @@ package io.gitlab.jfronny.inceptum.common.model.inceptum;
|
|||
|
||||
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@GSerializable
|
||||
public class WrapperConfig {
|
||||
|
|
|
@ -4,7 +4,6 @@ import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
|||
|
||||
import java.nio.file.Path;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ArtifactMeta {
|
||||
public static ArtifactMeta parse(String mavenNotation) {
|
||||
|
|
|
@ -33,7 +33,7 @@ public class DependencyNode {
|
|||
|
||||
private void generateTree(StringBuilder sb, String prefix, String childrenPrefix) {
|
||||
sb.append(prefix).append(name).append('\n');
|
||||
for (Iterator<DependencyNode> it = dependencies.iterator(); it.hasNext();) {
|
||||
for (Iterator<DependencyNode> it = dependencies.iterator(); it.hasNext(); ) {
|
||||
DependencyNode next = it.next();
|
||||
if (it.hasNext()) {
|
||||
next.generateTree(sb, childrenPrefix + "├── ", childrenPrefix + "│ ");
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package io.gitlab.jfronny.inceptum.cli.commands;
|
||||
|
||||
import io.gitlab.jfronny.inceptum.cli.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.exporter.Exporters;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
|
||||
import java.nio.file.Paths;
|
||||
|
|
|
@ -2,10 +2,10 @@ package io.gitlab.jfronny.inceptum.cli.commands;
|
|||
|
||||
import io.gitlab.jfronny.inceptum.cli.*;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.launch.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package io.gitlab.jfronny.inceptum.cli.commands;
|
||||
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.cli.Command;
|
||||
import io.gitlab.jfronny.inceptum.cli.CommandArgs;
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceList;
|
||||
|
||||
|
|
|
@ -5,14 +5,13 @@ import io.gitlab.jfronny.commons.throwable.ThrowingBiFunction;
|
|||
import io.gitlab.jfronny.inceptum.cli.*;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.Unchecked;
|
||||
|
||||
import java.io.*;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
|
@ -180,7 +179,7 @@ public class ModCommand extends Command {
|
|||
} catch (IOException e) {
|
||||
throw new Unchecked(e);
|
||||
}
|
||||
}, () -> Utils.LOGGER.error("Could not find any update for " + mod));
|
||||
}, () -> Utils.LOGGER.error("Could not find any update for " + mod));
|
||||
} catch (IOException e) {
|
||||
throw new IOException("Could not delete " + mod, e);
|
||||
} catch (Unchecked e) {
|
||||
|
|
|
@ -10,7 +10,6 @@ import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
|||
import io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public enum GtkEnvBackend implements LauncherEnv.EnvBackend { //TODO test
|
||||
|
|
|
@ -11,9 +11,9 @@ import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
|||
import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.launch.InstanceLauncher;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceList;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.launch.InstanceLauncher;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
|
|
@ -31,7 +31,7 @@ public class TestStart {
|
|||
private static void test() {
|
||||
GtkEnvBackend backend = GtkEnvBackend.INSTANCE;
|
||||
|
||||
backend.getInput("Ae", "IoU\naee", "Def", s -> {}, R::nop);
|
||||
backend.getInput("Ae", "IoU\naee", "Def", R::nop, R::nop);
|
||||
// backend.showInfo("Some message", "Title");
|
||||
// backend.showError("Yes!", "AAee");
|
||||
// backend.showError("Nes!", new ArrayIndexOutOfBoundsException("Top 500 cheese"));
|
||||
|
|
|
@ -14,7 +14,8 @@ import io.gitlab.jfronny.inceptum.common.Utils;
|
|||
import io.gitlab.jfronny.inceptum.gtk.util.I18n;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.*;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class MenuBuilder {
|
||||
private static final Object LOCK = new Object();
|
||||
|
|
|
@ -1,25 +1,27 @@
|
|||
package io.gitlab.jfronny.inceptum.gtk.util;
|
||||
|
||||
import ch.bailu.gtk.type.Str;
|
||||
import org.jetbrains.annotations.PropertyKey;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class I18n {
|
||||
private static final ResourceBundle bundle = ResourceBundle.getBundle("inceptum");
|
||||
private static final String BUNDLE = "inceptum";
|
||||
private static final ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE);
|
||||
|
||||
public static String get(String key) {
|
||||
public static String get(@PropertyKey(resourceBundle = BUNDLE) String key) {
|
||||
return bundle.getString(key);
|
||||
}
|
||||
|
||||
public static String get(String key, Object... args) {
|
||||
public static String get(@PropertyKey(resourceBundle = BUNDLE) String key, Object... args) {
|
||||
return String.format(bundle.getString(key), args);
|
||||
}
|
||||
|
||||
public static Str str(String key) {
|
||||
public static Str str(@PropertyKey(resourceBundle = BUNDLE) String key) {
|
||||
return new Str(get(key));
|
||||
}
|
||||
|
||||
public static Str str(String key, Object... args) {
|
||||
public static Str str(@PropertyKey(resourceBundle = BUNDLE) String key, Object... args) {
|
||||
return new Str(get(key, args));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -148,7 +148,7 @@ public class MainWindow extends ApplicationWindow {
|
|||
if (gridButton != null) gridButton.setVisible(GTK.is(InceptumConfig.listView));
|
||||
try {
|
||||
instanceList.clear();
|
||||
InstanceList.forEach(instanceList::add);
|
||||
instanceList.addAll(InstanceList.ordered());
|
||||
instanceListIndex.setSize(instanceList.size());
|
||||
|
||||
if (InstanceList.isEmpty()) stack.setVisibleChild(empty);
|
||||
|
|
|
@ -6,11 +6,11 @@ import imgui.flag.ImGuiConfigFlags;
|
|||
import imgui.gl3.ImGuiImplGl3;
|
||||
import imgui.glfw.ImGuiImplGlfw;
|
||||
import io.gitlab.jfronny.commons.log.*;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.common.model.inceptum.UpdateMetadata;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.MainWindow;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.Window;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceList;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
@ -27,7 +27,8 @@ import java.io.InputStream;
|
|||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.IntBuffer;
|
||||
import java.nio.file.*;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.*;
|
||||
|
||||
public class GuiMain {
|
||||
|
|
|
@ -6,13 +6,11 @@ import io.gitlab.jfronny.commons.cache.MemoryOperationResultCache;
|
|||
import io.gitlab.jfronny.commons.tuple.Tuple;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.GuiUtil;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricVersionLoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.McApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceNameTool;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricVersionLoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -6,25 +6,22 @@ import io.gitlab.jfronny.inceptum.common.Utils;
|
|||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.edit.InstanceEditWindow;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.launch.InstanceLauncher;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceList;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.launch.InstanceLauncher;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.*;
|
||||
|
||||
public class InstanceView {
|
||||
public static void draw() throws IOException {
|
||||
//TODO clean up
|
||||
List<Instance> entries = new ArrayList<>();
|
||||
InstanceList.forEach(entries::add);
|
||||
if (entries.isEmpty()) {
|
||||
if (InstanceList.isEmpty()) {
|
||||
ImGui.text("You have not yet created an instance");
|
||||
ImGui.text("Use File->New Instance to do so");
|
||||
return;
|
||||
}
|
||||
if (ImGui.beginTable("Instances", 2, ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.Borders)) {
|
||||
for (Instance instance : entries) {
|
||||
for (Instance instance : InstanceList.ordered()) {
|
||||
if (instance.isSetupLocked()) {
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text("Setting up");
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package io.gitlab.jfronny.inceptum.imgui.window;
|
||||
|
||||
import imgui.ImGui;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.BuildMetadata;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
|
|
@ -3,17 +3,15 @@ package io.gitlab.jfronny.inceptum.imgui.window;
|
|||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImString;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeMod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.CurseforgeApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.ModrinthApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeMod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModrinthModSource;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
package io.gitlab.jfronny.inceptum.imgui.window;
|
||||
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.dialog.ProcessStateWatcherWindow;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceList;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -2,8 +2,6 @@ package io.gitlab.jfronny.inceptum.imgui.window;
|
|||
|
||||
import imgui.ImGui;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class LogWindow extends Window {
|
||||
private final Iterable<String> source;
|
||||
|
||||
|
|
|
@ -5,15 +5,13 @@ import imgui.flag.ImGuiWindowFlags;
|
|||
import imgui.type.ImBoolean;
|
||||
import imgui.type.ImInt;
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.*;
|
||||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||
import io.gitlab.jfronny.inceptum.imgui.control.InstanceView;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
|
||||
public class MainWindow extends Window {
|
||||
|
|
|
@ -48,7 +48,7 @@ public class NewInstanceWindow extends Window {
|
|||
ImGui.spacing();
|
||||
ImGui.text("Below, you can import a CurseForge, Modrinth or MultiMC pack");
|
||||
if (ImGui.button("Import")) {
|
||||
List<Path> packs = GuiMain.openFileDialog("Import Pack", null, new String[] {"*.zip", "*.mrpack"}, "Modpack", true);
|
||||
List<Path> packs = GuiMain.openFileDialog("Import Pack", null, new String[]{"*.zip", "*.mrpack"}, "Modpack", true);
|
||||
if (!packs.isEmpty()) {
|
||||
ProcessState state = new ProcessState(Importers.MAX_STEPS * packs.size(), "Initializing");
|
||||
GuiMain.open(new ProcessStateWatcherWindow("Importing", "Could not import packs", state, cToken -> {
|
||||
|
|
|
@ -5,7 +5,6 @@ import imgui.type.ImBoolean;
|
|||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
|
||||
public abstract class Window implements Closeable {
|
||||
private final String name;
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package io.gitlab.jfronny.inceptum.imgui.window.dialog;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiWindowFlags;
|
||||
import io.gitlab.jfronny.commons.throwable.ThrowingConsumer;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.Window;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ public class ExportTab extends Tab {
|
|||
GuiMain.open(new TextBoxWindow("Version", "Please enter the current version of your modpack", "1.0", version -> {
|
||||
String defaultName = window.instance.getName() + " " + version + " (" + exporter.getName() + ")." + exporter.getFileExtension();
|
||||
String filter = "*." + exporter.getFileExtension();
|
||||
Path exportPath = GuiMain.saveFileDialog("Export " + exporter.getName() + " Pack", defaultName, new String[] {filter}, exporter.getName() + " packs (" + filter + ")");
|
||||
Path exportPath = GuiMain.saveFileDialog("Export " + exporter.getName() + " Pack", defaultName, new String[]{filter}, exporter.getName() + " packs (" + filter + ")");
|
||||
if (exportPath != null) {
|
||||
ProcessState state = new ProcessState(Exporters.STEP_COUNT, "Initializing...");
|
||||
GuiMain.open(new ProcessStateWatcherWindow("Exporting", "Could not export pack", state, cToken -> {
|
||||
|
|
|
@ -6,11 +6,11 @@ import imgui.type.ImString;
|
|||
import io.gitlab.jfronny.commons.OSUtils;
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;
|
||||
import io.gitlab.jfronny.inceptum.imgui.control.Tab;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.GuiUtil;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
|
|
|
@ -2,14 +2,13 @@ package io.gitlab.jfronny.inceptum.imgui.window.edit;
|
|||
|
||||
import imgui.ImGui;
|
||||
import imgui.type.ImBoolean;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||
import io.gitlab.jfronny.inceptum.imgui.control.Tab;
|
||||
import io.gitlab.jfronny.inceptum.imgui.window.AddModWindow;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -3,7 +3,6 @@ package io.gitlab.jfronny.inceptum.launcher.api;
|
|||
import io.gitlab.jfronny.gson.compile.util.GList;
|
||||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||
import io.gitlab.jfronny.inceptum.common.Net;
|
||||
import io.gitlab.jfronny.inceptum.common.api.MavenApi;
|
||||
import io.gitlab.jfronny.inceptum.common.model.maven.ArtifactMeta;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.fabric.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.api;
|
||||
|
||||
import io.gitlab.jfronny.commons.OSUtils;
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.common.Net;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.api;
|
||||
|
||||
import io.gitlab.jfronny.gson.compile.util.GList;
|
||||
import io.gitlab.jfronny.gson.reflect.TypeToken;
|
||||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||
import io.gitlab.jfronny.inceptum.common.Net;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Type;
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.util.*;
|
||||
|
||||
public class ModrinthApi {
|
||||
|
|
|
@ -4,7 +4,8 @@ import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
|
|||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.OauthTokenResponse;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.XboxLiveAuthResponse;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Date;
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.gson;
|
||||
|
||||
import io.gitlab.jfronny.gson.*;
|
||||
import io.gitlab.jfronny.gson.JsonParseException;
|
||||
import io.gitlab.jfronny.gson.compile.util.GList;
|
||||
import io.gitlab.jfronny.gson.stream.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class MinecraftArgumentAdapter {
|
||||
public static void write(JsonWriter writer, MinecraftArgument rules) throws IOException {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.gson;
|
||||
|
||||
import io.gitlab.jfronny.commons.OSUtils;
|
||||
import io.gitlab.jfronny.gson.*;
|
||||
import io.gitlab.jfronny.gson.JsonParseException;
|
||||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.Rules;
|
||||
|
|
|
@ -4,9 +4,9 @@ import io.gitlab.jfronny.commons.HashUtils;
|
|||
import io.gitlab.jfronny.gson.compile.annotations.GPrefer;
|
||||
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.response.FingerprintMatchesResponse;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.CurseforgeApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.ModrinthApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.response.FingerprintMatchesResponse;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.*;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
@ -14,7 +14,8 @@ import java.io.IOException;
|
|||
import java.net.URISyntaxException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@GSerializable
|
||||
public class ModMeta {
|
||||
|
|
|
@ -16,6 +16,7 @@ import java.util.Set;
|
|||
|
||||
public class CurseForgeExporter extends Exporter<CurseforgeModpackManifest> {
|
||||
private static final String OVERRIDES_DIR_DEFAULT = "overrides";
|
||||
|
||||
public CurseForgeExporter() {
|
||||
super("CurseForge", "zip", OVERRIDES_DIR_DEFAULT);
|
||||
}
|
||||
|
@ -44,7 +45,7 @@ public class CurseForgeExporter extends Exporter<CurseforgeModpackManifest> {
|
|||
|
||||
@Override
|
||||
protected void addMods(Path root, Instance instance, Iterable<Mod> mods, CurseforgeModpackManifest manifest, Path modsOverrides) throws IOException {
|
||||
modsLoop: for(Mod mod : mods) {
|
||||
modsLoop: for (Mod mod : mods) {
|
||||
if (mod.needsInject()) {
|
||||
Set<ModSource> sources = mod.getMetadata().sources.keySet();
|
||||
for (ModSource source : sources) {
|
||||
|
|
|
@ -2,8 +2,9 @@ package io.gitlab.jfronny.inceptum.launcher.system.exporter;
|
|||
|
||||
import io.gitlab.jfronny.commons.StreamIterable;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.gitignore.IgnoringWalk;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -23,6 +24,7 @@ public abstract class Exporter<Manifest> {
|
|||
}
|
||||
|
||||
protected abstract Manifest generateManifests(Path root, Instance instance, String version) throws IOException;
|
||||
|
||||
protected abstract void addMods(Path root, Instance instance, Iterable<Mod> mods, Manifest manifest, Path modsOverrides) throws IOException;
|
||||
|
||||
public void generate(ProcessState state, Instance instance, Path exportPath, String version) throws IOException {
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ModrinthExporter extends Exporter<ModrinthModpackManifest> {
|
|||
|
||||
@Override
|
||||
protected void addMods(Path root, Instance instance, Iterable<Mod> mods, ModrinthModpackManifest manifest, Path modsOverrides) throws IOException {
|
||||
modsLoop: for(Mod mod : mods) {
|
||||
modsLoop: for (Mod mod : mods) {
|
||||
if (mod.needsInject()) {
|
||||
Set<ModSource> sources = mod.getMetadata().sources.keySet();
|
||||
for (ModSource source : sources) {
|
||||
|
|
|
@ -20,30 +20,30 @@ public class MultiMCExporter extends Exporter<MMCPackMeta> {
|
|||
protected MMCPackMeta generateManifests(Path root, Instance instance, String version) throws IOException {
|
||||
{
|
||||
Files.writeString(root.resolve("instance.cfg"), String.format("""
|
||||
ForgeVersion=
|
||||
InstanceType=OneSix
|
||||
IntendedVersion=
|
||||
JoinServerOnLaunch=false
|
||||
LWJGLVersion=
|
||||
LiteloaderVersion=
|
||||
LogPrePostOutput=true
|
||||
MCLaunchMethod=LauncherPart
|
||||
OverrideCommands=false
|
||||
OverrideConsole=false
|
||||
OverrideGameTime=false
|
||||
OverrideJavaArgs=false
|
||||
OverrideJavaLocation=false
|
||||
OverrideMCLaunchMethod=false
|
||||
OverrideMemory=false
|
||||
OverrideNativeWorkarounds=false
|
||||
OverrideWindow=false
|
||||
iconKey=default
|
||||
lastLaunchTime=%s
|
||||
lastTimePlayed=0
|
||||
name=%s
|
||||
notes=
|
||||
totalTimePlayed=0
|
||||
""", Instant.now().toEpochMilli(), instance.getName()));
|
||||
ForgeVersion=
|
||||
InstanceType=OneSix
|
||||
IntendedVersion=
|
||||
JoinServerOnLaunch=false
|
||||
LWJGLVersion=
|
||||
LiteloaderVersion=
|
||||
LogPrePostOutput=true
|
||||
MCLaunchMethod=LauncherPart
|
||||
OverrideCommands=false
|
||||
OverrideConsole=false
|
||||
OverrideGameTime=false
|
||||
OverrideJavaArgs=false
|
||||
OverrideJavaLocation=false
|
||||
OverrideMCLaunchMethod=false
|
||||
OverrideMemory=false
|
||||
OverrideNativeWorkarounds=false
|
||||
OverrideWindow=false
|
||||
iconKey=default
|
||||
lastLaunchTime=%s
|
||||
lastTimePlayed=0
|
||||
name=%s
|
||||
notes=
|
||||
totalTimePlayed=0
|
||||
""", Instant.now().toEpochMilli(), instance.getName()));
|
||||
}
|
||||
{
|
||||
MMCPackMeta manifest = new MMCPackMeta();
|
||||
|
|
|
@ -10,7 +10,8 @@ import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
|
|||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -33,6 +34,7 @@ public abstract class Importer<T> {
|
|||
}
|
||||
|
||||
protected abstract IntermediaryManifest validateManifest(T manifest, Path sourceRoot) throws IOException;
|
||||
|
||||
protected abstract void downloadMods(T manifest, Path instanceDir, ProcessState state) throws IOException;
|
||||
|
||||
private String createVersionString(String gameVersion, @Nullable String fabricVersion) throws IOException {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.instance;
|
||||
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.common.R;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
|
||||
|
@ -33,6 +32,7 @@ public record Instance(String id, Path path, InstanceMeta meta, ModsDirScanner m
|
|||
|
||||
/**
|
||||
* Converts any string into a set of lowercase ascii chars
|
||||
*
|
||||
* @param input string to convert
|
||||
* @return a string matching [a-p]*
|
||||
*/
|
||||
|
@ -42,8 +42,8 @@ public record Instance(String id, Path path, InstanceMeta meta, ModsDirScanner m
|
|||
int by = Byte.toUnsignedInt(b);
|
||||
int ch2 = by & 15; // right bits
|
||||
int ch1 = (by - ch2) / 16; // left bits
|
||||
result.append((char)('a' + ch1));
|
||||
result.append((char)('a' + ch2));
|
||||
result.append((char) ('a' + ch1));
|
||||
result.append((char) ('a' + ch2));
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.instance;
|
||||
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.commons.throwable.*;
|
||||
import io.gitlab.jfronny.commons.throwable.ThrowingConsumer;
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
|
||||
|
@ -10,7 +10,8 @@ import io.gitlab.jfronny.inceptum.launcher.util.FileBackedRef;
|
|||
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.*;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
|
||||
public class InstanceList {
|
||||
|
@ -29,13 +30,18 @@ public class InstanceList {
|
|||
}
|
||||
}
|
||||
|
||||
public static Set<Instance> ordered() throws IOException {
|
||||
TreeSet<Instance> set = new TreeSet<>();
|
||||
forEach(set::add);
|
||||
return set.descendingSet();
|
||||
}
|
||||
|
||||
public static <TEx extends Exception> void forEach(ThrowingConsumer<Instance, TEx> target) throws IOException, TEx {
|
||||
Objects.requireNonNull(target);
|
||||
if (!Files.exists(MetaHolder.INSTANCE_DIR)) Files.createDirectories(MetaHolder.INSTANCE_DIR);
|
||||
try {
|
||||
JFiles.listTo(MetaHolder.INSTANCE_DIR, path -> {
|
||||
if (!Files.isDirectory(path)) return;
|
||||
if (!Files.exists(path.resolve("instance.json"))) return;
|
||||
if (!isInstance(path)) return;
|
||||
target.accept(read(path));
|
||||
});
|
||||
} catch (Exception e) {
|
||||
|
@ -46,7 +52,7 @@ public class InstanceList {
|
|||
|
||||
public static boolean isEmpty() throws IOException {
|
||||
if (!Files.exists(MetaHolder.INSTANCE_DIR)) return true;
|
||||
return JFiles.list(MetaHolder.INSTANCE_DIR, Files::isDirectory).isEmpty();
|
||||
return JFiles.list(MetaHolder.INSTANCE_DIR, InstanceList::isInstance).isEmpty();
|
||||
}
|
||||
|
||||
public static Instance read(Path instancePath) throws IOException {
|
||||
|
@ -62,6 +68,10 @@ public class InstanceList {
|
|||
}
|
||||
}
|
||||
|
||||
private static boolean isInstance(Path path) {
|
||||
return Files.isDirectory(path) && Files.exists(path.resolve("instance.json"));
|
||||
}
|
||||
|
||||
private record IEntry(Path path, FileBackedRef<InstanceMeta> meta) implements Closeable {
|
||||
@Override
|
||||
public String toString() {
|
||||
|
|
|
@ -9,6 +9,7 @@ import java.util.regex.Pattern;
|
|||
|
||||
public class InstanceNameTool {
|
||||
private static final Pattern NUMBER_PATTERN = Pattern.compile("^(.*)\\s*\\(\\d+\\)$");
|
||||
|
||||
public static String getDefaultName(String versionId, boolean fabric) {
|
||||
return fabric ? "Fabric " + versionId : versionId;
|
||||
}
|
||||
|
|
|
@ -1,20 +1,19 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.launch;
|
||||
|
||||
import io.gitlab.jfronny.commons.OSUtils;
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.inceptum.common.api.MavenApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.McApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.account.AuthInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ArtifactInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.steps.DownloadLibrariesStep;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.VersionInfoLibraryResolver;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
@ -88,7 +87,8 @@ public class InstanceLauncher {
|
|||
classPath.append(File.pathSeparatorChar);
|
||||
classPath.append(DownloadLibrariesStep.getLaunchWrapperArtifact().getLocalPath());
|
||||
// JVM arguments
|
||||
if (instance.meta().arguments != null && instance.meta().arguments.jvm != null) args.addAll(instance.meta().arguments.jvm);
|
||||
if (instance.meta().arguments != null && instance.meta().arguments.jvm != null)
|
||||
args.addAll(instance.meta().arguments.jvm);
|
||||
if (launchType == LaunchType.Client && versionInfo.arguments != null)
|
||||
args.addAll(parse(versionInfo.arguments.jvm, versionInfo, instance, classPath.toString(), authInfo));
|
||||
if (instance.meta().minMem != null) args.add("-Xms" + instance.meta().minMem);
|
||||
|
@ -211,7 +211,7 @@ public class InstanceLauncher {
|
|||
return arg
|
||||
// game args
|
||||
.replace("${auth_player_name}", authInfo.name())
|
||||
.replace("${version_name}", instance.getGameVersion())
|
||||
.replace("${version_name}", "Inceptum")
|
||||
.replace("${game_directory}", instance.path().toString())
|
||||
.replace("${assets_root}", MetaHolder.ASSETS_DIR.toString())
|
||||
.replace("${assets_index_name}", info.assets)
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.mds;
|
||||
|
||||
import io.gitlab.jfronny.commons.io.JFiles;
|
||||
import io.gitlab.jfronny.gson.JsonParseException;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricModJson;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.fabric.GC_FabricModJson;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_ModMeta;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.mds.noop.NoopMod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.mds.noop.NoopMod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
@ -19,7 +17,8 @@ import java.io.IOException;
|
|||
import java.net.URISyntaxException;
|
||||
import java.nio.file.*;
|
||||
import java.util.List;
|
||||
import java.util.function.*;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
public record FileScanTask(ProtoInstance instance, Path file, BiConsumer<Path, Mod> discovered, String gameVersion) implements Runnable {
|
||||
@Override
|
||||
|
|
|
@ -43,7 +43,7 @@ public class MdsMod extends Mod {
|
|||
@Override
|
||||
public String[] getDescription() {
|
||||
if (fmj != null && fmj.description != null) return fmj.description.split("\n");
|
||||
else return new String[] {"No description is available", "You may need to wait for its metadata to be scanned"};
|
||||
else return new String[]{"No description is available", "You may need to wait for its metadata to be scanned"};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -4,7 +4,8 @@ import io.gitlab.jfronny.commons.io.JFiles;
|
|||
import io.gitlab.jfronny.inceptum.common.R;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.mds.noop.NoopMod;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser;
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public class NoopMod extends Mod {
|
|||
|
||||
@Override
|
||||
public String[] getDescription() {
|
||||
return new String[] {
|
||||
return new String[]{
|
||||
"Noop mod",
|
||||
"Any actions on this mod are unsupported"
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.setup;
|
||||
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.VersionInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
|
||||
public record SetupStepInfo(VersionInfo version,
|
||||
|
|
|
@ -2,10 +2,10 @@ package io.gitlab.jfronny.inceptum.launcher.system.setup;
|
|||
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.McApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.VersionInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.VersionsListInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.steps.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
|
||||
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.AssetIndex;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.McApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.AssetIndex;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
|
|
|
@ -3,8 +3,8 @@ package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
|
|||
import io.gitlab.jfronny.commons.ComparableVersion;
|
||||
import io.gitlab.jfronny.inceptum.common.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.mojang.MojangFileDownload;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
|
||||
|
||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.LoaderInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||
import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -6,8 +6,8 @@ import io.gitlab.jfronny.commons.tuple.Triple;
|
|||
import io.gitlab.jfronny.commons.tuple.Tuple;
|
||||
import io.gitlab.jfronny.inceptum.common.Net;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.CurseforgeApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
|
|
|
@ -5,8 +5,8 @@ import io.gitlab.jfronny.commons.cache.MemoryOperationResultCache;
|
|||
import io.gitlab.jfronny.commons.tuple.Tuple;
|
||||
import io.gitlab.jfronny.inceptum.common.Net;
|
||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.*;
|
||||
import io.gitlab.jfronny.inceptum.launcher.api.ModrinthApi;
|
||||
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
|
|
|
@ -7,7 +7,8 @@ import java.io.Closeable;
|
|||
import java.io.IOException;
|
||||
import java.net.*;
|
||||
import java.nio.file.*;
|
||||
import java.security.*;
|
||||
import java.security.CodeSource;
|
||||
import java.security.ProtectionDomain;
|
||||
import java.security.cert.Certificate;
|
||||
import java.util.*;
|
||||
import java.util.stream.Stream;
|
||||
|
@ -19,6 +20,7 @@ import java.util.stream.Stream;
|
|||
public class NioClassLoader extends ClassLoader implements Closeable {
|
||||
private final Set<Path> sources = new LinkedHashSet<>();
|
||||
private final Set<Closeable> closeables = new HashSet<>();
|
||||
|
||||
static {
|
||||
registerAsParallelCapable();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue