
Better Compass Azimut
🧭 Better Compass Better Compass is a lightweight and fully configurable Minecraft mod that adds a modern compass HUD at the top of the screen. It displays the cardinal directions (N • E • S • W) along with the exact facing angle in degrees
bettercompass-1.1.0-forge-1.20.1
Compatibility
Changes
Changelog - BetterCompass Mod
[Version 1.1.0] - 2026-01-09
🐛 Bug Fixes
Fix Off-Hand Compass Detection
Fixed : Bug where HUD wouldn't display when compass was in off-hand (secondary hand)
Impact : HUD now works correctly regardless of whether compass is in main hand, off-hand, or inventory
Code : Improved check with mainHand.is(Items.COMPASS) || offHand.is(Items.COMPASS)
🚀 New Features
Coordinates System
Added : Display of player X, Y, Z coordinates
Positions : 4 configurable positions (top-left, top-right, bottom-left, bottom-right)
Configuration : showCoordinates to enable/disable
Default position : bottom-left
Controls and Interactions
Configuration : requireCompass to require a compass or always display
Commands
Added : /bettercompass reload - Reloads the mod configuration
Permissions : Accessible to administrators and in single-player
Feedback : Success/error messages with color codes
Utility : Allows reloading config without restarting the client
🌐 Server Compatibility
Server-Client Configuration System
Added : Complete client-server architecture with network synchronization
Files : compass.toml (client) and server configuration via commands
Override : Server parameters can override client configurations
Supported Server Parameters
requireCompass : Controls if a compass is required to display HUD
- "true" - Forces compass requirement for all players
- "false" - Displays HUD even without compass for all players
- "client" - Lets client choose
showCoordinates : Controls coordinates display
- "true" - Forces display for all players
- "false" - Disables display for all players
- "client" - Lets client choose
Network Synchronization
Added : Custom network packet system to synchronize configurations Auto-sync : Server configuration automatically sent to each player connection Real-time : Configuration changes applied instantly
🔧 Technical Improvements
Automatic Configuration Generation
Added : Automatic creation of client and server configuration files
Client : compass_config.toml generated on first launch
Server : server_config.toml generated on server startup
Network Architecture
Implemented : NetworkHandler for server-client communication
Packet : ServerConfigPacket to transmit configurations
Management : ServerSideHandler for server-side logic
📋 Default Configuration
# Configuration Client (compass_config.toml)
# Better Compass Configuration
# Width of the compass display area in pixels
compassWidth = 400
# Height of the compass in pixels
compassHeight = 20
# Spacing between direction elements
spacing = 90
# Whether a compass is required in inventory to display HUD (true/false)
requireCompass = true
# Display player coordinates (true/false)
showCoordinates = true
# Coordinates position: top-left, top-right, bottom-left, bottom-right
coordinatesPosition = "bottom-left"
# Configuration Serveur (server_config.toml)
# Better Compass Server Configuration
# This file controls what client settings the server can override
# Only the following settings can be controlled by the server:
# Available values: 'true' (force enabled), 'false' (force disabled), 'client' (let client choose)
# Whether a compass is required in inventory to display HUD
requireCompass = "client"
# Display player coordinates
showCoordinates = "client"
🎯 Usage
- Client only : The mod works with local configuration
- Server : Administrators can control display for all players
- Override : Server parameters take priority over client parameters
- Flexibility : "client" option allows individual player choice
Development Notes
Forge Version : 1.20.1 Architecture : Client-Server with network synchronization Compatibility : Single-player and Multi-player Performance : Optimized for minimal performance impact
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:mUH0QgBW:L1aGqv1t"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:mUH0QgBW:L1aGqv1t"
}
