Table of Contents:
☑️ Moonlight Lib for Minecraft 1.19.3 → 1.18.2 is a library mod for Minecraft that provides a framework for other mods to use. Essentially, it is a set of tools and resources that other modders can use to make their own mods more efficiently and effectively.
Some of the features of Moonlight Lib include:
- Customizable GUIs: The mod provides tools for creating custom Graphical User Interfaces (GUIs) for Minecraft mods. This allows modders to create unique and user-friendly interfaces for their mods.
- Networking: Moonlight Lib allows mods to communicate with each other over a network, which enables multiplayer support and other advanced features.
- Improved performance: The mod provides optimizations for Minecraft, which can improve the performance of other mods that use it.
- Compatibility: Moonlight Lib is compatible with a wide range of other mods, making it a useful tool for modders who want to create mods that work seamlessly with other mods.
- Easy to use: The mod is easy to install and use, with clear and concise documentation available for modders who want to use it in their own mods.
|☑️Customizable configuration options: The mod provides tools for creating customizable configuration options for Minecraft mods. This allows users to adjust settings and options to better fit their individual preferences.|
|☑️Advanced event system: Moonlight Lib includes an advanced event system that allows mods to respond to events in Minecraft, such as when a player interacts with a block or item.|
|☑️Cross-mod compatibility: Moonlight Lib provides support for cross-mod compatibility, which allows mods to work together seamlessly without conflicts or errors.|
|☑️Support for multiple Minecraft versions: The mod supports multiple versions of Minecraft, making it a flexible tool for modders who want to create mods for different Minecraft versions.|
|☑️Active development: Moonlight Lib is actively developed and updated, with new features and improvements being added regularly.|
As of now it contains the following:
|Dynamic resource pack utilities||A set of utilities that allow creating dynamic runtime resource packs and datapacks. Also easily allows respriting and retexturing existing textures, specifically useful to add new wood based blocks.|
|Dynamic block set registration|| Allows mods to specify a block set (which can be for example a wood type). The mod then will scan all registered blocks and fill the block set up only to then allow mods to register blocks that depend on it.
This can’t be easily done using traditional methods since the wood set itself depends on the registered blocks so registration must happen at a very specific time. This utility makes that task possible and easy to do. Note that it is still a form of dynamic registration which might have some drawbacks.
In a nutshell you have dynamic wood type support for your blocks. The wood set type already comes built-in.
|Block Color API:||A set of utilities which allows to detect any arbitrary modded block DyeColor as well as getting the equivalent block in a different color
This works dynamically for any modded block or item
|Custom map markers:|| A complete system that allows to easily implement and add map decoration and map markers as well as control every aspect of them like rendering. Also allows storing simple data inside maps data offering a couple of hooks to use it too like on item tooltip.
This system also offers a simple Data Driven implementation meaning you can easily register new markers with datapacks!
|Dynamic Villager AI||A helper system to easily and dynamically add tasks and modify villager schedules in a compatible way without overriding the whole existing AI. Also allows to properly add memory types|
|Custom first and third person animations:|| Allows modders to implement a simple interface in their items to allow it to have custom third and first person animations (like crossbows).
Includes simple and easy to use interfaces that can let you control first person and third person animations as well as a callback for rendering the item itself (similar to spyglass) directly in your item class
|Grindstone achievement triggers:||The mod adds a custom trigger that gets called when an item is passed through a grindstone that you can call in your mods advancements jsons|
|Soft fluid system:||An entirely Data Driven custom virtual fluid system that goes on top of forge one and is designed to fit better in vanilla minecraft and having as main feature the ability to have multiple fluid containers items like bottles, bowls and buckets, as well as providing support for stews and drinks that can be consumed directly from a fluid tank. As opposed to the forge fluid system it has a base unit of 1 minecraft bottle (250 forge mb). The system also automatically generates all the needed fluids for already registered forge fluids and allows the user to override them or add to them easily. Fluids are virtual so they can only exist in modded container specifically for them|
|Dispenser utilities:||Some code that allows to easily register dispenser behaviors without overriding already existing ones. Also comes with builtin spawn egg and block placement behaviors|
This includes some code to ease development in a multi loaded environment.
– Simple and unified registry system for both loader which also (for fabric) registers entries in order like forge registries
– Config wrapper system which allows to develop for forge config and cloth config simultaneously. Includes synced common configs and config screen helpers
– Common network code which allows to develop packets for both loaders
– Common dynamic baked models and special item renderers
– Basic support for forge recipe conditions
– Many platform helper methods