promotional bannermobile promotional banner

AkumaLib

Shared library for Mine Mine no Mi to help creating addons
Back to Files

AkumaLib 1.0.0

File nameakumalib-1.0.0.jar
Uploader
inovactioinovactio
Uploaded
Sep 3, 2026
Downloads
434
Size
166.7 KB
Mod Loaders
Forge
File ID
8799343
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:akumalib-1678152:8799343")

Learn more about Curse Maven

What's new

AkumaLib 1.0.0 — First Release

AkumaLib is a shared ability framework for Mine Mine no Mi addons.

⚠️ This is a library, not a content mod. On its own it adds no fruits, no abilities and no items — nothing will change in your game. Install it only because another mod requires it.


For players

Install it alongside Mine Mine no Mi and the addon that asked for it. That's all there is to do.

Requires

  • Minecraft 1.20.1
  • Forge 47.4.18 or newer
  • Mine Mine no Mi

Known consumers


For addon developers

Mine Mine no Mi gives you Ability and a set of components. Everything above that — a zone that charges and expands, a wave that converts terrain, a passive that grants attribute bonuses under a condition — you would otherwise write yourself, slightly differently each time. AkumaLib is that layer, extracted once and shared: 65 classes, 17 ability base classes, 12 utilities.

Ability base classes

Class For
ZoneAbility a charged spherical zone applying effects continuously
SpreadingBlockAbility a zone that replaces ground blocks and restores them at the end
DomainAbility the shared parent of both, carrying the four-slot ZoneSoundSet
BlockWaveAbility a radial wave converting blocks outward — sphere, surface or terrain-following
ConditionalStatPassiveAbility a passive granting attribute bonuses while a condition holds
AuraAbility a passive aura ticking every nearby enemy
StompAbility · MoveAbility · InstantDashAbility charged stomp, continuous dash, teleport dash
BlockUseAbility · CraftingAbility · TransmutationAbility · GroundAbility smaller bases

Utilities

PropagationHelper (BFS propagation with easing), BlockPlacingHelper, AttributeBonusHelper (idempotent attribute modifiers), tooltip helpers, plus morph, animation and networking scaffolding.

Why the base classes carry so many warnings

Most exist because something shipped broken first. Extending the class gets you the fix for free:

  • SpreadingBlockAbility restores blocks through Block.updateFromNeighbourShapes — putting a remembered state back raw leaves a grass block flagged snowy under open sky.
  • Its zones are tracked statically and restored on PlayerLoggedOutEvent, because the tick that drains the restore queue stops the moment the holder leaves — and the blocks stayed permanently.
  • ConditionalStatPassiveAbility applies and removes idempotently rather than on transitions: addPermanentModifier persists in NBT, and a reconnect turned a conditional bonus into a permanent one.
  • It also hooks DisableComponent.addStartEvent, because a Devil Fruit passive is disabled the moment its holder gets wet, and PassiveAbility.tick() stops dispatching before it can clean up.

Adding it to your project

# gradle.properties
akumalib_version=1.0.0
// build.gradle
implementation fg.deobf("com.inovactio:akumalib:${akumalib_version}")
# mods.toml
[[dependencies.yourmod]]
    modId = "akumalib"
    mandatory = true
    versionRange = "[${akumalib_version},)"
    ordering = "AFTER"
    side = "BOTH"

⚠️ API stability

Publishing freezes the API. From 1.0.0 onward, a breaking change to the shared surface is a major version bump and forces a synchronised release of the library and every consumer. Your versionRange should exclude the next major.


All Rights Reserved.

This mod has no additional files