Skip to content

Commit 6406b3e

Browse files
committed
✏️ Minor refactoring of mixins
1 parent 85a6518 commit 6406b3e

File tree

6 files changed

+18
-15
lines changed

6 files changed

+18
-15
lines changed

src/main/java/dev/isxander/controlify/mixins/feature/accessibility/LocalPlayerMixin.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package dev.isxander.controlify.mixins.feature.accessibility;
22

33
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
4-
import dev.isxander.controlify.Controlify;
54
import dev.isxander.controlify.InputMode;
5+
import dev.isxander.controlify.api.ControlifyApi;
66
import net.minecraft.client.player.LocalPlayer;
77
import org.spongepowered.asm.mixin.Mixin;
88
import org.spongepowered.asm.mixin.injection.At;
@@ -11,8 +11,10 @@
1111
public class LocalPlayerMixin {
1212
@ModifyExpressionValue(method = "sendPosition", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/OptionInstance;get()Ljava/lang/Object;"))
1313
private Object shouldUseAutoJump(Object keyboardAutoJump) {
14-
if (Controlify.instance().currentInputMode() == InputMode.CONTROLLER) {
15-
return Controlify.instance().currentController().config().autoJump;
14+
if (ControlifyApi.get().currentInputMode() == InputMode.CONTROLLER) {
15+
return ControlifyApi.get().getCurrentController()
16+
.map(controller -> controller.config().autoJump)
17+
.orElse(false);
1618
}
1719
return keyboardAutoJump;
1820
}

src/main/java/dev/isxander/controlify/mixins/feature/chatkbheight/ChatScreenMixin.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package dev.isxander.controlify.mixins.feature.chatkbheight;
22

33
import dev.isxander.controlify.Controlify;
4-
import dev.isxander.controlify.controller.Controller;
4+
import dev.isxander.controlify.api.ControlifyApi;
55
import net.minecraft.client.gui.GuiGraphics;
66
import net.minecraft.client.gui.screens.ChatScreen;
77
import net.minecraft.client.gui.screens.Screen;
@@ -22,8 +22,9 @@ protected ChatScreenMixin(Component title) {
2222
private void translateRender(GuiGraphics graphics, int mouseX, int mouseY, float delta, CallbackInfo ci) {
2323
graphics.pose().pushPose();
2424

25-
Controller<?, ?> controller = Controlify.instance().currentController();
26-
graphics.pose().translate(0, -controller.config().chatKeyboardHeight * this.height, 0);
25+
Controlify.instance().getCurrentController().ifPresent(c -> {
26+
graphics.pose().translate(0, -c.config().chatKeyboardHeight * this.height, 0);
27+
});
2728
}
2829

2930
@Inject(method = "render", at = @At("TAIL"))
@@ -33,7 +34,7 @@ private void finishTranslateRender(GuiGraphics graphics, int mouseX, int mouseY,
3334

3435
@ModifyVariable(method = "mouseClicked", at = @At("HEAD"), ordinal = 1, argsOnly = true)
3536
private double modifyClickY(double original) {
36-
Controller<?, ?> controller = Controlify.instance().currentController();
37-
return original + controller.config().chatKeyboardHeight * this.height;
37+
float yOffset = ControlifyApi.get().getCurrentController().map(c -> c.config().chatKeyboardHeight * this.height).orElse(0f);
38+
return original + yOffset;
3839
}
3940
}

src/main/java/dev/isxander/controlify/mixins/feature/guide/ingame/ClientPacketListenerMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ private void buttonGuideRespawn(ClientboundRespawnPacket packet, CallbackInfo ci
3131

3232
private void initButtonGuide() {
3333
if (Controlify.instance().currentInputMode() == InputMode.CONTROLLER && minecraft.player != null)
34-
Controlify.instance().inGameButtonGuide = new InGameButtonGuide(Controlify.instance().currentController(), minecraft.player);
34+
Controlify.instance().inGameButtonGuide = new InGameButtonGuide(Controlify.instance().getCurrentController().orElseThrow(), minecraft.player);
3535
}
3636
}

src/main/java/dev/isxander/controlify/mixins/feature/guide/ingame/GuiMixin.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package dev.isxander.controlify.mixins.feature.guide.ingame;
22

3-
import com.mojang.blaze3d.vertex.PoseStack;
43
import dev.isxander.controlify.Controlify;
54
import dev.isxander.controlify.gui.guide.InGameButtonGuide;
65
import net.minecraft.client.Minecraft;

src/main/java/dev/isxander/controlify/mixins/feature/guide/screen/AbstractButtonMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ private boolean shouldRender() {
6767
return renderData != null
6868
&& this.isActive()
6969
&& Controlify.instance().currentInputMode() == InputMode.CONTROLLER
70-
&& Controlify.instance().currentController().config().showScreenGuide
70+
&& Controlify.instance().getCurrentController().map(c -> c.config().showScreenGuide).orElse(false)
7171
&& !renderData.binding().apply(Controlify.instance().currentController().bindings()).isUnbound()
7272
&& renderData.renderPredicate().shouldDisplay((AbstractButton) (Object) this);
7373
}

src/main/java/dev/isxander/controlify/mixins/feature/guide/screen/TabNavigationBarMixin.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ public class TabNavigationBarMixin {
2626
@Inject(method = "render", at = @At("RETURN"))
2727
private void renderControllerButtonOverlay(GuiGraphics graphics, int mouseX, int mouseY, float delta, CallbackInfo ci) {
2828
if (Controlify.instance().currentInputMode() == InputMode.CONTROLLER) {
29-
var controller = Controlify.instance().currentController();
30-
if (controller.config().showScreenGuide) {
31-
this.renderControllerButtonOverlay(graphics, controller);
32-
}
29+
Controlify.instance().getCurrentController().ifPresent(c -> {
30+
if (c.config().showScreenGuide) {
31+
this.renderControllerButtonOverlay(graphics, c);
32+
}
33+
});
3334
}
3435
}
3536

0 commit comments

Comments
 (0)