implement GitHub resource pack auto-updater with HTTP server and configuration

This commit is contained in:
Lars Behrends
2025-12-30 00:17:46 +01:00
parent 3305388f1c
commit e0dbca8d51
6 changed files with 432 additions and 5 deletions

View File

@@ -0,0 +1,40 @@
package ceratic.projectvollidioten.config;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
public class GithubResourcePackConfig {
public String githubOwner = "your-username";
public String githubRepo = "your-repo";
public String resourcePackFileName = "my-pack.zip";
public int checkIntervalMinutes = 60; // check every hour
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private static final String CONFIG_NAME = "resourcepack.json";
public static GithubResourcePackConfig loadOrCreate(Path configDir) {
Path configFile = configDir.resolve(CONFIG_NAME);
try {
if (Files.exists(configFile)) {
try (Reader reader = Files.newBufferedReader(configFile)) {
return GSON.fromJson(reader, GithubResourcePackConfig.class);
}
} else {
// Create default config
GithubResourcePackConfig defaultConfig = new GithubResourcePackConfig();
Files.createDirectories(configDir);
try (Writer writer = Files.newBufferedWriter(configFile)) {
GSON.toJson(defaultConfig, writer);
}
return defaultConfig;
}
} catch (Exception e) {
System.err.println("[GithubRP] Failed to load config, using defaults: " + e.getMessage());
return new GithubResourcePackConfig();
}
}
}