This plugin allows server administrators and players to create and manage protected regions within their Minecraft world. It provides a flexible system for defining areas, setting permissions, and controlling interactions within those areas.
- Region Creation: Create regions using in-game selection or manual coordinates.
- Sub-Regions: Create sub-regions within existing regions for more granular control.
- Permission Management: Set detailed permissions for players within regions, controlling actions like breaking, placing, interacting, and more.
- Member Management: Add and remove members from regions with specific permissions.
- Region Overlap Control: Configure whether regions can overlap.
- Bypass Permissions: Allow specific players to bypass region restrictions.
- Configuration: Customize messages and region settings through configuration files.
- Beacon Visualization: Visualize selected regions using temporary beacons.
The plugin provides the following commands:
-
/zone create: Creates a new region using the currently selected locations.- Usage:
/zone create - Requires two locations to be selected using left and right click, starts selection if not present.
- Prevents creation if the new region would overlap an existing region, unless the
zones.create.overlappermission is set.
- Usage:
-
/zone subcreate: Creates a new sub-region within an existing region using the currently selected locations.- Usage:
/zone subcreate [regionKey] regionKeyis optional, if not provided, the region at the player's location will be used.- Requires two locations to be selected using left and right click, starts selection if not present.
- Player needs to be considered an admin in the region, or have the
zones.subcreate.otherpermission
- Usage:
-
/zone delete: Deletes an existing region.- Usage:
/zone delete <regionKey> - Requires the
regionKeyof the region to be deleted. - Player needs to be the owner of the region, or have the
zones.delete.otherpermission
- Usage:
-
/zone expand: Expands an existing region by a specified amount.- Usage:
/zone expand <regionKey> <amount> [overlap] - Player needs to be an admin of the region, or have the
zones.expand.otherpermission - If
overlapis set totrueand the player has thezones.expand.overlappermission, - the region will be expanded even if it overlaps with other regions.
- Usage:
-
/zone info: Displays information about a region.- Usage:
/zone info [regionKey] - If
regionKeyis not provided, the region at the player's location will be used. - To show region members, the player needs to be an admin of the region, or have the
zones.info.otherpermission
- Usage:
-
/zone list: Lists all regions the player is a member of.- Usage:
/zone list - Only shows regions the player is a member of, unless the player has the
zones.list.otherpermission
- Usage:
-
/zone cancel: Cancels the current region selection.- Usage:
/zone cancel
- Usage:
-
/zone perm: Manage region permissions.- Usage:
/zone perm allow <regionKey> <target> <permission> <value>/zone perm deny <regionKey> <target> <permission> <value>/zone perm unset <regionKey> <target> <permission> <value>/zone perm clear <regionKey> <target> <permission>
<target>can be a player name/UUID,+universal,group:<name>, orplayer:<name|uuid>.- For pattern-based permissions (e.g.
break/place/interact),<value>supports*wildcards (glob, not regex). Use*orallfor "everything". - For membership permissions,
role/groupuse<value>as a role/group name.
- Usage:
-
/zone rename: Renames a region.- Usage:
/zone rename <regionKey> <newName> <regionKey>is the key of the region,<newName>is the new name of the region.- Player needs to be an admin of the region, or have the
zones.rename.otherpermission
- Usage:
-
/zone select: Selects a region.- Usage:
/zone select [regionKey] - If
regionKeyis not provided, the region at the player's location will be used. - Visually highlights the region in the world using particles.
- Player needs to be a member of the region, or have the
zones.select.otherpermission
- Usage:
-
/zone mode: Changes the selection mode.- Usage:
/zone mode <mode> <mode>is the new mode to set the player to.- e.g.,
3dfor 3D selection mode,2dfor 2D selection mode.
- e.g.,
- Usage:
-
/zone find: Finds regions.- Usage:
/zone find - Displays a bossbar with the name(s) of all regions at the player's location.
- Usage:
-
/zone save: Manually saves all regions to file.- Usage:
/zone save - Admin only, requires the
zones.savepermission (not given by default)
- Usage:
-
/zone load: Manually loads all regions from file.- Usage:
/zone load - Admin only, requires the
zones.loadpermission (not given by default)
- Usage:
-
/zone import: Imports regions from another plugin.- Usage:
/zone import <pluginName> - Currently only supports WorldGuard.
- Admin only, requires the
zones.importpermission (not given by default)
- Usage:
- Use the
/zone createcommand to start the creation process. - Use left-click on a block to set the first corner of the region. A green beacon will appear.
- Use right-click on a block to set the second corner of the region. A red beacon will appear.
- Use the
/zone createcommand to create the region.
- Use the
/zone subcreatecommand to start the creation process. - Select the two corners of the sub-region as described above.
- Use the
/zone subcreatecommand to create the sub-region within the region you are standing in or use/zone subcreate <regionKey>to create a sub-region within the specified region.
- Use
/zone perm ...to add/remove rules for players, groups, or universal.
- Allow everyone to break everything in a region:
/zone perm allow <key> +universal break * - Allow Player1 to break everything in a region:
/zone perm allow <key> Player1 break all - Allow only grass blocks:
/zone perm allow <key> Player2 break grass_block - Deny interacting with oak doors:
/zone perm deny <key> Player3 interact oak_door - Allow placing everything:
/zone perm allow <key> Player4 place all - Deny breaking everything:
/zone perm deny <key> Player5 break all
- Groups:
- Create/edit a group subject:
/zone perm allow <key> group:builders break * - Group inheritance (group includes group):
/zone perm allow <key> group:builders group members - Add a player to a group:
/zone perm allow <key> ExamplePlayer group builders
- Use the
/zone infocommand to view information about the region you are standing in. - Use the
/zone info <regionKey>command to view information about a specific region.
Zones supports importing WorldGuard regions via the /zone import WorldGuard command. To use this feature,
you must have WorldGuard installed and enabled. Zones will automatically import all Cuboid regions, including
their members.
WorldEdit can only be used to modify blocks in a region if the executing player would be allowed to manually modify the region.
Zones provides multiple placeholders for use with the PlaceholderAPI plugin, displaying region information for the region the player is standing in. It currently supports the following placeholders:
%zones_get_name%%zones_get_key%%zones_get_members%%zones_get_owner%%zones_get_min%%zones_get_min_x%%zones_get_min_y%%zones_get_min_z%%zones_get_max%%zones_get_max_x%%zones_get_max_y%%zones_get_max_z%%zones_is_member%%zones_can_place_hand%%zones_can_break_target%%zones_can_<action>_<type>%
- YAML Configuration: The plugin uses YAML files for configuration and storage, making it easy to read and modify. Additional storage options are planned for future releases.
- Permission System: The permission system is designed to be flexible and granular, allowing for fine-grained control over player interactions.
- Event-Driven: The plugin uses Bukkit's event system to handle player interactions, making it efficient and responsive.
- Caching: The plugin uses a caching system to improve performance when checking permissions.
Zones exposes a lot of internals for plugin developers to use (e.g. for custom flags, integrations, etc.). Artifacts are available at https://maven.t14d3.de/#/snapshots/de/t14d3/zones/
Example:
repositories {
maven("https://maven.t14d3.de/snapshots")
}
dependencies {
compileOnly("de.t14d3.zones:zones-api:<version>")
}
Contributions to the plugin are welcome! If you have any ideas for new features, bug fixes, or improvements, please feel free to submit a pull request or open an issue.
This plugin is distributed under the MIT License.