Результаты поиска

  1. Angelok

    [ASM] С какой инструкции началась загрузка данных в стек до вызова метода?

    Именно так и сделал уже. "Догрузил" через *LOAD`ы ссылку на объект метода + параметры из метода в стек и заменить инвок метода на инвок своего статика, где "исправил" логику, добавив проверки. Тут проблема бывает лишь 1, когда нужно будет внешне обратиться к приватному/защищённому методу...
  2. Angelok

    [ASM] С какой инструкции началась загрузка данных в стек до вызова метода?

    Про поп вариант интересный, посмотрю. Я же почтим таким способом и пользуюсь. -Dlegacy.debugClassLoading=true -Dlegacy.debugClassLoadingSave=true в аргументах запуска заставляет Forge сохранять class`ы с байткодом после всех трансформеров из сборки, в которой был загружен сервер. Это я знаю...
  3. Angelok

    [ASM] С какой инструкции началась загрузка данных в стек до вызова метода?

    Добрый день всем. Вообщем, нужна помощь с ASM`ом. Мне иногда нужно полностью удалить вызов X метода (INVOKE_...) из метода, который я "исправляю". Чтобы это сделать, мне нужно узнать с какой инструкции началась загрузка данных в стек до вызова этого метода, дабы эти инструкции также стереть...
  4. Angelok

    Логическая прозрачность блока

    На сколько я помню этот метод возвращает число. Сколько мне нужно вернуть чтобы мой блок был непрозрачный и сколько чтобы на оборот - был прорачным?
  5. Angelok

    Логическая прозрачность блока

    Всем привет, есть вопрос, над которым уже бьюсь не 1 день, а решить самому не выходит, по этому прошу помощи у знатоков. Вообщем, есть метод World#canBlockSeeSky(), который проверяет есть ли "непрозрачные" блоки над указанными координатами до самого неба. Мне надо понять, за счёт каких методов в...
  6. Angelok

    Ивенты на клиенте?

    Всем привет. Мне нужно слушать некоторые ивенты на клиенте, но у меня не выходит. Возможно ли это вообще? На текущий момент требуются следующие события: PlayerEvent.StopTracking, ChunkWatchEvent.UnWatch, LivingDeathEvent, BlockEvent.BreakEvent...
  7. Angelok

    [ServerSide] На кого смотрит игрок?

    Пока что изобрёл свой велосипед на эту тему. Вроде робит. Как найду время - посмотрю твой и заменю своё.
  8. Angelok

    [ServerSide] На кого смотрит игрок?

    Ну в принципе "добился" своей цели - получать таргет зрения игрока. Но работает очень даже криво, особенно с обнаружением блоков (не верные координаты блока смотрит скорее всего, видимо нужно как-то по другому округлять дабл координаты в int`овские при поиске блока) public static...
  9. Angelok

    [ServerSide] На кого смотрит игрок?

    UPD: Вообщем остановился пока на вот таком коде, костылил сам, уверен что код плохой, но +- рабочий. Единственно вопрос, что делать с размерами моба? Не все же мобы в 2 блока размером, есть значительно выше (а иногда и толще) ентити. Как их "уловить"? Если говорить о ваниле - то возмём к примеру...
  10. Angelok

    [ServerSide] На кого смотрит игрок?

    Короче попытался что-то сделать на примерах что ты кинул. По идеи правильно (и то не уверен) но мне нужно на каждую итерацию цикла while сдвигать AABB на 1 блок по взгляду игрока (то есть прибавлять x, y или z на 1 или -1). Как мне узнать какую переменную надо менять и как именно (инкремент или...
  11. Angelok

    [ServerSide] На кого смотрит игрок?

    Также ещё есть "неправильные" блоки (пьедесталы таума, плиты и т.п.) у которых хитбокс не куб. Это тоже приносит проблемы.
  12. Angelok

    [ServerSide] На кого смотрит игрок?

    Нужно найти самого ближайшего ентити к игроку и чтоб игрок его видел (меж ними не было блоков и расстояние не более 5)
  13. Angelok

    [ServerSide] На кого смотрит игрок?

    Ну примерно я понял. Я просто не дружу с векторами, так что... Плоховато дело. Надеюсь что-нибудь всё же скостыляю.
  14. Angelok

    [ServerSide] На кого смотрит игрок?

    Всем привет. Да, знаю, похожая тема была, но про блок, на который смотрит игрок. Мне же нужно точно тоже самое на серверсайде, но искать нужно и ентити и блок. Вот кусок кода, который я нашёл где-то на этом форуме: public static MovingObjectPosition getTarget(EntityPlayer player) { int...
  15. Angelok

    ASM и Minecraft обфускация

    Нету, но по сурсам игры нашёл другое решение. Главный класс, где мы регистрируем ASM трансформеры (и путь к которому пишем в манифесте мода) имеет метод injectData и передаёт Map. В этой мапе по опред. ключу есть булева deobfuscatedEnvironment. Ключ можно в сурсах посмотреть. Правда пока на ту...
  16. Angelok

    ASM и Minecraft обфускация

    Это совершенно не поможет. Такое только в рантайме годится ибо под капотом идёт просто подбор "правильного" названия филды (если ты про геттеры полей) + ещё будет ранняя попытка обратиться к классу (из этого хелпера), который ещё на этапе ASM модификации и не загрузился в JVM - краш. Такого...
  17. Angelok

    ASM и Minecraft обфускация

    Всем привет. Есть такой вопрос, который я всё время решал раньше костылём и, в принципе, было прекрасно. Но вот что-то сегодня этот костыль не прокатил. Вообщем вот есть кусок кода, комментарием помечен мой костыль: public class MyASMHook implements IClassTransformer { @Override public...
  18. Angelok

    ASM инжект в конструктор

    Хмм, можно примерчик вставки кода в старт конструктора?
  19. Angelok

    ASM инжект в конструктор

    Мне надо делать то, что не поддерживает хуклиба от глуми, по этому и прошу помощи с поиском "конца" вызова супер/зис конструктора, дабы не получился краш с Bad type operand из-за выполнения кода до вызова конструктора
  20. Angelok

    ASM инжект в конструктор

    Всем привет. Нужна помощь по ASM. Вообщем проблема заключается в том, что нельзя вставить код до вызова this() / super() конструктора в конструкторе, а значит нужно найти "конец" вызова этого конструктора. (Основная моя цель - вставить код в начало конструктора, тобишь после вызова this() /...
Назад
Сверху