diff --git a/build.gradle b/build.gradle index 661e18f..914bfb9 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,9 @@ repositories { name = 'CottonMC' url = 'http://server.bbkr.space:8081/artifactory/libs-snapshot' } + repositories { + maven { url = "https://jitpack.io" } + } } dependencies { @@ -30,7 +33,9 @@ dependencies { modCompile "net.fabricmc:fabric-loader:${project.loader_version}" // Fabric API. This is technically optional, but you probably want it anyway. - modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modApi "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + + modCompile "io.github.prospector:modmenu:1.8.0+build.16" //modCompile "io.github.cottonmc:cotton-client-commands:0.4.2+1.14.3-SNAPSHOT" implementation "org.jetbrains:annotations:17.0.0" diff --git a/gradle.properties b/gradle.properties index 2e21a5d..dc7831b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,15 +4,15 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use minecraft_version=1.15 - yarn_mappings=1.15+build.1:v2 + yarn_mappings=1.15+build.2:v2 loader_version=0.7.2+build.174 # Mod Properties - mod_version = 1.0.0-SNAPSHOT2 + mod_version = 1.0.0 maven_group = me.lambdaurora archives_base_name = lambdacontrols # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.4.23+build.276-1.15 + fabric_version=0.4.25+build.282-1.15 diff --git a/src/main/java/me/lambdaurora/lambdacontrols/LambdaInput.java b/src/main/java/me/lambdaurora/lambdacontrols/LambdaInput.java index a4f2a4e..173ce15 100644 --- a/src/main/java/me/lambdaurora/lambdacontrols/LambdaInput.java +++ b/src/main/java/me/lambdaurora/lambdacontrols/LambdaInput.java @@ -467,7 +467,7 @@ public class LambdaInput private void handle_rb_lb(@NotNull MinecraftClient client, boolean right) { // When ingame - if (client.currentScreen == null) { + if (client.currentScreen == null && client.player != null) { if (right) client.player.inventory.selectedSlot = client.player.inventory.selectedSlot == 8 ? 0 : client.player.inventory.selectedSlot + 1; else @@ -523,7 +523,8 @@ public class LambdaInput { Element focused = screen.getFocused(); if (focused != null) - return this.handle_right_left_element(focused, right); + if (this.handle_right_left_element(focused, right)) + return this.change_focus(screen, right); return true; } diff --git a/src/main/java/me/lambdaurora/lambdacontrols/mixin/MinecraftClientMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/mixin/MinecraftClientMixin.java index 7d5f663..e5baca8 100644 --- a/src/main/java/me/lambdaurora/lambdacontrols/mixin/MinecraftClientMixin.java +++ b/src/main/java/me/lambdaurora/lambdacontrols/mixin/MinecraftClientMixin.java @@ -16,6 +16,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.util.Window; import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -25,8 +26,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(MinecraftClient.class) public abstract class MinecraftClientMixin { + @Final @Shadow - public Window window; + private Window window; @Shadow public boolean skipGameRender; diff --git a/src/main/java/me/lambdaurora/lambdacontrols/mixin/SettingsScreenMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/mixin/SettingsScreenMixin.java index 1a7020e..f5ce2a7 100644 --- a/src/main/java/me/lambdaurora/lambdacontrols/mixin/SettingsScreenMixin.java +++ b/src/main/java/me/lambdaurora/lambdacontrols/mixin/SettingsScreenMixin.java @@ -15,15 +15,12 @@ import net.minecraft.client.gui.screen.SettingsScreen; import net.minecraft.client.gui.widget.AbstractButtonWidget; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.options.GameOptions; -import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; /** * Injects the new controls settings button. diff --git a/src/main/resources/assets/lambdacontrols/icon.png b/src/main/resources/assets/lambdacontrols/icon.png index c6168d5..fea935d 100644 Binary files a/src/main/resources/assets/lambdacontrols/icon.png and b/src/main/resources/assets/lambdacontrols/icon.png differ diff --git a/src/main/resources/assets/lambdacontrols/icon_x400.png b/src/main/resources/assets/lambdacontrols/icon_x400.png new file mode 100644 index 0000000..33c5676 Binary files /dev/null and b/src/main/resources/assets/lambdacontrols/icon_x400.png differ