This commit is contained in:
kawaiizenbo 2022-12-05 19:44:23 -07:00
parent 48a71a2259
commit b595b49d36
14 changed files with 192 additions and 172 deletions

View file

@ -0,0 +1,31 @@
package me.kawaiizenbo.moonlight.mixin;
import me.kawaiizenbo.moonlight.ui.AltManagerScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.text.Text;
@Mixin(MultiplayerScreen.class)
public class MultiplayerScreenMixin extends Screen
{
protected MultiplayerScreenMixin(Text title)
{
super(title);
}
@Inject(at = @At("TAIL"), method = "init")
private void altManagerButton(int y, int spacingY, CallbackInfo callbackInfo)
{
this.addDrawableChild(new ButtonWidget(this.width - 102, 2, 100, 20, Text.literal("Alt Manager"), (button) -> {
MinecraftClient.getInstance().setScreen(AltManagerScreen.INSTANCE);
})).active = true;
}
}

View file

@ -0,0 +1,56 @@
package me.kawaiizenbo.moonlight.mixin;
import me.kawaiizenbo.moonlight.Moonlight;
import me.kawaiizenbo.moonlight.ui.AltManagerScreen;
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.CallbackInfo;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Util;
import net.minecraft.util.math.MathHelper;
@Mixin(TitleScreen.class)
public abstract class TitleScreenMixin extends Screen
{
@Shadow
@Final
private boolean doBackgroundFade;
@Shadow
@Final
private long backgroundFadeStart;
public TitleScreenMixin()
{
super(null);
}
@Inject(at = @At("TAIL"), method = "render")
private void clientTag(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo info)
{
float f = this.doBackgroundFade ? (Util.getMeasuringTimeMs() - this.backgroundFadeStart) / 1000.0F : 1.0F;
float g = this.doBackgroundFade ? MathHelper.clamp(f - 1.0F, 0.0F, 1.0F) : 1.0F;
int l = MathHelper.ceil(g * 255.0F) << 24;
DrawableHelper.drawStringWithShadow(matrices, this.textRenderer, Moonlight.clientTag + " " + Moonlight.versionTag, 2, 2, 16777215 | l);
}
@Inject(at = @At("TAIL"), method = "init")
private void altManagerButton(int y, int spacingY, CallbackInfo callbackInfo)
{
this.addDrawableChild(new ButtonWidget(this.width - 102, 2, 100, 20, Text.literal("Alt Manager"), (button) -> {
MinecraftClient.getInstance().setScreen(AltManagerScreen.INSTANCE);
})).active = true;
}
}