- Баллы
- 76
- Имя в Minecraft
- Lisenochek
Краши пропали, но не работает сохранение.Ну так в первую очередь и нужно избавлять от крашей, а уже потом от изъянов логики.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Краши пропали, но не работает сохранение.Ну так в первую очередь и нужно избавлять от крашей, а уже потом от изъянов логики.
Я не такой агрошкольник, как некоторые особы (без обид). Я в конфигах не шарю.Зачем вы ему помогаете? Таких code-monkey'ев не должно быть.
Пусть пару книг прочитает что ли или хотя бы пол книги хорстмана, 1 том.
Этот код ужасен. Мне даже стыдно говорить, что он ужасен, он же хуже!
И не надо писать "НИМОЖАШЬПОМОЧЬНИПАМАГАЙ".
>АгрошкольникЯ не такой агрошкольник, как некоторые особы (без обид). Я в конфигах не шарю.
Я жабкой занимаюсь не так давно, так что мне не привыкать.>Агрошкольник
>Оскорбления
>Конфиги
Для начала начни ходить в школу.
Дело не в конфигах, а в твоём мерзком коде. Нормальные люди постыдились бы показывать такой код.
Потому что я, при всём том числе языков на которых писал, за всю жизнь не прочитал ни одной полноценной книги. Только msdn, интернет, stackoverflow и форумы. Но и вопросы, надо отметить, задавал не другим, а себе.Пусть пару книг прочитает что ли или хотя бы пол книги хорстмана, 1 том.

Я читаю книги для того, чтобы знать, как можно, а не как надо. В будущем это сохранит мне 100500 времени и я не буду костылять структуры и часами искать информацию.Потому что я, при всём том числе языков на которых писал, за всю жизнь не прочитал ни одной полноценной книги. Только msdn, интернет, stackoverflow и форумы. Но и вопросы, надо отметить, задавал не другим, а себе.
Я начал просто переписывать код, не знаю, что я там сделал, но он начал сохранять ключи хешов в файлик, но плагин их обратно не достает.Потому что я, при всём том числе языков на которых писал, за всю жизнь не прочитал ни одной полноценной книги. Только msdn, интернет, stackoverflow и форумы. Но и вопросы, надо отметить, задавал не другим, а себе.
Но данному субъекту помогать уже надоело![]()
package com.realistic.config;
import java.io.File;
import java.io.IOException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import com.realistic.api.API;
public class configData {
public static API plugin;
public configData(API main) {
this.plugin = main;
}
public static File dataFolder = new File("plugins/Realistic/", "data.yml");
public static FileConfiguration dataConfig = YamlConfiguration.loadConfiguration(dataFolder);
public void onEnable() {
if (!dataFolder.exists()) {
try {
dataFolder.createNewFile();
if (dataConfig.isConfigurationSection("Blooding_Players")) {
for (String s : dataConfig.getConfigurationSection("Blooding_Players").getKeys(false)) {
plugin.ml.bloodingPlayers.put(s, dataConfig.getBoolean("Blooding_Players." + s));
dataConfig.set("Blooding_Players." + s, null);
}
}
try {
dataConfig.save(dataFolder);
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void onDisable() {
for (String s : plugin.ml.bloodingPlayers.keySet()) {
dataConfig.set("Blooding_Players." + s, plugin.ml.bloodingPlayers.get(s));
}
try {
dataConfig.save(dataFolder);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.realistic.config;
import com.realistic.api.API;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
public class ConfigData {
private static ConfigData singleton;
private final File dataFile;
private final YamlConfiguration dataConfig;
private final API plugin;
public ConfigData(API plugin) {
this.dataFile = new File(plugin.getDataFolder(), "data.yml");
this.dataConfig = YamlConfiguration.loadConfiguration(this.dataFile);
this.plugin = plugin;
}
public void loadSettings() {
if (!this.dataFile.exists()) {
this.plugin.ml.bloodingPlayers.clear();
return;
}
ConfigurationSection cs = this.dataConfig.getConfigurationSection("Blooding_Players");
for (String key : cs.getKeys(false)) {
plugin.ml.bloodingPlayers.put(key, cs.getBoolean(key));
}
}
public void saveSettings() {
this.dataConfig.set("Blooding_Players", plugin.ml.bloodingPlayers);
try {
this.dataConfig.save(this.dataFile);
} catch (IOException ex) {
this.plugin.getLogger().log(Level.WARNING, "Failed to save \"data.yml\" to file!", ex);
}
}
/**
* Прекращай пользоваться этим.
* @param plugin
* @deprecated скажи нет синглтонам! Используй ООП.
*/
@Deprecated
public static void onEnable(API plugin) {
if (ConfigData.singleton == null) {
ConfigData.singleton = new ConfigData(plugin);
}
ConfigData.singleton.loadSettings();
}
/**
* Прекращай пользоваться этим.
* @param plugin
* @deprecated скажи нет синглтонам! Используй ООП.
*/
@Deprecated
public static void onDisable(API plugin) {
if (ConfigData.singleton == null) {
Bukkit.getLogger().log(Level.WARNING, "[{0}] Calling \"onDisable\" when singleton == null!", ConfigData.class.toString());
ConfigData.singleton = new ConfigData(plugin);
}
ConfigData.singleton.saveSettings();
}
}
Причем тут логика? Книга - можно сказать, краткий javadoc, хорошо скомпонованный.Java:package com.realistic.config; import com.realistic.api.API; import java.io.File; import java.io.IOException; import java.util.logging.Level; import org.bukkit.Bukkit; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.YamlConfiguration; public class ConfigData { private static ConfigData singleton; private final File dataFile; private final YamlConfiguration dataConfig; private final API plugin; public ConfigData(API plugin) { this.dataFile = new File(plugin.getDataFolder(), "data.yml"); this.dataConfig = YamlConfiguration.loadConfiguration(this.dataFile); this.plugin = plugin; } public void loadSettings() { if (!this.dataFile.exists()) { this.plugin.ml.bloodingPlayers.clear(); return; } ConfigurationSection cs = this.dataConfig.getConfigurationSection("Blooding_Players"); for (String key : cs.getKeys(false)) { plugin.ml.bloodingPlayers.put(key, cs.getBoolean(key)); } } public void saveSettings() { this.dataConfig.set("Blooding_Players", plugin.ml.bloodingPlayers); try { this.dataConfig.save(this.dataFile); } catch (IOException ex) { this.plugin.getLogger().log(Level.WARNING, "Failed to save \"data.yml\" to file!", ex); } } /** * Прекращай пользоваться этим. * @param plugin * @deprecated скажи нет синглтонам! Используй ООП. */ @Deprecated public static void onEnable(API plugin) { if (ConfigData.singleton == null) { ConfigData.singleton = new ConfigData(plugin); } ConfigData.singleton.loadSettings(); } /** * Прекращай пользоваться этим. * @param plugin * @deprecated скажи нет синглтонам! Используй ООП. */ @Deprecated public static void onDisable(API plugin) { if (ConfigData.singleton == null) { Bukkit.getLogger().log(Level.WARNING, "[{0}] Calling \"onDisable\" when singleton == null!", ConfigData.class.toString()); ConfigData.singleton = new ConfigData(plugin); } ConfigData.singleton.saveSettings(); } }
Можешь скопипастить.
Лучше потрать месяц на обучение, чем два на гугление, если тебе не даётся логика и эвристика.
Книга всегда есть хорошо, но можно и без неё. Конечно, время изучения ЯП возрастёт, но кому то так даже интереснее.Книга - можно сказать, краткий javadoc, хорошо скомпонованный.
Книга - это сборник граблей, на которые лучше не наступать. + советы.
Я про логику в коде.Причем тут логика?
Почему только в java? Почти везде не принято такое и считается моветоном.что такое for и почему в java не принято использовать goto.
Взгляни на "видео-туториалы". Смотрел к примеру тутор по JSF, просто чтобы узнать, что это за монстр такой, а там учат проект создавать в eclipse.Книга всегда есть хорошо, но можно и без неё. Конечно, время изучения ЯП возрастёт, но кому то так даже интереснее.
Я про логику в коде.
Почему только в java? Почти везде не принято такое и считается моветоном.
Потому что так интереснее, наверно?Это когда есть ОТО, но ты говоришь, что нееет, я лучше сам всё открою заново. Зачем?
Главная проблема кник - в них нет объёмных примеров. В основном встречаются две-три строчки, иногда можно увидеть целый метод. Но в них почти не встречаются полные классы. А если ты хочешь, чтобы не было говнокода, то надо показать как "правильно" писать.Я вот везде книги пихаю, ибо это явно почти решение говнокода.
1. Не нужно всем говорить этоПотому что так интереснее, наверно?
Главная проблема кник - в них нет объёмных примеров. В основном встречаются две-три строчки, иногда можно увидеть целый метод. Но в них почти не встречаются полные классы. А если ты хочешь, чтобы не было говнокода, то надо показать как "правильно" писать.
У меня случилось бы +10 к счастью, если бы такие треды брало на себя немного больше людейПрям аж самому интересно наблюдать за тредами, которые он берёт на себя.

Оффтоп, но небольшая просьба — время от времени убивать в себе оверквоттера.Причем тут логика? Книга - можно сказать, краткий javadoc, хорошо скомпонованный.
Я, например, это написал тебе, потому что ты обращался с предложением по книгам мне:Я вот понимаю, что говорят, "без книг научился". Мне это самому интересно, но зачем об этом везде писать?