Description
Gallery
Changelog
Versions
MoonlightCore its a library mod for mod developers to simplify the development of multi-loader mods, providing a set of abstractions of loader-specific APIs and self-provided APIs
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 12d ago | 1 | ||||
| 12d ago | 1 | ||||
| 12d ago | 1 | ||||
| 12d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
[26.1.2.12-beta] MoonlightCore 26.1.2.12-beta
by RealLeoxian on Oct 16, 2026
Download
# MoonlightCore 26.1.2.12-beta
GlobalStoragewas renamed toGlobalDataStorage- To get a
GlobalDataStorageit's factory must be registered usingGlobalDataStorageRegistrar GlobalDataStorage#getOrCreatenow only gets anid- Now
GlobalDataStorages cannot be registered once the server is starting
[26.1.2.12-beta] MoonlightCore 26.1.2.12-beta
by RealLeoxian on Oct 16, 2026
Download
# MoonlightCore 26.1.2.12-beta
GlobalStoragewas renamed toGlobalDataStorage- To get a
GlobalDataStorageit's factory must be registered usingGlobalDataStorageRegistrar GlobalDataStorage#getOrCreatenow only gets anid- Now
GlobalDataStorages cannot be registered once the server is starting
[26.1.2.11-beta] MoonlightCore 26.1.2.11-beta
by RealLeoxian on Oct 16, 2026
Download
# MoonlightCore 26.1.2.11-beta
- Added
syncDatamethod onDataAttachmentHolder - Added
GlobalStorageinterface to have global data across the server
[26.1.2.11-beta] MoonlightCore 26.1.2.11-beta
by RealLeoxian on Oct 16, 2026
Download
# MoonlightCore 26.1.2.11-beta
- Added
syncDatamethod onDataAttachmentHolder - Added
GlobalStorageinterface to have global data across the server
[26.1.2.10-beta] MoonlightCore 26.1.2.10-beta
by RealLeoxian on Oct 12, 2026
Download
# MoonlightCore 26.1.2.10-beta
- Fixed codec on Neoforge's data attachment implementation
[26.1.2.10-beta] MoonlightCore 26.1.2.10-beta
by RealLeoxian on Oct 12, 2026
Download
# MoonlightCore 26.1.2.10-beta
- Fixed codec on Neoforge's data attachment implementation
[26.1.2.9-beta] MoonlightCore 26.1.2.9-beta
by RealLeoxian on Oct 12, 2026
Download
# MoonlightCore 26.1.2.9-beta
- Fixed DataComponents stream codec generics
[26.1.2.9-beta] MoonlightCore 26.1.2.9-beta
by RealLeoxian on Oct 12, 2026
Download
# MoonlightCore 26.1.2.9-beta
- Fixed DataComponents stream codec generics
[26.1.2.8-beta] MoonlightCore 26.1.2.8-beta
by RealLeoxian on Oct 07, 2026
Download
# MoonlightCore 26.1.2.8-beta
- Removed
addTaskmethod fromServerConfigurationNetworking, now having to useBEFORE_CONFIGUREandCONFIGUREevents to register custom configuration tasks - Added
completeTaskmethod onServerConfigrationNetowking$Context - Packet payload type registration got split from the handler registration, now to register a packet payload you have to use
PayloadTypeRegisterstatic methods and useregisterHandlermethod from networking classes ([Client/Server][Configuration/Play]Networking) - Fixed an error on NeoForge with
FluidModel$Unbakedmodel trying to be loaded from dedicated server - Internal changes to config synchronization now being fully at
PLAYphase, avoiding problems with race conditions betweenCONFIGURATIONandPLAY - Now mods don't have to register their mod's
EventBusneitherDeferredRegistrar - Added Attachments layer abstraction, you can build your own using
DataAttachmentTypeand get them usingDataAttachmentHolder#of
[26.1.2.8-beta] MoonlightCore 26.1.2.8-beta
by RealLeoxian on Oct 07, 2026
Download
# MoonlightCore 26.1.2.8-beta
- Removed
addTaskmethod fromServerConfigurationNetworking, now having to useBEFORE_CONFIGUREandCONFIGUREevents to register custom configuration tasks - Added
completeTaskmethod onServerConfigrationNetowking$Context - Packet payload type registration got split from the handler registration, now to register a packet payload you have to use
PayloadTypeRegisterstatic methods and useregisterHandlermethod from networking classes ([Client/Server][Configuration/Play]Networking) - Fixed an error on NeoForge with
FluidModel$Unbakedmodel trying to be loaded from dedicated server - Internal changes to config synchronization now being fully at
PLAYphase, avoiding problems with race conditions betweenCONFIGURATIONandPLAY - Now mods don't have to register their mod's
EventBusneitherDeferredRegistrar - Added Attachments layer abstraction, you can build your own using
DataAttachmentTypeand get them usingDataAttachmentHolder#of
[26.1.2.7-beta] MoonlightCore 26.1.2.7-beta
by RealLeoxian on Sep 23, 2026
Download
# MoonlightCore 26.1.2.7-beta
- Fix weird error at configuration-phase sync config task when joining a world
- Removed XPlat
ModEntrypointandClientModEntrypoint, now fabric platform must implementMoonlightCoreInitializer - Added
BEFORE_CONFIGUREandCONFIGUREconnection events, removingRegisterConfigurationTasksEvent - Removed old way of registering things, now using
NewRegistryEventandRegisterEvent Registrarwas replaced withRegistryHelper- Removed
initializeModmethods from client and common RegistryBuildernow returns a supplier with the registry
[26.1.2.7-beta] MoonlightCore 26.1.2.7-beta
by RealLeoxian on Sep 23, 2026
Download
# MoonlightCore 26.1.2.7-beta
- Fix weird error at configuration-phase sync config task when joining a world
- Removed XPlat
ModEntrypointandClientModEntrypoint, now fabric platform must implementMoonlightCoreInitializer - Added
BEFORE_CONFIGUREandCONFIGUREconnection events, removingRegisterConfigurationTasksEvent - Removed old way of registering things, now using
NewRegistryEventandRegisterEvent Registrarwas replaced withRegistryHelper- Removed
initializeModmethods from client and common RegistryBuildernow returns a supplier with the registry
[26.1.2.6-beta] MoonlightCore 26.1.2.6-beta
by RealLeoxian on Sep 20, 2026
Download
# MoonlightCore 26.1.2.6-beta
- Fabric platform implementation was improved
- Added
ClientTooltipComponentRegistrar - Added
ResourceStacksStorageto use built-inResourceStack - Added convention tags (
c:tags) ArgumentTypeRegistrarno longer needs a namespaceinitmethods from registrars were renamed toconfigure- Fluids API is no longer marked as experimental
- removed
canRiddenMobsFloatfromFluidBehavior - Added Javadoc
[26.1.2.6-beta] MoonlightCore 26.1.2.6-beta
by RealLeoxian on Sep 20, 2026
Download
# MoonlightCore 26.1.2.6-beta
- Fabric platform implementation was improved
- Added
ClientTooltipComponentRegistrar - Added
ResourceStacksStorageto use built-inResourceStack - Added convention tags (
c:tags) ArgumentTypeRegistrarno longer needs a namespaceinitmethods from registrars were renamed toconfigure- Fluids API is no longer marked as experimental
- removed
canRiddenMobsFloatfromFluidBehavior - Added Javadoc
[26.1.2.5-beta] MoonlightCore 26.1.2.5-beta
by RealLeoxian on Sep 08, 2026
Download
# MoonlightCore 26.1.2.5-beta
## Fixes
1. Fixed events not being all invoked on fabric
2. Fixed valid configurations requests task not being completed (only caused problems on fabric apparently???), preventing world load
## Fluid Registration API
The previous version Fluid Registration API was BAD, I had already noticed that when I made the first
version but IDK why I even released it. HOWEVER, here is the new (still experimental) fluid registration api.
### Common
#### FluidRegistrar
A registrar for fluids, moving from the
its own interface. Fluids need their properties, attribute handler, tag and behavior. Example:
``
#### FluidRenderHandler
Handles the tooltip used with the tooltip and the color of the fluid
## Fixes
1. Fixed events not being all invoked on fabric
2. Fixed valid configurations requests task not being completed (only caused problems on fabric apparently???), preventing world load
## Fluid Registration API
The previous version Fluid Registration API was BAD, I had already noticed that when I made the first
version but IDK why I even released it. HOWEVER, here is the new (still experimental) fluid registration api.
### Common
#### FluidRegistrar
A registrar for fluids, moving from the
Platform#registerFluid methods toits own interface. Fluids need their properties, attribute handler, tag and behavior. Example:
``
java
TagKey<Fluid> TAG = TagKey.create(Registries.FLUID, Identifier.parse("moonlightcore:slime"));
FluidRegistrar.init("examplemod",registrar -> {
registrar.register(
"slime",
TAG,
FluidProperties.DEFAULT,
FluidAttributesHandler.DEFAULT,
FluidBehavior.WATER_LIKE
);
});
`
#### FluidBehavior
FluidBehavior handles how the entity interacts with the fluid, how the entity will move, if
it can swim, drown, supports boats, sprinting, etc. Anyways, not everyone will have some
hyper mega advanced fluid physics applied to the entities so there is a builder for
simple fluids :p
#### FluidAttributesHandler
Handle some properties that are used on Neoforge and on Fabric:
- Display name and it's color
- Bucket fill/empty sound
- Fall distance modifier
- Light emission level
- Temperature
- Viscosity
### Client
#### FluidRendererRegistrar
A registrar for fluids rendering, used to register fluid models and FluidRenderHandler`s#### FluidRenderHandler
Handles the tooltip used with the tooltip and the color of the fluid
[26.1.2.5-beta] MoonlightCore 26.1.2.5-beta
by RealLeoxian on Sep 08, 2026
Download
# MoonlightCore 26.1.2.5-beta
## Fixes
1. Fixed events not being all invoked on fabric
2. Fixed valid configurations requests task not being completed (only caused problems on fabric apparently???), preventing world load
## Fluid Registration API
The previous version Fluid Registration API was BAD, I had already noticed that when I made the first
version but IDK why I even released it. HOWEVER, here is the new (still experimental) fluid registration api.
### Common
#### FluidRegistrar
A registrar for fluids, moving from the
its own interface. Fluids need their properties, attribute handler, tag and behavior. Example:
``
#### FluidRenderHandler
Handles the tooltip used with the tooltip and the color of the fluid
## Fixes
1. Fixed events not being all invoked on fabric
2. Fixed valid configurations requests task not being completed (only caused problems on fabric apparently???), preventing world load
## Fluid Registration API
The previous version Fluid Registration API was BAD, I had already noticed that when I made the first
version but IDK why I even released it. HOWEVER, here is the new (still experimental) fluid registration api.
### Common
#### FluidRegistrar
A registrar for fluids, moving from the
Platform#registerFluid methods toits own interface. Fluids need their properties, attribute handler, tag and behavior. Example:
``
java
TagKey<Fluid> TAG = TagKey.create(Registries.FLUID, Identifier.parse("moonlightcore:slime"));
FluidRegistrar.init("examplemod",registrar -> {
registrar.register(
"slime",
TAG,
FluidProperties.DEFAULT,
FluidAttributesHandler.DEFAULT,
FluidBehavior.WATER_LIKE
);
});
`
#### FluidBehavior
FluidBehavior handles how the entity interacts with the fluid, how the entity will move, if
it can swim, drown, supports boats, sprinting, etc. Anyways, not everyone will have some
hyper mega advanced fluid physics applied to the entities so there is a builder for
simple fluids :p
#### FluidAttributesHandler
Handle some properties that are used on Neoforge and on Fabric:
- Display name and it's color
- Bucket fill/empty sound
- Fall distance modifier
- Light emission level
- Temperature
- Viscosity
### Client
#### FluidRendererRegistrar
A registrar for fluids rendering, used to register fluid models and FluidRenderHandler`s#### FluidRenderHandler
Handles the tooltip used with the tooltip and the color of the fluid
[26.1.2.4-beta] MoonlightCore 26.1.2.4-beta
by RealLeoxian on Sep 06, 2026
Download
# MoonlightCore 26.1.2.4-beta
### Fluid registration API
An small very experimental API that allows the registration and configuration of some properties
of modded fluids. Works with a workaround of the vanilla
an intermediary.
This API its very experimental and I managed to implement it on Neoforge but Fabric still needs
some work.
### Misc
### Fluid registration API
An small very experimental API that allows the registration and configuration of some properties
of modded fluids. Works with a workaround of the vanilla
Fluid methods, using MoonlightFluid asan intermediary.
This API its very experimental and I managed to implement it on Neoforge but Fabric still needs
some work.
### Misc
- Added
DatapackRegistryRegistrar#init, I forgot it on the previous release, sorry.
[26.1.2.4-beta] MoonlightCore 26.1.2.4-beta
by RealLeoxian on Sep 06, 2026
Download
# MoonlightCore 26.1.2.4-beta
### Fluid registration API
An small very experimental API that allows the registration and configuration of some properties
of modded fluids. Works with a workaround of the vanilla
an intermediary.
This API its very experimental and I managed to implement it on Neoforge but Fabric still needs
some work.
### Misc
### Fluid registration API
An small very experimental API that allows the registration and configuration of some properties
of modded fluids. Works with a workaround of the vanilla
Fluid methods, using MoonlightFluid asan intermediary.
This API its very experimental and I managed to implement it on Neoforge but Fabric still needs
some work.
### Misc
- Added
DatapackRegistryRegistrar#init, I forgot it on the previous release, sorry.
[26.1.2.3-beta] MoonlightCore 26.1.2.3-beta
by RealLeoxian on Aug 29, 2026
Download
# MoonlightCore 26.1.2.3-beta
- Added support to add dynamic/datapack registries via
DataPackRegistryRegistrar - Added
HolderLookup$Provideraccess to server reload listeners
[26.1.2.3-beta] MoonlightCore 26.1.2.3-beta
by RealLeoxian on Aug 29, 2026
Download
# MoonlightCore 26.1.2.3-beta
- Added support to add dynamic/datapack registries via
DataPackRegistryRegistrar - Added
HolderLookup$Provideraccess to server reload listeners
[5.2.13] [Fabric] MoonlightCore | 1.20.1-5.2.13
by RealLeoxian on Dec 01, 2025
Download
# MoonlightCore | 5.2.13
Hotfix to the fabric version: An error on a mixin, mb.
Hotfix to the fabric version: An error on a mixin, mb.
[5.2.12] [Forge] MoonlightCore | 1.20.1-5.2.12
by RealLeoxian on Nov 30, 2025
Download
# MoonlightCore | 5.2.12
1. Classes like
were removed
2.
builders that use them
1. Classes like
NonnullSupplier, NonnullConsumer, NonnullFunction, etc, and registry entry builderswere removed
2.
DeferredRegistrar was simplified, now there is no callback system since there is no longerbuilders that use them
[5.2.12] [Fabric] MoonlightCore | 1.20.1-5.2.12
by RealLeoxian on Nov 30, 2025
Download
# MoonlightCore | 5.2.12
1. Classes like
were removed
2.
builders that use them
1. Classes like
NonnullSupplier, NonnullConsumer, NonnullFunction, etc, and registry entry builderswere removed
2.
DeferredRegistrar was simplified, now there is no callback system since there is no longerbuilders that use them
[5.2.11] [Forge] MoonlightCore | 1.20.1-5.2.11
by RealLeoxian on Nov 29, 2025
Download
# MoonlightCore | 5.2.11
Fixed a (very dumb (VERY DUMB)) error on
Fixed a (very dumb (VERY DUMB)) error on
SnapshotJournal, srry
[5.2.11] [Fabric] MoonlightCore | 1.20.1-5.2.11
by RealLeoxian on Nov 29, 2025
Download
# MoonlightCore | 5.2.11
Fixed a (very dumb (VERY DUMB)) error on
Fixed a (very dumb (VERY DUMB)) error on
SnapshotJournal, srry
[5.2.10] [Forge] MoonlightCore | 1.20.1-5.2.10
by RealLeoxian on Nov 29, 2025
Download
# MoonlightCore | 5.2.10
1. Small change to the Fabric's registry order (still vanilla goes the same order first) so the
adds the new registries to that order and are invoked.
2. Added the
1. Small change to the Fabric's registry order (still vanilla goes the same order first) so the
RegistryCreationEvent adds the new registries to that order and are invoked.
2. Added the
RegisterClientCommandEvent to allow mods add their own commands to only the client side.
[5.2.10] [Fabric] MoonlightCore | 1.20.1-5.2.10
by RealLeoxian on Nov 29, 2025
Download
# MoonlightCore | 5.2.10
1. Small change to the Fabric's registry order (still vanilla goes the same order first) so the
adds the new registries to that order and are invoked.
2. Added the
1. Small change to the Fabric's registry order (still vanilla goes the same order first) so the
RegistryCreationEvent adds the new registries to that order and are invoked.
2. Added the
RegisterClientCommandEvent to allow mods add their own commands to only the client side.
[5.1.9] [Fabric] MoonlightCore | 1.20.1-5.1.9
by RealLeoxian on Nov 29, 2025
Download
# MoonlightCore | 5.1.9
This version is a hotfix to the Fabric's version registry order, now being based on the vanilla
one instead of thar kind of "port" (?) of the Forge's registry order
This version is a hotfix to the Fabric's version registry order, now being based on the vanilla
one instead of thar kind of "port" (?) of the Forge's registry order
[5.1.9] [Forge] MoonlightCore | 1.20.1-5.1.9
by RealLeoxian on Nov 29, 2025
Download
# MoonlightCore | 5.1.9
This version is a hotfix to the Fabric's version registry order, now being based on the vanilla
one instead of thar kind of "port" (?) of the Forge's registry order
This version is a hotfix to the Fabric's version registry order, now being based on the vanilla
one instead of thar kind of "port" (?) of the Forge's registry order
[5.1.8] [Forge] MoonlightCore | 1.20.1-5.1.8
by RealLeoxian on Nov 28, 2025
Download
# MoonlightCore | 5.1.8
## 1. Transfer API:
The transfer API had some additions, changes and cleanup to its code:
### Additions:
### Changes:
## 2. Registry
## Additions:
### Changes:
## Miscellaneous
1. Added
2. Returned the old
3. Added
## 1. Transfer API:
The transfer API had some additions, changes and cleanup to its code:
### Additions:
- Added methods to simulate insert/extract methods from
StorageIOclasses that won't perform any action than calculate the result value
- Added some new storages and wrappers:
RangedStorageSingleItemResourceStorageSingleItemStorageCursorSlotWrapperSingleFluidStorage
### Changes:
- Now the transactional methods like insert/extract don't need strictly a
Transactionand can take a
TransactionContext instead- Now the
Storageinterface (and subclasses/sub-interfaces) don't strictly need aTransferResourceand can take instead any kind
TransferResource (this with most of the subclasses, there are some that still need it)## 2. Registry
## Additions:
- Added some
Registrate(Tterrag1098's Registrate) builders for the entries, this may be util for its methods (basic things that
DeferredRegistrar#register method)### Changes:
- Replaced
RegistryHelperwithDeferredRegistrarwhich manages better the registry entries RegistryEntrynow only takes the key of the entry instead of key and value candidateRegistryEntrynow only implementsNonnullSupplierthat works with an inner holder now instead of aSupplierand cached value
## Miscellaneous
1. Added
EntityEvent#ATTRIBUTE_CREATION that is invoked just before the CommonLifecycleEvent#SETUP event so you (modder) can create your entity's attributes2. Returned the old
AttachmentType$Builder class3. Added
ByteBufCodecs#fromCodec method to de/serialize data from an existing 'normal' Codec