All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Moonlight Core

Moonlight Core

by RealLeoxian • Downloads: 0 • Followers: 0
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

How to Install Moonlight Core (Mod)

Moonlight Core by RealLeoxian is verified for Fabric, Forge, Neoforge across Minecraft versions 1.20.1, 1.21.1, 26.1, 26.1.1, 26.1.2 (latest release: 26.1.2.12-beta, file size: 493 KB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.20.1, 1.21.1, 26.1, 26.1.1, 26.1.2) and platform (Fabric, Forge, Neoforge).
  2. Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
  3. Move the downloaded Moonlight Core file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.1.x
Neoforge
13d ago 1
26.1.x
Fabric
13d ago 1
26.1.x
Fabric
13d ago 1
26.1.x
Neoforge
13d ago 1
26.1.x
Fabric
17d ago 1
26.1.x
Neoforge
17d ago 1
26.1.x
Fabric
17d ago 1
26.1.x
Neoforge
17d ago 1
26.1.x
Fabric
22d ago 1
26.1.x
Neoforge
22d ago 1
26.1.x
Fabric
1mo ago 1
26.1.x
Neoforge
1mo ago 1
26.1.x
Neoforge
1mo ago 1
26.1.x
Fabric
1mo ago 1
26.1.x
Fabric
2mo ago 1
26.1.x
Neoforge
2mo ago 1
26.1.x
Fabric
2mo ago 1
26.1.x
Neoforge
2mo ago 1
26.1.x
Fabric
2mo ago 1
26.1.x
Neoforge
2mo ago 1
26.1.x
Neoforge
2mo ago 1
26.1.x
Fabric
2mo ago 1
26.1.x
Fabric
2mo ago 1
26.1.x
Neoforge
2mo ago 1
1.20.1
Fabric
11mo ago 1
1.20.1
Forge
11mo ago 1
1.20.1
Fabric
11mo ago 1
1.20.1
Forge
11mo ago 1
1.20.1
Fabric
11mo ago 1
1.20.1
Forge
11mo ago 1
1.20.1
Fabric
11mo ago 1
1.20.1
Fabric
11mo ago 1
1.20.1
Forge
11mo ago 1
1.20.1
Forge
11mo ago 1
1.20.1
Fabric
11mo ago 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge
last yr. 1
1.20.1
Fabric
last yr. 1
1.21.1
Fabric
last yr. 1
1.21.1
Neoforge
last yr. 1
1.21.1
Fabric
last yr. 1
1.21.1
Neoforge
last yr. 1
1.21.1
Fabric
last yr. 1
1.21.1
Neoforge
last yr. 1
1.21.1
Fabric
last yr. 1
1.21.1
Neoforge
last yr. 1
1.21.1
Neoforge
last yr. 1
1.21.1
Fabric
last yr. 1
1.21.1
Neoforge
last yr. 1
1.21.1
Fabric
last yr. 1
# MoonlightCore 26.1.2.12-beta

  • GlobalStorage was renamed to GlobalDataStorage
  • To get a GlobalDataStorage it's factory must be registered using GlobalDataStorageRegistrar
  • GlobalDataStorage#getOrCreate now only gets an id
  • Now GlobalDataStorages cannot be registered once the server is starting
# MoonlightCore 26.1.2.12-beta

  • GlobalStorage was renamed to GlobalDataStorage
  • To get a GlobalDataStorage it's factory must be registered using GlobalDataStorageRegistrar
  • GlobalDataStorage#getOrCreate now only gets an id
  • Now GlobalDataStorages cannot be registered once the server is starting
# MoonlightCore 26.1.2.11-beta

  • Added syncData method on DataAttachmentHolder
  • Added GlobalStorage interface to have global data across the server
# MoonlightCore 26.1.2.11-beta

  • Added syncData method on DataAttachmentHolder
  • Added GlobalStorage interface to have global data across the server
# MoonlightCore 26.1.2.10-beta

  • Fixed codec on Neoforge's data attachment implementation
# MoonlightCore 26.1.2.10-beta

  • Fixed codec on Neoforge's data attachment implementation
# MoonlightCore 26.1.2.9-beta

  • Fixed DataComponents stream codec generics
# MoonlightCore 26.1.2.9-beta

  • Fixed DataComponents stream codec generics
# MoonlightCore 26.1.2.8-beta

  • Removed addTask method from ServerConfigurationNetworking, now having to use BEFORE_CONFIGURE and CONFIGURE events to register custom configuration tasks
  • Added completeTask method on ServerConfigrationNetowking$Context
  • Packet payload type registration got split from the handler registration, now to register a packet payload you have to use PayloadTypeRegister static methods and use registerHandler method from networking classes ([Client/Server][Configuration/Play]Networking)
  • Fixed an error on NeoForge with FluidModel$Unbaked model trying to be loaded from dedicated server
  • Internal changes to config synchronization now being fully at PLAY phase, avoiding problems with race conditions between CONFIGURATION and PLAY
  • Now mods don't have to register their mod's EventBus neither DeferredRegistrar
  • Added Attachments layer abstraction, you can build your own using DataAttachmentType and get them using DataAttachmentHolder#of
# MoonlightCore 26.1.2.8-beta

  • Removed addTask method from ServerConfigurationNetworking, now having to use BEFORE_CONFIGURE and CONFIGURE events to register custom configuration tasks
  • Added completeTask method on ServerConfigrationNetowking$Context
  • Packet payload type registration got split from the handler registration, now to register a packet payload you have to use PayloadTypeRegister static methods and use registerHandler method from networking classes ([Client/Server][Configuration/Play]Networking)
  • Fixed an error on NeoForge with FluidModel$Unbaked model trying to be loaded from dedicated server
  • Internal changes to config synchronization now being fully at PLAY phase, avoiding problems with race conditions between CONFIGURATION and PLAY
  • Now mods don't have to register their mod's EventBus neither DeferredRegistrar
  • Added Attachments layer abstraction, you can build your own using DataAttachmentType and get them using DataAttachmentHolder#of
# MoonlightCore 26.1.2.7-beta

  • Fix weird error at configuration-phase sync config task when joining a world
  • Removed XPlat ModEntrypoint and ClientModEntrypoint, now fabric platform must implement MoonlightCoreInitializer
  • Added BEFORE_CONFIGURE and CONFIGURE connection events, removing RegisterConfigurationTasksEvent
  • Removed old way of registering things, now using NewRegistryEvent and RegisterEvent
  • Registrar was replaced with RegistryHelper
  • Removed initializeMod methods from client and common
  • RegistryBuilder now returns a supplier with the registry
# MoonlightCore 26.1.2.7-beta

  • Fix weird error at configuration-phase sync config task when joining a world
  • Removed XPlat ModEntrypoint and ClientModEntrypoint, now fabric platform must implement MoonlightCoreInitializer
  • Added BEFORE_CONFIGURE and CONFIGURE connection events, removing RegisterConfigurationTasksEvent
  • Removed old way of registering things, now using NewRegistryEvent and RegisterEvent
  • Registrar was replaced with RegistryHelper
  • Removed initializeMod methods from client and common
  • RegistryBuilder now returns a supplier with the registry
# MoonlightCore 26.1.2.6-beta

  • Fabric platform implementation was improved
  • Added ClientTooltipComponentRegistrar
  • Added ResourceStacksStorage to use built-in ResourceStack
  • Added convention tags (c: tags)
  • ArgumentTypeRegistrar no longer needs a namespace
  • init methods from registrars were renamed to configure
  • Fluids API is no longer marked as experimental
  • removed canRiddenMobsFloat from FluidBehavior
  • Added Javadoc

# MoonlightCore 26.1.2.6-beta

  • Fabric platform implementation was improved
  • Added ClientTooltipComponentRegistrar
  • Added ResourceStacksStorage to use built-in ResourceStack
  • Added convention tags (c: tags)
  • ArgumentTypeRegistrar no longer needs a namespace
  • init methods from registrars were renamed to configure
  • Fluids API is no longer marked as experimental
  • removed canRiddenMobsFloat from FluidBehavior
  • Added Javadoc

# 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 Platform#registerFluid methods to
its 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
Moonlight Core Icon
Download Moonlight Core
Select game version
Select platform