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

73

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.

Configurable Nametag

Combat Timer

---

📋 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.

Cooldowns

---

🚫 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!"*

Configurable Blocking

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).

Configurable Cooldowns

Item Cooldown

---

🛡️ 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.

Elytra

---

🔮 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!"*

Harming Arrows

---

💥 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`.

End Crystal

Respawn Anchor

Bed Blocking

TNT Minecart

---

✨ 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.

Enchant Limiter

---

📦 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.

Safe Zone Barrier

---

👶 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.

New Player Protection

---

🏆 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.

ADS