Auto Sprint
This commit is contained in:
16
src/main/java/moe/nea/firmament/mixins/MixinKeyBinding.java
Normal file
16
src/main/java/moe/nea/firmament/mixins/MixinKeyBinding.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package moe.nea.firmament.mixins;
|
||||||
|
|
||||||
|
import moe.nea.firmament.features.fixes.Fixes;
|
||||||
|
import net.minecraft.client.option.KeyBinding;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
|
@Mixin(KeyBinding.class)
|
||||||
|
public class MixinKeyBinding {
|
||||||
|
@Inject(method = "isPressed", at = @At("HEAD"), cancellable = true)
|
||||||
|
public void onIsPressed(CallbackInfoReturnable<Boolean> cir) {
|
||||||
|
Fixes.INSTANCE.handleIsPressed((KeyBinding) (Object) this, cir);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,6 +8,10 @@ package moe.nea.firmament.features.fixes
|
|||||||
|
|
||||||
import moe.nea.firmament.features.FirmamentFeature
|
import moe.nea.firmament.features.FirmamentFeature
|
||||||
import moe.nea.firmament.gui.config.ManagedConfig
|
import moe.nea.firmament.gui.config.ManagedConfig
|
||||||
|
import moe.nea.firmament.util.MC
|
||||||
|
import net.minecraft.client.MinecraftClient
|
||||||
|
import net.minecraft.client.option.KeyBinding
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
|
||||||
|
|
||||||
object Fixes : FirmamentFeature {
|
object Fixes : FirmamentFeature {
|
||||||
override val identifier: String
|
override val identifier: String
|
||||||
@@ -15,11 +19,20 @@ object Fixes : FirmamentFeature {
|
|||||||
|
|
||||||
object TConfig : ManagedConfig(identifier) {
|
object TConfig : ManagedConfig(identifier) {
|
||||||
val fixUnsignedPlayerSkins by toggle("player-skins") { true }
|
val fixUnsignedPlayerSkins by toggle("player-skins") { true }
|
||||||
|
val autoSprint by toggle("auto-sprint") { false }
|
||||||
}
|
}
|
||||||
|
|
||||||
override val config: ManagedConfig
|
override val config: ManagedConfig
|
||||||
get() = TConfig
|
get() = TConfig
|
||||||
|
|
||||||
|
fun handleIsPressed(
|
||||||
|
keyBinding: KeyBinding,
|
||||||
|
cir: CallbackInfoReturnable<Boolean>
|
||||||
|
) {
|
||||||
|
if (keyBinding === MinecraftClient.getInstance().options.sprintKey && TConfig.autoSprint && MC.player?.isSprinting != true)
|
||||||
|
cir.returnValue = true
|
||||||
|
}
|
||||||
|
|
||||||
override fun onLoad() {
|
override fun onLoad() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,7 @@
|
|||||||
"firmament.keybinding.external": "External",
|
"firmament.keybinding.external": "External",
|
||||||
"firmament.config.slot-locking": "Slot Locking",
|
"firmament.config.slot-locking": "Slot Locking",
|
||||||
"firmament.config.slot-locking.lock": "Lock Slot",
|
"firmament.config.slot-locking.lock": "Lock Slot",
|
||||||
|
"firmament.config.fixes.auto-sprint": "Auto Sprint",
|
||||||
"firmament.config.custom-skyblock-textures": "Custom SkyBlock Item Textures",
|
"firmament.config.custom-skyblock-textures": "Custom SkyBlock Item Textures",
|
||||||
"firmament.config.custom-skyblock-textures.cache-duration": "Model Cache Duration",
|
"firmament.config.custom-skyblock-textures.cache-duration": "Model Cache Duration",
|
||||||
"firmament.config.custom-skyblock-textures.enabled": "Enable Custom Item Textures",
|
"firmament.config.custom-skyblock-textures.enabled": "Enable Custom Item Textures",
|
||||||
|
|||||||
Reference in New Issue
Block a user