Compatibility
Minecraft: Java Edition
Platforms
Links
Creators
Details
CancelBlockUpdate
CancelBlockUpdate is a Bukkit-compatible plugin that suppresses selected block updates on a per-world basis.
这是一个 Bukkit 兼容的方块更新抑制插件,支持按世界开启或关闭指定方块的更新抑制,适配 Multiverse 多世界场景,并使用 Bukkit 权限节点兼容 LuckPerms。
Compatibility
- Minecraft
1.20.xthrough current26.xservers. - Bukkit / CraftBukkit-compatible servers.
- Paper and Purpur servers.
- Plugin
api-versionis1.20so older supported servers do not reject the plugin at load time. - Built against the Spigot/Bukkit
1.20API and Java17bytecode. Run the server with the Java version required by that server release.
The latest Paper release checked while updating this plugin was 26.1.2.
Features
- Per-world block update control.
- Multiverse-compatible world handling through Bukkit world names.
- LuckPerms-compatible permissions through standard Bukkit permission nodes.
/cbucommand prefix with tab completion.- Runtime reload for config and locale files.
- Configurable chat message prefix.
- 10 bundled i18n files under
locals/. - Player messages follow the player's Minecraft client language when a bundled locale matches.
- Console messages default to English.
- Configurable suppressed block material list.
- Efficient suppression lookup using a material set and early per-world checks.
Installation
- Build the plugin jar.
- Copy
build/libs/CancelBlockUpdate-1.1.0.jarinto your server'splugins/directory. - Restart the server.
- Edit
plugins/CancelBlockUpdate/config.ymlas needed. - Run
/cbu reloadafter editing config or locale files.
Commands
| Command | Permission | Description |
|---|---|---|
/cbu help |
cbu.help |
Show command help. |
/cbu reload |
cbu.reload |
Reload config and locale files. |
/cbu world enable |
cbu.world |
Enable normal block updates in the executor's current world. Player-only. |
/cbu world disable |
cbu.world |
Disable configured block updates in the executor's current world. Player-only. |
/cbu block add <ID> |
cbu.block.add |
Add a block material id to the suppressed block list. Extra arguments after <ID> are ignored. |
/cbu block add |
cbu.block.add |
Add the non-air block the player is looking at. Player-only. |
Material IDs may use Bukkit material names, lower-case names, hyphenated names, or a minecraft: namespace, for example:
GRASS_BLOCK
sand
minecraft:redstone_wire
Permissions
| Permission | Default | Description |
|---|---|---|
cbu.admin |
op |
Grants all plugin permissions. |
cbu.help |
op |
Allows /cbu help. |
cbu.reload |
op |
Allows /cbu reload. |
cbu.world |
op |
Allows /cbu world enable and /cbu world disable. |
cbu.block.add |
op |
Allows /cbu block add. |
LuckPerms can manage these nodes directly.
Configuration
Default config.yml:
messages:
prefix: "&bCBU &7>> &r"
default-block-updates-enabled: true
max-target-distance: 8
suppressed-blocks:
- GRASS_BLOCK
worlds: {}
Example per-world configuration:
worlds:
world:
block-updates-enabled: false
world_nether:
block-updates-enabled: true
block-updates-enabled: false means updates for materials in suppressed-blocks will be cancelled in that world.
Config Tolerance
The plugin tolerates common manual edit mistakes, but it is not a full config repair tool:
- If
config.ymlis malformed YAML on startup, bundled defaults are used and a warning is logged. - If
config.ymlbecomes malformed during/cbu reload, the previous valid settings are kept and a warning is logged. - Boolean strings such as
true,false,on, andoffare accepted. suppressed-blocksmay be a YAML list or a single comma-separated string.worlds.<name>: falseis accepted as a shorthand forworlds.<name>.block-updates-enabled: false.- Invalid material ids and wrong value types are logged and ignored or replaced by defaults.
Locale Files
Locale files are copied to:
plugins/CancelBlockUpdate/locals/
Bundled locales:
en_US.ymlzh_CN.ymlzh_TW.ymles_ES.ymlfr_FR.ymlde_DE.ymlpt_BR.ymlru_RU.ymlja_JP.ymlko_KR.yml
The locale matcher accepts exact bundled locales and language-level fallbacks. For example, es_mx falls back to es_ES, pt_pt falls back to pt_BR, Simplified Chinese locales use zh_CN, and Traditional Chinese locales such as zh_tw, zh_hk, zh_mo, and zh_hant use zh_TW.


