191 lines
4.1 KiB
Java
191 lines
4.1 KiB
Java
package me.shock.playervaults.util;
|
|
|
|
import java.io.File;
|
|
import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.util.List;
|
|
import java.util.logging.Level;
|
|
import java.util.logging.Logger;
|
|
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
|
|
import me.shock.playervaults.Main;
|
|
|
|
public class Config
|
|
{
|
|
|
|
private Main plugin;
|
|
|
|
public void loadConfig()
|
|
{
|
|
Logger log = plugin.getServer().getLogger();
|
|
|
|
/**
|
|
* Check to see if there's a config.
|
|
* If not then create a new one.
|
|
*/
|
|
File config = new File(plugin.getDataFolder() + "/config.yml");
|
|
if(!config.exists())
|
|
{
|
|
try{
|
|
plugin.getDataFolder().mkdir();
|
|
config.createNewFile();
|
|
} catch (IOException e) {
|
|
log.log(Level.SEVERE, "[PlayerVaults] Couldn't create config");
|
|
}
|
|
/**
|
|
* Write the config file here.
|
|
* New, genius way to write it :)
|
|
*/
|
|
try {
|
|
FileOutputStream fos = new FileOutputStream(new File(plugin.getDataFolder() + File.separator + "config.yml"));
|
|
InputStream is = plugin.getResource("config.yml");
|
|
byte[] linebuffer = new byte[4096];
|
|
int lineLength = 0;
|
|
while((lineLength = is.read(linebuffer)) > 0)
|
|
{
|
|
fos.write(linebuffer, 0, lineLength);
|
|
}
|
|
fos.close();
|
|
|
|
log.log(Level.INFO, "[PlayerVaults] Wrote new config");
|
|
|
|
} catch (IOException e) {
|
|
log.log(Level.SEVERE, "[PlayerVaults] Couldn't write config: " + e);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
log.log(Level.INFO, "[PlayerVaults] Config found.");
|
|
}
|
|
}
|
|
|
|
public void loadLang()
|
|
{
|
|
Logger log = plugin.getServer().getLogger();
|
|
|
|
/**
|
|
* Check to see if there's a config.
|
|
* If not then create a new one.
|
|
*/
|
|
File config = new File(plugin.getDataFolder() + "/lang.yml");
|
|
if(!config.exists())
|
|
{
|
|
try{
|
|
plugin.getDataFolder().mkdir();
|
|
config.createNewFile();
|
|
} catch (IOException e) {
|
|
log.log(Level.SEVERE, "[PlayerVaults] Couldn't create language file.");
|
|
}
|
|
/**
|
|
* Write the config file here.
|
|
* New, genius way to write it :)
|
|
*/
|
|
try {
|
|
FileOutputStream fos = new FileOutputStream(new File(plugin.getDataFolder() + File.separator + "config.yml"));
|
|
InputStream is = plugin.getResource("lang.yml");
|
|
byte[] linebuffer = new byte[4096];
|
|
int lineLength = 0;
|
|
while((lineLength = is.read(linebuffer)) > 0)
|
|
{
|
|
fos.write(linebuffer, 0, lineLength);
|
|
}
|
|
fos.close();
|
|
|
|
log.log(Level.INFO, "[PlayerVaults] Wrote new language file");
|
|
|
|
} catch (IOException e) {
|
|
log.log(Level.SEVERE, "[PlayerVaults] Couldn't write Language file: " + e);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
log.log(Level.INFO, "[PlayerVaults] Language file found.");
|
|
}
|
|
}
|
|
|
|
private YamlConfiguration lang() {
|
|
File file = new File(plugin.getDataFolder() + "lang.yml");
|
|
YamlConfiguration lang = YamlConfiguration.loadConfiguration(file);
|
|
return lang;
|
|
}
|
|
|
|
/**
|
|
* Methods to get values from the config.
|
|
* public so any class / plugin can get them.
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* @return updateCheck
|
|
*/
|
|
public boolean updateCheck() {
|
|
return plugin.getConfig().getBoolean("check-update");
|
|
}
|
|
|
|
public boolean debugMode() {
|
|
return plugin.getConfig().getBoolean("debug-mode");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return disabled worlds.
|
|
*/
|
|
public List<?> disabledWorlds() {
|
|
return plugin.getConfig().getList("disabled-worlds");
|
|
}
|
|
|
|
/**
|
|
* Values for the lang.yml
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* @return title used in all messages.
|
|
*/
|
|
public String title() {
|
|
return lang().getString("title-name");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return string for opening vault.
|
|
*/
|
|
public String openVault() {
|
|
return lang().getString("open-vault");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return string for opening someone else's vault.
|
|
*/
|
|
public String openOtherVault() {
|
|
return lang().getString("open-other-vault");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return string for invalid args.
|
|
*/
|
|
public String invalidArgs() {
|
|
return lang().getString("invalid-args");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return string for deleting a vault.
|
|
*/
|
|
public String deleteVault() {
|
|
return lang().getString("delete-vault");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return string for deleting someone else's vault.
|
|
*/
|
|
public String deleteOtherVault() {
|
|
return lang().getString("delete-other-vault");
|
|
}
|
|
|
|
} |