Added a button to access MineLP's settings from the skin uploader

This commit is contained in:
Sollace 2021-05-17 23:27:21 +02:00
parent b7402c5f2b
commit 228ab92fce
5 changed files with 29 additions and 5 deletions

View file

@ -19,5 +19,5 @@ org.gradle.daemon=false
# Dependencies # Dependencies
modmenu_version=1.15.+ modmenu_version=1.15.+
kirin_version=1.8.2-21w19a-SNAPSHOT kirin_version=1.8.2-21w19a-SNAPSHOT
hd_skins_version=6.4.1-21w19a-SNAPSHOT hd_skins_version=6.4.2-21w19a-SNAPSHOT
mson_version=1.3.2-21w19a-SNAPSHOT mson_version=1.3.2-21w19a-SNAPSHOT

View file

@ -136,7 +136,7 @@ public class GuiPonySettings extends GameGui {
row += 15; row += 15;
content.addButton(new Label(RIGHT, row)).getStyle().setText("minelp.options.skins"); content.addButton(new Label(RIGHT, row)).getStyle().setText("minelp.options.skins");
SkinsProxy.instance.renderOption(this, row, RIGHT, content); SkinsProxy.instance.renderOption(this, parent, row, RIGHT, content);
} }
public TranslatableText describeCurrentScale(AbstractSlider<Float> sender) { public TranslatableText describeCurrentScale(AbstractSlider<Float> sender) {

View file

@ -33,7 +33,7 @@ public class SkinsProxy {
return skins.loadSkin(texture, MinecraftProfileTexture.Type.SKIN); return skins.loadSkin(texture, MinecraftProfileTexture.Type.SKIN);
} }
public void renderOption(Screen parent, int row, int RIGHT, ScrollContainer content) { public void renderOption(Screen screen, @Nullable Screen parent, int row, int RIGHT, ScrollContainer content) {
content.addButton(new Button(RIGHT, row += 20, 150, 20)) content.addButton(new Button(RIGHT, row += 20, 150, 20))
.setEnabled(false) .setEnabled(false)
.getStyle() .getStyle()

View file

@ -1,7 +1,10 @@
package com.minelittlepony.client.hdskins; package com.minelittlepony.client.hdskins;
import com.minelittlepony.api.pony.IPonyManager; import com.minelittlepony.api.pony.IPonyManager;
import com.minelittlepony.client.GuiPonySettings;
import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.MineLittlePony;
import com.minelittlepony.common.client.gui.element.Button;
import com.minelittlepony.common.client.gui.sprite.TextureSprite;
import com.minelittlepony.hdskins.client.dummy.PlayerPreview; import com.minelittlepony.hdskins.client.dummy.PlayerPreview;
import com.minelittlepony.hdskins.client.gui.GuiSkins; import com.minelittlepony.hdskins.client.gui.GuiSkins;
import com.minelittlepony.hdskins.server.SkinServerList; import com.minelittlepony.hdskins.server.SkinServerList;
@ -28,6 +31,23 @@ class GuiSkinsMineLP extends GuiSkins {
super(parent, servers); super(parent, servers);
} }
@Override
public void init() {
super.init();
if (!(parent instanceof GuiPonySettings)) {
addButton(new Button(width - 25, height - 90, 20, 20))
.onClick(sender -> client.openScreen(new GuiPonySettings(this)))
.getStyle()
.setIcon(new TextureSprite()
.setPosition(2, 2)
.setTexture(new Identifier("minelittlepony", "textures/gui/pony.png"))
.setTextureSize(16, 16)
.setSize(16, 16))
.setTooltip("minelp.options.title", 0, 10);
}
}
@Override @Override
public PlayerPreview createPreviewer() { public PlayerPreview createPreviewer() {
return new PonyPreview(); return new PonyPreview();

View file

@ -16,6 +16,8 @@ import com.minelittlepony.hdskins.profile.SkinType;
import com.mojang.authlib.GameProfile; import com.mojang.authlib.GameProfile;
import javax.annotation.Nullable;
import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.ClientModInitializer;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
@ -51,9 +53,11 @@ public class MineLPHDSkins extends SkinsProxy implements ClientModInitializer {
} }
@Override @Override
public void renderOption(Screen parent, int row, int RIGHT, ScrollContainer content) { public void renderOption(Screen screen, @Nullable Screen parent, int row, int RIGHT, ScrollContainer content) {
content.addButton(new Button(RIGHT, row += 20, 150, 20)) content.addButton(new Button(RIGHT, row += 20, 150, 20))
.onClick(button -> MinecraftClient.getInstance().openScreen(GuiSkins.create(parent, HDSkins.getInstance().getSkinServerList()))) .onClick(button -> MinecraftClient.getInstance().openScreen(
parent instanceof GuiSkins ? parent : GuiSkins.create(screen, HDSkins.getInstance().getSkinServerList())
))
.getStyle() .getStyle()
.setText("minelp.options.skins.hdskins.open");; .setText("minelp.options.skins.hdskins.open");;
} }