by kernitus and Rayzr522
Fine‑tune Minecraft combat, movement, and item balance without breaking your server. OldCombatMechanics is a free, open‑source toolkit for Spigot and Paper that lets you mix 1.8‑style snappiness with modern features, per world and per player.
Why servers pick OCM ✨
- 🧩 Modular: enable only what you need: cooldowns, tool damage, knockback, shields, potions, reach, sounds, more.
- 🚀 Performant: lean listeners only enabled as needed; reflection lookups are cached and recurring tasks are minimised (shared where possible) to keep tick time low on busy PvP servers.
- 🗺️ Modesets: ship different rules for different worlds or players; perfect for mixed PvP/PvE, minigames, or duels.
- ⏪ Backwards‑friendly: runs on Java 8+, supports 1.9 to latest; integrates cleanly with PlaceholderAPI and PacketEvents.
- ✅ Tested for you: live integration tests run real Paper servers across multiple versions every build.
- 💸 Zero cost: fully open source, optional basic telemetry (bStats only), no paywalls.
Quick start ⚡
- Drop the jar into
plugins/(Spigot or Paper-derivatives 1.9+). - Restart and edit
config.ymlto pick your modules and modesets. - Use
/ocm reloadto apply changes instantly. - Hand players
/ocm modeset <name>to let them choose their ruleset.
🧰 Modesets
- Per-player/per-world presets that decide which features are active; each world has an allowed list and a default modeset.
- Let players pick (
/ocm modeset <name>) to run, for example, 1.8-style PvP in an arena world whilst keeping vanilla rules in survival.
⚙ Configurable Features
Features are grouped in modules as listed below, and can be individually configured and disabled. Disabled modules will have no impact on server performance.
⚔ Combat
Tweak timing, damage, and reach.
- Attack cooldown: adjust or remove 1.9+ cooldown
- Attack frequency: set global hit delay
- Tool damage: pre-1.9 weapon values
- Attack range (Paper 1.21.11+): 1.8-style reach
- Critical hits: control crit multiplier
- Player regen: tune regen rates
🤺 Armour
Balance defence and wear.
- Armour strength: scale armour protection
- Armour durability: change durability loss
🛡 Swords & Shields
Control block and sweep behaviour.
- Sword blocking: restore old right-click block; on Paper 1.21.2+ we also add the native sword blocking animation via the consumable component
- Shield damage reduction: scale shield protection
- Sword sweep: enable or disable sweeps
- Sword sweep particles: hide or show sweep visuals
🌬 Knockback
Shape knockback per source.
- Player knockback: adjust PvP knockback
- Fishing knockback: fishing-rod knockback
- Fishing rod velocity: pull speed
- Projectile knockback: arrows and other projectiles
🧙 Gapples & Potions
Change consumable power.
- Golden apple crafting and effects: notch and normal
- Potion effects and duration: old-style values
- Chorus fruit: teleport behaviour and range
❌ New feature disabling
Toggle later-version mechanics.
- Item crafting: block selected recipes
- Offhand: disable offhand use
- New attack sounds: mute new swing sounds
- Enderpearl cooldown: enable or remove cooldown
- Brewing stand refuel: alter fuel use
- Burn delay: adjust fire tick delay
🔌 Compatibility & Testing
- OCM targets Spigot 1.9+ and runs on Java 8 and up.
- We stick to Spigot/Paper APIs for forward compatibility; NMS/reflection is used only when necessary.
- Integration tests boot real servers on 1.9.4, 1.12, 1.19.2, and 1.21.11 each build to verify behaviour.
- Most plugins work fine with OCM. Explicitly tested integrations include PlaceholderAPI (see wiki).
🧾 Licence
- Source code in the GitHub repository is under the Mozilla Public License 2.0 (MPL‑2.0).
- Pre-built jars bundle PacketEvents (GPLv3). Those binary distributions are provided under GPLv3 terms due to the included dependency.
- If you build a jar without PacketEvents, you may distribute that build under MPL‑2.0, subject to its terms.
⚡ Development Builds
Oftentimes a particular bug fix or feature has already been implemented, but a new version of OCM has not been released yet.
If you are looking for the newest changes, use the Snapshot channel on this page, or check GitHub Actions: https://github.com/kernitus/BukkitOldCombatMechanics/actions
🤝 Contributions
If you are interested in contributing, please check this page first.