HomeJavaModsKeep Illegal Blocks
Keep Illegal Blocks
ModsJava

Keep Illegal Blocks

by Atrimilan · on Modrinth

Prevent illegal blocks from breaking or being updated when a player interacts with an adjacent block. Free Minecraft Java mod for 1.20.6, 1.21, 1.21.1.

⬇ Download on Modrinth
Keep Illegal Blocks — screenshot 1Keep Illegal Blocks — screenshot 2Keep Illegal Blocks — screenshot 3Keep Illegal Blocks — screenshot 4Keep Illegal Blocks — screenshot 5Keep Illegal Blocks — screenshot 6Keep Illegal Blocks — screenshot 7Keep Illegal Blocks — screenshot 8

Keep Illegal Blocks

KIB is a Paper plugin that prevents illegal blocks from breaking when a player interacts with an adjacent block.

with_kib without_kib
🖼️ Click to see more examples

There you go 😎:

chairs_ezgif rail_ezgif copper_slabs_ezgif
drawbridge_ezgif lantern_ezgif end_portal_frame_ezgif
grave_ezgif cauldron_ezgif gate_ezgif

So what's the point?

A "reactive block" is a block that naturally updates or breaks due to Minecraft physics when an adjacent block is modified. When using tools like a Debug Stick or plugins such as WorldEdit or Axiom, you can place a reactive block in a way the game's physics would not normally allow. However, if an adjacent block is updated, the reactive block will either break or reset to its natural state.

An "interactable block" is a block that a player can directly interact with by right-clicking. If reactive blocks are adjacent to an interactable block, they may break or update when the interactable is used.

When a reactive block breaks or updates, adjacent reactive blocks can be affected too, causing a chain reaction.

→ This plugin fixes this behavior by restoring broken or updated reactive blocks.


🔵 List of reactive material categories

List of reactive material categories that are automatically restored by KIB when broken or updated:

🔴 List of interactable material categories

List of interactable material categories recorded by KIB:

🤔 Here are a few examples

NOTE - KIB does not support underwater restorations. This is why seagrass and kelp are not included in the reactive material list.

WARNING - Even after being restored by KIB, some reactive blocks will still update naturally, such as cactus breaking as they grow, or coral dying when not waterlogged. This is the default behavior of the game, KIB will NOT prevent this, even if they were initially placed using plugins like WorldEdit or Axiom (which rely on advanced chunk management systems).


Why would I need it?

This may seem niche, but it can be very useful for specific builds made using plugins like WorldEdit or Axiom, especially when using custom resource packs that significantly change block textures and models.

This may also interest you if other players come onto your map and are likely to interact with your builds and break everything accidentally... 😅


How do I configure?

In your server directory, you can edit ./plugins/KeepIllegalBlocks/config.yml to:

To reload your configuration, use the /kib reload command (it requires the kib.reload permission for a non-op player).


Can the restoration be any smoother?

Yes, PacketEvents is highly recommended to improve client-side rendering and performance.

It is automatically detected by KIB, and it is used to tweak network packets and make restorations completely transparent by canceling reactive block break sounds and particles, as well as hiding flickering during restoration.

To find out which version of PacketEvents is recommended, check the “Dependencies” section for the version of KIB you want to install.


FAQ

Why doesn't KIB restore my blocks when I break an adjacent block?

KIB does not trigger when you break blocks manually (left-click); it only restores blocks that were accidentally broken as a result of an interaction (right-click). This could be an improvement area, but I don't have time to work on it at the moment. However, Axiom has a "No update" feature for this use case.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more