LuizB Postado Março 21, 2016 Denunciar Compartilhar Postado Março 21, 2016 Bem criei uma config nova só que n sei setar coisas nelase eu colocar getConfig.getString("naosei");Vai Pra Config principal que no caso é a config.ymlcodigo da config File novo = new File(getDataFolder(), "config2.yml"); if(!novo.exists()); saveResource("config2.yml", false); Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Março 21, 2016 Denunciar Compartilhar Postado Março 21, 2016 Deu Varios E Nesta Parte file = Classe.dataFileManager.getNewConfig("nome_da_configuração.extensao"); Eu coloco: file = Classe.dataFileManager.getNewConfig("confignova.yml"); Assim ? Sim 1 Link para o comentário Compartilhar em outros sites More sharing options...
MrPowerGamerBR Postado Março 21, 2016 Denunciar Compartilhar Postado Março 21, 2016 http://gamersboard.com.br/topic/21761-powerconfig-crie-multiplas-configs-de-um-jeito-f%C3%A1cil/ Link para o comentário Compartilhar em outros sites More sharing options...
Lucca. Postado Março 21, 2016 Denunciar Compartilhar Postado Março 21, 2016 Bem criei uma config nova só que n sei setar coisas nela se eu colocar getConfig.getString("naosei"); Vai Pra Config principal que no caso é a config.yml codigo da config File novo = new File(getDataFolder(), "config2.yml"); if(!novo.exists()); saveResource("config2.yml", false); YamlConfiguration.loadConfiguration(novo).set ou .getString bla bla bla Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Março 21, 2016 Autor Denunciar Compartilhar Postado Março 21, 2016 YamlConfiguration.loadConfiguration(novo).set ou .getString bla bla bla Quando Eu vou colocar em outra classe da 2 erros Estou Colocando assim Principal.cf.YamlConfiguration.loadConfiguration(novo).set("rMundo", (Object)player.getWorld().getName()); YamlConfiguration cannot be resolved or is not a field e o outro erro é : novo cannot be resolved to a variable ( Pedindo pra criar uma variavel novo ) Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Março 21, 2016 Denunciar Compartilhar Postado Março 21, 2016 (editado) http://hastebin.com/ozugiditow.coffee Data file managerhttp://hastebin.com/bohijuxibu.avrasm Data filePara criar um arquivo você primeiro precisa instanciar a DataFileManager em alguma classe public class Classe extends JavaPlugin { public static DataFileManager fileManager; @Override public void onLoad() { fileManager = new DataFileManager(this); } } Depois basta você criar um arquivo em outra classe ou na mesma classe que você instanciou o gerador public class Arquivo { public static DataFile file; // Instancia o arquivo public static void create() { file = Classe.dataFileManager.getNewConfig("nome_da_configuração.extensao"); file.saveConfig(); } } Depois adicione a instancia na sua classe principal: public class Classe extends JavaPlugin { public static DataFileManager fileManager; @Override public void onLoad() { fileManager = new DataFileManager(this); } @Override public void onEnable() { Arquivo.create(); } } Para você poder pegar os métodos da config basta acessar a variável do DataFile. Exemplo: System.out.println(Arquivo.file.getString("funciona").toUpperCase()); Editado Março 21, 2016 por Gabriel__ Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Março 21, 2016 Autor Denunciar Compartilhar Postado Março 21, 2016 // Data file class import java.io.File; import java.io.InputStream; import java.util.List; import java.util.Set; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; public class DataFile { private int comments; private DataFileManager manager; private File file; private FileConfiguration config; @SuppressWarnings("deprecation") public DataFile(InputStream configStream, File configFile, int comments, JavaPlugin plugin) { this.comments = comments; this.manager = new DataFileManager(plugin); this.file = configFile; this.config = YamlConfiguration.loadConfiguration(configStream); } public Object get(String path) { return this.config.get(path); } public Object get(String path, Object def) { return this.config.get(path, def); } public String getString(String path) { return this.config.getString(path); } public String getString(String path, String def) { return this.config.getString(path, def); } public int getInt(String path) { return this.config.getInt(path); } public int getInt(String path, int def) { return this.config.getInt(path, def); } public boolean getBoolean(String path) { return this.config.getBoolean(path); } public boolean getBoolean(String path, boolean def) { return this.config.getBoolean(path, def); } public void createSection(String path) { this.config.createSection(path); } public ConfigurationSection getConfigurationSection(String path) { return this.config.getConfigurationSection(path); } public double getDouble(String path) { return this.config.getDouble(path); } public double getDouble(String path, double def) { return this.config.getDouble(path, def); } public List<?> getList(String path) { return this.config.getList(path); } public List<?> getList(String path, List<?> def) { return this.config.getList(path, def); } public boolean contains(String path) { return this.config.contains(path); } public void removeKey(String path) { this.config.set(path, null); } public void set(String path, Object value) { this.config.set(path, value); } public void set(String path, Object value, String comment) { if (!this.config.contains(path)) { this.config.set(manager.getPluginName() + "_COMMENT_" + comments, " " + comment); comments++; } this.config.set(path, value); } public void set(String path, Object value, String[] comment) { for (String comm : comment) { if (!this.config.contains(path)) { this.config.set(manager.getPluginName() + "_COMMENT_" + comments, " " + comm); comments++; } } this.config.set(path, value); } public void setHeader(String[] header) { manager.setHeader(this.file, header); this.comments = header.length + 2; this.reloadConfig(); } @SuppressWarnings("deprecation") public void reloadConfig() { this.config = YamlConfiguration.loadConfiguration(manager .getConfigContent(file)); } public void saveConfig() { String config = this.config.saveToString(); manager.saveConfig(config, this.file); } public Set<String> getKeys() { return this.config.getKeys(false); } } // Data file manager class import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.charset.Charset; import org.bukkit.plugin.java.JavaPlugin; public class DataFileManager { private JavaPlugin plugin; public DataFileManager(JavaPlugin plugin) { this.plugin = plugin; } public DataFile getNewConfig(String fileName, String[] header) { File file = this.getConfigFile(fileName); if (!file.exists()) { this.prepareFile(fileName); if (header != null && header.length != 0) this.setHeader(file, header); } DataFile config = new DataFile(this.getConfigContent(fileName), file, this.getCommentsNum(file), plugin); return config; } public DataFile getNewConfig(String fileName) { return this.getNewConfig(fileName, null); } private File getConfigFile(String file) { if (file.isEmpty() || file == null) return null; File configFile; if (file.contains("/")) { if (file.startsWith("/")) configFile = new File(plugin.getDataFolder() + file.replace("/", File.separator)); else configFile = new File(plugin.getDataFolder() + File.separator + file.replace("/", File.separator)); } else configFile = new File(plugin.getDataFolder(), file); return configFile; } public void prepareFile(String filePath, String resource) { File file = this.getConfigFile(filePath); if (file.exists()) return; try { file.getParentFile().mkdirs(); file.createNewFile(); if (resource != null) if (!resource.isEmpty()) this.copyResource(plugin.getResource(resource), file); } catch (IOException e) { e.printStackTrace(); } } public void prepareFile(String filePath) { this.prepareFile(filePath, null); } public void setHeader(File file, String[] header) { if (!file.exists()) return; try { String currentLine; StringBuilder config = new StringBuilder(""); BufferedReader reader = new BufferedReader(new FileReader(file)); while ((currentLine = reader.readLine()) != null) config.append(currentLine + "\n"); reader.close(); config.append("# +----------------------------------------------------+ #\n"); for (String line : header) { if (line.length() > 50) continue; int lenght = (50 - line.length()) / 2; StringBuilder finalLine = new StringBuilder(line); for (int i = 0; i < lenght; i++) { finalLine.append(" "); finalLine.reverse(); finalLine.append(" "); finalLine.reverse(); } if (line.length() % 2 != 0) finalLine.append(" "); config.append("# < " + finalLine.toString() + " > #\n"); } config.append("# +----------------------------------------------------+ #"); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); writer.write(this.prepareConfigString(config.toString())); writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } public InputStream getConfigContent(File file) { if (!file.exists()) return null; try { int commentNum = 0; String addLine; String currentLine; String pluginName = this.getPluginName(); StringBuilder whole = new StringBuilder(""); BufferedReader reader = new BufferedReader(new FileReader(file)); while ((currentLine = reader.readLine()) != null) { if (currentLine.startsWith("#")) { addLine = currentLine.replaceFirst("#", pluginName + "_COMMENT_" + commentNum + ":"); whole.append(addLine + "\n"); commentNum++; } else whole.append(currentLine + "\n"); } String config = whole.toString(); InputStream configStream = new ByteArrayInputStream( config.getBytes(Charset.forName("UTF-8"))); reader.close(); return configStream; } catch (IOException e) { e.printStackTrace(); return null; } } private int getCommentsNum(File file) { if (!file.exists()) return 0; try { int comments = 0; String currentLine; BufferedReader reader = new BufferedReader(new FileReader(file)); while ((currentLine = reader.readLine()) != null) if (currentLine.startsWith("#")) comments++; reader.close(); return comments; } catch (IOException e) { e.printStackTrace(); return 0; } } public InputStream getConfigContent(String filePath) { return this.getConfigContent(this.getConfigFile(filePath)); } private String prepareConfigString(String configString) { int lastLine = 0; int headerLine = 0; String[] lines = configString.split("\n"); StringBuilder config = new StringBuilder(""); for (String line : lines) { if (line.startsWith(this.getPluginName() + "_COMMENT")) { String comment = "#" + line.trim().substring(line.indexOf(":") + 1); if (comment.startsWith("# +-")) { if (headerLine == 0) { config.append(comment + "\n"); lastLine = 0; headerLine = 1; } else if (headerLine == 1) { config.append(comment + "\n\n"); lastLine = 0; headerLine = 0; } } else { String normalComment; if (comment.startsWith("# ' ")) normalComment = comment.substring(0, comment.length() - 1) .replaceFirst("# ' ", "# "); else normalComment = comment; if (lastLine == 0) config.append(normalComment + "\n"); else if (lastLine == 1) config.append("\n" + normalComment + "\n"); lastLine = 0; } } else { config.append(line + "\n"); lastLine = 1; } } return config.toString(); } public void saveConfig(String configString, File file) { String configuration = this.prepareConfigString(configString); try { BufferedWriter writer = new BufferedWriter(new FileWriter(file)); writer.write(configuration); writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } public String getPluginName() { return plugin.getDescription().getName(); } private void copyResource(InputStream resource, File file) { try { OutputStream out = new FileOutputStream(file); int length; byte[] buf = new byte[1024]; while ((length = resource.read(buf)) > 0) out.write(buf, 0, length); out.close(); resource.close(); } catch (Exception e) { e.printStackTrace(); } } } Esses códigos não são meus, mas uso ele até hoje porque é muito útil Oloco mano isso é muito grande acho que deve ter um geito mais facil se não o geito é ir pra do power Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Março 21, 2016 Denunciar Compartilhar Postado Março 21, 2016 Oloco mano isso é muito grande acho que deve ter um geito mais facil se não o geito é ir pra do power refiz a mensagem para você poder entender Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Março 21, 2016 Autor Denunciar Compartilhar Postado Março 21, 2016 http://hastebin.com/ozugiditow.coffee Data file manager http://hastebin.com/bohijuxibu.avrasm Data file Para criar um arquivo você primeiro precisa instanciar a DataFileManager em alguma classe public class Classe extends JavaPlugin { public static DataFileManager fileManager; @Override public void onLoad() { fileManager = new DataFileManager(this); } } Depois basta você criar um arquivo em outra classe ou na mesma classe que você instanciou o gerador public class Arquivo { public static DataFile file; // Instancia o arquivo public static void create() { file = Classe.dataFileManager.getNewConfig("nome_da_configuração.extensao"); file.saveConfig(); } } Depois adicione a instancia na sua classe principal: public class Classe extends JavaPlugin { public static DataFileManager fileManager; @Override public void onLoad() { fileManager = new DataFileManager(this); } @Override public void onEnable() { Arquivo.create(); } } Para você poder pegar os métodos da config basta acessar a variável do DataFile. Exemplo: System.out.println(Arquivo.file.getString("funciona").toUpperCase()); Deu Varios E http://hastebin.com/ozugiditow.coffee Data file manager http://hastebin.com/bohijuxibu.avrasm Data file Para criar um arquivo você primeiro precisa instanciar a DataFileManager em alguma classe public class Classe extends JavaPlugin { public static DataFileManager fileManager; @Override public void onLoad() { fileManager = new DataFileManager(this); } } Depois basta você criar um arquivo em outra classe ou na mesma classe que você instanciou o gerador public class Arquivo { public static DataFile file; // Instancia o arquivo public static void create() { file = Classe.dataFileManager.getNewConfig("nome_da_configuração.extensao"); file.saveConfig(); } } Depois adicione a instancia na sua classe principal: public class Classe extends JavaPlugin { public static DataFileManager fileManager; @Override public void onLoad() { fileManager = new DataFileManager(this); } @Override public void onEnable() { Arquivo.create(); } } Para você poder pegar os métodos da config basta acessar a variável do DataFile. Exemplo: System.out.println(Arquivo.file.getString("funciona").toUpperCase()); Nesta Parte file = Classe.dataFileManager.getNewConfig("nome_da_configuração.extensao"); Eu coloco: file = Classe.dataFileManager.getNewConfig("confignova.yml"); Assim ? Link para o comentário Compartilhar em outros sites More sharing options...
Thelike Postado Março 23, 2016 Denunciar Compartilhar Postado Março 23, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.Atenciosamente,Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LuizB
Bem criei uma config nova só que n sei setar coisas nela
se eu colocar getConfig.getString("naosei");
Vai Pra Config principal que no caso é a config.yml
codigo da config
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados