Repository navigation
Home
Everything in Mazu's Furnaces that a modpack usually wants to change is data: recipes, recycling and fuels. You can change it with a datapack or with KubeJS.
| Page | What it covers |
|---|---|
| Kiln recipes |
mazusfurnaces:kiln: Pit Kiln and Clay Kiln |
| Charge recipes |
mazusfurnaces:bloomery, mazusfurnaces:iron_furnace, mazusfurnaces:nether_forge
|
| Recycling recipes |
mazusfurnaces:recycling: melting tools and armor by durability |
| Kiln fuels | Burn time, max temperature and heat rate of each fuel |
| Furnaces | Temperature limits, accepted fuels, tags and config |
| Minecraft | Recipes | Fuels |
|---|---|---|
| 1.20.1 | data/<namespace>/recipes/ |
data/mazusfurnaces/data_maps/item/kiln_fuels.json |
| 1.21.1 | data/<namespace>/recipe/ |
data/mazusfurnaces/data_maps/item/kiln_fuels.json (NeoForge only) |
| 26.x | data/<namespace>/recipe/ |
data/mazusfurnaces/data_maps/item/kiln_fuels.json (NeoForge; Forge and Fabric 26.3) |
Use your own namespace for new recipes. To replace a built-in recipe, use the same path as the original
(for example data/mazusfurnaces/recipe/kiln/brick.json). The built-in recipes are in the mod jar, under the same
folders.
With KubeJS, the kubejs/data/ folder works as a datapack, so the same files can go there.
The JSON shape of items and ingredients follows Minecraft, so it changes between versions. The examples in these pages use 1.21.1; for other versions, change only these parts:
| 1.20.1 | 1.21.1 | 26.x | |
|---|---|---|---|
| Item | { "item": "minecraft:iron_ore" } |
{ "item": "minecraft:iron_ore" } |
"minecraft:iron_ore" |
| Tag | { "tag": "minecraft:logs" } |
{ "tag": "minecraft:logs" } |
"#minecraft:logs" |
| Any of several | [ { "item": "a" }, { "item": "b" } ] |
[ { "item": "a" }, { "item": "b" } ] |
[ "a", "b" ] |
| Result | { "item": "minecraft:brick", "count": 2 } |
{ "id": "minecraft:brick", "count": 2 } |
{ "id": "minecraft:brick", "count": 2 } |
Temperatures are in °C and times are in ticks (20 ticks = 1 second).
Mazu's Furnaces has no KubeJS plugin; use event.custom with the same JSON as the datapack.
ServerEvents.recipes(event => {
event.custom({
type: 'mazusfurnaces:kiln',
ingredient: { item: 'minecraft:clay_ball' },
result: { id: 'minecraft:brick' },
cookingtime: 300,
min_temperature: 600
})
event.remove({ id: 'mazusfurnaces:kiln/brick' })
event.remove({ type: 'mazusfurnaces:bloomery' })
})Recipe ids follow the file path: data/mazusfurnaces/recipe/bloomery/iron_ingot.json is
mazusfurnaces:bloomery/iron_ingot. With JEI and advanced tooltips (F3 + H) on, the id shows when you hover over a
recipe output.
On NeoForge, override the recipe with a file that never loads:
{
"neoforge:conditions": [ { "type": "neoforge:false" } ]
}On other loaders, use KubeJS (event.remove) or a recipe with different values at the same path.