Compare commits

..

2 Commits

Author SHA1 Message Date
Motschen
ce9495c79c Fix vanilla mouseScreens not working in production 2022-05-08 19:42:41 +02:00
Motschen
ff8270d18a MidnightControls 1.0.0 - Bedrock icon resourcepack
- Bring back Lambda-style XBox icons and add optional resourcepack for Bedrock-style icons (Closes #16)
- Make screens on which the controller behaves like a mouse configurable in the advanced config.
2022-05-08 18:46:46 +02:00
15 changed files with 39 additions and 9 deletions

View File

@@ -6,7 +6,7 @@
![Environment: Client](https://img.shields.io/badge/environment-client-1976d2?style=flat-square) ![Environment: Client](https://img.shields.io/badge/environment-client-1976d2?style=flat-square)
[![Mod loader: Quilt/Fabric]][quilt] <!-- modrinth_exclude.start --> [![Mod loader: Quilt/Fabric]][quilt] <!-- modrinth_exclude.start -->
[![Version](https://img.shields.io/github/v/tag/TeamMidnightDust/MidnightControls?label=version&style=flat-square)](https://github.com/TeamMidnightDust/MidnightControls/releases) [![Version](https://img.shields.io/github/v/tag/TeamMidnightDust/MidnightControls?label=version&style=flat-square)](https://github.com/TeamMidnightDust/MidnightControls/releases)
[![CurseForge](http://cf.way2muchnoise.eu/title/354231.svg)](https://www.curseforge.com/minecraft/mc-mods/midnightcontrols) [![CurseForge](http://cf.way2muchnoise.eu/title/621768.svg)](https://www.curseforge.com/minecraft/mc-mods/midnightcontrols)
<!-- modrinth_exclude.end --> <!-- modrinth_exclude.end -->
A Fabric Minecraft mod which adds better controls, reach-around and controller support. A Fabric Minecraft mod which adds better controls, reach-around and controller support.

View File

@@ -110,6 +110,7 @@ dependencies {
// modImplementation "io.github.ennuil:LibZoomer:${project.libzoomer_version}" // modImplementation "io.github.ennuil:LibZoomer:${project.libzoomer_version}"
modImplementation "org.quiltmc:quilt-json5:1.0.0" modImplementation "org.quiltmc:quilt-json5:1.0.0"
//modImplementation "maven.modrinth:sodium:${project.sodium_version}"
modImplementation("me.shedaniel:RoughlyEnoughItems-runtime-fabric:${project.rei_version}") modImplementation("me.shedaniel:RoughlyEnoughItems-runtime-fabric:${project.rei_version}")
modImplementation "maven.modrinth:emotecraft:${project.emotecraft_version}" modImplementation "maven.modrinth:emotecraft:${project.emotecraft_version}"
modImplementation "io.github.kosmx:bendy-lib:${project.bendylib_version}" modImplementation "io.github.kosmx:bendy-lib:${project.bendylib_version}"

View File

@@ -8,7 +8,7 @@ yarn_mappings=1.18.1+build.22
loader_version=0.13.3 loader_version=0.13.3
# Mod Properties # Mod Properties
mod_version = 0.3.0 mod_version = 1.0.0
maven_group = eu.midnightdust maven_group = eu.midnightdust
archives_base_name = midnightcontrols archives_base_name = midnightcontrols
modrinth_id=bXX9h73M modrinth_id=bXX9h73M
@@ -16,6 +16,7 @@ modrinth_id=bXX9h73M
# Dependencies # Dependencies
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
fabric_version=0.46.6+1.18 fabric_version=0.46.6+1.18
sodium_version=mc1.18.2-0.4.1
spruceui_version=3.3.2+1.17 spruceui_version=3.3.2+1.17
midnightlib_version=0.4.0 midnightlib_version=0.4.0
modmenu_version=2.0.2 modmenu_version=2.0.2

View File

@@ -28,6 +28,9 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.option.KeyBinding; import net.minecraft.client.option.KeyBinding;
@@ -114,6 +117,9 @@ public class MidnightControlsClient extends MidnightControls implements ClientMo
}); });
HudManager.register(this.hud = new MidnightControlsHud(this)); HudManager.register(this.hud = new MidnightControlsHud(this));
FabricLoader.getInstance().getModContainer("midnightcontrols").ifPresent(modContainer -> {
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("midnightcontrols","bedrock"), modContainer, ResourcePackActivationType.NORMAL);
});
} }
/** /**

View File

@@ -59,6 +59,7 @@ public class MidnightControlsConfig extends MidnightConfig {
@Entry public static VirtualMouseSkin virtualMouseSkin = VirtualMouseSkin.DEFAULT_LIGHT; @Entry public static VirtualMouseSkin virtualMouseSkin = VirtualMouseSkin.DEFAULT_LIGHT;
@Entry public static Object controllerID = 0; @Entry public static Object controllerID = 0;
@Entry public static Object secondControllerID = -1; @Entry public static Object secondControllerID = -1;
@Entry public static List<String> mouseScreens = List.of("me.jellysquid.mods.sodium.client.gui","net.coderbot.iris.gui","net.minecraft.client.gui.screen.advancement", "net.minecraft.client.gui.screen.pack.PackScreen", "net.minecraft.class_5375", "net.minecraft.class_457", "net.minecraft.class_408");
@Entry public static Map<String, String> BINDINGS = Map.of(); @Entry public static Map<String, String> BINDINGS = Map.of();
private static final Pattern BUTTON_BINDING_PATTERN = Pattern.compile("(-?\\d+)\\+?"); private static final Pattern BUTTON_BINDING_PATTERN = Pattern.compile("(-?\\d+)\\+?");

View File

@@ -38,7 +38,6 @@ import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen; import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerServerListWidget; import net.minecraft.client.gui.screen.multiplayer.MultiplayerServerListWidget;
import net.minecraft.client.gui.screen.pack.PackScreen;
import net.minecraft.client.gui.screen.world.WorldListWidget; import net.minecraft.client.gui.screen.world.WorldListWidget;
import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget; import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget;
import net.minecraft.client.gui.widget.EntryListWidget; import net.minecraft.client.gui.widget.EntryListWidget;
@@ -704,7 +703,7 @@ public class MidnightInput {
} }
public static boolean isScreenInteractive(@NotNull Screen screen) { public static boolean isScreenInteractive(@NotNull Screen screen) {
return !(screen instanceof AdvancementsScreen || screen instanceof HandledScreen || screen instanceof PackScreen return !(screen instanceof HandledScreen || MidnightControlsConfig.mouseScreens.stream().anyMatch(a -> screen.getClass().toString().contains(a))
|| (screen instanceof SpruceScreen && ((SpruceScreen) screen).requiresCursor()) || (screen instanceof SpruceScreen && ((SpruceScreen) screen).requiresCursor())
|| MidnightControlsCompat.requireMouseOnScreen(screen)); || MidnightControlsCompat.requireMouseOnScreen(screen));
} }

View File

@@ -72,6 +72,11 @@
"midnightcontrols.controller.mappings.error.write": "Fehler beim Schreiben der Controller Mappings.", "midnightcontrols.controller.mappings.error.write": "Fehler beim Schreiben der Controller Mappings.",
"midnightcontrols.controller.mappings.updated": "Mappings aktualisiert!", "midnightcontrols.controller.mappings.updated": "Mappings aktualisiert!",
"midnightcontrols.controller_type.default": "Standard", "midnightcontrols.controller_type.default": "Standard",
"midnightcontrols.controller_type.dualshock": "DualShock",
"midnightcontrols.controller_type.switch": "Switch",
"midnightcontrols.controller_type.xbox": "Xbox",
"midnightcontrols.controller_type.steam": "Steam",
"midnightcontrols.controller_type.ouya": "OUYA",
"midnightcontrols.controls_mode.default": "Tastatur/Maus", "midnightcontrols.controls_mode.default": "Tastatur/Maus",
"midnightcontrols.controls_mode.controller": "Controller", "midnightcontrols.controls_mode.controller": "Controller",
"midnightcontrols.controls_mode.touchscreen": "Touchscreen", "midnightcontrols.controls_mode.touchscreen": "Touchscreen",
@@ -141,8 +146,14 @@
"midnightcontrols.tooltip.rotation_speed": "Die Kamerarotationsgeschwindigkeit im Controllermodus.", "midnightcontrols.tooltip.rotation_speed": "Die Kamerarotationsgeschwindigkeit im Controllermodus.",
"midnightcontrols.tooltip.unfocused_input": "Erlaube Controllereingabe auch wenn das Fenster nicht fokussiert ist.", "midnightcontrols.tooltip.unfocused_input": "Erlaube Controllereingabe auch wenn das Fenster nicht fokussiert ist.",
"midnightcontrols.tooltip.virtual_mouse": "Aktiviere die virtuelle Maus.", "midnightcontrols.tooltip.virtual_mouse": "Aktiviere die virtuelle Maus.",
"midnightcontrols.virtual_mouse.skin.default_light": "Standard Light", "midnightcontrols.virtual_mouse.skin.default_light": "Standard Hell",
"midnightcontrols.virtual_mouse.skin.default_dark": "Standard Dark", "midnightcontrols.virtual_mouse.skin.default_dark": "Standard Dunkel",
"midnightcontrols.virtual_mouse.skin.second_light": "Alternativ Light", "midnightcontrols.virtual_mouse.skin.second_light": "Alternativ Hell",
"midnightcontrols.virtual_mouse.skin.second_dark": "Alternativ Dark" "midnightcontrols.virtual_mouse.skin.second_dark": "Alternativ Dunkel",
"midnightcontrols.button.a": "A",
"midnightcontrols.button.b": "B",
"midnightcontrols.button.x": "X",
"midnightcontrols.button.y": "Y",
"modmenu.descriptionTranslation.midnightcontrols": "Fügt Controller-Unterstützung hinzu und verbessert allgemein die Steuerung.\nBasiert auf der LambdaControls mod, deren Entwicklung leider eingestellt wurde.",
"modmenu.summaryTranslation.midnightcontrols": "Fügt Controller-Unterstützung hinzu und verbessert allgemein die Steuerung."
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -10,10 +10,11 @@
], ],
"contributors": [ "contributors": [
"akemin-dayo", "akemin-dayo",
"DioEgizio",
"Ivanoks",
"FlashyReese", "FlashyReese",
"Hambaka", "Hambaka",
"joaoh1", "joaoh1",
"DioEgizio",
"EnnuiL", "EnnuiL",
"egeesin" "egeesin"
], ],

View File

@@ -0,0 +1,4 @@
Some of the textures in this Resourcepack are directly taken from the Bedrock assets and are therefore © Mojang Studios.
Credits go to Ivanoks for redrawing the Bedrock XBox controller icons in 15x15,
Motschen for creating the assets for the other controllers
and LambdAurora for the original assets, part of which are also included.

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -0,0 +1,6 @@
{
"pack": {
"pack_format": 8,
"description": "Makes the controller buttons look like from Bedrock Edition"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB