Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details

Lazuli
Lazuli is a personal library mod made to make modding a little less tedious.
This library is the culmination of all the foundational and API code that I wrote for my mods. I started to dislike having to rewrite it all every time, so I decided that it's time to make Yet Another Library Mod.
You're welcome modpackers, now you'll have one extra mod to pad your mod counts with to make your modpacks look larger than they are :3
"Features"
Lazuli ultimately boils down to tons of helper functions, and there are quite a lot of them at that. Here are the "highlights" or "interesting" things (I guess).
- Blocks
- Generic "block with entity" helpers (
AbstractBlockWithEntity
) - Energy-capable BE helpers (
IEnergyBE
,AbstractEnergyBE
,AbstractCapacitorBE
,AbstractGeneratorBE
) - Inventory-capable BE helpers (
IInventoryBE
,AbstractInventoryBE
) - Fluid-capable BE helpers (
IFluidBE
,AbstractSingleTankBE
) - "Zoned" block entities, ripped from Minefactorial (
IZonedBE
)
- Generic "block with entity" helpers (
- Client Things
- Particle helpers
- A 2D particle engine for GUIs or wherever else you want to use them (
IParticleEngine2D
,ScreenParticleEngine2D
) - Screen Helpers
- Crafting
- Ingredients/outputs for in-world blocks, entities, item entities, and fluids
- Collections (a more flexible
WeightedRandomList
implementation,HistoryList
) - Colours (
UnpackedColour
,ColourPalette
) - Energy (
LazuliEnergyStorage
,ProtectiveEnergyStorage
) - Fluids
- Inventories (
ContainerUtils
,RoundRobinInventory
,GhostStackHandler
) - Items (
GhostItemStack
) - Mathematics (
CubicBezier
,QuadraticBezier
) - Menus (
AbstractBlockEntityContainer
,GhostSlot
,SlotOutputOnly
) - Misc helpers (
TickScheduler
) - World helpers (
AABBHelpers
,FakePlayerHelpers
,Raycasting
)
Usage
Lazuli is extensively documented using Javadocs. I also publish source and Javadoc JARs for you to include via Gradle.
To add Lazuli to your project, just add it as a modImplementation
in Gradle:
// Applies to all Gradle plugins
repositories {
// Modrinth maven is the easiest and most reliable place for me to publish at the moment.
// I publish sources and JavaDocs here too.
exclusiveContent {
forRepository {
maven("https://api.modrinth.com/maven")
}
filter {
includeGroup("maven.modrinth")
}
}
}
dependencies {
// Loom and Architectury Loom
modImplementation("maven.modrinth:lazuli:VERSION")
}