Community listing page, reviews here may not be monitored by the author.
Patience
No reviews yet
Adds crafting time to your workstations, transforming instant items into a deliberate process.
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Forge is a popular mod loader for versions 1.1+ of Minecraft.
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Quilt is a fork of the Fabric mod loader. Many Fabric mods are compatible with Quilt and vice versa.
Community voices
Reviews
Filters
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Must be installed on both the client and the server.
About
Project Details
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.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
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 consoleenable_sounds(default:true) — Play crafting and completion soundsdefault_crafting_sound(default:patience:crafting) — Sound played during craftingdefault_finish_sound(default:patience:finish) — Sound played on completiondefault_penalty_sound(default:patience:penalty) — Sound played on penalty clickdefault_success_sound(default:patience:success) — Sound played on minigame successglobal_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 scalingmultiplier(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 craftrate(default:2.0) — Progress lost per tick while moving or idle (0.0 - 100.0)
Screen Shake
enabled(default:false) — Camera shake during craftingintensity(default:0.5) — Shake strength (0.0 - 5.0)
Hunger
enabled(default:true) — Enable hunger exhaustion and speed penaltyexhaustion_cost(default:0.1) — Exhaustion added per completed craft (0.0 - 40.0)penalty.enabled(default:true) — Slow crafting at low hungerpenalty.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 minigamechance(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 containerscreen_class(string) — Full Java class path of the container screenrecipe_type(string) — Recipe type ID used for recipe multiplier lookup. If omitted, inferred from the menu typetime_multiplier(float) — Container-specific time multiplieroutput_slot(int) — Slot index the player clicks to start craftingresult_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 logicshow_overlay(boolean) — Render the progress baroverlay_texture(string) — Texture path for the overlayoverlay_direction(string) — Fill direction:"right","left","up","down"overlay_x/overlay_y(int) — Overlay position offsetoverlay_width/overlay_height(int) — Overlay dimensionscrafting_sound(string) — Override crafting sound for this containerfinish_sound(string) — Override completion sound for this container
💬 Commands
/patience reload(Op level 2) — Reload config from disk and sync to all connected players
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
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
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers