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

Плагин [FUN/MECH/DEV] PlayEffect v0.5.4 - Дыма мало! Нужны ещё эффекты![BukkitDev]

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 22 сен 2013.

  1. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Попробую сейчас на Spigot потестить фейерверки, посмотрим :)
     
  2. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    JustBlender, со Spigot'ом по идее проблем быть не должно и без ProtocolLib'а должно всё работать. Но всё равно буду благодарен.

    Кстати, по поводу фейерверков. Судя по всему их "проглатывает" клиент. Я пытался записать эффект при помощи Fraps. Жму F9 и они у меня пропадают ВООБЩЕ вне зависимости от способа отрисовки. Т.е. как выросла загрузка процессора (а комп у меня довольно старый и включенный на запись fraps довольно заметно влияет на производительность) майнкрафт просто перестал отрисовывать фейерверки). Баг это - или фича не знаю. Вполне возможно, что фича - в предыдущей версии обильное фейерверко-стреляние приводило к зависанию клиента.
     
  3. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Согласен, но ошибка отрисовки - никак не может быть фичей :)
    fromgate, вообщем, я прикрутил API к своему "снежному оружию" для наглядного просмотра... Все стало чуточку хуже, из 10 брошенных снежков "фейерверкается" 5-6

    Даже попробовал изменить проверку энтити с instanceof на EntityType, посмотрим :)
     
    Последнее редактирование: 18 янв 2014
    fromgate нравится это.
  4. Shockwave

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

    Баллы:
    103
    MCPC+ 1.6.4 ProtocoLib + Playeffect,
    /play explosion size:3 -Отлично Работает
    /play lava - Отлично Работает
    /play cloud - Отлично Работает
    /play firework dur:5s - Появляется маленький фейрверк на блоке и тут же исчезает
    На другие команды, такие как /playeffect, /playeffect help, /play отвечает Something wrong(check comands, permissions)
    Лог загрузки
    Код:
    2014-01-18 19:38:25 [INFO] [PlayEffect] Enabling PlayEffect v0.3.1/3
    2014-01-18 19:38:25 [INFO] [PlayEffect] ProtocolLib found and connected.
    2014-01-18 19:38:25 [INFO] [PlayEffect] Failed to initialize internal PacketNMS library! Some features of plugin will be disabled!
    2014-01-18 19:38:25 [INFO] [PlayEffect] Please download compatible version from: http://dev.bukkit.org/bukkit-plugins/playeffect/
    2014-01-18 19:38:25 [INFO] [PlayEffect] You can try to use ProtocolLib to override compatibility issues
     
    fromgate нравится это.
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Shockwave, отлично!
    Сообщения для MCPC - нормальные, NMS-библиотека и не может там нормально инициализироваться ибо написана под craftbukkit.
    Попытаюсь добиться чтобы фейерверк тоже работал. Я переписал под ProtocolLib функцию, которая у меня использовалась в 1.6.4,. Но проверить было негде, возможно где-то что-то напутал. Проверю.

    У меня единственное, ещё одна просьба. Гляньте в логе. В момент, когда первый раз писали команду /play firework должна появиться строка "Determined firework method...." - можно её процитировать. Мне интересно, правильно ли они определил, что нужно пользоваться ProtocolLib'ом
    На /playeffect и /play (это одно и тоже) - так и должно писать. Никакого действия на пустую команду не назначено.

    А вот /playeffect help должен выдавать список. Я правильно понимаю - запускаете под OP'ом и пермишены у Вас - все?
     
  6. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    В логи смотреть не пытался, посмотрю сейчас :)
     
  7. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Кстати, можно попробвать разные способы отрисовки фейерверков:
    В конфиге:
    Код:
    system:
      firework-play-method: -1
    
    Вместе "-1" попробуйте ставить 0, 1, 2, 3

    Здесь:
    0 - это метод, по умолчанию, для 1.72
    1 - стандартный (встроенный в bukkit) дает помимо звук взрыва фейерверка ещё и звук взлёта.
    2 - метод из предыдущей версии (под 1.6.4). Использует собственную библиотеку плагина. Под 1.6.4 работал достаточно хорошо.
    3 - то же, что и 2 но переписано под ProtocolLib (по идее этот метод должен использоваться в MCPC 1.6.4)
     
  8. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Не опишу возможно, но чаще всего видно всего лишь ракету, и через 10-20 тиков пропадает (очень незаметно)

    PS. Nope. Logs not says different warnings! All cleared
     
  9. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    v0.3.2
    • Добавлена поддержка ProtocolLib. Теперь если на сервере установлен плагин ProtocolLib, он будет использоваться PlayEffect'ом вместо встроенной библиотеки (PacketNMS).
    • Исправлены некоторые проблемы с совместимостью. Теперь PlayEffect совместим (и проверен) с: craftbukkit 1.7.2, .cratbukkit 1.6.4, MCPC+1.6.4. И, в теории, PlayEffect должен будет нормально работать с любой версией серверного мода, совместимого с BukkitAPI и ProtocolLib.
    • Эффекты blockdust, blockcrack теперь поддерживают параметр "block", который используется в качестве псевдонима для "item". Так что теперь /play blockdust block:STONE будет работать точно также как и /play blockdust item:STONE
    http://dev.bukkit.org/media/files/768/26/PlayEffect.jar

    Кстати, снято первое видео про PlayEffect человеком "со стороны":
     
    Shockwave и Hephest нравится это.
  10. Shockwave

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

    Баллы:
    103
    Спасибо большое! Никогда не видел что бы автор так оперативно и качественно обновлял свой плагин, буду ждать новых разработок от fromgate :)
     
    ПриветОтЛайки нравится это.
  11. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Shockwave, ну... это повезло. У меня куча вопросов по CameraObscura и другим плагинам, но до них ещё руки не дошли ;)
     
    Shockwave нравится это.
  12. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Посмотрел видео, тот парень просто в шоке от плагина, я вспомнил себя, 3 недели назад был таким же :)
     
  13. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    @fromgate , кое где в плагине имеется незащищенная операция (Проверки значений на валидность нету)
    Вот ексепшен
    Код:
    [03:32:47 ERROR]: Could not pass event PlayerInteractEvent to SandBox v0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:481) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:466) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:191) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7
    .2-R0.2-b2974jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:161) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7
    .2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :978) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.a(SourceFile:43
    ) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.handle(SourceFi
    le:9) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    Caused by: java.lang.ArithmeticException: / by zero
            at me.fromgate.playeffect.Util.buildLine(Util.java:280) ~[?:?]
            at me.meloncode.sandbox.EventListener.onPlayerInteract(EventListener.jav
    a:37) ~[?:?]
            at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_25]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_25]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425) ~[craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            ... 15 more
    Версия ядра 1.7.2 R0.2
    Версия плагина - последняя
     
    Последнее редактирование: 21 янв 2014
  14. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    ql_Nik_lp, а что такое Sandbox (в пакете: me.meloncode.sandbox)?
    Именно этот плагин не может отработать PlayerInteractEvent.
     
  15. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Кстати, возможно он и спалил тот самый плугин :)
     
  16. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Это мой шаблонный плагин на котором тестирую новые версии, API и т.д.

    Код:
    Caused by: java.lang.ArithmeticException: / by zero
            at me.fromgate.playeffect.Util.buildLine(Util.java:280) ~[?:?]
            at me.meloncode.sandbox.EventListener.onPlayerInteract(EventListener.jav
    a:37) ~[?:?]
    Как можно видеть сначала ArithmeticException возникает в Util на строке 280
    А из моего плагина (строка 37) просто идет вызов, кстати взятый из src Railgun
    Код:
                Location loc1 = p.getEyeLocation();
                @SuppressWarnings("deprecation")
                Location loc2 = p.getTargetBlock(null, 10).getLocation();
                if (loc1 == null)
                    return;
                if (loc2 == null)
                    return;
                List<Location> line = Util.buildLine(loc1, loc2); //<== Строка 37
                                                               
                if (line.size() <= 2)
                    return;
                line.remove(0);

    Строка 280 файла Util:
    Код:
    y = y1 + (x - x1) * (y2 - y1) / (x2 - x1);
    В определенном случае, если (x2 - x1) в результате даст ноль, то мы получим y1 + (x - x1) * (y2 - y1) / 0
    А х1 - х2 всегда будер равно нулю, если скажем вызвать метод подойдя в упор к кнопке
     
    Последнее редактирование: 21 янв 2014
    HoShiMin нравится это.
  17. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    ql_Nik_lp, ага, понятно. Исправим :) Там получается, если длина линии равна одному блоку - возникает ошибка. Т.е. просто x1=x2 - это не страшно если или y1!=y2 или z1!=z2. А вот когда все три... ;)
     
    ql_Nik_lp нравится это.
  18. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Кстати, buildLine сильно забаганный. Бывает после частого использования (хотел сделать рылган), плагин крашится
     
  19. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Как раз нет, именно х1=х2 и страшно, так как математика еще не умеет делить на ноль :)
    А равенства остальных значений, в определенных случаях, могут подпортить результат, но хотя бы без ошибок в консоль ;)
    Прокликал его раз 300 подряд, свинушек бил - все ок, только то о чем я написал :D
    Кстати, Line в принципе невозможно построить из двух одинаковых точек, так как это одна точка :D
    Так что можно просто сначала проверять блоки(позицию) на равенство, затем отдельно безопасность деления, а потом собственно вычислять
     
  20. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Дело в том, что я делал рылган в связке с ReAction (Item_CLICK) и прикрепил команду. Вроде в шапке такая команда есть (в примерах ищи)
     

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