Fixes
- Fixed crash when kits modify max health below default.
- Replaced getBaseValue() with getValue() across all handlers to respect modifiers.
- Fixed kit editor movement blocking gravity.
- Players can now fall normally (only horizontal movement is restricted).
- Fixed bed breaking inconsistency in Bedwars/Bridge modes.
- Bed logic now always runs, overrides cancelled events, and works for both players.
Improvements
- Added team-glow-enabled config option (cached) to enable/disable party team glow.
- Glow application now respects config setting.
Fixes
- Fixed team glow persisting after server reboot/crash.
- Glow is now cleared on:
- Server shutdown (onDisable)
- Server startup (handleAlreadyOnlinePlayers)
- Player join (onPlayerJoin)
Fixes
- Fixed spectators interacting with entities (TNT minecarts, armor stands, vehicles).
- Added handlers at HIGHEST priority to fully block entity interaction.
- Fixed missing forcefield for tournament/event spectators with shared system.
Improvements
- Moved editor messages to messages.yml (editor-sneak-actionbar, editor-save-failed, editor-no-trim-permission, editor-no-drop).
- Optimized actionbar caching; other messages use MessagesManager.
- Moved command help messages to messages.yml:
- /party → party-usage
- /ranked → ranked-usage, ranked-stats
- /arena → arena-usage
- /kit → kit-usage
- /swiftcore → swiftcore-usage
- /spawnitems → spawnitems-usage
- Replaced hardcoded command messages with sendMessage(...).
- Added placeholder support for ranked stats.
- Updated MessagesManager to support CommandSender.
- Added CustomModelData support across all GUIs (mode select, queues, kits, editor, effects, settings, party, history).
- Added ItemAttributeUtil.applyCustomModelData() for easy YAML integration.
- GUI items now support:
custom-model-data: 10001- Added custom font support (<font>) for scoreboard and tablist.
- Works with resource pack fonts in MiniMessage:
<font:mynamespace:myfont>\uE001</font>
Delete Message. Yml and Configyml and this update not tested yet so may contains bugs
- Fixed spectators being able to pick up arrows.
- Added PlayerPickupArrowEvent handler to cancel arrow pickup for spectators.
- Updated pickup handlers to HIGHEST priority to prevent overrides.
- Fixed block placement being cancelled by spawn item cooldown during matches.
- Cleared playersWithSpawnItems in all kit methods (giveKit, giveKitWithTeamColor, giveDefaultKit).
- Prevents lobby-only 500ms cooldown from interfering with gameplay.
- Added debug logs (config.yml → debug: true):
- SpawnItems Debug — interact cooldown cancels
- Spectator Debug — block placement cancels
- Arena Debug — block place allow/cancel
- Respawn Debug — full state tracking
- Fixed stale per-player kit layouts persisting after kit deletion.
- Deleting a kit now also removes all saved player layouts from the database.
- Prevents old layouts from being applied when a kit is recreated with the same name.
- Applies to both normal and ranked variants (tier<kitName>).
Tournament
- Eliminated players now stay as spectators instead of being sent to lobby.
- Added full spectator system (flight, teleport, navigation, scoreboard, messages).
- handlePlayerDeath now converts players to spectators while keeping tournament state.
- Broadcasts now include spectators.
- Fixed %loser% not showing in match results.
- Fixed missing spectator placeholders.
- Ensured full cleanup (no memory leaks).
Fixes
- Fixed players in a party receiving duel requests but unable to accept them. Requests are now blocked if the target is in a party.
- Fixed dropped items (arrows, loot) not clearing between rounds in non-build arenas. Arenas now fully reset each round.
- Fixed party-challenge-sent showing raw %party% and %kit% when triggered via GUI.
## Fixes
Fixed an issue where tournament players sometimes spawned without kits. Kits are now properly applied after teleport, ensuring players always receive their items.
Fixed spawn items not updating correctly on reload. Players now get the correct items based on their current state, and invalid commands in configs will show a warning in console.
## Config Fix
Fixed an issue where invalid YAML could reset your config files. Your configs will no longer be overwritten on errors, and the plugin will continue working with default values while showing a clear console message so you can fix it easily.
This Update Not Tested at all so please test and report if u found bug thanks for using swiftcore
26.1 Compatibility & Systems Update
---
### Overview
New systems, cosmetics, compatibility improvements, and major fixes with async optimization and client-side enhancements.
---
## Features
### Open Party
/openparty,/findparty,/parties- Paginated, fully editable GUI
- Public / private toggle
### Death Animations
/deathanimation,/da- 8 animations (permission-based)
- Client-side visuals
### Trail Effects
/trail,/traileffect- 15 effects
- Disabled in duels / FFA
### Tournaments
/tournament- SOLO, PARTY, CLAN modes
- Auto matchmaking with brackets
### Events
/event- Sumo, Spleef, TNT Run, Gulag
- Rotation fights with elimination system
### Clans
/clan- Fully standalone system
- Async database, clan chat, points system
### Clan Points System
- Independent clan economy
- Earned via duels, FFA, party wins, tournaments
- Stored in
clans.points- Cached leaderboard + PlaceholderAPI support
### Environment (Client-Side)
-/day,/night,/sunset
---
## Fixes & Improvements
### FFA
- Fixed
%swiftcore_ffaplayers_<arena>%and%swiftcore_ffareset_<arena>%<arena>now correctly resolves to current arena
### FFA Respawn
- Players respawn at original join position
- Uses tracked join location (fallback to center)
- Proper cleanup (no memory leaks)
### Party Games
- Fixed incorrect team win announcements
- Fixed Bedwars block placement after respawn
- Added proper kill + elimination death messages
- Fixed round 2 spawn issue (teleport now occurs after arena reset)
### Spectator System
- Fixed off-hand interaction being blocked in next round
- Cleared spawn item tracking correctly
### Void Death Handling
- Instant death in void
- Prevents forced teleport to world spawn
### Economy (PlayerPoints / Vault)
- Removed main-thread SQLite blocking
- Fully async operations
- UUID-based thread-safe handling
### Tablist / Glow
- Fixed team glow persisting after matches
- Glow now cleared on lobby return
- Cleanup packets sent to all players
- Offline player cleanup added
---
## Gameplay Fixes
### Bedwars Bed Break
checkBedBreaknow returns boolean- Prevents NON_BUILD re-cancelling valid enemy bed breaks
### Offhand Golden Apple
- Offhand interaction no longer cancelled
- Allows golden apple consumption from offhand
### Sumo Water Detection
- Detection now triggers on all movement (including rotation)
- Added repeating check (every 5 ticks)
- Uses
player.isInWater()for reliability- Countdown protection added (no kills during countdown)
### One-Sided Duel Damage
- Fixed lingering spectator state blocking damage
- Added cleanup at start of all match types
### Party Games Spawn (Round Reset)
- Teleport + scoreboard now executed after arena reset
- Prevents spawning at death location
### Boxing Fix
- Fixed win condition typo (1 hit → 100 hits)
### Golden Apple Full Regen Rule
- Full health restore
- New
GOLDEN_APPLE_FULL_GENkit rule- On consume:
- Regeneration II (10s)
- Absorption I (2 min)
---
## Spectator System Fix (Critical)
### Root Cause
- Players entering delayed respawn (bridge/bedwars mechanics) were added to:
-tempRespawnSpectators(ArenaListener)
-tempSpectators(SpectatorManager)
- If the game ended during the respawn window:
-cleanupPartyRoundSpectators()did not include temp respawn spectators
-cleanupSpectator()skipped them due to missing spectator map entry
- Result:
- Players remained intempSpectators
-isSpectating()returned true in lobby
- All interactions were cancelled (inventory, offhand, blocks, damage, drops)
### Fix Implemented
- Fully cleaned temp spectator states on game end
- Restored proper player state and interaction handling
### Changes Made
- PartyGameManager.endGame()
- CleanstempRespawnSpectatorsandtempSpectators
- Restores visibility for all affected players
- Resets gamemode from ADVENTURE if required
- PartyGameManager.endGameVsPartyWithDelay()
- Same cleanup applied before final game end call
- ArenaListener.showTempSpectatorToAll()
- Changed from private → public
- Allows visibility restoration for hidden temp spectators
---
## PlaceholderAPI
### New Placeholder
- Duel
%swiftcore_kit%- Returns active kit based on:
- Party game
- FFA
- Tournament
- Event
---
## Compatibility
- Fully compatible with Minecraft 1.26+
- Supports new world format automatically
- Stable across versions with no manual setup required
---
## Important Notes
- Minecraft 1.26 may still contain unknown issues
- If you encounter any bugs, please report them
### Config Changes
- Delete the following files to regenerate updated configs:
-config.yml
-messages.yml
-scoreboard.yml
---
