StationAPI

StationAPI is one of two Cursed Fabric APIs. The 'station' in the name comes from Modification Station.

StationAPI is a modding API for Cursed Fabric, it goes in the mods folder of Cursed Fabric instances made for MultiMC. A handful of mods exist that support it, these mods and StationAPI itself can be found on Glass Repo.

StationAPI and a handful of mods (depends on the mod) work clientside and serverside.

Cursed Legacy API
There is another modding API for Cursed Fabric called Cursed Legacy API/6pak's API made by some Fabric Mod Authors. This API currently supports the Mojang launcher. StationAPI and mods that use many aspects from it are not compatible with Cursed Legacy API/6pak's API.

Mods That Only Required Cursed Fabric
Mods like Quit Button or Fabric Better Trapdoors that do not require an API just Cursed Fabric's loader will work in both Mojang launcher and MultiMC environments of Cursed Fabric. They will also work regardless of if StationAPI mods or Cursed Legacy API are in the mods folder due to not requiring them so they make for good test environment mods to see if Cursed Fabric installed correctly.

Glass Repo Description:

StationLoader API for Minecraft Beta 1.7.3 BIN Fabric

StationLoader is a new mod loader for Legacy Minecraft that aims to make mods compatible on both client and server without needing seperate verisons for each, along with tools so mod developers no longer need to edit Minecraft's base classes.

Using This to Run Mods

You will want to install the Cursed Fabric MultiMC Instance and download the latest release of StationLoader. Put the downloaded StationLoader jar into your mods folder, do NOT add as a jar mod.

License

StationLoader is available under the CC0 1.0 Universal License. Feel free to learn from it and incorporate it in your own projects.

1.1 Changelog:

In this version, added:

JSON models with custom textures for blocks (!)

Proper PlayerAPI

Block/Item names handler (will be used for potential ModLoader SL integration)

Chunk populators

Smelting recipes (with metadata, too!)

EnumFactory. Now you can create custom enum for any enum type (ToolMaterial factory already added in GeneralFactory) ModIDRegistry class that keeps track of Block/Item registry -> modid ("minecraft" for vanilla) -> block/item name -> ID dependency, so we'll be able to easier switch to namespace IDs in future.

BlockFaces enum

Fixed:

PlayerAPI crashing server

TileRenderer sprites injections applying wrongly

1.2 Changelog:

JSON recipes, NBT items, tile entities and QoL features

1.3 Changelog:

The Very Big update. Features:

Entities

Biomes

Custom packets

Universal CustomData packet

Expressions from https://github.com/benjiman/expressions

More stuff bound to StationMod instance (side and metadata)

Server-side mods verifying. If there are only server-side mods, a vanilla client can join

Server-side events for handling player join

Bug fixes

Preset classes for custom BlockItems

Updated mappings

More stuff is under StationLoader's ModID

ModIDs are now automatically appended to blocks, items and lang file translation keys

Modded armor can now have custom player model textures

Sounds are now fixed in dev workspace

BlockBase and ItemBase can now be instantiated using GeneralFactory

Assets-only mods are now a thing, meaning you don't need to know Java to create StationLoader mods (pretty limited at the moment)

Added events to handle items that are used in a crating recipe or are being crafted

Server-client GUIs

Block hardness per meta

Events for handling tools effectiveness on blocks

achievement.page changed to stationloader:achievementPage

UseFirst interface for items

Custom fuel items

Ability to check if an item is fuel

UnsafeProvider for dirty hacks

Custom Java block models

1.3.1 Changelog:

TileEntityRegister event fix

2.0_Pre 1 Changelog:

Oh, I'm gonna have so much fun writing this changelog...

Fixed multiplayer custom entity tracking

Custom audio loader

Utility annotations for entrypoints (Entrypoint, EventBusPolicy, Entrypoint.Instance, Entrypoint.ModID, Entrypoint.Config, Entrypoint.Logger)

Fixed UseOnBlockFirst on server

ArmorUtils

Fixed StAPI's config not saving

Complete StationAPI core setup rewrite.

Custom spawn data for server entities.

Registries for blocks, items, and more (Blocks and items are remapped per-world)

Multiline custom tooltips

Complete event system rework

Fixed packets varargs

OreDict

Level initialization event

Actual documentation on some stuff

Updated to latest fabric loader and loom

ModID and Identifier classes for dynamic identifier generation. Useful when you're not sure if you want to keep your modid the same

OreDict recipes

Added UseOnEntityFirst

Custom shears support

Mining levels and effective tool types for blocks

Custom block sounds

Preset for each and every vanilla item and block with public access to properties and constructors, as well as utility methods for mods

Vanilla OreDict

Item overlay render event

Updated mappings

Annotation alternatives for some interfaces (such as @Tracking, @HasCustomBlockItemFactory, @HasMetaNamedBlockItem, etc) Big API package refactor. No more empty interfaces, everything is now easily navigable

BlockItemFactoryCallback event

Added TypeTools dependency

Refactored achievement pages

Removed a lot of redundant factories from GeneralFactory

Refactored GuiHelper

Refactored PlayerHelper

Refactored PacketHelper

Refactored I18n

Refactored CraftingRegistry

Refactored SmeltingRegistry

Refactored UnsafeProvider

Added some events unlisted here

The only entrypoints now are "stationapi:event_bus", "stationapi:event_bus_server" and "stationapi:event_bus_client" Mods that require client side verification when joining a server should set their custom value "stationapi:verify_client" to true

This is the first pre-release of 2.0! Many things can and will break! And a lot of stuff is still on its way.