mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2024-09-17 09:24:25 +02:00
fix resource extracting.
This commit is contained in:
parent
9736e4c207
commit
670caaea4b
@ -1,21 +1,15 @@
|
|||||||
package fr.xephi.authme.settings;
|
package fr.xephi.authme.settings;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import com.google.common.io.Files;
|
||||||
import java.io.BufferedWriter;
|
import com.google.common.io.Resources;
|
||||||
import java.io.File;
|
import fr.xephi.authme.ConsoleLogger;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.io.OutputStreamWriter;
|
|
||||||
import java.io.Writer;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
import org.bukkit.configuration.InvalidConfigurationException;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
import fr.xephi.authme.ConsoleLogger;
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
public class CustomConfiguration extends YamlConfiguration {
|
public class CustomConfiguration extends YamlConfiguration {
|
||||||
|
|
||||||
@ -43,7 +37,7 @@ public class CustomConfiguration extends YamlConfiguration {
|
|||||||
public boolean reLoad() {
|
public boolean reLoad() {
|
||||||
boolean out = true;
|
boolean out = true;
|
||||||
if (!configFile.exists()) {
|
if (!configFile.exists()) {
|
||||||
out = loadRessource(configFile);
|
out = loadResource(configFile);
|
||||||
}
|
}
|
||||||
if (out)
|
if (out)
|
||||||
load();
|
load();
|
||||||
@ -58,28 +52,28 @@ public class CustomConfiguration extends YamlConfiguration {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean loadRessource(File file) {
|
public boolean loadResource(File file) {
|
||||||
boolean out = true;
|
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
try {
|
try {
|
||||||
String charset = System.getProperty("file.encoding");
|
if (!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {
|
||||||
String newline = System.getProperty("line.separator");
|
return false;
|
||||||
InputStream fis = getClass().getResourceAsStream("/" + file.getName());
|
}
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(fis, StandardCharsets.UTF_8));
|
if (!file.exists() && !file.createNewFile()) {
|
||||||
String str;
|
return false;
|
||||||
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), charset));
|
}
|
||||||
while ((str = reader.readLine()) != null) {
|
int i = file.getPath().indexOf("AuthMe");
|
||||||
writer.append(str).append(newline);
|
if (i > -1) {
|
||||||
|
String path = file.getPath().substring(i + 6).replace('\\', '/');
|
||||||
|
URL url = Resources.getResource(getClass(), path);
|
||||||
|
byte[] bytes = Resources.toByteArray(url);
|
||||||
|
Files.write(bytes, file);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
writer.flush();
|
|
||||||
writer.close();
|
|
||||||
reader.close();
|
|
||||||
fis.close();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
ConsoleLogger.writeStackTrace(e);
|
||||||
ConsoleLogger.showError("Failed to load config from JAR");
|
ConsoleLogger.showError("Failed to load config from JAR");
|
||||||
out = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return out;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user