/Porting-Lib

A collection of utilities for porting mods from Forge to Fabric.

Primary LanguageJavaOtherNOASSERTION

Porting Lib

A collection of utilities for porting mods from Forge to Fabric.

Use

Porting Lib is split into modules. All modules are available on this maven:

maven { url = "https://mvn.devos.one/snapshots/" }
modImplementation(include("io.github.fabricators_of_create.Porting-Lib:<module>:<version>"))

The latest major and minor versions can be found in the gradle.properties file as mod_version. The latest patch can be found from GitHub Actions as the build number.

Modules

Module Description
Porting-Lib Fat jar including all modules
accessors Accessor mixins aplenty
attributes Additional Entity Attributes; step height, gravity, swim speed
base Code that has not yet been split into modules
brewing Small library for adding brewing recipes
chunk_loading Chunk loading management
client_events Useful client-side events
common Miscellaneous utilities for other modules
config Super light weight implementation of forge's config library
core Core functionality used across other modules
data Additional data generation providers
entity Multipart entities, extra spawn data, removal listening
extensions Extensions to vanilla classes for additional functionality
fake_players A basic fake server player implementation that can be used to simulate player actions
gametest Tools to make GameTest creation as easy as possible
lazy_registration A implementation of forge's DeferredRegister system rewritten for fabric
loot A small library to modify mob loot
mixin_extensions More features for Mixins
model_builders Additional model builders for data generation
model_generators Forge model generators
model_loader Base loader for custom model types
model_materials Material data for use in rendering
models Model implementations, ModelData, RenderTypes
networking A Forge-like packet system
obj_loader Loading .obj models
recipe_book_categories Allows mods to add additional recipe book categories
registries Custom datapack registries and registry utils
tags Forge tags
tool_actions Utilities for tool interactions.
transfer Storage implementations, client-side lookup, FluidStack, assorted transfer utilities
utility Miscellaneous utilities that are too niche for other modules

Contributing

See the contribution information.

Related APIs

Some APIs (some in-house) we've found to also be useful with porting mods.

Name Description
Forge Config API Port A port of the Forge config API to Fabric
Registrate Refabricated A port of Registrate to Fabric
Reach Entity Attributes Provides Entity Attributes for reach distance
Milk Lib Provides a Milk fluid as well as other milk items used often by mods
Cardinal Components API Provides Components, which can replace Capabilities
Trinkets Accessories, replacing Curios
Here be no Dragons Hides the Experimental World Settings screen
Mixin Extras For when Mixin just isn't enough
Fabric ASM For when Mixin Extras just isn't enough