Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.gradle
.idea

remappedSrc
out
build
run
19 changes: 0 additions & 19 deletions src/main/java/gd/rf/acro/scf/ClientInit.java

This file was deleted.

173 changes: 0 additions & 173 deletions src/main/java/gd/rf/acro/scf/CobblestoneFunnelBlock.java

This file was deleted.

161 changes: 72 additions & 89 deletions src/main/java/gd/rf/acro/scf/ConfigUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,95 +5,78 @@

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.nio.file.Path;
import java.util.*;

public class ConfigUtils {

public static Map<String,String> config = new HashMap<>();


public static Map<String,String> loadConfigs()
{
File file = new File(FabricLoader.getInstance().getConfigDirectory().getPath() + "/SCF/config.acfg");
try {
List<String> lines = FileUtils.readLines(file,"utf-8");
lines.forEach(line->
{
if(line.charAt(0)!='#')
{
String noSpace = line.replace(" ","");
String[] entry = noSpace.split("=");
config.put(entry[0],entry[1]);
}
});
} catch (IOException e) {
e.printStackTrace();
}
return config;
}

public static void generateConfigs(List<String> input)
{
File file = new File(FabricLoader.getInstance().getConfigDirectory().getPath() + "/SCF/config.acfg");

try {
FileUtils.writeLines(file,input);
} catch (IOException e) {
e.printStackTrace();
}
}

public static Map<String,String> checkConfigs()
{
if(new File(FabricLoader.getInstance().getConfigDirectory().getPath() + "/SCF/config.acfg").exists())
{
return loadConfigs();
}
generateConfigs(makeDefaults());
return loadConfigs();
}

private static List<String> makeDefaults()
{
List<String> defaults = new ArrayList<>();
defaults.add("#cobblestone funnel ore level (default 5)");
defaults.add("cobblelvl=5");
defaults.add("#cobblestone funnel speed (default 60)");
defaults.add("cobblespeed=60");

defaults.add("#copper funnel ore level (default 9)");
defaults.add("copperlvl=9");
defaults.add("#copper funnel speed (default 60)");
defaults.add("copperspeed=60");

defaults.add("#bronze funnel ore level (default 9)");
defaults.add("bronzelvl=9");
defaults.add("#bronze funnel speed (default 30)");
defaults.add("bronzespeed=30");

defaults.add("#iron funnel ore level (default 14)");
defaults.add("ironlvl=14");
defaults.add("#iron funnel speed (default 50)");
defaults.add("ironspeed=50");

defaults.add("#gold funnel ore level (default 17)");
defaults.add("goldlvl=17");
defaults.add("#gold funnel speed (default 40)");
defaults.add("goldspeed=40");

defaults.add("#diamond funnel ore level (default -1)");
defaults.add("diamondlvl=-1");
defaults.add("#diamond funnel speed (default 40)");
defaults.add("diamondspeed=40");

defaults.add("#netherite funnel ore level (default -1)");
defaults.add("netheritelvl=-1");
defaults.add("#netherite funnel speed (default 20)");
defaults.add("netheritespeed=20");
return defaults;
}

public static Map<String, Integer> config = new HashMap<>();
private static final File file = Path.of(FabricLoader.getInstance().getConfigDirectory().getPath(), "SCF", "config.acfg").toFile();

public static Map<String, Integer> loadConfigs() {
try {
FileUtils.readLines(file, "utf-8").stream()
.map(e -> e.replaceAll("\\s", "")) // remove spaces
.filter(e -> e.matches("^[^#]\\w+=\\d+$")) // is valid format
.map(e -> e.split("=")) // split arguments
.forEach(entry -> config.put(entry[0], Integer.parseInt(entry[1])));
} catch (IOException e) {
// something went wrong with loading the files
e.printStackTrace();
}
return config;
}

private static void generateConfigs(List<String> input) {
try {
FileUtils.writeLines(file, input);
} catch (IOException e) {
// something went wrong with creating the files
e.printStackTrace();
}
}

public static Map<String, Integer> checkConfigs() {
if (!file.exists()) {
generateConfigs(makeDefaults());
}
return loadConfigs();
}

private static List<String> makeDefaults() {
return Arrays.asList(
"#cobblestone funnel ore level (default 0)",
"cobblelvl=0",
"#cobblestone funnel speed (default 60)",
"cobblespeed=60",
"",
"#copper funnel ore level (default 1)",
"copperlvl=1",
"#copper funnel speed (default 60)",
"copperspeed=60",
"",
"#bronze funnel ore level (default 1)",
"bronzelvl=1",
"#bronze funnel speed (default 30)",
"bronzespeed=30",
"",
"#iron funnel ore level (default 2)",
"ironlvl=2",
"#iron funnel speed (default 50)",
"ironspeed=50",
"",
"#gold funnel ore level (default 3)",
"goldlvl=3",
"#gold funnel speed (default 40)",
"goldspeed=40",
"",
"#diamond funnel ore level (default 4)",
"diamondlvl=4",
"#diamond funnel speed (default 40)",
"diamondspeed=40",
"",
"#netherite funnel ore level (default 5)",
"netheritelvl=5",
"#netherite funnel speed (default 20)",
"netheritespeed=20");
}
}
Loading