# Module Extension

## Description

Module Extensions extend existing modules by adding or overriding properties. Extensions are loaded from `mod-id:miapi/module-extensions/any-path-and-file-name.json`.## Examples### Module Extension```json5{	id: 'miapi:super_blade',	merge: {		//merges together, if it already has durability, it will be added together		material: 'miapi:metal/netherite',		durability: 2000	},	remove: [		//these properties will be fully removed from the module		'material_indication',		'model'	],	replace: {		//these properties will be replaced, ignoring previously existing data		tag: ['gem_armor', 'gem_armor_medium', 'gem_armor_generic', 'gem_armor_medium_generic']	}}```### Tag Extension```json5{	"tag": "chain_armor",	"merge": {		"material_indication": {			"hardness": {				"strength": 2,				"info": {					"type": "translatable"					"translate": "tm_armory.material_indication.default.armor_points",					"color": "dark_gray"				}			},			"flexibility": {				"strength": -1,				"info": {					"type": "translatable",					"translate": "tm_armory.material_indication.chain.flexibility",					"color": "dark_gray"'				}			}		}	}}```---## Notes- Use `module` for module extensions- Use `tag` for tag-based extensions- Properties are merged with the base module

