Celest Combat Xtra
A simple plugin that tags players in PvP and kills those who disconnect to prevent combat logging. but a better version with more features
Celest Combat Xtra
CelestCombat-Xtra
A comprehensive combat management plugin for SwordPvP, CrystalPvP, and competitive Minecraft servers. Prevents combat logging, blocks escape mechanics, integrates with major protection plugins, and provides advanced item restriction systems—all highly configurable.
---
Requirements
- Java: 1.21 – 1.21.4 - Java: Paper, Purpur, or Folia - Java: 21+
Optional Dependencies
| Plugin | Purpose | |--------|---------| | GriefPrevention | Placeholders for scoreboards, tab lists, holograms | | GriefPrevention | Safezone barriers and region protection | | GriefPrevention | Claim-edge barriers and claim protection |
---
Installation
1. Download the latest release 2. Place the `.jar` in your server’s `plugins` folder 3. Restart the server 4. Edit `plugins/CelestCombat/config.yml` 5. Reload with `/celestcombat reload` or `/ccx reload`
---
⚔️ Combat System
* Nametag & boss bar – Players who hit or get hit stay in combat for a set duration (e.g. 20 seconds). * Nametag & boss bar – Shows remaining combat time in blue text (e.g. *"Combat: 19s"*). * Nametag & boss bar – Blacklist or whitelist commands during combat (e.g. block `/tpa`, `/home`). * Nametag & boss bar – Staff kicks/bans don’t trigger combat-log penalties. * Nametag & boss bar – Disable creative flight while tagged. * Nametag & boss bar – Optional opponent name and countdown.


---
📋 Action Bar Cooldowns
All timers appear in one line above the hotbar, separated by vertical bars.
* Mace – Blue countdown until you can leave combat. * Mace – Red countdown before you can use pearls again. * Mace – Light blue countdown for trident throws. * Mace – Light blue countdown for wind charges. * Mace – Red countdown after mace hits.
Items on cooldown also show a white wipe overlay on the hotbar so you can see at a glance which items are ready.

---
🚫 Configurable Item Blocking
Disabled Items (in combat)
Add items to `disabled_items` in `config.yml`. While in combat, players cannot use these items at all.
Example: `SUSPICIOUS_STEW`, `ELYTRA`, custom items.
Players see a pink action bar message: *"You cannot use [item] while in combat!"*

Cooldowned Items
Add items with cooldowns in `cooldowned_items`. After use, the item is locked for a set time (e.g. 10 seconds for Chorus Fruit).
* Action bar shows the countdown (e.g. *"Chorus Fruit: 9s"*). * Physical cooldown overlay on the item in the hotbar. * Applies in combat and/or out of combat (configurable).


---
🛡️ Elytra Combat Rules
* DROP – No flying or firework boosting while in combat. * DROP – After repeated tries (e.g. 2 strikes), the plugin acts: * DROP – Elytra is moved to inventory. * DROP – If inventory is full, the elytra is broken for 30 seconds and then restored. * DROP – If inventory is full, the elytra is dropped at your feet.
A crossed-out elytra icon shows when elytra use is blocked.

---
🔮 Ender Pearl & Trident
Ender Pearl
* Cooldown with action bar timer. * Optional block in combat. * Per-world cooldown control.
Trident
* Cooldown with action bar timer. * Optional block in combat (throw & riptide). * Per-world bans (e.g. no tridents in Nether).
---
💀 Harming Arrow Control
Controls Arrows of Harming from bows and crossbows.
* Potions – Set `bows_allow_harming` or `crossbows_allow_harming` to `false` to stop loading and firing harming arrows. * Potions – Set `no_damage: true` to cancel all harming arrow damage to players (arrows still fire but deal 0 damage). * Potions – Optional block for dispensers. * Potions – Optional block for harming potions (drink, throw, dispense).
Players see: *"Harming is disallowed on this server!"*

---
💥 Explosive Controls
Toggle prevention for:
| Item | Message | |-----------------|----------------------------------------| | End Crystal | *"End crystals are disabled here."* | | Respawn Anchor | *"Respawn anchors are disabled here."*| | Bed (Nether/End)| *"Beds are disabled in this dimension."* | | TNT Minecart | *"TNT minecart explosions are disabled."* |
All messages appear in pink on the action bar. Use `prevent_placement` / `prevent_use` / `prevent_explosion` in `config.yml`.




---
✨ Enchant Limiter
Stops overpowered enchants (e.g. Sharpness 255).
* DELETE – Clamp to max level (e.g. Sharpness V). * DELETE – Remove the item. * Per-world and bypass permission. * You can see that this max stick gets sharpness reverted.

---
📦 Item Limiter
Limit how many of each material a player can hold (e.g. max 64 diamonds, 3 netherite ingots, 1 totem).
* Drop excess or remove. * Per-world control. * Action bar notice when denied.
---
🔒 Regearing Block (Combat)
While in combat: * Bundles – Blocked. * Bundles – Blocked. * Bundles – Blocked.
Chat: *"You cannot access enderchests/shulkers/bundles while in combat!"*
---
🛡️ WorldGuard Safe Zone
Uses WorldGuard to stop players from escaping combat into no-PvP regions.
* Chorus fruit – Visual barrier at region borders. * Chorus fruit – Pushes players away from the barrier. * Chorus fruit – Blocks teleporting into safe zones. * Per-world settings.

---
👶 New Player Protection
Protects new players for a configurable time (e.g. 10 minutes).
* Removal – Can’t be damaged by players. * Removal – Green bar with *"PvP Protection: 8m 44s"*. * Removal – Protection ends when they attack another player. * Per-world settings.

---
🏆 Kill Rewards
Run commands when a player gets a kill. Use in `kill_rewards.commands`:
| Placeholder | Description | |-------------|-------------| | `%killer%` | Killer’s name | | `%victim%` | Victim’s name | | `%killer_uuid%` | Killer’s UUID | | `%victim_uuid%` | Victim’s UUID | | `%killer_health%` | Killer’s health when reward runs | | `%victim_health%` | Victim’s health (usually 0) | | `%killer_max_health%` | Killer’s max health | | `%victim_max_health%` | Victim’s max health | | `%world%` | Victim’s world name | | `%x%`, `%y%`, `%z%` | Victim’s block coordinates |
* Global or per-victim cooldown. Example: `donutcratecore shards give %killer% 10`
---
🔌 Integrations
PlaceholderAPI
| Placeholder | Description | |-------------|-------------| | `%celestcombat_in_combat%` | `true` or `false` | | `%celestcombat_time_left%` | Remaining combat seconds | | `%celestcombat_opponent%` | Opponent name | | `%celestcombat_opponent_display%` | Opponent display name | | `%celestcombat_pearl_cooldown%` | Pearl cooldown seconds | | `%celestcombat_trident_cooldown%` | Trident cooldown seconds | | `%celestcombat_wind_cooldown%` | Wind charge cooldown seconds | | `%celestcombat_pearl_ready%` | `true` or `false` | | `%celestcombat_trident_ready%` | `true` or `false` | | `%celestcombat_wind_ready%` | `true` or `false` |
---
Commands
| Command | Permission | Description | |---------|------------|-------------| | `/celestcombat` | `celestcombatxtra.command.use` | Main command (shows help) | | `/celestcombat help` | `celestcombatxtra.command.use` | Display help | | `/celestcombat reload` | `celestcombatxtra.command.use` | Reload config and messages | | `/celestcombat tag <player1> [player2]` | `celestcombatxtra.command.use` | Manually tag players in combat | | `/celestcombat removeTag <player|world|all>` | `celestcombatxtra.command.use` | Remove combat tags | | `/celestcombat killReward clear [player]` | `celestcombatxtra.command.use` | Clear kill reward cooldowns | | `/celestcombat newbieProtection add/remove/check <player>` | `celestcombatxtra.command.use` | Manage newbie protection | | `/celestcombat config` | `celestcombatxtra.command.config` | Browse and edit config in-game |
Aliases: `/ccx`, `/celestcombat`, `/combat`
---
Permissions
| Permission | Default | Description | |------------|---------|-------------| | `celestcombatxtra.command.use` | OP | Use all plugin commands | | `celestcombatxtra.command.config` | OP | Browse and edit config in-game | | `celestcombatxtra.update.notify` | OP | Receive update notifications | | `celestcombatxtra.bypass.tag` | false | Bypass combat tagging (no combat-log punishment) | | `celestcombatxtra.bypass.enchant_limit` | OP | Bypass enchant level limits | | `celestcombatxtra.bypass.item_limit` | OP | Bypass item limiter (per-material caps) | | `celestcombatxtra.bypass.spear_control` | OP | Bypass spear lunge cooldown and damage rules |
---
Configuration
Main config: `plugins/CelestCombat/config.yml`
Notable sections:
- `combat` – Duration, command blocking, nametag, boss bar - `item_restrictions` – Disabled items, cooldowned items - `elytra` – Elytra abuse prevention - `item_limiter` – Per-material limits, per-world - `enchant_limiter` – Enchant caps, per-world - `enderpearl`, `trident`, `windcharge`, `mace`, `spear_control` - `kill_rewards` – Commands and cooldowns - `newbie_protection` – Duration, display, worlds - `safezone_protection` – WorldGuard barriers - `claim_protection` – GriefPrevention integration
Use `/celestcombat config` to browse and edit in-game (with permission).
---
Discord
Join for support, updates, and feedback.
---
Statistics
This plugin uses bStats to collect anonymous usage statistics (server count, Minecraft version, etc.). This helps prioritize development. You can opt out in the bStats config.
---
License
This project is licensed under the CC BY-NC-SA 4.0 License. See LICENSE for details.