Skip to content

Commit 5460f48

Browse files
authored
Merge branch 'isXander:multiversion/dev' into improvement/better-flick-stick
2 parents c4e05bb + 7ccb4ec commit 5460f48

52 files changed

Lines changed: 1457 additions & 264 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
- name: Set up JDK
4646
uses: actions/setup-java@v4
4747
with:
48-
java-version: 21
48+
java-version: 25
4949
distribution: temurin
5050
- name: Make gradlew executable
5151
run: chmod +x ./gradlew

buildSrc/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
`kotlin-dsl`
3-
kotlin("jvm") version "2.2.0"
3+
kotlin("jvm") version "2.2.21"
44
}
55

66
repositories {
@@ -31,7 +31,7 @@ dependencies {
3131
fun plugin(id: String, version: String) = "$id:$id.gradle.plugin:$version"
3232

3333
implementation(plugin("dev.isxander.modstitch.base", "0.7.1-unstable"))
34-
implementation(plugin("dev.kikugie.stonecutter", "0.7.7"))
35-
implementation(plugin("fabric-loom", "1.11.4"))
36-
implementation(plugin("net.neoforged.moddev", "2.0.103"))
34+
implementation(plugin("dev.kikugie.stonecutter", "0.7.9"))
35+
implementation(plugin("fabric-loom", "1.13.4"))
36+
implementation(plugin("net.neoforged.moddev", "2.0.119"))
3737
}

changelog.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,19 @@ This version has the following targets:
77

88
**By donating on my [Patreon](https://patreon.com/isxander), you will gain access to builds of Controlify for splitscreen support and snapshot versions**
99

10-
## Bug fixes
10+
## Configurable Look Input Curves
1111

12-
- Fix the temporarily disabling of the enhanced steam deck driver causing a Decky popup
13-
- Fix crash on some NeoForge targets due to NeoForge patching vanilla methods like a good mod loader
14-
- Fix missing texture on custom radial menu icons on NeoForge
12+
You can now pick between Linear, Gentle, Standard, Strong, Cubic, and S-Curve input curves for controller look sensitivity!
13+
14+
Find this new option in the "Sensitivity" section of your controller's settings.
15+
16+
## Changes
17+
18+
- Fix missing texture icon for custom radial icons on NeoForge. (#702 Ellet)
19+
- Fix crash when interacting with CycleButton with a controller
20+
- Fix crash when using Steam Deck
21+
- Fix crash for running Controlify server-side on NeoForge
22+
- Optimise some mixins
23+
- Fix crash when attempting to run Controlify with Title Screen mods that remove vanilla buttons
24+
- Enhanced sodium compatibility is temporarily disabled on 1.21.10-neoforge target due to issues.
25+
- Fix on-screen keyboard opening in the chat menu regardless of settings

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ org.gradle.jvmargs=-Xmx4G
22
org.gradle.parallel=true
33
org.gradle.configuration-cache=true
44

5-
modVersion=2.4.3
5+
modVersion=2.4.4
66
modId=controlify
77
modName=Controlify
88
modDescription=The most advanced controller mod for Minecraft.
@@ -12,7 +12,7 @@ curseforgeSlug=controlify
1212
modrinthId=DOUdJVEm
1313
githubProject=isXander/Controlify
1414

15-
deps.fabricLoader=0.17.0
15+
deps.fabricLoader=0.18.1
1616
deps.sdl3Target=3.2.18.release-3.2.18
1717
deps.sdl34jBuild=79
1818
deps.hid4java=0.8.0

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-all.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pluginManagement {
2525
}
2626

2727
plugins {
28-
id("dev.kikugie.stonecutter") version "0.7.7"
28+
id("dev.kikugie.stonecutter") version "0.7.9"
2929
id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0"
3030
}
3131

src/main/java/dev/isxander/controlify/ControlifyBootstrap.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ public class ControlifyBootstrap {
4242
public ControlifyBootstrap(IEventBus modBus) {
4343
ControlifyServer.getInstance().onInitialize();
4444
45-
ModLoadingContext.get().registerExtensionPoint(
46-
net.neoforged.neoforge.client.gui.IConfigScreenFactory.class,
47-
() -> (client, parent) -> new ModConfigOpenerScreen(parent)
48-
);
49-
5045
if (PlatformMainUtil.getEnv() == Environment.CLIENT) {
46+
ModLoadingContext.get().registerExtensionPoint(
47+
net.neoforged.neoforge.client.gui.IConfigScreenFactory.class,
48+
() -> (client, parent) -> new ModConfigOpenerScreen(parent)
49+
);
50+
5151
Controlify.instance().preInitialiseControlify();
5252
}
5353
if (PlatformMainUtil.getEnv() == Environment.SERVER) {

src/main/java/dev/isxander/controlify/controller/input/InputComponent.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import dev.isxander.controlify.controller.impl.ConfigImpl;
1818
import dev.isxander.controlify.controller.input.mapping.ControllerMappingStorage;
1919
import dev.isxander.controlify.gui.screen.RadialMenuScreen;
20+
import dev.isxander.controlify.ingame.InputCurves;
2021
import dev.isxander.controlify.utils.CUtil;
2122
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
2223
import net.minecraft.resources.ResourceLocation;
@@ -220,6 +221,7 @@ public Config(@Nullable ControllerMapping typeProvidedMapping) {
220221

221222
public float buttonActivationThreshold = 0.5f;
222223

224+
public InputCurves lookInputCurve = InputCurves.STANDARD;
223225
public boolean isLCE = false;
224226

225227
public Map<ResourceLocation, Float> deadzones = new Object2ObjectOpenHashMap<>();

src/main/java/dev/isxander/controlify/driver/steamdeck/SteamDeckUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public static Optional<SteamDeck> getDeckInstance() {
5555
private static boolean isHardwareSteamDeck() {
5656
if (true) {
5757
logger.error("Skipping Steam Deck checks as steamOS has temporarily broken the enhaned driver.");
58+
return false;
5859
}
5960

6061
logger.debugLog("Checking if hardware is Steam Deck.");

src/main/java/dev/isxander/controlify/gui/screen/ControllerConfigScreenFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import dev.isxander.controlify.gui.controllers.BindController;
2020
import dev.isxander.controlify.gui.controllers.Deadzone2DImageRenderer;
2121
import dev.isxander.controlify.gui.guide.InGameButtonGuide;
22+
import dev.isxander.controlify.ingame.InputCurves;
2223
import dev.isxander.controlify.rumble.BasicRumbleEffect;
2324
import dev.isxander.controlify.rumble.RumbleSource;
2425
import dev.isxander.controlify.rumble.RumbleState;
@@ -156,6 +157,15 @@ private Optional<OptionGroup> makeSensitivityGroup(ControllerEntity controller)
156157
.binding(def.reduceAimingSensitivity, () -> config.reduceAimingSensitivity, v -> config.reduceAimingSensitivity = v)
157158
.controller(TickBoxControllerBuilder::create)
158159
.build())
160+
.option(Option.<InputCurves>createBuilder()
161+
.name(Component.translatable("controlify.gui.look_input_curve"))
162+
.description(OptionDescription.createBuilder()
163+
.text(Component.translatable("controlify.gui.look_input_curve.tooltip"))
164+
.build())
165+
.binding(def.lookInputCurve, () -> config.lookInputCurve, v -> config.lookInputCurve = v)
166+
.controller(opt -> EnumControllerBuilder.create(opt)
167+
.enumClass(InputCurves.class))
168+
.build())
159169
.option(Option.<Boolean>createBuilder()
160170
.name(Component.translatable("controlify.gui.is_lce"))
161171
.description(OptionDescription.createBuilder()

0 commit comments

Comments
 (0)