
Modrinth · Minecraft mod
Serrated
Adds a Stonecutter and Saw for modpacks with extra features and compat
Quick answer
Which Serrated release should I use?
Serrated 1.0.1 targets 1.12.2 with Forge. Installation on the client is optional. Installation on the dedicated server is optional. No extra mods listed for this file.
Where it goes
Is Serrated required on the client, server, or both?
Installation on the client is optional. Installation on the dedicated server is optional.
The source marks this as usable on both the client and server.
What else does Serrated 1.0.1 need?
1.0.1. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add Serrated without breaking your instance.
Built for Serrated 1.0.1. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 1.0.1. It targets 1.12.2 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
Installation on the client is optional. Installation on the dedicated server is optional.
- 04
Pick the file you checked
Use the “Get this file” button beside 1.0.1. It opens that exact file at the source.
About this project
What does Serrated add?

Serrated adds only two blocks to the game, the Stonecutter and the Saw. By default, they behave pretty much exactly like the vanilla 1.14 stonecutter, but can be placed facing any direction.
There are no default recipes, they are all up to the user/modpack. More than 1 output per input is allowed, using CraftTweaker to configure them.
An important feature of the cutters in this mod is the "immersive" toggle in the configuration, which completely changes how players interact with the cutters. Instead of processing items in the GUI, it can only be used to select the output with a ghost representation of the input, allowing you to physically place inputs on the sawblade in-world to process them manually. The cutters can also catch items thrown on the saw face, allowing easy automation with dispensers/droppers.
Recipes in immersive mode can be defined to work as dropped items only or, if you prefer, as placed blocks. This is useful if you want to make all block recipes require the blocks to be physically placed in-world, like how it works in BWM, for example.
You can additionally enable BWM power compatibility, which makes the cutters require a rotating axle from either their front, back, or bottom faces in order to process recipes.
When both options are enabled, the cutters effectively behave like an improved version of the BWM saw block, allowing to place blocks in front of them to get variout outputs.
CraftTweaker methods:
Spoiler
For the full API, go here
Start by importing the mod into your script:
import mods.serrated.CuttingSawRecipeBuilder;
import mods.serrated.CuttingSawOutputBuilder;
Serrated has a recipe builder and an output builder:
Open the recipe builder with newRecipe()
inputItem: item slot input used for crafting and GUI display.inputBlock: physical world block state target required for the saw. Defaults to nothing if omitted.blockOnly: If true, the recipe ignores the item form and only triggers via the physical block
CuttingSawRecipeBuilder.newRecipe(IIngredient inputItem, @Optional @Nullable IBlockStateMatcher inputBlock, @Optional(valueBoolean = false) boolean blockOnly);
Follow with with the output builder with addOutput. You can add as many output entries per newRecipe as you want. These are the entries in the GUI when placing an input item.
outputItem: Primary item stack output.duration: Optional. Crafting processing time in immersive mode. Defaults to 0 ticks if omitted.outputBlock: Optional. The block placed in the world when crafted in immersive mode. Defaults to null if omitted, causing the item to drop as a regular entity instead.
.addOutput(IItemStack outputItem, @Optional(valueLong = 0) int duration, @Optional @Nullable IBlockState outputBlock);
You can addExtra outputs to any output. These will be rendered in JEI and when hovering the primary output item in the addOutput method.
.addExtra(IItemStack stack);
Finalize your recipe with either addToSaw or addToStonecutter:
.addToSaw(String id);
.addToStonecutter(String id);
Examples
Simple recipe for the default configuration, allows to craft stone bricks into 1 stairs, 2 slabs, or 1 chiseled stone bricks.
import mods.serrated.CuttingSawOutputBuilder;
import mods.serrated.CuttingSawRecipeBuilder;
CuttingSawRecipeBuilder.newRecipe(<minecraft:stonebrick:0>)
.addOutput(<minecraft:stone_brick_stairs> * 1)
.addOutput(<minecraft:stone_slab:5> * 2)
.addOutput(<minecraft:stonebrick:3> * 1)
.addToStonecutter("stone_brick_variants");
Full recipe for immersirve mode, with two possible outputs and extra items.
All the rotations of the log blockstate are accounted for in the first variable.
It requires (note the boolean in .newRecipe) that an oak log is placed. First output (and default, unless changed) takes 20 ticks and outputs 4 oak planks, 1 oak bark and 2 sawdust; second output takes 30 ticks and drops 8 sticks.
import crafttweaker.block.IBlockStateMatcher;
import mods.serrated.CuttingSawOutputBuilder;
import mods.serrated.CuttingSawRecipeBuilder;
var oakLog as IBlockStateMatcher = <blockstate:minecraft:log:variant=oak,axis=x>
| <blockstate:minecraft:log:variant=oak,axis=y>
| <blockstate:minecraft:log:variant=oak,axis=z>;
CuttingSawRecipeBuilder.newRecipe(<minecraft:log:0>, oakLog, true)
.addOutput(CuttingSawOutputBuilder.newOutput(<minecraft:planks:0> * 4, 20)
.addExtra(<betterwithmods:bark:0>)
.addExtra(<betterwithmods:material:22> * 2))
.addOutput(<minecraft:stick> * 8, 30)
.addToSaw("log_oak");
Thanks to Phantamanta for taking on the commission to program this mod
Assets and idea by Foreck
FX credits
Spoiler
machine hum1.wav by kiefspoon -- https://freesound.org/s/111626/ -- License: Creative Commons 0
Body_impact_wood.aiff by MaxDemianAGL -- https://freesound.org/s/183602/ -- License: Attribution 3.0
saw wood 2.wav by Pagey1969 -- https://freesound.org/s/566050/ -- License: Creative Commons 0
Dropping Rocks by iwanPlays -- https://freesound.org/s/567250/ -- License: Creative Commons 0
Project description from Modrinth.
Pick your setup
Serrated by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.12.2
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Serrated versions and loaders
1.0.1
serrated-1.12.2-1.0.1.jar
11 Nov 2026
1.0.0
serrated-1.12.2-1.0.0.jar
20 Oct 2026
Looking for an older file? The official Modrinth project page is in Resources.