
Install the JDK 17 and IntelliJ community edition, set path and java_home, create a Java project, run hello world, and prepare for future lessons on public, static, and void.
Explore Java data types for Minecraft modding, including integers, floats, doubles, bytes, shorts, and longs, plus booleans, chars, strings, and null values; learn how variables store these primitive types.
Read code from top to bottom, focus on curly brackets, declare and initialize variables with data types, end lines with semicolons, and use the dot operator to access string length.
Explore Java console output and user input for Minecraft modding by building a Hello World program, printing variables, and reading a username with Scanner.
Learn to diagnose common Java errors in Minecraft modding, read stack traces, and craft helpful error reports with logs and exit codes to get fast assistance.
Explore integers, arithmetic operators, and math methods in Java for Minecraft modding. Learn to declare int variables, perform addition, subtraction, multiplication, division, and modulo, and use Math.max and abs.
Explore assignment operators in Java for Minecraft modding: from the = operator to shorthand operators like +=, -=, *=, /=, and %=, plus increment and decrement with ++ and --.
Explore booleans and comparison operators in Java, using true and false with relational checks like >, <, >=, <=, == and !=, and negation to determine pass status.
Explore logical operators and, or, not, and see how two booleans yield a new boolean and how to chain them like arithmetic operators.
Master if and else statements in Java within a Minecraft modding context to evaluate exam scores, print results, and chain conditions, including reading input with a scanner.
Explore the switch statement in Java, define cases with break to prevent fall-through, and use default for unmatched values, noting it's best with integers or enums and avoid floats.
Explore Java string handling in Minecraft modding, declaring strings and applying methods like length, to uppercase, to lowercase, index of, replace, and substring.
Learn casting in Java for Minecraft modding to convert data types, from int to float with implicit and explicit casts, and understand truncation when casting float to int.
Explore how the ternary operator in Java simplifies simple conditional assignments in Minecraft modding, using exam versus gift examples, and compare it to if statements for readability.
Learn how to create and use arrays in Java for Minecraft modding, including string arrays for questions and answers, indexing from zero, avoiding array index out of bounds exceptions.
Learn loops in Java for Minecraft modding: for and for-each loops, while loops with continue and break, and safe array access using length.
Explore how Java methods work, define and call methods, and understand method signatures, parameters, public static void, and return types, including method overloading and a sum example.
Explore Java collections in Minecraft modding using ArrayList, maps, and sets with generics and wrapper classes, including add, remove, and size operations.
Explore the basics of object oriented programming, including classes, objects, methods, fields, and inheritance, with practical dog examples to illustrate templates and instances.
Create and use Java classes and objects in Minecraft modding. Explore default and custom constructors, initialize fields with this, and instantiate dog objects to see how objects behave.
Explore public, protected, and private modifiers, plus static and final, with getters and setters shown through a Minecraft modding Java example.
Explore inheritance and polymorphism in Java for Minecraft modding, showing how an animal superclass is extended by dog and cat, with overridden makesound behavior and shared fields.
Explore interfaces and abstract classes in Java for Minecraft modding, including abstract methods and instantiation rules. See how a class implements multiple interfaces, enabling polymorphism.
Explore anonymous classes in Java for Minecraft modding, creating an unnamed subclass of a person and overriding get full name to demonstrate a manager version.
Learn how enums define predefined values in Java, from simple difficulties to advanced enums with constructors and fields, enabling tool tiers and Minecraft modding.
Learn how to use try and catch to handle exceptions, create a custom test exception, and see how finally executes in Minecraft modding contexts while the program continues.
Explore a brief overview of lambda expressions in Java for Minecraft modding, focusing on core functional interfaces like supplier, consumer, callable, runnable, and function, and delayed loading in Forge modding.
Create a generic pair class in Java with placeholders X and Y, including a constructor and getters and setters, and explore extends and wildcard generics used in Minecraft modding.
Install the JDK, IntelliJ community edition, and Forge to set up a Minecraft mod project; configure parchment mappings and a mod ID, then push changes to GitHub.
Learn to add custom items in a Forge 1.20.x mod by creating a mod items class with a deferred register and registering Alexandrite and raw Alexandrite, textures, models, and translations.
Register and add custom blocks to Minecraft with Forge by creating a block class, using a blocks deferred register, and wiring block states, models, textures, and a block item.
Create a creative mode tab for your forge mod by using a deferred register and a creative mode tab registry, configuring icon, title, and display items in the desired order.
Learn to manually create Json files for custom Minecraft mod recipes, including shaped and shapeless crafts, as well as smelting and blasting, using alexandrite items and the resources folder.
Add custom loot tables for alexandrite blocks and ores in the forge mod using data json files, defining blocks/loot tables, mineable tags, and drops including experience and raw alexandrite.
Build a custom advanced item in Minecraft Forge 1.20.x with a dedicated item class that implements a metal detector, searching blocks downward for valuable ore and reporting coordinates server-side.
Develop a custom advanced block in a Forge mod by creating a dedicated block class, overriding the use method, handling client-server logic, adding sounds, and wiring textures and JSON models.
Create a custom food item for kohlrabi by defining mod food properties with nutrition, saturation, and a 10% chance of movement speed for 10 seconds.
Create a reusable custom fuel item by extending the item class, setting burn time in ticks via the constructor, and overriding get burn time; register and test in Minecraft.
Add custom tooltips to items and blocks by overriding append hover text, using shift-conditional information and translatable components, and color-coded hints for a richer Minecraft Forge mod.
Create a custom tag in a Mod Tags class with item and block tag groups, plus the data/course/tags/blocks/metal_detector_valuables.json file, enabling the metal detector to identify selected ores.
Add custom data generation to your forge mod using datagen, generating blog states json files, model json files, load table json files, recipe json files, and tags.
Explore adding custom stairs and slabs in Forge modding for Minecraft 1.20.x using data gen to generate block states and block model json files, plus loot tables and alexandrite textures.
Learn to add custom minecraft buttons and pressure plates in forge for 1.20.x, defining alexandrite blocks with sensitivity and block set type, plus data generation for item models.
Add fences, fence gates, and walls to Minecraft with alexandrite blocks, configure block properties and tags, and validate data generation to ensure proper connectivity and loot tables.
Add custom doors and trapdoors by duplicating fences renaming blocks and setting iron block properties configuring loot tables and render types for bottom and top doors and orientable trap doors.
Explore vanilla source code and external libraries in forge 1.20.x to understand magma blocks, stepping behavior, frost walker, and other blocks to build custom content.
Update Minecraft from 1.20 to 1.20.1 by editing the Gradle properties and mappings version, reload Gradle, and validate a successful build with only minor bug fixes.
Add a set of custom tools, sword, pickaxe, shovel, axe, and hoe, using alexandrite forge tier and needs alexandrite tool tag, with level, uses, speed, and enchantment values.
Learn to add a custom paxil in a forge mod by creating a paxil mineable tag and PaxilItem class, wiring textures and block mineability for pickaxe, axe, and shovel.
Create a custom hammer item for forge 1.20.x that mines a 3x3 area in front of the player, using area-of-effect logic and forge events to destroy blocks.
Create a slowing sword in Minecraft Forge 1.20.x that applies a movement slowdown effect to living entities on hit using the on left click entity method from the player.
Create a custom armour set for Minecraft 1.20.x Forge, implement a mod armour material, add alexandrite items, enable trimming, and configure textures, models, and data generation.
Add a full armor effect for alexandrite armor with a custom mod armor item class, mapping armor materials to mob effects to apply jump boost on server when fully worn.
Add a custom Alexandrite horse armor to a Minecraft Forge mod by duplicating the Mod Items entry, setting strength and resource location, and updating translations and textures.
Add a custom enchantment to a Minecraft Forge mod by creating a lightning striker enchantment, extending Enchantment, and overriding post-attack behavior to spawn lightning on the server.
Explore block states and properties, learn how a boolean 'lit' property makes each block state independent, and build a custom Alexandrite lamp with a 'clicked' property using variants and models.
Learn how NBT data powers item stacks and blocks, using a data tablet to save and display findings with tooltips, foil enchantment overlays, and tag management.
Register a client-side item property to swap the data tablet texture based on whether a tag exists, returning 1 or 0 to trigger on or off textures.
Create a custom Kohlrabi crop block in Minecraft Forge, manage its age property and block state, add textures for seven growth stages, and configure loot and seeds via data generation.
Add custom items to the composter in a Minecraft Forge mod by wiring a common setup listener, then define compostable entries with 35% for kohlrabi and 20% for seeds.
Learn how to add custom Minecraft commands in forge modding by creating a set home and return home command, registering them via events, and persisting player home data.
Explore how Forge events drive mod behavior, differentiate Forge bus and Mod bus, and hook into input, render, and damage events with a sheep example.
Add a custom flower named Snapdragon to Minecraft, including its flower block and potted version, with data generation, loot table, textures, and Forge-specific setup.
Register a custom sound event for the metal detector in Minecraft, add the sound file under assets/sounds, and trigger it on right-click with the item.
Create a custom block sound group in Minecraft Forge by defining a Forge sound type and five sounds (break, step, place, hit, fall), then assign them to the block.
Learn how to add a custom music disc in Minecraft Forge by defining a sound event, creating the record item, tagging for music discs, and testing mono playback.
Learn to add a custom block model for Minecraft using Blockbench, exporting the json and texture, and configure a facing, voxel shape, and a translucent render type.
Export the radiation staff item model and texture, place them in models/item, add translation and durability, then test the custom item in-game.
Add a custom Alexandrite bow in forge, define item properties for pull and pulling animations, set 500 durability, add to creative tab, and include textures and models for testing in-game.
Add a custom shield for Minecraft Forge 1.20.x by exporting two item models and textures, registering durability and item properties, implementing a blocking override, and adding to creative mode tab.
Learn to build a custom forge loot modifier, adding items to loot tables with a codec, enabling seeds from grass and ferns and a metal detector in jungle temple chests.
Create Minecraft custom paintings by registering painting variants (saw them 16x16, shrimp 32x16, world 32x32) via a deferred register and textures, with json translations.
Add a custom slimy effect for a Minecraft Forge mod by creating mod effects and slime effect classes, registering the effect, and implementing a 25% speed reduction with wall climbing.
Register a slimy potion in a forge mod by creating a potion class, wiring a deferred register, and adding a better brewing recipe from slime ball to the slimy potion.
Learn to add custom villager trades in minecraft modding 1.20.x for forge using the villager trades event, configuring farmer and toolsmith offers with kohlrabi and other items.
Register a custom villager profession, the sound master, and its POI type to create a sound POI job site; define trades, translation, texture, and a POI type tags provider.
Create and configure custom Minecraft Forge advancements by implementing a Forge advancement provider, defining route advancement and metal detector advancements, setting displays, criteria, and parent relationships, and validating in-game.
Add and register custom particles, like alexandrite, using texture sheet particles and a sprite set; spawn them in the world with the metal detector.
Add a custom fluid to Minecraft by defining a base fluid type, registering a soap water fluid, creating its block and bucket, and configuring rendering, tagging, and fog effects.
learn to implement an item with a 3D model when held and a 2D texture in inventory using Forge's custom loader, demonstrated with the radiation staff.
Learn to create animated item textures in Minecraft modding 1.20.x for Forge by duplicating a texture set and editing a meta file with frame time, enabling item and block animations.
Explore open-source Minecraft mods on GitHub to study code, terminologies like entity types and villager professions, and strengthen your Java foundation for Forge modding.
Add a custom block entity by building the block entity class and inventory. Create a container menu and screen, register the entity type, and implement tick behavior with data synchronization.
Implement a custom recipe type for a forge mod that reads json files for a block entity, including a gem empowering recipe with a serializer and data generation.
Add JEI compatibility by integrating the Just Enough Items API and registering a custom recipe category, so players can view your mod's block-entity recipes in-game.
Add inventory handling to a block entity using util classes—inventory direction entry, wrapper, and wrapped handler map—while implementing the get capability method to map sides to local directions via facing.
Add energy storage and handling to a block entity by creating a custom mod energy storage, syncing changes, saving energy, and exposing Forge energy capabilities.
Add fluid handling to a block entity by implementing a 64,000 unit fluid tank, enabling input via forge capabilities, and rendering the fluid in the GUI with tooltips.
Add a custom block entity renderer to display the item from the output slot or input slot on the block itself, registered via the mod's client event bus.
Create a custom walnut wood type for Minecraft Forge, including log, wood, stripped variants, planks, leaves, and a sapling, plus a flammable rotated pillar block with stripping behavior.
Learn to add a custom walnut sign set for Minecraft Forge 1.20.X in Modding By Kaupenjoe, including standing, wall, and hanging signs, with blocks, block entities, renderers, and textures.
Add a walnut tree to Minecraft via Forge by configuring world generation, defining configured and placed features, and applying biome modifiers for overworld spawns.
Add custom ore generation across overworld, nether, and end by configuring features, rule tests, and ore targets, while setting vein size, veins per chunk, and biome modifiers for alexandrite ore.
Add custom flower generation in Minecraft with the Snapdragon key and flower feature, using a random patch configuration and placement in plains biomes.
Add a custom entity for Forge by modeling with Blockbench, exporting the Java model and animations, and implementing the entity class, attributes, goals, renderer, and a spawn egg.
Add custom attack animations for a rhino in Minecraft Forge modding, employing an attack animation state, entity data accessor, and a dedicated rhino attacker goal to synchronize visuals and combat.
Create and manage custom entity variants by defining a RhinoVariant enum, wiring get and set variant logic, saving to NBT, and linking textures via a variant map for dynamic spawning.
Learn how to add and customize mob sounds in Forge by overriding ambient, death, heart, and heard sounds for a custom entity, with practical in-game testing.
Learn to create a tameable rhino by overriding mob interact, taming with an apple, assigning an owner, and implementing follow and sit goals with animation states.
Add a rideable rhino to a Minecraft mod by implementing the player writable interface and enabling riding. Outline travel control, dismount, and crouch-based writing to toggle riding and interaction.
Learn to make rhinos breedable in Minecraft Forge modding by adding breed and attempt goals, overriding is_food for cooked beef, and enabling right-click breeding and follower behavior.
Add a custom boss bar to your mod by implementing a server boss event for a rhino entity, with white color and a 12-notch overlay, updating progress as health changes.
Add spawning behavior for a rhino by configuring bio modifiers and a spawn placement event, defining biomes, weights, min/max counts, and ground-based spawning rules.
Develop a throwable dice projectile in Minecraft Forge 1.20.x, implementing a custom dice projectile entity and item, spawning a dice block on impact, and wiring registration and rendering.
Add a custom projectile entity and renderer, export a Blockbench model and texture, and enable the radiation staff to fire it with sync data, hit logic, and particles.
Learn to add custom boats and a walnut chest boat with a chess board to a Minecraft Forge mod, including entity classes, renderers, models, items, and translations.
Create a mod sapling that can be planted on End Stone by extending the sapling block and overriding may place on, with dirt providers enabling growth via bonemeal.
Learn to create and register a custom trunk placer for Minecraft Forge, implement trunk logic with a walnut trunk placer, and test iteratively using three-dimensional placement and foliage attachments.
Learn to create and register a walnut foliage placer for a Minecraft Forge mod, implement its codec and height, and shape foliage with leaf rows and offsets.
Learn how to create and register a custom geode for Minecraft Forge, configuring block state providers, inner and outer layers, and biomes to spawn in world generation.
Learn to create a biome-responsive block in Forge 1.20.x by cloning leaves, wiring a color handler, and coloring blocks and items based on biome foliage colors.
Add a custom item to suspicious sand in Minecraft modding 1.20.x using a loot modifier to replace or augment drops, with configurable random drop chances.
Implement a two-block high cat tail crop in forge, using the same block for bottom and top with age stages, shapes, survival logic, bonemeal growth, and custom loot drops.
update forge and neo forge to compatible versions, noting neo forge works up to forge 47.1.3; set gradle properties to 47.1.0.3, reload, and verify a successful build to follow lectures.
Learn to add custom overworld biomes with Terra Blender—set dependencies, Gradle, and mixin; register two test biomes, configure features and surface rules, and generate biome data for testing.
Learn to add a custom dimension in a forge mod by defining a dimension type and level stem, using data generation and a portal to travel between dimensions.
Minecraft is the most popular game of all time! Minecraft Modding for the Java version of the game is known to be used in many YouTube videos and is played by a huge community! The Minecraft Modding Community keeps growing every day and it's a great and creative outlet!
This course will teach you how to make your own Minecraft Mod! You will learn the programming language Java as well as how to effectively use the Minecraft Modding API Forge.
For absolutely beginners, I have added a Java Introduction for you, so even with no experience in programming you can start making Minecraft Mods by first going through the Java Introduction!
In the Basics Concepts part of the course, you will learn how to add Items, Blocks and Custom Recipes! A section on Tools and how to add those is presented as well!
The Intermediate Concepts is where you'll really pick up some amazing skill needed for proper Minecraft Modding with Forge! You'll learn Custom Crops, Sounds, Custom Shields and so, so much more!
But that's not all! We will also cover advanced topics such as Block Entities, Custom Mobs and even Ore Generation amongst others and Structure Generation.
With a bit of creativity and applying the lessons you get from this course, you might just make the next Minecraft Mod hit!
This course is accessible to complete beginners. Even if you have never programmed in your life! The only requirement is that you own Minecraft and are vaguely familiar with the Game and some popular Minecraft Mods or even Minecraft Modpacks.
All files and the entire Source Code will be available so you can follow along with everything I do in the videos.
If you have any questions or suggestions, also feel free to contact me here. I'm happy to help you learn to code in Java and make your own Minecraft Mod with Forge.
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG.