Skip to content

Commit

Permalink
Created a basic config so people can use this in production.
Browse files Browse the repository at this point in the history
  • Loading branch information
Haven-King committed Nov 2, 2020
1 parent 1a4b8e5 commit 7cc2d18
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 2 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ yarn_mappings = 1.16.4+build.1
loader_version = 0.10.6+build.214

# Mod Properties
mod_version = 0.0.3
mod_version = 0.1.0
maven_group = dev.hephaestus
archives_base_name = sax

Expand Down
2 changes: 2 additions & 0 deletions src/main/java/dev/hephaestus/sax/SAX.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ public static Identifier id(String... path) {

@Override
public void onInitialize() {
Config.load();

for (Map.Entry<Block, Block> entry : Config.HIDDEN.entrySet()) {
FibLib.Blocks.register(new HideOccludedOre(entry.getKey(), entry.getValue()));
}
Expand Down
51 changes: 50 additions & 1 deletion src/main/java/dev/hephaestus/sax/server/Config.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
package dev.hephaestus.sax.server;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.util.Identifier;
import net.minecraft.util.JsonHelper;
import net.minecraft.util.registry.Registry;

import java.io.IOException;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;

// Dummy config for now
// Simple config for now
public class Config {
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
public static final HashMap<Block, Block> HIDDEN = new HashMap<>();

static {
Expand All @@ -19,4 +33,39 @@ public class Config {
HIDDEN.put(Blocks.MOSSY_COBBLESTONE, Blocks.STONE);
HIDDEN.put(Blocks.SPAWNER, Blocks.CAVE_AIR);
}

public static void load() {
Path configDir = FabricLoader.getInstance().getConfigDir().normalize().resolve("sax");
Path configFile = configDir.resolve("blocks.json");

try {
if (!Files.exists(configFile)) {
Files.createDirectories(configDir);

JsonObject jsonObject = new JsonObject();

for (Map.Entry<Block, Block> entry : HIDDEN.entrySet()) {
jsonObject.addProperty(
Registry.BLOCK.getId(entry.getKey()).toString(),
Registry.BLOCK.getId(entry.getValue()).toString()
);
}

Writer writer = Files.newBufferedWriter(configFile);
writer.write(GSON.toJson(jsonObject));
writer.close();
} else {
HIDDEN.clear();

for (Map.Entry<String, JsonElement> element : JsonHelper.deserialize(Files.newBufferedReader(configFile)).entrySet()) {
HIDDEN.put(
Registry.BLOCK.get(new Identifier(element.getKey())),
Registry.BLOCK.get(new Identifier(element.getValue().getAsString()))
);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

0 comments on commit 7cc2d18

Please sign in to comment.