First steps to 1.0.0

- Fix modmenu compat
- Better Puzzle settings button based on MidnightLib
- Partially fix puzzle-splashscreen
This commit is contained in:
Motschen
2021-11-14 18:25:23 +01:00
parent c9b0e81f77
commit 92439549cc
22 changed files with 279 additions and 258 deletions

View File

@@ -1,9 +1,11 @@
package net.puzzlemc.gui.mixin;
import eu.midnightdust.lib.util.screen.TexturedOverlayButtonWidget;
import net.minecraft.util.Identifier;
import net.puzzlemc.gui.PuzzleClient;
import net.puzzlemc.gui.screen.PuzzleOptionsScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.option.OptionsScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import org.spongepowered.asm.mixin.Mixin;
@@ -15,15 +17,16 @@ import java.util.Objects;
@Mixin(OptionsScreen.class)
public class MixinOptionsScreen extends Screen {
private static final Identifier PUZZLE_ICON_TEXTURE = new Identifier(PuzzleClient.id, "textures/gui/puzzle_button.png");
protected MixinOptionsScreen(Text title) {
super(title);
}
@Inject(at = @At("TAIL"),method = "init")
public void init(CallbackInfo ci) {
PuzzleOptionsScreen puzzleScreen = new PuzzleOptionsScreen(this);
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155, this.height / 6 + 144 - 6, 150, 20, new TranslatableText("puzzle.screen.title").append("..."), (button) -> Objects.requireNonNull(this.client).setScreen(puzzleScreen)));
@Inject(at = @At("HEAD"), method = "init")
private void midnightlib$init(CallbackInfo ci) {
this.addDrawableChild(new TexturedOverlayButtonWidget(this.width / 2 - 178, this.height / 6 - 12, 20, 20, 0, 0, 20, PUZZLE_ICON_TEXTURE, 32, 64, (buttonWidget) -> {
(Objects.requireNonNull(this.client)).setScreen(new PuzzleOptionsScreen(this));
}, new TranslatableText("midnightlib.overview.title")));
}
}