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

Фикс Ивенты для модов [Механизмы работают от имени владельца]

Тема в разделе "Управление сервером Bukkit", создана пользователем gamerforEA, 30 дек 2014.

  1. oleg599

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

    Баллы:
    88
    Смотря где, в некоторых местах, где с блоком ничего не происходит блокбрейк бросать вообще не резонно, могут быть проблемы, вспоминаем дюпы с джобсом и ключами из ик2.
    Рефлексию можно и не использовать, достаточно вместе с котлом собрать класс-мост, который будет напрямую обращаться к getBukkitEntity() или вообще к CraftEventFactory для нужного эвента.
     
  2. oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    @gamerforEA остальные моды на EventHelper будешь переводить? А то ставить и эвент хелпер и враппер не хочется.
     
  3. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Буду. Сегодня будут ThaumCraft и ThaumicTinkerer.
     
  4. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Собрать напрямую класс мост с котлом та ещё задача, проще нагенерить немного байткода.
     
  5. oleg599

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

    Баллы:
    88
    Так же просто, как и собрать форг, ибо котел сейчас тоже самое. Если уж хочется выпендрится - можно вообще переделать среду разработки форга для котла, дабы все методы были изначально доступны.
     
  6. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Да, конечно.
    Идея с генерацией неплоха. Если не забуду, потом реализую.
    Сейчас прогнал пару бенчмарков. После прогрева даже 300000 Reflection вызовов выполняются менее миллисекунды, так что прямой доступ к методу getBukkitEntity() бесполезен.
    EventHelper обновлён до 1.3. Эта версия потребуется для ThaumCraft.
    https://github.com/gamerforEA/EventHelper/releases/tag/1.3
     
  7. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
  8. oleg599

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

    Баллы:
    88
    А ничего, что помимо этой рефлексии есть еще тысячи действий в один такт?) Опять пошла синтетика)
     
  9. IvanMC

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

    Баллы:
    31
    @gamerforEA обновите пожалуйста BuildCraft, очень много важных фиксов, особенно защита от json хакка выброса вещей
     
  10. Swidler

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

    Баллы:
    88
    Имя в Minecraft:
    Swidler
    + Обновите Ic 2 если не трудно.
     
  11. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    С обновлениями придётся подождать. У меня сейчас пара крупных заказов, так что времени нет.
     
  12. Sergprof

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

    Баллы:
    88
    [11:06:42] [Server thread/ERROR]: Could not load 'plugins/EventHelper.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:188) ~[JavaPluginLoader.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [SimplePluginManager.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:320) [CraftServer.class:git-Cauldron-Reloaded-1.7.10-1.1388.1.0]
    at net.minecraft.world.storage.SaveHandler.initBukkitData(SaveHandler.java:461) [ayq.class:?]
    at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:137) [ayq.class:?]
    at net.minecraft.world.World.<init>(World.java:349) [ahb.class:?]
    at net.minecraft.world.WorldServer.<init>(WorldServer.java:153) [mt.class:?]
    at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:356) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:335) [lt.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:620) [MinecraftServer.class:?]
    at java.lang.Thread.run(Unknown Source) [?:1.7.0_80]
    Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
    ... 11 more

    Что может быть?
     
  13. Uzumachi

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

    Баллы:
    61
    EventHelper.jar - надо поместить в папку Mods, а не в plugins!
     
  14. Sergprof

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

    Баллы:
    88
    спс. о том что в модс просто неуказано
     
  15. Ya_Ilya

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

    Баллы:
    78
    Как не написано? Это что "Мод EventHelper (требуется для модов с пометкой {M})" ?
     
  16. oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    @gamerforEA Манипулятор Энтропии из AppEnerg: если в привате юзать его по дереву, будет писать что его нельзя юзать в привате, но уголь будет даваться бесконечно пока кликать по блоку - дюп с ивентами
     
  17. DRK

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

    Баллы:
    61
    Имя в Minecraft:
    Medved
    К сожалению, при установке гейтов на трубы BC они так и продолжают визуально превращаться в линзы. И отсутствует меню гейта при открытии.
    http://i.imgur.com/NfcUbjN.png
    При замене на сервере мода БС на официальный - проблема пропадает. Кто придумал как бороться?
     
  18. mysql_connect

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

    Баллы:
    66
    Данный дюп и без ивентов есть. Помагает его пофиксить MGR.
     
  19. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Проблема во время сборки мода. Лечится просто: берём только изменённые классы и кидаем в чистый мод.
     
  20. LordBekketPro

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

    Баллы:
    88
    При работе заполнителя из BC в режиме заполнения (то есть устанавливает блоки) TPS дико проседает, при установке каждого блока задержка. Тайминги показывают, что виноват WG. Но при разрушении блоков такого нет (карьер, заполнитель в режиме очистки и т.д.)

    В коде и при разрушении, и установке блока отправляется BlockBreakEvent. Думаю, дело в этом. Можете для установки блока отправлять BlockPlace? Это будет и корректнее, и, возможно, исправит проблему с лагами

    Мне кажется, WG зависает, когда видит, что заполнитель пытается разрушить блок воздуха (или само ядро сервера впадает в ступор, хз)
    А если владельца нет на сервере, то сервер сразу падает, как только какой-то прибор пытается сломать или поставить блок. Это с модом EventHelper. С плагином TPS просто падал до нуля, а сейчас вообще все игроки вылетают с надписью "Превышено время ожидания"
    Версия Cauldron-MCPC-Plus version git-Cauldron-Reloaded-1.7.10-1.1343.01.0 (MC: 1.7.10)
     

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