Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Странно. Можно попробовать написать issue в гит плагиная понял, это не вина ядра. это так работает ViaBackwards
на версии 1.16.1 клиенте все ок, а если зайти с 1.12.2, то команды палит
уже https://github.com/ViaVersion/ViaBackwards/issues/328Странно. Можно попробовать написать issue в гит плагина
ты не понял. на новых версиях 1.16.1 все работает как надо, а вот для 1.12.2 показывает лишние командыА ничего ты с этим не сделаешь, лист команд приходит на клиент при входе. Иначе таб комплит вообще не будет работать в новых версиях. А уж как там затычка для динов робит хз.
Потому что 1.12.2 и меньше запрашивает комплит с сервера, и он отвечает полным списком комнад. Модифицированный клиент 1.13+ тоже так может.ты не понял. на новых версиях 1.16.1 все работает как надо, а вот для 1.12.2 показывает лишние команды
Я не вижу проблемы, чтобы это реализовать такое. Если ViaBackwards закроют мой issue с отказом, тогда попробую сделать сам такую логику.Потому что 1.12.2 и меньше запрашивает комплит с сервера, и он отвечает полным списком комнад. Модифицированный клиент 1.13+ тоже так может.
Потому что ViaBackwars его не обрабатывает. Таб комлит списка комманд это поддерживаемая фича протокола майна и в 1.16.5. Потому 1.12.2 просто транслируется в 1.16.5 и дальше сервер сам разбирается.Я не вижу проблемы, чтобы это реализовать такое. Если ViaBackwards закроют мой issue с отказом, тогда попробую сделать сам такую логику.
Для поддержки клиентов 1.12.2 ViaBackwards все равно должен обрабатывать каждый запрос на TabComplete и посылать ответ, ведь клиент 1.12.2 такие запросы отправляет. Тогда почему бы не сделать проверку на права перед отправкой ответа с командами?
Лул, не поможет. Мамкины прятатели команд вечно забывают что это фича современного протокола, пусть и неиспользуемая в ванильном клиенте. Слегка модифицировав клиент можно легко добиться прям такого же результата на обычном 1.16.5 сервере.Итог, не юзать костыли для входа старых версий. Да и сервер меньше лагать будет от сие костылей.
Да полный список команд летит прям на входе игрока да и без модификации).Лул, не поможет. Мамкины прятатели команд вечно забывают что это фича современного протокола, пусть и неиспользуемая в ванильном клиенте. Слегка модифицировав клиент можно легко добиться прям такого же результата на обычном 1.16.5 сервере.
Летит, но мамкипны прятатели такие как ТС его фильтруют. Но ещё можно послать просто запрос на таб комплит с пустой строкой на сервер, и он ответит списком комманд и списком игроков. Собственно в 1.12.2 это так и работало, просто в 1.13 привертели посылку команд, но старый таб комплит то не убирали.Да полный список команд лети прям на входе игрока да и без модификации).
Бедные школьники, столько попыток и все равно их сервера все под копирку)Летит, но мамкипны прятатели такие как ТС его фильтруют. Но ещё можно послать просто запрос на таб комплит с пустой строкой на сервер, и он ответит списком комманд и списком игроков. Собственно в 1.12.2 это так и работало, просто в 1.13 привертели посылку команд, но старый таб комплит то не убирали.
Тогда получается это баг ядра?Собственно в 1.12.2 это так и работало, просто в 1.13 привертели посылку команд, но старый таб комплит то не убирали.
А что плохого их прятать? Какой смысл игроку видеть команды, которые ему все равно не доступны? Например, команды WorldEdit, они занимает 50% выдачи tab-complete, получается просто бесполезная простыня текста.Мамкины прятатели команд.
Он и так юзабельный в новых версиях. Нужны удобства, не играй со старых версий.А что плохого их прятать? Какой смысл игроку видеть команды, которые ему все равно не доступны? Например, команды WorldEdit, они занимает 50% выдачи tab-complete, получается просто бесполезная простыня текста.
Я не преследую цель засекретить наличие каких-то плагинов, ваще похер на это. Просто tab-complete хочу облагородить, сделать его юзабельным.
import com.destroystokyo.paper.event.brigadier.AsyncPlayerSendSuggestionsEvent;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class Events implements Listener {
@EventHandler
public void on(AsyncPlayerSendSuggestionsEvent event) {
String buffer = event.getBuffer();
if (buffer.startsWith("/") && !buffer.contains(" ")) {
event.getSuggestions().getList().removeIf(suggestion -> {
String commandString = suggestion.getText();
commandString = StringUtils.removeStart(commandString, "/");
Command command = Bukkit.getCommandMap().getCommand(commandString);
if (command == null) {
return false;
}
String tabPerm = command.getPermission();
if (tabPerm == null) {
return false;
}
return !event.getPlayer().hasPermission(tabPerm);
});
}
}
}
Нет никакого бага. Если ты правишь руками список посылаемых команд, то и таб комплит править тоже тебе. Никто за тебя синхронизировать 2 не очень то и связанных фичи не обязан.Тогда получается это баг ядра?