COWMODSКаталог модов

NexusLib

A multiloader general-purpose library mod

Автор: Hecco140,7 тыс.15обновлён 18 сент. 2026 г.
Библиотеки

Описание

NexusLib

NexusLib is a library mod that contains some useful functions, helpers, and systems utilized by my mods.



Features

- Loader-agnostic registry helpers for Multiloader projcts

- Public classes

- Utility methods

- Easily make families of blocks with automatic models, recipes, loot tables, and tags

- Create recipe trees for the Stonecutter

- Loader-agnostic tool action registry (stripping, tilling, pathing, etc)

- Registry for removing tint from specific blocks' particles

- Dripstone conversion registry

- Fluid interactions registry

- Easy code-based conditional item model overrides

- Easily create compatibility with other mods with automatic disabling

- Palette-template matrix sprite sources - a dynamic and compatibility-friendly version of paletted permutations



Credits

Code Help - @Yirmiri, @Artyrian

Other projects

Biomes of Bountiful Fares Bountiful Fares appledog!

Contact

Discord logo Bluesky logo Twitter / X logo Kofi logo

You can report bugs on GitHub.

Галерея

Banner

Последние версии

Все версии →
release

NexusLib 1.2.0

1.2.0
18 сент. 2026 г.17,1 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
# Nexuslib version 1.2.0 ## Fixes - Fixed an issue where planks blocks weren't being added to the axe_mineable tag - Fixed particles using the PARTICLE_SHEET_CLOUD particle render type rendering as black when any particle with the CUSTOM render type is being rendered as well (picking up items, Elder Guardian jumpscare, etc.) on neoforge - Fixed NullPointerExceptions related to NexusLib services that could occur intermittently ## Changes - Added argument `ofThisMod` to `generateBlockFamilyModels` in `NLModelProvider`, `generateBlockFamilyBlockTags` in `NLBlockTagProvider`, and `generateBlockFamilyItemTags` in `NLItemTagProvider` - When true, only files of the matching mod id will be generated (default behavior in previous versions) - Added argument `woodSuffix` to the method `logs` in `BlockFamilyCreator` - When false, the "_wood" suffix on wood log blocks will not be added (for when a wood type already has the word wood in it, for example Redwood) - Added map `LOG_TO_WOOD` which the method `logs` adds to - Added toggleable model generation for logs - Changed private fields in `BlockFamilyCreator` to be protected - Tags for a block family block to be added to in `addExistingBlock` is now a function which passes in the block family to allow non static block lists to be accessed - Reworked `addItemsToItemGroup` in `REGISTRY` service - Item origin and the stack to add are now handled through a `ItemGroupAddition` record - Position relative to the origin item can now be specified through the `ItemGroupAdditionType` value: - `ADD_AFTER` adds the item stack after the specified origin - `ADD_BEFORE` adds the item stack before the specified origin - `ADD_LAST` ignores the origin and force adds the item to the end of the item group ## New Features - Added a contributor cape switcher settings option (thanks to Yirmiri) - Those who have contributor capes can now enable/disable/switch between available capes in a new menu item in "Skin Customization" - Added contributor capes "Subterrous" and "Subterrous Super" - Added NLFluidInteractionRegistry - For defining interactions of a fluid when spreading, such as when cobblestone is made when water and lava meet - Supplies the fluid type, level, and block position, should return true (interaction was a success), or false - Added NLDripstoneConversionRegistry - For adding custom dripstone block conversion interactions - Takes in the input block, the fluid type (what kind of particles the pointed dripstone should drip) and the resulting block state - Added the Palette Template Matrix (`"nexuslib:palette_template_matrix"`) sprite source, a dynamic and compatibility-friendly version of paletted permutations - Similarly to `paletted_permutations`, this applies a set of given color palettes to a set of given template textures - Can be defined as such: - `"id"` - the identifier for the specific use case - `"palette_key"` the template color palette sprite directory - `"palette_definition_directory"` the directory to search for palette definition files - `"template_definition_directory"` the directory to search for template definition files - Instead of defining permutations in the sprite source definition, separate json files within specified directories are used - For palettes: - `"definition"` - a resource location used to id the palette or link it back to some definition - `"palette_location"` - the location of the palette resource - For template textures: - `"template_location"` - the location of the template resource - Additional json elements in these providers can be read through PTMEvents for specific functionality of features that use this sprite provider - Textures are saved to the location `assets/[template modid]/[template path]/[template texture name]_[palette modid]_[palette path]` - Event listeners for additional functionality/reading additional json elements in definition files can be done through PTMEvents - `registerPaletteDiscoveryCondition` - function that adds a condition to whether or not a certain palette should be discovered, provides the sprite source id, palette provider path, palette resource location, and the JsonObject - `registerTemplateDiscoveryCondition` - function that adds a condition to whether or not a certain template should be discovered, provides the sprite source id, template provider path, template resource location, and the JsonObject - `registerOnPaletteDiscoveryEvent` - runs when discovering palette definition files, provides the sprite source id, palette resource location, and the JsonObject - `registerOnTemplateDiscoveryEvent` - runs when discovering template definition files, provides the sprite source id, template resource location, and the JsonObject
release

NexusLib 1.2.0

1.2.0
18 сент. 2026 г.4,6 тыс.Minecraft: 1.21.1fabric
Скачать
Что нового
# Nexuslib version 1.2.0 ## Fixes - Fixed an issue where planks blocks weren't being added to the axe_mineable tag - Fixed particles using the PARTICLE_SHEET_CLOUD particle render type rendering as black when any particle with the CUSTOM render type is being rendered as well (picking up items, Elder Guardian jumpscare, etc.) on neoforge - Fixed NullPointerExceptions related to NexusLib services that could occur intermittently ## Changes - Added argument `ofThisMod` to `generateBlockFamilyModels` in `NLModelProvider`, `generateBlockFamilyBlockTags` in `NLBlockTagProvider`, and `generateBlockFamilyItemTags` in `NLItemTagProvider` - When true, only files of the matching mod id will be generated (default behavior in previous versions) - Added argument `woodSuffix` to the method `logs` in `BlockFamilyCreator` - When false, the "_wood" suffix on wood log blocks will not be added (for when a wood type already has the word wood in it, for example Redwood) - Added map `LOG_TO_WOOD` which the method `logs` adds to - Added toggleable model generation for logs - Changed private fields in `BlockFamilyCreator` to be protected - Tags for a block family block to be added to in `addExistingBlock` is now a function which passes in the block family to allow non static block lists to be accessed - Reworked `addItemsToItemGroup` in `REGISTRY` service - Item origin and the stack to add are now handled through a `ItemGroupAddition` record - Position relative to the origin item can now be specified through the `ItemGroupAdditionType` value: - `ADD_AFTER` adds the item stack after the specified origin - `ADD_BEFORE` adds the item stack before the specified origin - `ADD_LAST` ignores the origin and force adds the item to the end of the item group ## New Features - Added a contributor cape switcher settings option (thanks to Yirmiri) - Those who have contributor capes can now enable/disable/switch between available capes in a new menu item in "Skin Customization" - Added contributor capes "Subterrous" and "Subterrous Super" - Added NLFluidInteractionRegistry - For defining interactions of a fluid when spreading, such as when cobblestone is made when water and lava meet - Supplies the fluid type, level, and block position, should return true (interaction was a success), or false - Added NLDripstoneConversionRegistry - For adding custom dripstone block conversion interactions - Takes in the input block, the fluid type (what kind of particles the pointed dripstone should drip) and the resulting block state - Added the Palette Template Matrix (`"nexuslib:palette_template_matrix"`) sprite source, a dynamic and compatibility-friendly version of paletted permutations - Similarly to `paletted_permutations`, this applies a set of given color palettes to a set of given template textures - Can be defined as such: - `"id"` - the identifier for the specific use case - `"palette_key"` the template color palette sprite directory - `"palette_definition_directory"` the directory to search for palette definition files - `"template_definition_directory"` the directory to search for template definition files - Instead of defining permutations in the sprite source definition, separate json files within specified directories are used - For palettes: - `"definition"` - a resource location used to id the palette or link it back to some definition - `"palette_location"` - the location of the palette resource - For template textures: - `"template_location"` - the location of the template resource - Additional json elements in these providers can be read through PTMEvents for specific functionality of features that use this sprite provider - Textures are saved to the location `assets/[template modid]/[template path]/[template texture name]_[palette modid]_[palette path]` - Event listeners for additional functionality/reading additional json elements in definition files can be done through PTMEvents - `registerPaletteDiscoveryCondition` - function that adds a condition to whether or not a certain palette should be discovered, provides the sprite source id, palette provider path, palette resource location, and the JsonObject - `registerTemplateDiscoveryCondition` - function that adds a condition to whether or not a certain template should be discovered, provides the sprite source id, template provider path, template resource location, and the JsonObject - `registerOnPaletteDiscoveryEvent` - runs when discovering palette definition files, provides the sprite source id, palette resource location, and the JsonObject - `registerOnTemplateDiscoveryEvent` - runs when discovering template definition files, provides the sprite source id, template resource location, and the JsonObject
release

NexusLib 1.1.5

1.1.5
7 июн. 2026 г.31,7 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
# Nexuslib version 1.1.5 ## Changes - BlockFamilyCreator now takes a block behaviors as a supplier instead of straight behaviors - Added NLMath util class - added `berp` method, which creates a smooth interpolation that goes from one value to another and back - Added biome tags `nexuslib:has_wolf_[variant]_variant` - Adding biomes to a specific wolf variant's tag will override the spawn conditions and force that variant to be selected when spawning in that biome - Only works for vanilla variants
release

NexusLib 1.1.5

1.1.5
7 июн. 2026 г.10,9 тыс.Minecraft: 1.21.1fabric
Скачать
Что нового
# Nexuslib version 1.1.5 ## Changes - BlockFamilyCreator now takes a block behaviors as a supplier instead of straight behaviors - Added NLMath util class - added `berp` method, which creates a smooth interpolation that goes from one value to another and back - Added biome tags `nexuslib:has_wolf_[variant]_variant` - Adding biomes to a specific wolf variant's tag will override the spawn conditions and force that variant to be selected when spawning in that biome - Only works for vanilla variants
release

NexusLib 1.1.4

1.1.4
15 мар. 2026 г.18,8 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
# Nexuslib version 1.1.4 ## Changes - Added a registry method for PoI types - Fixed log spam when a custom post shader is applied - Fixed `addItemsToItemGroup` not doing anything on neoforge - Added a method variant of 'createBlockEntity' that takes in a list of blocks instead of using varargs - Fixed NLCompatAPI causing insane memory leaks (oops!) - Added registry methods for structure types, structure pieces, and structure processors - Fixed a typo in the method name of `generateBlockFamilyRecipies`
release

NexusLib 1.1.4

1.1.4
15 мар. 2026 г.9,1 тыс.Minecraft: 1.21.1fabric
Скачать
Что нового
# Nexuslib version 1.1.4 ## Changes - Added a registry method for PoI types - Fixed log spam when a custom post shader is applied - Fixed `addItemsToItemGroup` not doing anything on neoforge - Added a method variant of 'createBlockEntity' that takes in a list of blocks instead of using varargs - Fixed NLCompatAPI causing insane memory leaks (oops!) - Added registry methods for structure types, structure pieces, and structure processors - Fixed a typo in the method name of `generateBlockFamilyRecipies`
release

NexusLib 1.1.3

1.1.3
5 янв. 2026 г.11,6 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
# Nexuslib version 1.1.3 ## Changes - Refactored NLFuelRegistry and NLToolActions - Added a registry for default entity attributes - Added a registry for post-process shader effects - Provide the condition for when to apply the shader, the directory to the core shader json, and when it can be disabled by the f4 key - Fixed a vanilla issue where post-process effects would be disabled when opening the gamemode switcher - Fixed a typo in the method name of "sendToServer" (previously sentToServer) - Fixed an issue on neoforge where if two different mods that use Nexuslib for registry are loaded together, the former will register its content under the latter's id - Added a registry method for non-simple particle types - Added a registry for force loading models - Added a registry for item model overrides - Added a registry for commands - Added a registry method for command arguments - Added NLParticleRenderTypes - Adds `PARTICLE_SHEET_CLOUD` particle render type - Translucent render type that doesn't have some visual glitches that normal translucent particles do when rendering over each other, is typically used for "clouds" of one type of particle or when many are meant to overlap each other. It does have issues with depth sorting though, so its not great for other applications.
release

NexusLib 1.1.3

1.1.3
5 янв. 2026 г.10,1 тыс.Minecraft: 1.21.1fabric
Скачать
Что нового
# Nexuslib version 1.1.3 ## Changes - Refactored NLFuelRegistry and NLToolActions - Added a registry for default entity attributes - Added a registry for post-process shader effects - Provide the condition for when to apply the shader, the directory to the core shader json, and when it can be disabled by the f4 key - Fixed a vanilla issue where post-process effects would be disabled when opening the gamemode switcher - Fixed a typo in the method name of "sendToServer" (previously sentToServer) - Fixed an issue on neoforge where if two different mods that use Nexuslib for registry are loaded together, the former will register its content under the latter's id - Added a registry method for non-simple particle types - Added a registry for force loading models - Added a registry for item model overrides - Added a registry for commands - Added a registry method for command arguments - Added NLParticleRenderTypes - Adds `PARTICLE_SHEET_CLOUD` particle render type - Translucent render type that doesn't have some visual glitches that normal translucent particles do when rendering over each other, is typically used for "clouds" of one type of particle or when many are meant to overlap each other. It does have issues with depth sorting though, so its not great for other applications.
release

NexusLib 1.1.2

1.1.2
11 сент. 2025 г.14 тыс.Minecraft: 1.21.1neoforge
Скачать
release

NexusLib 1.1.2

1.1.2
11 сент. 2025 г.11,9 тыс.Minecraft: 1.21.1fabric
Скачать