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 April 19, 2024 00:36
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 April 13, 2024 15:36
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 January 25, 2024 03:35
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 13, 2024 05:19
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 January 4, 2024 18:31
how to add to village farms in a mod/datapack compatible way that can stack without overwriting each other.
// This gist code is public domain. Take it! Steal it! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!
// 1.18.2+
public ExampleMod() {
MinecraftForge.EVENT_BUS.addListener(this::addNewVillageCrop);
}
public void addNewVillageCrop(final ServerAboutToStartEvent event) {
// Dynamic registry of processor lists. We will edit the processor lists from here as this is what the world will actually use.
Registry<StructureProcessorList> processorListRegistry = event.getServer().registryAccess().registry(Registry.PROCESSOR_LIST_REGISTRY).orElseThrow();
@androidfred
androidfred / kotlin_arrow.md
Last active December 7, 2023 17:42
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