Patience

Quick rating

Community listing page, reviews here may not be monitored by the author.

Patience

By 333Owner

No reviews yet

Adds crafting time to your workstations, transforming instant items into a deliberate process.

QoL & Tweaks
Mod Loaders
Forge
NeoForge
Fabric
Quilt
Minecraft

Community voices

Reviews

List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Show per page
10
25
50
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Where It Runs
Client and Server

Must be installed on both the client and the server.

About

Project Details

Type
Mod
License
All Rights Reserved
Latest Version
Patience 2.2.3 (Fabric)

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

NeoForge Forge Fabric Quilt Modrinth CurseForge GitHub Discord

Adds crafting time to your workstations — clicking the output slot starts a timed process instead of completing the craft instantly. Progress is shown as a visual overlay with sounds and feedback. Fully server-authoritative: the config is synced to all clients on join and reload.

⚙️ Features

Crafting Delay — Base time scales with the number of ingredients and is modified by a stack of multipliers (global, per-container, per-ingredient, per-output, per-recipe). Crafting is blocked while moving. Creative mode bypasses the delay entirely.

Experience Scaling — Crafting speed increases with XP level through a custom patience:crafting_speed attribute. The attribute is exposed to other mods for integration.

Progress Decay — When enabled, moving during a craft causes progress to drain instead of cancelling outright. Leftover progress from an interrupted craft also decays over time. When decay is disabled, any movement immediately cancels the craft and resets progress.

Minigame — An optional skill check that can trigger mid-craft. A random section of the progress overlay is designated as the success zone. When progress reaches that zone, the overlay turns yellow — clicking the output slot during this completes the craft instantly. Missing it applies a time penalty. Clicking the output slot early when no minigame zone is active also applies a penalty. Green indicates success, red indicates failure.

Hunger — Each completed craft adds exhaustion. When hunger drops below a threshold, crafting speed is penalized.

Sounds — Each workstation has a unique looping crafting sound and a completion sound. Sounds can be overridden at three levels: per container, per item, or per tag.

Screen Shake — Optional camera shake during crafting. Disabled by default.

🔨 Supported Containers

Ships with preconfigured support for 17 workstations. All can be disabled, customized, or extended via config.

Vanilla

  • Player inventory (2×2)
  • Crafting table
  • Smithing table
  • Anvil
  • Grindstone
  • Stonecutter
  • Cartography table
  • Loom

Modded

🛠️ Configuration

Config is stored in patience.json in the game's config directory. A GUI screen is available when Cloth Config is installed (Fabric/Quilt via Mod Menu, NeoForge/Forge via the mods screen). The GUI covers general settings — multiplier maps and container definitions are JSON-only.

General

  • debug (default: false) — Log slot clicks, screen names, crafting state changes, and movement checks to the console
  • enable_sounds (default: true) — Play crafting and completion sounds
  • default_crafting_sound (default: patience:crafting) — Sound played during crafting
  • default_finish_sound (default: patience:finish) — Sound played on completion
  • default_penalty_sound (default: patience:penalty) — Sound played on penalty click
  • default_success_sound (default: patience:success) — Sound played on minigame success
  • global_time_multiplier (default: 1.0) — Multiplier applied to all craft times (0.0 - 100.0)

Experience

Speed formula: (attributeValue × baseSpeed) + (speedPerLevel × min(xpLevel, maxLevelCap))

  • enabled (default: true) — Enable XP-based crafting speed scaling
  • multiplier (default: 1.0) — Overall crafting speed multiplier (0.0 - 100.0)
  • base_speed (default: 1.0) — Base speed before XP bonus (0.01 - 100.0)
  • speed_per_level (default: 0.02) — Bonus speed per XP level (0.0 - 10.0)
  • max_level_cap (default: 200) — Levels above this are ignored (0 - 30000)

Decay

  • enabled (default: true) — Moving drains progress instead of cancelling the craft
  • rate (default: 2.0) — Progress lost per tick while moving or idle (0.0 - 100.0)

Screen Shake

  • enabled (default: false) — Camera shake during crafting
  • intensity (default: 0.5) — Shake strength (0.0 - 5.0)

Hunger

  • enabled (default: true) — Enable hunger exhaustion and speed penalty
  • exhaustion_cost (default: 0.1) — Exhaustion added per completed craft (0.0 - 40.0)
  • penalty.enabled (default: true) — Slow crafting at low hunger
  • penalty.threshold (default: 6) — Hunger level that triggers the penalty (0 - 20)
  • penalty.multiplier (default: 0.5) — Speed multiplier when below threshold (0.0 - 10.0)

Minigame

  • enabled (default: true) — Enable the skill-check minigame
  • chance (default: 0.5) — Probability of triggering per craft (0.0 - 1.0)
  • window_width (default: 0.15) — Success zone size as a fraction of total progress (0.01 - 0.5)
  • penalty_percent (default: 0.25) — Progress lost on failure as a fraction of remaining (0.0 - 1.0)
  • penalty_cancels_craft (default: true) — Cancel the craft when penalty clicks reduce progress to zero

Multipliers

Multiplier maps allow fine-grained control over craft time. All are Map<String, Float> in the JSON. Tag keys use the # prefix (e.g., "#minecraft:planks": 1.5).

  • by_mod — scale time by mod namespace (e.g., "minecraft": 1.0)
  • by_item — scale time by item ID (e.g., "minecraft:stick": 0.5)
  • by_tag — scale time by item tag (e.g., "#minecraft:planks": 1.5)
  • by_type — scale time by recipe type (e.g., "minecraft:crafting": 2.0)
  • by_recipe — scale time by specific recipe ID

These are grouped under ingredient_multipliers, output_multipliers, and recipe_multipliers objects in the JSON. Ingredient and output multipliers support by_mod, by_item, by_tag. Recipe multipliers support by_type, by_recipe.

Item Sounds

item_sounds is a Map<String, String> that overrides the crafting sound per item or tag (e.g., "minecraft:stick": "patience:crafting", "#minecraft:planks": "patience:sawmill").

Containers

The containers array holds per-workstation configuration. Each entry supports:

  • enabled (boolean) — Toggle crafting time for this container
  • screen_class (string) — Full Java class path of the container screen
  • recipe_type (string) — Recipe type ID used for recipe multiplier lookup. If omitted, inferred from the menu type
  • time_multiplier (float) — Container-specific time multiplier
  • output_slot (int) — Slot index the player clicks to start crafting
  • result_slot (int) — Slot index where the finished item is placed after completion (-1 = first available inventory slot)
  • ingredient_slots (string) — Slot range defining which slots are scanned for ingredients (e.g., "1-9", "0,2,4", "0-2,4,6-8")
  • ingredient_mode (string) — How ingredients contribute to craft time: "slot" counts each occupied slot once, "stack" multiplies by stack size, "custom" uses hardcoded mod-specific logic
  • show_overlay (boolean) — Render the progress bar
  • overlay_texture (string) — Texture path for the overlay
  • overlay_direction (string) — Fill direction: "right", "left", "up", "down"
  • overlay_x / overlay_y (int) — Overlay position offset
  • overlay_width / overlay_height (int) — Overlay dimensions
  • crafting_sound (string) — Override crafting sound for this container
  • finish_sound (string) — Override completion sound for this container

💬 Commands

  • /patience reload (Op level 2) — Reload config from disk and sync to all connected players

NeoForge Forge Fabric Quilt Modrinth CurseForge GitHub Discord

Adds crafting time to your workstations — clicking the output slot starts a timed process instead of completing the craft instantly. Progress is shown as a visual overlay with sounds and feedback. Fully server-authoritative: the config is synced to all clients on join and reload.

⚙️ Features

Crafting Delay — Base time scales with the number of ingredients and is modified by a stack of multipliers (global, per-container, per-ingredient, per-output, per-recipe). Crafting is blocked while moving. Creative mode bypasses the delay entirely.

Experience Scaling — Crafting speed increases with XP level through a custom patience:crafting_speed attribute. The attribute is exposed to other mods for integration.

Progress Decay — When enabled, moving during a craft causes progress to drain instead of cancelling outright. Leftover progress from an interrupted craft also decays over time. When decay is disabled, any movement immediately cancels the craft and resets progress.

Minigame — An optional skill check that can trigger mid-craft. A random section of the progress overlay is designated as the success zone. When progress reaches that zone, the overlay turns yellow — clicking the output slot during this completes the craft instantly. Missing it applies a time penalty. Clicking the output slot early when no minigame zone is active also applies a penalty. Green indicates success, red indicates failure.

Hunger — Each completed craft adds exhaustion. When hunger drops below a threshold, crafting speed is penalized.

Sounds — Each workstation has a unique looping crafting sound and a completion sound. Sounds can be overridden at three levels: per container, per item, or per tag.

Screen Shake — Optional camera shake during crafting. Disabled by default.

🔨 Supported Containers

Ships with preconfigured support for 17 workstations. All can be disabled, customized, or extended via config.

Containers
Vanilla Player inventory (2×2), Crafting table, Smithing table, Anvil, Grindstone, Stonecutter, Cartography table, Loom
Modded Curios, Inventorio, Sawmill, Woodworks, Easel Does It, Galosphere, Clayworks, Cold Sweat, Hexerei

🛠️ Configuration

Config is stored in patience.json in the game's config directory. A GUI screen is available when Cloth Config is installed (Fabric/Quilt via Mod Menu, NeoForge/Forge via the mods screen). The GUI covers general settings — multiplier maps and container definitions are JSON-only.

General
Setting Default Description
debug false Log slot clicks, screen names, crafting state changes, and movement checks to the console
enable_sounds true Play crafting and completion sounds
default_crafting_sound patience:crafting Sound played during crafting
default_finish_sound patience:finish Sound played on completion
default_penalty_sound patience:penalty Sound played on penalty click
default_success_sound patience:success Sound played on minigame success
global_time_multiplier 1.0 Multiplier applied to all craft times (0.0 - 100.0)
Experience

Speed formula: (attributeValue × baseSpeed) + (speedPerLevel × min(xpLevel, maxLevelCap))

Setting Default Description
enabled true Enable XP-based crafting speed scaling
multiplier 1.0 Overall crafting speed multiplier (0.0 - 100.0)
base_speed 1.0 Base speed before XP bonus (0.01 - 100.0)
speed_per_level 0.02 Bonus speed per XP level (0.0 - 10.0)
max_level_cap 200 Levels above this are ignored (0 - 30000)
Decay
Setting Default Description
enabled true Moving drains progress instead of cancelling the craft
rate 2.0 Progress lost per tick while moving or idle (0.0 - 100.0)
Screen Shake
Setting Default Description
enabled false Camera shake during crafting
intensity 0.5 Shake strength (0.0 - 5.0)
Hunger
Setting Default Description
enabled true Enable hunger exhaustion and speed penalty
exhaustion_cost 0.1 Exhaustion added per completed craft (0.0 - 40.0)
penalty.enabled true Slow crafting at low hunger
penalty.threshold 6 Hunger level that triggers the penalty (0 - 20)
penalty.multiplier 0.5 Speed multiplier when below threshold (0.0 - 10.0)
Minigame
Setting Default Description
enabled true Enable the skill-check minigame
chance 0.5 Probability of triggering per craft (0.0 - 1.0)
window_width 0.15 Success zone size as a fraction of total progress (0.01 - 0.5)
penalty_percent 0.25 Progress lost on failure as a fraction of remaining (0.0 - 1.0)
penalty_cancels_craft true Cancel the craft when penalty clicks reduce progress to zero
Multipliers

Multiplier maps allow fine-grained control over craft time. All are Map<String, Float> in the JSON. Tag keys use the # prefix (e.g., "#minecraft:planks": 1.5).

  • by_mod — scale time by mod namespace (e.g., "minecraft": 1.0)
  • by_item — scale time by item ID (e.g., "minecraft:stick": 0.5)
  • by_tag — scale time by item tag (e.g., "#minecraft:planks": 1.5)
  • by_type — scale time by recipe type (e.g., "minecraft:crafting": 2.0)
  • by_recipe — scale time by specific recipe ID

These are grouped under ingredient_multipliers, output_multipliers, and recipe_multipliers objects in the JSON. Ingredient and output multipliers support by_mod, by_item, by_tag. Recipe multipliers support by_type, by_recipe.

Item Sounds

item_sounds is a Map<String, String> that overrides the crafting sound per item or tag (e.g., "minecraft:stick": "patience:crafting", "#minecraft:planks": "patience:sawmill").

Containers

The containers array holds per-workstation configuration. Each entry supports:

Field Type Description
enabled boolean Toggle crafting time for this container
screen_class string Full Java class path of the container screen (e.g., net.minecraft.client.gui.screens.inventory.CraftingScreen)
recipe_type string Recipe type ID used for recipe multiplier lookup (e.g., minecraft:crafting). If omitted, inferred from the menu type
time_multiplier float Container-specific time multiplier
output_slot int Slot index the player clicks to start crafting (where the output preview appears)
result_slot int Slot index where the finished item is placed after completion (-1 = first available inventory slot)
ingredient_slots string Slot range defining which slots are scanned for ingredients — e.g., "1-9", "0,2,4", "0-2,4,6-8"
ingredient_mode string How ingredients contribute to craft time: "slot" counts each occupied slot once, "stack" multiplies by stack size, "custom" uses hardcoded mod-specific compatibility logic
show_overlay boolean Render the progress bar
overlay_texture string Texture path for the overlay
overlay_direction string Fill direction: "right", "left", "up", "down"
overlay_x / overlay_y int Overlay position offset
overlay_width / overlay_height int Overlay dimensions
crafting_sound string Override crafting sound for this container
finish_sound string Override completion sound for this container

💬 Commands

Command Permission Description
/patience reload Op (level 2) Reload config from disk and sync to all connected players

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~4,000
Total Downloads
CurseForge
~1,000
Modrinth
~2,000
Last Updated
CurseForge
Modrinth
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works