forked from Clones/Controlify
scrollable vmouse, YACL compat, toggle sneak/sprint, 22w06a, custom name
This commit is contained in:
@ -0,0 +1,19 @@
|
||||
package dev.isxander.controlify.mixins.compat.screen.vanilla;
|
||||
|
||||
import dev.isxander.controlify.compatibility.screen.component.ComponentProcessor;
|
||||
import dev.isxander.controlify.compatibility.screen.component.ComponentProcessorProvider;
|
||||
import dev.isxander.controlify.compatibility.vanilla.AbstractButtonComponentProcessor;
|
||||
import net.minecraft.client.gui.components.AbstractButton;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
@Mixin(AbstractButton.class)
|
||||
public class AbstractButtonMixin implements ComponentProcessorProvider {
|
||||
@Unique private final AbstractButtonComponentProcessor controlify$processor
|
||||
= new AbstractButtonComponentProcessor((AbstractButton) (Object) this);
|
||||
|
||||
@Override
|
||||
public ComponentProcessor componentProcessor() {
|
||||
return controlify$processor;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package dev.isxander.controlify.mixins.compat.screen.yacl;
|
||||
|
||||
import dev.isxander.controlify.compatibility.screen.component.ComponentProcessor;
|
||||
import dev.isxander.controlify.compatibility.screen.component.ComponentProcessorProvider;
|
||||
import dev.isxander.controlify.compatibility.yacl.CyclingControllerElementComponentProcessor;
|
||||
import dev.isxander.yacl.gui.controllers.cycling.CyclingControllerElement;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
@Mixin(CyclingControllerElement.class)
|
||||
public class CyclingControllerElementMixin implements ComponentProcessorProvider {
|
||||
@Unique private final CyclingControllerElementComponentProcessor controlify$processor
|
||||
= new CyclingControllerElementComponentProcessor((CyclingControllerElement) (Object) this);
|
||||
|
||||
@Override
|
||||
public ComponentProcessor componentProcessor() {
|
||||
return controlify$processor;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package dev.isxander.controlify.mixins.compat.screen.yacl;
|
||||
|
||||
import dev.isxander.controlify.compatibility.screen.component.ComponentProcessor;
|
||||
import dev.isxander.controlify.compatibility.screen.component.ComponentProcessorProvider;
|
||||
import dev.isxander.controlify.compatibility.yacl.SliderControllerElementComponentProcessor;
|
||||
import dev.isxander.yacl.gui.controllers.slider.SliderControllerElement;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
@Mixin(SliderControllerElement.class)
|
||||
public class SliderControllerElementMixin implements ComponentProcessorProvider {
|
||||
@Unique private final SliderControllerElementComponentProcessor controlify$processor
|
||||
= new SliderControllerElementComponentProcessor((SliderControllerElement) (Object) this);
|
||||
|
||||
@Override
|
||||
public ComponentProcessor componentProcessor() {
|
||||
return controlify$processor;
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package dev.isxander.controlify.mixins.compat.screen.yacl;
|
||||
|
||||
import dev.isxander.controlify.compatibility.screen.ScreenProcessor;
|
||||
import dev.isxander.controlify.compatibility.screen.ScreenProcessorProvider;
|
||||
import dev.isxander.controlify.compatibility.yacl.YACLScreenProcessor;
|
||||
import dev.isxander.yacl.gui.YACLScreen;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
@Mixin(YACLScreen.class)
|
||||
public class YACLScreenMixin implements ScreenProcessorProvider {
|
||||
@Unique private final YACLScreenProcessor controlify$processor = new YACLScreenProcessor((YACLScreen) (Object) this);
|
||||
|
||||
@Override
|
||||
public ScreenProcessor<?> screenProcessor() {
|
||||
return controlify$processor;
|
||||
}
|
||||
}
|
@ -24,6 +24,6 @@ public class ClientPacketListenerMixin {
|
||||
@Inject(method = "handleLogin", at = @At(value = "FIELD", target = "Lnet/minecraft/client/player/LocalPlayer;input:Lnet/minecraft/client/player/Input;", opcode = Opcodes.ASTORE, shift = At.Shift.AFTER))
|
||||
private void useControllerInput(ClientboundLoginPacket packet, CallbackInfo ci) {
|
||||
if (Controlify.instance().currentInputMode() == InputMode.CONTROLLER && minecraft.player != null)
|
||||
minecraft.player.input = new ControllerPlayerMovement(Controlify.instance().currentController());
|
||||
minecraft.player.input = new ControllerPlayerMovement(Controlify.instance().currentController(), minecraft.player);
|
||||
}
|
||||
}
|
||||
|
@ -9,4 +9,10 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
public interface KeyMappingAccessor {
|
||||
@Accessor
|
||||
InputConstants.Key getKey();
|
||||
|
||||
@Accessor
|
||||
void setIsDown(boolean down);
|
||||
|
||||
@Accessor
|
||||
boolean getIsDown();
|
||||
}
|
||||
|
Reference in New Issue
Block a user