From 0138938da3575080f4b03f00994f42915ae6d716 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sat, 6 Jul 2019 19:17:46 +0200 Subject: [PATCH] Added a horsey button to the main menu. Now you can see if the mod is working :D --- .../com/minelittlepony/client/FabMod.java | 26 ++++++++++++++++++ .../minelittlepony/textures/gui/pony.png | Bin 0 -> 237 bytes 2 files changed, 26 insertions(+) create mode 100644 src/main/resources/assets/minelittlepony/textures/gui/pony.png diff --git a/src/main/java/com/minelittlepony/client/FabMod.java b/src/main/java/com/minelittlepony/client/FabMod.java index 0edda35f..a38423ff 100644 --- a/src/main/java/com/minelittlepony/client/FabMod.java +++ b/src/main/java/com/minelittlepony/client/FabMod.java @@ -3,8 +3,17 @@ package com.minelittlepony.client; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.event.client.ClientTickCallback; import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.TitleScreen; +import net.minecraft.util.Identifier; +import com.minelittlepony.client.gui.GuiPonySettings; import com.minelittlepony.client.hdskins.IndirectHDSkins; +import com.minelittlepony.common.client.gui.element.Button; +import com.minelittlepony.common.client.gui.sprite.TextureSprite; +import com.minelittlepony.common.client.gui.style.Style; +import com.minelittlepony.common.event.ScreenInitCallback; public class FabMod implements ClientModInitializer { @@ -14,9 +23,26 @@ public class FabMod implements ClientModInitializer { ClientReadyCallback.Handler.register(); ClientTickCallback.EVENT.register(mlp::onTick); ClientReadyCallback.EVENT.register(mlp::postInit); + ScreenInitCallback.EVENT.register(this::onScreenInit); if (FabricLoader.getInstance().isModLoaded("hdskins")) { IndirectHDSkins.initialize(); } } + + private void onScreenInit(Screen screen, ScreenInitCallback.ButtonList buttons) { + if (screen instanceof TitleScreen) { + int y = FabricLoader.getInstance().isModLoaded("hdskins") ? 80 : 50; + + buttons.add(new Button(screen.width - 50, screen.height - y, 20, 20).onClick(sender -> { + MinecraftClient.getInstance().openScreen(new GuiPonySettings()); + }).setStyle(new Style() + .setIcon(new TextureSprite() + .setPosition(2, 2) + .setTexture(new Identifier("minelittlepony", "textures/gui/pony.png")) + .setTextureSize(16, 16) + .setSize(16, 16)) + )); + } + } } diff --git a/src/main/resources/assets/minelittlepony/textures/gui/pony.png b/src/main/resources/assets/minelittlepony/textures/gui/pony.png new file mode 100644 index 0000000000000000000000000000000000000000..0f24403984806e760acff8e07406cbeaf14cb019 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5apa)5S5w;`Gsp)_eyPc%0v^(w;MI-Xh!FqJ|PhAz%A1 z#$P;nB$6TxKbYs}r=`typJdy-P&O