2 Commits

Author SHA1 Message Date
a6f8645c68 Added toggleable scrollToZoom
All checks were successful
build / build (push) Successful in 1m13s
2025-05-20 12:01:59 +02:00
2be7c16e8b Refactored SFKeyBindings to CameraShortcut 2025-05-20 11:59:51 +02:00
5 changed files with 11 additions and 4 deletions

View File

@ -75,6 +75,10 @@ DISCLAIMER: this is NOT perfect and still needs to be reworked, I'm just too laz
- Integer - Integer
- [x] Zoom - [x] Zoom
- [x] Configurable - [x] Configurable
- Smooth zoom
- Initial zoom value
- Zoom step value
- Scroll to zoom further
# To-do # To-do

View File

@ -4,7 +4,7 @@ import net.fabricmc.api.ClientModInitializer;
import wtf.hak.survivalfabric.config.client.ClientConfigManager; import wtf.hak.survivalfabric.config.client.ClientConfigManager;
import wtf.hak.survivalfabric.features.AngleViewer; import wtf.hak.survivalfabric.features.AngleViewer;
import wtf.hak.survivalfabric.features.RemoveDarknessEffect; import wtf.hak.survivalfabric.features.RemoveDarknessEffect;
import wtf.hak.survivalfabric.features.SFKeyBindings; import wtf.hak.survivalfabric.features.CameraShortcut;
import wtf.hak.survivalfabric.features.Zoom; import wtf.hak.survivalfabric.features.Zoom;
public class SurvivalFabricClient implements ClientModInitializer { public class SurvivalFabricClient implements ClientModInitializer {
@ -18,7 +18,7 @@ public class SurvivalFabricClient implements ClientModInitializer {
// Features // Features
AngleViewer.register(); AngleViewer.register();
RemoveDarknessEffect.register(); RemoveDarknessEffect.register();
SFKeyBindings.register(); CameraShortcut.register();
Zoom.register(); Zoom.register();
} }
} }

View File

@ -15,5 +15,6 @@ public class ClientConfig {
public int blockEntityRange = 512; public int blockEntityRange = 512;
public boolean smoothCamera = true; public boolean smoothCamera = true;
public float initialZoom = 20f; public float initialZoom = 20f;
public boolean scrollToZoom = true;
public float zoomStep = 2.5f; public float zoomStep = 2.5f;
} }

View File

@ -6,7 +6,7 @@ import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil; import net.minecraft.client.util.InputUtil;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
public class SFKeyBindings { public class CameraShortcut {
private static final KeyBinding CAMERA_BIND = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.survivalfabric.camera", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_PERIOD, "category.survivalfabric.survivalfabric")); private static final KeyBinding CAMERA_BIND = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.survivalfabric.camera", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_PERIOD, "category.survivalfabric.survivalfabric"));

View File

@ -8,6 +8,8 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import wtf.hak.survivalfabric.features.Zoom; import wtf.hak.survivalfabric.features.Zoom;
import static wtf.hak.survivalfabric.config.client.ClientConfigManager.getConfig;
@Mixin(Mouse.class) @Mixin(Mouse.class)
public class MouseMixin { public class MouseMixin {
@ -16,7 +18,7 @@ public class MouseMixin {
*/ */
@Inject(method = "onMouseScroll", at = @At("HEAD"), cancellable = true) @Inject(method = "onMouseScroll", at = @At("HEAD"), cancellable = true)
private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) { private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
if (Zoom.isZooming()) { if (Zoom.isZooming() && getConfig().scrollToZoom) {
if (MinecraftClient.getInstance().player != null) { if (MinecraftClient.getInstance().player != null) {
if (vertical > 0) if (vertical > 0)
Zoom.modifyStep(-1); Zoom.modifyStep(-1);