Перейти к содержимому
Mineforgian

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

Загрузки
600
Подписчики
6
Обновлён
14 января 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 5 января 2026 г.

🧭 Better Compass

Better Compass is a lightweight and fully configurable Minecraft mod that adds a modern compass HUD with directional indicators, coordinates display, biome info, and dimension tracking. It features a complete theming system with multiple pre-designed themes and full server-client configuration management.

⚠️ By default, a compass must be present in the player's inventory for the HUD to work (configurable via server or client settings).

✨ Features

📍 Directional Indicators - Shows 8 cardinal directions (N, NE, E, SE, S, SW, W, NW)
🎯 Facing Angle - Displays exact facing direction in degrees with smooth animation
📐 Coordinates Display - Real-time X, Y, Z coordinates with customizable position and scale
🌍 Dimension Info - Shows current dimension (Overworld/Nether/End)
🗺️ Biome Display - Displays current biome name
🎨 Theme System - 4 pre-built themes (default, compact, colorful, immersive) with full customization
⚙️ Custom Themes - Create unlimited custom themes with 50+ configurable parameters
🔧 Hot-Reload - Reload themes without restarting with /bettercompass theme reload
🌐 Full Customization - Configure colors, positions, sizes, and animations via TOML files
📡 Server Override - Servers can force themes and settings on all connected clients
🧭 Compass Requirement - Toggle compass requirement at server or client level
🚀 Lightweight - Optimized for minimal performance impact
💻 Multi-Platform - Available for both Forge and Fabric

⚙️ Configuration

The mod uses TOML configuration files for complete customization:

Client Configuration (config/bettercompass/compass.toml):

requireCompass = false
currentTheme = "default"
  • requireCompass: If true, HUD only appears with a compass in inventory
  • currentTheme: Selected theme (default, compact, colorful, immersive, or custom)

Server Configuration (server_config.toml):

serverForceTheme = false
serverTheme = "default"
requireCompass = "client"
  • serverForceTheme: If true, forces all clients to use the specified theme
  • serverTheme: Theme to enforce on all players (ignored if serverForceTheme = false)
  • requireCompass: "client" (player chooses), "true" (required), "false" (optional)

🎨 Theme System

Themes are stored in config/bettercompass/themes/ as TOML files. Each theme contains:

  • Colors: Primary, secondary, background, text, border (ARGB format)
  • Dimensions: Compass size, text scale, padding, border width
  • Positions: X, Y coordinates for each HUD element
  • Coordinates Display: Position, scale, and visibility
  • Dimension Display: Position, scale, and visibility
  • Biome Display: Position, scale, and visibility
  • Animation: Smooth rotation speed and other effects
  • Metadata: Theme name, author, and description

Supported Color Formats:

  • ARGB: 0xAARRGGBB (e.g., 0xFF00FF00 for opaque green)
  • Hex: #RRGGBB (e.g., #00FF00)
  • RGB: rgb(255, 0, 0)
  • RGBA: rgba(255, 0, 0, 128)

Example Theme (config/bettercompass/themes/custom.toml):

# Better Compass Theme: default
# Classic Better Compass theme

[metadata]
name = "default"
description = "Classic Better Compass theme"
author = "Better Compass"
version = "1.0"

[position]
hudPosition = "top-center"
hudOffsetX = 0
hudOffsetY = 0

[compass]
width = 400
height = 20
spacing = 90
scale = 1.0

[colors]
background = 0x80000000
border = 0xFFFFFFFF
text = 0xFFFFFFFF
direction = 0xFFAAAAAA
north = 0xFFFF0000
east = 0xFFFFFFFF
south = 0xFFFFFFFF
west = 0xFFFFFFFF
playerDirection = 0xFFFFFFFF
coordinates = 0xFFFFFFFF
dimension = 0xFFFFFFFF
biome = 0xFFFFFFFF

[playerDirection]
position = "center"
offsetX = 0
offsetY = 0

[coordinates]
show = true
position = "bottom-center"
offsetX = 0
offsetY = -15
format = "X: %d Y: %d Z: %d"

[dimension]
show = false
position = "below-coordinates"
offsetX = 0
offsetY = 12

[biome]
show = false
position = "below-dimension"
offsetX = 0
offsetY = 12

[appearance]
showBorder = false
borderWidth = 1
borderRadius = 3
showBackground = false
backgroundPadding = 4
textScale = 1.0
textShadow = false

[animation]
smoothRotation = false
rotationSpeed = 0.3

Simply create a new TOML file in config/bettercompass/themes/ with your own theme configuration. The theme will be automatically loaded and available through commands.

All commands support Tab-completion for theme names.

  • /bettercompass theme list - Display all available themes with the current one marked
  • /bettercompass theme set <name> - Switch to a specific theme (saved to config)
  • /bettercompass theme current - Show the currently active theme and its properties
  • /bettercompass theme reload - Hot-reload all themes from disk (useful for developers)

🌐 Server Compatibility

Better Compass features complete server-client integration:

  • Client-only mode: Works seamlessly in single-player
  • Server mode: Administrators can enforce themes and settings across all players
  • Real-time sync: Configuration changes sync immediately when players join
  • Override system: Server theme forcing takes priority over client preferences
  • Flexibility: Individual settings can be left to client choice or forced server-wide

🎯 Default Themes

  1. default - Balanced, clean design suitable for most playstyles
  2. compact - Optimized for smaller screens and minimal HUD footprint
  3. colorful - Vibrant colors for better visibility and visual appeal
  4. immersive - Subtle and elegant design for atmosphere preservation

💡 Creating Custom Themes

Simply create a new TOML file in config/bettercompass/themes/ with any name. Themes are automatically loaded and available through commands. The theme system provides 50+ customizable parameters to match any player preference or server aesthetic.

🎯 Mod Goal

Better Compass enhances navigation with a modern, highly customizable interface while maintaining vanilla-friendly balance. Whether you prefer a subtle compass or a feature-rich HUD, the extensive theme system accommodates every playstyle in both single-player and multiplayer environments.

Ченджлог

bettercompass-1.20.1-1.2.0-forgeРелиз1.20.1 · 14 января 2026 г.

Better Compass Changelog

Theme Commands

/bettercompass theme list

Displays all available themes with a marker (§a▶) for the active theme.

/bettercompass theme set <theme_name>

Changes the current theme. Supports Tab auto-completion.

/bettercompass theme reload

Reloads all themes from files (useful for developers).

/bettercompass theme current

Displays the currently active theme with all its settings.


Client Configuration

File: config/bettercompass/compass.toml

requireCompass = false
currentTheme = "default"
  • requireCompass: If true, the HUD only appears if the player has a compass
  • currentTheme: The selected theme (default, compact, colorful, immersive)

Server Configuration

File: server_config.toml

# If true, forces all clients to use the specified theme
serverForceTheme = false

# Theme to force on all clients (ignored if serverForceTheme = false)
serverTheme = "default"

# Compass configuration
requireCompass = "client"
  • serverForceTheme: Enables server-side theme forcing
  • serverTheme: Theme to enforce on all players
  • requireCompass: "client" (client decides), "true" (required), "false" (optional)

Theme System

Themes are stored in config/bettercompass/themes/ in TOML format.

Complete Example: "Custom" Theme

File: config/bettercompass/themes/custom.toml

# General colors (ARGB format: 0xAARRGGBB)
primaryColor = 0xFFFFFF00
secondaryColor = 0xFF00FF00
backgroundColor = 0x80000000
textColor = 0xFFFFFFFF
borderColor = 0xFFFF8800

# Dimensions and spacing
compassSize = 100
textScale = 1.0
padding = 5
borderWidth = 2

# Positions (x, y offsets from edges)
compassX = 10
compassY = 10

# Coordinates display
showCoordinates = true
coordinatesX = 10
coordinatesY = 30
coordinatesScale = 0.8

# Dimension display
showDimension = true
dimensionX = 10
dimensionY = 50
dimensionScale = 0.8

# Biome display
showBiome = true
biomeX = 10
biomeY = 70
biomeScale = 0.8

# Animation
enableSmoothRotation = true
rotationSpeed = 0.1

# Theme metadata
themeName = "Custom"
themeAuthor = "Player"
themeDescription = "A custom theme for Better Compass"

Field Explanations

Field Type Description
primaryColor ARGB Color Main compass color
secondaryColor ARGB Color Secondary color (details)
backgroundColor ARGB Color HUD background color
textColor ARGB Color Text color
borderColor ARGB Color Border color
compassSize Number Compass size in pixels
textScale Number Text scale (1.0 = normal)
showCoordinates Boolean Display X/Y/Z
showDimension Boolean Display dimension (Overworld/Nether/End)
showBiome Boolean Display biome name
enableSmoothRotation Boolean Smooth rotation animation

Supported Color Formats

  • ARGB (recommended): 0xAARRGGBB e.g. 0xFF00FF00 (opaque green)
  • Short hex: #RRGGBB e.g. #00FF00
  • RGB: rgb(255, 0, 0) (red)
  • RGBA: rgba(255, 0, 0, 128) (semi-transparent red)

Default Themes

4 themes are included:

  1. default - Balanced standard theme
  2. compact - Reduced version for small screens
  3. colorful - Vibrant and attractive colors
  4. immersive - Clean and subtle design

Summary of Additions

Theme commands - /bettercompass theme <list|set|reload|current>
Simplified client config - Only requireCompass and currentTheme
Server config - serverForceTheme and serverTheme to control clients
Complete theme system - 50+ customizable parameters per theme
4 default themes - Automatically included in the mod
Auto-completion - Tab-completion for theme names

bettercompass-1.20.2-1.2.0-forgeРелиз1.20.2 · 14 января 2026 г.

Better Compass Changelog

Theme Commands

/bettercompass theme list

Displays all available themes with a marker (§a▶) for the active theme.

/bettercompass theme set <theme_name>

Changes the current theme. Supports Tab auto-completion.

/bettercompass theme reload

Reloads all themes from files (useful for developers).

/bettercompass theme current

Displays the currently active theme with all its settings.


Client Configuration

File: config/bettercompass/compass.toml

requireCompass = false
currentTheme = "default"
  • requireCompass: If true, the HUD only appears if the player has a compass
  • currentTheme: The selected theme (default, compact, colorful, immersive)

Server Configuration

File: server_config.toml

# If true, forces all clients to use the specified theme
serverForceTheme = false

# Theme to force on all clients (ignored if serverForceTheme = false)
serverTheme = "default"

# Compass configuration
requireCompass = "client"
  • serverForceTheme: Enables server-side theme forcing
  • serverTheme: Theme to enforce on all players
  • requireCompass: "client" (client decides), "true" (required), "false" (optional)

Theme System

Themes are stored in config/bettercompass/themes/ in TOML format.

Complete Example: "Custom" Theme

File: config/bettercompass/themes/custom.toml

# General colors (ARGB format: 0xAARRGGBB)
primaryColor = 0xFFFFFF00
secondaryColor = 0xFF00FF00
backgroundColor = 0x80000000
textColor = 0xFFFFFFFF
borderColor = 0xFFFF8800

# Dimensions and spacing
compassSize = 100
textScale = 1.0
padding = 5
borderWidth = 2

# Positions (x, y offsets from edges)
compassX = 10
compassY = 10

# Coordinates display
showCoordinates = true
coordinatesX = 10
coordinatesY = 30
coordinatesScale = 0.8

# Dimension display
showDimension = true
dimensionX = 10
dimensionY = 50
dimensionScale = 0.8

# Biome display
showBiome = true
biomeX = 10
biomeY = 70
biomeScale = 0.8

# Animation
enableSmoothRotation = true
rotationSpeed = 0.1

# Theme metadata
themeName = "Custom"
themeAuthor = "Player"
themeDescription = "A custom theme for Better Compass"

Field Explanations

Field Type Description
primaryColor ARGB Color Main compass color
secondaryColor ARGB Color Secondary color (details)
backgroundColor ARGB Color HUD background color
textColor ARGB Color Text color
borderColor ARGB Color Border color
compassSize Number Compass size in pixels
textScale Number Text scale (1.0 = normal)
showCoordinates Boolean Display X/Y/Z
showDimension Boolean Display dimension (Overworld/Nether/End)
showBiome Boolean Display biome name
enableSmoothRotation Boolean Smooth rotation animation

Supported Color Formats

  • ARGB (recommended): 0xAARRGGBB e.g. 0xFF00FF00 (opaque green)
  • Short hex: #RRGGBB e.g. #00FF00
  • RGB: rgb(255, 0, 0) (red)
  • RGBA: rgba(255, 0, 0, 128) (semi-transparent red)

Default Themes

4 themes are included:

  1. default - Balanced standard theme
  2. compact - Reduced version for small screens
  3. colorful - Vibrant and attractive colors
  4. immersive - Clean and subtle design

Summary of Additions

Theme commands - /bettercompass theme <list|set|reload|current>
Simplified client config - Only requireCompass and currentTheme
Server config - serverForceTheme and serverTheme to control clients
Complete theme system - 50+ customizable parameters per theme
4 default themes - Automatically included in the mod
Auto-completion - Tab-completion for theme names

bettercompass-1.20.x-1.2.0-fabriРелиз1.20.4, 1.20.5, 1.20.6 · 14 января 2026 г.

Better Compass Changelog

Theme Commands

/bettercompass theme list

Displays all available themes with a marker (§a▶) for the active theme.

/bettercompass theme set <theme_name>

Changes the current theme. Supports Tab auto-completion.

/bettercompass theme reload

Reloads all themes from files (useful for developers).

/bettercompass theme current

Displays the currently active theme with all its settings.


Client Configuration

File: config/bettercompass/compass.toml

requireCompass = false
currentTheme = "default"
  • requireCompass: If true, the HUD only appears if the player has a compass
  • currentTheme: The selected theme (default, compact, colorful, immersive)

Server Configuration

File: server_config.toml

# If true, forces all clients to use the specified theme
serverForceTheme = false

# Theme to force on all clients (ignored if serverForceTheme = false)
serverTheme = "default"

# Compass configuration
requireCompass = "client"
  • serverForceTheme: Enables server-side theme forcing
  • serverTheme: Theme to enforce on all players
  • requireCompass: "client" (client decides), "true" (required), "false" (optional)

Theme System

Themes are stored in config/bettercompass/themes/ in TOML format.

Complete Example: "Custom" Theme

File: config/bettercompass/themes/custom.toml

# General colors (ARGB format: 0xAARRGGBB)
primaryColor = 0xFFFFFF00
secondaryColor = 0xFF00FF00
backgroundColor = 0x80000000
textColor = 0xFFFFFFFF
borderColor = 0xFFFF8800

# Dimensions and spacing
compassSize = 100
textScale = 1.0
padding = 5
borderWidth = 2

# Positions (x, y offsets from edges)
compassX = 10
compassY = 10

# Coordinates display
showCoordinates = true
coordinatesX = 10
coordinatesY = 30
coordinatesScale = 0.8

# Dimension display
showDimension = true
dimensionX = 10
dimensionY = 50
dimensionScale = 0.8

# Biome display
showBiome = true
biomeX = 10
biomeY = 70
biomeScale = 0.8

# Animation
enableSmoothRotation = true
rotationSpeed = 0.1

# Theme metadata
themeName = "Custom"
themeAuthor = "Player"
themeDescription = "A custom theme for Better Compass"

Field Explanations

Field Type Description
primaryColor ARGB Color Main compass color
secondaryColor ARGB Color Secondary color (details)
backgroundColor ARGB Color HUD background color
textColor ARGB Color Text color
borderColor ARGB Color Border color
compassSize Number Compass size in pixels
textScale Number Text scale (1.0 = normal)
showCoordinates Boolean Display X/Y/Z
showDimension Boolean Display dimension (Overworld/Nether/End)
showBiome Boolean Display biome name
enableSmoothRotation Boolean Smooth rotation animation

Supported Color Formats

  • ARGB (recommended): 0xAARRGGBB e.g. 0xFF00FF00 (opaque green)
  • Short hex: #RRGGBB e.g. #00FF00
  • RGB: rgb(255, 0, 0) (red)
  • RGBA: rgba(255, 0, 0, 128) (semi-transparent red)

Default Themes

4 themes are included:

  1. default - Balanced standard theme
  2. compact - Reduced version for small screens
  3. colorful - Vibrant and attractive colors
  4. immersive - Clean and subtle design

Summary of Additions

Theme commands - /bettercompass theme <list|set|reload|current>
Simplified client config - Only requireCompass and currentTheme
Server config - serverForceTheme and serverTheme to control clients
Complete theme system - 50+ customizable parameters per theme
4 default themes - Automatically included in the mod
Auto-completion - Tab-completion for theme names

bettercompass-1.1.0-forge-1.20.1Релиз1.20.4, 1.20.5, 1.20.6 · 9 января 2026 г.

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

  1. Client only : The mod works with local configuration
  2. Server : Administrators can control display for all players
  3. Override : Server parameters take priority over client parameters
  4. 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

Комментарии

Загружаем…