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

Как добавить команды в чужой мод?

Тема в разделе "Оффтопик", создана пользователем Dantalion, 17 май 2019.

  1. Автор темы
    Dantalion

    Dantalion Ньюби

    Баллы:
    0
    Мод Anime Naruto, хотелось бы добавить команды на смену клана, выдачу очков навыков, JP и разных Кеккей Генкаев. Можно ли это сделать, если я вообще не шарю за моддинг? )
    https://yadi.sk/d/GM-TaKIamHKxpA - ссылка на мод.
     
  2. Mr Hosting
  3. alexandrage

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

    Баллы:
    173
    Можно, но не тебе.
     
  4. SkoSik

    SkoSik Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    SkoSIk
    Без исходников ничего не сделаешь, если ты хочешь в мод запихать это. Нужно отдельно делать, но судя по всему ты не шаришь и тебя вряд ли тут кто-то поможет с этим за "Спасибо". Если прям очень нужно - то иди в коммерческий раздел.
     
  5. MaksGruw

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

    Баллы:
    103
    Почему же без исходников не сделает? Декомпилятор в руки и вперед. В крайнем случае можно напрямую байт-код редачить. Либо средства ASM юзать (один только Byte Buddy чего стоит). Обходных путей много, но да, раз он не шарит, пусть других просит.
     
  6. GoodCoder

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

    Баллы:
    76
    Куда такие сложности? Пишем аддон к моду с нужными командами. Этими командами взаимодействуем с кодом мода.
     
  7. MaksGruw

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

    Баллы:
    103
    К тому, что инкапсуляция может подпортить дело, а отражения - это дорого.
    Стоит ли вообще вспоминать, что даже с setAccessible использование отражений медленнее прямых вызовов?
    + Варианты, когда без редактирования кода не обойтись: скажем, конструктор или метод изменить, а Unsafe применять опасно.
     
  8. GoodCoder

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

    Баллы:
    76
    Какая ещё нагрузка? Команду что ли каждый тик вводить придётся? Не факт, что там рефлексия вообще понадобится, если на public всё.
     
  9. MaksGruw

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

    Баллы:
    103
    Ну тк я как раз про вариант "если не public".
    Не нагрузка, а именно потеря производительности. На эту тему есть такая статья: https://habr.com/ru/post/216435/
     
  10. GoodCoder

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

    Баллы:
    76
    Если тебя так ебет потеря производительности РЕДКО ИСПОЛЬЗУЕМОЙ команды, можно через ASM подправить модификаторы доступа. Многие моды так делают, чтобы не использовать рефлексии.
    Есть для тебя печальная новость: инвенты в bukkit через рефлексию вызываются, за тик таких вызовов может быть тысячи. Вот что должно тебя волновать, микроАптимизатор.
     
  11. MaksGruw

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

    Баллы:
    103
    [​IMG]
    Использование ASM лишь для редактирования модификаторов - это вообще отдельная тема "насколько везде говнокод и почему 1.12.2 - тормознутый ад". По-хорошему, адекватные разрабы такое называют костылем.
    Лично я не считаю, что ради "модификации модификации" нужно выпендриваться с ASM, отражениями и прочей ересью. Ало, мы простенькие моды пишем или показываем насколько мы крутые? Декомпильнуть и изменить непосредственно - это старый-добрый дедовский метод, без всякого выпендрежа "делаем крутой, современный говнокод, падающий при любом чихе, да еще и без обертки использования пакетов sun в try-catch".
    А переписывать bukkit равносильно изобретению велосипеда (тем более, увы, использование отражений оправдано использованием аннотаций).
    В любом случае, мы уже сильно отстранились от темы топика, поэтому надо б эту ветвь и закрыть.
     
    Последнее редактирование: 19 май 2019 в 21:42
  12. GoodCoder

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

    Баллы:
    76
    Иди это команде Forge расскажи. Там костылей и рефлексий завались, что на Java 12 майн уже не запускается.
     

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