DuckyZonesСкачатьСкачатьСкачать
ВЕРСИИ (3)
release
DuckyZones 2.0
2.030 июл. 2026 г.75Minecraft: 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
# 🛠️ DuckyZones v2.0 - Complete Region System Rework
In **v2.0**, DuckyZones has been completely rebuilt into a much more advanced region management and protection system.
This update introduces a new priority-based flag system, a complete in-game region management GUI, region selection tools, AFK reward zones, PlaceholderAPI integration, a public developer API, and dozens of new region controls inspired by advanced protection plugins.
> ⚠️ **Important:** DuckyZones v2.0 contains major configuration and compatibility changes. Existing server owners should back up their current files and review the new `config.yml` structure before updating.
------------------------------------------------------------------------
## ✨ Major New Features
### 🚩 **Complete Region Flag System**
- Added a completely new typed region flag system.
- Each region can now contain its own `flags` section.
- Flags support multiple value types: states, booleans, numbers, text, material lists, entity lists, locations, game modes, and weather values.
- Region flags are grouped into categories for easier management.
- Added support for resolving flags in overlapping regions.
- Flags from regions with a higher priority take precedence.
- Added source and priority tracking for resolved flag values.
```yaml
zones:
spawn:
priority: 100
flags:
pvp: DENY
build: DENY
greeting: "&aWelcome to %region%!"
```
------------------------------------------------------------------------
## 🛡️ Protection Flags
Added extensive control over player interactions and region protection.
### Block Protection
- `build`
- `block-break`
- `block-place`
- `block-break-deny`
- `block-break-allow`
- `block-place-deny`
- `block-place-allow`
### Interaction Protection
- `use`
- `chest-access`
- `use-anvil`
- `use-dripleaf`
- `permit-workbenches`
- `inventory-craft`
- `villager-trade`
- `sleep`
- `respawn-anchors`
- `lighter`
- `item-frame-rotation`
### Entity and Vehicle Protection
- `damage-animals`
- `ride`
- `vehicle-place`
- `vehicle-destroy`
- `entity-painting-destroy`
- `entity-item-frame-destroy`
- `disable-collision`
### Additional Protection
- `pvp`
- `tnt`
- `block-trampling`
- `frosted-ice-form`
- `firework-damage`
- `pistons`
------------------------------------------------------------------------
## 🧟 Mob, Fire & Explosion Flags
Added new controls for mobs, explosions, fire, and entity-based world damage.
- `creeper-explosion`
- `enderdragon-block-damage`
- `ghast-fireball`
- `other-explosion`
- `fire-spread`
- `enderman-grief`
- `snowman-trails`
- `ravager-grief`
- `mob-damage`
- `mob-spawning`
- `deny-spawn`
- `wither-damage`
- `mob-entry`
### 🚷 **Mob Entry Protection**
- Regions can now prevent mobs from entering.
- Mobs attempting to enter a protected region are pushed back.
- Knockback strength, vertical force, and cooldown are configurable globally.
```yaml
region-flags:
mob-entry:
knockback-strength: 0.6
knockback-y: 0.15
cooldown-ms: 250
```
------------------------------------------------------------------------
## 🌱 Natural World Flags
Added control over natural world processes inside regions.
- `lava-fire`
- `lightning`
- `water-flow`
- `lava-flow`
- `snow-fall`
- `snow-melt`
- `ice-form`
- `ice-melt`
- `frosted-ice-melt`
- `mushroom-growth`
- `leaf-decay`
- `grass-growth`
- `mycelium-spread`
- `vine-growth`
- `rock-growth`
- `sculk-growth`
- `crop-growth`
- `soil-dry`
- `coral-fade`
- `copper-fade`
------------------------------------------------------------------------
## 🚪 Movement & Region Entry Flags
Added advanced control over entering, leaving, and teleporting through regions.
- `entry`
- `exit`
- `exit-via-teleport`
- `exit-override`
- `entry-deny-message`
- `exit-deny-message`
- `notify-enter`
- `notify-leave`
- `greeting`
- `greeting-title`
- `farewell`
- `farewell-title`
- `enderpearl`
- `chorus-fruit-teleport`
- `teleport`
- `spawn`
- `teleport-message`
- `player-count-limit`
- `player-count-limit-message`
### 👥 **Player Count Limit**
- Regions can now limit the number of players allowed inside at one time.
- A custom message can be displayed when the limit is reached.
- Overlapping regions respect the new priority system.
------------------------------------------------------------------------
## 🎮 Gameplay Flags
Added new controls for player gameplay, inventory usage, damage, commands, hunger, health, and items.
- `item-pickup`
- `item-drop`
- `exp-drops`
- `deny-message`
- `invincible`
- `fall-damage`
- `game-mode`
- `time-lock`
- `weather-lock`
- `natural-health-regen`
- `natural-hunger-drain`
- `heal-delay`
- `heal-amount`
- `heal-min-health`
- `heal-max-health`
- `feed-delay`
- `feed-amount`
- `feed-min-hunger`
- `feed-max-hunger`
- `blocked-cmds`
- `allowed-cmds`
- `disable-completely`
- `disable-throw`
- `villager-trade`
- `disable-collision`
- `permit-workbenches`
- `inventory-craft`
### 🚫 **Complete Item Restrictions**
```yaml
flags:
disable-completely:
- MACE
- FIREWORK_ROCKET
- TRIDENT
```
### 🎯 **Thrown Item Restrictions**
The new `disable-throw` flag can block eggs, snowballs, potions, tridents, and other supported projectile materials.
------------------------------------------------------------------------
## 💬 Miscellaneous Flags
- `send-chat`
- `receive-chat`
- `potion-splash`
- `pistons`
------------------------------------------------------------------------
## 🗂️ Region Priority System
- Every region can now have a configurable priority.
- Higher-priority regions override lower-priority regions when their areas overlap.
- The system resolves each flag independently.
- Added support for identifying the primary region, all regions at a location, the source region of a resolved flag, and the priority used to resolve it.
------------------------------------------------------------------------
## 🖥️ In-Game Region Management
### 🪶 **Region Selector Tool**
- Left-click a block to set position 1.
- Right-click a block to set position 2.
- Selections are stored separately for each administrator.
- Regions can be created directly from the selected cuboid.
### 🧰 **Region Management GUI**
- View all configured regions.
- Open the management panel for a selected region.
- Edit region priority.
- Browse flag categories.
- Change flag values from the GUI.
- Enter text and numeric values through chat input.
### New Commands
```text
/duckyzones selector
/duckyzones pos1
/duckyzones pos2
/duckyzones create <name>
/duckyzones manage <name>
/duckyzones gui
/duckyzones reload
```
------------------------------------------------------------------------
## 💤 AFK Reward Zones
- Any region can be configured as an AFK zone.
- Supports multiple independent rewards per region.
- Each reward can use its own interval and chance.
- Supports permission-based chance overrides.
- Supports multiple console commands per reward.
- Displays countdowns through BossBars and the ActionBar.
```yaml
zones:
afk:
afk-zone:
enabled: true
actionbar-format: "&eRewards: {rewards}"
rewards:
reward1:
interval: 60
chance: 10.0
permission-chances:
"duckyzones.afk.vip": 50.0
"duckyzones.afk.premium": 75.0
bossbar-format: "&eReward 1 in {time}"
commands:
- "give %player% diamond 1"
```
------------------------------------------------------------------------
## 🔌 PlaceholderAPI Integration
- Added PlaceholderAPI as a soft dependency.
- DuckyZones now registers its own `duckyzones` expansion.
- PlaceholderAPI placeholders can be used inside configured DuckyZones messages.
- Added global, location-based, region-specific, and flag-specific placeholders.
### Player Location Placeholders
```text
%duckyzones_region_count%
%duckyzones_current_region%
%duckyzones_primary_region%
%duckyzones_current_regions%
%duckyzones_regions%
%duckyzones_current_region_count%
%duckyzones_highest_priority%
%duckyzones_priority%
%duckyzones_world%
```
### Flag Placeholders
```text
%duckyzones_flag_<flag-id>%
%duckyzones_flag_source_<flag-id>%
%duckyzones_flag_priority_<flag-id>%
```
### Region-Specific Placeholders
```text
%duckyzones_region_<region-id>_id%
%duckyzones_region_<region-id>_priority%
%duckyzones_region_<region-id>_world%
%duckyzones_region_<region-id>_flags%
%duckyzones_region_<region-id>_flag_count%
%duckyzones_region_<region-id>_volume%
%duckyzones_region_<region-id>_flag_<flag-id>%
```
------------------------------------------------------------------------
## 🔧 Public Developer API
Added a new public API for external plugins and custom integrations.
```java
import pl.barpad.duckyzones.api.DuckyZonesApi;
import pl.barpad.duckyzones.api.DuckyZonesProvider;
DuckyZonesApi api = DuckyZonesProvider.get();
boolean insideRegion = api.isInsideRegion(player.getLocation());
String currentRegion = api.getPrimaryRegionAt(player.getLocation())
.map(region -> region.getId())
.orElse("");
```
The API is also available through Bukkit Services Manager.
------------------------------------------------------------------------
## 🔧 Internal Improvements
- Reorganized listeners into dedicated protection, combat, explosion, mob, natural, gameplay, piston, GUI, and selection listeners.
- Added separate services for flag resolution, block actions, item restrictions, messages, player tracking, tick processing, Elytra restrictions, mob entry, chat input, placeholders, GUI, and selection.
- Improved command permission registration and command map error handling.
- Added JUnit 5 testing support.
- Updated Gradle wrapper to **9.6.1**.
- Added proper shutdown handling for tasks, API services, placeholders, AFK rewards, mob tracking, and player-region processing.
------------------------------------------------------------------------
## 🌍 Compatibility Changes
### ☕ **Java Requirement**
```text
Java 16 → Java 21
```
### 🎮 **Minecraft Requirement**
```text
Minecraft 1.16.5+ → Minecraft 1.21.11+
```
### 🔗 Optional Dependencies
- Added PlaceholderAPI support as a soft dependency.
- Added VaultAPI to the project dependencies for integration support.
------------------------------------------------------------------------
## ⚠️ Required Configuration Migration
DuckyZones v2.0 introduces a significantly expanded configuration structure.
Before updating:
1. Back up your existing `config.yml`.
2. Back up all configured zone data.
3. Generate or obtain the new v2.0 default configuration.
4. Transfer your existing zone coordinates and legacy restrictions.
5. Add region priorities and flags using the new format.
6. Configure `region-flags.mob-entry` if mob-entry protection will be used.
7. Configure AFK reward sections for any AFK zones.
8. Verify all materials, effects, sounds, and game modes against Minecraft 1.21.11.
> ⚠️ Directly using an old v1.1 configuration without reviewing it is not recommended.
------------------------------------------------------------------------
## 📦 Version
- Updated plugin version to **2.0**
------------------------------------------------------------------------
## 📌 Summary
DuckyZones **v2.0** is a complete rebuild of the plugin's region system.
The update adds a powerful priority-based flag engine, dozens of protection and gameplay flags, region overlap resolution, a management GUI, selection commands, AFK reward zones, PlaceholderAPI integration, a public developer API, mob-entry knockback, player limits, custom messages, item restrictions, and extensive controls over combat, movement, mobs, explosions, natural processes, crafting, commands, health, hunger, chat, and world behavior.
This version also updates the technical requirements to **Java 21** and **Minecraft 1.21.11+**.
⚠️ Server owners upgrading from DuckyZones v1.1 should treat v2.0 as a major migration and carefully update their configuration before starting the plugin.
release
DuckyZones 1.1
1.13 мая 2025 г.142Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Что нового
# 📦 DuckyZones - Changelog v1.1
## 🚀 New Features & Improvements
### 🔒 **Permissions System Expansion**
- Added more granular permission checks:
- `duckyzones.zone.<zone>.bypass`
- `duckyzones.zones.bypass`
- `duckyzones.zone.<zone>`
### 🧹 **Effect Cleanup Fix**
- Fixed an issue where **zone effects were not correctly removed** when leaving a zone.
### 📁 **Configuration Improvements**
- ⚙️ Slightly changed how `required-effects`, `blocked-effects`, and `blocked-items` are defined in `zones.yml`.
- Cleaner loading of effect/item data for better error handling and consistency.
### 🪄 **General Code Cleanup**
- Codebase refactored for clarity and better performance.
- Reduced unnecessary zone recalculations to avoid lag.
---
🦆 Thank you for using **DuckyZones**! Control your world with precision.
release
DuckyZones 1.0
1.01 мая 2025 г.42Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5bukkit, paper, purpur, spigot
Что нового
# 📦 DuckyZones v1.0 – First Public Release 🎉
The first official release of **DuckyZones** – a flexible, lightweight region management system for Minecraft servers!
---
## ✨ Features
- 🗺️ Define custom zones using two corners
- 🌍 Multi-world support
- ❌ Block specific items and potion effects inside zones
- ✅ Require specific items or effects to enter a zone
- 🪂 Optional Elytra disabling – automatically removes Elytra when entering the zone
- ❤️ Health and experience level restrictions per zone
- 🧪 Automatically apply potion effects inside zones
- 💬 Custom deny messages when entry conditions aren't met
- 🔁 In-game config reloading with `/duckyzones reload`
---
## 🛠️ Command
/duckyzones reload
Reloads the plugin configuration without restarting the server.
---
## 🔑 Permissions
duckyzones.reload - Permission to use /duckyzones reload
duckyzones.update - Permission to see Update info in-game
duckyzones.zone.<zone_name> - Permission to enter specific zone
duckyzones.zone.<zone_name>.bypass - Permission to bypass all restrictions to enter specific zone
duckyzones.zones.bypass - Permission to bypass all restrictions to enter any zone
---
## 🧾 Configuration
Zones are defined in `config.yml` like this:
```yaml
# List of Items (1.21.5) : https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
# List of Effects (1.21.5) : https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html
zones:
spawn: # Zone name
world: world # World where zone is
corner1: world,100,64,100 # First Zone Corner
corner2: world,110,70,110 # Second Zone Corner
elytra-disabled: false # Should be elytra disabled in that zone? This will remove the elytra from the player
elytra-disabled-message: "Elytra is disabled in this zone!"
blocked-items: # Player with these items in inventory cannot enter the zone
- TNT
- ENDER_PEARL
blocked-effects: # Player with these effects cannot enter the zone
- SPEED
- INVISIBILITY
required-items: # Only Player with these items in inventory can enter the zone
- DIAMOND
- TOTEM_OF_UNDYING
required-effects: # Only Player with these effects can enter the zone
- NIGHT_VISION
zone-effects: # Effects that will be applied after entering the zone, after leaving it they will disappear separator; means the power of the effect, e.g. SPEED;1 = Speed 2 in the game
- SPEED;1
- NIGHT_VISION;0
min-health: 5.0 # Players who do not have this number of hearts cannot enter
max-health: 20.0 # Players who have this number of hearts or more cannot enter
min-level: 5 # Players who do not have this amount of exp level cannot enter
max-level: 100 # Players who have this amount of exp level or more cannot enter
deny-message: "&cYou can't enter this area!" # Players who are unable to enter the zone will receive this message in chat when trying to enter
zone-teleport-back-command: "spawn %player%" # The command that will be executed when the player enters the zone e.g. through teleportation, to call the player's nickname, just type %player%
entry-deny-title: "&cEntrance prohibited &4✖" # Title that will appear on the screen when a player tries to enter the zone without meeting the requirements
entry-deny-subtitle: "%reason%" # SubTitle that will appear on the screen when a player tries to enter the zone without meeting the requirements
entry-deny-actionbar: "&eGet away from the zone!" # ActionBar that will appear on the screen when a player tries to enter the zone without meeting the requirements
entry-deny-bossbar: "&4Entrance to the zone blocked!" # BossBar that will appear on the screen when a player tries to enter the zone without meeting the requirements
entry-deny-sound: ENTITY.VILLAGER.NO # Sound that will play on the screen when a player tries to enter the zone without meeting the requirements