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

WorldAccessBlocker

Schedule Nether, End, elytra, and custom-world access for your server — by date or recurring weekly windows, with per-player bypasses and PlaceholderAPI support.

Автор: denfry1,6 тыс.5обновлён 23 сент. 2026 г.
Механики игрыУправлениеУтилиты

Описание

🌍 WorldAccessBlocker

Servers Players License

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

  1. Download the latest WorldAccessBlocker.jar.
  2. Drop it into your server's plugins/ folder.
  3. Restart the server.
  4. Edit plugins/WorldAccessBlocker/config.yml to 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 empty periods: [] means always blocked.


🧩 Commands & Permissions

CommandPermissionDefaultDescription
/wab bypass <player> <feature> <seconds>wab.bypassopGrant a timed bypass
/wab remove <player> <feature>wab.bypassopRemove a bypass
/wab status [player]wab.statusallShow restriction status
/wabreloadwab.reloadopReload config without a restart

<feature> is nether, end, elytra, or a custom world name.


🔧 PlaceholderAPI

PlaceholderReturns
%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

PlatformVersionsStatus
Paper1.20.5 – 1.21.4✅ Full support
Purpur1.20.5 – 1.21.4✅ Full support
Folia1.20.5+✅ Native scheduler

Requires Java 21. Spigot/Bukkit are not supported (the plugin uses Paper's Adventure & scheduler APIs).


📊 Stats

bStats

🐛 Bugs & Suggestions

Open an issue on GitHub or leave a comment here on Modrinth.

Галерея

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

Все версии →
release

WorldAccessBlocker 0.12.0

0.12.0
23 сент. 2026 г.276Minecraft: 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, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Скачать
Что нового
WorldAccessBlocker 0.12.0 - Folia forks (Arbor, Canvas, DeerFolia, Lophine, ...) no longer fail to enable (#1). Folia is now detected by the regionised-server class instead of the server brand name. Thanks to @lijinhong11 (#2). - Repeating global tasks on Folia no longer pass a zero initial delay, which the region scheduler rejects. - The Folia adapter uses the Paper scheduler API directly instead of reflection and no longer falls back to the Bukkit scheduler. - Modrinth releases now list the year-based Minecraft versions (26.1, 26.2, ...). - Dependencies: bStats 3.1.0, JUnit 6.1.3, Mockito 5.23.0; CI actions updated.
release

WorldAccessBlocker 0.11.0

0.11.0
3 июл. 2026 г.314Minecraft: 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, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
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
release

WorldAccessBlocker 0.10.0

0.10.0
23 июн. 2026 г.71Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 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, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
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 "data=@modrinth-data.json;type=application/json"`, which is immune to shell quoting and curl -F content parsing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
release

WorldAccessBlocker 0.9.0

0.9.0
28 мая 2026 г.145Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 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, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
fix: use Modrinth project ID (chVqXf9e) instead of slug
release

WorldAccessBlocker 0.8.0

0.8.0
10 мар. 2026 г.248Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 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, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## 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 bypass` and `/wab remove` now 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.
release

WorldAccessBlocker 0.7.1

0.7.1
14 нояб. 2025 г.295Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 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, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
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: ```yaml # =================================================================== # 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” ```
release

WorldAccessBlocker 0.6

0.6
13 сент. 2025 г.88Minecraft: 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.8bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## **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 <player> <world> <time>. Elytra: Auto-unequip every second if disabled; moved to inventory or dropped. Bypasses: Localized bypass_granted / bypass_removed. Remove with /wab remove <player> <feature> (saves to bypasses.yml). Fixes: Closed Nether portal exploit, improved localization & Folia support.
release

WorldAccessBlocker 0.4

0.4
6 июн. 2025 г.81Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 📦 Changelog – WorldAccessBlocker ## [0.4] – 2025-06-07 ### ✨ Added - **🕒 Time Zone Support** Added `time-zone` option in `config.yml` to specify a custom time zone for restriction dates (e.g., `UTC`, `Europe/Moscow`). ➜ Includes reference link to the [IANA Time Zone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). - **🔍 Granular Restrictions** Introduced detailed restriction toggles for: - Nether: `portal-creation`, `teleportation` - End: `portal-activation` - Elytra: `equipping`, `flight` - **🛡️ Bypass Command** New command: /wab bypass <player> <feature> <duration> Temporarily allows a player to bypass restrictions for **Nether**, **End**, or **Elytra**. - **⌨️ Tab Completion** Added intelligent tab suggestions for `/wab` command: - Subcommands (e.g. `bypass`) - Online player names - Features: `nether`, `end`, `elytra` - Durations (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 handling `PortalCreateEvent`. - **Vehicle Teleportation** Resolved issue allowing teleportation into the Nether using boats or minecarts via `EntityPortalEvent`. - **Elytra Equipping** Fixed bypass where players could equip elytra using off-hand right-click (handled via `PlayerInteractEvent`). --- ### 🔧 Changed - **⚡ Performance Optimizations** Improved event handlers with **early-exit conditions** to reduce CPU usage on high-player servers. - **🌐 Language Enhancements** Updated `en.yml` and `ru.yml` to display **remaining restriction time** in **days and hours** for clearer user messages. - **🗂 Configuration Layout** Restructured `config.yml`: - Grouped features under `nether`, `end`, `elytra` sections - Added **clear comments** and descriptions for easier customization --- ### 📝 Notes - ✅ Plugin now supports **Folia**, though **Nether portal blocking** may still be limited due to `PlayerPortalEvent` behavior. - 🧭 Make sure to set a valid **IANA time zone** in the config (`time-zone: Europe/Moscow`, etc.). - 📁 Check `config.yml` for **new nested options** and adjust your settings accordingly.
release

WorldAccessBlocker 0.3

0.3
6 июн. 2025 г.40Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5bukkit, folia, paper, purpur, spigot
Скачать
Что нового
UPD