EML Lib v2.2.0: Towards complete autonomy
The release of EML Lib v2.2.0 marks a pivotal milestone for the project. Initially designed to operate in tandem with the EML AdminTool, the library now reaches a new level of flexibility with the introduction of the “agnostic” mode.
Here are the major highlights of this update.
Independent launch (agnostic mode)
This is the flagship feature of v2.2.0. Previously, EML Lib relied on the EML AdminTool API to resolve Minecraft versions, mod loaders (Forge, Fabric, etc.), and modpack manifests.
You can now use the library completely independently. By simply defining a Minecraft version or a local profile in your configuration, EML Lib automatically queries Mojang and loader APIs to build the game instance. The EML AdminTool is now optional, making the library ideal for lightweight projects or specific standalone needs.
Strict config verification and exhaustive JSDoc
Developer Experience (DX) was a core focus of this version.
- Robust validation: The internal logic for processing configurations has been reinforced. The final
ResolvedConfigobject is now strictly validated to prevent runtime errors during launch. - Complete JSDoc: All configuration interfaces have been rewritten from the ground up. Every property is now documented with precision, including default values, links to external resources, and clear precedence rules. Your IDE will now guide you through the configuration process without requiring external documentation.
Java class refactor
To modernize the library’s usage, we have overhauled the implementation of the Java class.
- Overloads: The constructor and methods now accept configuration objects, aligning with modern TypeScript standards and improving integration.
- Deprecation: The legacy instantiation method is now marked as
@deprecated. While it remains functional to ensure backward compatibility, we strongly recommend migrating to the new syntax to ensure long-term support for your code.
How to update?
Version 2.2.0 is already available on npm. To update your project, run:
npm install @eml/lib@latest We are continuing to develop new resources for the website, including the Config generator, to help you take full advantage of these new features.