forked from zhdev/griefus
Compare commits
12 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 220b326934 | |||
| 540525fee2 | |||
| d0fe67d988 | |||
| 877ffe5015 | |||
| 695cd1ade7 | |||
| 1a09bd59c0 | |||
| 52f3e8929d | |||
| 8e727c5f3b | |||
| 29d698b38f | |||
| 981f5ecefc | |||
| a79fa4d268 | |||
| 5533e55aa7 |
5 changed files with 265 additions and 182 deletions
330
lang/ru.yml
330
lang/ru.yml
|
|
@ -1,202 +1,202 @@
|
||||||
# CoreProtect Language File (ru)
|
# CoreProtect Language File (ru)
|
||||||
|
|
||||||
ACTION_NOT_SUPPORTED: "Данное действие не поддерживается этой командой."
|
ACTION_NOT_SUPPORTED: "<red>Данное действие не поддерживается этой командой"
|
||||||
AMOUNT_BLOCK: "{0} {блок|блоков}"
|
AMOUNT_BLOCK: "{0} {блок|блоков}"
|
||||||
AMOUNT_CHUNK: "{0} {чанк|чанков}"
|
AMOUNT_CHUNK: "{0} {чанк|чанков}"
|
||||||
AMOUNT_ENTITY: "{0} {существо|существ}"
|
AMOUNT_ENTITY: "{0} {существо|существ}"
|
||||||
AMOUNT_ITEM: "{0} {предмет|предметов}"
|
AMOUNT_ITEM: "{0} {предмет|предметов}"
|
||||||
API_TEST: "Тест API прошёл успешно!"
|
API_TEST: "<green>Тест API прошёл успешно!"
|
||||||
CACHE_ERROR: "ВНИМАНИЕ: Ошибка при проверке кеша {0}."
|
CACHE_ERROR: "<red>ВНИМАНИЕ: Ошибка при проверке кеша {0}"
|
||||||
CACHE_RELOAD: "Принудительная перезагрузка кеша {отображения|мира} из базы данных."
|
CACHE_RELOAD: "Принудительная перезагрузка кеша {отображения|мира} из базы данных"
|
||||||
CHECK_CONFIG: "Пожалуйста, проверьте config.yml"
|
CHECK_CONFIG: "<red>Пожалуйста, проверьте config.yml"
|
||||||
COMMAND_CONSOLE: "Пожалуйста, запустите команду из консоли."
|
COMMAND_CONSOLE: "<red>Пожалуйста, запустите команду из консоли"
|
||||||
COMMAND_NOT_FOUND: "Команда «{0}» не найдена."
|
COMMAND_NOT_FOUND: "<red>Команда «{0}» не найдена"
|
||||||
COMMAND_THROTTLED: "Подождите немного и попробуйте еще раз."
|
COMMAND_THROTTLED: "<red>Подождите немного и попробуйте еще раз"
|
||||||
CONSUMER_ERROR: "Обработка потребительской очереди уже {приостановлено|возобновлено}."
|
CONSUMER_ERROR: "<red>Обработка потребительской очереди уже {приостановлено|возобновлено}"
|
||||||
CONSUMER_TOGGLED: "Обработка очереди потребителей была {приостановлено|возобновлено}."
|
CONSUMER_TOGGLED: "Обработка очереди потребителей {<gray>приостановлена</gray>|<green>возобновлена</green>}"
|
||||||
CONTAINER_HEADER: "Контейнерные транзакции"
|
CONTAINER_HEADER: "Контейнерные транзакции"
|
||||||
DATABASE_BUSY: "База данных занята. Пожалуйста, повторите попытку позже."
|
DATABASE_BUSY: "<red>База данных занята, повторите попытку позже"
|
||||||
DATABASE_INDEX_ERROR: "Невозможно проверить индексы базы данных."
|
DATABASE_INDEX_ERROR: "<red>Невозможно проверить индексы базы данных"
|
||||||
DATABASE_LOCKED_1: "База данных заблокирована. Подождите около 15 секунд..."
|
DATABASE_LOCKED_1: "<red>База данных заблокирована, подождите около 15 секунд..."
|
||||||
DATABASE_LOCKED_2: "База данных уже используется. Пожалуйста, попробуйте еще раз."
|
DATABASE_LOCKED_2: "<red>База данных уже используется, попробуйте еще раз"
|
||||||
DATABASE_LOCKED_3: "Чтобы отключить блокировку базы данных, установите «database-lock: false»."
|
DATABASE_LOCKED_3: "Чтобы отключить блокировку базы данных, установите «database-lock: false»"
|
||||||
DATABASE_LOCKED_4: "Отключение блокировки базы данных может привести к повреждению данных."
|
DATABASE_LOCKED_4: "Отключение блокировки базы данных может привести к повреждению данных"
|
||||||
DATABASE_UNREACHABLE: "База данных недоступна. Удаление данных и завершение работы."
|
DATABASE_UNREACHABLE: "<red>База данных недоступна. Удаление данных и завершение работы"
|
||||||
DEVELOPMENT_BRANCH: "Обнаружена ветвь разработки, скрипты исправлений пропущены."
|
DEVELOPMENT_BRANCH: "Обнаружена ветвь разработки, скрипты исправлений пропущены"
|
||||||
DIRT_BLOCK: "Под вами установлен блок грязи."
|
DIRT_BLOCK: "<gold>Под вами установлен блок грязи"
|
||||||
DISABLE_SUCCESS: "{0} был успешно отключён!"
|
DISABLE_SUCCESS: "{0} был успешно отключён!"
|
||||||
ENABLE_FAILED: "{0} не удалось запустить."
|
ENABLE_FAILED: "<red>{0} не удалось запустить"
|
||||||
ENABLE_SUCCESS: "{0} был успешно запущен!"
|
ENABLE_SUCCESS: "{0} был успешно запущен!"
|
||||||
ENJOY_COREPROTECT: "Нравится {0}? Присоединяйтесь к нашему Discord!"
|
ENJOY_COREPROTECT: "Нравится {0}? Присоединяйтесь к нашему Discord!"
|
||||||
FINISHING_CONVERSION: "Завершение преобразования данных. Пожалуйста, подождите..."
|
FINISHING_CONVERSION: "<gray><italic>Завершение преобразования данных. Пожалуйста, подождите..."
|
||||||
FINISHING_LOGGING: "Завершение регистрации данных. Пожалуйста, подождите..."
|
FINISHING_LOGGING: "<gray><italic>Завершение регистрации данных. Пожалуйста, подождите..."
|
||||||
FIRST_VERSION: "Исходная БД: {0}"
|
FIRST_VERSION: "Исходная БД: {0}"
|
||||||
GLOBAL_LOOKUP: "Не указывайте радиус для глобального поиска."
|
GLOBAL_LOOKUP: "<red>Радиус для глобального поиска не требуется"
|
||||||
GLOBAL_ROLLBACK: "Используйте «{0}», чтобы сделать {откат|восстановление} глобально"
|
GLOBAL_ROLLBACK: "<yellow>Используйте «{0}», чтобы сделать {откат|восстановление} глобально"
|
||||||
HELP_ACTION_1: "Ограничьте поиск определенным действием."
|
HELP_ACTION_1: "Ограничьте поиск определенным действием"
|
||||||
HELP_ACTION_2: "Например: [a:block], [a:+block], [a:-block] [a:click], [a:container], [a:inventory], [a:item], [a:kill], [a:chat], [a:command], [a:sign], [a:session], [a:username]"
|
HELP_ACTION_2: "Например: [a:block], [a:+block], [a:-block] [a:click], [a:container], [a:inventory], [a:item], [a:kill], [a:chat], [a:command], [a:sign], [a:session], [a:username]"
|
||||||
HELP_COMMAND: "Показать дополнительную информацию."
|
HELP_COMMAND: "Показать дополнительную информацию"
|
||||||
HELP_EXCLUDE_1: "Исключите блоки/пользователей."
|
HELP_EXCLUDE_1: "Исключите блоки/пользователей"
|
||||||
HELP_EXCLUDE_2: "Например: [e:stone], [e:Notch], [e:stone,Notch]"
|
HELP_EXCLUDE_2: "Например: [e:stone], [e:Notch], [e:stone,Notch]"
|
||||||
HELP_HEADER: "{0} Помощь"
|
HELP_HEADER: "<yellow>Помощь по командам (<gray>отслеживание действий<yellow>)"
|
||||||
HELP_INCLUDE_1: "Включите определенные блоки/сущности."
|
HELP_INCLUDE_1: "Включите определенные блоки/сущности"
|
||||||
HELP_INCLUDE_2: "Например: [i:stone], [i:zombie], [i:stone,wood,bedrock]"
|
HELP_INCLUDE_2: "Например: [i:stone], [i:zombie], [i:stone,wood,bedrock]"
|
||||||
HELP_INSPECT_1: "С включенным режимом инспектора вы можете сделать следующее:"
|
HELP_INSPECT_1: "С включенным режимом CHECKER вы можете сделать следующее:"
|
||||||
HELP_INSPECT_2: "Щелкните левой кнопкой мыши по блоку, чтобы увидеть, кто разместил этот блок.."
|
HELP_INSPECT_2: "Щелкните левой кнопкой мыши по блоку, чтобы увидеть, кто разместил этот блок"
|
||||||
HELP_INSPECT_3: "Щелкните блок правой кнопкой мыши, чтобы увидеть, какой соседний блок был сломан.."
|
HELP_INSPECT_3: "Щелкните блок правой кнопкой мыши, чтобы увидеть, какой соседний блок был сломан"
|
||||||
HELP_INSPECT_4: "Поместите блок, чтобы увидеть, какой блок был сломан в этом месте."
|
HELP_INSPECT_4: "Поместите блок, чтобы увидеть, какой блок был сломан в этом месте"
|
||||||
HELP_INSPECT_5: "Поместите блок в жидкость (и т.п.), чтобы увидеть, кто его поместил."
|
HELP_INSPECT_5: "Поместите блок в жидкость (и т.п.), чтобы увидеть, кто его поместил"
|
||||||
HELP_INSPECT_6: "Щелкните правой кнопкой мыши дверь, сундук и т.д., чтобы узнать, кто последний использовал их."
|
HELP_INSPECT_6: "Щелкните правой кнопкой мыши дверь, сундук и т.д., чтобы узнать, кто последний использовал их"
|
||||||
HELP_INSPECT_7: "Подсказка: Вы можете использовать «/co i» для быстрого переключения режима инспектора."
|
HELP_INSPECT_7: "Подсказка: Вы можете использовать «/co i» для быстрого переключения режима CHECKER"
|
||||||
HELP_INSPECT_COMMAND: "Включает или выключает режим инспектора блоков."
|
HELP_INSPECT_COMMAND: "Включает или выключает режим проверки логов (CHECKER)"
|
||||||
HELP_LIST: "Отображает список всех команд."
|
HELP_LIST: "Отображает список всех команд"
|
||||||
HELP_LOOKUP_1: "Команда быстрого доступа."
|
HELP_LOOKUP_1: "Команда быстрого доступа"
|
||||||
HELP_LOOKUP_2: "Используйте после проверки блока для просмотра журналов."
|
HELP_LOOKUP_2: "Используйте после проверки блока для просмотра журналов"
|
||||||
HELP_LOOKUP_COMMAND: "Глобальный поиск данных блоков."
|
HELP_LOOKUP_COMMAND: "Глобальный поиск данных блоков"
|
||||||
HELP_NO_INFO: "Информация о команде «{0}» не найдена."
|
HELP_NO_INFO: "<red>Информация о команде «{0}» не найдена"
|
||||||
HELP_PARAMETER: "Пожалуйста, просмотрите «{0}» для получения подробной информации о параметрах."
|
HELP_PARAMETER: "Пожалуйста, просмотрите «{0}» для получения подробной информации о параметрах"
|
||||||
HELP_PARAMS_1: "Выполните {поиск|откат|восстановление}."
|
HELP_PARAMS_1: "Выполните {поиск|откат|восстановление}"
|
||||||
HELP_PARAMS_2: "Укажите пользователей для {поиска|отката|восстановления}."
|
HELP_PARAMS_2: "Укажите пользователей для {поиска|отката|восстановления}"
|
||||||
HELP_PARAMS_3: "Укажите время для {поиска|отката|восстановления}."
|
HELP_PARAMS_3: "Укажите время для {поиска|отката|восстановления}"
|
||||||
HELP_PARAMS_4: "Укажите область радиуса, чтобы ограничить {поиск|откат|восстановление}."
|
HELP_PARAMS_4: "Укажите область радиуса, чтобы ограничить {поиск|откат|восстановление}"
|
||||||
HELP_PARAMS_5: "Ограничьте {поиск|откат|восстановление} определенным действием."
|
HELP_PARAMS_5: "Ограничьте {поиск|откат|восстановление} определенным действием"
|
||||||
HELP_PARAMS_6: "Включите определенные блоки/объекты в {поиск|откат|восстановление}."
|
HELP_PARAMS_6: "Включите определенные блоки/объекты в {поиск|откат|восстановление}"
|
||||||
HELP_PARAMS_7: "Исключите блоки/пользователей из {поиска|отката|восстановления}."
|
HELP_PARAMS_7: "Исключите блоки/пользователей из {поиска|отката|восстановления}"
|
||||||
HELP_PURGE_1: "Удалить данные старше указанного времени."
|
HELP_PURGE_1: "Удалить данные старше указанного времени"
|
||||||
HELP_PURGE_2: "Например, «{0}» удалит все данные старше одного месяца и сохранит данные только за последние 30 дней."
|
HELP_PURGE_2: "Например, «{0}» удалит все данные старше одного месяца и сохранит данные только за последние 30 дней"
|
||||||
HELP_PURGE_COMMAND: "Удалит старые данные блока."
|
HELP_PURGE_COMMAND: "Удалит старые данные блока"
|
||||||
HELP_RADIUS_1: "Укажите радиус области."
|
HELP_RADIUS_1: "Укажите радиус области"
|
||||||
HELP_RADIUS_2: "Например: [r:10] (Внесёт изменения только в пределах 10 блоков от вас)"
|
HELP_RADIUS_2: "Например: [r:10] (Внесёт изменения только в пределах 10 блоков от вас)"
|
||||||
HELP_RELOAD_COMMAND: "Перезагружает файл конфигурации."
|
HELP_RELOAD_COMMAND: "Перезагружает файл конфигурации"
|
||||||
HELP_RESTORE_COMMAND: "Восстановит данные блока."
|
HELP_RESTORE_COMMAND: "Отмена отката действий"
|
||||||
HELP_ROLLBACK_COMMAND: "Откатит данные блока."
|
HELP_ROLLBACK_COMMAND: "Откат действий"
|
||||||
HELP_STATUS: "Просмотр статуса плагина и информации о версии."
|
HELP_STATUS: "Просмотр статуса плагина и информации о версии"
|
||||||
HELP_STATUS_COMMAND: "Отображает статус плагина."
|
HELP_STATUS_COMMAND: "Отображает статус плагина"
|
||||||
HELP_TELEPORT: "Телепорт в локацию."
|
HELP_TELEPORT: "Телепорт в локацию"
|
||||||
HELP_TIME_1: "Укажите время поиска."
|
HELP_TIME_1: "Укажите время поиска"
|
||||||
HELP_TIME_2: "Например: [t:2w,5d,7h,2m,10s], [t:5d2h], [t:2.50h]"
|
HELP_TIME_2: "Например: [t:2w,5d,7h,2m,10s], [t:5d2h], [t:2.50h]"
|
||||||
HELP_USER_1: "Укажите пользовател(я/ей) для поиска."
|
HELP_USER_1: "Укажите пользовател(я/ей) для поиска"
|
||||||
HELP_USER_2: "Например: [u:Notch], [u:Notch,#enderman]"
|
HELP_USER_2: "Например: [u:Notch], [u:Notch,#enderman]"
|
||||||
INCOMPATIBLE_ACTION: "«{0}» нельзя использовать с этим действием."
|
INCOMPATIBLE_ACTION: "<red>«{0}» нельзя использовать с этим действием"
|
||||||
INSPECTOR_ERROR: "Режим инспектора уже {включён|выключен}."
|
INSPECTOR_ERROR: "<red>Режим CHECKER уже {включён|выключен}"
|
||||||
INSPECTOR_TOGGLED: "Режим инспектора теперь {включён|выключен}."
|
INSPECTOR_TOGGLED: "Режим <gray>CHECKER {<green>включён|<red>выключен}"
|
||||||
INTEGRATION_ERROR: "Невозможно {инициализировать|отключить} регистрацию {0}."
|
INTEGRATION_ERROR: "<red>Невозможно {инициализировать|отключить} регистрацию {0}"
|
||||||
INTEGRATION_SUCCESS: "{0} регистрация успешно {инициализирована|отключена}."
|
INTEGRATION_SUCCESS: "{0} регистрация успешно {<green>инициализирована|<red>отключена}"
|
||||||
INTEGRATION_VERSION: "Обнаружена недопустимая версия {0}."
|
INTEGRATION_VERSION: "<red>Обнаружена недопустимая версия {0}"
|
||||||
INTERACTIONS_HEADER: "Взаимодействие с игроками"
|
INTERACTIONS_HEADER: "Взаимодействие с игроками"
|
||||||
INVALID_ACTION: "Это недопустимое действие."
|
INVALID_ACTION: "<red>Это недопустимое действие"
|
||||||
INVALID_BRANCH_1: "Неверная версия плагина (ветка не задана)."
|
INVALID_BRANCH_1: "<red>Неверная версия плагина (ветка не задана)"
|
||||||
INVALID_BRANCH_2: "Чтобы продолжить, установите ветку проекта на «development»."
|
INVALID_BRANCH_2: "<yellow>Чтобы продолжить, установите ветку проекта на «development»"
|
||||||
INVALID_BRANCH_3: "Запуск кода который находится в разработке может привести к повреждению данных."
|
INVALID_BRANCH_3: "<gold>Запуск кода который находится в разработке может привести к повреждению данных"
|
||||||
INVALID_CONTAINER: "Пожалуйста, сначала проверьте действующий контейнер."
|
INVALID_CONTAINER: "<red>Пожалуйста, сначала проверьте действующий контейнер"
|
||||||
INVALID_DONATION_KEY: "Недействительный ключ пожертвования."
|
INVALID_DONATION_KEY: "<red>Недействительный ключ пожертвования"
|
||||||
INVALID_INCLUDE: "«{0}» неверное имя блока/сущности."
|
INVALID_INCLUDE: "<red>«{0}» неверное имя блока/сущности"
|
||||||
INVALID_INCLUDE_COMBO: "Это недопустимая комбинация блока/сущности."
|
INVALID_INCLUDE_COMBO: "<red>Недопустимая комбинация блока/сущности"
|
||||||
INVALID_RADIUS: "Пожалуйста, введите допустимый радиус."
|
INVALID_RADIUS: "<red>Пожалуйста, введите допустимый радиус."
|
||||||
INVALID_SELECTION: "Выбор {0} не найден."
|
INVALID_SELECTION: "<red>Выбор {0} не найден"
|
||||||
INVALID_USERNAME: "«{0}» неверное имя пользователя."
|
INVALID_USERNAME: "<red>«{0}» неверное имя пользователя."
|
||||||
INVALID_WORLD: "Укажите действительный мир."
|
INVALID_WORLD: "<red>Укажите действительный мир"
|
||||||
LATEST_VERSION: "Последняя версия: {0}"
|
LATEST_VERSION: "Последняя версия: {0}"
|
||||||
LINK_DISCORD: "Discord: {0}"
|
LINK_DISCORD: "Discord: {0}"
|
||||||
LINK_DOWNLOAD: "Загрузить: {0}"
|
LINK_DOWNLOAD: "Загрузить: {0}"
|
||||||
LINK_PATREON: "Patreon: {0}"
|
LINK_PATREON: "Patreon: {0}"
|
||||||
LINK_WIKI_BLOCK: "Названия блоков: {0}"
|
LINK_WIKI_BLOCK: "Названия блоков: {0}"
|
||||||
LINK_WIKI_ENTITY: "Названия сущностей: {0}"
|
LINK_WIKI_ENTITY: "Названия сущностей: {0}"
|
||||||
LOGGING_ITEMS: "{0} предметы регистрируются. Пожалуйста, подождите..."
|
LOGGING_ITEMS: "<gray><italic>{0} предметы регистрируются. Пожалуйста, подождите..."
|
||||||
LOGGING_TIME_LIMIT: "Достигнуто ограничение по времени регистрации. Удаление данных и завершение работы."
|
LOGGING_TIME_LIMIT: "<red>Достигнуто ограничение по времени регистрации. Удаление данных и завершение работы"
|
||||||
LOOKUP_BLOCK: "{0} {поставил|сломал} {1}."
|
LOOKUP_BLOCK: "{0} {<green>поставил|<red>сломал} {1}"
|
||||||
LOOKUP_CONTAINER: "{0} {добавил|забрал} {1} {2}."
|
LOOKUP_CONTAINER: "{0} {<green>положил|<red>забрал} {1} {2}"
|
||||||
LOOKUP_HEADER: "{0} Результаты поиска"
|
LOOKUP_HEADER: "{0} Результаты поиска"
|
||||||
LOOKUP_INTERACTION: "{0} {нажал|убил} {1}."
|
LOOKUP_INTERACTION: "{0} {<green>нажал|<red>убил} {1}"
|
||||||
LOOKUP_ITEM: "{0} {подобрал|выкинул} {1} {2}."
|
LOOKUP_ITEM: "{0} {<green>подобрал|<red>выкинул} {1} {2}"
|
||||||
LOOKUP_LOGIN: "{0} {вошёл|вышел}."
|
LOOKUP_LOGIN: "{0} {<green>вошёл|<red>вышел}"
|
||||||
LOOKUP_PAGE: "Страница {0}"
|
LOOKUP_PAGE: "Страница {0}"
|
||||||
LOOKUP_PROJECTILE: "{0} {бросил|выстрелил} {1} {2}."
|
LOOKUP_PROJECTILE: "{0} {<red>бросил|<red>выстрелил} {1} {2}"
|
||||||
LOOKUP_ROWS_FOUND: "{0} {строка|строк} найдено."
|
LOOKUP_ROWS_FOUND: "{0} {строка|строк} найдено"
|
||||||
LOOKUP_SEARCHING: "Ведётся поиск. Пожалуйста подождите..."
|
LOOKUP_SEARCHING: "<gray><italic>Поиск данных, подождите..."
|
||||||
LOOKUP_STORAGE: "{0} {положил|забрал} {1} {2}."
|
LOOKUP_STORAGE: "{0} {<green>положил|<red>забрал} {1} {2}"
|
||||||
LOOKUP_TIME: "{0} назад"
|
LOOKUP_TIME: "<yellow>{0} назад"
|
||||||
LOOKUP_USERNAME: "{0} зарегистрирован как {1}."
|
LOOKUP_USERNAME: "{0} зарегистрирован как {1}"
|
||||||
MAXIMUM_RADIUS: "Максимальный радиус для {поиска|отката|восстановления} - {0}."
|
MAXIMUM_RADIUS: "<red>Максимальный радиус для {поиска|отката|восстановления} - {0}"
|
||||||
MISSING_ACTION_USER: "Чтобы использовать это действие, укажите пользователя."
|
MISSING_ACTION_USER: "<red>Чтобы использовать это действие, укажите пользователя"
|
||||||
MISSING_LOOKUP_TIME: "Пожалуйста, укажите количество времени, чтобы использовать {поиск|откат|восстановление}."
|
MISSING_LOOKUP_TIME: "<red>Пожалуйста, укажите количество времени, чтобы использовать {поиск|откат|восстановление}"
|
||||||
MISSING_LOOKUP_USER: "Укажите пользователя или {блок|радиус} для поиска."
|
MISSING_LOOKUP_USER: "<red>Укажите пользователя или {блок|радиус} для поиска"
|
||||||
MISSING_PARAMETERS: "Пожалуйста используйте «{0}»."
|
MISSING_PARAMETERS: "<red>Пожалуйста используйте «{0}»"
|
||||||
MISSING_ROLLBACK_RADIUS: "Вы не указали радиус {отката|восстановления}."
|
MISSING_ROLLBACK_RADIUS: "<red>Вы не указали радиус {отката|восстановления}"
|
||||||
MISSING_ROLLBACK_USER: "Вы не указали пользователя для {отката|восстановления}."
|
MISSING_ROLLBACK_USER: "<red>Вы не указали пользователя для {отката|восстановления}"
|
||||||
MYSQL_UNAVAILABLE: "Невозможно подключиться к серверу MySQL."
|
MYSQL_UNAVAILABLE: "<red>Невозможно подключиться к серверу MySQL"
|
||||||
NO_DATA: "Данные не найдены в {0}."
|
NO_DATA: "<red>Данные не найдены в {0}"
|
||||||
NO_DATA_LOCATION: "В этом месте {данные|транзакции|взаимодействия|сообщения} не обнаружены.."
|
NO_DATA_LOCATION: "<red>В этом месте {данные|транзакции|взаимодействия|сообщения} не обнаружены"
|
||||||
NO_PERMISSION: "У вас нет прав чтобы сделать это."
|
NO_PERMISSION: "<red>Нет доступа!"
|
||||||
NO_RESULTS: "Результаты не найдены."
|
NO_RESULTS: "<red>Результаты не найдены"
|
||||||
NO_RESULTS_PAGE: "Для этой страницы {результатов|данных} не найдено."
|
NO_RESULTS_PAGE: "<red>Для этой страницы {результатов|данных} не найдено"
|
||||||
NO_ROLLBACK: "{Ожидаемый|Предыдущий} откат/восстановление не найдены."
|
NO_ROLLBACK: "<red>{Ожидаемый|Предыдущий} откат/восстановление не найдены"
|
||||||
PATCH_INTERRUPTED: "Обновление прервано. Попробую снова при перезапуске."
|
PATCH_INTERRUPTED: "Обновление прервано. Попробую снова при перезапуске..."
|
||||||
PATCH_OUTDATED_1: "Невозможно обновить базы данных старше {0}."
|
PATCH_OUTDATED_1: "<red>Невозможно обновить базы данных старше {0}"
|
||||||
PATCH_OUTDATED_2: "Пожалуйста, обновите поддерживаемую версию CoreProtect."
|
PATCH_OUTDATED_2: "Пожалуйста, обновите поддерживаемую версию Griefus"
|
||||||
PATCH_PROCESSING: "Обработка новых данных. Пожалуйста, подождите..."
|
PATCH_PROCESSING: "<gray><italic>Обработка новых данных. Пожалуйста, подождите..."
|
||||||
PATCH_SKIP_UPDATE: "{Пропущена таблица|Пропущен индекс} {обновление|создание|удаление} в {0}."
|
PATCH_SKIP_UPDATE: "{Пропущена таблица|Пропущен индекс} {обновление|создание|удаление} в {0}"
|
||||||
PATCH_STARTED: "Выполняется обновление {0}. Пожалуйста, подождите..."
|
PATCH_STARTED: "<gray><italic>Выполняется обновление {0}. Пожалуйста, подождите..."
|
||||||
PATCH_SUCCESS: "Успешно обновлен до {0}."
|
PATCH_SUCCESS: "<green>Успешно обновлен до {0}"
|
||||||
PATCH_UPGRADING: "Выполняется обновление базы данных. Пожалуйста, подождите..."
|
PATCH_UPGRADING: "<gray><italic>Выполняется обновление базы данных. Пожалуйста, подождите..."
|
||||||
PLEASE_SELECT: "Пожалуйста выберите: «{0}» или «{1}»."
|
PLEASE_SELECT: "<red>Пожалуйста выберите: «{0}» или «{1}»"
|
||||||
PREVIEW_CANCELLED: "Предварительный просмотр отменен."
|
PREVIEW_CANCELLED: "<gray>Предварительный просмотр отменен"
|
||||||
PREVIEW_CANCELLING: "Отмена предварительного просмотра..."
|
PREVIEW_CANCELLING: "<gray><italic>Отмена предварительного просмотра..."
|
||||||
PREVIEW_IN_GAME: "Предварительный просмотр откатов доступен только в игре."
|
PREVIEW_IN_GAME: "<red>Предварительный просмотр откатов доступен только в игре"
|
||||||
PREVIEW_TRANSACTION: "Вы не можете просмотреть {контейнер|инвентарь} транзакции."
|
PREVIEW_TRANSACTION: "<red>Вы не можете просмотреть {контейнер|инвентарь} транзакции"
|
||||||
PURGE_ABORTED: "Очистка не удалась. База данных может быть повреждена."
|
PURGE_ABORTED: "<red>Очистка не удалась. База данных может быть повреждена"
|
||||||
PURGE_ERROR: "Невозможно обработать данные {0}!"
|
PURGE_ERROR: "<red>Невозможно обработать данные {0}!"
|
||||||
PURGE_FAILED: "Очистка не удалась. Пожалуйста, повторите попытку позже."
|
PURGE_FAILED: "<red>Очистка не удалась. Пожалуйста, повторите попытку позже"
|
||||||
PURGE_IN_PROGRESS: "Выполняется чистка. Пожалуйста, повторите попытку позже."
|
PURGE_IN_PROGRESS: "<red>Выполняется чистка. Пожалуйста, повторите попытку позже"
|
||||||
PURGE_MINIMUM_TIME: "Удалить можно только данные старше {0} {дней|часов}."
|
PURGE_MINIMUM_TIME: "<red>Удалить можно только данные старше {0} {дней|часов}"
|
||||||
PURGE_NOTICE_1: "Учтите, что это может занять некоторое время."
|
PURGE_NOTICE_1: "<yellow>Учтите, что это может занять некоторое время"
|
||||||
PURGE_NOTICE_2: "Не перезагружайте сервер до завершения."
|
PURGE_NOTICE_2: "<gold>Не перезагружайте сервер до завершения"
|
||||||
PURGE_OPTIMIZING: "Оптимизация базы данных. Пожалуйста, подождите..."
|
PURGE_OPTIMIZING: "<gray><italic>Оптимизация базы данных. Пожалуйста, подождите..."
|
||||||
PURGE_PROCESSING: "Обработка данных {0}..."
|
PURGE_PROCESSING: "<gray><italic>Обработка данных {0}..."
|
||||||
PURGE_REPAIRING: "Попытка исправления. Это может занять некоторое время..."
|
PURGE_REPAIRING: "<gray><italic>Попытка исправления. Это может занять некоторое время..."
|
||||||
PURGE_ROWS: "{0} {строка|строки} данных очищены."
|
PURGE_ROWS: "<green>{0} {строка|строки} данных очищены"
|
||||||
PURGE_STARTED: "Очистка данных началась «{0}»."
|
PURGE_STARTED: "<gray>Очистка данных началась «{0}»"
|
||||||
PURGE_SUCCESS: "Очистка данных прошла успешно."
|
PURGE_SUCCESS: "<green>Очистка данных прошла успешно"
|
||||||
RELOAD_STARTED: "Перезагрузка конфигурации - подождите."
|
RELOAD_STARTED: "<gray><italic>Перезагрузка конфигурации, подождите..."
|
||||||
RELOAD_SUCCESS: "Конфигурация успешно перезагружена."
|
RELOAD_SUCCESS: "<green>Конфигурация успешно перезагружена"
|
||||||
ROLLBACK_ABORTED: "Откат или восстановление прерваны."
|
ROLLBACK_ABORTED: "<red>Откат или восстановление прерваны"
|
||||||
ROLLBACK_CHUNKS_FOUND: "Найдено {0} {чанк|чанков} для изменения."
|
ROLLBACK_CHUNKS_FOUND: "<gray>Найдено {0} {чанк|чанков} для изменения"
|
||||||
ROLLBACK_CHUNKS_MODIFIED: "Изменено {0}/{1} {чанк|чанков}."
|
ROLLBACK_CHUNKS_MODIFIED: "<gray>Изменено {0}/{1} {чанк|чанков}"
|
||||||
ROLLBACK_COMPLETED: "{Откат|Восстановление|Предварительный просмотр} завершен для «{0}»."
|
ROLLBACK_COMPLETED: "<gray>{Откат|Восстановление|Предварительный просмотр} завершен для «{0}»"
|
||||||
ROLLBACK_EXCLUDED_USERS: "{Исключен пользователь|Исключены пользователи}: «{0}»."
|
ROLLBACK_EXCLUDED_USERS: "<gray>{Исключен пользователь|Исключены пользователи}: «{0}»"
|
||||||
ROLLBACK_INCLUDE: "{Включён|Исключён} {блок|сущность|цель} {типа|типов}: «{0}»."
|
ROLLBACK_INCLUDE: "<gray>{Включён|Исключён} {блок|сущность|цель} {типа|типов}: «{0}»"
|
||||||
ROLLBACK_IN_PROGRESS: "Откат/восстановление уже выполняется."
|
ROLLBACK_IN_PROGRESS: "<red>Откат/восстановление уже выполняется"
|
||||||
ROLLBACK_LENGTH: "Заняло времени: {0} {секунду|секунд}."
|
ROLLBACK_LENGTH: "<gray>Заняло времени: {0} {секунду|секунд}"
|
||||||
ROLLBACK_MODIFIED: "{Изменено|Изменены} {0}."
|
ROLLBACK_MODIFIED: "<gray>{Изменено|Изменены} {0}"
|
||||||
ROLLBACK_RADIUS: "Радиус: {0} {блок|блоков}."
|
ROLLBACK_RADIUS: "<gray>Радиус: {0} {блок|блоков}"
|
||||||
ROLLBACK_SELECTION: "Радиус установлен «{0}»."
|
ROLLBACK_SELECTION: "<gray>Радиус установлен «{0}»"
|
||||||
ROLLBACK_STARTED: "{Откат|Восстановление|Предварительный просмотр} начат «{0}»."
|
ROLLBACK_STARTED: "<gray>{Откат|Восстановление|Предварительный просмотр} начат «{0}»"
|
||||||
ROLLBACK_TIME: "Временной интервал: {0}."
|
ROLLBACK_TIME: "<gray>Временной интервал: {0}"
|
||||||
ROLLBACK_WORLD_ACTION: "Только {мир|действие} «{0}»."
|
ROLLBACK_WORLD_ACTION: "<gray>Только {мир|действие} «{0}»"
|
||||||
SIGN_HEADER: "Сообщения на табличке"
|
SIGN_HEADER: "Сообщения на табличке"
|
||||||
STATUS_CONSUMER: "Потребитель: {0} {предмет|предметы} в очереди."
|
STATUS_CONSUMER: "Потребитель: {0} {предмет|предметы} в очереди"
|
||||||
STATUS_DATABASE: "База данных: Использует {0}."
|
STATUS_DATABASE: "База данных: Использует {0}."
|
||||||
STATUS_INTEGRATION: "{0}: Интеграция {включена|отключена}."
|
STATUS_INTEGRATION: "{0}: Интеграция {включена|отключена}"
|
||||||
STATUS_LICENSE: "Лицензия: {0}"
|
STATUS_LICENSE: "Лицензия: {0}"
|
||||||
STATUS_VERSION: "Версия: {0}"
|
STATUS_VERSION: "Версия: {0}"
|
||||||
TELEPORTED: "Телепортирование в {0}."
|
TELEPORTED: "<gray><italic>Телепортирование в {0}..."
|
||||||
TELEPORTED_SAFETY: "Телепортируем вас в безопасное место."
|
TELEPORTED_SAFETY: "<yellow>Телепортируем вас в безопасное место"
|
||||||
TELEPORT_PLAYERS: "Команду телепортации могут использовать только игроки."
|
TELEPORT_PLAYERS: "<red>Команду телепортации могут использовать только игроки"
|
||||||
TIME_DAYS: "{0} {дня|дней}"
|
TIME_DAYS: "{0} {дня|дней}"
|
||||||
TIME_HOURS: "{0} {час|часов}"
|
TIME_HOURS: "{0} {час|часов}"
|
||||||
TIME_MINUTES: "{0} {минута|минут}"
|
TIME_MINUTES: "{0} {минута|минут}"
|
||||||
TIME_SECONDS: "{0} {секунда|секунд}"
|
TIME_SECONDS: "{0} {секунда|секунд}"
|
||||||
TIME_UNITS: "{/m|/h|/d}"
|
TIME_UNITS: "{ мин.| ч.| д.}"
|
||||||
TIME_WEEKS: "{0} {неделя|недель}"
|
TIME_WEEKS: "{0} {неделя|недель}"
|
||||||
UPDATE_ERROR: "Произошла ошибка при проверке обновлений."
|
UPDATE_ERROR: "<red>Произошла ошибка при проверке обновлений"
|
||||||
UPDATE_HEADER: "{0} Обновление"
|
UPDATE_HEADER: "{0} Обновление"
|
||||||
UPDATE_NOTICE: "Примечание: теперь доступен {0}."
|
UPDATE_NOTICE: "Примечание: теперь доступен {0}"
|
||||||
UPGRADE_IN_PROGRESS: "Выполняется обновление. Пожалуйста, повторите попытку позже."
|
UPGRADE_IN_PROGRESS: "<red>Выполняется обновление. Пожалуйста, повторите попытку позже"
|
||||||
USER_NOT_FOUND: "Пользователь «{0}» не найден."
|
USER_NOT_FOUND: "<red>Пользователь «{0}» не найден"
|
||||||
USER_OFFLINE: "Пользователь \"{0}\" не в сети."
|
USER_OFFLINE: "<red>Пользователь \"{0}\" не в сети"
|
||||||
USING_MYSQL: "Для хранения данных используется MySQL."
|
USING_MYSQL: "Для хранения данных используется MySQL"
|
||||||
USING_SQLITE: "Для хранения данных используется SQLite."
|
USING_SQLITE: "Для хранения данных используется SQLite"
|
||||||
VALID_DONATION_KEY: "Действующий ключ пожертвования."
|
VALID_DONATION_KEY: "Действующий ключ пожертвования"
|
||||||
VERSION_NOTICE: "Версия {0} уже доступна!"
|
VERSION_NOTICE: "Версия {0} уже доступна!"
|
||||||
VERSION_REQUIRED: "{0} {1} или выше требуется."
|
VERSION_REQUIRED: "<red>{0} {1} или выше требуется"
|
||||||
WORLD_NOT_FOUND: "Мир «{0}» не найден."
|
WORLD_NOT_FOUND: "<red>Мир «{0}» не найден"
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,8 @@ public class StandardLookupThread implements Runnable {
|
||||||
ConfigHandler.lookupAlist.put(player.getName(), actions);
|
ConfigHandler.lookupAlist.put(player.getName(), actions);
|
||||||
ConfigHandler.lookupRadius.put(player.getName(), radius);
|
ConfigHandler.lookupRadius.put(player.getName(), radius);
|
||||||
|
|
||||||
|
String separator = Color.DARK_GREY + '-';
|
||||||
|
|
||||||
if (connection != null) {
|
if (connection != null) {
|
||||||
Statement statement = connection.createStatement();
|
Statement statement = connection.createStatement();
|
||||||
String baduser = "";
|
String baduser = "";
|
||||||
|
|
@ -195,14 +197,15 @@ public class StandardLookupThread implements Runnable {
|
||||||
else if (pageStart < rows) {
|
else if (pageStart < rows) {
|
||||||
List<String[]> lookupList = Lookup.performPartialLookup(statement, player, uuidList, userList, blockList, excludedBlocks, excludedUsers, actions, finalLocation, radius, rowData, timeStart, timeEnd, (int) pageStart, displayResults, restrict_world, true);
|
List<String[]> lookupList = Lookup.performPartialLookup(statement, player, uuidList, userList, blockList, excludedBlocks, excludedUsers, actions, finalLocation, radius, rowData, timeStart, timeEnd, (int) pageStart, displayResults, restrict_world, true);
|
||||||
|
|
||||||
Chat.sendMessage(player, Color.WHITE + "----- " + Color.DARK_AQUA + Phrase.build(Phrase.LOOKUP_HEADER, "Griefus" + Color.WHITE + " | " + Color.DARK_AQUA) + Color.WHITE + " -----");
|
// Chat.sendMessage(player, Color.WHITE + "----- " + Color.DARK_AQUA + Phrase.build(Phrase.LOOKUP_HEADER, "Griefus" + Color.WHITE + " | " + Color.DARK_AQUA) + Color.WHITE + " -----");
|
||||||
|
Chat.sendComponent(player, StringUtils.makeHeader("LOGS"));
|
||||||
if (actions.contains(6) || actions.contains(7)) { // Chat/command
|
if (actions.contains(6) || actions.contains(7)) { // Chat/command
|
||||||
for (String[] data : lookupList) {
|
for (String[] data : lookupList) {
|
||||||
String time = data[0];
|
String time = data[0];
|
||||||
String dplayer = data[1];
|
String dplayer = data[1];
|
||||||
String message = data[2];
|
String message = data[2];
|
||||||
String timeago = ChatUtils.getTimeSince(Integer.parseInt(time), unixtimestamp, true);
|
String timeago = ChatUtils.getTimeSince(Integer.parseInt(time), unixtimestamp, true);
|
||||||
Chat.sendComponent(player, timeago + " " + Color.WHITE + "- " + Color.DARK_AQUA + dplayer + ": " + Color.WHITE, message);
|
Chat.sendComponent(player, "<dark_gray><bold>|<reset> " + timeago + " " + Color.WHITE + "- " + message);
|
||||||
if (PluginChannelHandshakeListener.getInstance().isPluginChannelPlayer(player)) {
|
if (PluginChannelHandshakeListener.getInstance().isPluginChannelPlayer(player)) {
|
||||||
int wid = Integer.parseInt(data[3]);
|
int wid = Integer.parseInt(data[3]);
|
||||||
int dataX = Integer.parseInt(data[4]);
|
int dataX = Integer.parseInt(data[4]);
|
||||||
|
|
@ -232,7 +235,7 @@ public class StandardLookupThread implements Runnable {
|
||||||
}
|
}
|
||||||
|
|
||||||
String tag = (action != 0 ? Color.GREEN + "+" : Color.RED + "-");
|
String tag = (action != 0 ? Color.GREEN + "+" : Color.RED + "-");
|
||||||
Chat.sendComponent(player, timeago + " " + tag + " " + Color.DARK_AQUA + Phrase.build(Phrase.LOOKUP_LOGIN, Color.DARK_AQUA + dplayer + Color.WHITE, (action != 0 ? Selector.FIRST : Selector.SECOND)));
|
Chat.sendComponent(player, "<dark_gray><bold>|<reset> " + timeago + " " + tag + " " + Color.DARK_AQUA + Phrase.build(Phrase.LOOKUP_LOGIN, Color.DARK_AQUA + dplayer + Color.WHITE, (action != 0 ? Selector.FIRST : Selector.SECOND)));
|
||||||
Chat.sendComponent(player, Color.WHITE + leftPadding + Color.GREY + "^ " + ChatUtils.getCoordinates(command.getName(), wid, dataX, dataY, dataZ, true, true) + "");
|
Chat.sendComponent(player, Color.WHITE + leftPadding + Color.GREY + "^ " + ChatUtils.getCoordinates(command.getName(), wid, dataX, dataY, dataZ, true, true) + "");
|
||||||
PluginChannelListener.getInstance().sendInfoData(player, Integer.parseInt(time), Phrase.LOOKUP_LOGIN, (action != 0 ? Selector.FIRST : Selector.SECOND), dplayer, -1, dataX, dataY, dataZ, wid);
|
PluginChannelListener.getInstance().sendInfoData(player, Integer.parseInt(time), Phrase.LOOKUP_LOGIN, (action != 0 ? Selector.FIRST : Selector.SECOND), dplayer, -1, dataX, dataY, dataZ, wid);
|
||||||
}
|
}
|
||||||
|
|
@ -266,8 +269,8 @@ public class StandardLookupThread implements Runnable {
|
||||||
leftPadding = leftPadding + Color.WHITE + Strings.padStart("", (timeLength - 50) / 4, ' ');
|
leftPadding = leftPadding + Color.WHITE + Strings.padStart("", (timeLength - 50) / 4, ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
Chat.sendComponent(player, timeago + " " + Color.WHITE + "- " + Color.DARK_AQUA + dplayer + ": " + Color.WHITE, message);
|
Chat.sendComponent(player,"<dark_gray><bold>|<reset> " + timeago + " " + Color.WHITE + "- " + Color.DARK_AQUA + dplayer + ": " + Color.WHITE, message);
|
||||||
Chat.sendComponent(player, Color.WHITE + leftPadding + Color.GREY + "^ " + ChatUtils.getCoordinates(command.getName(), wid, dataX, dataY, dataZ, true, true) + "");
|
Chat.sendComponent(player, Color.RESET + leftPadding + ChatUtils.getShowCoordinatesButton(dataX, dataY, dataZ) + " " + ChatUtils.getTeleportButton(wid, dataX, dataY, dataZ));
|
||||||
PluginChannelListener.getInstance().sendMessageData(player, Integer.parseInt(time), dplayer, message, true, dataX, dataY, dataZ, wid);
|
PluginChannelListener.getInstance().sendMessageData(player, Integer.parseInt(time), dplayer, message, true, dataX, dataY, dataZ, wid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -321,7 +324,7 @@ public class StandardLookupThread implements Runnable {
|
||||||
tag = (daction == 0 ? Color.GREEN + "+" : Color.RED + "-");
|
tag = (daction == 0 ? Color.GREEN + "+" : Color.RED + "-");
|
||||||
}
|
}
|
||||||
|
|
||||||
Chat.sendComponent(player, timeago + " " + tag + " " + Phrase.build(Phrase.LOOKUP_CONTAINER, Color.DARK_AQUA + rbd + dplayer + Color.WHITE + rbd, "x" + amount, ChatUtils.createTooltip(Color.DARK_AQUA + rbd + dname, tooltip) + Color.WHITE, selector));
|
Chat.sendComponent(player, "<dark_gray><bold>|<reset> " + timeago + " " + separator + " " + Phrase.build(Phrase.LOOKUP_CONTAINER, Color.WHITE + Color.BOLD + rbd + dplayer + Color.RESET + rbd, "x" + amount, ChatUtils.createTooltip(Color.GOLD + rbd + dname, tooltip) + Color.WHITE, selector));
|
||||||
PluginChannelListener.getInstance().sendData(player, Integer.parseInt(time), Phrase.LOOKUP_CONTAINER, selector, dplayer, dname, amount, dataX, dataY, dataZ, wid, rbd, true, tag.contains("+"));
|
PluginChannelListener.getInstance().sendData(player, Integer.parseInt(time), Phrase.LOOKUP_CONTAINER, selector, dplayer, dname, amount, dataX, dataY, dataZ, wid, rbd, true, tag.contains("+"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -425,7 +428,7 @@ public class StandardLookupThread implements Runnable {
|
||||||
action = "a:container";
|
action = "a:container";
|
||||||
}
|
}
|
||||||
|
|
||||||
Chat.sendComponent(player, timeago + " " + tag + " " + Phrase.build(phrase, Color.DARK_AQUA + rbd + dplayer + Color.WHITE + rbd, "x" + amount, ChatUtils.createTooltip(Color.DARK_AQUA + rbd + dname, tooltip) + Color.WHITE, selector));
|
Chat.sendComponent(player, "<dark_gray><bold>|<reset>" + timeago + " " + separator + " " + Phrase.build(phrase, Color.WHITE + Color.BOLD + rbd + dplayer + Color.RESET + rbd, "x" + amount, ChatUtils.createTooltip(Color.GOLD + rbd + dname, tooltip) + Color.WHITE, selector));
|
||||||
PluginChannelListener.getInstance().sendData(player, Integer.parseInt(time), phrase, selector, dplayer, dname, (tag.contains("+") ? 1 : -1), dataX, dataY, dataZ, wid, rbd, action.contains("container"), tag.contains("+"));
|
PluginChannelListener.getInstance().sendData(player, Integer.parseInt(time), phrase, selector, dplayer, dname, (tag.contains("+") ? 1 : -1), dataX, dataY, dataZ, wid, rbd, action.contains("container"), tag.contains("+"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -441,20 +444,20 @@ public class StandardLookupThread implements Runnable {
|
||||||
tag = (daction != 0 ? Color.GREEN + "+" : Color.RED + "-");
|
tag = (daction != 0 ? Color.GREEN + "+" : Color.RED + "-");
|
||||||
}
|
}
|
||||||
|
|
||||||
Chat.sendComponent(player, timeago + " " + tag + " " + Phrase.build(phrase, Color.DARK_AQUA + rbd + dplayer + Color.WHITE + rbd, Color.DARK_AQUA + rbd + dname + Color.WHITE, selector));
|
Chat.sendComponent(player, timeago + " " + separator + " " + Phrase.build(phrase, Color.WHITE + Color.BOLD + rbd + dplayer + Color.RESET + rbd, Color.GOLD + rbd + dname + Color.WHITE, selector));
|
||||||
PluginChannelListener.getInstance().sendData(player, Integer.parseInt(time), phrase, selector, dplayer, dname, (tag.contains("+") ? 1 : -1), dataX, dataY, dataZ, wid, rbd, false, tag.contains("+"));
|
PluginChannelListener.getInstance().sendData(player, Integer.parseInt(time), phrase, selector, dplayer, dname, (tag.contains("+") ? 1 : -1), dataX, dataY, dataZ, wid, rbd, false, tag.contains("+"));
|
||||||
}
|
}
|
||||||
|
|
||||||
action = (actions.size() == 0 ? " (" + action + ")" : "");
|
action = (actions.size() == 0 ? " (" + action + ")" : "");
|
||||||
Chat.sendComponent(player, Color.WHITE + leftPadding + Color.GREY + "^ " + ChatUtils.getCoordinates(command.getName(), wid, dataX, dataY, dataZ, true, true) + Color.GREY + Color.ITALIC + action);
|
Chat.sendComponent(player, Color.RESET + leftPadding + ChatUtils.getShowCoordinatesButton(dataX, dataY, dataZ) + " " + ChatUtils.getTeleportButton(wid, dataX, dataY, dataZ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (rows > displayResults) {
|
if (rows > displayResults) {
|
||||||
int total_pages = (int) Math.ceil(rows / (displayResults + 0.0));
|
int total_pages = (int) Math.ceil(rows / (displayResults + 0.0));
|
||||||
if (actions.contains(6) || actions.contains(7) || actions.contains(9) || (actions.contains(4) && actions.contains(11))) {
|
/* if (actions.contains(6) || actions.contains(7) || actions.contains(9) || (actions.contains(4) && actions.contains(11))) {
|
||||||
Chat.sendMessage(player, "-----");
|
Chat.sendMessage(player, "-----");
|
||||||
}
|
} */
|
||||||
Chat.sendComponent(player, ChatUtils.getPageNavigation(command.getName(), page, total_pages));
|
Chat.sendComponent(player, ChatUtils.getPageNavigationVC(command.getName(), page, total_pages));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (rows > 0) {
|
else if (rows > 0) {
|
||||||
|
|
|
||||||
|
|
@ -84,13 +84,19 @@ public class BlockLookup {
|
||||||
String timeAgo = ChatUtils.getTimeSince(resultTime, time, true);
|
String timeAgo = ChatUtils.getTimeSince(resultTime, time, true);
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
resultTextBuilder = new StringBuilder(Color.WHITE + "----- " + Color.DARK_AQUA + "Griefus " + Color.WHITE + "----- " + ChatUtils.getCoordinates(command, worldId, x, y, z, false, false) + "\n");
|
// resultTextBuilder = new StringBuilder(Color.WHITE + "----- " + Color.DARK_AQUA + "Griefus " + Color.WHITE + "----- " + ChatUtils.getCoordinates(command, worldId, x, y, z, false, false) + "\n");
|
||||||
|
// Lookup/Checker header
|
||||||
|
resultTextBuilder = new StringBuilder(StringUtils.makeHeader("CHECKER") +
|
||||||
|
" " + ChatUtils.getShowCoordinatesButton(x, y, z) +
|
||||||
|
(commandSender.hasPermission("coreprotect.teleport") ? " " + // TODO: change teleport permission key
|
||||||
|
ChatUtils.getTeleportButton(worldId, x, y, z) : "") + "\n");
|
||||||
}
|
}
|
||||||
found = true;
|
found = true;
|
||||||
|
|
||||||
Phrase phrase = Phrase.LOOKUP_BLOCK;
|
Phrase phrase = Phrase.LOOKUP_BLOCK;
|
||||||
String selector = Selector.FIRST;
|
String selector = Selector.FIRST;
|
||||||
String tag = Color.WHITE + "-";
|
String tag = Color.WHITE + "-";
|
||||||
|
String separator = Color.DARK_GREY + "-";
|
||||||
if (resultAction == 2 || resultAction == 3) {
|
if (resultAction == 2 || resultAction == 3) {
|
||||||
phrase = Phrase.LOOKUP_INTERACTION; // {clicked|killed}
|
phrase = Phrase.LOOKUP_INTERACTION; // {clicked|killed}
|
||||||
selector = (resultAction != 3 ? Selector.FIRST : Selector.SECOND);
|
selector = (resultAction != 3 ? Selector.FIRST : Selector.SECOND);
|
||||||
|
|
@ -134,7 +140,7 @@ public class BlockLookup {
|
||||||
} */
|
} */
|
||||||
// Griefus end
|
// Griefus end
|
||||||
|
|
||||||
resultTextBuilder.append(timeAgo + " " + tag + " ").append(Phrase.build(phrase, Color.DARK_AQUA + rbFormat + resultUser + Color.WHITE + rbFormat, Color.DARK_AQUA + rbFormat + target + Color.WHITE, selector)).append("\n");
|
resultTextBuilder.append(timeAgo + " " + separator + " ").append(Phrase.build(phrase, Color.WHITE + Color.BOLD + rbFormat + resultUser + Color.RESET + rbFormat, Color.GOLD + rbFormat + target + Color.WHITE, selector)).append("\n");
|
||||||
PluginChannelListener.getInstance().sendData(commandSender, resultTime, phrase, selector, resultUser, target, -1, x, y, z, worldId, rbFormat, false, tag.contains("+"));
|
PluginChannelListener.getInstance().sendData(commandSender, resultTime, phrase, selector, resultUser, target, -1, x, y, z, worldId, rbFormat, false, tag.contains("+"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -143,9 +149,8 @@ public class BlockLookup {
|
||||||
|
|
||||||
if (found) {
|
if (found) {
|
||||||
if (count > limit) {
|
if (count > limit) {
|
||||||
String pageInfo = Color.WHITE + "-----\n";
|
// String pageInfo = Color.WHITE + "-----\n";
|
||||||
pageInfo = pageInfo + ChatUtils.getPageNavigation(command, page, totalPages) + "\n";
|
resultText = resultText + ChatUtils.getPageNavigationVC(command, page, totalPages) + "\n";
|
||||||
resultText = resultText + pageInfo;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,13 @@ package net.coreprotect.utility;
|
||||||
|
|
||||||
import net.coreprotect.language.Phrase;
|
import net.coreprotect.language.Phrase;
|
||||||
import net.coreprotect.language.Selector;
|
import net.coreprotect.language.Selector;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.event.ClickEvent;
|
||||||
|
import net.kyori.adventure.text.event.HoverEvent;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import net.kyori.adventure.text.format.TextDecoration;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
|
@ -42,6 +48,19 @@ public class ChatUtils {
|
||||||
return message.append("</hover></click>").toString(); // griefus
|
return message.append("</hover></click>").toString(); // griefus
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getShowCoordinatesButton(int x, int y, int z) {
|
||||||
|
return "<dark_gray><hover:show_text:\"" +
|
||||||
|
"X: <yellow>" + x + "</yellow> " +
|
||||||
|
"Y: <yellow>" + y + "</yellow> " +
|
||||||
|
"Z: <yellow>" + z + "</yellow> " +
|
||||||
|
"\">[координаты]</hover></dark_gray>";
|
||||||
|
}
|
||||||
|
public static String getTeleportButton(int worldId, int x, int y, int z) {
|
||||||
|
// May break if worldId index is outdated
|
||||||
|
return "<dark_gray><click:run_command:/tppos " + x + " " + y + " " + z + " " + Bukkit.getWorlds().get(worldId).getName() +
|
||||||
|
">[телепортироваться]</click></dark_gray>";
|
||||||
|
}
|
||||||
|
|
||||||
public static String getPageNavigation(String command, int page, int totalPages) {
|
public static String getPageNavigation(String command, int page, int totalPages) {
|
||||||
StringBuilder message = new StringBuilder();
|
StringBuilder message = new StringBuilder();
|
||||||
|
|
||||||
|
|
@ -143,6 +162,57 @@ public class ChatUtils {
|
||||||
return message.append(Color.WHITE + backArrow + Color.DARK_AQUA + Phrase.build(Phrase.LOOKUP_PAGE, Color.WHITE + page + "/" + totalPages) + nextArrow + pagination).toString();
|
return message.append(Color.WHITE + backArrow + Color.DARK_AQUA + Phrase.build(Phrase.LOOKUP_PAGE, Color.WHITE + page + "/" + totalPages) + nextArrow + pagination).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getPageNavigationVC(String command, int page, int totalPages) {
|
||||||
|
if (totalPages < 1)
|
||||||
|
return "";
|
||||||
|
Component separator = Component.text(" | ", NamedTextColor.DARK_GRAY, TextDecoration.BOLD);
|
||||||
|
String backButtonText = "[назад]";
|
||||||
|
String nextButtonText = "[далее]";
|
||||||
|
|
||||||
|
HoverEvent<Component> backButtonHover = HoverEvent
|
||||||
|
.showText(Component.text("Нажмите, чтобы перейти на предыдущую страницу", NamedTextColor.RED));
|
||||||
|
HoverEvent<Component> nextButtonHover = HoverEvent
|
||||||
|
.showText(Component.text("Нажмите, чтобы перейти на следующую страницу", NamedTextColor.GREEN));
|
||||||
|
|
||||||
|
ClickEvent backButtonClick = ClickEvent.runCommand("/" + command + " l " + (page - 1));
|
||||||
|
ClickEvent nextButtonClick = ClickEvent.runCommand("/" + command + " l " + (page + 1));
|
||||||
|
|
||||||
|
|
||||||
|
Component backButton;
|
||||||
|
if (page > 1) {
|
||||||
|
backButton = Component.text(backButtonText)
|
||||||
|
.color(NamedTextColor.RED)
|
||||||
|
.hoverEvent(backButtonHover)
|
||||||
|
.clickEvent(backButtonClick);
|
||||||
|
} else {
|
||||||
|
backButton = Component.text(backButtonText)
|
||||||
|
.color(NamedTextColor.GRAY)
|
||||||
|
.decorate(TextDecoration.ITALIC);
|
||||||
|
}
|
||||||
|
|
||||||
|
Component nextButton;
|
||||||
|
if (page < totalPages) {
|
||||||
|
nextButton = Component.text(nextButtonText)
|
||||||
|
.color(NamedTextColor.GREEN)
|
||||||
|
.hoverEvent(nextButtonHover)
|
||||||
|
.clickEvent(nextButtonClick);
|
||||||
|
} else {
|
||||||
|
nextButton = Component.text(nextButtonText)
|
||||||
|
.color(NamedTextColor.GRAY)
|
||||||
|
.decorate(TextDecoration.ITALIC);
|
||||||
|
}
|
||||||
|
|
||||||
|
Component pageCounter = Component.text(page + "/" + totalPages, NamedTextColor.GRAY);
|
||||||
|
|
||||||
|
Component navigation = Component.empty()
|
||||||
|
.append(backButton)
|
||||||
|
.append(separator)
|
||||||
|
.append(pageCounter)
|
||||||
|
.append(separator)
|
||||||
|
.append(nextButton);
|
||||||
|
return MiniMessage.miniMessage().serialize(navigation);
|
||||||
|
}
|
||||||
|
|
||||||
public static String getTimeSince(long resultTime, long currentTime, boolean component) {
|
public static String getTimeSince(long resultTime, long currentTime, boolean component) {
|
||||||
StringBuilder message = new StringBuilder();
|
StringBuilder message = new StringBuilder();
|
||||||
double timeSince = currentTime - (resultTime + 0.00);
|
double timeSince = currentTime - (resultTime + 0.00);
|
||||||
|
|
|
||||||
|
|
@ -135,4 +135,9 @@ public class StringUtils {
|
||||||
}
|
}
|
||||||
return list.toArray(new Integer[list.size()]);
|
return list.toArray(new Integer[list.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// VanillaCrafts
|
||||||
|
public static String makeHeader(String header) {
|
||||||
|
return "<gray>=============== </gray><red><bold>" + header + "</bold></red><gray> ===============</gray>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue