Проблемка с АТ

Версия Minecraft
1.16.5
4,045
63
645
Пытаюсь трансформерами открыть метод renderSlot() в ContainerScreen-е.
Полазил по маппингам, нашёл целых три обфусцированных имени (func_184044_a, func_238530_a_ и func_184044_a);
Однако ни одно из них не сработало.

Даже и не знаю, что делать...
Пробовал и так:
public net.minecraft.client.gui.screen.inventory.ContainerScreen func_184044_a(Lcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/inventory/container/Slot;)V
И даже так:
public net.minecraft.client.gui.screen.inventory.ContainerScreen *()

Ноль реакции...
Класс абстрактный, если что... Неужели с абстрактными трансформеры не работают?
 

will0376

Токсичная личность
2,077
55
585
Еще возможно, что это класс/метод/абстракция от форджи... АТ с ними не умеет работать(тогда нахрен вообще АТ нужен??)
Как вариант - можно реализовать абстракцию у себя в классе и миксинами/хуками/как-нибудь заменить ссылки переменных на твой...
 
Последнее редактирование:
57
2
0
1. Я про него и говорил
2. Я смотрел старые джавадоки, он таки позволяет найти метод. Вот код:
Java:
Method privateMethod = ObfuscationReflectionHelper.findMethod(ContainerScreen.class, "renderSlot", [класс возврата].class, [параметр на вход].class, [еще параметры, если есть]);
int returnValue = (int)privateMethod.invoke(args);
 
Сверху