DeathSwapСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (11)
release
DeathSwap 1.1.0
1.1.030 окт. 2026 г.13Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
### 🚀 Improvements & Refactoring
* **Modular Sub-Command System (`/deathswap`, `/ds`)**
* Restructured into dedicated sub-commands: `/ds join`, `/ds leave`, `/ds start`, `/ds stop`, `/ds reload`, and nested `/ds set lobby`.
* Added dynamic tab-completion with input prefix filtering across all arguments.
* Removed obsolete command boilerplate and configuration entries from `settings.yml`.
* **Player State Management (`PlayerStateManager`)**
* Centralized inventory, health, hunger, gamemode, and potion effect preservation during matches.
* Ensures safe recovery (`restoreAll()`) if a match ends unexpectedly or players disconnect.
* **Dynamic Permissions & Lifecycle**
* Migrated all permissions (`deathswap.command.*`) to dynamic runtime registration, removing static declarations from `plugin.yml`.
* Silenced verbose startup and shutdown console logging.
* **Messaging & Formatting (`MessageUtil`)**
* Added `<prefix>` placeholder support alongside `{prefix}` and `%prefix%`.
* Improved configuration reload error handling with formatted in-game feedback.
release
DeathSwap 1.0.9
1.0.924 окт. 2026 г.35Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
### Fixes
- Fixed death screen freezing after a match ends — dead players are now auto-respawned and match cleanup is deferred to the next tick.
- Fixed a thread-safety race condition in async chat handling (no more `ConcurrentModificationException`).
- Fixed Nether and End teleports being treated as leaving the match when portals are used.
- Fixed player spawns at match start: players are now distributed across the spawn radius instead of all appearing at one point.
- `/ds leave` now properly restores inventory, health, XP and effects.
- Fixed alive-player counting: eliminated players awaiting respawn are no longer counted.
- Fixed `pvp-enabled` handling for projectile damage.
- Lobby start countdown is no longer reset while enough players remain.
- Guaranteed a true derangement of all alive players during swaps (no player keeps their position).
- Fixed world deletion: selective region/entity/POI cleanup, unload verification before deletion, corrected chunk pregeneration and proper pool shrinkage on reload.
- World settings (`name-prefix`, `generate-dimensions`, `generate-on-start`, pool expansion) now apply immediately after `/ds reload`.
- Teleports are now validated against the current match's dimensions instead of the global world pool.
- The world retry task is properly cancelled on stop/match creation, and `min-players-to-start` is enforced.
### Changes
- Swaps now affect all alive players; `PlayerSwapEvent` exposes the full player list.
- The lobby now acts as a virtual matchmaking queue without forcing a gamemode change.
- Removed Folia from the supported platforms list in the README.
- Simplified `PlayerSwapEvent` and removed redundant config handling in `onEnable`.
release
DeathSwap 1.0.8
1.0.818 окт. 2026 г.52Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
- **Refactored configuration to Configura 2.1 & Strata 2.0:**
- Replaced legacy section wrappers with pure POJO models (`settings/`, `messages/`, `backed/`).
- Added `DeathSwapConfig` facade with automatic migrations and schema comments.
- Removed redundant resource files (`config.yml`, `messages.yml`, `backed.yml`).
- **Introduced `MessageUtil`:** Centralized MiniMessage parsing, placeholder handling, and message dispatching.
- **Added Gradle Version Catalog (`libs.versions.toml`):** Moved dependencies and plugins into version catalogs with bundles (`adventure`, `configura`, `strata`).
- **Dependency bump:** Updated `spigot-api` to `26.3-R0.1-SNAPSHOT`.
release
DeathSwap 1.0.7
1.0.710 окт. 2026 г.38Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
### Added
- Added support for executing end-of-round commands as either the player or the console, configurable per command.
release
DeathSwap 1.0.6
1.0.69 окт. 2026 г.10Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
### Added
* Added FastStats metrics.
* Added `backed.yml` for lobby storage.
### Changed
* Migrated the build from Maven to Gradle.
* Replaced the `LobbySection` wrapper with `BackedConfig`.
* Improved `messages.yml` wording and removed redundant color tags.
* Reformatted comments in `config.yml` and `messages.yml`.
### Fixed
* Fixed active players remaining in a match after teleporting out of the game world.
release
DeathSwap 1.0.5
1.0.526 сент. 2026 г.30Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
### Added
- `worlds.generate-on-start` option. When enabled, a brand-new world is
generated when a match starts instead of handing out one of the pre-generated
worlds, so the number of simultaneous matches is no longer capped by
`worlds.count`. Such worlds are deleted after the match rather than recycled,
and the pool is not built at all on startup.
### Changed
- Players waiting in the lobby are now told that the world is being prepared as
soon as generation starts, instead of only after it has finished.
- `world-preparing` is no longer sent once the match is already running.
- Lobby teleports no longer go through the world pool, which only cares about
game worlds.
release
Deathswap 1.0.4
1.0.47 сент. 2026 г.31Minecraft: 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.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
### Compatibility & Fixes
* 🔌 **Added Spigot support** with cross-platform Paper/Spigot compatibility
* 🏠 **Added lobby requirement** — matches can no longer be started without a configured lobby
* 🌍 **Fixed world listener** to correctly use the configured name prefix
release
Deathswap 1.0.3
1.0.31 сент. 2026 г.12Minecraft: 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.2, 26.2bukkit, paper, purpur, spigot
Что нового
### Refactored
* 🧩 **Reworked command dispatcher** with a dedicated subcommand system
* 💡 **Added tab completion** for `/deathswap`
release
Deathswap 1.0.2
1.0.214 авг. 2026 г.8Minecraft: 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.2, 26.2bukkit, paper, purpur, spigot
Что нового
* Added death and advancement message isolation per match (`isolate-deaths`, `isolate-achievements`)
* Added optional tab-list hiding for in-match players (`match-players-in-tab`, requires PacketEvents)
* Moved chat, death, and advancement isolation into the new `hide` config section
* Moved scoreboard and actionbar settings into the `display` config section
* `/deathswap reload` now re-applies tab hiding to running matches
* Bug fixes and config cleanup
release
Deathswap 1.0.1
1.0.112 авг. 2026 г.7Minecraft: 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.2, 26.2bukkit, paper, purpur, spigot
Что нового
## Massive World Loading Optimization
Major improvements to world loading and generation.
### ⚡ What's New
- Faster world loading
- Maximum match time configuration
- Random spawn radius
- Per-world border support
- Custom world name prefixes
- Individual Nether & End dimensions
### ⚙️ New Configuration Options
```yaml
max-match-time: 0 # Max match length in minutes, 0 = unlimited
spawn-radius: 100 # Per-world random respawn radius around spawn, 0 = exact spawn
border: 3000 # World border size in blocks (centered on spawn), 0 = disabled
name-prefix: ds # Prefix for generated world names (e.g. "ds_0")
generate-dimensions: true # Give every game world its own Nether and End
# false = share server defaults
```
### 🔌 API
A new public API is now available for integrating DeathSwap with other plugins.
- Access DeathSwap game and player data
- Interact with DeathSwap matches
- Easier integration with other plugins
### 🔤 PlaceholderAPI
Requires [PlaceholderAPI](https://placeholderapi.com/).
The expansion registers under both `deathswap` and `ds`.
Both formats are supported:
```text
%deathswap_<name>%
%ds_<name>%
```
### Available Placeholders
| Placeholder | Description |
|---|---|
| `%deathswap_state%` | Player's game state: `none`, `lobby`, `match` or `spectator` |
| `%deathswap_deaths%` | Current death count in the match (`0` if not in a match) |
| `%deathswap_deaths_left%` | Deaths remaining before elimination |
| `%deathswap_max_deaths%` | Configured `max-deaths` limit |
| `%deathswap_players_in_lobby%` | Players currently waiting in the lobby |
| `%deathswap_min_players%` | Required players to start |
| `%deathswap_swap_interval%` | Configured seconds between swaps |
| `%deathswap_next_swap%` | Seconds until the next swap (`0` = swapping now; full interval outside a match) |
release
Deathswap 1.0.0
1.0.011 авг. 2026 г.9Minecraft: 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.2, 26.2bukkit, paper, purpur, spigot