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

Плагин [ADMIN] Re:ReActions | Простейший скриптовый плагин (1.19+)

Тема в разделе "Неподтвержденные плагины", создана пользователем imDaniX, 6 сен 2019.

  1. OOME

    OOME Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    OOME
    Так, подебажил немного DAMAGE_BY_MOD, поменялись местами damager-type и damager-name,
    сейчас, если игрок бьет игрока, то:
    damager-type: ''
    damager-name: PLAYER
     
  2. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Действительно, при загрузке с конфига параметры перепутаны. Поправил в последнем билде, спасибо.
     
  3. OOME

    OOME Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    OOME
    А как бы мне выполнить MOB_KILL только при убийстве моба игроком? Вообще то в доке так и написано Player killing mob, но по факту срабатывает и при убийстве моба другими мобами, например криперами.
     
  4. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Баг. Спасибо, исправил в последнем билде.
     
  5. OOME

    OOME Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    OOME
    Спасибо большое, а то сервер утопает в логах стектрейсов
     
  6. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Попробовал добавить альтернативный способ выдачи временного OP, в конфиге включается через actions.cmd_op.proxy-operator. Основная проблема в том, что FAWE делает проверки в асинхроне, от чего старый способ просто не работает. Впрочем, и новый может не сработать - всё зависит от самого FAWE.
     
  7. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Ребзь, хочу отказаться от поддержки Spigot в сторону Paper, а также от поддержки версий до 1.16.5 (а точнее просто официально поддерживать только последние версии). Paper 1.16.5 предлагает слишком много возможностей сейчас, чтобы просто так отказываться от них для сохранения совместимости с устаревшим софтом. Однако, готов выслушать, если кто будет против.
     
  8. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Потихоньку пилю систему модулей в отдельной ветке. Понимаю, что сейчас и так полно проблем, однако, в данный момент невозможно нормально продолжить разработку, не переделав текущую монолитную структуру.
    TODO:
    - Переписать менеджер активаторов для поддержки регистрации новых типов активаторов. done
    - Для некоторых активаторов выделить отдельные типы, чтобы лучше реагировать на изменения (например REGION, ITEM_WEAR и пр.)
    - Переписать менеджеры действий и флагов для поддержки регистрации новых типов. done
    - Реализовать непосредственно систему модулей, которые можно зарегистрировать в процессе подгрузки (после onLoad() и до onEnable()) плагина, либо отложить загрузку активаторов на первый тик включения сервера.
     
    Последнее редактирование: 1 июл 2021
  9. OOME

    OOME Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    OOME
    Еще баговина.
    Делаю так:
    EXEC:
    ws_buy:
    actions:
    - VAR_PLAYER_SET=id:buy_items value:%random:1-4%
    - execute=activator:ws_buy_gold
    ws_buy_gold:
    flags:
    - ITEM_INVENTORY='type:IRON_INGOT data:0 amount:%varp:buy_items%'
    actions:
    - 'ITEM_REMOVE_INVENTORY=type:IRON_INGOT data:0 amount:%varp:buy_items% regex:false'
    - cmd_console=eco give %player% %CALC:50*%varp:buy_items%%
    - MESSAGE=§6[§cБродячий Торговец§6] &f Спасибо, я купил у тебя %varp:buy_items% золотых слитков, это все, что мне было нужно. Вот твои деньги.
    reactions:
    - MESSAGE=§6[§cБродячий Торговец§6] &f У тебя нет того, что мне нужно. Приноси золотые слитки, алмазы и прочие редкие ресурсы.

    Так вот флаг срабатывает на любой не пустой инвентарь, если его кол-во соответствует значению переменной buy_items. То есть плевать он хотел на тип предмета IRON_INGOT. При этом инвентарь не удаляется.
     
  10. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    У тебя во флаге кавычки неправильно расположены - начинаются после =. Вместо VAR_PLAYER_SET, кстати, советую использовать VAR_TEMP_SET - такие переменные передаются от активатора к активатору через действие EXECUTE, не сохраняются на диск, и можно просто написать %buy_items%
     
  11. OOME

    OOME Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    OOME
    Спасибо, так работает. Странно конечно, у меня целый режим построен на синтаксисе с кавычкой перед ключевым словом type и все работает, но там у меня кастомные лоры а названия.

    У меня еще такой вопрос. Как мне проверить, что в руке ни чего нет? Вариант ниже не работает:
    - 'ITEM=type:AIR'
     
  12. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Судя по старому коду, нужно вместо type:AIR вписать просто AIR или HAND. Систему парсинга предметов тоже нужно переделывать, ибо она очень тяжелая...
     
  13. OOME

    OOME Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    OOME
    ITEM=HAND и ITEM=AIR всегда срабатывает, не важно, что у тебя в руке. даже если не пусто.
     
  14. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Сделал заплатку в последнем билде.
     
  15. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Обновлением до Java 16 и MC 1.17 займусь где-то с выходом Paper 1.17, рассчитывать на +неделю. Над модулями не работал недели две, тоже постараюсь взяться вновь на днях, мб к концу июля завершу. Между делом поправил ошибку в активаторе BLOCK_CLICK.
     
  16. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    https://papermc.io/downloads#Paper-1.17
     
  17. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Билды, начиная с #88, будут компилироваться на Java 16 с поглядыванием на Paper 1.17. Кажется, 1.17 пока не привнесло критичных изменений API, так что до поры до времени будет поддержка 1.16.5.
    Стыдно признаться, но с Java 16 пока не работал, так что до того, как начну использовать новые фичи оттуда, пройдет какое-то время.
     
  18. Dinikin

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

    Баллы:
    66
    Имя в Minecraft:
    Dinikin
    Привет. Есть ли возможность проверить, сколько игроков в регионе? Или на крайний случай, что он не пустой?
     
  19. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Флаг REGION_PLAYERS.
    Код:
    - REGION_PLAYERS=мир.регион/количество
     
  20. Dinikin

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

    Баллы:
    66
    Имя в Minecraft:
    Dinikin
    А больше/меньше проверить как?
     

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