Помогите Не присваивается значение в переменную из файла при запуске.

Статус
Закрыто для дальнейших ответов.

XsatorYT

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
XsatorYT
Здравствуйте, есть класс- исполнитель команды, вот пример от туда.
if(xultraspawns.OtherCheckerConfigs.LanguageFile.equals("En")) {
try(Scanner scanner = new Scanner (new FileInputStream(Main.EnLangFile))) {
NoArgs = scanner.nextLine();
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
}
(Если можете помогите со Scanner, нада искть и считывать нужную строку ну и присваивать её содержимое переменой, как показано тут LanguageFile = conf.getString("LanguageFile");)
Суть в том что есть класс который получает значения из config.yml и присваивает ех в соответствующие переменные:

public class OtherCheckerConfigs {
public final Main plugin;
public static String PluginName, LanguageFile, ServerName;
public static Boolean TeleportToSpawnAtDeath, TeleportToSpawnAtJoin;

public static void loadConfig(FileConfiguration config) {

}

public OtherCheckerConfigs(Main plugin) {
this.plugin = plugin;
}
public void onEnable() {
FileConfiguration conf = plugin.getConfig();
PluginName = conf.getString("PluginName");
LanguageFile = conf.getString("LanguageFile");
ServerName = conf.getString("SeverName");
TeleportToSpawnAtDeath = conf.getBoolean("TeleportToSpawnAtDeath");
TeleportToSpawnAtJoin = conf.getBoolean("TeleportToSpawnAtJoin");
}

}
Так вот, когда плагин запускается то сообщения в которых используется текст из переменных выдают примерно такое: Текст null , а должно быть так Текст пример.

Понять не могу почему плагин не может присвоить значения переменным при запуске.
 
Последнее редактирование:
Почему у тебя переменные с большой буквы называются?
 
Скинь сам кофиг
PluginName: [XUltraSpawns]

#Имя вашего сервера. Пример: ChatColor.RED.toString() + "MineGreef"
#You Server Name. Example: ChatColor.RED.toString() + "MineGreef"

ServerName: ChatColor.RED.toString() + "[MineGreef]"

#Телепотировать на спавн при входе: true (Разрешено) | false (Запрещено).
#Telepot to spawn at join: true (allow) | false (deny).

TelepotToSpawnAtJoin: true

#Телепотировать на спавн при смерти: true (Разрешено) | false (Запрещено).
#Telepot to spawn at death: true (allow) | false (deny).

TeleportToSpawnatAtDeath: true

#Файл языка: Ru (Русский язык) | En (Английский язык).
#Language File: Ru (Russian Language) | En (English Lenguage).

LanguageFile: Ru

#Список цветов/форматов текста.
#Colors/Formats list.

#ChatColor.AQUA.toString()
#ChatColor.BLACK.toString()
#ChatColor.BLUE.toString()
#ChatColor.DARK_AQUA.toString()
#ChatColor.DARK_BLUE.toString()
#ChatColor.DARK_GRAY.toString()
#ChatColor.DARK_GREEN.toString()
#ChatColor.DARK_PURPLE.toString()
#ChatColor.DARK_RED.toString()
#ChatColor.GOLD.toString()
#ChatColor.GRAY.toString()
#ChatColor.GREEN.toString()
#ChatColor.LIGHT_PURPLE.toString()
#ChatColor.RED.toString()
#ChatColor.STRIKETHROUGH.toString()
#ChatColor.WHITE.toString()
#ChatColor.YELLOW.toString()
#
#Форматы / Formats
#
#ChatColor.UNDERLINE.toString()
#ChatColor.MAGIC.toString()
#ChatColor.ITALIC.toString()
#ChatColor.BOLD.toString()
 
ServerName: ChatColor.RED.toString() + "[MineGreef]"
Как это тут оказалось?
 
PluginName: [XUltraSpawns]

#Имя вашего сервера. Пример: ChatColor.RED.toString() + "MineGreef"
#You Server Name. Example: ChatColor.RED.toString() + "MineGreef"

ServerName: ChatColor.RED.toString() + "[MineGreef]"

#Телепотировать на спавн при входе: true (Разрешено) | false (Запрещено).
#Telepot to spawn at join: true (allow) | false (deny).

TelepotToSpawnAtJoin: true

#Телепотировать на спавн при смерти: true (Разрешено) | false (Запрещено).
#Telepot to spawn at death: true (allow) | false (deny).

TeleportToSpawnatAtDeath: true

#Файл языка: Ru (Русский язык) | En (Английский язык).
#Language File: Ru (Russian Language) | En (English Lenguage).

LanguageFile: Ru

#Список цветов/форматов текста.
#Colors/Formats list.

#ChatColor.AQUA.toString()
#ChatColor.BLACK.toString()
#ChatColor.BLUE.toString()
#ChatColor.DARK_AQUA.toString()
#ChatColor.DARK_BLUE.toString()
#ChatColor.DARK_GRAY.toString()
#ChatColor.DARK_GREEN.toString()
#ChatColor.DARK_PURPLE.toString()
#ChatColor.DARK_RED.toString()
#ChatColor.GOLD.toString()
#ChatColor.GRAY.toString()
#ChatColor.GREEN.toString()
#ChatColor.LIGHT_PURPLE.toString()
#ChatColor.RED.toString()
#ChatColor.STRIKETHROUGH.toString()
#ChatColor.WHITE.toString()
#ChatColor.YELLOW.toString()
#
#Форматы / Formats
#
#ChatColor.UNDERLINE.toString()
#ChatColor.MAGIC.toString()
#ChatColor.ITALIC.toString()
#ChatColor.BOLD.toString()
Есть люди которые делают обучение ролики по конфигу
 
PluginName: [XUltraSpawns]

#Имя вашего сервера. Пример: ChatColor.RED.toString() + "MineGreef"
#You Server Name. Example: ChatColor.RED.toString() + "MineGreef"

ServerName: ChatColor.RED.toString() + "[MineGreef]"

#Телепотировать на спавн при входе: true (Разрешено) | false (Запрещено).
#Telepot to spawn at join: true (allow) | false (deny).

TelepotToSpawnAtJoin: true

#Телепотировать на спавн при смерти: true (Разрешено) | false (Запрещено).
#Telepot to spawn at death: true (allow) | false (deny).

TeleportToSpawnatAtDeath: true

#Файл языка: Ru (Русский язык) | En (Английский язык).
#Language File: Ru (Russian Language) | En (English Lenguage).

LanguageFile: Ru

#Список цветов/форматов текста.
#Colors/Formats list.

#ChatColor.AQUA.toString()
#ChatColor.BLACK.toString()
#ChatColor.BLUE.toString()
#ChatColor.DARK_AQUA.toString()
#ChatColor.DARK_BLUE.toString()
#ChatColor.DARK_GRAY.toString()
#ChatColor.DARK_GREEN.toString()
#ChatColor.DARK_PURPLE.toString()
#ChatColor.DARK_RED.toString()
#ChatColor.GOLD.toString()
#ChatColor.GRAY.toString()
#ChatColor.GREEN.toString()
#ChatColor.LIGHT_PURPLE.toString()
#ChatColor.RED.toString()
#ChatColor.STRIKETHROUGH.toString()
#ChatColor.WHITE.toString()
#ChatColor.YELLOW.toString()
#
#Форматы / Formats
#
#ChatColor.UNDERLINE.toString()
#ChatColor.MAGIC.toString()
#ChatColor.ITALIC.toString()
#ChatColor.BOLD.toString()
Полное название конфига? Расширение?
 
А лучше сделать отдельный метод для конверта цветов.
А идеально сделать отдельный класс для подобных манипуляций
Есть уже и класс и метод ChatColor.translateAlternateColorCodes с правильной регуляркой между прочим.
 
Зависит от числа строк. Обычно это где то вместе в методе с плейсхолдерами.
Я об этом и писал.
Как по мне, удобнее когда у тебя есть отдельный класс для работы с подобными строками
 
Здравствуйте, есть класс- исполнитель команды, вот пример от туда.
if(xultraspawns.OtherCheckerConfigs.LanguageFile.equals("En")) {
try(Scanner scanner = new Scanner (new FileInputStream(Main.EnLangFile))) {
NoArgs = scanner.nextLine();
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
}
(Если можете помогите со Scanner, нада искть и считывать нужную строку ну и присваивать её содержимое переменой, как показано тут LanguageFile = conf.getString("LanguageFile");)
Суть в том что есть класс который получает значения из config.yml и присваивает ех в соответствующие переменные:

public class OtherCheckerConfigs {
public final Main plugin;
public static String PluginName, LanguageFile, ServerName;
public static Boolean TeleportToSpawnAtDeath, TeleportToSpawnAtJoin;

public static void loadConfig(FileConfiguration config) {

}

public OtherCheckerConfigs(Main plugin) {
this.plugin = plugin;
}
public void onEnable() {
FileConfiguration conf = plugin.getConfig();
PluginName = conf.getString("PluginName");
LanguageFile = conf.getString("LanguageFile");
ServerName = conf.getString("SeverName");
TeleportToSpawnAtDeath = conf.getBoolean("TeleportToSpawnAtDeath");
TeleportToSpawnAtJoin = conf.getBoolean("TeleportToSpawnAtJoin");
}

}
Так вот, когда плагин запускается то сообщения в которых используется текст из переменных выдают примерно такое: Текст null , а должно быть так Текст пример.

Понять не могу почему плагин не может присвоить значения переменным при запуске.
vk.com/gizar_tv мой вк задай вопрос со скринами я его решу
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх