|
You last visited: Today at 12:24
Advertisement
[Bukkit-Coding] Default Config
Discussion on [Bukkit-Coding] Default Config within the Minecraft forum part of the Other Online Games category.
06/29/2014, 19:36
|
#1
|
elite*gold: 0
Join Date: Apr 2014
Posts: 22
Received Thanks: 0
|
[Bukkit-Coding] Default Config
Hallo, ich habe ein Problem mit einem Code, der bei mir früher mal gieng.
Ich möchte die default config.yml aus der .jar in den Plugin Ordner kopieren. Hier der Code:
Code:
try {
plugin.config_file.load(plugin.file_config);
} catch (IOException | InvalidConfigurationException e) {
System.out.print(plugin.prefix + " Error while loading config");
}
if(!plugin.file_config.exists()){
InputStream configYMLStream = plugin.getResource("config.yml");
if (configYMLStream != null) {
YamlConfiguration configYML = YamlConfiguration.loadConfiguration(configYMLStream);
plugin.config_file.setDefaults(configYML);
}
try {
plugin.config_file.save(plugin.file_config);
} catch (IOException e) {
System.out.print(plugin.prefix + " Error while saving config");
}
}
Hat sich da etwas geändert und muss ich es anderst machen, oder übersehe ich irgendwas.
Vielen Dank schonmal im voraus für die hoffentlich hilfreichen Antworte.
Grüzle DieSamu.
|
|
|
06/29/2014, 19:41
|
#2
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Was ist denn genau dein Problem? Gibt es einen Error?
|
|
|
06/29/2014, 19:45
|
#3
|
elite*gold: 0
Join Date: Apr 2014
Posts: 22
Received Thanks: 0
|
Es gibt kein Error. Das Problem ist, dass die config.yml zwar erstellt wird, aber leer bleibt.
|
|
|
06/29/2014, 20:07
|
#4
|
elite*gold: 0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
|
Mach es dir nicht so schwer und nutz einfach :
Code:
this.getConfig().addDefault("Test.default.level", 512); // fügt ein default wert(der aufjedenfall drin sein muss) ein.
this.getConfig().set("Test.1.lol","Test"); // speichert ein wert
this.getConfig().get("Test.1.lol"); // läd den wert aus
this.saveConfig(); //speichert die config
this.reloadConfig(); // läd die config neu
Ps. this ist die main class
|
|
|
06/29/2014, 20:24
|
#5
|
elite*gold: 0
Join Date: Apr 2014
Posts: 22
Received Thanks: 0
|
1. dann kann ich nicht andere Config mit anderen Namen erstellen
2. damit kann ich keine Kommentare mit '#' in die Config einfügen
|
|
|
06/29/2014, 20:35
|
#6
|
elite*gold: 0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
|
Quote:
Originally Posted by DieSamu
1. dann kann ich nicht andere Config mit anderen Namen erstellen
2. damit kann ich keine Kommentare mit '#' in die Config einfügen
|
Okay du brauchst mehrere...
Dann wird denke ich es daran liegen das der wert nur eingesetzt wurde und nicht gespeichert wird.
Das selbe passiert wenn man auf "normalen" wege ein wert in die config schreibt aber nicht die save function aufruft.
Der wert ist für den Server dann zwar vorhanden wird aber in der Config nicht gespeichert. Schau nach einer Save function
|
|
|
06/29/2014, 20:42
|
#7
|
elite*gold: 0
Join Date: Apr 2014
Posts: 22
Received Thanks: 0
|
An anderen Stellen des Plugins schreibe ich was in Config(s), speicher es mit der gleichen save Methode ab und es funktioniert.
|
|
|
06/30/2014, 09:20
|
#8
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,003
Received Thanks: 2,346
|
Ich habs mal komplett anders gelöst, ohne auf bukkit selbst dafür zurückgreifen zu müssen, daher hier mal in etwa die schritte (programmieren wirst ja auch hinbekommen)
1. Hole die config via getResourceAsStream aus der jar datei (verwende am besten als Angabe des Ortes, wo es sich in der jar befindet mit einem / davor. Wenn es also direkt im root-verzeichnis der jar liegt: "/config.yml")
2. Durchlaufe mit hilfe von BufferedReader den kompletten InputStream den du aus 1. erhälst
3. Schreibe Zeile für Zeile in die config Datei im Plugins Ordner
4. Fertig
Geht alles ohne Bukkit-API nur mit reinem Java
|
|
|
06/30/2014, 13:05
|
#9
|
elite*gold: 0
Join Date: Apr 2014
Posts: 22
Received Thanks: 0
|
Danke für den Ansatz, nur möchte ich die .yml Datei direkt aus der .jar holen. Ich möchte, dass das plugin nur mit dieser .jar funktioniert ohne sonsige Dateien auf den Root zu ziehen.
|
|
|
06/30/2014, 13:42
|
#10
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,003
Received Thanks: 2,346
|
Da hast du mich glaub ich missverstanden.
Du musst die Datei nur in der jar haben. Das root-verzeichnis ist das hauptverzeichnis in der jar.
In der jar sieht es ja dann so aus:
de/meinname/meinplugin/meinplugin.class
plugin.yml
config.yml
und dort, wo du alles siehst, ist das root-verzeichnis
(dort siehst dann aber:
Ordner "de"
Datei "plugin.yml"
Datei "config.yml"
) (es wird einfach nur so genannt, damit ist nicht der server oder so gemeint)
|
|
|
07/01/2014, 17:04
|
#11
|
elite*gold: 0
Join Date: Apr 2014
Posts: 22
Received Thanks: 0
|
Danke, fuktioniert so weit
|
|
|
 |
Similar Threads
|
[Bukkit-Coding] Problem mit String list in Config
04/04/2014 - Minecraft - 3 Replies
Hallo,
ich habe ein Problem mit meiner String list in einer config.
Mit folgendem Code füg ich ein item der liste hinzu und setzte es in der Config, was auch funktioniert:
List<String> player_list = plugin.data_file.getStringList("arena." + arena.toLowerCase() + ".player");
player_list.add(p.getName().toLowerCase());
plugin.data_file.set("arena." + arena.toLowerCase() + ".player", player_list);
|
[Bukkit] config auslesen und ersetzen
02/16/2013 - Minecraft - 6 Replies
cofig: #player hat das Spiel betreten.
ingame: __Sandor__ hat das Spiel betreten.
Also das er einen besimmten abschnitt mit einer variable ersetzt
|
[Bukkit] Spieler config
02/10/2013 - Minecraft - 15 Replies
Hii,
ich möchte bei meinem Plugin, dass wenn ein Spieler das erste mal auf dem Server joint, dass für ihn eine cofig ensteht, z.B. Notch.yml.
Diese Datei will ich aber noch später bearbeiten über Befehle und Listener. Ich glaube das ist bei Essentials so.
Ich hoffe, mir kann jemand helfen.
Liebe Grüße Samuel
|
Missing config file "default.cfg" during initiliazation. May need to add to code_pre_
11/30/2012 - Call of Duty - 0 Replies
hej
Blackops2 error beim starten:
Missing config file "default.cfg" during initiliazation. May need to add to code_pre_gfx.
|
Loaded default config d2nt 3.0
04/25/2010 - Diablo 2 - 1 Replies
ja topic sagt eigentlich shcon alles als
ich bekomme immermal nachdem der bot ein script vollendet hat
Loaded default config
dieser schriftzug erscheint in blau hat aber keine auswirkungen auf den verlauf...
woran kann das liegen?
habe noch ein problem.mein hdin übergeht beim botten immer die shenk extension obwohl sie auf true steht...hat wer ne idee woran das liegt??
|
All times are GMT +1. The time now is 12:25.
|
|