
Odyssey Map
Explore. Navigate. Never get lost again. A clean, lightweight minimap and fullscreen map for Minecraft.
Список изменений
Odyssey Map v1.3.0
Release Date: September 3, 2026
Supported MC Versions: 1.20.1 (Forge/Fabric), 1.21.1 (NeoForge/Fabric), 26.1.2 (NeoForge/Fabric), 26.2 (NeoForge/Fabric)
License
- Relicensed the project from GPL-3.0-only to Apache License 2.0.
- Added standard OSS contributor docs (NOTICE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, .github/SECURITY.md).
Build / packaging
- Added root Gradle aggregator (uildAll → ll-jars/) covering all four version roots.
- Added local Modrinth + CurseForge upload script.
- Removed committed release jars and MultiLoader template READMEs.
Upgrade Notes
- Replace any
odysseymap-*-1.2.2.jarwith the matching 1.3.0 loader jar. - No config reset required.
Odyssey Map v1.2.2
Release Date: August 27, 2026
Supported MC Versions: 1.20.1 (Forge/Fabric), 1.21.1 (NeoForge/Fabric), 26.1.2 (NeoForge/Fabric), 26.2 (NeoForge/Fabric)
Bug Fixes
- Fixed MC 26.2 NeoForge/Fabric startup crash —
MixinGuitargeted an obsoleteextractRenderState(GuiGraphicsExtractor, DeltaTracker)descriptor. Vanilla 26.2 usesextractRenderState(DeltaTracker, boolean, boolean)and buildsGuiGraphicsExtractorlocally. The mixin now matches that signature, shadowsguiRenderState, and draws the minimap beforeapplyCursor.
Upgrade Notes
- Replace
odysseymap-*-26.2-1.2.1.jarwith the matching 1.2.2 loader jar. - No config reset required.
Odyssey Map v1.2.1
Release Date: July 16, 2026
Supported MC Versions: 1.20.1 (Forge/Fabric), 1.21.1 (NeoForge/Fabric), 26.1.2 (NeoForge/Fabric), 26.2 (NeoForge/Fabric)
Bug Fixes
- Fixed MC 26.2 client crash on launch (Fabric/NeoForge) —
GameRendererAccessorshadowedmainCameraas an interface field, which Java treats asstatic. Mixin rejected the apply withSTATIC modifier of @Shadow field mainCamera does not match the target. Removed the broken accessor and now use the publicGameRenderer.mainCamera()method. - Hardened LevelRenderer access on MC 26.2 — Replaced the same static
@Shadowfield pattern onLevelRendererAccessor.submitNodeStoragewith a proper@Accessorgetter so world waypoint rendering cannot hit the same mixin failure.
Technical Changes
- Deleted
GameRendererAccessor(Fabric + NeoForge) for MC 26.2. MixinGameRenderernow reads the camera viamc.gameRenderer.mainCamera().LevelRendererAccessoruses@Accessor("submitNodeStorage")instead of an interface@Shadowfield.
Odyssey Map v1.2.0
Release Date: June 24, 2026
Supported MC Versions: 1.20.1 (Forge/Fabric), 1.21.1 (NeoForge/Fabric), 26.1.2 (NeoForge/Fabric), 26.2 (NeoForge/Fabric)
New Features
- In-Game Settings Screen (MapSettingsScreen) — A comprehensive configuration UI screen directly accessible inside Minecraft. Players no longer need to edit
config.jsonmanually in their mod folders.- Accessible via a new
Settingsbutton on the Fullscreen Map top bar. - Bound to the default
Okey (fully rebindable in standard Controls config). - Divided into 4 categorical tabs:
- Minimap: Toggle minimap HUD, adjust size (64-512px), screen corner position, shape (circle/square), zoom, rotation mode, transparency, and show/hide options.
- HUD & Markers: Toggle overlays (compass, coordinates) and configure individual marker visibility (players, waypoints, death, beds, portals, structures, entities, distance overlays, and clamping).
- Fullscreen Map: Enable/disable map features, default zoom level, grid display, max waypoint limit, and safe render mode.
- Performance: Configure performance preset presets, scan interval, columns per tick, border thickness, and custom border color (Hex ARGB field with a live color swatch).
- Auto-Saving: Any changed options save automatically to the configuration file on click and apply in-game immediately without requiring client restarts.
- Accessible via a new
Technical Improvements
- Custom standalone screen implementation per version in the
commonsubproject packagedev.nightbeam.odysseymap.guiensuring full compatibility across Fabric, Forge, and NeoForge mod loaders. - Updated English locale keys in
en_us.jsonfor settings key mappings.
Odyssey Map v1.1.0
Release Date: June 17, 2026
Supported MC Versions: 1.20.1 (Forge/Fabric), 1.21.1 (NeoForge/Fabric), 26.1.2 (NeoForge/Fabric)
Bug Fixes
- Fixed fullscreen map crash (MC 26.1.2) — Texture composition was running on the deferred GUI render thread, violating the new rendering pipeline. Moved
compose()andupload()to the client tick thread via a newFullscreenMapRenderercoordinator class. - Fixed thread safety in TileCache — Replaced
HashMapwithConcurrentHashMapand madecurrentDimensionvolatile to prevent concurrent modification during map rendering. - Fixed texture upload/register crashes — Wrapped
DynamicTexture.upload()andTextureManager.register()in try-catch blocks with atextureReadyflag to prevent hard crashes on GPU upload failures. - Fixed NullPointerException in player head rendering — Added null checks for skin data (
getSkin().body().texturePath()/getSkin().texture()) before blitting player head icons, with a fallback to a simple dot marker. - Fixed fullscreen map opening without player/level — Added guards in
onOpenFullscreen()to prevent opening the map when player or level is null. - Fixed minimum map dimensions — Clamped fullscreen map panel to a minimum of 64x64 pixels to prevent degenerate rendering on small window sizes.
Improvements
- Fullscreen map UI refresh:
- Added a bordered frame around the map panel
- Added a close button (X) in the top-right corner
- Added zoom +/- buttons below the Recenter button
- Added current zoom level display
- Added current dimension label in the bottom-left corner
- "Loading map..." fallback — Shows a centered loading message when the map texture is not yet ready, instead of rendering nothing.
- Safe render mode — New config option
map.safeRenderModethat throttles fullscreen map composition to every 3 ticks, skips the player head blit, and uses simple dot markers to reduce GPU load. - Configurable waypoint rendering limits — New
map.maxWaypointsRenderedoption (default 100) caps how many waypoints are drawn on the fullscreen map to prevent frame drops in waypoint-heavy worlds. - Null-safe fullscreen map opening — The fullscreen map keybind now checks for player/level availability and config gates before opening.
New Features
- Waypoint search — A search box in the fullscreen map sidebar filters waypoints by name in real time.
- Waypoint favorites — Click the star icon on any waypoint to favorite it. Favorites sort to the top of the list and are persisted to disk.
- Waypoint visibility toggle — Click the eye icon to hide/show individual waypoints without deleting them. Hidden waypoints are still saved but not rendered on the map.
- New config options (under
mapsection):map.fullscreenEnabled— Enable/disable the fullscreen map (default: true)map.showCoordinates— Show coordinates overlay on fullscreen map (default: true)map.showWaypoints— Show waypoints on fullscreen map (default: true)map.showPlayerMarker— Show player marker on fullscreen map (default: true)map.maxWaypointsRendered— Max waypoints rendered (default: 100)map.safeRenderMode— Reduce rendering load (default: false)
Technical Changes
- New
FullscreenMapRendererclass handles deferred texture composition with dirty-flag caching and safe-mode throttling. MinimapTexturenow exposesisTextureReady()for callers to check texture availability before blitting.Markerclass gainedfavoritefield with getter/setter.MarkerManagergainedtoggleFavorite()andtoggleVisibility()methods.MarkerStoragenow serializes/deserializesvisibleandfavoritefields (backward compatible with old save files).MarkerListWidgetrewritten with search filtering, favorite-first sorting, and clickable star/eye icons.- Config values with
map.prefix are serialized into a nested JSON object for cleaner config files. - Updated
en_us.jsonlang file with new translation keys.
