1
0
forked from Clones/Controlify

TitleScreen and OptionsScreen guides

This commit is contained in:
isXander
2023-05-14 22:51:25 +01:00
parent 8dd2cd181e
commit c552667985
6 changed files with 164 additions and 0 deletions

View File

@ -0,0 +1,24 @@
package dev.isxander.controlify.mixins.feature.screenop.vanilla;
import dev.isxander.controlify.screenop.ScreenProcessor;
import dev.isxander.controlify.screenop.ScreenProcessorProvider;
import dev.isxander.controlify.screenop.compat.vanilla.PauseScreenProcessor;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.screens.PauseScreen;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
@Mixin(PauseScreen.class)
public class PauseScreenMixin implements ScreenProcessorProvider {
@Shadow private @Nullable Button disconnectButton;
@Unique private final PauseScreenProcessor processor
= new PauseScreenProcessor((PauseScreen) (Object) this, () -> disconnectButton);
@Override
public ScreenProcessor<?> screenProcessor() {
return processor;
}
}

View File

@ -0,0 +1,19 @@
package dev.isxander.controlify.mixins.feature.screenop.vanilla;
import dev.isxander.controlify.screenop.ScreenProcessor;
import dev.isxander.controlify.screenop.ScreenProcessorProvider;
import dev.isxander.controlify.screenop.compat.vanilla.TitleScreenProcessor;
import net.minecraft.client.gui.screens.TitleScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
@Mixin(TitleScreen.class)
public class TitleScreenMixin implements ScreenProcessorProvider {
@Unique private final ScreenProcessor<?> processor
= new TitleScreenProcessor((TitleScreen) (Object) this);
@Override
public ScreenProcessor<?> screenProcessor() {
return processor;
}
}