Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов 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. Хостинг MineCraft
    <
  3. chief

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

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

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

    Баллы:
    103
    Вроде нельзя.
     
  5. 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 тиков... И проверки бежит ли игрок/сидит ли игрок -_-
     
  6. Автор темы
    Larin

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

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

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

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

    alexandrage Администратор

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

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

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

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Да не, там есть некий нпс, он говорит комбинацию для вызова босса. Идем в команату босса, шмякаем кнопки, типо колдуем.[DOUBLEPOST=1468932559,1468932446][/DOUBLEPOST]P.s а если по теме, чатгуард Пи не выдаст за флуд командами ?)
     
  11. AxmeD

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

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

    Dereku Старожил

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

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

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

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

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

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

    Баллы:
    76
    Да я-то не настаиваю, предложил просто. Проверить-то стоит?
     
  16. Dereku

    Dereku Старожил

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

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

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

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

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

    Dereku Старожил

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

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

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

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

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

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