Files
saturnclient/src/main/java/me/iipho3nix/iicapemod/mixin/TitleScreenMixin.java
T
2023-12-25 22:27:49 +03:00

42 lines
1.8 KiB
Java

package me.iipho3nix.iicapemod.mixin;
import me.iipho3nix.iicapemod.CapesMod;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.text.Text;
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;
@Mixin(TitleScreen.class)
@Environment(EnvType.CLIENT)
public class TitleScreenMixin extends Screen {
protected TitleScreenMixin(Text title) {
super(title);
}
@Inject(at = @At("TAIL"), method = "init")
private void init(CallbackInfo ci) {
this.addDrawableChild(ButtonWidget.builder(Text.literal("Change Cape"), (button) -> {
if (CapesMod.list.indexOf(CapesMod.cape) + 1 == CapesMod.list.size()) {
CapesMod.cape = CapesMod.list.get(0);
CapesMod.capeCacheIdentifier = null;
}else{
CapesMod.cape = CapesMod.list.get(CapesMod.list.indexOf(CapesMod.cape) + 1);
};
}).dimensions((this.width / 2) - 205, (this.height / 4) + 96, 100, 20).build());
}
@Inject(at = @At("TAIL"), method = "render")
private void render(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
context.drawText(textRenderer, "Cape: " + CapesMod.cape, 10, 10, 0xffffffff, true);
}
}