This commit is contained in:
Zoë Gidiere
2023-12-11 14:54:27 -07:00
parent 0091e5b785
commit 5979254808
3 changed files with 105 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
package com.dfsek.terra.api.config;
import ca.solostudios.strata.version.Version;
import ca.solostudios.strata.version.VersionRange;
import com.dfsek.terra.api.addon.BaseAddon;
import java.util.Map;
public interface MetaPack {
Map<String, ConfigPack> packs();
String getAuthor();
Version getVersion();
}

View File

@@ -0,0 +1,46 @@
package com.dfsek.terra.config.pack;
import ca.solostudios.strata.version.Version;
import com.dfsek.tectonic.api.config.Configuration;
import com.dfsek.tectonic.yaml.YamlConfiguration;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.Loader;
import com.dfsek.terra.api.config.MetaPack;
import com.dfsek.terra.api.util.generic.Construct;
import com.dfsek.terra.config.fileloaders.FolderLoader;
import com.dfsek.terra.config.fileloaders.ZIPLoader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class MetaPackImpl implements MetaPack {
private final Platform platform;
private final MetaPackTemplate template = new MetaPackTemplate();
@Override
public String getAuthor() {
return template.getAuthor();
}
@Override
public Version getVersion() {
return template.getVersion();
}
@Override
public Map<String, ConfigPack> packs() {
return null;
}
}

View File

@@ -0,0 +1,42 @@
package com.dfsek.terra.config.pack;
import ca.solostudios.strata.version.Version;
import com.dfsek.tectonic.api.config.template.ConfigTemplate;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.terra.api.config.ConfigPack;
import java.util.Map;
public class MetaPackTemplate implements ConfigTemplate {
@Value("id")
private String id;
@Value("author")
@Default
private String author = "Anon Y. Mous";
@Value("version")
private Version version;
@Value("packs")
private Map<String, String> packs;
public String getID() {
return id;
}
public String getAuthor() {
return author;
}
public Version getVersion() {
return version;
}
public Map<String, String> getPacks() {
return packs;
}
}