- When attempting to place the corresponding partner of a double chest block, check if that block is already placed before attempting to place it.
Please make sure to report any issues or make suggestions in the issue tracker.
- The
explosion_sources
andexplosion_item_drops
setting categories have been reworked. The original settings have been replaced by new settings that correspond to Minecraft's own explosion source types. This was done in order to increase compatibility with modded explosions. You will find now find settings that correspond to the following source types:mob
,tnt
,block
,triggered
, andother
. In addition, both setting categories have a new blacklist setting, where you can add mob identifiers to make explosion source types coming from those mobs to not heal or to not drop items. - ExplosionManagers now expose an ID that you can use to emit
ExplosionContext
instances to. This makes it easier for other mods to register and use new ExplosionManagers to allow support for entirely custom explosions. - Miscellaneous API and internal changes.
- Updated the Fabric Loader and Fabric API dependencies.
Please make sure to report any issues or make suggestions in the issue tracker.
- No longer heal nether portal, end portal and end gateway blocks.
- Include logical client side checks in Explosion.mixin for safety by Aurora.
Please make sure to report any issues or make suggestions in the issue tracker.
- Fix shulker box blocks not being properly excluded from the mod's features.
Please make sure to report any issues or make suggestions in the issue tracker.
- Optimized the retrieval of indirectly affected positions, resulting in considerable faster performance, especially noticeable when multiple explosions happen on the same tick.
- The max recursion depth for obtaining indirectly affected positions is now the same as vanilla's max depth for block updates (512).
Please make sure to report any issues or make suggestions in the issue tracker.
Warning
This version of the mod will invalidate your current scheduled-creeper.json
file, meaning that after updating the mod, any currently stored explosions will be lost.
Changelog
- Updated to 1.21.
- Added support for indirect block healing: The mod will now be capable of healing blocks which were indirectly destroyed by explosions. For example, a torch whose support block was destroyed will now be taken into account. A column of signs will now be healed if an explosion destroys one of the supporting sign blocks. The mod will be able to heal indirectly exploded blocks up to a maximum of 100 blocks starting from the supporting block and counting down as it encounters more connected blocks.
- Block placement particles: A new feature to spawn cloud particles above a block placement has been added. A new configuration setting, called
block_placement_particles
, has been added to thepreferences
section of the config file and config commands. This setting istrue
by default. - The mod will now heal both halves of a chest at the same time.
- Item drops for creeper explosions is now disabled by default: Courtesy of hiisuuii.
- The mod's logo has been updated: Courtesy of Swanslab.
- The mod now depends on a new mod library called Monkey Config: The internal configuration system has been migrated to this library. Note that Monkey Config has a dependency on Fabric Language Kotlin.
- Major internal refactor: To make the mod more extendable and to function as an API for other mods to use to make additions to Creeper Healing.
Please make sure to report any issues or make suggestions in the issue tracker.
Warning
This version of the mod will invalidate your current scheduled-creeper.json
file, meaning that after updating the mod, any currently stored explosions will be lost.
Changelog
This update contains a major rework of the mod's internal configuration system. All of these changes are at the code level and will not change how you currently use the configuration system. Furthermore, the following features and changes have been made:
- Added three new preference settings:
restore_block_nbt
: This new setting will save the block's NBT data (such as inventories) and subsequently restore it upon healing. When a block with NBT data is destroyed by an explosion and it is to be healed, the block itself (such as the chest or furnace) will not drop as an item, so as to avoid duplication of the chest. This does not necessarily mean that surrounding blocks won't drop their items when exploded. This option is disabled by default.force_blocks_with_nbt_to_always_heal
: This setting makes it so that blocks with NBT data destroyed from explosions that will be healed always heal, regardless of whether this block is mapped to another block in the replace map, or whether there is a block at the position where the block with NBT will try to be healed at. This option should be enabled alongsiderestore_block_nbt
to ensure that inventories of blocks like chests always end up restored. This option is disabled by default.make_falling_blocks_fall
: This setting makes it so that blocks affected by gravity do not fall upon being healed, unless triggered by a neighbor update, which can include the healing of blocks adjacent to the gravity affected block.
- The serialization of explosions will now use compressed JSON instead of regular JSON.
- Updated the Fabric Loader dependency to 0.15.10.
- An internal, non user-modifiable list of excluded blocks has been hard-coded into the mod's mechanics to exclude certain blocks from being affected by the mechanics of this mod. As of the release of this update, it only includes Shulker Boxes, This is because shulker boxes always drop their item with the inventory contained within it, making the restoration of Shulker boxes unnecessary. Furthermore, attempting to integrate them proved to be troubling due to their unique behavior regarding the dropping of items when destroyed.
- Corresponding commands to edit the newly added preference settings have been added.
- Made it so that, if an explosion cannot be healed, then force all blocks affected by that explosion to drop their items, regardless of the user defined settings.
Please make sure to report any issues or make suggestions in the issue tracker or in the Discord server.
Warning
This version of the mod will invalidate your current scheduled-explosions.json
file, meaning that after updating the mod, any currently stored explosions will be lost.
Changelog
This update includes a major refactor of the mod's code-base, with several minor optimizations.
- Removed the settings
heal_on_flowing_water
,heal_on_source_water
,heal_on_flowing_lava
andheal_on_source_lava
. Whether a block can be healed at a location will now act identically to whether a player would be able to place a block at that location. This includes liquids, grass, etc. The goal of removing these options is to simplify the configuration of the mod and make its behavior more consistent with Minecraft's own block placement rules. - Unused config setting keys will now be automatically removed.
- Explosions healed with the daytime healing mode will now react to the usage of the
/time add
and/time set
commands, where they will recalculate their timers based on the remaining ticks until the next morning. - Updated Fabric Loader version requirement to 0.15.6.
Please make sure to report any issues or make suggestions in the issue tracker or in the Discord server.
- Fix crash when attempting to use the mod with Lithium.
Please make sure to report any issues or make suggestions in the issue tracker or in the Discord server.
This is a straightforward port of the mod to support Minecraft versions 1.20.3 and 1.20.4. The 1.19.4 version is now depracated and will no longer be updated by myself.
Please make sure to report any issues or make suggestions in the issue tracker or in the Discord server.
-
Added two new preference settings:
- "heal_on_source_water": Whether blocks should be healed where there is currently a source water block. False by default.
- "heal_on_source_lava": Whether blocks should be healed where there is currently a source lava block. False by default.
-
A new configuration category, named "explosion_item_drops" has been added, along with its corresponding command sub-category, to individually configure whether items should be dropped from certain explosion sources. All of these settings are enabled by default.
-
Added two new explosion sources: "heal_bed_and_respawn_anchor_explosions" and "heal_end_crystal_explosions", both false by default.
-
The preference command settings "block_placement_delay" and "explosion_heal_delay" have been moved out of the "preferences" sub-command category, and moved into their own "delays" category, to better match the configuration file.
-
Explosions will no longer heal fire or soul fire under any circumstances.
-
Explosions will now always heal blocks where there is currently fire or soul fire.
-
Fixed attachable blocks such as torches or rails dropping their items after an explosion, even that explosion was configured to not drop items.
Please make sure to report any issues or make suggestions in the issue tracker or in the Discord server.
- Added new optional whitelist configuration feature, which allows you to specify what blocks should be healed in an explosion:
- You will now find a new configuration section above the replace map to customize the whitelist. To add entries to the whitelist, you can add a string containing the block's namespace and identifier separated by a colon to the array, like shown in the example below. Separate each entry with a comma.
#Use an optional whitelist to customize which blocks are allowed to heal. To add an entry, specify the block's namespace
#along with its identifier, separated by a colon, and add it in-between the square brackets below. Separate each entry with a comma.
#Example entries:
#whitelist_entries = ["minecraft:grass", "minecraft:stone", "minecraft:sand"]
[whitelist]
whitelist_entries = ["minecraft:placeholder"]
- Added new "enable_whitelist" preference to toggle the usage of the whitelist. It is disabled by default
#(Default = false) Enable or disable the usage of the whitelist
enable_whitelist = false
-
Renamed "settings" sub-command category to "preferences".
-
Moved "reload" command to outside the "preferences" sub-command category and renamed it to "reload_config".
Please make sure to report any issues or make suggestions in the issue tracker or in the Discord server.