Skip to content

DimLock

An easy and configurable dimension portal locking system

Fabric
Loaders
Fabric
Downloads on Modrinth
27
Followers on Modrinth
0
version
1
Updated
June 25, 2026Jun 25
Published
in 2026
Nether Portal — Nether Portal restricted with mod item · swipe

At a glance

Runs on Fabric
For Minecraft 1.20.1–1.20.6
Server only — players don't need to install it
Latest version — beta-1.0 from June 25, 2026
License CC0-1.0 — free
Where it's needed
In gamenot neededOn serverrequired

Install on the server only; players don't need it

Game versions1.20.1–1.20.6

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
  • Binary state system:

    • Locked (blocked access)
    • Unlocked (normal behavior)
  • State is checked at the moment of portal interaction
Condition-Based Access
  • Access is granted based on simple predefined conditions
  • Intended for deterministic progression control
  • Avoids complex or dynamic permission systems
Server-Side Enforcement
  • All validation occurs server-side
  • Prevents client-side bypass
  • Ensures consistent multiplayer behavior
Visual Feedback
  • Provides a clear indication when a portal is locked
  • Designed to remain visually consistent with the game

Environment & Compatibility

  • Server-side only
  • Works in singleplayer too

Use Cases

  • Gatekeeping dimension access in progression-based modpacks
  • Controlling when players can enter modded dimensions
  • Preventing early or unintended exploration on servers

Design Scope

DimLock focuses on a narrow, predictable feature set:

  • No custom portal systems
  • No advanced permission frameworks
  • Minimal configuration complexity

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."
  }
}

FAQ

How to install DimLock?

Install Fabric for your Minecraft version, download DimLock for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does DimLock support?

DimLock has builds for Minecraft 1.20.1–1.20.6.

Is DimLock needed on the server?

Server only — players don't need to install it

License and source
Creative Commons Zero v1.0 Universalfree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More