Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
Nexus API
Nexus is a library mod whose core purpose is to simplify the development process as much as possible while being efficient and optimized, particularly in Multiloader project setups. It introduces a fairly large collection of abstractions and other conveniences without forcing developers to adhere to conventions strictly present on a higher level. Simply put, it gives developers tools that largely simplify/eliminate redundant tasks without baby-ing them to the extent that they can't do anything besides work with what it has to offer.
Features
- Comprehensive platform-agnostic registrar system: Allows for object registration cross-platform. However, unlike other registrar-based libraries, Nexus API's registrar provides extensive functionality for other aspects beyond simple registry hooks.
- Practical platform-agnostic utilities: Provides methods to retrieve ample information of different loader-specific implementations. Think mod data, environment side, etc.
- Straightforward platform-agnostic networking: Abstracts different networking oddities, thus allowing developers to focus on writing packets to sync information without worrying about internal quirks.
- Overarching platform-agnostic data generation system: Datagen is an often-untouched component of modding on multi-platform project setups, mainly due to the fact that picking a single loader (usually Neo/Forge) and outputting its generated data to your common sourceset suffices. Nexus API offers loader-agnostic data generation that works deterministically across all supported loaders, with its own easily-configurable system to make a typically-tedious aspect of writing code seamless and efficient.
- Property wrappers: An exhaustive utility that blends ease-of-use with efficiency. Property wrappers describe a system offered by Nexus API that allows developers to properly template and write all types of objects and any shared/associated properties.
- Fresh, easy-to-use and powerful event system: Nexus API adds its own non-intrusive yet powerful event system that cleanly interfaces across all loaders and holds its own without imposing negative performance impacts.
Developers should refer to the Nexus API Wiki for a proper overview and detailed description of all features offered by Nexus API.
Requisites
- Fabric API 0.96.2+1.20.1 or above for Fabric on 1.20.1.
F.A.Q
Q. Who is Nexus API for?
A. Nexus API targets developers who often use a Multiloader (or similar) project setup. It additionally provides substantial benefits when used by developers working with 1 specific loader, particularly when used in medium-sized or larger projects.
Q. Why use Nexus API? Why not opt for an already-existing platform like Architectury?
A. Nexus API provides its own feature set to save developers time writing otherwise annoying boilerplate code that may have compatibility issues across different loaders. Unlike Architectury, Nexus API doesn't have a platform ecosystem that you'd prefer working with in order to maximize efficiency - it's more of a one-stop shop for devs that want to get things done quickly and efficiently while maintaining compatibility and quality.
Q. How heavy is Nexus API?
A. The majority of "performance-taxing" operations in Nexus API are done during startup. Even then, Nexus API itself only adds a negligible amount of ms to startup time for standard packs (between 4 - 10s in heavier packs with larger content mods on Forge, and 10 - 20s on Fabric with similarly-heavy packs on a Xeon e5 2620 v4 CPU - tested with ~390 mods across both loaders, including content-heavy mods such as Cataclysm and Cobblemon. Times are effectively halved on more modern hardware). As for in-game runtime performance, Nexus API is heavily optimized to make virtually no noticeable performance impact at all on all fronts. In other words, it's optimized enough to where you (as a user and/or end-developer) don't need to worry about it, with or without performance optimization mods.


