Начинающий
- Статус
- Оффлайн
- Регистрация
- 25 Фев 2024
- Сообщения
- 391
- Реакции
- 5
например у нас есть класс
Gui$HeartType
Если нам нужно его где либо использовать, делаем миксин:
если нам нужно получить из него что либо например NORMAL:
если из него вызвать метод надо какой либо, делаем класс абстрактным(чтобы не добать тело метода):
вот пример работы с внутренним классом
Gui$HeartType
Если нам нужно его где либо использовать, делаем миксин:
если нам нужно получить из него что либо например NORMAL:
если из него вызвать метод надо какой либо, делаем класс абстрактным(чтобы не добать тело метода):
вот пример работы с внутренним классом
Java:
package ru.apelsin.injections.render;
import net.minecraft.world.entity.player.Player;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import ru.apelsin.common.QuickImports;
import ru.apelsin.features.impl.render.NoRender;
@Mixin(targets = "net.minecraft.client.gui.Gui$HeartType")
public class GuiHeartTypeMixin implements QuickImports {
@Final
@Shadow
public static GuiHeartTypeMixin NORMAL;
@Inject(method = "forPlayer", at = @At("HEAD"), cancellable = true)
private static void forPlayer(Player player, CallbackInfoReturnable<GuiHeartTypeMixin> cir) {
NoRender noRender = client.getFeatureManager().getNoRender();
if (noRender.isState()
&& noRender.getHealthEffect().isState()) {
cir.setReturnValue(NORMAL);
}
}
}