Home›Java›Mods›DimLock
DimLock
DimLock — screenshot 1DimLock — screenshot 2DimLock — screenshot 3

Playroom Projects' - DimLock

DimLock background

Overview

DimLock is a lightweight utility mod that restricts access to dimension portals by introducing a lock state. When a portal is locked, players are prevented from entering it until the required condition is met. The mod is designed for controlled gameplay scenarios, especially within structured modpacks and multiplayer environments.

DimLock is part of a collection of mods developed for the Playroom Project modpack and is built to integrate with its progression systems. ​

Core Functionality

DimLock operates by intercepting portal usage and validating access before teleportation occurs. It does not modify how portals are built or activated, only whether a player is allowed to travel through them.

Portals can be toggled between locked and unlocked states. When locked, any attempt to use the portal is denied unless the defined requirement is satisfied.

Key Features

Portal Usage Restriction

Blocks player teleportation through portals when locked, and leaves portal creation and structure mechanics unchanged.

Supported & Tested Portals Lock State System Condition-Based Access Server-Side Enforcement Visual Feedback

Environment & Compatibility

Use Cases

Design Scope

DimLock focuses on a narrow, predictable feature set:

Configurations

Config file
# This file is designed to be copy/paste friendly. Use the examples and replace ids.

# "COMMAND": Permanent access is granted by running /access <dimension> (requires permission level 2).
# "XP": Access requires at least X experience points. consume=true removes points each entry. consume=false only checks.
# "LVL": Access requires at least X experience levels. consume=true removes levels each entry. consume=false only checks.
# "KEY_HAVE": Access requires having the key item in inventory each entry. consume=true removes 1 key each entry. consume=false only checks inventory.
# "KEY_USE": Permanent access is granted by right-clicking a configured block with the key item. Key is always consumed once.
# "ADVANCEMENT": Permanent access is granted when the specified advancement is completed.
# "denyMessage": Optional. If omitted a generic message is used.
# "useTargetTag": Optional. Block tag used for KEY USE. Default is playroom-projects-dimlock:key_use_targets.
# "useTargetBlocks": Optional. Explicit block list for KEY USE when multiple dimensions share the same key item. No default.

# Examples
# COMMAND example:
"minecraft:the_end": {
  "type": "COMMAND",
  "denyMessage": "End is locked. Ask an admin to unlock it."
}
# XP example:
"minecraft:the_nether": {
  "type": "XP",
  "xp": {
    "points": 500,
    "consume": true
  },
  "denyMessage": "Nether requires 500 XP points each entry."
}
# LVL example:
"minecraft:the_nether": {
  "type": "LVL",
  "lvl": {
    "levels": 30,
    "consume": false
  },
  "denyMessage": "Nether requires level 30 to enter."
}
# KEY HAVE example:
"twilightforest:twilight_forest": {
  "type": "KEY",
  "key": {
    "mode": "HAVE",
    "item": "minecraft:diamond",
    "consume": false
  },
  "denyMessage": "You must carry a diamond to enter."
}
# KEY USE example:
"minecraft:the_end": {
  "type": "KEY",
  "key": {
    "mode": "USE",
    "item": "minecraft:echo_shard",
    "consume": true,
    "useTargetTag": "playroom-projects-dimlock:key_use_targets",
    "useSuccessMessage": "Access unlocked."
  },
  "denyMessage": "Use the key on the portal to unlock access."
}
# KEY USE example with same key:
"deeperdarker:otherside": {
  "type": "KEY",
  "key": {
    "mode": "USE",
    "item": "minecraft:echo_shard",
    "consume": true,
    "useTargetBlocks": ["deeperdarker:otherside_portal"],
    "useSuccessMessage": "Access unlocked."
  },
  "denyMessage": "Use the key on the portal to unlock access."
}
# ADVANCEMENT example:
"minecraft:the_nether": {
  "type": "ADVANCEMENT",
  "advancement": {
    "id": "minecraft:story/mine_diamond",
    "unlockMessage": "Nether unlocked."
  },
  "denyMessage": "Complete the advancement to enter."
}

# From here you can fill out your restrictions for dimensions
# Config
"dimensions": {
  "minecraft:the_nether": {
    "type": "KEY",
    "key": {
      "mode": "USE",
      "item": "additionaladditions:depth_meter",
      "consume": true,
      "useTargetTag": "playroom-projects-dimlock:key_use_targets",
      "useSuccessMessage": "You now have access to Nether"
    },
    "denyMessage": "Use the Depth Meter on the portal to unlock the Nether."
  }
}
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more