- 28
- 2
- 3
Нужно:
Увеличить максимальное здоровье игрока до 30 в режиме выживания.
Пробовал через @Inject и MinecraftClient - безрезультно.
Такое запускается но не дает желаемое:
Остановился на этом, оно крашится при запуске, но выглядит наиболее подходящим:
Ошибка:
[m[34m[11:01:53][m [31m[Render thread/ERROR][m [36m(FabricLoader/Mixin)[m [31mMixin apply for mod stiks_mod failed stiks_mod.mixins.json:HudMixin from mod stiks_mod -> net.minecraft.client.gui.hud.InGameHud: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
[m org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
Увеличить максимальное здоровье игрока до 30 в режиме выживания.
Пробовал через @Inject и MinecraftClient - безрезультно.
Такое запускается но не дает желаемое:
Java:
import net.djjoyyes.stiks.STIKS_Mod;
import net.minecraft.entity.player.PlayerEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@Mixin(PlayerEntity.class)
public abstract class MixinPlayerEntity {
// Метод, который изменяет максимальное здоровье (30 вместо стандартных 20)
@ModifyVariable(
method = "<init>(Lnet/minecraft/entity/Type;Lnet/minecraft/world/World;)V",
at = @At("HEAD"),
ordinal = 0
)
private static float modifyMaxHealth(float originalValue) {
STIKS_Mod.LOGGER.info("MAXHP30");
return 30.0F;
}
}
Остановился на этом, оно крашится при запуске, но выглядит наиболее подходящим:
Java:
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.entity.player.PlayerEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@Mixin(InGameHud.class)
public class HudMixin {
@ModifyVariable(
method = "net/minecraft/entity/player/PlayerEntity;",
at = @At("HEAD"), ordinal = 0)
private void renderHealthBar(DrawContext dc, PlayerEntity player, int i1, int i2, int i3, int i4, float hp, int i5, int i6, int i7, boolean bool) {
//this.renderHealthBar(dc, player, i1, i2, i3, i4, 30.0F, i5, i6, i7, bool);
hp = 30.0F;
}
}
Ошибка:
[m[34m[11:01:53][m [31m[Render thread/ERROR][m [36m(FabricLoader/Mixin)[m [31mMixin apply for mod stiks_mod failed stiks_mod.mixins.json:HudMixin from mod stiks_mod -> net.minecraft.client.gui.hud.InGameHud: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
[m org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
- Краш-лог
[m[34m[11:01:53][m [31m[Render thread/ERROR][m [36m(FabricLoader/Mixin)[m [31mMixin apply for mod stiks_mod failed stiks_mod.mixins.json:HudMixin from mod stiks_mod -> net.minecraft.client.gui.hud.InGameHud: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
[m org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
Краш-лог:
[m[34m[11:01:53][m [31m[Render thread/ERROR][m [36m(FabricLoader/Mixin)[m [31mMixin apply for mod stiks_mod failed stiks_mod.mixins.json:HudMixin from mod stiks_mod -> net.minecraft.client.gui.hud.InGameHud: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]
[m org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @ModifyVariable annotation on renderHealthBar, has invalid target descriptor: Invalid owner: net/minecraft/entity/player/PlayerEntity;. No refMap loaded. [INJECT_PREPARE Applicator Phase -> stiks_mod.mixins.json:HudMixin from mod stiks_mod -> Prepare Injections -> localvar$zjb000$stiks_mod$renderHealthBar(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/entity/player/PlayerEntity;IIIIFIIIZ)V -> Parse -> -> Parse Selectors]