2022-01-19 19:14:13 +01:00
|
|
|
package io.gitlab.jfronny.inceptum.util.install.steps;
|
2021-10-29 22:50:42 +02:00
|
|
|
|
2022-08-02 16:55:16 +02:00
|
|
|
import io.gitlab.jfronny.inceptum.model.inceptum.InstanceMeta;
|
|
|
|
import io.gitlab.jfronny.inceptum.util.*;
|
2022-01-19 19:14:13 +01:00
|
|
|
import io.gitlab.jfronny.inceptum.util.install.SetupStepInfo;
|
|
|
|
import io.gitlab.jfronny.inceptum.util.install.Step;
|
2021-10-29 22:50:42 +02:00
|
|
|
|
|
|
|
import java.io.IOException;
|
2021-10-30 14:22:07 +02:00
|
|
|
import java.nio.file.Files;
|
2021-10-29 22:50:42 +02:00
|
|
|
import java.nio.file.Path;
|
2021-10-29 23:16:03 +02:00
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
2021-10-29 22:50:42 +02:00
|
|
|
|
|
|
|
public class WriteMetadataStep implements Step {
|
|
|
|
@Override
|
2021-10-29 23:16:03 +02:00
|
|
|
public void execute(SetupStepInfo info, AtomicBoolean stopThread) throws IOException {
|
2021-10-30 19:26:59 +02:00
|
|
|
info.setState("Writing metadata");
|
2022-01-18 18:43:39 +01:00
|
|
|
Path instance = MetaHolder.INSTANCE_DIR.resolve(info.name());
|
2022-01-23 18:53:16 +01:00
|
|
|
Path metaPath = instance.resolve("instance.json");
|
|
|
|
if (!Files.exists(metaPath)) {
|
|
|
|
InstanceMeta meta = new InstanceMeta();
|
|
|
|
meta.version = info.version().id;
|
|
|
|
Utils.writeObject(metaPath, meta);
|
|
|
|
}
|
2022-01-04 13:00:15 +01:00
|
|
|
InstanceLock.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/
|
|
|
|
.mixin.out/
|
|
|
|
.fabric/
|
2021-10-30 22:05:24 +02:00
|
|
|
*.lock
|
2022-01-04 17:48:01 +01:00
|
|
|
eula.txt
|
|
|
|
world/""");
|
2021-10-30 19:26:59 +02:00
|
|
|
}
|
2021-10-29 22:50:42 +02:00
|
|
|
}
|
|
|
|
}
|