WG-GUI - Better WorldGuard experience [1.20-26.2] icon

WG-GUI - Better WorldGuard experience [1.20-26.2] -----

Work faster with WorldGuard by user-friendly GUI.




  1. It is now possible to use special keywords („q”, „edit”, „create”) as input values. Before, you couldn’t e.g. make a region with name „q” - from now you can type „\q” to pass „q” as region name. The same solution applies to all other scenarios where special keywords are used.
  2. Added option to permanently hide global region („__global__”) from being shown in Select Region menu. This feature is controlled with „DisplayGlobalRegionInRegionsView” key in config.yml and has value of true by default.
  3. Added option to hide unsafe options when editing global region (set parent, edit boundaries, rename and remove) – by default this feature is enabled and controlled with „HideUnsafeOptionsFromGlobalRegion” key in config.yml.
  4. Added option to set item material used to display global region in regions selection menu. Tihs is controlled with „GlobalRegionItemMaterial” key in config.yml and has value of „DARK_OAK_SAPLING” by default.
  5. Create new region” and „Edit boundaries” options now allow to skip boundaries selection step and use player’s current WorldEdit selection. To do so, just make shift + left-click instead od left-click on items representing these options.
  6. Minimum required Java version is now 21.
  7. Minimum required Minecraft server version is now 1.20.6.


Added lines to config.yml
Code (YAML):
# If true, "__global__" region will be shown in "Select region" menu and can be edited like normal region or selected in other contexts. If false, "__global__" region will be hidden.
DisplayGlobalRegionInRegionsView
: true
# Material used for "__global__" region to differentiate it more from other regions in "Select region" menu.
GlobalRegionItemMaterial
: DARK_OAK_SAPLING
# If true, when editing "__global__" region, options that don't make sense for it (e.g. setting parent region, editing boundaries) will be hidden.
HideUnsafeOptionsFromGlobalRegion
: true
Added lines to lang,yml

(modern)
Code (YAML):
INV_REGION_OPTIONS_BOUNDARIES_MORE :
- "<gray><italic>(Use shift + left-click to edit region boundaries"
- "<gray><italic>with current WorldEdit selection.)"
INV_MAIN_CREATE_REGION_MORE
:
- "<gray><italic>(Use shift + left-click to create a region"
- "<gray><italic>with current WorldEdit selection.)"
(legacy)
Code (YAML):

INV_REGION_OPTIONS_BOUNDARIES_MORE
:
- "&7&o(Use shift + left-click to edit region boundaries"
- "&7&owith current WorldEdit selection.)"
INV_MAIN_CREATE_REGION_MORE
:
- "&7&o(Use shift + left-click to create a region"
- "&7&owith current WorldEdit selection.)"
 
Plugin will auto-update existing configs when needed.
----------, May 15, 2026

This release contains major changes to configuration files. I recommend making backup of your existing WG-GUI installation before performing update.

This release is confirmed to work on Minecraft servers versions from 1.13 to 26.1.


Post-region-creation actions

After creation of region, player was automatically moved to template selection for that region – this is now controllable. Furthermore, if no templates are available, plugin will move players to„Region options” menu instead. This behavior is also controllable with following settings in config.yml:

Code (Text):

# If true, after creating region player will be moved to "Select template" menu of that region.
AutoOpenRegionTemplateSelectAfterCreation: true
# If true, after creating region player will be moved to "Region options" menu of that region.
# This option has lower priority than 'AutoOpenRegionTemplateSelectAfterCreation' option and if both are enabled then this one has effect only when player doesn't have permission required to enter 'Select template' menu or no templates are available.
AutoOpenRegionOptionsAfterCreation: true
 
When both settings are disabled, plugin won’t perform any further action to player after region creation.

Changes to region templates
  • Template description is now a list of strings instead of string, allowing better customization.
  • Added option to control access to templates with permissions (this feature was partially present before, but server admins didn’t have ability to disable permission checks so it was always enabled)

config.yml file:

Code (Text):

# If true, player will need specific permission to see region templates in "Select template" menu and use them when creating/editing region. If false, all templates will be visible and usable for all players.
# Permission node format: wggui.user.template.<templatename> (e.g. wggui.user.template.pvp)
RegionTemplatesUsePermissions: true
 
World restrictions

Added 2 ways to control access to worlds in „Select world” inventory. First one uses permissions, second one disables world completely from being accessed using WG-GUI for all users.
  • Permission-based world access setup (enabled by default):
Code (Text):

# If true, player will need specific permission to see worlds in "Select world" menu. If false, all worlds will be visible to all players.
WorldsUsePermissions: true
 
When enabled, player needs „wggui.worlds.<world_name>” permission to have access to given world
  • World exclusion from WG-GUI setup
Code (Text):

# This option excludes worlds from being shown in "Select world" menu for all players, even those with permissions to see all worlds.
ExcludedWorlds:
- "myworld"
 
Faster navigation

Plugin now checks worlds player has access to when working with „Edit existing region”, „Set parent region” and „Copy flags from other region” options.. If they have access to only one world, they won’t see „Select world” menu and instead will see „Select region” menu for that world. This works only when „MoveToSelectRegionMenuWhenOnlyOneWorldAvailable” is set to true in config.yml (by default it is).

When player has access to only one world and to only one region in that world, after clicking on „Edit existing region” they will be moved to „Region options” menu for that region. This works only when „AutoSelectRegionWhenOnlyOneAvailable” is set to true in config.yml (by default it is).

When exiting from „Region options” menu, plugin moves player directly to main menu if AutoSelectRegionWhenOnlyOneAvailable is set to true and player has access to only one world and to only one region in that world.

config.yml:

Code (Text):

# If true, when player clicks on "Edit existing region", "Copy flags from other region" or "Set parent region" item and they're allowed to edit regions in only one world, they will be moved directly to "Select region" menu for that world instead of "Select world" menu.
MoveToSelectRegionMenuWhenOnlyOneWorldAvailable: true
# If true, when player clicks on "Edit existing region" item and they're allowed to edit only one region in one world, they will be moved directly to "Region options" menu for that region instead of "Select world/region" menu.
AutoSelectRegionWhenOnlyOneAvailable: true
 
Above settings don’t affect players with permission to edit regions they don’t own - they will always see „Select region” menu no matter what.

Changes to „Set parent region” option

It’s now possible to unset current parent region – to do so, right-click „Set parent region” item in Region Options menu.

Modern text formatting support

Added support for modern text formatting in chat and inventories (uses MiniMessage and requires server running Paper version minimum 1.17 or compatible fork. This applies to all files where user can edit text (lang.yml, region_templates.yml, flag_descriptions.yml). By default this feature is enabled on supported servers when WG-GUI runs for the first time on server; to disable it, set „ModernChatFormatting” to false in config.yml file. If you’re updating an existing WG-GUI installation, this feature will not be automatically enabled.

Code (Text):

# Use MiniMessage tags (<white>) instead of legacy color codes ('&f') to format chat messages
# Requires Paper 1.17+ or compatible fork
# https://docs.papermc.io/adventure/minimessage/format/
ModernChatFormatting: false
 
Note: To switch from legacy to modern format (or vice versa), after changing setting in config.yml it’s also needed to delete existing lang.yml, region_templates.yml and flag_descriptions.yml files from inside of WG-GUI folder. If you have modified these files (e.g. changed colors), backup them before proceeding. These changes have to be done when plugin is disabled, doing it with only /wggui reload comand was not tested and I don’t guarantee this will work without issues.

Wider menu items customization

It’s now possible to edit all items’ materials displayed in inventories (previously only 6 items were modifable). This is done in config.yml file:

Code (Text):

Items:
 GuiItem: CLOCK
 FlagItem: REDSTONE_TORCH
 RegionItem: END_CRYSTAL
 WorldItem: GRASS_BLOCK
 OwnerMemberItem: TOTEM_OF_UNDYING
 ExitItem: REDSTONE_BLOCK
 PageItem: ARROW
 CreateNewRegionItem: DIAMOND_AXE
 EditExistingRegionItem: WOODEN_SHOVEL
 EditLastModifiedRegionItem: GOLDEN_SHOVEL
 ReloadConfigItem: WRITABLE_BOOK
 RegionVisibilitySwitchItem: LEVER
 EditRegionFlagsOptionItem: REDSTONE_TORCH
 SelectRegionTemplateOptionItem: ENCHANTED_BOOK
 EditRegionBoundariesOptionItem: WOODEN_AXE
 CopyFlagsFromOtherRegionOptionItem: MAGMA_CREAM
 SetRegionParentOptionItem: CLOCK
 RenameRegionOptionItem: NAME_TAG
 RemoveRegionOptionItem: LAVA_BUCKET
 EditRegionFlagsHelpItem: PAPER
 AddRegionMemberItem: LIME_TERRACOTTA
 AddRegionOwnerItem: LIME_TERRACOTTA
 RemoveRegionMemberItem: RED_TERRACOTTA
 RemoveRegionOwnerItem: RED_TERRACOTTA
 
Changes to permissions:
  • Permission „wggui.user.getflags” has been renamed to „wggui.user.copyflags”
  • Added permissions:
Code (Text):

wggui.command.help (required to access /wggui help command)
wggui.command.reload (required to access /wggui reload command)
wggui.user.owners.multiple (required to set more than 1 owner in region)
wggui.worlds.<world> (used to access worlds if feature enabled, explained above)
 
Other changes

  • Added /wggui reload command, which reloads plugin configurations.
  • Added /wgg alias to /wggui command.
  • Navigation item „Previous page” is now positioned just before the „Next page” item instead of at opposite end of inventory row.
  • Region Options menu now shows currently selected region name in its title.
  • Modified lang.yml file, renaming all existing keys to a new format, adding bunch of new messages and deleting a few no longer needed ones. All these changes are applied automatically by plugin when running new version for the first time, server admins don’t need to touch anything at their own.
    Most text insertions are related to user-region interaction. When doing modificitaions like changing boundaries, renaming region, modifying flag value plugin sends precise message indicating change and its details, not a generic message „Region settings have changed” like before.
  • Modified config.yml file, adding new keys related to new features describe earlier above. these changes are applied automatically by plugin when running new version for the first time.
  • Plugin now prevents entering numbers outside allowed range for time-lock flag.
    When player enters value „day”, „night”, „midnight”, or „noon” plugin makes conversion like in Minecraft’ in-built /time set command.
  • When working with flags using sets of values (e.g. allowed-cmds, deny-spawn), it’s now possible to remove existing entries – to do so just enter its value prefixed with „-” sign. E.g. to remove Zombie from deny-spawn flag, enter ‘-zombie’ in chat when plugin awaits your input. It’s not possible to add and remove entires in one run – this will change in next update.
  • When working with allowed-cmds & blocked-cmds flags, if player forgets to insert „/” sign before command, plugin will automatically correct it.
  • Fixed issue where items coult be taken out from inventories after changing lang.yml file (code related to items) and reloading plugin.

Road to 200 servers & future updates
WG-GUI now runs on over 100 servers worldwide. I’m glad to see this number constantly increasing, this shows that community appreciates tools like this improving work with one of most crucial plugins on Minecraft servers. WG-GUI is full of potential and I’m thinking about many more improvements to bring you in future updates. If there is something you would like to see in next update, let me know! If you find any bugs in this release, also tell me about it.

The most time consuming part during development of this update was refactoring about 90% of existing codebase. This opened a way to a much more painless plugin scaling and features expanding.

I expect to release at least one more major update during second half of this year (or split it into a couple smaller updates).
Potential bug fixes and Minecraft version specific compatibility updates are being released when needed and as soon as possible.
----------, Mar 25, 2026

  1. It is now possible to close WG-GUI inventory completely with one click when user has gone through many subpages. To do this, just use shift-click on "Exit" item. Performing "normal" click will move you to a parent subpage (if there's any).
  2. Added new item to main menu - "Edit last modified region". If player has done any modifications to any region before, clicking on this item brings him instantly to this region's options so player doesn't have to search for this region again. This item is not displayed when player hasn't done any modifications (counted from server startup) or last modified region no longer exists.
    Player needs "wggui.user.modify.last" permission to use this functionality.
  3. "Reload configurations" item has been moved and now is placed closer to the "exit" item.
  4. Added new text lines to lang.yml file:
    Code (YAML):
    GUI:
      MainMenuEditLastModified
    : "Edit last modified region"
      ExitShift
    : "&7&o(Shift-click to close GUI)"
    You need to apply this change manually to lang.yml file when updating from older plugin version.
----------, Sep 11, 2025

  1. Adjusted flag handling to interact correctly with nonplayer-protection-domains flag.
  2. Added missing descriptions of all flags introducted to WorldGuard since last update of WG-GUI.
  3. Fixed issue with loading „edit flags” inventory of currently selected region just after changing its name.
  4. Fixed player heads textures missing in „Add/delete owner/member…” inventory.
  5. Added bStats integration.


Plugin has been tested on latest 1.21.7/1.21.8 server and latest stable WorldGuard / WorldEdit (including FAWE) version. No breaking changes so plugin works still fine on older Minecraft servers (down to 1.13 which has been also tested) and older WE/WG builds (as long as they are from 7.x family).
----------, Jul 20, 2025

Plugin will now control number of regions player can create using /wggui command. Limit values are taken from WorldGuard config (config.yml) in section "max-region-count-per-player". ( https://worldguard.enginehub.org/en/latest/config/). If player belongs to multiple groups, the group with higher limit has precedence.
Players with permission worldguard.region.unlimited can bypass these limits.

Example

WorldGuard config:

[​IMG]

WG-GUI (when limit is reached):

[​IMG]
----------, Feb 20, 2022

This jar is only for Minecraft 1.13+
----------, Apr 8, 2020

This is only for 1.13-1.14.

Fixed "game-mode" flag value not changing after click and not applying in templates.
----------, Sep 15, 2019

Fixed "weather-lock" flag value not changing after click nad not applying in templates.
----------, Jul 25, 2019

Fixed inventory events being called asynchronously.
----------, Jul 7, 2019

This release works with WorldEdit 7 & WorldGuard 7 full releases on 1.13/1.14 servers.
May also work with FAWE (not tested, but it no longer uses different WorldGuard so it should be compatible).
----------, Jun 24, 2019

This update is only for 1.13+ and WorldGuard 7!

Plugin now works with latest beta versions of WorldGuard (beta 4) and WorldEdit (beta 2). Older versions are not supported.

Fixed console spam when IncompleteRegionException was being thrown.


Note: FAWE is not supported yet on 1.13+ because it uses different WE & WG versions.
----------, Jan 17, 2019

- Changed how templates file looks. Now you're able to put default groupname, which will be used with flag value.

If you didn't modified templates file (used default one) just remove it and let it to be re-generated.

How to update templates file:

Code (YAML):
MyTemplate:
    Flags
:
      invincible
: allow

Code (YAML):
MyTemplate:
    Flags
:
      invincible
:
        value
: allow

Code (YAML):
MyTemplate:
    Flags
:
      invincible
:
        value
: allow
        group
: members


- Added missing message to help item in region editing.

Code (YAML):
 HelpItemLore :
  - '&3 Left Click - Change flag value'
  - '&3 Right Click - Reset flag to default value'
  - '&3 Shift + Left Click - Change regiongroup' <-- ADD THIS


- Fixed bug causing some flags to show values as "null" where shouldn't (in 1.3).
- Fixed bug causing messages to not be read properly on first run (in all versions).
----------, Sep 21, 2018

This update is only for 1.13+ and WorldGuard 7! Look below for updated plugin for 1.9-1.12

- Changed how templates file looks. Now you're able to put default groupname, which will be used with flag value.


If you didn't modified templates file (used default one) just remove it and let it to be re-generated.

How to update templates file:

Code (YAML):
MyTemplate:
    Flags
:
      invincible
: allow

Code (YAML):
MyTemplate:
    Flags
:
      invincible
:
        value
: allow

Code (YAML):
MyTemplate:
    Flags
:
      invincible
:
        value
: allow
        group
: members


- Added missing message to help item in region editing.


Code (YAML):
 HelpItemLore :
  - '&3 Left Click - Change flag value'
  - '&3 Right Click - Reset flag to default value'
  - '&3 Shift + Left Click - Change regiongroup' <-- ADD THIS


- Fixed bug causing some flags to show values as "null" where shouldn't (in 1.3).
- Fixed bug causing messages to not be read properly on first run (in all versions).
----------, Sep 21, 2018

This update is only for 1.13+ and WorldGuard 7! Look below for updated plugin for 1.9-1.12

- Now you can edit region group values in GUI (use shift + left click). Possible values are: ALL, NONE, OWNERS, MEMBERS, NON_MEMBERS, NON_OWNERS.

- Now you can set commands allowed when doing chat-related actions. For example, you can use //pos1, //pos2. You can configure it in config.yml.

lang.yml & config.yml need to be updated! Re-generate these files or add lines showed below:

lang.yml

Code (YAML):
GUI:
  ValueNames
:
    ALLOW
: "ALLOW"
    DENY
: "DENY"
    DEFAULT
: "&fDEFAULT"
    NONE
: "NONE"
    ALL
: "ALL"
    MEMBERS
: "MEMBERS"
    OWNERS
: "OWNERS"
    NON_MEMBERS
: "NON_MEMBERS"
    NON_OWNERS
: "NON_OWNERS"
    true
: "TRUE"
    false
: "FALSE"
config.yml

Add wherever you want:

Code (YAML):

AllowedEditCommands
:
- "//pos1"
- "//pos2"
- "/gamemode 1"
- "/gamemode 3"
 
----------, Sep 20, 2018

- Now you can edit region group values in GUI (use shift + left click). Possible values are: ALL, NONE, OWNERS, MEMBERS, NON_MEMBERS, NON_OWNERS.

- Now you can set commands allowed when doing chat-related actions. For example, you can use //pos1, //pos2. You can configure it in config.yml.

lang.yml & config.yml need to be updated! Re-generate these files or add lines showed below:

lang.yml

Code (YAML):
GUI:
  ValueNames
:
    ALLOW
: "ALLOW"
    DENY
: "DENY"
    DEFAULT
: "&fDEFAULT"
    NONE
: "NONE"
    ALL
: "ALL"
    MEMBERS
: "MEMBERS"
    OWNERS
: "OWNERS"
    NON_MEMBERS
: "NON_MEMBERS"
    NON_OWNERS
: "NON_OWNERS"
    true
: "TRUE"
    false
: "FALSE"
config.yml

Add wherever you want:

Code (YAML):

AllowedEditCommands
:
- "//pos1"
- "//pos2"
- "/gamemode 1"
- "/gamemode 3"
 
----------, Sep 20, 2018

Fixes:
- NullPointer in WorldRegionsInventory

Addons:
- Event "RegionCreateEvent" called when player tries to create region with WG-GUI.
To-do: "RegionDeleteEvent"

I will also release soon my first addon to WG-GUI for servers running PlotSquared which allow players to create regions inside owned plots.
Check resource page for more info.
----------, Aug 10, 2018

Fixed important bug causing inventories unrelated to WG-GUI to not work properly in certain circumstances.
----------, Jul 18, 2018

Resource Information
Author:
----------
Total Downloads: 13,439
First Release: Jun 21, 2018
Last Update: May 15, 2026
Category: ---------------
All-Time Rating:
24 ratings
Find more info at maciejnierzwicki.pl...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings