WorldGuard ExtraFlags Plus v4.4.1

Adds 30+ extra WorldGuard flags - Folia, Disable Mace & more, Permit entry by XP or PAPI, and more.
  • blocked-effects, give-effects, and play-sounds skip tick work when the flag is inactive and there’s nothing to restore
  • blocked-effects avoids calling hasBypass() every tick when no flag value applies (less LuckPerms/cache overhead)
  • blocked-effects uses one runAtEntity task per tick instead of N+1 separate schedules
### Build & runtime
  • Version 4.4.0 — feature and stability release after Folia/performance audit.
  • Java 21 bytecode (--release 21) for broader Paper 1.21.x / 26.1–26.3 server compatibility.
  • Paper API compile target: 26.1.2.build.67-stable; plugin.yml remains api-version: '1.21'.
  • FoliaLib shading hardened: explicit shade includes + post-package check that WrappedBukkitTask and SpigotImplementation exist in the jar (fixes NoClassDefFoundError breaking command-on-entry and all schedulers on Paper 26.x).
### Command flags
  • Shared CommandFlagHandlerSupport for entry/exit player and console command flags.
  • Entry commands dispatch only from entered regions with correct last-set tracking; exit commands run for all removed command sets.
  • Player commands use runAtEntity; console commands use runNextTick.
  • Scheduler self-test on enable logs SEVERE if FoliaLib is broken.
### Config & startup (#14, #13)
  • logging.verbose-startup-logs (default false) — quiet console on large servers.
  • Config.initialize() in onLoad() before flag registration — disabled flags (e.g. glide) are not registered; reduces “plugin not installed” unknown-flag warnings.
  • Chunk-unload tickets: one summary line per world; collision init only when flag enabled.
### Give-effects (#15)
- PotionEffectFlag accepts night_vision, minecraft:night_vision, legacy names, and normalized spacing.
### Keep-inventory & combat log
  • keep-inventory-settings.combat-log-restore (default true) — DeluxeCombat soft integration: snapshot inventory on combat-log quit inside keep-inventory regions, restore on next join.
  • Death handler priority HIGHEST so other plugins are less likely to clear drops after keep-inventory applies.
### Block flags
- allow-block-place-settings.require-membership / allow-block-break-settings.require-membership — allow lists apply only to region members/owners (e.g. member-only sign placement).
### New flag: hide-players (experimental)
  • Opt-in via all-flags-control.hide-players: true, then /rg flag <region> hide-players true.
  • Hides players from others while inside the region (hub/lobby optimization via Bukkit hidePlayer).
### Join-location
- Improved Paper/Folia/Canvas detection — prefers AsyncPlayerSpawnLocationEvent over deprecated PlayerSpawnLocationEvent on modern servers.
### Folia / performance audit fixes
  • Collision apply on join/world-change via runAtEntity (not global runNextTick).
  • Chambered ender pearl listener rewrite (thread-safety, scheduler).
  • Player count limit uses world-scoped player scan.
  • Chunk-unload batched async chunk tickets.
  • Join-location fallback uses teleportAsync.
  • Fly/godmode quit cache cleanup; entry-level placeholder cache eviction; onDisable task cancel.
### Config documentation
- Inline comments for give-effects syntax, worldedit __global__ usage, glide disable behavior, hide-players setup.
#### disable-completely — Vanilla spears (1.21.11+)
  • Block spear items: tier materials (WOODEN_SPEAR, STONE_SPEAR, COPPER_SPEAR, IRON_SPEAR, GOLDEN_SPEAR, DIAMOND_SPEAR, NETHERITE_SPEAR) and the SPEAR shorthand (all tiers).
  • Riptide interaction blocking extended to spears as well as tridents when the item is disabled in the region.
  • Spear Lunge (packet STAB, including Lunge enchant use) is only reliably blocked when PacketEvents or ProtocolLib is installed; without either, Lunge may bypass Bukkit-only checks.

#### Packet-level blocking (optional plugins)
  • disable-completely registers PacketEvents listeners when the PacketEvents plugin is present (primary): cancels relevant serverbound packets including spear Lunge via digging action STAB, plus use/interact/placement paths as implemented.
  • ProtocolLib is supported as a fallback when PacketEvents is not used or hook registration fails.

#### Safe startup without PacketEvents / ProtocolLib
  • Main plugin class avoids hard references to PacketEvents and ProtocolLib APIs; registration uses reflection so the jar loads cleanly when optional dependencies are absent (provided / softdepend).
  • PacketEvents API entry uses com.github.retrooper.packetevents.PacketEvents (correct package); avoids bogus io.github.retrooper... lookups that broke hook registration at runtime.
  • ProtocolLibHelper (give-effects) registers its listener via reflection only so the helper class does not require ProtocolLib on the classpath at load time.

#### New flag: chambered-enderpearl (experimental)
- Experimental. State flag to mitigate chambered ender pearl style bypasses: tracks pearls thrown outside flagged regions and removes them when the shooter enters a region where the flag denies the behavior (handler + session integration; configurable via config-wgefp.yml flag toggle like other flags). Behavior and defaults may change in future releases.
### Disable Collision Flag - Major Refactor

#### Implementation Changes
  • Minecraft teams: Now uses Minecraft's native scoreboard team system (the only reliable method for entity-to-entity collision)
  • Hybrid team-based approach:
- If a player is the only member of their team, the plugin temporarily modifies that team's collision rule
- If a player is in a team with multiple members, creates a per-player team (WGC_<hash>) to avoid affecting others
- If a player has no team, adds them to a per-player team with collision disabled

#### TAB Plugin Integration
  • Full API integration: Added TAB plugin support with API integration
  • Priority handling: TAB integration takes priority over direct team manipulation when TAB is installed
  • Conflict prevention: Uses TAB's API to set collision rules, preventing TAB from overwriting collision settings
  • Automatic fallback: If TAB is not available, automatically falls back to direct team manipulation

#### Without TAB (Normal Usage)
  • Direct team manipulation: Uses Bukkit's Scoreboard API to directly modify team collision rules
  • Team restoration: Properly restores original team collision rules when players leave regions
  • Per-player teams: Creates temporary per-player teams when needed to avoid conflicts with shared teams
  • Cleanup on disable: Properly cleans up all teams and restores original settings when plugin disables

#### Warnings and Compatibility
  • Load-time warning: Displays a warning on plugin load about potential conflicts with team-using plugins
  • Known plugin detection: Warns about potential conflicts with couple known plugin names
  • TAB support indication: Shows supported plugins

#### Documentation Updates
  • Updated documentation: Comprehensive documentation file updated with TAB integration details
  • Troubleshooting guide: Added troubleshooting information for team conflicts
### Fixed
  • Fixed command-on-entry and command-on-exit flags causing thread check errors on Folia servers by using entity scheduler instead of global scheduler for player command dispatch
  • Fixed disable-collision flag causing player disconnections on Paper servers by properly handling IllegalStateException when removing players from teams
  • Fixed disable-collision flag on Folia servers - feature is now automatically disabled if team creation is not supported (prevents errors and warnings)

### Added
  • Added support for %player% and {player} placeholders in command-on-entry, command-on-exit, console-command-on-entry, and console-command-on-exit flags (in addition to existing %username% and {username} placeholders)
  • Added EssentialsX godmode integration - the godmode flag now also disables EssentialsX godmode when entering regions with godmode disabled (EssentialsX is now a soft dependency)

### Changed
  • Migrated configuration management to ConfigLib library for improved maintainability, automatic comment preservation, and better error handling
  • Updated API version to 1.21 - plugin now officially supports Paper 1.21.10+, Spigot 1.21.x, and Folia 1.21.x

New Features​

  • Added inventory-craft flag - Block inventory crafting (2x2 grid) in regions
  • Added Discord support link - Join our community: https://discord.gg/TCJAwsdqum

Breaking Changes​

  • Removed permit-completely flag - Use disable-completely instead (automatic migration included)
  • Changed permit-workbenches CRAFT behavior - Now only blocks crafting table (3x3), not inventory crafting. Use deny-inventory-craft for inventory blocking.

Improvements​

  • Automatic message migration: permit-completely-blocked → disable-completely-blocked
  • Automatic message key addition for new flags
  • File-based region migration runs automatically on plugin load

Documentation​

  • Updated all documentation with new flags
  • Added Discord community link
  • Updated version compatibility tables
Note: Existing permit-completely flags in region files will be automatically migrated to disable-completely on plugin load.
EULA: Free EULA
2,176 Views
62 Downloads
Nov 3, 2025 Published
Jun 25, 2026 Updated
Not yet rated
717.1 KB File size
Open source
  1. Yes
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Protection
  1. World
  1. Patch
Game mode
  1. Hub & lobby
  1. Donut-like
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. This product doesn't contain text
  1. English
Crediting original
isokissa3
Creator
Owner
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,207 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,167 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,096 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,812 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,580 purchases
2,176 Views
62 Downloads
Nov 3, 2025 Published
Jun 25, 2026 Updated
Not yet rated
717.1 KB File size
Open source
  1. Yes
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Protection
  1. World
  1. Patch
Game mode
  1. Hub & lobby
  1. Donut-like
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. This product doesn't contain text
  1. English
Crediting original
isokissa3
Creator
Owner
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,207 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,167 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,096 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,812 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,580 purchases
Top