NovaCore is a library mod for creating NeoForge mods. It contains common classes for creating blocks, items, etc., and data generation classes.
Why use a library mod?
Using a library mod removes a lot of boilerplate code required to get things up and running. This allows you to focus on what matters most and not spend a lot of time writing code that is required by the framework you choose.
Planned Features
- Better support for NeoForge
- Eventually become framework agnostic and supports both NeoForge and Fabric.
- Create NovaCore-API (Contains framework agnostic code for your mod)
- Create NovaCore-NeoForge (Contains everything needed to bootstrap NeoForge mods)
- Create NovaCore-Fabric (Contains everything needed to bootstrap NeoForge mods)
Wiki
The wiki will have the most up-to-date information about NovaCore.
Check out Discussions on GitHub.
Issues
If you find an issue or a bug, please report it on GitHub.
Community
Join our friendly community to get help for NovaCore and other add-ons and chat with the rest of the players! Like what you see? Consider becoming a Patreon!
Server Hosting
Need a server to play with friends? Don't know how to set one up? Just rent an already-configured server!
Click on the picture below, select your plan (at least 4GB), use my code Nova to get 25% off your first month, and enjoy playing with your friends!

How to Install NovaCore (Mod)
NovaCore by NovaMachina is verified for Neoforge across Minecraft versions 1.20.1, 1.20.4, 1.21, 1.21.4 (latest release: 1.21.4-4.0.0-build.5, file size: 77 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20.1, 1.20.4, 1.21, 1.21.4) and platform (Neoforge).
- Make sure you have the compatible loader or environment installed for Neoforge.
- Move the downloaded NovaCore file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add VersionAll notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [NeoForged Semantic Versioning](https://docs.neoforged.net/docs/gettingstarted/versioning).
## [4.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v3.0.0...v4.0.0) - 2025-01-15
### Added
- Registry key to
AbstractRegistry BlockBehavior.Propertiesto block factory methodsItem.Propertiesto item factory methodsBucketItemfactory method- Add tag to tag
### Changed
- Update to 1.21.4
- Require NeoForge 21.4.20-beta
- Burnable block factory method
- Conditions from
LootModifierDefinition IngredientUtilsis essentially defunct- Fluid textures are no longer set in
FluidDefinition
## [3.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v2.0.0...v3.0.0) - 2024-07-09
### Added
IServiceProviderto work more towards framework-agnostic library- Factory classes for
BlockItem,Block, andBlockEntityType - Orrientable blockstate functions for data generation
- Menu and Screen support
- Unit testing for some registries
### Changed
- Updated to NeoForge 21.0.40-beta
- Move NeoForge Registry classes to
novamachina.novacore.bootstrap.core.registries
### Removed
BlockBuilderclass. UseBlockBehavior.Propertiesand factory functions fromBlockRegistry
## [2.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0...v2.0.0) - 2024-03-14
### Added
- BlockState provider
- Recipe provider
- Abstract Recipe and RecipeSerializer
### Changed
- Updated to NeoForge 20.4.167
- Replace all references of Forge with NeoForge
- Replace
ForgeRegistrieswith eitherBuiltInRegistriesorNeoForgeRegistries - Use Codec encoding for
FluidStackandItemStack - Replace
ExistingFileHelperinRecipeProviderwithCompletableFuture<HolderLookup.Provider> Consumer<FinishedRecipe>->RecipeOutputAbstractLangGeneratoris now abstract- Falling block factory method returns ColoredFallingBlock with color value -8356741
### Removed
- Lombok
- Some
@NonNulland@Nullable - Removed
idparameter fromRecipeas it is no longer used by Vanilla
## [1.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0) - 2023-10-24
### Added
- Requires NeoForge 47.1.55+
- Bootstrap classes for Neoforge registries
- Common Block Entity renderer
- Mostly framework agnostic definitions for:
- Blocks
- Block Entities
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Framework agnostic registries for:
- Block Entity Types
- Block
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Recipe Types
- Sound Events
- Data Generation classes for:
- Recipes
- Loot Tables
- Tags
- Language
- Common utility classes
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [NeoForged Semantic Versioning](https://docs.neoforged.net/docs/gettingstarted/versioning).
## [3.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v2.0.0...v3.0.0) - 2024-07-09
### Added
IServiceProviderto work more towards framework-agnostic library- Factory classes for
BlockItem,Block, andBlockEntityType - Orrientable blockstate functions for data generation
- Menu and Screen support
- Unit testing for some registries
### Changed
- Updated to NeoForge 21.0.40-beta
- Move NeoForge Registry classes to
novamachina.novacore.bootstrap.core.registries
### Removed
BlockBuilderclass. UseBlockBehavior.Propertiesand factory functions fromBlockRegistry
## [2.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0...v2.0.0) - 2024-03-14
### Added
- BlockState provider
- Recipe provider
- Abstract Recipe and RecipeSerializer
### Changed
- Updated to NeoForge 20.4.167
- Replace all references of Forge with NeoForge
- Replace
ForgeRegistrieswith eitherBuiltInRegistriesorNeoForgeRegistries - Use Codec encoding for
FluidStackandItemStack - Replace
ExistingFileHelperinRecipeProviderwithCompletableFuture<HolderLookup.Provider> Consumer<FinishedRecipe>->RecipeOutputAbstractLangGeneratoris now abstract- Falling block factory method returns ColoredFallingBlock with color value -8356741
### Removed
- Lombok
- Some
@NonNulland@Nullable - Removed
idparameter fromRecipeas it is no longer used by Vanilla
## [1.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0) - 2023-10-24
### Added
- Requires NeoForge 47.1.55+
- Bootstrap classes for Neoforge registries
- Common Block Entity renderer
- Mostly framework agnostic definitions for:
- Blocks
- Block Entities
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Framework agnostic registries for:
- Block Entity Types
- Block
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Recipe Types
- Sound Events
- Data Generation classes for:
- Recipes
- Loot Tables
- Tags
- Language
- Common utility classes
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [NeoForged Semantic Versioning](https://docs.neoforged.net/docs/gettingstarted/versioning).
## [2.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0...v2.0.0) - 2024-03-14
### Added
- BlockState provider
- Recipe provider
- Abstract Recipe and RecipeSerializer
### Changed
- Updated to NeoForge 20.4.167
- Replace all references of Forge with NeoForge
- Replace
ForgeRegistrieswith eitherBuiltInRegistriesorNeoForgeRegistries - Use Codec encoding for
FluidStackandItemStack - Replace
ExistingFileHelperinRecipeProviderwithCompletableFuture<HolderLookup.Provider> Consumer<FinishedRecipe>->RecipeOutputAbstractLangGeneratoris now abstract- Falling block factory method returns ColoredFallingBlock with color value -8356741
### Removed
- Lombok
- Some
@NonNulland@Nullable - Removed
idparameter fromRecipeas it is no longer used by Vanilla
## [1.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0) - 2023-10-24
### Added
- Requires NeoForge 47.1.55+
- Bootstrap classes for Neoforge registries
- Common Block Entity renderer
- Mostly framework agnostic definitions for:
- Blocks
- Block Entities
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Framework agnostic registries for:
- Block Entity Types
- Block
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Recipe Types
- Sound Events
- Data Generation classes for:
- Recipes
- Loot Tables
- Tags
- Language
- Common utility classes
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [NeoForged Semantic Versioning](https://docs.neoforged.net/docs/gettingstarted/versioning).
## [1.0.0](https://github.com/NovaMachina-Mods/NovaCore/compare/v1.0.0...HEAD) - 2023-10-24
### Added
- Requires NeoForge 47.1.55+
- Bootstrap classes for Neoforge registries
- Common Block Entity renderer
- Mostly framework agnostic definitions for:
- Blocks
- Block Entities
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Framework agnostic registries for:
- Block Entity Types
- Block
- Creative Tabs
- Fluids
- Items
- Loot Modifiers
- Recipe Serializers
- Recipe Types
- Sound Events
- Data Generation classes for:
- Recipes
- Loot Tables
- Tags
- Language
- Common utility classes