Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Lazuli

Lazuli

A personal library mod aiming to make modding less tedious.

30
0
Library
AboutChangelogVersions
Lazuli Logo

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)
  • 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")
}

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Compatibility

Minecraft: Java Edition

1.21.x

Platforms

NeoForge

Supported environments

Client and server

Links

Report issues View source

Creators

EmmaTheMartian
EmmaTheMartian Member

Details

Licensed MIT
Published 2 weeks ago
Updated 3 weeks ago

Modrinth is open source.

main@fafd47f

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.