Плагин [MECH/FUN] ReActions - Что? Тогда? Иначе! [BukkitDev]

На 1.8 плагины обновлять планируете?
Планирую. Но быстро не получится.

24. Если вводить команду через /powertool command, то в ReActions она не будет регистрироваться как введённая, а выведет лишь сообщение о несуществующей команде. Странно, не правда ли?

А что это за чудо такое /powertool ???
 
Планирую. Но быстро не получится.



А что это за чудо такое /powertool ???
Чудо это дарит Essentials. Эта команда привязывает команду к инструменту, что находится в руке. И при ЛКМ команда исполняется. Так вот, чтобы не создавать так нелюбимые Вами "личные активаторы", Essentials предоставляет это "бесплатно", записывая каждую привязанную команду в свою БД игроков.
 
@Lyosha12

Можно попросить попробовать эту версию:
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.zip

Здесь RA совместима с WG6.x. НО! Если папку lib, которая расположена в архиве скопировать в папку /plugins/ReActions/ то будет использоваться внешний модуль для работы c WG.
Файл WGBridge5x.jar соответственно реализует работу с WG5.x
 
@Lyosha12

Можно попросить попробовать эту версию:
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.zip

Здесь RA совместима с WG6.x. НО! Если папку lib, которая расположена в архиве скопировать в папку /plugins/ReActions/ то будет использоваться внешний модуль для работы c WG.
Файл WGBridge5x.jar соответственно реализует работу с WG5.x
Флаги, RGENTER, RGLEAVE, вроде, работают стабильно. Так же работает определение региона по первому миру :)
@fromgate, Вы чистейшее золото, а не человек :D
 
Как сделать, чтоб по нажатию ПКМ на табличку - выполнялась одна команда, ЛКМ - выполнялась другая?
 
А примерно когда?
Вот: https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
Здесь добавлен параметр click активатору SIGN.

Параметр click может принимать значения: ANY, RIGHT или LEFT.

Пример:
/react add sign leftclick click:left line1:leftclick

Код:
Код:
  leftclick:
    sign-mask:
    - leftclick
    - ''
    - ''
    - ''
    click-type: LEFT
    flags: []
    actions:
    - message=&6LeftClick! %click%
    reactions: []

Кроме того, активатор создает локальную переменную: %click% которая принимает значения LEFT или RIGHT.
 
Вот: https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
Здесь добавлен параметр click активатору SIGN.

Параметр click может принимать значения: ANY, RIGHT или LEFT.

Пример:
/react add sign leftclick click:left line1:leftclick

Код:
Код:
  leftclick:
    sign-mask:
    - leftclick
    - ''
    - ''
    - ''
    click-type: LEFT
    flags: []
    actions:
    - message=&6LeftClick! %click%
    reactions: []

Кроме того, активатор создает локальную переменную: %click% которая принимает значения LEFT или RIGHT.
Огромное спасибо!
 
В общем, текущее состояние оформляю в виде релиза.

v0.9.4
  • ReActions теперь совместим с WorldGuard 6.x. Встроенный модуль не совместим со старыми версиями WorldGuard (5.x и более ранними), однако если Вы используете WG5.x, то можно воспользоваться дополнительным модулем - wgbridge5x.jar, который расположен в прилагаемой папке lib. Эту папку нужно просто скопировать в директорию плагина (/plugins/ReActions/).
  • Теперь все регионы WG (используемые в активаторах, флага и действиях) поддерживают указание имени мира. Запись вида <world>.<region> указывает на регион <region>, расположенный в мире <world>. Вы можете не указывать имя мира, если регион расположен в главном (первом) мире сервера. Примечание: После перехода на версию 0.9.4 необходимо добавить название мира ко всем регионам, которые расположены в любом мире кроме главного.
  • Активатор SIGN теперь различает левый и правый клик. Для этого ему добавлен параметр click:<LEFT | RIGHT | ANY>, а также появился новый временный плейсхолдер %click%, который заменяется на "left" или "right" в зависимости от того, какой кнопкой мышки кликнули по табличке.
  • Добавлена куча временных плейсхолдеров. Сейчас описывать лениво, но я надеюсь скоро появится полное описание плагина ;)
http://dev.bukkit.org/media/files/837/440/ReActions.zip
 
В общем, текущее состояние оформляю в виде релиза.

v0.9.4
  • ReActions теперь совместим с WorldGuard 6.x. Встроенный модуль не совместим со старыми версиями WorldGuard (5.x и более ранними), однако если Вы используете WG5.x, то можно воспользоваться дополнительным модулем - wgbridge5x.jar, который расположен в прилагаемой папке lib. Эту папку нужно просто скопировать в директорию плагина (/plugins/ReActions/).
  • Теперь все регионы WG (используемые в активаторах, флага и действиях) поддерживают указание имени мира. Запись вида <world>.<region> указывает на регион <region>, расположенный в мире <world>. Вы можете не указывать имя мира, если регион расположен в главном (первом) мире сервера. Примечание: После перехода на версию 0.9.4 необходимо добавить название мира ко всем регионам, которые расположены в любом мире кроме главного.
  • Активатор SIGN теперь различает левый и правый клик. Для этого ему добавлен параметр click:<LEFT | RIGHT | ANY>, а также появился новый временный плейсхолдер %click%, который заменяется на "left" или "right" в зависимости от того, какой кнопкой мышки кликнули по табличке.
  • Добавлена куча временных плейсхолдеров. Сейчас описывать лениво, но я надеюсь скоро появится полное описание плагина ;)
http://dev.bukkit.org/media/files/837/440/ReActions.zip
:)
25. Интересно бы получилось, если при установке блока можно было отслеживать координату, где он был установлен. Так же устанавливать другой блок ниже\выше\в стороне от этого в каком-то количестве блоков. Так же интересной была бы функция запоминания того блока, который мог быть заменён установкой нового. А так же хорошо было бы устанавливать некий "таймер возврата заменённого блока".

Это бы было лучшей интерактивной фишкой ReActions!
Ну, а теперь примеры... Общий вид действия, которое может это всё делать:
Код:
adv_setblock=<amount1:n> [amount2:n] [amount3:n] <dir1:<0,1,2,3,down,up>> [dir2:<0,1,2,3,down,up>] [dir3:<0,1,2,3,down,up>] <block:ID> [Time-to-reverse-set:<time>]
amount1 - расстояние от установленного блока в направлении dir1.
amount2 - расстояние от установленного блока в направлении dir2.
amount3 - расстояние от установленного блока в направлении dir3.
Time-to-reverse-set - время, через которое установленный блок заменится на тот, который он заменил собой (даже если это воздух, что очень удобно, кстати).
block - устанавливаемый блок.

А теперь к живому примеру:
Фиксируется установка блока редстоуна. Снизу него устанавливается лампа. Около лампы окружающие блоки заменяются листвой (чтобы было видно свечение). Через пару секунд лампа заменяется на динамит, который взрывается тоже через пару секунд (не важно, разрушаются блоки или нет. Допустим, что нет.)
Конфиг:
Код:
BLOCK_SET:
   block-type: &fБлок_редстоуна$152
   flags: []
   actions:
    - adv_setblock=amount1:1 dir1:down block:123 Time-to-reverse-set:8s

    - adv_setblock=amount1:1 dir1:0 <block:18> Time-to-reverse-set:8s
    - adv_setblock=amount1:1 dir1:1 <block:18> Time-to-reverse-set:8s
    - adv_setblock=amount1:1 dir1:2 <block:18> Time-to-reverse-set:8s
    - adv_setblock=amount1:1 dir1:3 <block:18> Time-to-reverse-set:8s

    - adv_setblock=amount1:1 amout2:1 dir1:0 dir2:1 block:18 Time-to-reverse-set:8s
    - adv_setblock=amount1:1 amout2:1 dir1:0 dir2:3 block:18 Time-to-reverse-set:8s
    - adv_setblock=amount1:1 amout2:1 dir1:1 dir2:2 block:18 Time-to-reverse-set:8s
    - adv_setblock=amount1:1 amout2:1 dir1:2 dir2:3 block:18 Time-to-reverse-set:8s
    - action_delated=time:6s action:{adv_setblock amount1:1 dir1:down block:46}
   reactions: []
Хм... В принципе, зачем создавать новый активатор, когда можно приделать вариации к старому item_click? Я уже описывал возможные варианты :)
26. Как на счёт модифицирования действия BLOCK_SET? Для динамита, например, можно было бы задавать время взрыва, силу, радиус, разрушает ли он блоки. Для других блоков можно было бы определять, будут ли они падать при спавне (а-ля FallingSand). Можно было бы даже легко заменить функционал КБ из 1.7 и распространить на низшие версии (если можно, конечно... :D)
 
Последнее редактирование:
Хочу вам ещё раз напомнить об идее с активаторами item (ITEM_HAVE, ITEM_PICKUP, ITEM_DROP). В сочетании с активатором VARIABLE хочу попробовать реализовать систему веса для предметов.
P.S. Как по мне (ИМХО) так для reaction было бы полезно расширение функционала а не оптимизирование его под плагины для старых версий майна. Хотя, возможно, оптимизация была легче в плане написания кода. Я в этом даже не любитель поэтому сказать точно не могу.
 
Хочу вам ещё раз напомнить об идее с активаторами item (ITEM_HAVE, ITEM_PICKUP, ITEM_DROP). В сочетании с активатором VARIABLE хочу попробовать реализовать систему веса для предметов.
P.S. Как по мне (ИМХО) так для reaction было бы полезно расширение функционала а не оптимизирование его под плагины для старых версий майна. Хотя, возможно, оптимизация была легче в плане написания кода. Я в этом даже не любитель поэтому сказать точно не могу.
Неужели ты застопорился на одной идее и нет других? Зачем тебе многофункциональный плагин, когда тебе не хватает одной детали? И, да, ты читал предыдущие страницы? @fromgate все предложения "записывает" :D
 
Неужели ты застопорился на одной идее и нет других? Зачем тебе многофункциональный плагин, когда тебе не хватает одной детали? И, да, ты читал предыдущие страницы? @fromgate все предложения "записывает" :D
Да, идей пока нету, но! В том то и дело что детали делают плагин многофункциональным. Если бы никто не писал fromgate-у идеи, то вряд ли плагин был бы таким, какой он есть сейчас. Да и к тому же тяжко без полной документации. Например, о том что есть активатор VARIABLE я узнал только из информации об версии на bukkit.dev
 
Да, идей пока нету, но! В том то и дело что детали делают плагин многофункциональным. Если бы никто не писал fromgate-у идеи, то вряд ли плагин был бы таким, какой он есть сейчас. Да и к тому же тяжко без полной документации. Например, о том что есть активатор VARIABLE я узнал только из информации об версии на bukkit.dev
Я говорю о том, что не надо флудить ._.
 
Как сделать, чтоб при клике на табличку текст на время менялся, а потом восстанавливался?
 
Да, идей пока нету, но! В том то и дело что детали делают плагин многофункциональным. Если бы никто не писал fromgate-у идеи, то вряд ли плагин был бы таким, какой он есть сейчас. Да и к тому же тяжко без полной документации. Например, о том что есть активатор VARIABLE я узнал только из информации об версии на bukkit.dev

Это безусловно, без чьих-то идей у плагина было бы гораздо меньше функций. Собственно, плагин начал активно развиваться уже тогда, когда наш сервер по сути умер.

Насчет документации. У меня сейчас, есть где-то процентов 90. Но на английском. Как завершу - буду делать русскоязычный вариант.
Все это будет в виде скачиваемого файла либо в виде веб-страницы.

Идеи я "записываю". И когда думаю чего бы добавить обязательно перелистываю эту тему. Вообще если говорить о трудоемкости добавления новых фич, то: флаги и действия добавлять очень легко - тут все зависит от трудоемкости самой реализации проверки или действия (сложного пока ничего не было), а вот активаторы пока добавляются не совсем так как мне хотелось - нужно их прописывать в нескольких местах... но это тоже не страшно.

Тут другой момент, я уже говорил выше, я планирую переделать внутреннее устройство. Тогда поменяется подходы к обработке событий и ко многим другим вещам. Придётся очень много менять в самих активаторах, соответственно, любой новый активатор прибавит мне работы в будущем. Поэтому я сейчас новых активаторов добавлять не хочу.

Ну и если говорить о поддержки старых версий Minecraft и плагинов.
Даже если не учитывать, что @Lyosha12 сейчас самый активный "поставщик идей" и только персонально для него можно было бы добавить поддержку WG5.x (иначе нафига ему новые идеи ;)), то сейчас 60% серверов, на которых установлен ReActions, работают на версиях меньше 1.7.9.

Как сделать, чтоб при клике на табличку текст на время менялся, а потом восстанавливался?

Ну вот такой активатор попробуйте:
Код:
SIGN
  signclick:
  sign-mask:
  - Click Me!
  - ''
  - ''
  - ''
  click-type: ANY
  flags: []
  actions:
  - SIGN_SET_LINE=line2:%click%
  - ACTION_DELAYED=time:3s action:{SIGN_SET_LINE loc:%sign_loc% line2:{ }}
  reactions: []
[code]


Тут выяснилось, что у действия SIGN_SET_LINE параметр clear криво работает (всегда очищает первую строчку). Поэтому в примере я прописывал пробел (line2:{ }), в следующем обновлении можно будет ставить clear:2
 
Это безусловно, без чьих-то идей у плагина было бы гораздо меньше функций. Собственно, плагин начал активно развиваться уже тогда, когда наш сервер по сути умер.

Насчет документации. У меня сейчас, есть где-то процентов 90. Но на английском. Как завершу - буду делать русскоязычный вариант.
Все это будет в виде скачиваемого файла либо в виде веб-страницы.

Идеи я "записываю". И когда думаю чего бы добавить обязательно перелистываю эту тему. Вообще если говорить о трудоемкости добавления новых фич, то: флаги и действия добавлять очень легко - тут все зависит от трудоемкости самой реализации проверки или действия (сложного пока ничего не было), а вот активаторы пока добавляются не совсем так как мне хотелось - нужно их прописывать в нескольких местах... но это тоже не страшно.

Тут другой момент, я уже говорил выше, я планирую переделать внутреннее устройство. Тогда поменяется подходы к обработке событий и ко многим другим вещам. Придётся очень много менять в самих активаторах, соответственно, любой новый активатор прибавит мне работы в будущем. Поэтому я сейчас новых активаторов добавлять не хочу.

Ну и если говорить о поддержки старых версий Minecraft и плагинов.
Даже если не учитывать, что @Lyosha12 сейчас самый активный "поставщик идей" и только персонально для него можно было бы добавить поддержку WG5.x (иначе нафига ему новые идеи ;)), то сейчас 60% серверов, на которых установлен ReActions, работают на версиях меньше 1.7.9.



Ну вот такой активатор попробуйте:
Код:
SIGN
  signclick:
  sign-mask:
  - Click Me!
  - ''
  - ''
  - ''
  click-type: ANY
  flags: []
  actions:
  - SIGN_SET_LINE=line2:%click%
  - ACTION_DELAYED=time:3s action:{SIGN_SET_LINE loc:%sign_loc% line2:{ }}
  reactions: []
[code]


Тут выяснилось, что у действия SIGN_SET_LINE параметр clear криво работает (всегда очищает первую строчку). Поэтому в примере я прописывал пробел (line2:{ }), в следующем обновлении можно будет ставить clear:2
Спасибо, а как сделать, чтобы, когда написано left или right - с табличкой нельзя было взаимодействовать(т.е. нельзя было кликать)?
 
@Jayman
Активатор SIGN описывается текстом на табличке. Если его менять, то можно либо таким образом отключать его либо превращать его в другой активатор.
В моем примере нужно менять текст "Click Me!" на какой-то другой.

Ну вообще так можно даже активное меню сделать )
 
Индейки:
1.Добавить новое действие - показать голограмму.
К ней добавить параметры:
Для регионов: посреди региона, на ближайшем к игроку блоке в том регионе, на ближайшем блоке, но с отступом в какую-либо сторону. (т.е. Если игрок находится прям у региона, а отступ стоит: по x +2, по y +20 , по z -5, то от ближайшего блока до того, где появляется голограмма - будет такое расстояние).
Для мобов: На месте появляения моба, на месте смерти, на месте удара игрока, на месте удара моба.
Ну и по-координатам.
Добавить активаторы:
1. Когда игрок заходит на сервер.
2. Когда игрок авторизируется.
3. Когда игрок двинется первый раз после захода/авторизации.
4. Когда игрок наступит на другой блок первый раз после захода/авторизации.
А есть вопрос:

Можно ли сделать такой таймер, чтобы через X времени происходило одно действие, ещё через X другое, потом ещё... и когда их список окончится - пойдёт всё по новому кругу?
----------------------------------------
Есть идея сделать это так:
таймер в X*кол-во_действий, но при его выполнении - стартует активатор, который выполняет первое действие, дальше задержка на X, потом второе... ну и так далее.
но вдруг есть и другой способ.
 
Назад
Верх