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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://b-setups.gitbook.io/b.-setups/information/switching-to-old-combat-mechanics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
