Skip to content

QuiltMC/quilt-standard-libraries

Repository files navigation

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) βœ”