
WorldAccessBlocker
WorldAccessBlocker is a Minecraft plugin that temporarily restricts access to the Nether, the End, elytra flight and custom worlds — by date or weekly schedule.
- Загрузки
- 858
- Подписчики
- 5
- Обновлён
- 3 июля 2026 г.
- Лицензия
- MIT
Опубликован 6 июня 2025 г.
🌍 WorldAccessBlocker
WorldAccessBlocker temporarily restricts access to the Nether, the End, elytra flight, and custom worlds — by a fixed date or a recurring weekly schedule. Built for Paper and its forks (Purpur, Folia).
✨ Features
- ⏳ Date-based restrictions — block a feature until a specific date and time.
- 📅 Recurring schedules — allow access only on certain days and time windows (e.g. weekends, or Sundays 15:00–17:00).
- 🌋 Nether blocker — cancels portal creation, portal travel, and ender-pearl teleports.
- 🐉 End blocker — prevents End portal activation (and the trip to the End).
- 🪽 Elytra control — block equipping and/or flight independently.
- 🗺️ Custom worlds — restrict any named world by date or schedule.
- 🚪 Fallback teleport — send blocked players to a configurable world spawn.
- 🎫 Per-player bypasses — grant a timed bypass with
/wab bypass, revoke with/wab remove. - 🔌 PlaceholderAPI support — expose restriction state and time-left to scoreboards / TAB.
- 🌐 Multi-language — English and Russian included; add your own
.yml. - ♻️ Live reload — apply config changes without a restart via
/wabreload. - 🧵 Folia-native — uses the regional scheduler on Folia (no thread-safety warnings).
- 🔔 Update notifications — admins get an in-game alert when a new version is out.
📦 Installation
- Download the latest
WorldAccessBlocker.jar. - Drop it into your server's
plugins/folder. - Restart the server.
- Edit
plugins/WorldAccessBlocker/config.ymlto taste, then run/wabreload.
⚙️ Configuration
# Message language: "en" or "ru"
language: "en"
# Server time zone (important for recurring schedules!)
time-zone: "Europe/Moscow"
nether:
disable: true
# Used only when there is NO `recurring` block (blocked until this date):
restriction-date: "2025-03-10 00:00:00"
disable-portal-creation: true
disable-teleportation: true
# Weekly schedule. If this block is present, `restriction-date` is IGNORED.
# Each period is an OPEN (allowed) window — outside these windows access is blocked.
recurring:
periods:
# Open only on Sundays, 15:00–17:00
- days: [SUNDAY]
start-time: "15:00"
end-time: "17:00"
# Open all day on weekends
- days: [SATURDAY, SUNDAY]
end:
disable: true
disable-portal-activation: true
# Empty list = no open windows = ALWAYS blocked
recurring:
periods: []
elytra:
disable: true
disable-equip: true
disable-flight: true
custom-worlds:
lobby_world:
disable: true
recurring:
periods:
- days: [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY]
start-time: "09:00"
end-time: "17:00"
# Where blocked players are teleported (world name → its spawn)
fallback-spawns:
default: "world"
nether: "hub"
How the schedule works: when
recurring:is set, each period defines an open window. If the current day/time falls inside a period, access is open; otherwise it is blocked. An emptyperiods: []means always blocked.
🧩 Commands & Permissions
| Command | Permission | Default | Description |
|---|---|---|---|
/wab bypass <player> <feature> <seconds> |
wab.bypass |
op | Grant a timed bypass |
/wab remove <player> <feature> |
wab.bypass |
op | Remove a bypass |
/wab status [player] |
wab.status |
all | Show restriction status |
/wabreload |
wab.reload |
op | Reload config without a restart |
<feature> is nether, end, elytra, or a custom world name.
🔧 PlaceholderAPI
| Placeholder | Returns |
|---|---|
%wab_nether_blocked% |
true / false |
%wab_end_blocked% |
true / false |
%wab_elytra_blocked% |
true / false |
%wab_time_left_nether% |
time remaining (or schedule) |
%wab_time_left_end% |
time remaining (or schedule) |
%wab_time_left_elytra% |
time remaining (or schedule) |
💻 Compatibility
| Platform | Versions | Status |
|---|---|---|
| Paper | 1.20.5 – 1.21.4 | ✅ Full support |
| Purpur | 1.20.5 – 1.21.4 | ✅ Full support |
| Folia | 1.20.5+ | ✅ Native scheduler |
Requires Java 21. Spigot/Bukkit are not supported (the plugin uses Paper's Adventure & scheduler APIs).
📊 Stats
🐛 Bugs & Suggestions
Open an issue on GitHub or leave a comment here on Modrinth.
Ченджлог
0.11.0Релиз26.1.1, 26.1.2, 26.2 · 3 июля 2026 г.
release: bump to 0.11.0 — support Minecraft 1.20.1+ (Java 17)
Lower the baseline from Java 21 / Paper 1.20.5+ back to Java 17 / Paper 1.20.1 so a single JAR runs on 1.20.1–1.20.4 (Java 17) and 1.20.5+ (Java 21), up to the latest release.
- pom: compile to Java 17 (--release), build against paper-api 1.20.1
- replace Java 21 List.getFirst()/getLast() with index access
- release workflow: build Modrinth game_versions dynamically (1.20+), static fallback
- docs: README/Modrinth/BlackMinecraft compatibility -> 1.20.1+, Java 17+
- issue templates: refresh version and supported-versions line
- add EN Modrinth and RU BlackMinecraft descriptions
0.10.0Релиз26.1.1, 26.1.2, 26.2 · 23 июня 2026 г.
ci: upload Modrinth metadata as a file part
Passing multi-line JSON inline via -F "data=$DATA" corrupted the payload
and Modrinth rejected it with HTTP 400 (invalid_input / EOF while parsing a
string). Write the metadata to modrinth-data.json and send it as
-F "[email protected];type=application/json", which is immune to
shell quoting and curl -F content parsing.
Co-Authored-By: Claude Opus 4.8 (1M context) [email protected]
0.9.0Релиз26.1, 26.1.1, 26.1.2 · 28 мая 2026 г.
fix: use Modrinth project ID (chVqXf9e) instead of slug
0.8.0Релиз1.21.9, 1.21.10, 1.21.11 · 10 марта 2026 г.
Version 0.8.0
Added
- New
/wab status [player|uuid]command to view restriction status. - PlaceholderAPI support (soft dependency).
- New placeholders:
%wab_nether_blocked%%wab_end_blocked%%wab_elytra_blocked%%wab_time_left_nether%%wab_time_left_end%%wab_time_left_elytra%
- Per-feature/custom-world fallback spawn configuration (
fallback-spawns). - Unit tests for core restriction logic (
ConfigManagerTest).
Changed
/wab bypassand/wab removenow support offline players and UUIDs.- Bypass expiration timestamps now use configured plugin timezone.
- Bypass persistence optimized with delayed save scheduling to reduce disk writes.
- Updated README with new commands, placeholders, and config examples.
Fixed
- Fixed recurring behavior:
periods: []now correctly means "always blocked". - Fixed date parsing with configured timezone for
restriction-date. - Fixed Elytra equip checks (inventory edge cases and null-safety).
- Fixed potential crash in portal creation handling when block list is empty.
- Fixed teleport fallback handling when blocking Nether/End/custom world access.
- Fixed broken README encoding.
Notes
- PlaceholderAPI integration is optional and auto-enabled when the plugin is installed.
0.7.1Релиз1.21.9, 1.21.10, 1.21.11 · 14 ноября 2025 г.
Full schedule support has been added — now you can set precise time frames for each day of the week. For example, you can specify that the function is active only on Sundays from 3:00 p.m. to 5:00 p.m.
Key features:
- Flexible period settings (recurring.periods): select days, times, or specify “all day.”
- Smart prompts for users: the system automatically generates clear messages such as “available on weekends from 10:00 a.m. to 10:00 p.m. and all day on Mondays.”
- Support for schedules for user worlds.
Example from the new config.yml:
# ===================================================================
# Nether
# ===================================================================
nether:
disable: true
# If recurring is NO, this date is used (until when it is blocked)
restriction-date: “2025-03-10 00:00:00”
disable-portal-creation: true
disable-teleportation: true
# NEW: schedule by day and time
# If this block is present, restriction-date is IGNORED
recurring:
periods:
# Example 1: only on Sundays from 3:00 p.m. to 5:00 p.m.
- days: [SUNDAY]
start-time: “15:00”
end-time: “17:00”
# Example 2: all day on weekends
- days: [SATURDAY, SUNDAY]
# Example 3: every Monday from 6:00 p.m. to 11:59 p.m.
- days: [MONDAY]
start-time: “18:00”
end-time: “23:59”
0.6Релиз1.21.6, 1.21.7, 1.21.8 · 13 сентября 2025 г.
WorldAccessBlocker v0.6 – Changelog
Major update for Minecraft 1.21.x (incl. Folia) improving restrictions, Elytra handling, and bypass control.
Custom Worlds: Block access via custom-worlds in config.yml. Blocked players return to Overworld spawn. Grant bypass: /wab bypass .
Elytra: Auto-unequip every second if disabled; moved to inventory or dropped.
Bypasses: Localized bypass_granted / bypass_removed. Remove with /wab remove (saves to bypasses.yml).
Fixes: Closed Nether portal exploit, improved localization & Folia support.
0.4Релиз1.21.3, 1.21.4, 1.21.5 · 6 июня 2025 г.
📦 Changelog – WorldAccessBlocker
[0.4] – 2025-06-07
✨ Added
🕒 Time Zone Support
Addedtime-zoneoption inconfig.ymlto specify a custom time zone for restriction dates (e.g.,UTC,Europe/Moscow).
➜ Includes reference link to the IANA Time Zone Database.🔍 Granular Restrictions
Introduced detailed restriction toggles for:- Nether:
portal-creation,teleportation - End:
portal-activation - Elytra:
equipping,flight
- Nether:
🛡️ Bypass Command
New command:
/wab bypass
Temporarily allows a player to bypass restrictions for Nether, End, or Elytra.
⌨️ Tab Completion
Added intelligent tab suggestions for/wabcommand:Subcommands (e.g.
bypass)Online player names
Features:
nether,end,elytraDurations (e.g.
3600,86400)🚨 Active Restriction Check
Plugin now periodically checks if players are inside restricted dimensions (Nether or End) and teleports them out if needed.
🐛 Fixed
Nether Portal Creation
Fixed exploit where players could still create Nether portals by handlingPortalCreateEvent.Vehicle Teleportation
Resolved issue allowing teleportation into the Nether using boats or minecarts viaEntityPortalEvent.Elytra Equipping
Fixed bypass where players could equip elytra using off-hand right-click (handled viaPlayerInteractEvent).
🔧 Changed
⚡ Performance Optimizations
Improved event handlers with early-exit conditions to reduce CPU usage on high-player servers.🌐 Language Enhancements
Updateden.ymlandru.ymlto display remaining restriction time in days and hours for clearer user messages.🗂 Configuration Layout
Restructuredconfig.yml:Grouped features under
nether,end,elytrasectionsAdded clear comments and descriptions for easier customization
📝 Notes
- ✅ Plugin now supports Folia, though Nether portal blocking may still be limited due to
PlayerPortalEventbehavior. - 🧭 Make sure to set a valid IANA time zone in the config (
time-zone: Europe/Moscow, etc.). - 📁 Check
config.ymlfor new nested options and adjust your settings accordingly.
0.3Релиз1.21.3, 1.21.4, 1.21.5 · 6 июня 2025 г.
UPD
Комментарии
Загружаем…