promotional bannermobile promotional banner

Journey Mode JM

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

File Details

journeymode-1.4.0.jar

  • B
  • Oct 30, 2025
  • 49.48 KB
  • 10
  • 1.21.1
  • NeoForge

File Name

journeymode-1.4.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:journey-mode-1375363:7168554"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

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

Technical Implementation

  • ConfigHandler.java: JSON file handling (following ProjectE pattern)
  • JourneyDataAttachment: Added enabled boolean field with Codec serialization
  • 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

Configuration Examples

blacklist.json:

{
  "_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:

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

User Experience

  • Commands show colored feedback messages
  • Blacklisted items display clear error message
  • Disabled state prevents GUI opening with explanation
  • Config changes hot-reload without server restart
  • Recipe-based thresholds remain default behavior