Locksmith

Profiles and Config

Locksmith has two config files: one server-authoritative profile file for lockable blocks and one client QoL file for door/HUD behavior.

Lock Profiles

config/locksmith_profiles.json is created automatically when needed.

Each profile declares:

  • id: your profile name.
  • type: door or chest.
  • blocks: block IDs covered by the profile.
  • render: lock model placement values synced from server to client.

Default profiles cover vanilla doors, vanilla chests, and trapped chests.

JSON
{
  "id": "custom_doors",
  "type": "door",
  "blocks": [
    "modid:steel_door",
    "modid:reinforced_door"
  ],
  "render": {
    "offsetX": -0.05,
    "offsetY": 0.5,
    "offsetZ": -0.5,
    "rotX": 0.0,
    "rotY": 0.0,
    "rotZ": 0.0,
    "scale": 0.75,
    "hingeNudgeLeft": 0.18,
    "hingeNudgeRight": 0.325
  }
}
Door profiles

Use hinge nudges so the visible lock sits correctly on left- and right-hinged doors.

Chest profiles

Use chest placement defaults and `doubleNudgeX` for double-chest visual alignment.

Server sync

The server loads profiles and sends valid entries to clients on login.

Note

Profiles affect lock behavior and rendering only. They do not change block hardness, blast resistance, or ownership rules.

Client QoL Config

config/locksmith-client.toml controls client-side quality-of-life behavior.

TOML
[qol]
autoCloseLockedDoors = true
autoCloseTicks = 20
doubleDoorSyncEnabled = true
hudMessagesEnabled = true
hudMessageTicks = 40
hudScale = 1.0
hudOffsetY = -35
SettingMeaning
autoCloseLockedDoorsAutomatically closes locked doors after they are opened.
autoCloseTicksDelay before auto-close. 20 ticks is roughly one second.
doubleDoorSyncEnabledOpens/closes a valid locked double-door pair together.
hudMessagesEnabledShows lock success and denial messages.
hudMessageTicksHow long HUD messages stay visible.
hudScaleHUD message scale.
hudOffsetYVertical offset from screen center. Negative values move text upward.

Accepted boolean values include true/false, yes/no, on/off, and 1/0. Numeric values are clamped to safe ranges.

Support This Project

Like this wiki and these mods?

Every bit of support helps me keep building features, writing docs, and shipping updates.

Back to top