WorldEdit Version
7.4.5+7590-b8dc4c1
WorldGuard Version
7.0.18+2392-fa605e6
Platform Version
Purpur 26.2-2627-HEAD@f284e3d
Confirmations
Bug Description
When setting a WorldGuard flag to none to remove it, the plugin successfully clears the flag and saves the data in the background, but throws a NullPointerException in the server console/chat. This happens because the command framework attempts to invoke .toString() on the null value returned by RegionCommands.setFlag(...) to build the console/chat feedback.
Copy from the log:
[20:25:40] [Server thread/INFO]: Cannot invoke "Object.toString()" because the return value of "com.sk89q.worldguard.commands.region.RegionCommands.setFlag(com.sk89q.worldguard.protection.regions.ProtectedRegion, com.sk89q.worldguard.protection.flags.Flag, com.sk89q.worldedit.extension.platform.Actor, String)" is null
--
| [20:25:44] [WorldGuard Region I/O/INFO]: [WorldGuard] Region data changes made in 'world' have been background saved
Expected Behavior
The plugin should successfully clear the flag, gracefully handle the null return value from the cleared state, and send a standard confirmation message without throwing any errors in the console.
Reproduction Steps
- Create a region and assign a flag to a specific value (e.g.,
/rg flag testregion exit deny).
- Attempt to remove the flag by setting it to none (e.g.,
/rg flag testregion exit none).
- Check the server console to observe the
Cannot invoke "Object.toString()" ... is null error, followed by the background save message.
Optional WorldGuard-Report
No response
Anything Else?
No response
WorldEdit Version
7.4.5+7590-b8dc4c1
WorldGuard Version
7.0.18+2392-fa605e6
Platform Version
Purpur 26.2-2627-HEAD@f284e3d
Confirmations
Bug Description
When setting a WorldGuard flag to
noneto remove it, the plugin successfully clears the flag and saves the data in the background, but throws aNullPointerExceptionin the server console/chat. This happens because the command framework attempts to invoke.toString()on thenullvalue returned byRegionCommands.setFlag(...)to build the console/chat feedback.Copy from the log:
[20:25:40] [Server thread/INFO]: Cannot invoke "Object.toString()" because the return value of "com.sk89q.worldguard.commands.region.RegionCommands.setFlag(com.sk89q.worldguard.protection.regions.ProtectedRegion, com.sk89q.worldguard.protection.flags.Flag, com.sk89q.worldedit.extension.platform.Actor, String)" is null -- | [20:25:44] [WorldGuard Region I/O/INFO]: [WorldGuard] Region data changes made in 'world' have been background savedExpected Behavior
The plugin should successfully clear the flag, gracefully handle the
nullreturn value from the cleared state, and send a standard confirmation message without throwing any errors in the console.Reproduction Steps
/rg flag testregion exit deny)./rg flag testregion exit none).Cannot invoke "Object.toString()" ... is nullerror, followed by the background save message.Optional WorldGuard-Report
No response
Anything Else?
No response