LockDoors-1.0.1.jar
13 Feb 2026
CurseForge · Hytale mod
An API for Hytale that allows you to create custom doors and blocks that require specific items to unlock.
Quick answer
LockDoors API LockDoors-1.0.1.jar targets Hytale. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.
Where it goes
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.
LockDoors-1.0.1.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.
Before you install it
Built for LockDoors API LockDoors-1.0.1.jar. Pick another file and the loader, install side or required mods may change.
Use LockDoors-1.0.1.jar. It targets Hytale; another release may target a different game build or dependency set.
This file does not list any required mods. Do not add a library just because a different file uses it.
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Use the “Get this file” button beside LockDoors-1.0.1.jar. It opens that exact file at the source.
About this project
LockDoors API is a powerful extension for Hytale that provides a complete system of customizable block interactions. Design doors, secret passages, treasure chests, and other interactive elements that require specific items to activate. Perfect for adventure maps, dungeons, escape rooms, and narrative-driven experiences.
Navigate to Block Type > Rendering and configure:
.blockymodel fileDoor, Door_Medium, Door_Large)💡 Tip: Create separate models for locked, opening, open, and closing states for smooth animations.
Navigate to: Block Type > Interactions > Use > Interactions > 0
| Field | Description | Example | Type |
|---|---|---|---|
| Type | Interaction class (don't change) | UnlockInteraction |
String |
| RequiredItem | Item ID that unlocks this door | Ingredient_Charcoal |
String |
| UnlockDelaySeconds | Seconds before door opens | 2 |
Integer |
| OpenStateName | Block state when unlocked | OpenDoorIn |
String |
| Field | Description | Example |
|---|---|---|
| SuccessTitleMain | Main title on unlock | "Ancient Door Unlocked!" |
| SuccessTitleSecondary | Subtitle on unlock | "The passage reveals itself" |
| Field | Description | Example |
|---|---|---|
| ErrorTitleMain | Main title for wrong item | "Wrong Key!" |
| ErrorTitleSecondary | Subtitle for wrong item | "This key doesn't fit" |
| Field | Description | Example | Default |
|---|---|---|---|
| AutoRelock | Enable automatic relocking | true |
false |
| RelockDelaySeconds | Seconds before door closes | 10 |
10 |
| CloseStateName | Block state for closing animation | CloseDoorIn |
"CloseDoorIn" |
| BlockedStateName | Block state when locked | DoorBlocked |
"DoorBlocked" |
| CloseAnimationSeconds | Duration of closing animation | 1 |
1 |
| Field | Description | Example |
|---|---|---|
| RelockTitleMain | Main title when relocking | "Door Sealing!" |
| RelockTitleSecondary | Subtitle when relocking | "The passage closes" |
| Field | Description | Example |
|---|---|---|
| AlreadyUnlockedTitleMain | Main title when already open | "Already Open!" |
| AlreadyUnlockedTitleSecondary | Subtitle when already open | "The door is unlocked" |
| Field | Description | Example | Default |
|---|---|---|---|
| IsMajorTitle | Show as prominent title | true |
true |
| TitleIcon | Optional icon identifier | "icon_key" |
null |
⚠️ Critical Settings - Navigate to Block Type > Flags:
true (enables player interaction)A basic door that unlocks permanently:
json
{
"Type": "UnlockInteraction",
"RequiredItem": "Item_GoldenKey",
"UnlockDelaySeconds": 1,
"OpenStateName": "DoorOpen",
"SuccessTitleMain": "Door Unlocked!",
"SuccessTitleSecondary": "The way is open",
"ErrorTitleMain": "Locked!",
"ErrorTitleSecondary": "You need a golden key",
"AutoRelock": false
}
A door that locks itself after 10 seconds:
json
{
"Type": "UnlockInteraction",
"RequiredItem": "Item_SecurityCard",
"UnlockDelaySeconds": 2,
"OpenStateName": "SecurityDoorOpen",
"AutoRelock": true,
"RelockDelaySeconds": 10,
"CloseStateName": "SecurityDoorClosing",
"BlockedStateName": "SecurityDoorLocked",
"CloseAnimationSeconds": 2,
"SuccessTitleMain": "Access Granted",
"SuccessTitleSecondary": "Security door unlocking...",
"RelockTitleMain": "Security Alert",
"RelockTitleSecondary": "Door is locking!",
"AlreadyUnlockedTitleMain": "Door Active",
"AlreadyUnlockedTitleSecondary": "Security door is already open"
}
A hidden door with thematic messages:
json
{
"Type": "UnlockInteraction",
"RequiredItem": "Item_AncientMedallion",
"UnlockDelaySeconds": 3,
"OpenStateName": "SecretWallOpen",
"AutoRelock": true,
"RelockDelaySeconds": 15,
"CloseStateName": "SecretWallClosing",
"BlockedStateName": "SecretWallSealed",
"CloseAnimationSeconds": 3,
"SuccessTitleMain": "Ancient Magic Awakens",
"SuccessTitleSecondary": "The wall begins to shift...",
"RelockTitleMain": "The Magic Fades",
"RelockTitleSecondary": "The passage seals itself",
"AlreadyUnlockedTitleMain": "Still Active",
"AlreadyUnlockedTitleSecondary": "The magic lingers",
"ErrorTitleMain": "Nothing Happens",
"ErrorTitleSecondary": "This item holds no power here",
"IsMajorTitle": true
}
Understanding the complete door state cycle:
The cooldown prevents:
When AutoRelock is enabled, the cooldown lasts for:
Total Cooldown = UnlockDelaySeconds + RelockDelaySeconds + CloseAnimationSeconds
During this time, attempting to interact shows the "Already Unlocked" message.
For best results:
Locked, Opening, Open, ClosingUnlockDelaySeconds and CloseAnimationSeconds to your animation lengthSolutions:
IsUsable: true is enabled in Block Type > FlagsRequiredItemSolutions:
OpenStateName matches an existing block stateUnlockDelaySeconds - the delay is intentionalSolutions:
IsMajorTitle is set correctlySolutions:
Solutions:
AutoRelock is enabledRelockDelaySeconds if the wait is too longSolutions:
AutoRelock: true is setCloseStateName and BlockedStateName existRelockDelaySeconds and CloseAnimationSeconds are setProject description from CurseForge.
Recent files
13 Feb 2026
8 Feb 2026
Looking for an older file? The official CurseForge project page is in Resources.