Links
Tags
Creators
Details
Licensed CC-BY-NC-4.0
Published 7 months ago
Updated 2 months ago
All versions
1.4.0
Release
Locks Reforged 1.4.0 (Forge 1.20.1)7 months ago 891
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Forge
Supported environments
Client and server
Changes
1.4.0
Netherite Lock & Lock Pick
- Added Netherite Lock — the strongest lock tier with 14 pins, 200 explosion resistance, and 8 enchantability. Crafted at a smithing table from a Diamond Lock + Netherite Ingot + Netherite Upgrade Template.
- Added Netherite Lock Pick — strength 0.95, making it nearly unbreakable. Crafted at a smithing table from a Diamond Lock Pick + Netherite Ingot + Netherite Upgrade Template.
- Both netherite items are fire-resistant and survive in lava, like vanilla netherite gear.
- Added Netherite Lockpick Unbreakable server config option (off by default). When enabled, netherite lock picks never break during lock picking.
- Netherite lock picks are sold by level 5 toolsmith villagers (16 emeralds). Enchanted netherite locks are offered by wandering traders (40 emeralds).
- Added to loot-scaled lock generation with a value threshold of 60.0 (the highest tier).
Awareness Enchantment
- Added Awareness enchantment (max level I, very rare). When an Awareness-enchanted lock is placed, it remembers who placed it. That player can open and re-lock it with a bare hand — no key needed.
- Works with overlapping locks: each lock independently tracks its owner, so multiple players' Awareness locks at the same position each work correctly.
- Configurable via Enable Awareness toggle in the server config (on by default).
- Shows "Aware (Owner-Bound)" tooltip on locks that have an owner.
New Config
- Added Netherite Lock stat overrides (Length, Enchantment Value, Resistance) in the common config.
- Added Netherite Lockpick Strength override in the common config.
- Added Netherite Lockpick Unbreakable toggle in the server config.
- Added Enable Awareness enchantment toggle in the server config.
Bug Fixes
- Fixed world loading hang in modpacks caused by synchronous loot table pre-computation blocking the server thread. Loot values are now computed asynchronously on a background thread. Chests generated before pre-computation finishes gracefully fall back to no lock.
- Fixed lockpicking GUI rendering corruption (textures smeared/repeated vertically) when using rendering optimization mods like ImmediatelyFast or Embeddium. Migrated all lockpicking screen rendering from raw Tesselator calls to
GuiGraphics.blit(), which optimization mods handle correctly. - Fixed potential
IndexOutOfBoundsExceptioncrash in lock generation if the "Generated Lock Chances" config list was shorter than the "Generated Locks" list (e.g. from manual config editing). Now uses safe bounds checking with a warning log. - Fixed potential crash in random lock generation if the weighted lock map was empty (e.g. all weights set to 0).
- Major Texture Fix.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:fxLOBzMK:VYwPo5mP"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:fxLOBzMK:VYwPo5mP"
}

