1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [MECH] KeyCombinator 0.1 - комбинации кнопок!

Тема в разделе "Неподтвержденные плагины", создана пользователем Larin, 19 июл 2016.

  1. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Сделал свой первый публичный плагин(второй, в первом был всего 1 класс =)).
    Что это такое? Этот плагин позволяет создавать свои комбинации кнопок и выполнять команды при совпадении комбинации введённой пользователем с комбинацией в конфиге.
    Доступные "кнопки": ПКМ по воздуху, по блоку; ЛКМ по воздуху, по блоку; Шифт(кнопка "красться"), и кнопка рывка.
    Как настраивать?
    В папке с плагином появятся 2 папки.
    Код:
    commands и sequences
    В этих папках хранятся комбинации и команды.
    При первом запуске появляются 2 конфига, они служат примером.
    В папке commands есть файл example.yml, в этом файле хранятся команды, которые будут выполнены при совпадении комбинации.
    Пример:
    Код:
    PLAYER:
      - 'say %player_name% executed %keycombinator_sequence%!'
    CONSOLE:
      - 'say %player_name% hahaha!'
    В блоке PLAYER команды выполняются от имени игрока, в блоке CONSOLE из консоли.
    Имя файла с командами является именем блока команд.

    В папке с комбинациями есть файл example.yml, в этом файле хранится комбинация и названия блоков команд, которые будут выполнены при совпадении команд.
    Пример:
    Код:
    commands:
    - example
    sequence:
    - RMB_AIR
    - SPRINT
    - SNEAK
    commands - названия блоков команд, которые будут исполнены.
    sequence - комбинация, необходимая для выполнения блоков команд.

    Permissions:
    Код:
    keycombinator.sequence.ИМЯ_КОМБИНАЦИИ
    Имя комбинации - название файла с комбинацией.

    Кнопки, которые отслеживаются:
    Код:
    LMB_BLOCK - ЛКМ по блоку
    LMB_AIR - ЛКМ - по воздуху
    RMB_BLOCK - ПКМ по блоку
    RMB_AIR - ПКМ по воздуху
    SNEAK - нажатие кнопки "красться"(def: shift)
    SPRINT - бег игрока.(w+w или ctrl+w)
    ПКМ по воздуху не отслеживается, если в руках ничего нет!(особенность майна).

    Для работы вставок необходим PlaceholderAPI!

    Скачать:
    https://github.com/XakepSDK/KeyCombinator/releases/tag/0.1

    Тестировано на версии: Spigot 1.10.2 (проверил только комбинации и нашел 1,5 бага =))

    TODO:
    1. Пофиксить баги, которые знаю.
    2. Привести код в порядок.
    3. Комбинации в инвентаре.
    4. Запись комбинаций из игры.
    5. Запись блоков команд из игры.

    Жду критику.
    @CoolBoy
    @Dereku
    @Mr_RoboMan

    Все, кого вспомнил на данный момент... Зовите еще.
     
    Последнее редактирование: 19 июл 2016
  2. chief

    chief Активный участник Пользователь

    Баллы:
    76
    Можно ли отслеживать нажатия клавиши Enter?
     
  3. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Вроде нельзя.
     
  4. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Отлично, благодаря тебе я узнал о существовании этих ивентов:
    Код:
        @EventHandler
        public void onPlayerSprint(PlayerToggleSprintEvent event) {
            if(event.isSprinting()) {
                callKeyPressEvent(event.getPlayer(), Key.SPRINT);
            }
        }
    
        @EventHandler
        public void onPlayerSneak(PlayerToggleSneakEvent event) {
            if(event.isSneaking()) {
                callKeyPressEvent(event.getPlayer(), Key.SNEAK);
            }
        }
    
    Я в своей версии делал костыли из прослушивания PlayerMoveEvent раз в 10 тиков... И проверки бежит ли игрок/сидит ли игрок -_-
     
  5. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    =) Не зря же я всегда посылаю JavaDocs читать :D
    Also, в моём плагине 2 своих эвента есть, их можно слушать в любом другом плагине.
    @alexandrage
    Вспомнил еще.
    Ну же! Жду отзывы =)
     
  6. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Я не понял смысла твоего сообщения, но рад, что хоть кто-то оживил тему.
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Я тут 1ну игру вспомнил, там нужно было нажать компинацию кнопок чтоб босса вызвать D.
     
  8. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    А мне это напоминает чит-коды для gta, когда просто вводишь код.
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Да не, там есть некий нпс, он говорит комбинацию для вызова босса. Идем в команату босса, шмякаем кнопки, типо колдуем.
    P.s а если по теме, чатгуард Пи не выдаст за флуд командами ?)
     
  10. AxmeD

    AxmeD Старожил Пользователь

    Баллы:
    103
    SkillAPI использует(использовала) такую систему для каста скиллов. Очень интересно)
     
  11. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Намальна [​IMG]
     
  12. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Может стоит подрубить какой-нибудь ProtocolLib и всё-таки попробовать сделать поддержку? Хотя не уверен, что клиент информирует сервер в случае отсутствия предмета...
    И да, что-то мне подсказывает, что в GM2 тоже может не работать ЛКМ или ПКМ по блоку/воздуху.
     
  13. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Вряд ли, в бакките была бы тогда поддержка.
     
  14. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Да я-то не настаиваю, предложил просто. Проверить-то стоит?
     
  15. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Отслеживается, только всегда отменяется.
     
  16. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Разве? Мне казалось, что игра не отсылает пакеты.
     
  17. mikassio

    mikassio Активный участник Пользователь

    Баллы:
    76
    Спасибо за плагин :)
    Комбинации и команды создаются в разных файлах? То есть сделал я одну комбинацию, а следующую делать в другом файле?
    Мне лично нужен был плагин для каста магии, у которой есть кудлаун, так что норм.
     
  18. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Раньше так было по крайней мере. С вводом второй руки могло всё поменяться.
     
  19. Автор темы
    Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Да, в другом файле.
    P.S. плагин еще не закончен. Было лень сегодня доделывать.
     
  20. mikassio

    mikassio Активный участник Пользователь

    Баллы:
    76
    Бывает)
    Я сам только увидел, что вы уже плагин сделали, но пк выключил и не протестил. :(
     

Поделиться этой страницей