Skip to content

Instantly share code, notes, and snippets.

@ChampionAsh5357
ChampionAsh5357 / 1194-120-primer.md
Last active June 22, 2025 13:23
Minecraft 1.19.4 -> 1.20 Mod Migration Primer

Minecraft 1.19.4 -> 1.20 Mod Migration Primer

This is a high level, non-exhaustive overview on how to migrate your mod from 1.19.4 to 1.20 using Forge.

This primer is licensed under the Creative Commons Attribution 4.0 International, so feel free to use it as a reference and leave a link so that other readers can consume the primer.

If there's any incorrect or missing information, please leave a comment below. Thanks!

Pack Changes

@ChampionAsh5357
ChampionAsh5357 / 1193-1194-primer.md
Last active February 20, 2025 04:47
Minecraft 1.19.3 -> 1.19.4 Mod Migration Primer

Minecraft 1.19.3 -> 1.19.4 Mod Migration Primer

This is a high level, non-exhaustive overview on how to migrate your mod from 1.19.3 to 1.19.4 using Forge.

This primer is licensed under the Creative Commons Attribution 4.0 International, so feel free to use it as a reference and leave a link so that other readers can consume the primer.

If there's any incorrect or missing information, please leave a comment below. Thanks!

Pack Changes

@ChampionAsh5357
ChampionAsh5357 / 1192-1193-primer.md
Last active February 20, 2025 04:47
Minecraft 1.19.2 -> 1.19.3 Mod Migration Primer

Minecraft 1.19.2 -> 1.19.3 Mod Migration Primer

This is a high level, non-exhaustive overview on how to migrate your mod from 1.19.2 to 1.19.3 using Forge.

This primer is licensed under the Creative Commons Attribution 4.0 International, so feel free to use it as a reference and leave a link so that other readers can consume the primer.

If there's any incorrect or missing information, please leave a comment below. Thanks!

Feature Flags

@SizableShrimp
SizableShrimp / README.md
Last active January 8, 2026 14:50
How to setup shading with Minecraft Forge

How to setup shading with Minecraft Forge

Shading is the concept of packing external dependencies inside your jar so that they exist in production. Without this, using external libraries would produce ClassNotFoundExceptions when you run your mod jar outside of an IDE. This guide explains how to setup shading through Gradle.

Assumptions

This guide assumes that:

  • You are on ForgeGradle 5 or higher
  • You are on Gradle 7.0 or higher
@SizableShrimp
SizableShrimp / README.md
Last active April 17, 2025 08:36
How to fix Java libraries not loading in Minecraft Forge 1.17+

How to fix Java libraries not loading in Minecraft Forge 1.17+

By default, Minecraft Forge does not load dependencies from the classpath unless they are explicitly declared as mods. These steps outline how to remedy this. This guide assumes that:

  1. You are on ForgeGradle 5 or higher.
  2. You are on Forge 1.17.1 (37.0.13) or higher.

Using Java libraries

To configure your Java libraries to be loaded by Forge, you should use the minecraftLibrary configuration provided by ForgeGradle. You now must make sure to declare your dependencies using minecraftLibrary configuration.

@50ap5ud5
50ap5ud5 / 1.16.5 to 1.17 Minecraft Modding Primer.md
Last active January 8, 2026 15:00
1.16.5 to 1.17 Minecraft Modding Migration Guide

Minecraft 1.16.5 to 1.17 Modding Migration Primer

This is a high level and non-exhaustive overview of the 1.16.5 to 1.17 migration primer from a mostly Forge oriented perspective.

This primer is licensed under Creative Commons, so feel free to use it as a reference.

Please note that this can be updated, so leave a link to this file so readers can see the updated information themselves.

If there's any incorrect or missing information please leave a comment down below. Thanks!

@gigaherz
gigaherz / toolsystem.md
Last active September 1, 2023 19:05
Explanation of the new tool system

So... You have updated to latest forge and harvestTool, harvestLevel, ToolType, ... are all gone. AAA PANIC!

Here's how to fix it:

Blocks

First, Remove the harvestTool and harvestLevel calls from the block properties.

Then, add the blocks to the relevant tags. You can use datagen, or make the jsons yourself. Datagen is more future-proof.

@gigaherz
gigaherz / 00 Explanation.md
Last active February 4, 2026 00:33
Custom shader rendertype mini-howto example (forge 37.0.15+)

Making a custom render type with a custom shader requires a number of things to exist at once:

  1. A ShaderInstance which references your shader json. The RegisterShadersEvent lets you define a ShaderInstance, and has a callback for when the shader is fully loaded from disk.
  2. A ShaderStateShard with a supplier that returns the ShaderInstance. The supplier exists so that shaders can reload themselves when you change resourcepacks or do a F3+T reload.
  3. A RenderType which uses the ShaderStateShard as its shader state.
  4. A shader json, which declares the shader properties and points to the shader programs (vsh and fsh).
  5. A vertex shader program, which describes how the vertex data is transformed before passing into the rasterizer and being turned into pixels.
  6. A fragment shader program, which describes how the interpolated values from the vertices get turned into color values before being passed into the output blending stage.

Note: The vanilla logic does not normally allow namespaces in the shader

@T3sT3ro
T3sT3ro / renderdoc-how-to.md
Last active April 18, 2025 18:45
Guide: launching renderdoc with java gradle project on minecraft "Create" mod example

So you want to launch RenderDoc with Java, huh?

Here is a good resource to check out first

First of all, check what command is run when you in fact launch your app. For me (Create minecraft mod) this command was executed when I run runClient configuration (line breaks, tabs and backslashes added for readability):

Step 1. command for running minecraft with mods - generated by gradle

/home/tooster/.sdkman/candidates/java/14.0.1-open/bin/java
@LambdAurora
LambdAurora / optifine_alternatives_fabric.md
Last active December 12, 2025 23:58
Recommended OptiFine alternatives on Fabric

The list is moving out!

If you share this list, please use this link instead: https://lambdaurora.dev/optifine_alternatives

It may still be only a redirection link, but it will have a better web display of the list soon. And the list being on GitHub/GitHub pages improves load times.

The gist version of this list will stop being updated.

Why?