Mekanism-tilera-Edition/src/main/java/mekanism/common/BoxBlacklistParser.java

99 lines
2.1 KiB
Java
Raw Normal View History

2014-02-02 01:02:51 +01:00
package mekanism.common;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import mekanism.api.MekanismAPI;
2014-05-29 20:01:43 +02:00
import net.minecraft.block.Block;
2014-02-02 01:02:51 +01:00
public final class BoxBlacklistParser
{
public static File mekanismDir = new File(Mekanism.proxy.getMinecraftDir(), "config/mekanism");
public static File boxBlacklistFile = new File(mekanismDir, "BoxBlacklist.txt");
2014-02-02 01:02:51 +01:00
public static void load()
{
try {
generateFiles();
readBlacklist();
} catch(Exception e) {
e.printStackTrace();
}
}
2014-02-02 01:02:51 +01:00
private static void generateFiles() throws IOException
{
mekanismDir.mkdirs();
2014-02-02 01:02:51 +01:00
if(!boxBlacklistFile.exists())
{
boxBlacklistFile.createNewFile();
writeExamples();
}
}
2014-02-02 01:02:51 +01:00
private static boolean isInteger(String s)
{
try {
Integer.parseInt(s);
return true;
}
catch(Exception e) {
return false;
}
}
2014-02-02 01:02:51 +01:00
private static void readBlacklist() throws IOException
{
BufferedReader reader = new BufferedReader(new FileReader(boxBlacklistFile));
int entries = 0;
2014-02-02 01:02:51 +01:00
String readingLine;
int line = 0;
while((readingLine = reader.readLine()) != null)
{
line++;
2014-02-02 01:02:51 +01:00
if(readingLine.startsWith("#"))
{
continue;
}
2014-02-02 01:02:51 +01:00
String[] split = readingLine.split(":");
2014-02-02 01:02:51 +01:00
if(split.length != 2 || !isInteger(split[0]) || !isInteger(split[1]))
{
System.err.println("[Mekanism] BoxBlacklist.txt: Couldn't parse blacklist data on line " + line);
}
2014-05-29 20:01:43 +02:00
MekanismAPI.addBoxBlacklist(Block.getBlockFromName(split[0]), Integer.parseInt(split[1]));
2014-02-02 01:02:51 +01:00
entries++;
}
2014-02-02 01:02:51 +01:00
reader.close();
2014-02-02 01:02:51 +01:00
System.out.println("[Mekanism] Finished loading Cardboard Box blacklist (loaded " + entries + " entries)");
}
2014-02-02 01:02:51 +01:00
private static void writeExamples() throws IOException
{
BufferedWriter writer = new BufferedWriter(new FileWriter(boxBlacklistFile));
2014-02-02 01:02:51 +01:00
writer.append("# Use this file to tell Mekanism which blocks should not be picked up by a cardboard box.");
writer.newLine();
2014-02-02 01:02:51 +01:00
writer.append("# Proper syntax is \"ID:META\". Example (for stone):");
writer.newLine();
2014-02-02 01:02:51 +01:00
writer.append("# 1:0");
2014-02-02 01:02:51 +01:00
writer.flush();
writer.close();
}
}