
WorldGuard ExtraFlags Plus
Adds 30+ extra WorldGuard flags - Folia, Disable Mace & more, Permit entry by XP or PAPI, and more.
6.2K
23
WorldGuard ExtraFlags Plus 4.3.13
release4 мая 2026 г.Changelog - Release 4.3.13
4.3.13
disable-throw region flag
SetFlaglistingEGG,SNOWBALL,ENDER_PEARL,EXPERIENCE_BOTTLEonly (validated byThrowableItemFlag);ProjectileLaunchEventcancellation +disable-throw-blockedmessage (messages-wgefp.yml). Trident / wind charge remain ondisable-completely. Toggle viaconfig-wgefp.ymlall-flags-control.disable-throw.
Build / runtime targets (Maven)
- Minecraft / Paper
26.1.2: compile againstio.papermc.paper:paper-apipinned to26.1.2.build.60-stable(matches Paper repomaven-metadata.xmlreleaseat time of update); bump this property when Paper ships newer26.1.2.build.*builds.org.spigotmc:spigot-apiremoved — Paper supplies the Bukkit API (Paper project setup). javac--release 25per Paper’s26.1.xtoolchain recommendation (same doc).plugin.yml:api-version: '1.21'so Paper / forks (e.g. Canvas) 1.21.x accept the jar at load time; declaring26.1.2causesUnsupported API versionon those servers (Paper plugin.yml).- Still bundled vs provided: WorldEdit
7.3.18, WorldGuard7.0.15-SNAPSHOT, FAWE-Core2.12.0, bstats3.1.0, ConfigLib4.8.0, Lombok1.18.46, shade3.6.2.paper-reporemains last in<repositories>to avoid probing EngineHub coords against Paper first.
Join location (Paper / Folia)
- When
join-locationis enabled and the server provides Paper'sAsyncPlayerSpawnLocationEvent, registerAsyncJoinLocationListenerinstead of deprecated SpigotPlayerSpawnLocationEvent, avoiding startup deprecation noise (aligned with PR #12). - Plain Spigot (no async API): unchanged
JoinLocationListenerand existing deprecation console hint. JoinLocationPlayerJoinListener(PlayerJoinEvent, monitor): ifjoin-locationresolves at the player's spawn position and differs by block, teleport on the entity scheduler. Covers Folia (and similar cases) where async spawn handlers cannot reliably apply region queries before login (Issue #1); usesLocalPlayerfor the query likeJoinLocationListener.
WorldEdit flag + FastAsyncWorldEdit (FAWE)
WorldEditFlagHandlernow intercepts FAWE batch extent APIs (setBlocks,replaceBlocks, coordinatesetBlock,setBiome) in addition to per-blocksetBlock, soworldeditDENY is much harder to bypass under FAWE (addresses Issue #7–style gaps).- Compile against
FastAsyncWorldEdit-Coreprovided(Modrinth Maven); WorldGuard’s transitive WorldEdit jars are excluded on the Spigot module so the patchedAbstractDelegateExtentAPI matches runtime FAWE/WorldEdit. - Optional permissions:
worldguardextraflagsplus.worldedit.bypass,worldguardextraflagsplus.worldedit.silent-deny. - New message key
worldedit-deniedinmessages-wgefp.yml/PluginMessages(reload to customize).
Disabled flags in config-wgefp.yml (handler null-safety)
- When
all-flags-controlturns offflyorgive-effects, WorldGuard does not register those session handlers —Session#getHandlerreturns null.PlayerListener,EntityPotionEffectEventListener, andRemoveEffectPacketListenernow checkConfig.isFlagEnabledand null handlers before use (fixes Issue #9 NPE on e.g.PlayerChangedWorldEvent).
fly after PLUGIN teleports (portals)
- After
PlayerTeleportEvent(monitor), re-queryflyat the destination and callFlyFlagHandler#refreshFlyFromApplicableSet, so flight matches regions when session move hooks do not run (e.g. Issue #8 portal plugins).
command-on-entry / console-command-on-entry
initialize(LocalPlayer, …)added so commands run when the session starts already inside a region with the flag (previously onlyonCrossBoundaryfired, so login/spawn inside the region did nothing).console-command-on-entryalso alignsisEmptychecks withcommand-on-entry.- Command strings: strip a leading
/only when present — YAML pasted without/no longer turnssay hiintoay hi.command-on-exit/console-command-on-exituse the same helper; skip blank lines after processing.
WorldGuard ExtraFlags Plus 4.3.12
release4 мая 2026 г.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 theSPEARshorthand (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-completelyregisters 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 bogusio.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.ymlflag toggle like other flags). Behavior and defaults may change in future releases.
WorldGuard ExtraFlags Plus 4.3.11
release10 января 2026 г.WorldGuard ExtraFlags Plus 4.3.10
release19 декабря 2025 г.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
WorldGuard ExtraFlags Plus 4.3.9
release18 декабря 2025 г.Fixed
- Fixed
command-on-entryandcommand-on-exitflags causing thread check errors on Folia servers by using entity scheduler instead of global scheduler for player command dispatch - Fixed
disable-collisionflag causing player disconnections on Paper servers by properly handlingIllegalStateExceptionwhen removing players from teams - Fixed
disable-collisionflag 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 incommand-on-entry,command-on-exit,console-command-on-entry, andconsole-command-on-exitflags (in addition to existing%username%and{username}placeholders) - Added EssentialsX godmode integration - the
godmodeflag 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
Совместимость
Создатели
Детали
Лицензия:MIT
Опубликован:6 месяцев назад
Обновлён:5 часов назад
