Перейти к содержимому
Mineforgian

Lock End

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

Загрузки
5K
Подписчики
10
Обновлён
17 августа 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 12 октября 2025 г.

🔒 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
  • 🖥️ Console can toggle without permission
  • 🚫 Blocks player teleportation to End (portals, /tp, /execute, plugin teleports)
  • 📢 Broadcast system (actionbar or chat) on lock/unlock
  • 🔔 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 (no permission)
/endlock history View recent lock/unlock history endlock.history
/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 unlockat <yyyy-MM-dd> <HH:mm> Schedule an automatic unlock at a specific time endlock.toggle
/lock Alias for /endlock endlock.toggle
/el Mobile-friendly alias for /endlock endlock.toggle

🧩 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
lock-reason: "Maintenance"

# Update Checker: Notifications for available updates
update-checker:
  enabled: true
  notify-ops: true
  notify-chat: true

# bStats Metrics
metrics:
  enabled: 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)

# v1.6: Preview notifications - Warn players before automatic lock/unlock
preview-notifications:
  enabled: false
  seconds: 30  # How many seconds before lock/unlock to send preview

# v1.6: Action bar customization
actionbar:
  use-alt-char: false  # Use alternate character for overflow handling
  alt-char: "|"

# v1.6: Sound effects for access denial
sound-effects:
  enabled: false
  sound: "BLOCK_ANVIL_LAND"
  volume: 1.0
  pitch: 1.0

# v1.6: Lock reasons
lock-reasons:
  default: "Maintenance"
  maintenance: "Maintenance in progress"
  event: "Event in progress"

# v1.6: Grace period - Temporary unlock after locking to allow safe exit
grace-period:
  enabled: false
  duration: 10  # seconds

# v1.6: Whitelists
whitelists:
  players: []  # Player names that can bypass the lock
  entities: []  # Entity types that can bypass the lock

# v1.6: Logging & Analytics
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

# v1.6: Schedule pause/resume
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
  show-remaining: true

# Optional scheduled unlock
scheduled-unlock:
  enabled: false
  mode: "days"        # days or datetime
  days: 7
  datetime: ""
  # v1.6: Countdown timer
  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
  • Minecraft: 26.2
  • Java: 25

⚠️ Notes

  • Only players are blocked — not mobs or items
  • Players already inside the End when locking are not removed
  • 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-1.6.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


Ченджлог

1.6.0Релиз26.2 · 17 августа 2026 г.

1.6.0 - 2026-08-17

Added

  • Dependabot configuration for automatic Gradle and GitHub Actions updates
  • Code quality workflow (Checkstyle, SpotBugs, Tests) running on PR/Push
  • Checkstyle and SpotBugs plugins with default configurations
  • Preview notifications feature fully integrated (scheduled unlock/lock previews)
  • Sound effect configuration reload on /reload
  • AsyncLogger properly restarted on config reload to avoid resource leaks
  • Updated Gradle wrapper to 9.7
  • Updated Java target version to 25 (while maintaining compatibility)
  • Lock reasons: Customizable reason displayed when blocking (e.g., "Maintenance", "Event in progress") - can be configured in config.yml and used in broadcast messages
  • Grace period: Temporary unlock after locking to allow players to exit safely - configurable duration in seconds
  • Player/entity whitelists: Whitelisted players/entities can bypass the lock - configured in config.yml with /whitelist add command
  • Preview notifications: Warn players X seconds before automatic lock/unlock - configurable in config.yml
  • Sound effects: Play custom sounds when attempting to access locked End - configurable in config.yml
  • Attempt rate limiting: Prevent log spam from rapid attempts - configurable in config.yml
  • Detailed attempt logging: Log player name, source world, method used (portal/command/teleport) - fully configurable in config.yml
  • Countdown timers: Visible countdown before scheduled lock/unlock - visible in chat during scheduled events
  • Pause/resume schedules: Temporarily override scheduled events with /endlock pause and /endlock resume (permission: endlock.admin)
  • Lock history: View recent lock/unlock actions with /endlock history (permission: endlock.history) - shows last 10 entries with timestamps
  • Undo last action: Quickly reverse the most recent lock/unlock command with /endlock undo (permission: endlock.undo) - reverses last recorded action
  • Configuration validator: Check config.yml for errors with /endlock validateconfig (permission: endlock.validate) - validates YAML syntax and required settings
  • Cached permission lookups: Optimize permission and configuration checks - uses PermissionCache for faster lookups
  • Asynchronous logging: Move file I/O off main thread to prevent lag - async logger prevents server performance impact
  • Mobile-friendly alias: /el as short alias for /endlock

Fixed

  • NullPointerException in LockReasonManager.getReasons() when lock-reasons section missing
  • Case-sensitive player name comparison in WhitelistChecker (now case-insensitive)
  • GracePeriodTask active flag made volatile for correct visibility between threads
  • AsyncLogger thread leak on reload (previous instances now shut down)
  • Missing preview notification scheduling for scheduled lock/unlock events

Changed

  • GracePeriodTask logic unchanged (still unlocks after lock; behavior confirmed as intended)
  • Updated build.gradle to include gradlePluginPortal() for plugin resolution
  • Updated checkstyle config to minimal rule set
  • Updated SpotBugs version to 6.5.10 (compatible with Gradle 9+)
  • Updated config.yml with new v1.6 options (preview-notifications, sound-effects, lock-reasons, grace-period, whitelists, logging.rate-limit-seconds, scheduled-unlock.countdown)
  • Updated messages_en.yml and messages_de.yml with new message keys
  • Updated plugin.yml with new commands and permissions
  • Consolidated all subcommands (history, undo, validateconfig) to be accessible only via /endlock, /lock, and /el aliases to avoid command conflicts with other plugins
1.5.0Релиз26.2 · 15 августа 2026 г.
  • Reload command: /endlock reload (and /lock reload) to reload configuration without restart.
  • Permission endlock.reload (default: op) for the reload command.
  • Default language set to English (en).
  • All log messages and comments translated to English for consistency.
  • Scheduled unlock now uses exact delay until the configured time (supports both days and datetime).
1.3Релиз26.1.1, 26.1.2, 26.2 · 16 июня 2026 г.
  1. 📋 Full tab completion support for all commands
  2. 📢 Broadcast notifications (actionbar + chat)
  3. 📝 Event logging with timestamps
  4. 🧪 Portal blocking test command
  5. ✅ Fixed a lot of bugs 🔄 Updated to the latest Minecraft/Paper version
1.1.0Релиз26.1.1, 26.1.2, 26.2-rc-2 · 24 мая 2026 г.

✅ Fixed a lot of bugs 🔄 Updated to the latest Minecraft/Paper version

Комментарии

Загружаем…