Skip to content

Instantly share code, notes, and snippets.

@FoundationGames
FoundationGames / chasmix_doc.md
Last active August 28, 2022 07:24
Chasmix: Tool to convert Mixin classes to Chasm transformers

Chasmix Design Doc

Background

  • Quilt is a Minecraft mod loading toolchain forked from Fabric, with a flexible ASM transformation library known as Chasm
  • Chasm transformers are written in a turing complete language called Chassembly, which can be generated on the fly
  • These transformers can be applied both at runtime, as well as in a mod project developed with Gradle (through Chasm's Gradle plugin)
  • Quilt also aims to be fully compatible (within reason) with Fabric mods
  • Fabric mods make use of a high level ASM transformation library known as Mixin, which is loaded by Fabric Loader
  • Mixin classes, in order to load compatibly on Quilt, should be processed into Chasm transformers which produce effectively similar, if not equivalent, behavior
@FoundationGames
FoundationGames / Minecraft Variant Family API.md
Last active April 30, 2022 21:30
Proposal/Design Doc for Block/Item/etc families in QSL

Families

  • A family represents a block, item, etc "type".
  • Each family is a completely unique object from each other, even if two happen to have the same members within them.
  • This means families could have completely different collections of members. This is something found in base Minecraft, since the members in vanilla block families are not consistent (some don't have walls, others don't have cracked bricks, etc)
  • To create a family, you may construct a new one which is completely unique, or make a copy of another family, which brings over its Family Tags.

Family Attributes

  • Id: a namespaced identifier for the family.
  • Family Tags: a basic level of categorization. This may include things like wood, overworld_wood, ore, overworld_stone, etc.
  • Dictionary: a (currently empty) pool of key -> value pairs that will be used for data generation in family members later. (described further down)