Inceptum/launcher/src/main/java/io/gitlab/jfronny/inceptum/launcher/system/setup/steps/WriteMetadataStep.java

47 lines
1.9 KiB
Java
Raw Normal View History

2022-10-27 20:54:55 +02:00
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
2021-10-29 22:50:42 +02:00
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta.GC_InstanceMeta;
2022-09-04 21:21:24 +02:00
import io.gitlab.jfronny.inceptum.common.MetaHolder;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
2022-10-27 20:54:55 +02:00
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
2022-11-02 00:38:04 +01:00
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
2021-10-29 22:50:42 +02:00
import java.io.IOException;
import java.nio.file.Files;
2021-10-29 22:50:42 +02:00
import java.nio.file.Path;
import java.util.concurrent.atomic.AtomicBoolean;
2021-10-29 22:50:42 +02:00
public class WriteMetadataStep implements Step {
@Override
public void execute(SetupStepInfo info, AtomicBoolean stopThread) throws IOException {
2021-10-30 19:26:59 +02:00
info.setState("Writing metadata");
Path instance = MetaHolder.INSTANCE_DIR.resolve(info.name);
Path metaPath = instance.resolve("instance.json");
if (!Files.exists(metaPath)) {
InstanceMeta meta = new InstanceMeta();
meta.version = info.version.id;
GC_InstanceMeta.write(meta, metaPath);
}
Instance.setSetupLock(instance, false);
2021-10-30 19:26:59 +02:00
if (!Files.exists(instance.resolve(".gitignore"))) {
Files.writeString(instance.resolve(".gitignore"), """
realms_persistence.json
saves/
screenshots/
logs/
fabricloader.log
2021-10-30 19:26:59 +02:00
.mixin.out/
.fabric/
2021-10-30 22:05:24 +02:00
*.lock
eula.txt
world/
usercache.json
realms_persistence.json""");
}
if (!Files.exists(instance.resolve(".iceignore"))) {
Files.writeString(instance.resolve(".iceignore"), "instance.json");
2021-10-30 19:26:59 +02:00
}
2021-10-29 22:50:42 +02:00
}
}