Skip to content

About

Minecraft Fabric mod which helps to place ice boats by snapping orientation to cardinal directions

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Critical Orientation

Build Status License GitHub Release

Supported Loaders

Fabric NeoForge Forge

Minecraft Versions

30 Fabric/Forge/NeoForge builds spanning 1.18.2 through 26.2 (the newest stable Minecraft release at time of writing). Full per-version, per-loader matrix is in PLAN.md.

Download From

CurseForge Modrinth GitHub


A Minecraft client-side mod that snaps your facing direction to the nearest cardinal or intercardinal point (N, NE, E, SE, S, SW, W, NW) with a keybind. Perfect for precise ice boat placement!

Supported Versions

Range Fabric NeoForge Forge
1.21.4 - 26.2 ✅ ✅ —
1.18.2 - 1.20.1 ✅ — ✅

Full per-version matrix (15 Minecraft versions, 30 builds total) is in PLAN.md. Quilt is not built directly but is expected to work via its Fabric API compatibility layer.

Features

  • Direction Snapping: Press the keybind (default: \ backslash) to instantly snap to the nearest cardinal or intercardinal direction
  • 8 Directions: North, Northeast, East, Southeast, South, Southwest, West, Northwest
  • Client-Side Only: No server installation required
  • Multi-Loader: Available for Fabric, NeoForge, and Forge

Installation

Fabric

  1. Install Fabric Loader
  2. Install Fabric API
  3. Download the Fabric version of Critical Orientation
  4. Place the .jar file in your mods folder

NeoForge (1.21.4 - 26.2)

  1. Install NeoForge
  2. Download the NeoForge version of Critical Orientation
  3. Place the .jar file in your mods folder

Forge (1.20.1 and earlier)

  1. Install Forge
  2. Download the Forge version of Critical Orientation
  3. Place the .jar file in your mods folder

Usage

  1. Launch Minecraft with the mod installed
  2. Enter a world
  3. Press the \ (backslash) key to snap to the nearest direction
  4. Customize the keybind in Options > Controls > Critical Orientation

Building from Source

# Clone the repository
git clone https://github.com/bshuler/critical-orientation.git
cd critical-orientation

# Build all versions and loaders
./gradlew chiseledBuild

# Built JARs will be in versions/*/build/libs/

Technical Details

Component Technology
Language Java (17-25, toolchain-selected per Minecraft version)
Build System Gradle 9.7.0 + Stonecraft
Multi-Version Stonecutter
Multi-Loader Architectury Loom (via Stonecraft)
Testing JUnit 5 + JaCoCo, fabric-loader-junit, fabric-client-gametest (see below)

Testing

Every build is tested at three tiers, all run by CI (build.yml):

  1. Unit tests + coverage gate — JUnit 5 over the pure yaw-snapping math, with a JaCoCo 100% line-coverage gate enforced by ./gradlew check. The suite runs in all 30 version×loader builds, not just one.
  2. Loaded-game tests (fabric-loader-junit) — a real, bootstrapped Minecraft verifies the snap math agrees with the game's own yaw-to-facing mapping (Direction.fromYRot) on every Fabric cell, all 15 versions. A Minecraft release that quietly changed the yaw convention would pass the unit tests and fail here.
  3. Client gametests (fabric-client-gametest-api-v1) — a real Minecraft client (real window, real GL, real world, real player) presses a real backslash key through vanilla's keyboard handler and asserts the player's yaw, head yaw, and body yaw all snapped. This is the only tier that exercises the keybind itself — and the keybind is the whole mod. Runs on all 12 cells ≥ 1.21.4 in CI under a virtual display, with before/after screenshots uploaded as artifacts.

Negative controls were run against each tier (e.g. deleting the keybind registration must turn the gametest red — it does). Details, including what each tier can and cannot see, are in PLAN.md.

License

CC0

This project is licensed under CC0-1.0 (Public Domain). You are free to use, modify, and distribute this code without restriction.

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.


Made with ❤️ for the Minecraft ice boat racing community

About

Minecraft Fabric mod which helps to place ice boats by snapping orientation to cardinal directions

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages