Reliable Replacer
A lightweight utility for replacing one block with another, both during worldgen and afterward. This mod allows modpack creators to effortlessly ban items or restrict their usage using standard JSON files, without the need for complex scripts.
What About Block Swap?
I'm glad you asked! I made Reliable Replacer because of some of my personal frustrations with Block Swap. Here are some reasons to consider switching!
Why Reliable Replacer?
- Reliable Replacer is frequently updated and supports the latest versions, while as of the time of writing this, Block Swap is stuck on 1.20.1.
- Live config reloading! Run
/reloadand see your changes instantly take place. - Reliable Replacer is fully server-side, so it's compatible with Vanilla clients!
- Advanced filtering:
- Filter swaps by biome, dimensions, placed feature, coordinates, or structure!
- Toggle retrogen on or off per rule.
- Toggle player placement replacing per rule.
- Much more flexible configuration, supporting simple JSON configuration in user-defined folders and integrating with Cloth Config.
- Per-rule toggleable persistence:
- Decide if replacement blocks should inherit the properties of the old block.
- Doesn't require any external libraries.
Migrating From Block Swap
Making the switch is easy! Reliable Replacer supports a legacy format designed to work exactly like Block Swap's configuration.
When you first launch the game with Reliable Replacer installed, a swapper.json file will be automatically generated
in your config/reliable_replacer folder. This file uses a simple key-value pair format identical to Block Swap.
To migrate, simply copy the "swapper" block from your old configuration into this file:
{
"swapper": {
"oreganized:lead_door": "supplementaries:netherite_door",
"farmersdelight:rope": "supplementaries:rope",
"minecraft:dirt": "minecraft:stone",
...
}
}
Note: Rules defined in swapper.json automatically inherit default settings (retrogen enabled, replace on player
placement, etc.). For more advanced control, use the standard rule format.
Features
A full feature list is available on the Modded Minecraft Wiki.
For information and examples on how to use the mod, please also refer to the wiki.
Quick-Start Example
Create a file called my_replacement.json, or whatever else you'd like, in config\reliable_replacer:
[
{
"inputs": [
"minecraft:dirt"
],
"output": "minecraft:diamond_block",
"biomes": [
"minecraft:plains"
],
"min_y": "-30",
"max_y": "64",
"player_blocks": "true",
"keep_nbt": "true"
},
{
"inputs": [
"minecraft:stone"
],
"output": "minecraft:gold_ore"
}
]
License
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 |
- Performance improvements.
- Performance improvements.
- Performance improvements.
- Performance improvements.
- Performance improvements.
- Performance improvements.
- Performance improvements.
- Performance improvements.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Ported to 26.3.
- 26.x is now up to date with the 1.21.1 version.
- Tweaked default structure bounding boxes for jungle temples and desert pyramids.
- JSON rule parsing is now much more lenient.
- Tweaked default structure bounding boxes for jungle temples and desert pyramids.
- JSON rule parsing is now much more lenient.
- Small tweak to how structure bounding boxes are evaluated.
- Small tweak to how structure bounding boxes are evaluated.
- Added
radius,biome_radius,feature_radiusandstructure_radiusfor filters. - Added
featureto filter replacements by placed feature type. - Neighboring block checks now support block arrays, tags (
#tag), and wildcards. - Support for direction keywords in neighbor checks (
any,all,sides/horizontal,all_sides/all_horizontal). - Added config option to globally disable retrogen.
### Changed
- Improved rule parsing to be more forgiving with key names.
- Improve structure filtering.
- Code cleanups.
### Fixed
- Fixed
structuresfilters being ignored for blocks placed during world generation. - Fixed structure filters matching the whole structure bounding box on live placement instead of its individual pieces.
- Fixed issues with retrogen (thanks, @tazer!).
- Performance improvements.
- Added
radius,biome_radius,feature_radiusandstructure_radiusfor filters. - Added
featureto filter replacements by placed feature type. - Neighboring block checks now support block arrays, tags (
#tag), and wildcards. - Support for direction keywords in neighbor checks (
any,all,sides/horizontal,all_sides/all_horizontal). - Added config option to globally disable retrogen.
### Changed
- Improved rule parsing to be more forgiving with key names.
- Improve structure filtering.
- Code cleanups.
### Fixed
- Fixed
structuresfilters being ignored for blocks placed during world generation. - Fixed structure filters matching the whole structure bounding box on live placement instead of its individual pieces.
- Fixed issues with retrogen (thanks, @tazer!).
- Performance improvements.
- Added
radius,biome_radius,feature_radiusandstructure_radiusfor filters. - Added
featureto filter replacements by placed feature type.
### Changed
- Improved rule parsing to be more forgiving with key names.
- Code cleanups.
- Improve structure filtering.
- Added
radius,biome_radius,feature_radiusandstructure_radiusfor filters. - Added
featureto filter replacements by placed feature type.
### Changed
- Improved rule parsing to be more forgiving with key names.
- Code cleanups.
- Improve structure filtering.
- Fixed issues with retrogen (thanks, @tazer!).
- Performance improvements.
- Fixed issues with retrogen (thanks, @tazer!).
- Performance improvements.
- Support for direction keywords in neighbor checks (
any,all,sides/horizontal,all_sides/all_horizontal). - Added config option to globally disable retrogen.
### Changed
- Switched from YACL to Cloth Config.
### Fixed
- Performance improvements.
- Support for direction keywords in neighbor checks (
any,all,sides/horizontal,all_sides/all_horizontal). - Added config option to globally disable retrogen.
### Changed
- Switched from YACL to Cloth Config.
### Fixed
- Performance improvements.
- Neighboring block checks now support arrays and tags.
- Neighboring block checks now support arrays and tags.