- Баллы
- 96
- Имя в Minecraft
- Mr_Krab
Вот так в конфигеПроблема со чтением конфига?
Код:
Sounds:
default: BLOCK_ANVIL_USE
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вот так в конфигеПроблема со чтением конфига?
Sounds:
default: BLOCK_ANVIL_USE
Чуть чуть переделал, но опять же не считывает звук, тишина, хотя и null не выкидывает. Взял строку с офф сайта бакита.Проблема со чтением конфига?
@EventHandler(priority = EventPriority.HIGHEST)
public boolean JoinSound(PlayerJoinEvent jes, FileConfiguration config) {
Player p = jes.getPlayer();
String group = Plugin.c.getPrimaryGroup(p);
if(p.hasPermission("customjoinstream.sound"))
p.playSound(p.getLocation(), Sound.valueOf(config.getString("Groups." + group + ".sound").toUpperCase()), 10, 100);
return true;
}
}
Groups:
default:
sound: BLOCK_ANVIL_USE
Пермишн есть? Все звуки включены? Эвент зарегистрирован?Чуть чуть переделал, но опять же не считывает звук, тишина, хотя и null не выкидывает. Взял строку с офф сайта бакита.
В конфиге так.Код:@EventHandler(priority = EventPriority.HIGHEST) public boolean JoinSound(PlayerJoinEvent jes, FileConfiguration config) { Player p = jes.getPlayer(); String group = Plugin.c.getPrimaryGroup(p); if(p.hasPermission("customjoinstream.sound")) p.playSound(p.getLocation(), Sound.valueOf(config.getString("Groups." + group + ".sound").toUpperCase()), 10, 100); return true; } }
Код:Groups: default: sound: BLOCK_ANVIL_USE
Проверяю под опкой, так что перм 100% есть. Эвент работает, проверял выводом звука из самого кода плагина. Не понял на счет включения звуков.Пермишн есть? Все звуки включены? Эвент зарегистрирован?
В клиенте, обычно некоторые игроки вырубают несколько типов звуков (игроки, блоки).Проверяю под опкой, так что перм 100% есть. Эвент работает, проверял выводом звука из самого кода плагина. Не понял на счет включения звуков.
У меня чистый клиент 1.12.1 без модификаций и под эту же версию собираю плагин.В клиенте, обычно некоторые игроки вырубают несколько типов звуков (игроки, блоки).
Я о настройках громкости.У меня чистый клиент 1.12.1 без модификаций и под эту же версию собираю плагин.
С этим все впорядке, звук в самой игре есть, я ток музыку вырубаю. Не воспроизводит звук именно плагин и только если я беру его из конфига.Я о настройках громкости.
А у тебя точно группа default? Не Default?Проверяю под опкой, так что перм 100% есть. Эвент работает, проверял выводом звука из самого кода плагина. Не понял на счет включения звуков.
Уже исправил, хз почему но отказывался считывать конфиг напрямую, пока не прописал путь к конфигу так instance.config, то есть направил через главный класс. Только после этого заработало. Думаю добавлю возможность установить 2 дополнительных звука и отдельным пермом несколько эффектов. Как доделаю выложу обнову тему плагина, пока ток в исходниках это есть.А у тебя точно группа default? Не Default?
if (getConfig().contains("Setting.level")){Как сделать проверку конфига на наличие параметра? Если параметр есть, то он используется, если стоит допустим 'none', то ничего не происходит или отправляется сообщение в консоль.
Чет нагуглил на западных ресурсах ток и 1 фиг не подходит, пытается 'none' взять за параметр, либо вообще перестает воспринимать строку в конфиге.
Я уже сохраняю готовый конфиг, мне нужно считывание грамотное сделать, что бы при пустой строке или определенном значении возвращало null.if (getConfig().contains("Setting.level")){
//TODO
} else {
getConfig().createSection("Setting.level"); //создаст просто секцию без значения
getConfig().set("Setting.level", 5); //создаст секцию со значением
saveConfig()
{
Ну так проверяй полученное значение. В чём проблема? Покажи код, что не получается.Я уже сохраняю готовый конфиг, мне нужно считывание грамотное сделать, что бы при пустой строке или определенном значении возвращало null.
Я конечно с телефона, но кажется ты забыл создать объект класса LocManager в CmdExecutorИмеется 2 класса.
1. CmdExecutor
2. LocManager
Теперь вопрос. Как сделать их нормальное взаимодействие? При вводе команды я получаю null, если все кидаю в 1 класс, то работает нормально.
PS для сохранения данных использую отдельный конфиг. Если есть замечания по коду, прошу высказывать.
А где присвоение lm? Оно только объявлено, и будет равно nullИмеется 2 класса.
1. CmdExecutor
2. LocManager
Теперь вопрос. Как сделать их нормальное взаимодействие? При вводе команды я получаю null, если все кидаю в 1 класс, то работает нормально.
PS для сохранения данных использую отдельный конфиг. Если есть замечания по коду, прошу высказывать.
Я конечно с телефона, но кажется ты забыл создать объект класса LocManager в CmdExecutor
Вы про такое?А где присвоение lm? Оно только объявлено, и будет равно null
LocManager lm;
public CmdExecutor(LocManager locmanager) {
lm = locmanager;
}
Можно и так. Только тогда тебе нужно использовать именно этот конструктор, для создания экземпляров класса.Вы про такое?
Код:LocManager lm; public CmdExecutor(LocManager locmanager) { lm = locmanager; }
Пробовал, ошибка та же. Есть другие варианты?Можно и так. Только тогда тебе нужно использовать именно этот конструктор, для создания экземпляров класса.