Modscraper Modscraper Minecraft
Journey Mode logo

Journey Mode

Mod

A Minecraft mod that allows you to unlock unlimited access to items after collecting enough of them.

Type

Mod

Modrinth Downloads

594

Modrinth ID

OMRJLjO7

Last Updated

May 19, 2026

Description

Journey Mode

A Minecraft mod that allows you to unlock unlimited access to items after collecting enough of them. Available natively for both Fabric and NeoForge on Minecraft 1.21.1.

NeoForge Fabric License Downloads

๐ŸŽฎ What is Journey Mode?

Journey Mode transforms your Minecraft experience by allowing you to unlock items permanently after collecting enough of them. Once unlocked, you can retrieve unlimited copies of that item whenever you need them!

Perfect for:

  • ๐Ÿ—๏ธ Builders - Never run out of building materials
  • โš—๏ธ Modpack Players - Streamline repetitive crafting
  • ๐ŸŽฏ Completionists - Track your item collection progress
  • ๐ŸŽฎ Casual Players - Reduce grinding after initial collection

๐Ÿ“ธ Screenshots

Deposit Tab - Empty

Empty Deposit Window The deposit tab where you begin your journey

Deposit Tab - With Item

Deposit Window with Item Place an item to see how many you need to unlock it

Journey Tab - Unlocked Items

Journey Tab with Unlocked Items Access all your unlocked items with infinite retrieval

โœจ Features

Core Gameplay

  • Reconstructed Core Engine: Revamped and rebuilt back from the verified stable 1.4.0 codebase, completely resolving previous experimental multi-module startup crashes and desync issues.
  • Smart Unlock System: Deposit items to track your collection progress toward unlocking them permanently.
    • Dynamic thresholds scaled automatically based on item complexity via a cycle-breaking recipe tree solver.
    • Tools, weapons, & armor: Only 1 required.
    • Raw materials (ores, logs, dirt): Full stack (64).
    • Crafted items (Planks, blocks): Scaled by recipe depth (50% or 25% stack size).
    • Complex crafted items: Only 1 required.
  • Safe Saved Data Persistence: Progress and unlocks are persisted natively inside standard level NBT attachments, completely avoiding fragile external JSON player data files, ensuring 100% data security and server portability.
  • Dual-Tab GUI: Beautiful custom layout featuring separate Deposit and Journey tabs with integrated inventory labels.
  • Real-Time Search & Filtering: Locate items instantly via a case-insensitive search bar in the Journey tab.
  • Smart Sorting: Items are automatically sorted with your most recently unlocked items displayed first.
  • Bulk Inventory Utilities:
    • Bulk Dump: Shift-click items in your inventory while inside the Journey tab to instantly delete the stack if that item is already unlocked.
    • Drag Grid Deletion: Drag an item stack from inventory and left-clicking it directly on its matching unlocked icon in the Journey grid deletes the carried cursor stack immediately.
  • Dimension-Swap & Death Immunity: Attachments are protected via a robust persistent server engine, keeping player unlocks fully safe across dimension boundaries, respawning, and death desyncs.

Commands & Controls

  • Journey Mode Toggle: Enable/disable Journey Mode per player with simple Brigadier commands:
    • /journeymode on - Enable Journey Mode (allows opening GUI and depositing)
    • /journeymode off - Disable Journey Mode
    • /journeymode status - Check current toggle status
    • /journeymode reset - Wipe your personal unlock progress instantly
  • Customizable Keybind: Default key J opens the catalog interface (fully bindable under Options โ†’ Controls โ†’ Key Binds โ†’ Journey Mode).

Configuration

  • Hot-Reloadable Configs: Instantly customize mod configurations located under config/Journey Mode/:
    • blacklist.json - Prevent specific items from being deposited or unlocked (e.g. bedrock, barriers).
    • custom_thresholds.json - Override recipe-based calculations with custom thresholds for specific items.
  • No Restart Required: Config edits apply dynamically in-game without restarting the client or server.

Native Multi-Loader Support

  • โœ… NeoForge 1.21.1 - Native compilation using official Mojang mappings.
  • โœ… Fabric 1.21.1 - Standalone secondary project using official Mojang mappings and native Fabric API networking.
  • ๐Ÿ”„ 100% Feature Parity - Identical mechanics, interfaces, and file formats across both loaders.

๐Ÿ“ฆ How It Works

  1. Deposit Items: Open the Journey Mode menu (press J) and place items in the deposit slot

    Empty Deposit Window

  2. Track Progress: Each item you deposit counts toward the unlock threshold

    Deposit Window with Progress

  3. Unlock Items: Once you've deposited enough of an item type, it becomes unlocked

  4. Infinite Retrieval: Switch to the Journey tab and click any unlocked item to retrieve it

    Journey Tab

    • Left-click: Get 1 item
    • Shift + Left-click: Get 64 items

๐Ÿš€ Installation

Requirements

For NeoForge

  • Minecraft: 1.21.1
  • NeoForge: 21.1.72 or higher
  • Java: 21 or higher

For Fabric

  • Minecraft: 1.21.1
  • Fabric Loader: 0.19.2 or higher
  • Fabric API: 0.102.1+1.21.1 or higher (required dependency)
  • Java: 21 or higher

Download

Choose your mod loader:

Also available on:

๐Ÿ“– How to Use

Commands

/journeymode on # Enable Journey Mode for yourself /journeymode off # Disable Journey Mode for yourself /journeymode status # Check if Journey Mode is enabled /journeymode reset # Reset your unlock progress

Understanding Thresholds

Journey Mode automatically calculates smart thresholds based on crafting complexity:

Item Type Example Threshold Tools & Armor Diamond Pickaxe 1 item Complex Crafted Redstone Comparator 1 item Raw Materials Iron Ore, Logs 64 items (full stack) Crafted (Depth 1) Iron Ingot, Planks 32 items (50%) Crafted (Depth 2) Iron Block 16 items (25%) Non-Stackable Bucket, Shears 1 item

Thresholds can be overridden inside custom_thresholds.json!

โš™๏ธ Configuration

Config files are automatically generated under config/Journey Mode/

blacklist.json

Prevent specific items from being deposited:

{ "_comment": "Add item IDs to blacklist them from Journey Mode", "blacklisted_items": [ "minecraft:bedrock", "minecraft:barrier", "minecraft:command_block", "minecraft:structure_void" ] }

custom_thresholds.json

Override unlock requirements for specific items:

{ "_comment": "Override unlock thresholds for specific items", "thresholds": { "minecraft:diamond": 10, "minecraft:netherite_ingot": 5, "minecraft:elytra": 1, "minecraft:enchanted_golden_apple": 3 } }

๐Ÿ—บ๏ธ Roadmap

Current Status

  • โœ… Phase 1: NeoForge 1.21.1 Core Features (Complete)
  • โœ… Phase 2: Reconstructed Stable Codebase (Complete)
  • โœ… Phase 3: Standalone Fabric Port (Complete)
  • โœ… Phase 4: Automated Multi-Platform Deployments (Complete)

Future Plans

  • โœจ Custom GUI textures (vanilla styled tabs and scrollbar rendering)
  • โœจ Export/import unlocked items catalog via text/JSON clips
  • โœจ Sound effects for unlocking events and deposits
  • โœจ Shared locks / team progress sync for multiplayer servers

๐Ÿ”ง Development Setup

Prerequisites

  • JDK 21 or later
  • Git

Building NeoForge Mod (Root Project)

# Clone the repository git clone https://github.com/Aryangpt007/Journey-Mode.git cd Journey-Mode # Compile NeoForge JAR .\gradlew.bat clean build # Built JAR resides inside: build/libs/

Building Fabric Mod (Nested Project)

cd Fabric # Compile Fabric JAR .\gradlew.bat clean build # Built JAR resides inside: Fabric/build/libs/

Project Structure

journey-mode/ # Root NeoForge 1.21.1 Project โ”œโ”€โ”€ src/ # NeoForge source code โ”œโ”€โ”€ build.gradle # NeoForge build configuration โ”œโ”€โ”€ Fabric/ # Nested Standalone Fabric Project โ”‚ โ”œโ”€โ”€ src/ # Fabric source code โ”‚ โ””โ”€โ”€ build.gradle # Fabric build configuration โ””โ”€โ”€ libs_dist/ # Pre-built release distribution JARs

๐Ÿ“‹ Changelog

Version 1.6.0N

Release Date: May 19, 2026

๐Ÿš€ Complete Mod Reconstruction & Porting

  • Experimental Recovery & Revamp: Previous experimental builds of both NeoForge and Fabric were broken due to the introduction of a complex multi-module architecture. We have completely revamped and reconstructed both loader projects back from the 1.4.0 codebase, which was the last verified stable build before introducing multi-module setups.
  • 100% Bug-Free Native JARs: Both the Fabric 1.21.1 and NeoForge 1.21.1 mods are now compiled natively and work perfectly without any runtime bugs or crashes.
  • Native NBT Saved Data Persistence: User player data is no longer saved in an external JSON file. Progress and unlocks are persisted natively inside standard level NBT attachments, resolving server portability and synchronization issues.
  • Fabric 1.21.1 Native Port: Fully implemented the Fabric version inside the Fabric/ directory with 100% feature-parity.
  • Enforced Gradle Mappings Isolation: Re-configured Gradle scripts to run official Mojang mappings (mappings loom.officialMojangMappings()) natively alongside Fabric Loader 0.19.2, ensuring perfect compile-time type-safety.
  • Safe Container Mixins: Ported screen mixins (HandledScreenMixin.java) to inject cleanly on top of AbstractContainerScreen in the Mojmap environment.
  • dimension-swap Immune Core: Fabric player unlock attachments utilize a robust static JVM map tracking handler inside GlobalDataHandler.java, keeping player data fully safe across dimension boundaries or deaths without relying on heavy platform serialization systems.

Version 1.5.0N

Release Date: May 19, 2026

Major Physical Side-Safety & Code Polish

  • ๐Ÿ›ก๏ธ Physical Side-Safety Fixes: Nested ClientKeyHandler inside ClientSetup.java (a client-only class) and removed all client-side imports (Minecraft, ClientTickEvent, GLFW, etc.) from JourneyModeEvents.java (a common class loaded on the dedicated server). This guarantees zero startup crashes or class-loading errors on dedicated servers.
  • ๐Ÿงน Unused Import Cleanups: Removed dead Minecraft client class references from the common SyncJourneyDataPacket.java.
  • ๐Ÿ—‘๏ธ Redundant File Deletion: Removed the obsolete and unused KeyBindings.java file to clean the codebase.

Real-Time Global Save Portability & Sync

  • ๐Ÿ’พ Global Unlocks Portability: Created GlobalDataHandler.java to read and write player unlocks to a central journeymode_unlocks.json file in the base Minecraft installation directory (FMLPaths.GAMEDIR).
  • ๐Ÿ”„ Real-Time World Portability: Unlocks are dynamically keyed by player UUIDs. Moving or sharing journeymode_unlocks.json enables carrying forward unlocks across completely different worlds, servers, or modpack instances.
  • ๐Ÿ”‘ Real-Time Action Sync:
    • Login Sync: Automatically loads a player's global saves on joining a world via the PlayerLoggedInEvent listener.
    • Dimension & Death Sync: Added a robust PlayerEvent.Clone handler that copies player attachment data across dimensions or respawns via the new copyFrom() helper and syncs to the client.
    • Real-Time Writes: Saves the player's updated unlocks instantly to the global JSON file whenever an item is deposited or Journey Mode status is command-toggled.

Journey Mode Reset Command

  • ๐Ÿงน Reset Command: Implemented a new command /journeymode reset to instantly wipe a player's progress and unlocks.
  • โšก Real-Time Reset Sync: Wipes the attachment data, saves the empty state to journeymode_unlocks.json, and updates the client screen instantaneously.

Version 1.4.1N

Release Date: May 19, 2026

Journey Tab Dumping & Deletion Mechanics

  • ๐Ÿ—‘๏ธ Shift-Click Dump: Shift-clicking items in player inventory while viewing the Journey tab instantly deletes the stack if that item has already been unlocked in their Journey catalog.
  • ๐Ÿซณ Drag-and-Drop Grid Deletion: Dragging an item stack from inventory and left-clicking it directly on its matching unlocked icon in the Journey grid deletes the carried cursor stack immediately.
  • ๐ŸŒ Menu Tab Syncing: Added SyncTabPacket and DeleteCarriedPacket to track the player's active tab and process deletes securely on the server-side.

Critical Bug Fixes (v1.4.0 Baseline Resolution)

  • ๐Ÿšซ Slot Visibility & Clicks blocked: Deactivated the deposit slot and hid its rendering in the Journey tab client interface via ConditionalSlot and renderSlot override filters.
  • ๐Ÿ›ก๏ธ Item-Loss Prevention on Close: Relocated the deposit slot cleanup code to the server-side menu removed() container method, preventing client packet bypasses.
  • ๐Ÿ’ฅ Attachment Serialization Crash Resolved: Switched the capability codec serialization from mojang's record codebuilder to flat GSON-based Codec.STRING.xmap(...) flat serialization.

Version 1.4.0

Release Date: October 31, 2025

Major Features - Phase 1 Complete

  • โœ… Journey Mode Toggle System
    • Per-player enable/disable via /journeymode on|off command
    • Default: Enabled for all players
    • Disabled players cannot open GUI or deposit items
    • Status check: /journeymode without arguments
    • Toggle state persists across sessions
  • โš™๏ธ Configuration System (JSON-based like ProjectE)
    • Config folder: config/Journey Mode/
    • blacklist.json: Block specific items from being deposited
      • Auto-generates with common examples (bedrock, barrier, command blocks)
      • Add/remove item IDs as needed
    • custom_thresholds.json: Custom unlock requirements per item
      • Override recipe-based calculations
      • Examples included (diamond, netherite, elytra)
    • journeymode-common.toml: Main config (currently minimal)
    • All configs hot-reload without server restart
  • JourneyModeCommand: Brigadier command with on/off/status subcommands
  • RecipeDepthCalculator: Config override check before recipe calculation
  • JourneyModeMenu: Blacklist validation in processDeposit()
  • OpenJourneyMenuPacket: Toggle state check before opening GUI
  • All features properly localized in en_us.json

Version 1.3.4 - v1.0.0

See full version history

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ”— Links

๐Ÿ‘ค Author

Aryangpt007 - @Aryangpt007

๐Ÿ™ Acknowledgments

  • NeoForge team for the excellent modding framework
  • Fabric team for the modding API
  • Minecraft modding community for documentation and support

Made with โค๏ธ for the Minecraft community

Compatibility

Mod Loaders

Fabric Neoforge

Game Versions

1.21 1.21.1

Similar Mods

External Resources