Lock End

Lock End

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

7 486 downloads 11 followers

๐Ÿ”’ Lock-End

Lock-End is a lightweight Minecraft plugin that allows server admins to globally lock or unlock access to the End dimension with a simple command. Perfect for survival servers, SMPs, events, or progression-based gameplay.


โœจ 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 endlock.admin
/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 and stats 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
config-version: 2
locked: false
language: en  # Supported: de en es fr it ja ru zh

# End access scope. An empty world list means all End worlds.
end:
  worlds: []
  block-end-gateway: true
  block-entities: true  # Also block non-player entities from entering the End

# 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"  # Enum style or namespaced key (minecraft: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. Access is blocked once it ends.
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

# Evacuation - Optional removal of players already inside the End when locking
evacuation:
  enabled: false
  warning-seconds: 10
  target-world: "world"
  exclude-bypass: true

# 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
  unlock-count: 0
  blocked-count: 0
  evacuated-count: 0

# Lock history storage
history:
  max-entries: 1000    # Oldest entries are dropped beyond this size
  retention-days: 30   # Entries older than this are removed (<=0 keeps forever)

# Optional join notifications for players joining while the End is locked
join-notifications:
  enabled: false

# Optional scheduled unlock
scheduled-unlock:
  enabled: false
  action: "unlock"     # lock or unlock
  mode: "days"         # days or datetime
  days: 7
  datetime: ""
  target-datetime: ""  # Internal absolute target, persisted across restarts
  # 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.3+ โœ… Recommended
Purpur 26.3+ โœ… Paper-based, works
Spigot โŒ Not supported
Folia โŒ Not supported
  • Minecraft: 26.3
  • Java: 25

โš ๏ธ Notes

  • Players and, when enabled, non-player entities are blocked from entering the End (end.block-entities, enabled by default)
  • 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.1.0.jar into your plugins folder
  3. Restart your server (Paper 26.3+, Java 25)
  4. Edit plugins/EndLock/config.yml if you want to customize behavior

๐Ÿ”— Links

No gallery available for this project.

Version Minecraft Loader Download

Lock End 3.0.2

3.0.2

26.3
folia, paper, purpur
Download

Lock End 3.0.0

3.0.0

26.3
folia, paper
Download

Lock End 2.1.0

2.1.0

26.3
paper, purpur
Download

Lock End 2.0.1

2.0.1

26.3
folia, paper, purpur
Download

Lock End 2.0.0

2.0.0

26.2
bukkit, paper, purpur, spigot
Download

Lock End 1.6.0

1.6.0

26.2
bukkit, folia, paper, purpur, spigot
Download

Lock End 1.5.0

1.5.0

26.2
bukkit, folia, paper, purpur, spigot
Download

Lock End 1.4.1

1.4.1

26.1, 26.1.1, 26.1.2, 26.2
bukkit, folia, paper, purpur, spigot
Download

Lock End 1.4.0

1.4.0

26.2
bukkit, paper, purpur, spigot
Download

Lock-End 1.3

1.3

26.1, 26.1.1, 26.1.2, 26.2
bukkit, folia, paper, purpur
Download

Lock-End 1.2

1.2

26.1, 26.1.1, 26.1.2, 26.2
bukkit, folia, paper
Download

Lock-End 1.1.0

1.1.0

26.1, 26.1.1, 26.1.2, 26.2-rc-2
bukkit, folia, paper, purpur
Download

Lock-End 1.0.0

1.0.0

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
bukkit, paper, purpur, spigot
Download