Compare commits

..

4 Commits

Author SHA1 Message Date
Martin Prokoph
54a43d41c0 chore: bump version 2025-05-19 23:31:20 +02:00
Martin Prokoph
c86df8714c fix: crash on NeoForge 1.21.5 2025-05-19 23:30:06 +02:00
Martin Prokoph
ccad5e1d44 clean: remove GlStateManager calls 2025-05-19 23:14:17 +02:00
Martin Prokoph
58fa3b5bc1 Merge pull request #350 from TeamMidnightDust/feat/virtual-keyboard
feat: virtual keyboard support!
2025-05-19 23:12:39 +02:00
5 changed files with 6 additions and 13 deletions

View File

@@ -72,7 +72,7 @@ public class MidnightControlsClient extends MidnightControls {
public static final Identifier WAYLAND_CURSOR_TEXTURE_LIGHT = id("cursor/light/mouse_pointer"); public static final Identifier WAYLAND_CURSOR_TEXTURE_LIGHT = id("cursor/light/mouse_pointer");
public static final Identifier WAYLAND_CURSOR_TEXTURE_DARK = id("cursor/dark/mouse_pointer"); public static final Identifier WAYLAND_CURSOR_TEXTURE_DARK = id("cursor/dark/mouse_pointer");
public static final File MAPPINGS_FILE = new File("config/gamecontrollercustommappings.txt"); public static final File MAPPINGS_FILE = new File("config/gamecontrollercustommappings.txt");
public static final MinecraftClient client = MinecraftClient.getInstance(); public static MinecraftClient client = MinecraftClient.getInstance();
public static final MidnightInput input = new MidnightInput(); public static final MidnightInput input = new MidnightInput();
public static final MidnightRing ring = new MidnightRing(); public static final MidnightRing ring = new MidnightRing();
public static final MidnightReacharound reacharound = new MidnightReacharound(); public static final MidnightReacharound reacharound = new MidnightReacharound();
@@ -82,6 +82,7 @@ public class MidnightControlsClient extends MidnightControls {
private static ControlsMode previousControlsMode; private static ControlsMode previousControlsMode;
public static void initClient() { public static void initClient() {
client = MinecraftClient.getInstance();
ring.registerAction("buttonbinding", ButtonBindingRingAction.FACTORY); ring.registerAction("buttonbinding", ButtonBindingRingAction.FACTORY);
int delay = 0; // delay for 0 sec. int delay = 0; // delay for 0 sec.
@@ -211,6 +212,7 @@ public class MidnightControlsClient extends MidnightControls {
* Called when opening a screen. * Called when opening a screen.
*/ */
public static void onScreenOpen(Screen screen) { public static void onScreenOpen(Screen screen) {
client = MinecraftClient.getInstance();
if (screen == null && MidnightControlsConfig.controlsMode == ControlsMode.TOUCHSCREEN) { if (screen == null && MidnightControlsConfig.controlsMode == ControlsMode.TOUCHSCREEN) {
screen = new TouchscreenOverlay(); screen = new TouchscreenOverlay();
screen.init(client, client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight()); screen.init(client, client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight());

View File

@@ -10,7 +10,6 @@
package eu.midnightdust.midnightcontrols.client.gui; package eu.midnightdust.midnightcontrols.client.gui;
import eu.midnightdust.midnightcontrols.ControlsMode; import eu.midnightdust.midnightcontrols.ControlsMode;
import eu.midnightdust.midnightcontrols.MidnightControlsConstants;
import eu.midnightdust.midnightcontrols.client.enums.HudSide; import eu.midnightdust.midnightcontrols.client.enums.HudSide;
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient; import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig; import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
@@ -24,7 +23,6 @@ import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult; import net.minecraft.util.hit.HitResult;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -40,7 +38,7 @@ import static eu.midnightdust.midnightcontrols.MidnightControls.id;
* @since 1.0.0 * @since 1.0.0
*/ */
public class MidnightControlsHud extends Hud { public class MidnightControlsHud extends Hud {
private final MinecraftClient client = MinecraftClient.getInstance(); private MinecraftClient client = MinecraftClient.getInstance();
private int attackWidth = 0; private int attackWidth = 0;
private int attackButtonWidth = 0; private int attackButtonWidth = 0;
private int dropItemWidth = 0; private int dropItemWidth = 0;
@@ -63,6 +61,7 @@ public class MidnightControlsHud extends Hud {
@Override @Override
public void init(@NotNull MinecraftClient client, int screenWidth, int screenHeight) { public void init(@NotNull MinecraftClient client, int screenWidth, int screenHeight) {
this.client = MinecraftClient.getInstance();
super.init(client, screenWidth, screenHeight); super.init(client, screenWidth, screenHeight);
this.inventoryWidth = this.width(ButtonBinding.INVENTORY); this.inventoryWidth = this.width(ButtonBinding.INVENTORY);
this.inventoryButtonWidth = MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.INVENTORY); this.inventoryButtonWidth = MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.INVENTORY);

View File

@@ -9,8 +9,6 @@
package eu.midnightdust.midnightcontrols.client.gui; package eu.midnightdust.midnightcontrols.client.gui;
import com.mojang.blaze3d.opengl.GlStateManager;
import com.mojang.blaze3d.platform.GLX;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
import eu.midnightdust.midnightcontrols.ControlsMode; import eu.midnightdust.midnightcontrols.ControlsMode;
import eu.midnightdust.midnightcontrols.client.enums.ControllerType; import eu.midnightdust.midnightcontrols.client.enums.ControllerType;
@@ -171,8 +169,6 @@ public class MidnightControlsRenderer {
case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 100, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 200 -> buttonOffset = 10 * 15; case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 100, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 200 -> buttonOffset = 10 * 15;
} }
GlStateManager._disableDepthTest();
int assetSize = axis || (button >= 15 && button <= 18) ? AXIS_SIZE : BUTTON_SIZE; int assetSize = axis || (button >= 15 && button <= 18) ? AXIS_SIZE : BUTTON_SIZE;
RenderSystem.setShaderColor(1.f, second ? 0.f : 1.f, 1.f, 1.f); RenderSystem.setShaderColor(1.f, second ? 0.f : 1.f, 1.f, 1.f);
@@ -181,7 +177,6 @@ public class MidnightControlsRenderer {
(float) buttonOffset, (float) (controllerType * assetSize), (float) buttonOffset, (float) (controllerType * assetSize),
assetSize, assetSize, assetSize, assetSize,
256, 256); 256, 256);
GlStateManager._enableDepthTest();
return ICON_SIZE; return ICON_SIZE;
} }

View File

@@ -528,13 +528,10 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
float g = (float)(color.getGreen()) / 255.0F; float g = (float)(color.getGreen()) / 255.0F;
float b = (float)(color.getBlue()) / 255.0F; float b = (float)(color.getBlue()) / 255.0F;
float t = (float)(transparency) / 255.0F; float t = (float)(transparency) / 255.0F;
GlStateManager._enableBlend();
//GlStateManager._defaultBlendFunc();
vertexConsumer.vertex((float)x1, (float)y2, 0.0F).color(r, g, b, t); vertexConsumer.vertex((float)x1, (float)y2, 0.0F).color(r, g, b, t);
vertexConsumer.vertex((float)x2, (float)y2, 0.0F).color(r, g, b, t); vertexConsumer.vertex((float)x2, (float)y2, 0.0F).color(r, g, b, t);
vertexConsumer.vertex((float)x2, (float)y1, 0.0F).color(r, g, b, t); vertexConsumer.vertex((float)x2, (float)y1, 0.0F).color(r, g, b, t);
vertexConsumer.vertex((float)x1, (float)y1, 0.0F).color(r, g, b, t); vertexConsumer.vertex((float)x1, (float)y1, 0.0F).color(r, g, b, t);
GlStateManager._disableBlend();
context.draw(); context.draw();
} }
} }

View File

@@ -8,7 +8,7 @@ yarn_mappings=1.21.5+build.1
enabled_platforms=fabric,neoforge enabled_platforms=fabric,neoforge
archives_base_name=midnightcontrols archives_base_name=midnightcontrols
mod_version=1.10.6 mod_version=1.11.0
maven_group=eu.midnightdust maven_group=eu.midnightdust
release_type=release release_type=release
modrinth_id = bXX9h73M modrinth_id = bXX9h73M