Capture Zones icon

Capture Zones -----

CaptureZones adds extremely configurable PvP & PvE capture zones to your server!




Added
- New addon-facing Bukkit service API for external integrations:
- `com.logichh.capturezones.api.CaptureZonesApi`
- `com.logichh.capturezones.api.CaptureZonesActionResult`
- Core plugin now registers/unregisters the API service on enable/disable.
- API includes:
- Snapshot endpoints (overview, zones, captures, KOTH, shops, statistics, configs, data files)
- Safe action methods for admin flows (zone/capture/KOTH/shop/stats/config operations)
- Capability discovery via `getCapabilities()`
- `repairSchema(...)` API responses now report `legacyTownOwnerRebindCount` after repair runs.

Economy & Shops
- Added a dual-mode economy path for shops and money rewards:
- Uses Towny accounts when Towny ownership is active.
- Falls back to Vault-backed player economy support where available.
- Shops are no longer locked to Towny-only startup conditions when a valid Vault economy provider is installed.
- Added `Vault` support metadata so economy providers can be resolved cleanly in standalone deployments.

Ownership & Migration
- Town-owned zones now store stable Towny UUID-backed owner IDs instead of name-derived IDs for newly normalized Towny owners.
- Towny-backed owner display names now refresh from live Towny data, so zone ownership labels follow town renames once the zone is using a stable owner ID.
- `/cap admin repair` and `/cap admin migrate` now also attempt to rebind legacy Towny owner references to stable IDs when the current town still resolves.
- Repair output now reports how many legacy Towny owner references were rebound.

API & Stability
- Active capture snapshot rows now include:
- `zoneName`
- `initialPreparationTime`
- `initialCaptureTime`
- Shop economy backend resolution now revalidates correctly across reloads and provider changes instead of holding a stale backend selection.

Commands & UX
- `/cap list` output was cleaned up:
- Shorter footer line
- Consistent `Capture Zones` header text instead of old `Capture Points` wording
- The in-game update notification was redesigned into a cleaner compact format.

Fixes
- Fixed Towny rename handling so UUID-backed town owners no longer keep showing stale cached names after a town rename.
- Fixed the in-game update notification link so it always points to the official Modrinth page:
- ` https://modrinth.com/plugin/capturezones`
----------, Mar 1, 2026

Commands & UX
  • Consolidated admin command routing under /cap admin ... and updated help output to match.
  • Added /cap tp [zone_id] teleport flow for active captures:
    • Single active zone: direct teleport.
    • Multiple active zones: choose a target zone.
  • /cap tp is now fully gated by settings.capture-teleport-enabled:
    • Hidden from help/tab-complete when disabled.
    • Returns a disabled message if used while off.
  • Added KOTH admin control and assignment flow:
    • /cap admin koth <start|stop|status|assign|unassign|zones>
    • Assigned-zone pool is stored in koth.activation.zones.
  • /cap admin koth start now defaults to assigned KOTH zones only, and skips unassigned zones if explicitly passed.
  • Removed legacy command surface that is no longer part of gameplay/admin flow:
    • /cap settype
    • /cap test
    • /cap testall
    • /cap protectchunk
Configuration & Migration
  • Added explicit concurrent capture controls:
    • settings.capture-concurrency.allow-multiple-zones
    • settings.capture-concurrency.max-active-zones
  • Added bossbar visibility radius control:
    • settings.bossbar-visibility-radius-chunks
  • Added global reinforcement spawn throttle:
    • reinforcements.spawn-rate.global-max-per-tick
  • Enforced settings.max-capture-points at zone creation time so over-limit creations are blocked cleanly.
  • Removed unused global config sections that are now handled per-zone or deprecated:
    • anti-exploit
    • point_types
    • point-type-defaults
    • worldguard
  • Clarified and separated schema-repair modes:
    • /cap admin migrate = non-destructive migration for plugin-owned data/config files (add/fix missing or invalid schema paths).
    • /cap admin repair = same non-destructive behavior as migrate (alias for safe schema repair).
KOTH
  • Added optional KOTH subsystem with:
    • Scheduler (koth.schedule.*)
    • Zone selection modes (koth.activation.selection-mode)
    • Reward routing (koth.rewards.*)
  • Added command-based KOTH zone assignment that writes back to config (assign / unassign).
  • KOTH hold radius logic is square-based.
  • Added temporary surface outline rendering during active KOTH (red concrete ring around hold radius) with full block restoration on end/stop.
  • Dynmap/BlueMap info windows now switch to KOTH-specific details while a zone is active, then revert to normal zone view.
  • Added optional KOTH-specific hologram line templates (koth.hologram.*).
Zone Gameplay & Reinforcements
  • Added per-zone keep-inventory setting for active captures:
    • capture.capture.keep-inventory-on-death
    • Keeps inventory/XP and suppresses drops when enabled for that zone.
  • Death cancellation messaging now supports localized non-player killer labels in lang/en.json:
    • Reinforcements
    • Environment
    • Unknown
  • Added reinforcement spawn Y controls for better indoor/multi-level behavior:
    • reinforcements.spawn-location.y-mode (SURFACE, ZONE_CENTER, ORIGIN_PLAYER, CLAMPED)
    • reinforcements.spawn-location.clamp-range
Fixes
  • Fixed missing item-reward editor open message path by supporting both key styles:
    • messages.zoneconfig-itemrewards-opened
    • messages.zoneconfig-itemrewards.opened
Performance & Stability
  • Major backend optimization for servers with many active zones.
  • Smarter zone lookup/player scanning to reduce unnecessary checks.
  • Boundary particles and holograms now pause/short-circuit when nobody is close enough to see them.
  • Reload/shutdown cleanup was hardened to prevent stale tasks, bossbars, markers, and holograms.
  • Upgrade migration is safer: missing config keys are auto-added without overwriting existing server values.
Zones & Capturing
  • Added full cuboid zone support.
  • Added a cuboid selector tool workflow for admins to pick corners more easily during zone creation.
  • Added optional auto-capture when entering a zone (with anti-spam debounce).
  • Capture ownership now supports players, towns, or nations.
  • Added contested capture state when competing owner groups are inside the same zone.
  • Added optional grace timer before capture is cancelled/reset after attackers leave.
  • Added per-zone capture cooldowns and anti-instant-recapture options.
  • Added optional same-town/same-nation recapture prevention rules.
  • Force-capture now applies the same cooldown/lock behavior as normal successful captures.
  • Beacon beam now reflects phase color (yellow in preparation, red in active capture).
Rewards, Progress & Combat Flow
  • Expanded reinforcement behavior options (wave scaling, per-wave caps, spawn tuning, targeting modes).
  • Added configurable capture speed modifiers.
  • Added modern item rewards (including custom items) with inventory-full handling options.
  • Added permission-based economy reward modifiers.
  • Added permission grant rewards (temporary or permanent).
  • Expanded bossbar/actionbar controls for normal, contested, and grace states.
Admin & Configuration
  • Per-zone override behavior is now clearer and more reliable.
  • Zone config tab completion now suggests a much broader set of settable paths.
  • Added in-game item reward editor GUI (/capturezones zoneconfig <zone> itemrewards).
  • New zone config files are cleaner: template banner text is no longer copied into every zone file.
  • Legacy data folder migration is automatic (plugins/TownyCapture -> plugins/CaptureZones).
Integrations
  • Towny integration is now optional (standalone usage is supported).
  • PlaceholderAPI coverage is much more complete for zone/global/player state.
Fixes
  • Fixed capture/preparation leave behavior that could continue in some cases.
  • Improved moved-too-far cancel messaging to support player-name output.
  • Fixed zone-template migration edge cases on existing servers.
  • Dynmap and BlueMap marker/icon behavior is fixed.
Full Changelog: https://github.com/logichh/capturezones/compare/v1.1.1...v1.1.2
----------, Feb 27, 2026

**1.1.0 and above are now consideres as MODERN versions, anything below are now considered LEGACY versions.
Versions below 1.1.0 can not recieve any support anymore, please update your plugin!**
- **RESTRUCTURED** the whole config system, all zones now have modular configs
All previous configs will probably not work anymore, everyone that switches to new versions has to re-make their zones on their servers.
Visit wiki for instructions (github wiki)
- added shop system
- added discord webhooks
- made messages prettier, added missing ones
- updated wiki and added default template, default configs
- added mythicmob support
- added bluemap support
- added update reminders for admins, if your plugin is outdated you will get a notification in chat and a link to download a new version after you log on on your server
- all zones, configs, webhooks, dependancies are now fully customizable
- all zones are now modular
**Commands Added**
- `/cap zoneconfig <zone_id> set <path> <value>` - Set zone-specific config value
- `/cap zoneconfig <zone_id> reset [path]` - Reset zone config to defaults
- `/cap zoneconfig <zone_id> reload` - Reload zone config from disk
- `/cap stats` - Open interactive statistics GUI
- `/cap stats remove <player>` - Remove a player's statistics (admin)
- `/cap stats reset CONFIRM` - Reset all server statistics (admin)
- `/cap shop` - Open nearest zone shop (player)
- `/cap shop edit <zone_id>` - Open shop editor GUI (admin)
- `/cap shop reload <zone_id>` - Reload shop configuration (admin)
- `/cap shop restock <zone_id>` - Manually restock shop (admin)
- `/cap shop enable <zone_id>` - Enable shop for zone (admin)
- `/cap shop disable <zone_id>` - Disable shop for zone (admin)
**Permissions Added**
- `capturepoints.admin.zoneconfig` - Access zone config commands
- `capturepoints.admin.zoneconfig.set` - Set zone config values
- `capturepoints.admin.zoneconfig.reset` - Reset zone configs
- `capturepoints.admin.zoneconfig.reload` - Reload zone configs
- `capturepoints.admin.stats` - Manage statistics (remove/reset)
- `capturepoints.admin.stats.nocooldown` - Bypass stats command cooldown
- `capturepoints.shop.use` - Access and use zone shops (default: true)
- `capturepoints.admin.shop` - Manage zone shops (edit, enable, disable, reload)
- `capturepoints.admin.shop.restock` - Manually restock zone shops
See more in changelog.md on github.
If you need help please reach out here: https://discord.gg/t96nrf7Nav
----------, Jan 17, 2026

Version 1.0.8 - [2025-12-02]
Fixed
  • Critical: Fixed post-deletion capture completion spam. Deleting a zone during an active capture session no longer triggers "no town was found" warnings or completion callbacks.
  • Added defensive guards in completeCapture() to prevent execution if the capture point has been removed from the registry.
  • Zone deletion and capture stopping now properly cancel all scheduled tasks (preparation/capture timers) and remove boss bars to ensure clean state.
Added
  • Startup Banner: Added ASCII art banner displaying "TOWNY CAPTURE" on server startup with version and author information.
upload_2025-12-2_0-37-43.png
----------, Dec 1, 2025

Made it impossible for towns to capture a zone they already control
(If Town 1 owns the zone, they can no longer re-capture it.)
Added a 5-minute cooldown between any captures on the same zone
(If Town 1 captures the zone, Town 2 must wait 5 minutes before attempting a capture.)
Both features are now fully configurable in config.yml.
----------, Nov 29, 2025

Everything from here can be edited in config.yml
Added (Boundary visualization, weekly resets are modular)
Modular boundary visualization modes (ON / REDUCED / OFF) with safe task cleanup.
Reinforcement optimization: per-tick spawn limiter, queued spawns around the capturing player, smarter targeting, and cleanup on cancel.
Dynmap infowindow now fully localizable and template-configurable (HTML-friendly placeholders, item payout placeholder).
Weekly reset system (configurable day/time) that neutralizes points and flags a configurable first-capture bonus.
Hourly reward mode selector (STATIC vs DYNAMIC range) alongside existing daily/hourly scheduling.
Fixed/Changed
/capturepoint deletezone now requires an explicit CONFIRM and actually removes zones from saved data.
Capture point saving no longer skips empty datasets, preventing deleted zones from respawning.
Boundary auto-visualization respects config modes and cancels tasks when disabled.
(Rewrote last 2 version updates completely, 1.0.4 and 1.0.5)
----------, Nov 28, 2025

Command cleanup and /capturepoint reload fix
----------, Nov 23, 2025

  • Remove particles and performance improvements by Lukee-bit in
----------, Nov 23, 2025

Implemented localization system:
Active language for messages (default: "en")
Supports both short codes ("en", "fr") and full locales ("en_US", "fr_FR")
Falls back to "en" if selected language is not available
To change language: Create a file like "de.json", "fr.json", "es.json", "it.json", or "zh_CN.json" in /lang/ folder, copy the contents of en.json, translate the values, and set language to match the filename (without .json)

change the language in config
default config for language:
language: "en"
----------, Nov 23, 2025

Added a feature where towns get rewards on hourly basis instead of towny day
Added choosing between hourly based rewards or towny day rewards in config.yml
----------, Nov 21, 2025

Resource Information
Author:
----------
Total Downloads: 139
First Release: Nov 19, 2025
Last Update: Mar 1, 2026
Category: ---------------
All-Time Rating:
4 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings