Auto Sprint

This commit is contained in:
nea
2023-08-25 14:59:49 +02:00
parent 7842319416
commit ddc00804f1
3 changed files with 118 additions and 88 deletions

View 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);
}
}

View File

@@ -8,6 +8,10 @@ package moe.nea.firmament.features.fixes
import moe.nea.firmament.features.FirmamentFeature
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 {
override val identifier: String
@@ -15,11 +19,20 @@ object Fixes : FirmamentFeature {
object TConfig : ManagedConfig(identifier) {
val fixUnsignedPlayerSkins by toggle("player-skins") { true }
val autoSprint by toggle("auto-sprint") { false }
}
override val config: ManagedConfig
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() {
}
}

View File

@@ -82,6 +82,7 @@
"firmament.keybinding.external": "External",
"firmament.config.slot-locking": "Slot Locking",
"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.cache-duration": "Model Cache Duration",
"firmament.config.custom-skyblock-textures.enabled": "Enable Custom Item Textures",