package me.km.api; import java.io.File; import me.hammerle.code.ISnuviLogger; import me.hammerle.code.Script; import me.hammerle.config.SnuviConfig; import me.km.dimensions.ModDimensions; import me.km.exception.IllegalItemStackStringException; import me.km.utils.ItemStackUtils; import net.minecraft.item.ItemStack; public class SimpleConfig extends SnuviConfig { public SimpleConfig(Module m, String path, String name, boolean load) { super(new ISnuviLogger() { @Override public void printException(Exception ex, Script sc, int line) { // should not happen } @Override public void printException(Exception ex) { // should not happen } @Override public void printWarning(String s) { m.sendWarningToConsole(s); } @Override public void printInfo(String s) { m.sendToConsole(s); } }, path, name, "snuvi"); if(load && exists()) { load(); } } public static File[] getFiles(String path) { return new File("./" + path).listFiles(); } // ----------------------------------------------------------------------------------- // get // ----------------------------------------------------------------------------------- public Location getLocation(String key) { return new Location(ModDimensions.getWorldFromName(getString(key + ".world")), getDouble(key + ".x", 0), getDouble(key + ".y", 0), getDouble(key + ".z", 0), getFloat(key + ".yaw", 0), getFloat(key + ".pitch", 0)); } public ItemStack getItemStack(String key) { Object s = conf.get(key); if(s == null) { return ItemStack.EMPTY; } try { return ItemStackUtils.getStackFromNbtString(s.toString()); } catch(IllegalItemStackStringException ex) { return ItemStack.EMPTY; } } // ----------------------------------------------------------------------------------- // Add Data // ----------------------------------------------------------------------------------- public void setLocation(String key, Location l) { set(key + ".world", l.getWorld().getWorldInfo().getWorldName()); set(key + ".x", l.getX()); set(key + ".y", l.getY()); set(key + ".z", l.getZ()); set(key + ".yaw", l.getYaw()); set(key + ".pitch", l.getPitch()); } public void setItemStack(String key, ItemStack stack) { set(key, ItemStackUtils.getNbtString(stack)); } }