diff --git a/build.gradle b/build.gradle index 1111e2b..b5e6fa4 100644 --- a/build.gradle +++ b/build.gradle @@ -31,7 +31,7 @@ loom { dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + mappings loom.officialMojangMappings() modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" @@ -98,6 +98,7 @@ curseforge { changelogType = "text" changelog = file("changelog.txt") + addGameVersion "1.21.3" addGameVersion "1.21" addGameVersion "Java 21" addGameVersion "Fabric" diff --git a/gradle.properties b/gradle.properties index e6a99ba..e13553b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,20 +4,20 @@ org.gradle.parallel=false # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.21 -yarn_mappings=1.21+build.7 -loader_version=0.15.11 +minecraft_version=1.21.2 +yarn_mappings=1.21.2+build.1 +loader_version=0.16.7 # Mod Properties -mod_version=0.6.0 -supported_versions=1.21.X +mod_version=1.0.0 +supported_versions=1.21.2 maven_group=com.emonadeo archives_base_name=autorun # Dependencies -fabric_version=0.100.4+1.21 -modmenu_version=11.0.1 -cloth_version=15.0.127 +fabric_version=0.106.1+1.21.2 +modmenu_version=12.0.0-beta.1 +cloth_version=16.0.141 # CurseGradle project_id=279429 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2617362..5c40527 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/client/java/com/emonadeo/autorun/AutoRunMod.java b/src/client/java/com/emonadeo/autorun/AutoRunMod.java index 225cac1..adb31d7 100644 --- a/src/client/java/com/emonadeo/autorun/AutoRunMod.java +++ b/src/client/java/com/emonadeo/autorun/AutoRunMod.java @@ -5,21 +5,18 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.client.option.KeyBinding; -import net.minecraft.client.util.InputUtil; +import net.minecraft.client.KeyMapping; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.player.Input; +import net.minecraft.client.Minecraft; import org.lwjgl.glfw.GLFW; - +import com.mojang.blaze3d.platform.InputConstants; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; import java.util.Properties; -import java.util.Set; -import java.util.stream.Collectors; public class AutoRunMod implements ClientModInitializer { @@ -27,99 +24,118 @@ public class AutoRunMod implements ClientModInitializer { public static final File CFG_FILE = new File(FabricLoader.getInstance().getConfigDir().toFile(), "autorun.properties"); - private static KeyBinding keyBinding; - private static Set toggled; - private static long timeActivated; - private static int delayBuffer; + public static boolean toggleAutoJump = true; + public static boolean persistAutoRun = false; + public static boolean alwaysSprint = false; + + public static boolean forward = false; + public static boolean backward = false; + public static boolean left = false; + public static boolean right = false; + public static boolean sprint = false; + + private static boolean activating = false; + private static boolean originalAutoJumpSetting = false; - private static boolean originalAutoJumpSetting; - private static boolean toggleAutoJump; - private static boolean togglePersistAutoRun; + private static KeyMapping keyBinding; @Override public void onInitializeClient() { - AutoRunMod.toggled = new HashSet<>(); - AutoRunMod.timeActivated = -1; - AutoRunMod.delayBuffer = 20; - AutoRunMod.toggleAutoJump = true; - AutoRunMod.togglePersistAutoRun = false; - AutoRunMod.keyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding( + loadConfig(CFG_FILE); + // Re-save so that new properties will appear in old config files + saveConfig(CFG_FILE); + + keyBinding = KeyBindingHelper.registerKeyBinding(new KeyMapping( "key.autorun.toggle", - InputUtil.Type.KEYSYM, + InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_O, // Default to 'o' "key.categories.movement" // Append movement category )); - loadConfig(CFG_FILE); - ClientTickEvents.END_CLIENT_TICK.register(client -> { - if (client.world != null && keyBinding.wasPressed()) { - boolean activating = toggled.isEmpty(); - - if (!activating) { - // Deactivating by pressing AutoRun key - toggled.clear(); - restoreAutoJump(client); + while (keyBinding.consumeClick() && client.level != null) { + if (forward || backward || left || right) { + disableAutoRun(client); } else { - // Activating - Set pressedDirections = Arrays.stream(MovementDirection.values()) - .filter(dir -> dir.getKeyBinding(client).isPressed()).collect(Collectors.toSet()); - - if (!pressedDirections.isEmpty()) { - // Activate pressed directions - toggled.addAll(pressedDirections); - } else { - // Activate forward by default - toggled.add(MovementDirection.FORWARD); - } - - timeActivated = client.world.getTime(); - enableAutoJump(client); + enableAutoRun(client); + activating = true; } } + }); - if (timeActivated != -1 && client.world != null - && client.world.getTime() - timeActivated >= delayBuffer) { - x: for (MovementDirection dir : toggled) { - for (KeyBinding terminator : dir.getTerminators(client)) { - if (terminator.isPressed()) { - // Deactivating by pressing movement key - toggled.clear(); - timeActivated = -1; - restoreAutoJump(client); - break x; - } - } + ClientTickEvents.END_CLIENT_TICK.register(client -> { + if (activating) { + if ((forward && !client.options.keyUp.isDown()) + || (backward && !client.options.keyDown.isDown()) + || (left && !client.options.keyLeft.isDown()) + || (right && !client.options.keyRight.isDown())) { + activating = false; } + return; + } + + if ((forward || backward) && (client.options.keyUp.isDown() || client.options.keyDown.isDown())) { + disableAutoRun(client); + } + if ((left || right) && (client.options.keyLeft.isDown() || client.options.keyRight.isDown())) { + disableAutoRun(client); } }); ClientEntityEvents.ENTITY_UNLOAD.register((entity, clientWorld) -> { - if (entity instanceof ClientPlayerEntity) { - if (!togglePersistAutoRun) { - toggled.clear(); - restoreAutoJump(MinecraftClient.getInstance()); - } + if (entity instanceof LocalPlayer && !persistAutoRun) { + disableAutoRun(Minecraft.getInstance()); } }); } - public static void enableAutoJump(MinecraftClient client) { - if (!toggleAutoJump) - return; + private static void enableAutoRun(Minecraft client) { + client.player.displayClientMessage(Component.literal("Activating Auto-Run"), false); - originalAutoJumpSetting = client.options.getAutoJump().getValue(); + if (toggleAutoJump) { + originalAutoJumpSetting = client.options.autoJump().get(); + client.options.autoJump().set(true); + client.options.broadcastOptions(); + } - client.options.getAutoJump().setValue(true); - client.options.sendClientSettings(); + Input input = client.player.input.keyPresses; + if (input.sprint() || alwaysSprint) { + sprint = true; + } + if (!input.forward() && !input.backward() && !input.left() && !input.right()) { + // Auto-Run forward if no movement key is pressed + forward = true; + return; + } + // At least 1 movement key is pressed + if (input.forward()) { + forward = true; + } + if (input.backward()) { + backward = true; + } + if (input.left()) { + left = true; + } + if (input.right()) { + right = true; + } } - public static void restoreAutoJump(MinecraftClient client) { - if (!toggleAutoJump) - return; + private static void disableAutoRun(Minecraft client) { + client.player.displayClientMessage(Component.literal("Deactivating Auto-Run"), false); - client.options.getAutoJump().setValue(originalAutoJumpSetting); - client.options.sendClientSettings(); + forward = false; + backward = false; + left = false; + right = false; + sprint = false; + + // Restore Auto-Jump + if (toggleAutoJump) { + client.options.autoJump().set(originalAutoJumpSetting); + client.options.broadcastOptions(); + } } public static void loadConfig(File file) { @@ -129,12 +145,9 @@ public static void loadConfig(File file) { saveConfig(file); } cfg.load(new FileInputStream(file)); - delayBuffer = Integer.parseInt(cfg.getProperty("delayBuffer", "20")); + alwaysSprint = Boolean.parseBoolean(cfg.getProperty("alwaysSprint", "false")); + persistAutoRun = Boolean.parseBoolean(cfg.getProperty("persistAutoRun", "false")); toggleAutoJump = Boolean.parseBoolean(cfg.getProperty("toggleAutoJump", "true")); - togglePersistAutoRun = Boolean.parseBoolean(cfg.getProperty("togglePersistAutoRun", "false")); - - // Re-save so that new properties will appear in old config files - saveConfig(file); } catch (IOException e) { e.printStackTrace(); } @@ -143,41 +156,13 @@ public static void loadConfig(File file) { public static void saveConfig(File file) { try { FileOutputStream fos = new FileOutputStream(file, false); - fos.write(("delayBuffer=" + delayBuffer + "\n").getBytes()); + fos.write(("alwaysSprint=" + alwaysSprint + "\n").getBytes()); + fos.write(("persistAutoRun=" + persistAutoRun + "\n").getBytes()); fos.write(("toggleAutoJump=" + toggleAutoJump + "\n").getBytes()); - fos.write(("togglePersistAutoRun=" + togglePersistAutoRun + "\n").getBytes()); fos.close(); } catch (IOException e) { e.printStackTrace(); } } - public static Set getToggled() { - return toggled; - } - - public static int getDelayBuffer() { - return delayBuffer; - } - - public static void setDelayBuffer(int delayBuffer) { - AutoRunMod.delayBuffer = delayBuffer; - } - - public static boolean isToggleAutoJump() { - return toggleAutoJump; - } - - public static void setToggleAutoJump(boolean toggleAutoJump) { - AutoRunMod.toggleAutoJump = toggleAutoJump; - } - - public static boolean isPersistAutoRun() { - return togglePersistAutoRun; - } - - public static void setPersistAutoRun(boolean togglePersistAutoRun) { - AutoRunMod.togglePersistAutoRun = togglePersistAutoRun; - } - } diff --git a/src/client/java/com/emonadeo/autorun/AutoRunModMenu.java b/src/client/java/com/emonadeo/autorun/AutoRunModMenu.java index 9b3983c..9ce89e8 100644 --- a/src/client/java/com/emonadeo/autorun/AutoRunModMenu.java +++ b/src/client/java/com/emonadeo/autorun/AutoRunModMenu.java @@ -5,49 +5,64 @@ import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigCategory; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.Text; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.Component; public class AutoRunModMenu implements ModMenuApi, ConfigScreenFactory { - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return this; - } - - @Override - public Screen create(Screen screen) { - ConfigBuilder builder = ConfigBuilder.create() - .setParentScreen(screen) - .setTitle(Text.translatable("title." + AutoRunMod.MODID + ".config")); - - ConfigEntryBuilder entryBuilder = builder.entryBuilder(); - ConfigCategory general = builder.getOrCreateCategory(Text.translatable("config." + AutoRunMod.MODID + ".general")); - - // Toogle Auto-Jump - general.addEntry(entryBuilder.startBooleanToggle(Text.translatable("config." + AutoRunMod.MODID + ".toggleAutoJump"), AutoRunMod.isToggleAutoJump()) - .setDefaultValue(true) - .setTooltip(Text.translatable("config." + AutoRunMod.MODID + ".toggleAutoJump.description")) - .setSaveConsumer(AutoRunMod::setToggleAutoJump) - .build()); - - // Toogle run on start - general.addEntry(entryBuilder.startBooleanToggle(Text.translatable("config." + AutoRunMod.MODID + ".togglePersistAutoRun"), AutoRunMod.isPersistAutoRun()) - .setDefaultValue(false) - .setTooltip(Text.translatable("config." + AutoRunMod.MODID + ".togglePersistAutoRun.description")) - .setSaveConsumer(AutoRunMod::setPersistAutoRun) - .build()); - - - // Delay Buffer - general.addEntry(entryBuilder.startIntField(Text.translatable("config." + AutoRunMod.MODID + ".delayBuffer"), AutoRunMod.getDelayBuffer()) - .setDefaultValue(20) - .setTooltip(Text.translatable("config." + AutoRunMod.MODID + ".delayBuffer.description")) - .setSaveConsumer(AutoRunMod::setDelayBuffer) - .build()); - - return builder.setSavingRunnable(() -> { - AutoRunMod.saveConfig(AutoRunMod.CFG_FILE); - AutoRunMod.loadConfig(AutoRunMod.CFG_FILE); - }).build(); - } + @Override + public ConfigScreenFactory getModConfigScreenFactory() { + return this; + } + + @Override + public Screen create(Screen screen) { + ConfigBuilder builder = ConfigBuilder.create() + .setParentScreen(screen) + .setTitle(Component.translatable("title." + AutoRunMod.MODID + ".config")); + + ConfigEntryBuilder entryBuilder = builder.entryBuilder(); + ConfigCategory general = builder + .getOrCreateCategory(Component.translatable("config." + AutoRunMod.MODID + ".general")); + + // Toogle Auto-Jump + general.addEntry(entryBuilder + .startBooleanToggle( + Component.translatable( + "config." + AutoRunMod.MODID + ".toggleAutoJump"), + AutoRunMod.toggleAutoJump) + .setDefaultValue(true) + .setTooltip(Component.translatable( + "config." + AutoRunMod.MODID + ".toggleAutoJump.description")) + .setSaveConsumer((value) -> AutoRunMod.toggleAutoJump = value) + .build()); + + // Persist Auto-Run + general.addEntry(entryBuilder + .startBooleanToggle( + Component.translatable( + "config." + AutoRunMod.MODID + ".persistAutoRun"), + AutoRunMod.persistAutoRun) + .setDefaultValue(false) + .setTooltip(Component.translatable( + "config." + AutoRunMod.MODID + ".persistAutoRun.description")) + .setSaveConsumer((value) -> AutoRunMod.persistAutoRun = value) + .build()); + + // Always Sprint + general.addEntry(entryBuilder + .startBooleanToggle( + Component.translatable( + "config." + AutoRunMod.MODID + ".alwaysSprint"), + AutoRunMod.alwaysSprint) + .setDefaultValue(false) + .setTooltip(Component.translatable( + "config." + AutoRunMod.MODID + ".alwaysSprint")) + .setSaveConsumer((value) -> AutoRunMod.alwaysSprint = value) + .build()); + + return builder.setSavingRunnable(() -> { + AutoRunMod.saveConfig(AutoRunMod.CFG_FILE); + AutoRunMod.loadConfig(AutoRunMod.CFG_FILE); + }).build(); + } } diff --git a/src/client/java/com/emonadeo/autorun/MovementDirection.java b/src/client/java/com/emonadeo/autorun/MovementDirection.java deleted file mode 100644 index 5e9d895..0000000 --- a/src/client/java/com/emonadeo/autorun/MovementDirection.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.emonadeo.autorun; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.option.KeyBinding; - -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -public enum MovementDirection { - FORWARD, - BACK, - LEFT, - RIGHT; - - public KeyBinding getKeyBinding(MinecraftClient client) { - switch (this) { - default: - return client.options.forwardKey; - case BACK: - return client.options.backKey; - case LEFT: - return client.options.leftKey; - case RIGHT: - return client.options.rightKey; - } - } - - public Set getTerminators(MinecraftClient client) { - switch (this) { - default: - return Stream.of( - client.options.forwardKey, - client.options.backKey) - .collect(Collectors.toSet()); - case LEFT: - case RIGHT: - return Stream.of( - client.options.leftKey, - client.options.rightKey) - .collect(Collectors.toSet()); - } - } -} diff --git a/src/client/java/com/emonadeo/autorun/mixin/client/AutoRunMixin.java b/src/client/java/com/emonadeo/autorun/mixin/client/AutoRunMixin.java deleted file mode 100644 index 71cfc99..0000000 --- a/src/client/java/com/emonadeo/autorun/mixin/client/AutoRunMixin.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.emonadeo.autorun.mixin.client; - -import com.emonadeo.autorun.AutoRunMod; -import com.emonadeo.autorun.MovementDirection; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.input.KeyboardInput; -import org.objectweb.asm.Opcodes; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -@Environment(EnvType.CLIENT) -@Mixin(KeyboardInput.class) -public class AutoRunMixin { - - @Redirect(method = "tick", at = @At( - value = "FIELD", - target = "net/minecraft/client/input/KeyboardInput.pressingForward:Z", - opcode = Opcodes.GETFIELD, - ordinal = 0)) - private boolean onPressingForward(KeyboardInput input) { - input.pressingForward = input.pressingForward || AutoRunMod.getToggled().contains(MovementDirection.FORWARD); - return input.pressingForward; - } - - @Redirect(method = "tick", at = @At( - value = "FIELD", - target = "net/minecraft/client/input/KeyboardInput.pressingBack:Z", - opcode = Opcodes.GETFIELD, - ordinal = 0)) - private boolean onPressingBack(KeyboardInput input) { - input.pressingBack = input.pressingBack || AutoRunMod.getToggled().contains(MovementDirection.BACK); - return input.pressingBack; - } - - @Redirect(method = "tick", at = @At( - value = "FIELD", - target = "net/minecraft/client/input/KeyboardInput.pressingLeft:Z", - opcode = Opcodes.GETFIELD, - ordinal = 0)) - private boolean onPressingLeft(KeyboardInput input) { - input.pressingLeft = input.pressingLeft || AutoRunMod.getToggled().contains(MovementDirection.LEFT); - return input.pressingLeft; - } - - @Redirect(method = "tick", at = @At( - value = "FIELD", - target = "net/minecraft/client/input/KeyboardInput.pressingRight:Z", - opcode = Opcodes.GETFIELD, - ordinal = 0)) - private boolean onPressingRight(KeyboardInput input) { - input.pressingRight = input.pressingRight || AutoRunMod.getToggled().contains(MovementDirection.RIGHT); - return input.pressingRight; - } -} diff --git a/src/client/java/com/emonadeo/autorun/mixin/client/InputMixin.java b/src/client/java/com/emonadeo/autorun/mixin/client/InputMixin.java new file mode 100644 index 0000000..924d43a --- /dev/null +++ b/src/client/java/com/emonadeo/autorun/mixin/client/InputMixin.java @@ -0,0 +1,41 @@ +package com.emonadeo.autorun.mixin.client; + +import com.emonadeo.autorun.AutoRunMod; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.world.entity.player.Input; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Environment(EnvType.CLIENT) +@Mixin(Input.class) +public class InputMixin { + @Shadow + private boolean forward; + + @Shadow + private boolean backward; + + @Shadow + private boolean left; + + @Shadow + private boolean right; + + public boolean forward() { + return forward || AutoRunMod.forward; + } + + public boolean backward() { + return backward || AutoRunMod.backward; + } + + public boolean left() { + return left || AutoRunMod.left; + } + + public boolean right() { + return right || AutoRunMod.right; + } +} diff --git a/src/client/java/com/emonadeo/autorun/mixin/client/LocalPlayerMixin.java b/src/client/java/com/emonadeo/autorun/mixin/client/LocalPlayerMixin.java new file mode 100644 index 0000000..e05c2d9 --- /dev/null +++ b/src/client/java/com/emonadeo/autorun/mixin/client/LocalPlayerMixin.java @@ -0,0 +1,37 @@ +package com.emonadeo.autorun.mixin.client; + +import com.emonadeo.autorun.AutoRunMod; +import com.mojang.authlib.GameProfile; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.client.player.LocalPlayer; +import org.spongepowered.asm.mixin.Mixin; + +@Environment(EnvType.CLIENT) +@Mixin(LocalPlayer.class) +public class LocalPlayerMixin extends AbstractClientPlayer { + public LocalPlayerMixin(ClientLevel clientLevel, GameProfile gameProfile) { + super(clientLevel, gameProfile); + } + + @Override + public boolean isSprinting() { + if (AutoRunMod.sprint) { + return true; + } + return super.isSprinting(); + } + + @Override + public void setSprinting(boolean bl) { + if (AutoRunMod.sprint) { + // Cancel out `setSprinting(false)` calls + // (e.g. when bumping into something or receiving damage) + super.setSprinting(true); + return; + } + super.setSprinting(bl); + } +} \ No newline at end of file diff --git a/src/client/resources/autorun.client.mixins.json b/src/client/resources/autorun.client.mixins.json index 429873a..e1b7f91 100644 --- a/src/client/resources/autorun.client.mixins.json +++ b/src/client/resources/autorun.client.mixins.json @@ -1,11 +1,10 @@ { "required": true, + "minVersion": "0.8", "package": "com.emonadeo.autorun.mixin.client", "compatibilityLevel": "JAVA_21", - "client": [ - "AutoRunMixin" - ], + "client": ["InputMixin"], "injectors": { "defaultRequire": 1 } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/autorun/lang/de_de.json b/src/main/resources/assets/autorun/lang/de_de.json index d38ce97..ec512fd 100644 --- a/src/main/resources/assets/autorun/lang/de_de.json +++ b/src/main/resources/assets/autorun/lang/de_de.json @@ -1,10 +1,7 @@ { - "key.autorun.toggle": "Automatisch laufen", - "title.autorun.config": "AutoRun", - "config.autorun.general": "Allgemein", - "config.autorun.delayBuffer": "Aktivierungspuffer", - "config.autorun.delayBuffer.description": "Ticks nach Aktivierung, bevor automatisches Laufen wieder deaktiviert werden kann", - "config.autorun.toggleAutoJump": "Automatisch springen", - "config.autorun.toggleAutoJump.description": "Aktiviere automatisches Springen beim automatischen Laufen" + "config.autorun.general": "Allgemein", + "config.autorun.toggleAutoJump": "Automatisch springen", + "config.autorun.toggleAutoJump.description": "Aktiviere automatisches Springen beim automatischen Laufen", + "title.autorun.config": "AutoRun", + "key.autorun.toggle": "Automatisch laufen" } - diff --git a/src/main/resources/assets/autorun/lang/en_us.json b/src/main/resources/assets/autorun/lang/en_us.json index ddd70c2..235858c 100644 --- a/src/main/resources/assets/autorun/lang/en_us.json +++ b/src/main/resources/assets/autorun/lang/en_us.json @@ -1,12 +1,11 @@ { - "key.autorun.toggle": "Toggle Auto-Run", - "config.autorun.togglePersistAutoRun": "Persist Auto-Run", - "config.autorun.togglePersistAutoRun.description": "Keep Auto-Run toggled between leaving and joining worlds or servers", - "title.autorun.config": "AutoRun", - "config.autorun.general": "General", - "config.autorun.delayBuffer": "Delay Buffer", - "config.autorun.delayBuffer.description": "Activation buffer before the keybind can be deactivated again", - "config.autorun.toggleAutoJump": "Toggle Auto-Jump", - "config.autorun.toggleAutoJump.description": "Enable Auto-Jump while Auto-Run is active" + "config.autorun.general": "General", + "config.autorun.alwaysSprint": "Always sprint", + "config.autorun.alwaysSprint.description": "Always sprint while Auto-Run is active", + "config.autorun.persistAutoRun": "Persist Auto-Run", + "config.autorun.persistAutoRun.description": "Keep Auto-Run toggled between leaving and joining worlds or servers", + "config.autorun.toggleAutoJump": "Toggle Auto-Jump", + "config.autorun.toggleAutoJump.description": "Enable Auto-Jump while Auto-Run is active", + "key.autorun.toggle": "Toggle Auto-Run", + "title.autorun.config": "AutoRun" } - diff --git a/src/main/resources/assets/autorun/lang/ru_ru.json b/src/main/resources/assets/autorun/lang/ru_ru.json index b3c0f18..0efcb46 100644 --- a/src/main/resources/assets/autorun/lang/ru_ru.json +++ b/src/main/resources/assets/autorun/lang/ru_ru.json @@ -1,9 +1,7 @@ { - "key.autorun.toggle": "Вкл/Выкл Авто-Бег", - "title.autorun.config": "АвтоБег", - "config.autorun.general": "Общее", - "config.autorun.delayBuffer": "Буфер Задержки", - "config.autorun.delayBuffer.description": "Буфер активации перед повторной деактивации привязки клавиш", - "config.autorun.toggleAutoJump": "Вкл/Выкл Автопрыжок", - "config.autorun.toggleAutoJump.description": "Включить Автопрыжок пока Авто-Бег активен" + "config.autorun.general": "Общее", + "config.autorun.toggleAutoJump": "Вкл/Выкл Автопрыжок", + "config.autorun.toggleAutoJump.description": "Включить Автопрыжок пока Авто-Бег активен", + "key.autorun.toggle": "Вкл/Выкл Авто-Бег", + "title.autorun.config": "АвтоБег" } diff --git a/src/main/resources/assets/autorun/lang/tr_tr.json b/src/main/resources/assets/autorun/lang/tr_tr.json index 10cb777..245576f 100644 --- a/src/main/resources/assets/autorun/lang/tr_tr.json +++ b/src/main/resources/assets/autorun/lang/tr_tr.json @@ -1,7 +1,5 @@ { - "key.autorun.toggle": "Otomatik Koşmayı Aç/Kapa", - "title.autorun.config": "AutoRun Ayarları", - "config.autorun.general": "Genel", - "config.autorun.delayBuffer": "İptal Etme Gecikmesi", - "config.autorun.delayBuffer.description": "Otomatik koşmayı durduracak herhangi bir tuşun gereken basılı tutma süresi" + "config.autorun.general": "Genel", + "key.autorun.toggle": "Otomatik Koşmayı Aç/Kapa", + "title.autorun.config": "AutoRun Ayarları" } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index fdd7e0b..1438d5a 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -4,9 +4,7 @@ "version": "${mod_version}", "name": "AutoRun", "description": "Hands-free walking and sprinting", - "authors": [ - "Emonadeo" - ], + "authors": ["Emonadeo"], "contact": { "homepage": "https://github.com/Emonadeo", "sources": "https://github.com/Emonadeo/AutoRun" @@ -15,8 +13,8 @@ "icon": "assets/autorun/icon.png", "environment": "client", "entrypoints": { - "client": [ "com.emonadeo.autorun.AutoRunMod" ], - "modmenu": [ "com.emonadeo.autorun.AutoRunModMenu" ] + "client": ["com.emonadeo.autorun.AutoRunMod"], + "modmenu": ["com.emonadeo.autorun.AutoRunModMenu"] }, "mixins": [ { @@ -25,9 +23,9 @@ } ], "depends": { - "fabricloader": ">=0.15.11", - "minecraft": "~1.21", + "fabricloader": ">=0.15.10", + "minecraft": ">=1.21.2-", "java": ">=21", "fabric-api": "*" } -} \ No newline at end of file +}