This, Not That
A Minecraft mod that allows replacing blocks and items from missing mods with alternative options from other mods.
Compatible with Minecraft 1.17.1 and Fabric loader.
Problem and Solution
Imagine a situation: you're playing a modpack that uses AnnoyingTechMod, but over time decide to switch to FunTechMod without wanting to start a new world from scratch.
Traditional solutions:
- Simply add the new mod and hope for compatibility
- Remove the old mod and accept "holes" in world generation
- Use WorldEdit for manual block replacement
- Wait for MC Edit update
- Use This, Not That for automatic replacement
The first two methods often force players to explore new chunks to find needed generation. WorldEdit may crash when working with large worlds or work very slowly.
How the Mod Works
This, Not That replaces blocks and items from AnnoyingTechMod with equivalents from FunTechMod as world chunks load. This means the world updates right during gameplay!
You specify replacement pairs: block/item names from the old mod (e.g., "annoying_tech:tin_ore", "annoying_tech:tin_ingot") and corresponding names from the new mod ("fun_tech:tin_ore", "fun_tech:tin_ingot"). You can even replace dissimilar objects - if AnnoyingTechMod had "annoying_tech:agate" and FunTech has "fun_tech:garnet", you can configure such replacement.
Automatic Configuration Generation
The mod includes a command for automatic replacement configuration file creation:
/this_not_that generate <Mod-Id> [Preferred-Replacement-Mod-Id]
This command creates a configuration file this_not_that.<Mod-Id>.json in the config directory. Replacements are selected based on maximum match of tags and object names. The [Preferred-Replacement-Mod-Id] parameter is optional and doesn't guarantee selection of a specific mod.
Important Features
- Cannot replace objects that exist in installed mods (or vanilla game)
- Only standard versions of objects are replaced
- Cannot replace BlockEntities in the world, but usually can replace their item versions
- Replacement search works in vanilla chests, barrels, hoppers and similar mod storages
- When replacing damaged items, proportional damage is transferred to the new item
- Custom item names are preserved during replacement
- When replacing enchanted items, only compatible enchantments are transferred
- Replacement of ItemBlocks for all specified blocks is configurable
- Replacement of items in player inventory and ender chest is also configurable
- Replacement occurs when chunks load, so large replacement lists may be noticeable
- Generation command requires the replaced mod to be installed
- Modpacks that modify tags for better unification may affect generation command operation
- Generation command results are presumptive matches, better to verify them before use
- Always create world backups before applying the mod
Configuration example available at: https:/gitlab.com/thor12022/this-not-that/-/snippets/2183686