Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Обновленная версия:
https://dl.dropboxusercontent.com/u/64799811/PlayEffect/PlayEffect.jar

- Поддержка ProtocolLib для эффектов частиц (в конфиге можно принудительно выключить)
- Поддержка четырех различных спсобов отрисовки эффектов фейерверка.

Мне по-прежнему нужно протестировать на MCPC+
У кого есть такая возможность сделайте пожалуйста следующее:
- Установить ProtocolLib (последний дев билд брать тут: http://assets.comphenix.net/job/ProtocolLib/)
- Установить PlayEffect https://dl.dropboxusercontent.com/u/64799811/PlayEffect/PlayEffect.jar

Попробовать команды:
/play explosion size:3
/play lava
/play cloud
/play firework dur:5s

И описать результат тут (если будут ошибки в логи, буду благодарен если их скопируете). И обязательно, расскажите какая версия MCPC+ используется.
Попробую сейчас на Spigot потестить фейерверки, посмотрим :)
 
JustBlender, со Spigot'ом по идее проблем быть не должно и без ProtocolLib'а должно всё работать. Но всё равно буду благодарен.

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

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

Даже попробовал изменить проверку энтити с instanceof на EntityType, посмотрим :)
 
Последнее редактирование:
Обновленная версия:
https://dl.dropboxusercontent.com/u/64799811/PlayEffect/PlayEffect.jar

- Поддержка ProtocolLib для эффектов частиц (в конфиге можно принудительно выключить)
- Поддержка четырех различных спсобов отрисовки эффектов фейерверка.

Мне по-прежнему нужно протестировать на MCPC+
У кого есть такая возможность сделайте пожалуйста следующее:
- Установить ProtocolLib (последний дев билд брать тут: http://assets.comphenix.net/job/ProtocolLib/)
- Установить PlayEffect https://dl.dropboxusercontent.com/u/64799811/PlayEffect/PlayEffect.jar

Попробовать команды:
/play explosion size:3
/play lava
/play cloud
/play firework dur:5s

И описать результат тут (если будут ошибки в логи, буду благодарен если их скопируете). И обязательно, расскажите какая версия MCPC+ используется.
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
 
Shockwave, отлично!
Сообщения для MCPC - нормальные, NMS-библиотека и не может там нормально инициализироваться ибо написана под craftbukkit.
Попытаюсь добиться чтобы фейерверк тоже работал. Я переписал под ProtocolLib функцию, которая у меня использовалась в 1.6.4,. Но проверить было негде, возможно где-то что-то напутал. Проверю.

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

На /playeffect и /play (это одно и тоже) - так и должно писать. Никакого действия на пустую команду не назначено.

А вот /playeffect help должен выдавать список. Я правильно понимаю - запускаете под OP'ом и пермишены у Вас - все?
 
Shockwave, отлично!
Сообщения для MCPC - нормальные, NMS-библиотека и не может там нормально инициализироваться ибо написана под craftbukkit.
Попытаюсь добиться чтобы фейерверк тоже работал. Я переписал под ProtocolLib функцию, которая у меня использовалась в 1.6.4,. Но проверить было негде, возможно где-то что-то напутал. Проверю.

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


На /playeffect и /play (это одно и тоже) - так и должно писать. Никакого действия на пустую команду не назначено.

А вот /playeffect help должен выдавать список. Я правильно понимаю - запускаете под OP'ом и пермишены у Вас - все?
В логи смотреть не пытался, посмотрю сейчас :)
 
Попробую сейчас на Spigot потестить фейерверки, посмотрим :)

Кстати, можно попробвать разные способы отрисовки фейерверков:
В конфиге:
Код:
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)
 
Кстати, можно попробвать разные способы отрисовки фейерверков:
В конфиге:
Код:
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)
Не опишу возможно, но чаще всего видно всего лишь ракету, и через 10-20 тиков пропадает (очень незаметно)

PS. Nope. Logs not says different warnings! All cleared
 
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 человеком "со стороны":
 
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 человеком "со стороны":
Спасибо большое! Никогда не видел что бы автор так оперативно и качественно обновлял свой плагин, буду ждать новых разработок от fromgate :)
 
Shockwave, ну... это повезло. У меня куча вопросов по CameraObscura и другим плагинам, но до них ещё руки не дошли ;)
 
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 человеком "со стороны":
Посмотрел видео, тот парень просто в шоке от плагина, я вспомнил себя, 3 недели назад был таким же :)
 
@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
Версия плагина - последняя
 
Последнее редактирование:
ql_Nik_lp, а что такое Sandbox (в пакете: me.meloncode.sandbox)?
Именно этот плагин не может отработать PlayerInteractEvent.
 
ql_Nik_lp, а что такое Sandbox (в пакете: me.meloncode.sandbox)?
Именно этот плагин не может отработать PlayerInteractEvent.

Это мой шаблонный плагин на котором тестирую новые версии, 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 всегда будер равно нулю, если скажем вызвать метод подойдя в упор к кнопке
 
Последнее редактирование:
ql_Nik_lp, ага, понятно. Исправим :) Там получается, если длина линии равна одному блоку - возникает ошибка. Т.е. просто x1=x2 - это не страшно если или y1!=y2 или z1!=z2. А вот когда все три... ;)
 
ql_Nik_lp, ага, понятно. Исправим :) Там получается, если длина линии равна одному блоку - возникает ошибка. Т.е. просто x1=x2 - это не страшно если или y1!=y2 или z1!=z2. А вот когда все три... ;)
Кстати, buildLine сильно забаганный. Бывает после частого использования (хотел сделать рылган), плагин крашится
 
ql_Nik_lp, ага, понятно. Исправим :) Там получается, если длина линии равна одному блоку - возникает ошибка. Т.е. просто x1=x2 - это не страшно если или y1!=y2 или z1!=z2. А вот когда все три... ;)
Как раз нет, именно х1=х2 и страшно, так как математика еще не умеет делить на ноль :)
А равенства остальных значений, в определенных случаях, могут подпортить результат, но хотя бы без ошибок в консоль ;)
Кстати, buildLine сильно забаганный. Бывает после частого использования (хотел сделать рылган), плагин крашится
Прокликал его раз 300 подряд, свинушек бил - все ок, только то о чем я написал :D
Кстати, Line в принципе невозможно построить из двух одинаковых точек, так как это одна точка :D
Так что можно просто сначала проверять блоки(позицию) на равенство, затем отдельно безопасность деления, а потом собственно вычислять
 
Как раз нет, именно х1=х2 и страшно, так как математика еще не умеет делить на ноль :)
А равенства остальных значений, в определенных случаях, могут подпортить результат, но хотя бы без ошибок в консоль ;)

Прокликал его раз 300 подряд, свинушек бил - все ок, только то о чем я написал :D
Кстати, Line в принципе невозможно построить из двух одинаковых точек, так как это одна точка :D
Так что можно просто сначала проверять блоки(позицию) на равенство, затем отдельно безопасность деления, а потом собственно вычислять
Дело в том, что я делал рылган в связке с ReAction (Item_CLICK) и прикрепил команду. Вроде в шапке такая команда есть (в примерах ищи)
 

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

Назад
Верх