Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
@Override
public String onRequest(OfflinePlayer player, @NotNull String spigotmcru) {
User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName()));
for (Node node : user.getNodes()) {
if (node.getKey().startsWith("group.") && Objects.nonNull(node.getExpiryDuration())) {
return node.getExpiryDuration().toDays() + "д.";
}
else if (node.getKey().startsWith("group.") && !Objects.nonNull(node.getExpiryDuration())) {
return "∞";
}
}
return null;
}
заметил такую особенность, что если у тебя донат выше, того который выпал из кейса, время всё равно прибавитьсяГотово.
Код:@Override public String onRequest(OfflinePlayer player, @NotNull String spigotmcru) { User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName())); for (Node node : user.getNodes()) { if (node.getKey().startsWith("group.") && Objects.nonNull(node.getExpiryDuration())) { return node.getExpiryDuration().toDays() + "д."; } else if (node.getKey().startsWith("group.") && !Objects.nonNull(node.getExpiryDuration())) { return "∞"; } } return null; }
Спасибо большое)
Объединено
заметил такую особенность, что если у тебя донат выше, того который выпал из кейса, время всё равно прибавиться
Например :
Донат Принц, выше чем страж. Если у тебя принц и выпадет страж, то к принцу все равно прибавиться время стража, при этом срок принца так и остаётся 1 мес.
Объединено
Вам необходимо зарегистрироваться для просмотра изображений-вложенийвот герой у меня на 1 месяц. Но к нему прибавилось время стража(страж ниже героя)
ДаОчень странно. Сложения в плагине вообще нет. Это уже проблема распределения прав.
У Вас донаты наследуют права от прошлых?
убрал унаследование, всё равно такое же происходит)Очень странно. Сложения в плагине вообще нет. Это уже проблема распределения прав.
У Вас донаты наследуют права от прошлых?
Да
Объединено
ПопробуюПопробуйте использовать settemp вместо addtemp.
Попробую
Объединено
Вам необходимо зарегистрироваться для просмотра изображений-вложений
К сожалению
не помогло
Вам необходимо зарегистрироваться для просмотра изображений-вложенийВам необходимо зарегистрироваться для просмотра изображений-вложений
не помогло
Вам необходимо зарегистрироваться для просмотра изображений-вложенийВам необходимо зарегистрироваться для просмотра изображений-вложений
Объединено
типо не заменился даже)
Да, нужно сделать скорее всего время прямо унаследованое, а не косвенноЯ правильно понимаю, что суммирование времени происходит когда наследуются одновременно несколько донатов?
Т.е. выполняется /lp user юзер parent addtemp донат 30d и /lp user юзер parent addtemp донат2 30d
Он объединяет время и увеличивает его, чтобы игрок когда выбил ещё раз, ему снова далось оно?А если не использовать параметр accumulate? Ведь поэтому время-то и суммируется.
У меня на сервере всё отлично считает
Объединено
У меня на сервере привилегии также наследуют права друг от друга. Вот пример двух привилегий, архитектор ниже командора.
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Он объединяет время и увеличивает его, чтобы игрок когда выбил ещё раз, ему снова далось оно?
Крч, решил не умничать и просто сделать так.Используйте вместо этого temporary-add-behaviour: accumulate в config.yml LuckPerms'а, а команда выдачи - lp user {игрок] parent addtemp voin 30d
А можно пожалуйста полный исходный код?Готово.
Код:@Override public String onRequest(OfflinePlayer player, @NotNull String spigotmcru) { User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName())); for (Node node : user.getNodes()) { if (node.getKey().startsWith("group.") && Objects.nonNull(node.getExpiryDuration())) { return node.getExpiryDuration().toDays() + "д."; } else if (node.getKey().startsWith("group.") && !Objects.nonNull(node.getExpiryDuration())) { return "∞"; } } return null; }
Я имею ввиду не этот код, а именно полностью проект этого плейса, тоесть со всякими манифестамичекни код файла который прикреплен
Можешь сказать чё за плейсхолдер?Готово.
Код:@Override public String onRequest(OfflinePlayer player, @NotNull String spigotmcru) { User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName())); for (Node node : user.getNodes()) { if (node.getKey().startsWith("group.") && Objects.nonNull(node.getExpiryDuration())) { return node.getExpiryDuration().toDays() + "д."; } else if (node.getKey().startsWith("group.") && !Objects.nonNull(node.getExpiryDuration())) { return "∞"; } } return null; }
Можешь сказать чё за плейсхолдер?
А можно пожалуйста полный исходный код?
Добрый вечер, помогите пожалуйста, когда указываю плейсхолдер в скорборде и табе, то он не работает(
хай не особо понял какой плейсхолдр нужен типо написано <группа> но ведь это только на однуДоброе утро.
Прошу прощения за бесполезный совет.
Если этот плагин не помогает, хотя, видимо он и не поможет, т.к. принимает только числа, то выходом является лишь написание expansion'a.
Я могу Вам с этим помочь. В ближайшее время пришлю сюда готовое решение, как только напишу его.
Объединено
Написал expansion.
Загрузите его по пути /plugins/PlaceholderAPI/expansions
После чего пропишите команду /papi register Expansion-expirytime.jar или перезагрузите сервер.
Используйте как %expirytime_<группа>%
Плейсхолдер возвращает количество дней до истечения привилегии.
Рад был помочь!
Java:@Override public String onRequest(OfflinePlayer player, @NotNull String group) { Set<Group> groups = LuckPermsProvider.get().getGroupManager().getLoadedGroups(); for (Group grp : groups) { if (grp.getName().equals(group)) { User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName())); assert user != null; for (Node node : user.getNodes()) { if (node.getKey().equals("group." + group) && Objects.nonNull(node.getExpiryDuration())) { return Long.toString(node.getExpiryDuration().toDays()); } } return "Группа не найдена!"; } } return null;
хай не особо понял какой плейсхолдр нужен типо написано <группа> но ведь это только наДоброе утро.
Прошу прощения за бесполезный совет.
Если этот плагин не помогает, хотя, видимо он и не поможет, т.к. принимает только числа, то выходом является лишь написание expansion'a.
Я могу Вам с этим помочь. В ближайшее время пришлю сюда готовое решение, как только напишу его.
Объединено
Написал expansion.
Загрузите его по пути /plugins/PlaceholderAPI/expansions
После чего пропишите команду /papi register Expansion-expirytime.jar или перезагрузите сервер.
Используйте как %expirytime_<группа>%
Плейсхолдер возвращает количество дней до истечения привилегии.
Рад был помочь!
Java:@Override public String onRequest(OfflinePlayer player, @NotNull String group) { Set<Group> groups = LuckPermsProvider.get().getGroupManager().getLoadedGroups(); for (Group grp : groups) { if (grp.getName().equals(group)) { User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName())); assert user != null; for (Node node : user.getNodes()) { if (node.getKey().equals("group." + group) && Objects.nonNull(node.getExpiryDuration())) { return Long.toString(node.getExpiryDuration().toDays()); } } return "Группа не найдена!"; } } return null;
хай не особо понял какой плейсхолдр нужен типо написано <группа> но ведь это только на однуСегодня, попробую, обязательно отвечу?
Объединено
Попробовал, всё работает, но мне же нужно это для всех привилегий вывести) А если вставлять плейсхолдер для всех привилегий, то в табе соответственно будет написано, группа не найдена
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения