CancelBlockUpdate

Per-world block update suppression plugin for Paper servers, with Multiverse support, LuckPerms-compatible permissions, YAML config, i18n, and /cbu commands.

2

CancelBlockUpdate

CancelBlockUpdate

CancelBlockUpdate is a Paper server plugin that lets administrators suppress selected block updates on a per-world basis.

It is designed for servers that need finer control over block physics, block spread, fluid movement, redstone updates, piston movement, and other common update-related mechanics without globally affecting every world.

Features

- Per-world block update control - Suppress updates only for configured block types - Compatible with Multiverse-style multi-world servers - LuckPerms-compatible permission nodes - YAML configuration - `/cbu` command system - Smart tab completion - Runtime reload support - Configurable chat message prefix - English and Chinese language files - Player messages follow the player's Minecraft client language - Console messages default to English

Requirements

- Paper `26.1.1` - Java `25`

Optional integrations:

- Multiverse-Core - LuckPerms

CancelBlockUpdate does not require Multiverse-Core or LuckPerms to run, but it is designed to work cleanly alongside them.

How It Works

The plugin keeps normal block updates enabled by default.

When you run:

```text /cbu world disable ```

the current world will start suppressing updates for the block types listed in the configuration.

When you run:

```text /cbu world enable ```

the current world returns to normal block update behavior.

This means you can disable selected block updates in one world while leaving other worlds untouched.

Commands

| Command | Description | | --- | --- | | `/cbu help` | Shows the command help menu. | | `/cbu reload` | Reloads the config and locale files. | | `/cbu world disable` | Disables configured block updates in your current world. | | `/cbu world enable` | Enables normal block updates in your current world. | | `/cbu block add <ID>` | Adds a block material ID to the suppression list. | | `/cbu block add` | Adds the non-air block you are looking at. |

Examples:

```text /cbu block add GRASS_BLOCK /cbu block add SAND /cbu block add REDSTONE_WIRE /cbu world disable ```

Permissions

| Permission | Description | | --- | --- | | `cbu.admin` | Grants all CancelBlockUpdate permissions. | | `cbu.help` | Allows `/cbu help`. | | `cbu.reload` | Allows `/cbu reload`. | | `cbu.world` | Allows `/cbu world enable` and `/cbu world disable`. | | `cbu.block.add` | Allows `/cbu block add`. |

All permissions use Bukkit's standard permission system, so they can be managed directly through LuckPerms.

Configuration

Default config:

```yaml messages: prefix: "&bCBU &7>> &r"

default-block-updates-enabled: true max-target-distance: 8

suppressed-blocks: - GRASS_BLOCK

worlds: {} ```

Example world configuration:

```yaml worlds: world: block-updates-enabled: false world_nether: block-updates-enabled: true ```

`block-updates-enabled: false` means configured block updates will be cancelled in that world.

Locale Support

Locale files are stored in:

```text plugins/CancelBlockUpdate/locals/ ```

Included languages:

- `en_US.yml` - `zh_CN.yml`

Chinese clients receive Chinese messages. Other clients and the console use English fallback messages.

Notes

CancelBlockUpdate targets common block update paths exposed through the Paper/Bukkit API, including physics, spread, growth, fading, forming, fluid flow, piston movement, redstone current changes, leaf decay, burning, and entity-driven block changes.

Some very specific internal Minecraft update behavior may depend on what the server exposes through events.

ADS