Back to 9Minecraft
Wiki 9Minecraft Wiki 9Minecraft

Tetra Material Overhaul Mod FAQ

10 questions players actually ask, answered.

How do I create a custom material that only gives bonuses to swords?
Add a `contexts` field to your material JSON with a unique key, then define `attributes` and `effects` inside that context block. In your module JSON (e.g., sword blade), reference that context key in the `contexts` array so the bonuses apply only to that slot.
What's the difference between contexts and regular material stats?
Regular material stats apply everywhere the material is used. Contexts let you define conditional bonuses that only trigger when a module references them, giving you per-slot control over attack speed, damage, effects, and tool properties.
Can I apply different attack speed to the same material in different weapons?
Yes—create multiple context blocks in your material JSON with different keys, each with its own `generic.attack_speed` value, then reference the appropriate context key in each weapon module's `contexts` array.
Do I need to edit Tetra's default materials or can I make my own?
You can create entirely new materials in your data pack without touching Tetra's defaults. Place your material JSON in `data/yournamespace/tetra/materials/` and reference it by its namespace and key.
What happens if a module references a context that doesn't exist in the material?
The module will load without error, but that context's bonuses simply won't apply—the material will use its base stats instead. Check your JSON keys match exactly between material and module files.
How do I use `extract` to inherit material properties into a module?
`extract` pulls values from the material (like durability multiplier or primary attribute scaling) and applies them to the module variant. This lets you make module stats scale with material quality without hardcoding numbers.
Can contexts affect tool efficiency and mining level?
Yes—define `toolLevel` and `toolEfficiency` in your context block, and they will override the material's base tool stats when that context is referenced by a module.
Why aren't my custom effects showing up on the item?
Check that the effect key in your context's `effects` object matches an effect that Tetra or your other mods recognize, and verify the module is actually referencing your context in its `contexts` array.
How do I balance a material so it's not overpowered in one weapon type?
Create separate contexts for different weapon slots with adjusted `attributes` values—for example, lower `generic.attack_speed` in a sword context but keep it higher in a dagger context to differentiate their roles.
Do I need to reload the world or restart the game after editing material JSONs?
Data packs are typically reloaded with `/reload`, but for safety restart your game or server after editing Tetra material and module files to ensure all changes take effect.