COWMODSКаталог модов

Lock End

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

Автор: vwtfafa7,3 тыс.11обновлён 26 окт. 2026 г.
Механики игрыУправлениеУтилиты

Описание

🔒 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

CommandDescriptionPermission
/endlockToggles the End lockendlock.toggle
/endlock lockLock the Endendlock.admin
/endlock unlockUnlock the Endendlock.admin
/endlock statusShow current lock status—
/endlock testTest if portal blocking worksendlock.admin
/endlock reloadReload configuration and dependent componentsendlock.reload
/endlock historyView recent lock/unlock historyendlock.history
`/endlock history [playeraction ]`Filter history by player or action
/endlock undoUndo the last lock/unlock actionendlock.undo
/endlock validateconfigValidate configuration fileendlock.validate
/endlock pausePause scheduled unlock timersendlock.admin
/endlock resumeResume paused scheduled unlock timersendlock.admin
/endlock statsShow basic lock and block counters(no permission)
/endlock unlockin <days>Schedule an automatic unlockendlock.toggle
/endlock unlockin <duration>Schedule an automatic unlock, e.g. 12h or 7dendlock.toggle
/endlock unlockat <yyyy-MM-dd> <HH:mm>Schedule an automatic unlock at a specific timeendlock.toggle
/endlock lockin <minutes>Schedule an automatic lockendlock.toggle
/endlock lockin <duration>Schedule an automatic lock, e.g. 30m or 2hendlock.toggle
/endlock lockat <yyyy-MM-dd> <HH:mm>Schedule an automatic lock at a specific timeendlock.toggle
/endlock lock in <duration> / unlock in <duration>Natural alias, e.g. lock in 5mendlock.toggle
/endlock schedule statusShow the active scheduleendlock.admin
/endlock schedule clearClear the active scheduleendlock.admin
/lockAlias for /endlockendlock.toggle
/elMobile-friendly alias for /endlockendlock.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

PermissionDescriptionDefault
endlock.toggleAllows locking/unlocking the EndOP
endlock.adminAllows locking/unlocking the End, pausing/resuming schedules, and using the test commandOP

⚙️ 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

CodeLanguage
enEnglish
deGerman
frFrench
esSpanish
itItalian
ruRussian
zhChinese
jaJapanese

Customize messages in plugins/EndLock/messages_xx.yml (copy from the JAR or plugin folder after first run).


🧱 Compatibility

PlatformSupport
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

Последние версии

Все версии →
release

Lock End 3.0.1

3.0.1
26 окт. 2026 г.22Minecraft: 26.3folia, paper, purpur
Скачать
Что нового
Bug Fixes And faststats intigration
release

Lock End 3.0.0

3.0.0
15 окт. 2026 г.490Minecraft: 26.3folia, paper
Скачать
Что нового
https://github.com/vwtfafa/lock-end/releases/tag/v3.0.0 **Finally folia support.**
release

Lock End 2.1.0

2.1.0
2 окт. 2026 г.399Minecraft: 26.3paper, purpur
Скачать
release

Lock End 2.0.1

2.0.1
15 сент. 2026 г.265Minecraft: 26.3folia, paper, purpur
Скачать
Что нового
- Updated to Paper/Minecraft 26.3 - Improved evacuation thread safety - Fixed scheduling and configuration edge cases - Improved `lock in` / `unlock in` duration commands - Added filtered JSON/CSV history exports - Improved reload stability and localized error messages
release

Lock End 2.0.0

2.0.0
7 сент. 2026 г.725Minecraft: 26.2bukkit, paper, purpur, spigot
Скачать
release

Lock End 1.6.0

1.6.0
17 авг. 2026 г.393Minecraft: 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## 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
release

Lock End 1.5.0

1.5.0
15 авг. 2026 г.78Minecraft: 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
- 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).
release

Lock End 1.4.1

1.4.1
5 июл. 2026 г.998Minecraft: 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
release

Lock End 1.4.0

1.4.0
4 июл. 2026 г.29Minecraft: 26.2bukkit, paper, purpur, spigot
Скачать
release

Lock-End 1.3

1.3
16 июн. 2026 г.438Minecraft: 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur
Скачать
Что нового
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