diff --git a/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/nice_level/LevelLoadingScreenMixin.java b/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/nice_level/LevelLoadingScreenMixin.java deleted file mode 100644 index 87186156..00000000 --- a/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/nice_level/LevelLoadingScreenMixin.java +++ /dev/null @@ -1,20 +0,0 @@ -package dev.zenfyr.andromeda.modules.misc.unknown.mixin.nice_level; - -import dev.zenfyr.andromeda.bootstrap.util.mixin.MixinEnvironment; -import net.fabricmc.api.EnvType; -import net.minecraft.client.gui.screens.LevelLoadingScreen; -import org.spongepowered.asm.mixin.Mixin; - -@MixinEnvironment(EnvType.CLIENT) -@Mixin(LevelLoadingScreen.class) -abstract class LevelLoadingScreenMixin { - - // TODO: find a new injection point - // @ModifyReturnValue(at = @At("RETURN"), method = "getFormattedProgress") - // private String andromeda$getPercentage(String o) { - // if (Objects.equals(o, "69%")) { - // return "Nice%"; - // } - // return o; - // } -} diff --git a/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/useless_info/DebugHudMixin.java b/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/useless_info/DebugHudMixin.java index 315e4e25..30a14c09 100644 --- a/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/useless_info/DebugHudMixin.java +++ b/src/main/java/dev/zenfyr/andromeda/modules/misc/unknown/mixin/useless_info/DebugHudMixin.java @@ -1,35 +1,46 @@ package dev.zenfyr.andromeda.modules.misc.unknown.mixin.useless_info; +import com.llamalad7.mixinextras.sugar.Local; import dev.zenfyr.andromeda.bootstrap.util.mixin.MixinEnvironment; import dev.zenfyr.pulsar.util.functions.Memoize; +import java.util.List; import java.util.function.Supplier; import net.fabricmc.api.EnvType; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.DebugScreenOverlay; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @MixinEnvironment(EnvType.CLIENT) @Mixin(DebugScreenOverlay.class) abstract class DebugHudMixin { + @Shadow + @Final + private Minecraft minecraft; + @Unique private static final Supplier SPLASH = Memoize.supplier(() -> { var r = Minecraft.getInstance().getSplashManager().getSplash(); return r != null ? r.splash : null; }); // TODO: find new injection point - // @Inject( - // at = - // @At( - // value = "INVOKE", - // target = - // - // "Lnet/minecraft/client/gui/components/DebugScreenOverlay;getServerChunkStats()Ljava/lang/String;", - // shift = At.Shift.BEFORE), - // method = "getGameInformation") - // private void andromeda$leftText( - // CallbackInfoReturnable> cir, @Local List list) { - // if (SPLASH.get() != null) list.add(SPLASH.get()); - // } + @Inject( + at = + @At( + value = "INVOKE", + target = "Ljava/util/List;isEmpty()Z", + ordinal = 0, + shift = At.Shift.BEFORE), + method = "render") + private void andromeda$leftText( + GuiGraphics guiGraphics, CallbackInfo ci, @Local(index = 5) List list) { + if (this.minecraft.debugEntries.isF3Visible() && SPLASH.get() != null) list.add(SPLASH.get()); + } }