MaceCooldownn
Mace cooldown plugin for popular smp plugins like Strength Bliss smp etc.......
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* ⚔️**