> For the complete documentation index, see [llms.txt](https://b-setups.gitbook.io/b.-setups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b-setups.gitbook.io/b.-setups/information/switching-to-old-combat-mechanics.md).

# Switching to Old Combat Mechanics

**OldCombatMechanics (OCM)** restores pre-1.9 (1.8) PvP: no attack cooldown, old knockback, sword blocking, old golden apples, and more. It is modular, so you choose exactly what to enable.

***

### 1. Download

1. Open the plugin page: <https://hangar.papermc.io/kernitus/OldCombatMechanics>
2. Click **Download**.

### 2. Install

1. Put `OldCombatMechanics.jar` into the server's **`plugins`** folder.
2. Fully restart the server (not `/reload`).
3. The config is created at:

```
plugins/OldCombatMechanics/config.yml
```

### 3. How it works

OCM sorts modules into three places:

| Section                  | Meaning                                                               |
| ------------------------ | --------------------------------------------------------------------- |
| `always_enabled_modules` | Always on, for every player, regardless of modeset.                   |
| `disabled_modules`       | Always off.                                                           |
| `modesets`               | Module bundles that a player can **switch between** with `/ocm mode`. |

There are two default modesets: **`old`** (full 1.8 PvP) and **`new`** (1.9+). The `worlds` section decides which modesets are available in each world, and **the first one in the list is the default**.

So to force 1.8 on everyone with no way back: **leave only the `old` modeset available**.

### 4. Force 1.8 combat for the whole server

Open `plugins/OldCombatMechanics/config.yml`.

#### 4.1. Make `old` the only available modeset

Find the `worlds` section and set `__default__` to only `old`:

```yaml
worlds:
  __default__: [ "old" ]
```

This means:

* `old` is the only modeset in every world,
* it is applied automatically to every player who joins,
* there is no `new` modeset left to switch to.

> If you have a specific world that needs it too, list it the same way:
>
> ```yaml
> worlds:
>   __default__: [ "old" ]
>   my_world: [ "old" ]
> ```

#### 4.2. Stop players from changing the modeset

The modeset commands (`/ocm mode ...`) are **op-only by default**. Do **not** give OldCombatMechanics permissions to normal players.&#x20;

After step 4.1 there is only one modeset anyway, and switching is op-only, so players have no way to turn 1.8 combat off to gain advantages.

#### 4.3. Apply

Run `/ocm reload` or restart the server.

### 5. What the `old` modeset enables

These turn on for everyone under `old`:

| Module                    | Effect                               |
| ------------------------- | ------------------------------------ |
| `disable-attack-cooldown` | No 1.9 attack cooldown (spam click). |
| `disable-sword-sweep`     | No sweep attack.                     |
| `old-tool-damage`         | 1.8 weapon damage values.            |
| `sword-blocking`          | Block with a sword (right click).    |
| `shield-damage-reduction` | 1.8 shield reduction.                |
| `old-golden-apples`       | 1.8 golden apple effects + crafting. |
| `old-player-knockback`    | 1.8 knockback.                       |
| `old-player-regen`        | 1.8 health regen.                    |
| `old-armour-strength`     | 1.8 armour calculation.              |
| `old-potion-effects`      | 1.8 potion durations/strength.       |
| `old-critical-hits`       | 1.8 crits (works while sprinting).   |

To enable/disable a single module, move its name between the `old` modeset list and the `disabled_modules` list.

### 6. Commands & permissions

| Command                        | Description               |
| ------------------------------ | ------------------------- |
| `/ocm reload`                  | Reload the config.        |
| `/ocm mode <modeset> [player]` | Switch modeset (op only). |

| Permission                      | Default | Note                                            |
| ------------------------------- | ------- | ----------------------------------------------- |
| `oldcombatmechanics.commands`   | op      | Use OCM commands.                               |
| `oldcombatmechanics.mode.own`   | op      | Switch own modeset                              |
| `oldcombatmechanics.swordblock` | op      | Only matters if you set `use-permission: true`. |

### 7. Verify

1. Join with a **non-op** test account.
2. Hit a mob or player: no cooldown, 1.8-style knockback.
3. Right click with a sword: blocking works.

If all of that checks out, the server is fully on 1.8 combat.
