Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21โ1.21.10
1.20.x
Platforms
Tags
Creators
Details
Licensed ARR
Published 11 months ago
Updated 2 days ago
๐ Lock-End
โจ Features
- ๐ Lock/unlock the End with
/endlock(alias:/lock,/el) โendlock.toggle - ๐ Full tab completion for all commands (native Brigadier suggestions)
- ๐ฅ๏ธ Console can toggle without permission
- ๐ซ Blocks player teleportation to End (portals,
/tp,/execute, plugin teleports) - ๐ข Broadcast system (actionbar or chat) on lock/unlock
- ๐ Restart-safe scheduled unlocks with absolute target times
- ๐ Schedule a future lock with
/endlock lockin <minutes>or/endlock lockat <yyyy-MM-dd> <HH:mm> - ๐
Inspect and clear schedules with
/endlock schedule statusand/endlock schedule clear - ๐ก๏ธ Bypass rules by player name, UUID, world, or world-specific permission
- ๐งฉ PlaceholderAPI values for status, reason, timing, blocked attempts, and schedules
- ๐งพ Structured audit history with pagination and JSON/CSV export
- ๐ Filter history by player or action with tab completion
- ๐จ Optional evacuation: warn and move players out of the End after locking
- ๐ Optional join notifications for locked state
- ๐ Logging with history tracking
- ๐ bStats integration for anonymous usage statistics
- โฌ๏ธ Update checker with clickable links for Ops
- ๐ 8 languages: EN, DE, FR, ES, IT, RU, ZH, JA
๐ Commands
| Command | Description | Permission |
|---|---|---|
/endlock |
Toggles the End lock | endlock.toggle |
/endlock lock |
Lock the End | endlock.admin |
/endlock unlock |
Unlock the End | endlock.admin |
/endlock status |
Show current lock status | โ |
/endlock test |
Test if portal blocking works | (no permission, configurable) |
/endlock reload |
Reload configuration and dependent components | endlock.reload |
/endlock history |
View recent lock/unlock history | endlock.history |
| `/endlock history <page> [player | action <value>]` | Filter history by player or action |
/endlock undo |
Undo the last lock/unlock action | endlock.undo |
/endlock validateconfig |
Validate configuration file | endlock.validate |
/endlock pause |
Pause scheduled unlock timers | endlock.admin |
/endlock resume |
Resume paused scheduled unlock timers | endlock.admin |
/endlock stats |
Show basic lock and block counters | (no permission) |
/endlock unlockin <days> |
Schedule an automatic unlock | endlock.toggle |
/endlock unlockin <duration> |
Schedule an automatic unlock, e.g. 12h or 7d |
endlock.toggle |
/endlock unlockat <yyyy-MM-dd> <HH:mm> |
Schedule an automatic unlock at a specific time | endlock.toggle |
/endlock lockin <minutes> |
Schedule an automatic lock | endlock.toggle |
/endlock lockin <duration> |
Schedule an automatic lock, e.g. 30m or 2h |
endlock.toggle |
/endlock lockat <yyyy-MM-dd> <HH:mm> |
Schedule an automatic lock at a specific time | endlock.toggle |
/endlock lock in <duration> / unlock in <duration> |
Natural alias, e.g. lock in 5m |
endlock.toggle |
/endlock schedule status |
Show the active schedule | endlock.admin |
/endlock schedule clear |
Clear the active schedule | endlock.admin |
/lock |
Alias for /endlock |
endlock.toggle |
/el |
Mobile-friendly alias for /endlock |
endlock.toggle |
The base commands do not have a global permission in plugin.yml; each subcommand checks its own permission. This keeps public commands such as status, stats, and test available while protecting administrative actions.
๐งฉ Permissions
| Permission | Description | Default |
|---|---|---|
endlock.toggle |
Allows locking/unlocking the End | OP |
endlock.admin |
Allows locking/unlocking the End, pausing/resuming schedules, and using the test command | OP |
โ๏ธ Configuration
plugins/EndLock/config.yml
# EndLock Plugin Configuration
locked: false
language: en
# Update Checker: Notifications for available updates
update-checker:
enabled: true
notify-ops: true
notify-chat: true
# Broadcast: Send alerts to all players when End is locked/unlocked
broadcast:
enabled: true
use-actionbar: true # Send as action bar instead of chat
notify-all: true # Notify all players (if false, only Ops)
# Preview notifications - Warn players before automatic lock/unlock
preview-notifications:
enabled: false
seconds: 30 # How many seconds before lock/unlock to send preview
# Sound effects for access denial
sound-effects:
enabled: false
sound: "BLOCK_ANVIL_LAND"
volume: 1.0
pitch: 1.0
# Lock reasons - Customizable reasons shown when blocking
lock-reasons:
default: "Maintenance"
maintenance: "Maintenance in progress"
event: "Event in progress"
# Grace period - Delays enforcement of a new lock so players inside the
# End can finish and leave safely
grace-period:
enabled: false
duration: 10 # seconds
# Whitelists - Players, UUIDs, and worlds that can bypass the lock
whitelists:
players: [] # Player names that can bypass the lock
uuids: [] # Player UUIDs that can bypass the lock
worlds: [] # End world names where players can bypass the lock
# Logging - Audit log for lock actions and access attempts
logging:
enabled: true
log-file: "EndLock.log" # Created in plugins/EndLock/logs/
log-attempts: true # Log attempted access to locked End
rate-limit-seconds: 5 # Minimum seconds between logged attempts per player
# Schedule pause/resume - Temporarily override scheduled events
schedule:
paused: false
# Test Command: Allow /endlock test for Ops to verify blocking works
test-command:
enabled: true
# Optional statistics collection
stats:
enabled: true
lock-count: 0
blocked-count: 0
# Optional join notifications for players joining while the End is locked
join-notifications:
enabled: false
# Optional scheduled unlock
scheduled-unlock:
enabled: false
mode: "days" # days or datetime
days: 7
datetime: ""
target-datetime: "" # Persisted absolute target; maintained by EndLock
# Countdown timer - Visible countdown before scheduled lock/unlock
countdown:
enabled: true
interval: 10 # Seconds between countdown updates
start-before: 300 # Show countdown N seconds before unlock
# Optional integrations and formatting
hooks:
mini-message: true
placeholderapi: true
Available languages
| Code | Language |
|---|---|
en |
English |
de |
German |
fr |
French |
es |
Spanish |
it |
Italian |
ru |
Russian |
zh |
Chinese |
ja |
Japanese |
Customize messages in plugins/EndLock/messages_xx.yml (copy from the JAR or plugin folder after first run).
๐งฑ Compatibility
| Platform | Support |
|---|---|
| Paper 26.2+ | โ Recommended |
| Purpur 26.2+ | โ Paper-based, works |
| Spigot | โ Not supported |
| Folia | โ Not supported |
- Minecraft:
26.2 - Java:
25
โ ๏ธ Notes
- Only players are blocked โ not mobs or items
- Players already inside the End when locking stay there unless
evacuation.enabledis set (then they are warned and teleported out) - The End dimension remains accessible via commands that bypass the player check (e.g., certain custom plugins); this plugin blocks the common vanilla pathways.
๐ก Example usage
/endlock
/lock
/el
/endlock status
/endlock unlockin 3
/endlock unlockat 2026-12-31 23:59
/endlock reload
/endlock history
/endlock undo
/endlock validateconfig
/endlock pause
/endlock resume
๐ฆ Installation
- Download the latest release from Modrinth or GitHub Releases
- Put
lock-end-2.0.0-SNAPSHOT.jarinto yourpluginsfolder - Restart your server (Paper 26.2+, Java 25)
- Edit
plugins/EndLock/config.ymlif you want to customize behavior
๐ Links


