Skip to content

Releases: ahm3tak1f616/Safepaths

v2.0.0 - The Paved Horizons Update

Choose a tag to compare

@ahm3tak1f616 ahm3tak1f616 released this 30 Sep 11:13

What's Changed in v2.0.0

⚡ Speed Roads & Self-Mapping

  • Speed-Only Road Blocks: You can now map any block to itself (e.g. stone_bricks -> stone_bricks or gravel -> gravel) in the config or GUI! Walking over these blocks grants the full movement speed bonus without trampling, replacing, or tracking decay on the block.
  • Gravel Road Preservation: By popular demand, gravel roads in the default config are now self-mapped (minecraft:gravel -> minecraft:gravel). Your carefully placed gravel roads will grant speed boosts and will no longer be turned into dirt paths.
  • Conflict & Duplicate Resolution: Added deterministic conflict resolution (putIfAbsent). If duplicate or conflicting rules are declared, the first rule takes priority cleanly without toggling or breaking in-game.

🎨 In-Game Visual Editor & GUI

  • Visual Conversions Screen: Configure your path conversions directly in-game! Includes an interactive block palette, real-time search filter, item icons, and animated selection borders.
  • Master Speed Controls: Easily toggle the speed boost ON/OFF and adjust the global speed multiplier directly inside the conversion screen.
  • Config Screen Stability: Added null-safe tooltip checks to the NeoForge mod configuration menu (IConfigScreenFactory), ensuring crash-free access from the in-game Mods menu.

⏳ Authentic Decay & Memory Persistence

  • Smart Decay Restoration: Paths that decay now revert to their authentic original ground block (e.g. sand paths revert to sand, peat paths to peat) rather than always turning into plain dirt.
  • Dimension SavedData Persistence: Trample progress and decay timers are now cleanly saved in dimension NBT data, persisting across server reboots and dimension transitions without memory leaks.
  • Unloaded Chunk Pruning: Distant and unloaded path tracking entries are automatically pruned after a multi-day grace period, ensuring zero chunk-loading lag.

🌐 Biome Mod Compatibility

  • Vanilla-Block Worldgen Overhauls: Verified 100% out-of-the-box compatibility with Terralith and Geophilic without requiring any extra setup.
  • Modded Surface Soil Defaults: Pre-configured out-of-the-box conversions for popular biome mods:
    • Oh The Biomes We've Gone (BWG)
    • Biomes O' Plenty (BOP)
    • Regions Unexplored

🧪 Automated Testing & Code Quality

  • Automated GameTest Suite: Verified with 7 passing in-engine GameTests covering pathing heuristics, farmland immunity, and persistent memory.
  • Refined Architecture: Cleaned up code structure, eliminated redundant suppression warnings, and streamlined event execution.

📦 Download & Installation

  • Minecraft Version: 1.21.1
  • Mod Loader: NeoForge 21.1.235+
  • File: safepaths-2.0.0.jar

Full Changelog: v1.2.0...v2.0.0

v1.2.0 - Smooth Speed Boost, Decay Refresh, Translations & Permissions

Choose a tag to compare

@ahm3tak1f616 ahm3tak1f616 released this 29 Sep 20:14

What's Changed in v1.2.0

⚡ Movement & Immersion

  • Smooth Speed Transitions: Added a 15-tick grace period and broad bounding-box checks for the path speed boost, eliminating jarring camera/FOV jitter when transitioning over slabs, stairs, jumps, and 1-block road gaps.
  • Dynamic Path Refresh: Walking on existing dirt paths now refreshes their decay timestamp, preventing active, frequented paths from decaying.
  • Concurrent Modification Fix: Safely queued decay reverts during level ticks, preventing server crashes during mass path decay.

🌐 Internationalization

  • Multi-Language Support: Added complete in-game and mod menu localizations for 9 languages:
    • 🇺🇸 English (en_us)
    • 🇩🇪 German (de_de)
    • 🇪🇸 Spanish (es_es)
    • 🇫🇷 French (fr_fr)
    • 🇯🇵 Japanese (ja_jp)
    • 🇧🇷 Portuguese (Brazil) (pt_br)
    • 🇷🇺 Russian (ru_ru)
    • 🇹🇷 Turkish (tr_tr)
    • 🇨🇳 Chinese (Simplified) (zh_cn)

📜 Licensing & Permissions

  • Modpack Permissions: Modpacks are now explicitly permitted to include Safepaths freely without asking, provided proper credit and a link to the project repository are given. Standalone re-uploading and distribution of modified binaries remain restricted under All Rights Reserved.

🛠️ Code Quality & Tests

  • Cleaned up IDE code inspections and suppressed false alarms across event subscribers and GameTests.
  • Streamlined test suite helpers for automated verification.

Full Changelog: v1.1.0...v1.2.0

Safepaths v1.1.0

Choose a tag to compare

@ahm3tak1f616 ahm3tak1f616 released this 16 Jul 20:57

1.1.0 - 2026-07-17

Changed

  • License switched from MIT to All Rights Reserved: modpacks and redistribution require prior permission (contact via GitHub)
  • Optimization and version bump

Full Changelog: v1.0.2...v1.1.0

Safepaths v1.0.2

Choose a tag to compare

@ahm3tak1f616 ahm3tak1f616 released this 16 Jul 15:21

1.0.2 - 2026-07-14

Added

  • GameTests for pathable tags, path memory, path formation, and farmland protection (./gradlew runGameTestServer)
  • In-game config screen (Mods → Safepaths → Config) wired to lang keys
  • Optional MineColonies dependency metadata in neoforge.mods.toml
  • README datapack tag documentation
  • Optimized mod logo (icon.png, 128×128)

Improved

  • Entity tick path logic is gated on an allow-list before block lookups (cheaper for unrelated mobs)
  • Speed boost re-applies when speedMultiplier / enableSpeedBoost change mid-session
  • Cleanup interval scales with constructionTime / decayTime (clamped 20–1000 ticks)
  • Unloaded path entries older than 2 × decayTime are pruned so memory cannot grow forever
  • Last-step cache cleared on level unload and server stop
  • Datapack tags: #safepaths:path_creators, #safepaths:path_blocked, #safepaths:cannot_become_path (same defaults as before)

Fixed

  • Path decay timers now refresh when entities walk on existing dirt paths
  • Path/trample memory is saved per dimension (SavedData), so decay and original-block restore survive restarts and stay isolated between worlds
  • Stale path memory is cleared on explosions, piston moves, and fluid block placement, and invalid entries are dropped when the block no longer matches
  • Speed boost now uses ADD_MULTIPLIED_TOTAL with default 0.2 so it matches Speed I (+20%) for all entities
  • NeoForge/Minecraft dependency ranges now come from Gradle properties
  • README accurately describes decay restore, farmland protection, and the speed boost
  • Path trample and decay now track dimension + position, so different worlds no longer share the same path data
  • Paths only form from steps while on the ground (flying, falling, and mid-jump no longer count)
  • requiredPasses is limited to 1–1000 so invalid config values cannot break the mod

Full Changelog: v1.0.0...v1.0.2

Safepaths v1.0.1

Choose a tag to compare

@ahm3tak1f616 ahm3tak1f616 released this 07 Jul 14:52
  • Refactored chunk loading logic: Optimized LevelTickEvent to prevent redundant checks.
  • Performance improvement: Added isLoaded checks to ensure path creation only occurs in active chunks, reducing overhead.
  • Compatibility: Refined event registration to adhere to NeoForge 1.21.1 standards.
  • Cleaned up project environment and resolved build path issues.
  • v1.0.1

Safepaths v1.0.0 - Initial Release

Choose a tag to compare

@ahm3tak1f616 ahm3tak1f616 released this 06 Jul 23:59
  • Initial release
  • v1.0.0