• Stars
    star
    135
  • Rank 267,597 (Top 6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A set of libraries to assist in making Quilt mods.

Quilt Standard Libraries (QSL)

Java 17 GitHub license Mod loader: Quilt Version

Essential standard libraries for the Quilt ecosystem.

The Quilt Standard Libraries gives modders Quilt-exclusive tools to add new and exciting features to their mods.

Note: At the moment, the Quilt Standard Libraries are in beta, meaning issues may arise and should still be treated as experimental. Please make an issue or talk to the QSL team on discord or on the forum before writing any PRs.

Repository structure

The repository has 2 main parts:

  • The library folder. This contains all the libraries that are part of the Quilt Standard Libraries.
  • The build-logic folder. This is an included build in Gradle and contains most of the buildscript used inside the libraries. This keeps the buildscripts inside the library folder as minimal as possible; definitions of data rather than logic.

Features

Here are multiple charts of features available in QSL which also serves as a comparison chart with Fabric API.

The charts are organized by QSL libraries.

Quick legend:

  • βœ” = Included
  • ❌ = Not Included/Not Yet
  • πŸ™… = No plans
  • 🚧 = Work In Progress

Core Library

Feature QSL Fabric API
Auto Test Server argument βœ” ❌
Event API βœ” βœ”
Event API - Phases βœ” βœ”
Event API - Events as Entrypoints βœ” ❌
Gametest API βœ” βœ”
Initializer Entrypoints βœ” βœ” (in loader)
Networking API βœ” βœ”

Crash Report

Feature QSL Fabric API
Crash report extra context βœ” βœ”
Crash report extra context API βœ” ❌

Core - Lifecycle Events

Feature QSL Fabric API
Client Lifecycle Events βœ” βœ”
Client Tick Events βœ” βœ”
Client World Tick Events βœ” βœ”
Client Block Entity Events ❌ βœ”
Client Chunk Events ❌ βœ”
Common Lifecycle Events ❌ βœ”
Server Lifecycle Events βœ” βœ”
Server Tick Events βœ” βœ”
Server World Load Events βœ” βœ”
Server World Tick Events βœ” βœ”
Server Block Entity Events ❌ βœ”
Server Chunk Events ❌ βœ”

Core - Registry

Feature QSL Fabric API
Addition Events βœ” βœ”
Addition Events Helper βœ” ❌
Registry Syncing βœ” βœ”
Registry Syncing - Exclude Specific Entries βœ” ❌

Core - Resource Loader

Feature QSL Fabric API
Load mod resources. βœ” βœ”
Resource Loader Events βœ” βœ” (in lifecycle, non equivalent)
Built-in resource pack API βœ” βœ”
Programmer Art API βœ” βœ”
Group resource pack API βœ” πŸ™…
Resource Pack Provider API βœ” ❌
Resource Reloaders βœ” βœ”
Resource Reloaders - Advanced Sorting βœ” ❌
Virtual Resource Packs βœ” ❌

Block Library

Feature QSL Fabric API
Extended Block Settings βœ” βœ”
Extended Material Builder βœ” βœ”
Block Render Layers API βœ” βœ”
All Block Constructors Are Public βœ” βœ”
Block Entity Type registration helper βœ” βœ”
Block Entity Type post-creation supported block editing βœ” πŸ™…
Block Entity Syncing Helper βœ” ❌
Block Content Registry - Flammable βœ” βœ”
Block Content Registry - Flammable (data-driven) βœ” πŸ™…
Block Content Registry - Flattenable βœ” βœ”
Block Content Registry - Flattenable (data-driven) βœ” πŸ™…
Block Content Registry - Oxidation βœ” βœ”
Block Content Registry - Oxidation (data-driven) βœ” πŸ™…
Block Content Registry - Sculk Frequency βœ” βœ”
Block Content Registry - Sculk Frequency (data-driven) βœ” πŸ™…
Block Content Registry - Strippable βœ” βœ”
Block Content Registry - Strippable (data-driven) βœ” πŸ™…
Block Content Registry - Tileable ❌ βœ”
Block Content Registry - Tileable (data-driven) ❌ πŸ™…
Block Content Registry - Waxing βœ” βœ”
Block Content Registry - Waxing (data-driven) βœ” πŸ™…

Data Library

Feature QSL Fabric API
Advancement Criterion Registration Helper βœ” βœ”
Recipe API βœ” πŸ™…
Registry Entry Attachments βœ” πŸ™…
Client-fallback/Client-only tags βœ” βœ” (fallback only)
Client-fallback/Client-only tags - integration within Vanilla methods βœ” πŸ™…
Convention Tags ❌ βœ”
Data Generation 🚧 βœ”
Loot Table API ❌ βœ”
Resource Conditions ❌ βœ”
Component API (like CCA or Forge capabilities) 🚧 ❌

Entity Library

Feature QSL Fabric API
EntityType registration helpers βœ” βœ”
Entity Events βœ” βœ”
Multipart Entity API βœ” ❌
Point of interest helper βœ” βœ”
Status Effects API βœ” ❌
Tracked Data Handler Registry βœ” ❌
Trade offer API βœ” βœ”

GUI Library

Feature QSL Fabric API
Screen API βœ” βœ”
Item Tooltip Event βœ” βœ”
Tooltip Component - Event βœ” βœ”
Key Binds API 🚧 βœ”
Screen Handler API ❌ βœ”

Item Library

Feature QSL Fabric API
Item Extension - Bow βœ” ❌
Item Extension - Crossbow βœ” ❌
Item Groups ❌ βœ”
Item Settings βœ” βœ”
Item Settings - Custom Item Setting βœ” ❌
Item Content Registry - Composter βœ” βœ”
Item Content Registry - Composter (data-driven) βœ” πŸ™…
Item Content Registry - Fuel βœ” βœ”
Item Content Registry - Fuel (data-driven) βœ” πŸ™…

Management Library

Feature QSL Fabric API
Commands βœ” βœ”
Client Commands βœ” βœ”
Game Rules ❌ βœ”
Entity Selector Options βœ” βœ”
Message API βœ” βœ”

Rendering Library

Feature QSL Fabric API
Renderer API ❌ βœ”
Data Attachment ❌ βœ”
Hud Render API ❌ βœ” (limited Event)
Built-in Item Rendering ❌ βœ”
Block Entity Renderer Registry ❌ βœ”
Armor Rendering βœ” βœ”
Color Provider Registry ❌ βœ”
Entity Renderer Registry ❌ βœ”
Entity Model Layer Registry ❌ βœ”
Living Entity Feature Renderer Registration Event ❌ βœ”
Data-driven Entity Models 🚧 πŸ™…
Data-driven Animations 🚧 πŸ™…
World Render Events ❌ βœ”
Fluid Rendering ❌ βœ”

Transfer Library

Feature QSL Fabric API
Transfer API ❌ βœ”

Worldgen Library

Feature QSL Fabric API
Biome Modifications API βœ” βœ”
Add Nether Biomes βœ” βœ”
Add End Biomes βœ” βœ”
Dimension API βœ” βœ”
Surface Rule API βœ” ❌

Miscellaneous Library

Feature QSL Fabric API
Modded DFU API ❌ ❌
API Lookup API 🚧 (through Component API) βœ”

More Repositories

1

quiltflower

Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
Java
494
star
2

quilt-loader

The loader for Quilt mods.
Java
353
star
3

quilt-template-mod

Official Quilt template mod.
Java
188
star
4

quilt-mappings

Quilt's Mappings for Minecraft
Java
90
star
5

chasm

Chasm is a java bytecode transformer designed to handle collision between transformers wherever possible.
Java
64
star
6

rfcs

Repository for requests for comments for proposing changes to the Quilt Project.
57
star
7

quiltmc.org

The source for quiltmc.org
MDX
54
star
8

art

Art.
47
star
9

quilt-kotlin-libraries

Quilt's official Kotlin libraries, which provide wrappers for QSL and Minecraft to ease development in Kotlin
Kotlin
42
star
10

quilt-installer

The Quilt installer for the official Minecraft launcher and servers
Java
39
star
11

enigma

A deobfuscation/remapping tool for Java bytecode, fork of cuchaz's Enigma.
Java
32
star
12

asmr-processor-prototype

Prototype experiments for the ASMR Processor
Java
30
star
13

developer-wiki

The source code for the Quilt Developer Wiki
Java
30
star
14

cozy-discord

Discord bot used for Quilt's day-to-day tasks. Discord avatar based on Feuerfuchs blobfox emoji at https://www.feuerfuchs.dev/en/projects/blobfox-emojis/
Kotlin
22
star
15

quilt-config

Quilt Config (aka "haven king's metadata of madness") is a library designed to facilitate the creation and management of config files.
Java
21
star
16

quilt-loom

20
star
17

intermediary

18
star
18

quilt-native-installer

The installer for quilt-loader
Rust
17
star
19

quilt-kotlin-template-mod

Official Quilt Kotlin Template mod.
Kotlin
15
star
20

quilt-mappings-on-loom

Use Quilt Mappings on Loom
Java
13
star
21

quilt-json5

Java
10
star
22

mappings-hasher

Java
10
star
23

cfr

A fork of the CFR Java decompiler
Java
8
star
24

yarn

Java
8
star
25

procyon

A fork of https://github.com/mstrobel/procyon
Java
7
star
26

quilt-meta

Java
6
star
27

matcher

Java
6
star
28

chasm-gradle-plugin

A Gradle plugin for the Chasm bytecode transformer
Java
6
star
29

quilt-loader-sat4j

Java
5
star
30

quilt-gradle-licenser

The Quilt Licenser Gradle plugin.
Java
5
star
31

quilt-enigma-plugin

An Enigma plugin with multiple utilities
Java
5
star
32

access-widener

Java
5
star
33

tiny-remapper

Java
5
star
34

future-gradle-plugin

An experimental replacement for loom - not ready
Java
5
star
35

quilt-bulma

Quilt's customisations to the Bulma CSS framework
SCSS
5
star
36

quilt-mapping-tools

Java
5
star
37

dev-launch-injector

Java
4
star
38

stitch

Java
4
star
39

template-repo-syncer

GitHub Action periodically syncing the template repository with other providers
4
star
40

sponge-mixin-compile-extensions

Java
3
star
41

launchermeta-parser

A library that parses Mojang's LauncherMeta API
Java
3
star
42

tiny-mappings-parser

Java
3
star
43

quilt-parsers

quilt parsers
Java
3
star
44

lorenz-tiny

Java
2
star
45

cozy-automation-python

A Python evaluation bot for our community
Python
2
star
46

quilt-json-schemas

The repository of all Quilt-related JSON schemas.
2
star
47

matcher-mc

Java
2
star
48

syntaxpain

a fork of sciss' syntaxpane library for swing, adapted, minified, and optimised for the needs of our enigma fork
Java
2
star
49

.github

Organisation documents
1
star
50

gson-stream

A repackage of gson's stream api
Java
1
star
51

mapping-poet

Java
1
star
52

quilt-multi-java-gen

[Experimental] source code convertor for `@Sealed` to `sealed`
Java
1
star
53

quilt-mod-spec

Proposed/Experimental repository for the quilt.mod.json specification, and a Java API for working with quilt mod files.
Java
1
star
54

qm-matcher

JavaScript
1
star
55

gradle-convention-plugins

Java
1
star
56

workers

Our collection of Cloudflare Workers
TypeScript
1
star
57

beacon.quiltmc.org

Service in charge of accepting beacon signals from the loader
Python
1
star
58

javadoc-draftsman

A tool for erasing bytecode, to allow decompilation of recompilable source code to which Javadoc comments can be attached.
Java
1
star