Lock End

Lock End

Lock or unlock the End globally. Blocks portals, teleports, commands. Lightweight, multilingual, and Paper 26.2+ compatible.

5 139 downloads
10 followers

๐Ÿ”’ 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 status and /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 [player action ]` 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.enabled is 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

  1. Download the latest release from Modrinth or GitHub Releases
  2. Put lock-end-2.0.0.jar into your plugins folder
  3. Restart your server (Paper 26.2+, Java 25)
  4. Edit plugins/EndLock/config.yml if you want to customize behavior

๐Ÿ”— Links

No gallery available for this project.