Nifty

Quick rating

Community listing page, reviews may not be monitored by the author.

Nifty

No reviews yet

A cross-platform library mod for transfer, machinery, networking, UI and more.

Mod Loaders
Minecraft

About

Description

Nifty

Nifty is a cross-platform library mod providing simplified systems for transfer, machinery, networking, UI and more, on both Forge and Fabric. If you're grabbing this mod as a dependency, don't worry about the ramblings below.

Nifty is used as a library for most of my other mods to ease cross-platform development and lessen code duplication; it also does introduce its own systems that are vastly useful though with Aspects and transfer functionality.

Info

Feel free to use Nifty in any of your own projects, as a mod dependency or within a modpack. See the LICENSE file for more information. Contribution is also heavily appreciated; if you find Nifty is lacking a feature you think would fit, let us know in the issues.

The API is pretty extensively documented through the Javadoc.

Nifty

Nifty is a cross-platform library mod providing simplified systems for transfer, machinery, networking, UI and more, on both Forge and Fabric. If you're grabbing this mod as a dependency, don't worry about the ramblings below.

Nifty is used as a library for most of my other mods to ease cross-platform development and lessen code duplication; it also does introduce its own systems that are vastly useful though with Aspects and transfer functionality.

Info

Feel free to use Nifty in any of your own projects, as a mod dependency or within a modpack. See the LICENSE file for more information. Contribution is also heavily appreciated; if you find Nifty is lacking a feature you think would fit, let us know in the issues.

The API is pretty extensively documented through the Javadoc.

Features (for developers)

  • Aspects
    • System that looks something like a cross between Forge's capabilities and the Fabric API lookups
    • Very similar implementation to capabilities; block entities etc can implement an interface to provide an aspect
    • The aspects are then wrapped in a lazy optional, much like forge, and recognize when they are invalidated
    • Fully featured simulation-based transfer system for items, fluids, and energy
      • Simple handler implementations for use in your own systems
      • FluidStack system that gets wrapped on Forge and defers to FluidVariants on Fabric
      • Wrappers on both Forge and Fabric
      • Full mod support: on Forge, uses default item, fluid and FE systems; on Fabric, uses Fabric API transfer systems and Team Reborn's Energy API
      • Also includes abstracted implementations for simple transfer of your own custom types
    • Component UI sytem (InputWidgets) stolen from my API in Logic Networks, which will eventually be swapped to depend on this one
    • Some rendering helper methods
    • Base blockentity, menu, and block implementations simplifying machine creation
    • Platform information and utilities, accessors, etc
    • Networking system for simple packet registration and handling, reminiscent of Forge's SimpleImpl
    • More in the works!