A community-written online textbook on Technical Minecraft.
Read tutorials, mechanics deep-dives, and source-code walkthroughs. All openly written and reviewed.
Visit the Site · Browse Raw Articles · More GTMC Projects
English | 汉语
Graduate Texts in Minecraft (GTMC) is an open knowledge base for the technical side of Minecraft — redstone, game mechanics, and engine internals. Anyone can read it, and the community writes and reviews it together.
You'll find three kinds of articles:
- Tutorials — step-by-step walkthroughs for builders.
- Explanations — how in-game mechanics actually work, from first principles.
- Code Analysis — annotated readings of the game's source.
They span the whole stack of technical play: production builds like tree farms, mechanical redstone and component behavior, slime-tech flying machines, and the timing and wiring that hold them together. On the engine side, articles dig into micro-timing, block updates and update order, chunk loading and loading tickets, and entity AI and movement — backed by source reading where it matters. Tooling chapters cover the staples of a technical setup (Carpet, Litematica, and the masa suite), so newcomers and veterans both have a way in.
The fastest way to start is to visit the site. Want to contribute? You can draft and submit articles right from the site, or open a feature request to suggest a topic.
Note
This repo is the website. Articles live in their own repo and are pulled in as a submodule. Other GTMC projects are at github.com/orgs/gtmc-dev.
See DESIGN.md for the visual system and AGENTS.md for the full stack breakdown.
git clone https://github.com/gtmc-dev/gtmc.git
cd gtmc
pnpm install # initializes the articles/ submodule if missing
cp .env.example .env # add GitHub OAuth, database URL, etc.
pnpm dev # http://localhost:3000Common scripts:
pnpm dev # Start the dev server
pnpm build # Full production build (content + Next.js)
pnpm typecheck # tsc --noEmit
pnpm lint # oxlint
pnpm style # prettier --checkTip
pnpm build runs in two phases: build:content generates static artifacts (article manifest, glossary, rendered content, offline PDF), then build:next builds the site from them. Run them separately when you only need one.

