Skip to main content

1.14, 1.15, and 1.16


In this page we closely follow the YouTube tutorial but give a more textual explanation about everything. All source code for the tutorials can be found here.

The new tutorial is for Forge 1.15.2 and 1.16.3.

For the 1.17.1 tutorial series go to YouTube-Tutorials-17

New Tutorial Series (for 1.15.2 and 1.16.3)

This new series starts where the original tutorial series ends. In this series we start from a much cleaner codebase with fewer bugs, and also we start from 1.15. This series also tries to explain a lot more and helps you figure out things on your own. Don't blindly copy/paste code! Always try to understand what you're doing. In episode 11 we make the transition to 1.16.3. Except for the tutorials about the custom dimension the rest of the tutorials is mostly unchanged between 1.15.2 and 1.16.3

Episode 1: Basic Principles, Getting Information, The Basic Mod and Package Structure

In this tutorial the basic principles of modding are explained. You learn how to use the build system. How to update Forge and get the basic mod going.

Episode 2: The First Block, Capabilities, Container, Gui

Here the first block is explained. This block has properties for direction and being powered or not. It has an inventory and it can generate power. Capabilities are explained as well as the DeferredRegistry for registering Minecraft things:

Episode 3: Model for the first block, Data Generation

In this episode we explain how to make the visual model for our first block. We do this using data generation. In addition, we also explain how data generation can be used to generate the JSON files for recipes and loot tables. Using data generation you can avoid having to write JSON by hand.

Episode 4: Dynamic Rendering using a Tile Entity Renderer

Here we explain the difference between static rendering (static models) and more dynamic rendering associated with tile entities. The latter you can use for doing animations and similar:

Episode 5: Baked Models and Mimicking Other Blocks

In this episode I show how you can make baked models and use them to mimic other blocks:

Episode 6: A More Complex Multipart Model

In episode 6 I show how you can make a more complex multipart model that has different configurations for all six sides. I also explain how to set up the blockstate data generation for it.

Episode 7: Configuration, Commands, and Networking

This episode talks about how to do configuration, server side commands using Brigadier and networking with a small custom gui that spawns a mob.

Episode 8: Entity and Custom Dimension

In this episode we talk about making a simple custom entity and also a simple custom dimension. These are the basics but can give you a good idea on how to get started into more complicated entities and dimensions.

Episode 9: Specialized Rendering

In this episode we cover a few extra rendering related subjects. More specifically we cover how you can use some rendering events and define your own render type.

Episode 10: Capabilities

In this episode we show how you can define your own capability and attach it to other objects to do something useful.

Episode 11: Porting to 1.16.3

In this episode we port our code to 1.16.3. Most of the explanation in this tutorial is about how dimensions are defined in 1.16.3 because that has changed a lot.

Episode 12: Switching to official mappings and debugging

In this episode we switch the tutorial to the official Mojang mappings and also go through some debugging tips:

Original Tutorial Series (for 1.14.4 and later 1.15.2)

This series starts with 1.14 and at some point ports to 1.15. This series works step-by-step and code is written gradually. If you like that style then this may be the best series for you to follow. On the other hand it is outdated in some respects (like it starts with 1.14) and it also contains some bugs that are fixed in later episodes or in the new series. Always reference the latest GitHub for the most up-to-date code

The first 12 episodes were made for 1.14 but are still mostly up-to-date for 1.15. Starting with episode 13 the tutorial is updated to Minecraft 1.15.

Episode 1: Setting up IDEA, Basic mod class and first block

Episode 2: Loot tables, recipes, language file and first item

Episode 3: Block properties, Tile Entity, Item Handler

Episode 4: Our first GUI

Episode 5: Better loot table and energy production

Episode 6: Some fixes, sending out power, configuration and front face animation

Episode 7: Updating to latest forge and data generators

Episode 8: Getting started with entities

Episode 9: Baked Models and Model Data

Episode 10: Commands, Networking and Gui

Episode 11: Special Edition, McJty Mods Explained

Episode 12: Custom Dimensions

Episode 13: Porting to 1.15.1 and cleanup

Episode 14: Rendering part 1

Episode 15: Rendering part 2 and BlockState data generation