Skip to content

Instantly share code, notes, and snippets.

View EpicSquid's full-sized avatar

EpicSquid

View GitHub Profile
@GizmoTheMoonPig
GizmoTheMoonPig / Materials.md
Last active July 23, 2024 03:47
Materials: where did they go?

Starting in 1.20, the Material class has completely disappeared and has been replaced with a series of properties that are chained to BlockBehavior.Properties.of. This list exists so you can easily figure out which propeties to use to replace the old materials.

Every Material here gives its default MapColor (previously known as MaterialColor), regardless of if it had one or not. It also defines which properties to use to replicate the exact behavior used previously.

The very bottom of this file defines the more complicated replacements to certain material properties.

  • AIR - No MapColor, replaceable
  • STRUCTURAL_AIR - No MapColor, replaceable
  • PORTAL - No MapColor, PushReaction.BLOCK
  • CLOTH_DECORATION - MapColor.WOOL, ignitedByLava
@ChampionAsh5357
ChampionAsh5357 / fg5-fg6-primer.md
Last active January 3, 2024 21:23
ForgeGradle 5 -> 6 Migration Primer

ForgeGradle 5 -> 6 Migration Primer

This is a high level, non-exhaustive overview on how to migrate your buildscript from ForgeGradle 5 to 6.

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!

Add Foojay Toolchains Plugin

@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

@TelepathicGrunt
TelepathicGrunt / addModdedCropsToVillageFarms.java
Last active December 3, 2025 22:27
how to add to village farms in a mod/datapack compatible way that can stack without overwriting each other.
// Note: Lithostitch mod allows you to add to processor lists easily! No code needed.
// https://github.com/Apollounknowndev/lithostitched/wiki/Worldgen-Modifier-Types#add_processor_list_processors
// This gist code is public domain. Take it! Steal it! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!
// 1.18.2+
public ExampleMod() {
MinecraftForge.EVENT_BUS.addListener(this::addNewVillageCrop);
}
@androidfred
androidfred / kotlin_arrow.md
Last active January 20, 2025 18:50
Kotlin Arrow

Kotlin Arrow

A lot of Kotlin features can be traced back to functional programming languages, eg

  • Heavy use of immutability-by-default and map, filter etc functions
  • Type inference
  • Data classes (which enable pattern matching)
  • Null safety and dealing with the absence of values

However, Kotlin is missing many incredibly useful data types that are ubiquitous in functional programming languages, eg Either, Try etc.

@EpicSquid
EpicSquid / 114Thoughts.txt
Last active July 8, 2019 04:16
A small list of notes from a Squid about things to keep in mind while porting to 1.14.3
- TextureMap is now AtlasTexture, but not all the methods are the same
- Minecraft.getMinecraft() is now Minecraft.getInstance
- Minecraft.class is CLIENT ONLY
- Actually separate all Client and Common code into separate files
- Allow access to Client-only code through the proxy to throw actually meaninful errors (thx mcjty)
- TODO - Determine if "GLStateManager.enableAlphaTest()" is the same as "GLStateManager.enableAlpha()"
- ActiveRenderInfo is no longer static and must be retrieved from the gameRenderer
- EntityPlayerMP is now ServerPlayerEntity (similar for client)
- Most items/blocks now have tools for passing essentially builder pattern classes, removing a lot of boilerplate
- IItemTier allows all scaling of items