Tags
Creators
Details
Licensed MIT
Published last year
Updated 3 weeks ago
All versions
Disabled flags in
4.3.13
Release
WorldGuard ExtraFlags Plus 4.3.136 months ago 773
Compatibility
Minecraft: Java Edition
1.21.x
Platform
Folia
Changes
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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:DsxKmIdB:uYcdcX3k"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DsxKmIdB:uYcdcX3k"
}

