Overview#
Forge Creeper Heal is an essential anti-griefing and world-maintenance utility designed to preserve the aesthetic integrity of Minecraft worlds without removing the challenge of combat. Inspired by the classic Bukkit plugin CreeperHeal, this mod monitors explosions from various sources—including Creepers, TNT, Ghasts, and Withers—and systematically repairs the resulting damage over time.
Unlike simple 'no-explosion' mods, Forge Creeper Heal allows the initial destruction to occur, maintaining the visual impact and danger of an explosion, before beginning a phased reconstruction process. This makes it ideal for survival servers and builders who want to keep the excitement of mob encounters without the tedious cleanup of cratered landscapes.
Core Mechanics#
The mod operates by intercepting the explosion event before blocks are converted into item drops. It records the exact state, orientation, and NBT data (for containers) of every block within the blast radius.
The Healing Process
- Capture: When an explosion occurs, the mod identifies all affected blocks.
- Removal: Blocks are removed from the world. By default, they do not drop as items to prevent inventory clutter and lag.
- Delay: The mod waits for a configurable period (defined by
minTickStartandmaxTickStart). - Reconstruction: Blocks are placed back into the world one by one at a randomized rate. This creates a 'natural' healing effect where the terrain slowly knits itself back together.
Container Handling
One of the mod's most powerful features is its ability to restore containers like Chests, Shulker Boxes, and Barrels. Depending on the configuration, the mod can either drop the contents on the ground or 'remember' the items and restore them inside the container once it is repaired.
Configuration#
The configuration file is located at /config/forgecreeperheal.cfg. It uses the JSON format, requiring strict adherence to syntax for changes to take effect. Note: Changes to the configuration only apply to explosions that occur after the settings are saved.
Healing Timings
These settings determine how long the world stays damaged and how fast it repairs.
| Setting | Default Value | Description |
|---|---|---|
minTickStart |
6000 | Minimum ticks (approx. 5 mins) before the first block is restored. |
maxTickStart |
12000 | Maximum ticks (approx. 10 mins) before the first block is restored. |
minTick |
0 | Minimum ticks between individual block repairs. |
maxTick |
200 | Maximum ticks between individual block repairs. |
Block Overrides
These settings handle conflicts when a player or fluid occupies the space of a destroyed block before it can heal.
| Setting | Default Value | Description |
|---|---|---|
overrideBlock |
false | If true, the healed block will replace any block a player placed in that spot. |
overrideFluid |
true | If true, the healed block will displace water or lava that flowed into the crater. |
dropIfCollision |
true | If overrideBlock is false, the block that was supposed to heal will drop as an item instead. |
Containers
| Setting | Default Value | Description |
|---|---|---|
dropItems |
false | If false, items inside a chest are restored with the chest. If true, items drop normally. |
Advanced Filtering#
The mod allows for precise control over which blocks are affected by the healing logic and which entities are allowed to trigger it.
Exception Lists
- removeException: Blocks in this list are not removed by the mod during an explosion. They will behave like vanilla Minecraft blocks (dropping as items or being destroyed). Warning: Removing
minecraft:tntfrom this list will disable TNT chain reactions, as the mod will 'capture' the TNT before it can ignite its neighbors. - healException: Blocks in this list will be removed by the explosion but will never be restored. Use this for blocks you want to remain permanently destroyed.
- sourceException: This list filters the cause of the explosion. It requires the Java canonical class name of the entity. For example, adding
net.minecraft.world.entity.monster.Creeperwould prevent the mod from healing damage caused specifically by Creepers.
Commands#
Administrators can manage the healing process in real-time using the following commands:
/fch config reload: Reloads the configuration file from the disk./fch heal all: Immediately repairs all pending explosions across all dimensions./fch heal all me: Repairs all pending explosions in the player's current dimension./fch heal all <dimension_id>: Repairs all pending explosions in the specified dimension./fch profiler (enable|disable): Toggles the performance profiler to monitor memory usage and processing time.
Technical Details#
Forge Creeper Heal is designed to be lightweight. It uses a tick-based scheduling system to ensure that block restoration does not cause server-side TPS (Ticks Per Second) drops.
- Tick Conversion: 20 ticks = 1 second.
- Default Start: 6000 ticks = 5 minutes.
- Full Cycle: By default, a full repair cycle typically completes within half a Minecraft day (12,000 ticks).