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

По многочисленным просьбам сделал EventHelper для Sponge 1.11.2: https://yadi.sk/d/nkaCz0B_38pPXo
У кого есть возможность, прошу протестировать его, например, с GriefPrevention.

P.S.
  1. Я его не тестировал.
  2. Залил на Яндекс.Диск, а не GitHub из-за глюков последнего (не принимает SSH ключ, возможно, по причине недавнего падения).
  3. Я доработал класс FakePlayerContainer. Теперь он позволяет ссылаться на реального игрока, а не фейка, нормально обновляет данные при смене профиля и позволяет не обращаться к EventUtils.
 
Тоже занимаюсь спонжем, но пока 1.10.2, ибо большинство модов еще на 1.11 не портировали... Так же себе хелпера писал, видимо скоро всем придется переезжать на новую платформу =)
 
Зачем вот так делать в катче? Еасли damager или damagee нулл, из него не получить toString()...
Java:
System.err.println(String.format("Failed call EntityDamageByEntityEvent: [Damager: %s, Damagee: %s]", new Object[] { damager.toString(), damagee.toString() }));
 
Есть вариант или фикс ? (Второго варианта с пилой и микроблоками)
 
Зачем вот так делать в катче? Еасли damager или damagee нулл, из него не получить toString()...
Java:
System.err.println(String.format("Failed call EntityDamageByEntityEvent: [Damager: %s, Damagee: %s]", new Object[] { damager.toString(), damagee.toString() }));
Это где такой код? В EventHelper 1.6 используется String.valueOf(Object).
 
А эти моды вызывают forge эвенты? В sponge перехват эвентов же есть.
 
Есть, но даже Forge ивенты используются редко.
 
Есть, но даже Forge ивенты используются редко.
Например из IC2 шахтерский лазер и динамитная шашка не ломают блоки в привате, а вот индустриальный динамит и ядерная бомба уже ломают. Мне кажется, что во некоторые действия не передают того, кто их вызвал. Думаю, на sponge можно обойтись без helper'ов, достаточно что-то пропатчить в модах.
 
Я раньше обходился без EventHelper'а, выбрасывая Forge ивенты (в Cauldron, KCauldron и Thermos некоторые Forge-ивенты конвертируются в Bukkit-ивенты), но написание методов cantBreak() и cantDamage() в разы сократило объём кода, а дальнейший вынос их в отдельную библиотеку упростил профилирование и облегчил фикс ивентов (в моих старых ивентах была одна ошибка, для фикса которой нужно было править КАЖДЫЙ мод с ивентами). Да и FakePlayerContainer сильно облегчает работу. В общем, без Helper'ов обойтись можно, но с ними всё намного проще.
1 марта будут опубликованы фиксы дюпов (и не только) в BuildCraft, ThaumCraft и, возможно, ещё каких-нибудь модах (не помню, какие фиксы ещё добавлял).
 
Я раньше обходился без EventHelper'а, выбрасывая Forge ивенты (в Cauldron, KCauldron и Thermos некоторые Forge-ивенты конвертируются в Bukkit-ивенты), но написание методов cantBreak() и cantDamage() в разы сократило объём кода, а дальнейший вынос их в отдельную библиотеку упростил профилирование и облегчил фикс ивентов (в моих старых ивентах была одна ошибка, для фикса которой нужно было править КАЖДЫЙ мод с ивентами). Да и FakePlayerContainer сильно облегчает работу. В общем, без Helper'ов обойтись можно, но с ними всё намного проще.
1 марта будут опубликованы фиксы дюпов (и не только) в BuildCraft, ThaumCraft и, возможно, ещё каких-нибудь модах (не помню, какие фиксы ещё добавлял).
Еще из IC2 хотел фикс с реактором.
 
Заметил что запреты для големов с сердцем Использование работают у меня не для всех предметов, обычный динамит и алхимит из TH големы спокойно ставят даже с запретом, Blood TNT с запретом не ставят. В чем может быть проблема?
Код:
# Configuration file

general {
    # Включить BlockEldritchNothing [default: false]
    B:blockEldritchNothing=false

    # Чёрный список блоков для Сердца голема: Использование [default: [minecraft:stone], [IC2:blockMachine:5]]
    S:golemCoreUseItemBlackList <
        minecraft:tnt
        BloodArsenal:blood_tnt
        ThaumicHorizons:alchemite
     >

    # Бессмертие для големов [default: true]
    B:invincibleGolems=true
}
 
Уважаемые форумчане, помогите пожалуйста..
Поставил эвенты для модов , а именно - ic 2 , таумкрафт, таум тинкер.
В клиент ставил соответсвенно мод чистый
На сервер заливал с той же версией мода , ивент...
Но теперь при взаимодействии любого рессурса из ic 2 или таумкрафт сервер тупо крашит или выкидывает с ошибкой "internal server error", если возьму какой-то блок из ic 2 или сломаю..
Логи краша - ТЫК
Возможно мои руки не с того места..
Опишу как я это все делал.
Скачал на ic 2 , thaumcraft , thaum tinker эти самые ивенты.
Запихал то-что в конце называлось client , в папочку с клиентом / mods .
А то что было ивентами , запихал на сервер в mods.
Установил EventHelper , запихал его в plugins , он почему-то не установился.. Папочки никакой не сгенерировалось да и при вводе /pl , его там нет.. Возможно его не надо было пихать в Plugins , а куда-то в другое место, не знаю..
Прошу помощи.. Пожалуйста <3
 
Уважаемые форумчане, помогите пожалуйста..
Поставил эвенты для модов , а именно - ic 2 , таумкрафт, таум тинкер.
В клиент ставил соответсвенно мод чистый
На сервер заливал с той же версией мода , ивент...
Но теперь при взаимодействии любого рессурса из ic 2 или таумкрафт сервер тупо крашит или выкидывает с ошибкой "internal server error", если возьму какой-то блок из ic 2 или сломаю..
Логи краша - ТЫК
Возможно мои руки не с того места..
Опишу как я это все делал.
Скачал на ic 2 , thaumcraft , thaum tinker эти самые ивенты.
Запихал то-что в конце называлось client , в папочку с клиентом / mods .
А то что было ивентами , запихал на сервер в mods.
Установил EventHelper , запихал его в plugins , он почему-то не установился.. Папочки никакой не сгенерировалось да и при вводе /pl , его там нет.. Возможно его не надо было пихать в Plugins , а куда-то в другое место, не знаю..
Прошу помощи.. Пожалуйста <3
EventHelper это мод....
 
в папку mods на сервере
Спасибо большое, бегу тестить.
Сообщу об результате ^_^
в папку mods на сервере
Все установил , но после них у меня ужасные лаги..Ужасающие.. Даже текстуры пропадают и в чат постоянно , ежесекундно пишет - OpenGl error - 12** , какие-то цифры.. Память в лаунчере на 1024, настройки даже все на минимум поставил.
 
Спасибо большое, бегу тестить.
Сообщу об результате ^_^

Все установил , но после них у меня ужасные лаги..Ужасающие.. Даже текстуры пропадают и в чат постоянно , ежесекундно пишет - OpenGl error - 12** , какие-то цифры.. Память в лаунчере на 1024, настройки даже все на минимум поставил.
А как ты собрался играть с таким кол-вом выделенной памяти?
 
А как ты собрался играть с таким кол-вом выделенной памяти?
Хорошо, тогда следующий вопрос.
Выделяю больше 1024, ставлю 2024 , он автоматом перезапускается , но значение остается то же. (1024)
 
Назад
Верх