MaceCooldownn

Mace cooldown plugin for popular smp plugins like Strength Bliss smp etc.......

1,58k

MaceCooldownn

📖 MaceCooldown Plugin - Complete Description**

---

🎯 Overview

Mace is a lightweight, performance-optimized Minecraft plugin designed for Mace servers. It introduces a strategic cooldown mechanic to the Mace weapon, preventing spam attacks and adding tactical depth to PvP and PvE combat scenarios.

When a player attacks any entity using a Mace, the weapon is placed on cooldown for a configurable duration, during which the player cannot use the Mace again. This creates balanced gameplay and prevents overpowered Mace spamming.

---

Key Features

Player Feedback - ⏱️ Player Feedback: Set cooldown time in seconds (default: 120 seconds / 2 minutes) - 🎮 Player Feedback: Uses official `Player.setCooldown()` method for seamless integration - 🔄 Player Feedback: Seconds automatically converted to Minecraft ticks (1 second = 20 ticks) - 💬 Player Feedback: Visual messages inform players when cooldown is applied

Entity-Agnostic - 🎯 Entity-Agnostic: Activates only when a player actually hits an entity - ✋ Entity-Agnostic: Only triggers when Mace is in the main hand slot - 🛡️ Entity-Agnostic: Works with all entity types (players, mobs, bosses, custom entities)

Well-Documented - 📝 Well-Documented: Edit `config.yml` to suit your server needs - 🔌 Well-Documented: Completely disable the plugin without uninstalling - 🔄 Well-Documented: Apply config changes without server restart using `/macecooldown reload` - 📋 Well-Documented: Config file includes clear comments for each setting

Status Feedback - 👑 Status Feedback: `/macecooldown reload` for managing the plugin - 🔐 Status Feedback: `macecooldown.admin` permission (OP by default) - 📊 Status Feedback: Command shows current configuration when reloading

Paper/Spigot - ⚡ Paper/Spigot: Minimal resource usage, optimized event handling - 🎮 Paper/Spigot: Supports 1.21.1 through 1.21.11 - ☕ Paper/Spigot: Built with the latest Java LTS for maximum performance - 🌐 Paper/Spigot: Compatible with both server platforms

---

🎮 Use Cases & Applications

Skill-Based Fighting - Skill-Based Fighting: Prevent Mace spam in duels and arenas - Skill-Based Fighting: Players must time their Mace attacks carefully - Skill-Based Fighting: Encourages switching between different weapons - Skill-Based Fighting: Rewards tactical thinking over button mashing

Resource Balance - Resource Balance: Make boss battles more challenging and engaging - Resource Balance: Prevent trivializing mob farms with Mace spam - Resource Balance: Encourages varied weapon use and durability management

Progression Control - Progression Control: Integrate with class-based systems for warrior cooldowns - Progression Control: Make quests more challenging by limiting powerful weapons - Progression Control: Gate powerful Mace usage behind cooldown mechanics

Tournament Balance - Tournament Balance: Add strategic depth to combat mini-games - Tournament Balance: Create timed challenges with weapon cooldowns - Tournament Balance: Ensure fair fights in competitive events

---

🔧 How It Works

Technical Flow:

``` 1. Player attacks entity with Mace in main hand ↓ 2. Plugin detects EntityDamageByEntityEvent ↓ 3. Checks if cooldown-enabled = true ↓ 4. Validates attacker is a Player ↓ 5. Checks if weapon is Material.MACE ↓ 6. Converts config seconds to ticks (seconds × 20) ↓ 7. Applies cooldown using player.setCooldown(Material.MACE, ticks) ↓ 8. Player receives feedback message ↓ 9. Mace cannot be used until cooldown expires ```

Visual Player Experience:

- ✅ Cooldown Expires: Mace works normally - ⚔️ Cooldown Expires: Player hits any mob/player with Mace - ⏳ Cooldown Expires: Mace icon shows cooldown animation - 💬 Cooldown Expires: "Mace cooldown applied for 120 seconds!" - ⏱️ Cooldown Expires: Player must wait (or switch weapons) - ✅ Cooldown Expires: Mace becomes usable again

---

⚙️ Configuration Details

config.yml Breakdown:

```yaml cooldown-enabled: true ``` - Effect: Boolean (`true` or `false`) - Effect: `true` - Effect: Master toggle for the entire plugin - Effect: When `false`, plugin does nothing (useful for temporary disabling)

```yaml cooldown-seconds: 120 ``` - Conversion: Integer (whole number) - Conversion: `120` (2 minutes) - Conversion: Any positive number (recommended: 10-300) - Conversion: Duration in real-world seconds - Conversion: Automatically multiplied by 20 for Minecraft ticks

Configuration Examples:

| Use Case | cooldown-seconds | Real Time | Best For | |----------|------------------|-----------|----------| | Fast-Paced PvP | 30 | 30 seconds | Quick respawn servers | | Balanced PvP | 60 | 1 minute | Arena/duels | | General use | General use | General use | General use | | Hard Survival | 180 | 3 minutes | Challenging PvE | | Boss Battles | 300 | 5 minutes | Epic encounters |

---

📋 Commands & Permissions

Commands:

| Command | Aliases | Description | Permission | |---------|---------|-------------|------------| | `/macecooldown reload` | `/mcd reload` | Reloads config.yml | `macecooldown.admin` |

Permissions:

| Permission | Default | Description | |------------|---------|-------------| | `macecooldown.admin` | OP | Access to reload command and admin functions |

Command Usage:

```bash Reload configuration after editing config.yml /macecooldown reload /mcd reload Shorter alias

Output example: ✓ MaceCooldown configuration reloaded successfully! Cooldown enabled: true Cooldown duration: 120 seconds ```

---

📦 Installation Guide

Step 1: Download - Compile from source using Maven: `mvn clean package` - Or download pre-compiled `.jar` from releases

Step 2: Install 1. Stop your server 2. Copy `MaceCooldown-1.0.0.jar` to `plugins/` folder 3. Start your server

Step 3: Configure 1. Find `plugins/MaceCooldown/config.yml` (auto-generated) 2. Edit settings as desired 3. Run `/macecooldown reload` (no restart needed!)

Step 4: Test 1. Join your server 2. Get a Mace: `/give @s mace` 3. Attack any mob/player 4. Observe cooldown activation

---

💡 Benefits & Advantages

Performance - ✅ Performance: Drop-in installation, works immediately - ✅ Performance: Lightweight, no SQL or storage needed - ✅ Performance: No external plugins required - ✅ Performance: Adjust to your server's needs - ✅ Performance: Negligible impact on TPS

Balanced PvP - ✅ Balanced PvP: No weapon spam abuse - ✅ Balanced PvP: More thoughtful combat decisions - ✅ Balanced PvP: Clear cooldown indicator - ✅ Balanced PvP: Skill matters more than spam-clicking

Java 21 - ✅ Java 21: Well-documented, easy to modify - ✅ Java 21: Uses Paper/Spigot best practices - ✅ Java 21: Fully customizable - ✅ Java 21: Future-proof implementation

---

🖥️ System Requirements

Storage - Storage: 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11 - Storage: Paper (recommended) or Spigot - Storage: Java 21 or higher - Storage: Minimal (< 1MB) - Storage: < 100KB

Version - Version: Works with vanilla clients - Version: Must match server version

---

🎯 Plugin Behavior Details

main hand ✅ Hitting any entity with Mace in main hand ✅ Any successful attack (damage dealt) ✅ PvP attacks (player vs player) ✅ PvE attacks (player vs mob)

off-hand ❌ Mace in off-hand (only main hand counts) ❌ Missing attacks (not hitting anything) ❌ Attacking while cooldown is disabled in config ❌ Attacking with other weapons ❌ Breaking blocks with Mace

Timed - 🎯 Timed: Each player has their own independent cooldown - 🔨 Timed: Cooldown applies to ALL Maces in inventory - 🔄 Timed: Lasts through death, teleports, dimension changes - ⏱️ Timed: Expires automatically after configured duration

---

📊 Performance Metrics

| Metric | Value | |--------|-------| | Event Listeners | 1 (EntityDamageByEntityEvent) | | Memory Footprint | < 1 MB | | CPU Impact | Negligible (< 0.1% TPS) | | Disk Usage | < 100 KB | | Startup Time | < 50ms | | Config Reload Time | < 10ms |

---

🔒 Security & Safety

- ✅ No External Connections: No known duplication or bypass methods - ✅ No External Connections: Commands protected by permission system - ✅ No External Connections: Config values validated on load - ✅ No External Connections: Graceful fallback to defaults on invalid config - ✅ No External Connections: Completely offline, no telemetry

---

🆚 Comparison with Alternatives

| Feature | MaceCooldown | Generic Cooldown Plugins | Manual Config | |---------|--------------|-------------------------|---------------| | Mace-Specific | ✅ Optimized | ⚠️ Generic | ❌ Complex | | Easy Setup | ✅ 1 file | ⚠️ Multiple configs | ❌ Requires knowledge | | Performance | ✅ Lightweight | ⚠️ Varies | ✅ N/A | | 1.21+ Support | ✅ Native | ⚠️ May lag behind | ✅ If supported | | Hot Reload | ✅ Built-in | ⚠️ Varies | ❌ Requires restart |

---

🎓 Example Scenarios

Result Result: 60-second cooldown Result: Players can use Mace once per minute in fights Result: Encourages weapon switching and tactical planning

Result Result: 120-second cooldown (default) Result: Mace becomes a powerful but limited tool Result: Players save Mace for tough mobs, use other weapons for farming

Result Result: 300-second cooldown (5 minutes) Result: Mace usable once or twice per boss fight Result: Makes boss fights more challenging and strategic

Result Result: Set `cooldown-enabled: false` Result: Plugin stays installed but does nothing Result: Quickly disable for special events, re-enable after

---

FAQ

Q: Does this work with custom Maces from other plugins? A: Yes, as long as the item type is `Material.MACE`.

Q: Can I set different cooldowns for different players? A: Not in this version, but you can modify the code to add permission-based tiers.

Q: Does it work with off-hand Maces? A: No, only main hand attacks trigger cooldown (design choice for balance).

Q: What happens if I set cooldown to 0? A: The cooldown will be instant (essentially disabled for that player after attack).

Q: Is there a maximum cooldown limit? A: No hard limit, but extremely high values (> 1 hour) are impractical.

Q: Does this affect Mace durability? A: No, normal durability loss still applies.

Q: Can players bypass with multiple Maces? A: No, cooldown applies to the Material type, affecting all Maces.

---

📞 Support & Updates

Getting Help: - Check `config.yml` comments for setting explanations - Review console logs for error messages - Ensure Java 21 and Paper/Spigot 1.21.x are installed

---

🏆 Why Choose MaceCooldown?

1. ✅ Flexible: Specifically designed for Mace balancing 2. ✅ Flexible: Uses latest Minecraft and Java versions 3. ✅ Flexible: One plugin, one config, one command 4. ✅ Flexible: Uses native Minecraft API (no hacks) 5. ✅ Flexible: Open source, no hidden costs 6. ✅ Flexible: Minimal performance impact 7. ✅ Flexible: Customize to your exact needs

---

MaceCooldown - *Balance Your Combat, Enhance Your Server* ⚔️**

ADS