COWMODSКаталог модов

Zones

Modern region management plugin/mod

Автор: T14D32,5 тыс.6обновлён 5 янв. 2026 г.
Механики игрыУправлениеУтилиты

Описание

Zones

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.

Features

  • 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.

Commands

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.overlap permission is set.
  • /zone subcreate: Creates a new sub-region within an existing region using the currently selected locations.

    • Usage: /zone subcreate [regionKey]
    • regionKey is 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.other permission
  • /zone delete: Deletes an existing region.

    • Usage: /zone delete <regionKey>
    • Requires the regionKey of the region to be deleted.
    • Player needs to be the owner of the region, or have the zones.delete.other permission
  • /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.other permission
    • If overlap is set to true and the player has the zones.expand.overlap permission,
    • the region will be expanded even if it overlaps with other regions.
  • /zone info: Displays information about a region.

    • Usage: /zone info [regionKey]
    • If regionKey is 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.other permission
  • /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.other permission
  • /zone cancel: Cancels the current region selection.

    • Usage: /zone cancel
  • /zone set: Sets a permission for a member of a region.

    • Usage: /zone set <regionKey> <who> <permission> <value>
    • <regionKey> is the key of the region.
    • <who> who to set the permission for.
      • e.g., Player1 - to create or modify a group, use +group-GROUPNAME, where GROUPNAME can be any name.
    • <permission> is the permission to set (e.g., role, break, place, interact).
    • <value> is the value to set for the permission (
      • e.g., owner, true, false, *, !*, GRASS_BLOCK, !GRASS_BLOCK).
  • /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.other permission
  • /zone select: Selects a region.

    • Usage: /zone select [regionKey]
    • If regionKey is 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.other permission
  • /zone mode: Changes the selection mode.

    • Usage: /zone mode <mode>
    • <mode> is the new mode to set the player to.
      • e.g., 3d for 3D selection mode, 2d for 2D selection mode.
  • /zone save: Manually saves all regions to file.

    • Usage: /zone save
    • Admin only, requires the zones.save permission (not given by default)
  • /zone load: Manually loads all regions from file.

    • Usage: /zone load
    • Admin only, requires the zones.load permission (not given by default)
  • /zone import: Imports regions from another plugin.

    • Usage: /zone import <pluginName>
    • Currently only supports WorldGuard.
    • Admin only, requires the zones.import permission (not given by default)

Usage

Creating a Region

  1. Use the /zone create command to start the creation process.
  2. Use left-click on a block to set the first corner of the region. A green beacon will appear.
  3. Use right-click on a block to set the second corner of the region. A red beacon will appear.
  4. Use the /zone create command to create the region.

Creating a Sub-Region

  1. Use the /zone subcreate command to start the creation process.
  2. Select the two corners of the sub-region as described above.
  3. Use the /zone subcreate command 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.

Setting Permissions

  1. Use the /zone set <regionKey> <player> <permission> <value> command to set permissions for a member of a region.
  • Example: /zone set <key> Player1 break true allows "Player1" to break blocks in the specified region.
  • Example: /zone set <key> Player2 break GRASS_BLOCK allows "Player2" to break only GRASS_BLOCK blocks in the specified region.
  • Example: /zone set <key> Player3 interact !OAK_DOOR denies "Player3" to interact with OAK_DOORin the specified region.
  • Example: /zone set <key> Player4 place * allows "Player4" to place all blocks in the specified region.
  • Example: /zone set <key> Player5 break !* denies "Player5" to break all blocks in the specified region.
  • Groups:
    • To assign a group, set the value of the permission group to the group name.
    • e.g.: Create a group and assign permission: /zone set <regionKey> +group-some-group-name break true
    • e.g. /zone set <regionKey> ExamplePlayer group some-group-name
    • ExamplePlayer now inherits the permission break from the group some-group-name

Viewing Region Information

  1. Use the /zone info command to view information about the region you are standing in.
  2. Use the /zone info <regionKey> command to view information about a specific region.

Integrations

WorldGuard

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

WorldEdit can only be used to modify blocks in a region if the executing player would be allowed to manually modify the region.

PlaceholderAPI

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>%

Design Choices

  • 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.

Contributing

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.

License

This plugin is distributed under the MIT License.

Последние версии

Все версии →
beta

Zones 0.3.0

0.3.0
5 янв. 2026 г.455Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10fabric, paper, purpur, spigot
Скачать
Что нового
Pre-release - you NEED to delete your region storage, format has changed Improves performance, UI/UX, dev experience and cross-platform integration
release

Zones 0.2.2

0.2.2
10 мар. 2025 г.840Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4bukkit, fabric, paper, purpur, spigot
Скачать
Что нового
## What's Changed * Fabric Support by @T14D3 in https://github.com/T14D3/Zones/pull/12 - Still experimental, please report any issues you encounter [here](https://github.com/T14D3/Zones/issues) * Performance Improvements * Better config handling * Improved particle visuals * Minor bugfixes **Full Changelog**: https://github.com/T14D3/Zones/compare/0.2.1...0.2.2
release

Zones 0.2.1

0.2.1
19 февр. 2025 г.111Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * Move commands to CommandAPI by @T14D3 in https://github.com/T14D3/Zones/pull/10 - Improves UI/UX, but mainly just means the code is no longer a complete mess * More storage options by @T14D3 in https://github.com/T14D3/Zones/pull/11 - Adds (experimental) Database support for storing regions in one of the following options (previously just YAML): - YAML - MySQL - SQLite - PostgreSQL - H2 - _Other, requires custom connection string_ - Includes command for migrating between different types * Config auto-updating - Automatically adds missing config options to your config! * Improved plugin startup speed - Reduces server/plugin startup time by ~5 seconds (depending on exact hardware) **Full Changelog**: https://github.com/T14D3/Zones/compare/0.2.0...0.2.1
release

Zones 0.2.0

0.2.0
17 февр. 2025 г.87Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed - Universal/Player-independent flags by @T14D3 in https://github.com/T14D3/Zones/pull/9 - Massively increased speed of locational region lookups/queries - Improved memory footprint of some objects - More configuration for caching behavior - Introduces "universal" flags - flags not bound to a specific player, but rather universally per region - Examples: - Explosion behaviour - Mob spawning - Fire/grass/etc spreading - ...and more - Ability for external sources to register custom flags **v0.2.0 Hotfix for Bucket related nonsense** **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.9...0.2.0
release

Zones 0.1.9

0.1.9
19 янв. 2025 г.135Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * Region priority by @T14D3 in https://github.com/T14D3/Zones/pull/8 * /zone find command for easy region name display * Multiple bugfixes **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.8...0.1.9
release

Zones 0.1.8

0.1.8
17 янв. 2025 г.97Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * Improved accuracy of the particle visualizer, and add a config toggle * Added command toggle between 2D and 3D Zone creation * Multiple bugfixes **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.7...0.1.8
release

Zones 0.1.7

0.1.7
16 янв. 2025 г.102Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * Add WorldGuard region importing by @T14D3 in https://github.com/T14D3/Zones/pull/5 * Massive performance improvements for Tabcompletions **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.6...0.1.7
release

Zones 0.1.6

0.1.6
16 янв. 2025 г.94Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * Move command handling to Brigadier by @T14D3 in https://github.com/T14D3/Zones/pull/7 - Greatly improves user experience * Convert to Paper-Plugin by @T14D3 in https://github.com/T14D3/Zones/pull/7 * Minor performance improvements **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.5...0.1.6
release

Zones 0.1.5

0.1.5
13 янв. 2025 г.108Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * Initial member permission group support by @T14D3 in https://github.com/T14D3/Zones/pull/6 - Allows grouping of region permissions for easier management. - Example: - ``/zone set <key> :group-testgroup BREAK true !GRASS_BLOCK`` Will create a group named "testgroup" with the given permissions - ``/zone set <key> ExamplePlayer group testgroup`` Will set the player "ExamplePlayer" to inherit all permissions given to the "testgroup" group. Explicitly set permissions of the player take priority over inherited ones! * Greatly improved Tabcompletions on the ``/zone set`` command, now including existing group names as well as currently set permissions as a reference. **If you have an idea for a feature you'd like to see added/improved, feel free to open an Issue on GitHub!** **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.4...0.1.5
release

Zones 0.1.4

0.1.4
9 янв. 2025 г.117Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
## What's Changed * WorldEdit restriction by @T14D3 in https://github.com/T14D3/Zones/pull/4 * PlaceholderAPI support by @T14D3 in https://github.com/T14D3/Zones/pull/3 **Full Changelog**: https://github.com/T14D3/Zones/compare/0.1.2...0.1.4