Skip to content

Changelog

Every AkumaLib release for Minecraft 1.20.1, newest first, as published on CurseForge.

6.6.0

Released 2026-11-09 · Download

Haki on posed limbs, and tools for operators and addons. In a form that keeps your own body, such as Gear Fifth, Armament Haki now covers your arms and legs while Geppo or another move poses them. Operators get commands to check and change a player's life as a civilian, a pirate or a prisoner. A man at normal size plays exactly as before. Nothing was removed or changed for addons.

Requires Minecraft 1.20.1, Forge 47.4.2 or newer and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

The network protocol is still 17, as in 6.4.0 and 6.5.0. Update AkumaLib on the server and on every client all the same: Awaken Awaken no Mi 3.0.2 needs 6.6.0.


Fixes

  • Haki on posed limbs in a partial form. In a form that keeps your own body (Gear Fifth, a hybrid form), Geppo, Kamisori, Kamie, a backflip or a cartwheel pose your legs and arms. Armament Haki stayed on the limbs at rest, so a posed arm showed bare beside a coated one. The coating now follows the pose.

For server operators

  • /akumalib faction (operators only, permission level 2), to check or change a player's place as a civilian, a pirate or a prisoner. With no player named, it acts on you.
  • strikes show|clear: a civilian's strikes of the day (blows on the law and thefts).
  • peak show|set: the highest bounty a player ever had, against the cap that decides whether he may go back to a civilian life.
  • prison send|end|lift: send a pirate to a cell now, let him out as a civilian once his time is served, or let him out still a pirate.
  • fading show|skip_quiet|skip_day: a pirate's bounty waiting or fading, and skipping its wait or one of its days.

For addon makers

  • ModeTooltips (util/tooltip): one tooltip page per mode of an ability, text(modId, id, lines...) and pages(...).
  • PoseAnimation (api/animations): a pose laid over an animation's whole length, by name if wanted, with armsEmpty() and turn(...).
  • ArmGestures and ArmGesture (client/firstperson): one engine for first-person gestures, started by the body's animation, in vanilla's empty-hand frame. HandGrafts.dress(...) lays an arm's coating and graft on an arm drawn elsewhere.
  • AkumaMotion.shoveAway(user, target, push, lift): a body thrown away from the user, level with the ground.
  • AkumaSize.damageOf / hurtOf: a hit known only by its technique's core follows the size of its user.
  • CivilianFaction.strikes, CivilianReturn.setPeak / quiet / fadeFrom / skipQuiet / skipFadeDay, MarinePrison.send / end: what /akumalib faction uses.

An addon that uses any of these declares versionRange = "[6.6.0,)". Leave the top of the range open.

6.5.0

Released 2026-11-08 · Download

Fairer NPC bounties, small bodies that fly as high as a man, and four new fishman looks. Notorious NPC pirates carry a tenth of the bounty they used to, and a wanted poster pays exactly what it shows. A body smaller than a man now flies as high as a man. Race Race no Mi's four new fishman sub-races get their looks. A man at normal size plays exactly as before. Nothing was removed or changed for addons.

Requires Minecraft 1.20.1, Forge 47.4.2 or newer and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

The network protocol is still 17, as in 6.4.0. Update AkumaLib on the server and on every client all the same: Race Race no Mi 0.4.0 needs 6.5.0.


Bounties

  • Notorious NPC pirates carry a tenth of their old bounty. A captain who would have reached 300,000,000 now reaches about 30,000,000. A wanted poster shows that lower bounty, and a bounty hunter gets exactly what the poster shows.
  • Players' bounties do not change, and bounties already in your world keep their value.
  • Servers can change it: bountyMultiplierNpc in akumalib-server.toml, section bounties, 0.1 by default. 1 gives back Mine Mine no Mi's bounties.

Bodies smaller than a man

  • Flight as high as a man: a small body (a Tontatta, or a player the creator's slider made small) flew only half as high as a man, Moku stopping at about 15 blocks. It now climbs at a man's speed to a man's ceiling. A man and bigger bodies fly as before.

Races

  • Four new fishman looks, for Race Race no Mi's new sub-races: the octopus (two more arms, your own drawn again behind your real ones, sleeves and armour too), the whale shark (a broad chest, a wide dorsal fin, three gill slits a side, white spots), the pufferfish (spines along the skin that stand up for 2 s after a blow, brown spots) and the hammerhead (two lobes at the brow with an eye at each end, gills, a tall fin).
  • Spots on the bare skin only: a fish's spots are never painted on a shirt or the hair.

For addon makers

  • SizeBodyStats.liftOnly(uuid): one of your own JUMP_HEIGHT modifiers lifts only. A sprint jump pushes forward as a man's does, not by the whole extra height.
  • AkumaFishmen.Look: OCTOPUS, WHALE_SHARK, PUFFERFISH, HAMMERHEAD, and Look.tinted().
  • RecolouredSkins.SkinTint.spotted(rgb, mask, spots) and SkinTones.tint(..., linesOnSkin): a mask's spots on the bare skin only. SkinTint gets a sixth part, linesOnSkin; the 6.4.0 constructors stay.

An addon that uses any of these declares versionRange = "[6.5.0,)". Leave the top of the range open.

6.4.0

Released 2026-11-06 · Download

A choice screen, fish tails, and small bodies that see and breathe right. Addons can now show a screen with one picture of you per choice, which you turn by dragging. Merfolk get a fish tail in the water, the race horns two more shapes, and a body smaller than a man no longer sees through a corner or bobs under the water. The mode key no longer ends another transformation. A man at normal size plays exactly as before. No method was removed or changed; one class, TransmutationProjectile, no longer claims a hit listener it never really had (no published addon used it).

Requires Minecraft 1.20.1, Forge 47.4.2 or newer and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

⚠️ New network protocol (17). A 6.4.0 game cannot join a 6.3.0 server, and the other way round: update AkumaLib on the server and on every client together.

⚠️ Forge 47.4.2 or newer. On an older Forge, opening a chest crashed the game; that Forge now gets the game's dependency screen instead.


Choice screen

  • One picture of you per choice, side by side, each in that choice's look. Your heads follow the pointer, and dragging turns them all round. Under each one: its name, a line about it, and the techniques it gives, with their icons. A click chooses. Missing's Fuku Fuku wardrobe and Race's Raid Suits use it.

Races

  • Merfolk: a race brought by an addon can have a fish tail in the water and legs on land. The legs shrink into the hips as the tail grows, with bubbles, and the tail waves faster as you swim. Leggings and boots hide while it is out.
  • Chests that flare: a race's chest can be broader at the shoulders than at the waist, or the other way round (Race's three Buccaneer busts). Armour and jackets follow it.
  • Two more horn shapes: Harald's (long, thin, almost straight) and Oars' (from the temples, slanting up). With five shapes instead of three, a player who already has horns may get another shape, once.
  • Changing race in the character creator no longer keeps the old sub-race: an Ancient Giant turned Tontatta is a Tontatta's size, with no horns.
  • Creator book: a sub-race's own techniques are listed first on the Race page, and its name reads cleanly.

Bodies smaller than a man

  • No seeing through a corner in first person.
  • The third-person camera stays out of the walls.
  • Breathing at the surface: jump held in the water, a small body floats with its eyes above water about as often as a man, where it shot out and fell back under.

The mode key

  • It no longer ends another transformation that is running, nor puts it on cooldown.
  • It changes the mode on cooldown, while silenced, handcuffed or in water: a mode is a choice for later. Whether the technique can be used is checked when you use it.

Fixes

  • Matter giants (Missing's Stone Giant, and the golems of the same kind): their reach and step come from their body's size only. The biggest size reached 23 blocks and stepped 8 blocks high; it now reaches as a body of its size.
  • No Devil Fruit in an item frame when Mine Mine no Mi's "One Fruit per World" is EXTENDED: a fruit cannot be hung, and one already in a frame drops out at its foot, the frame left on the wall.
  • Mine Mine Extra Slots: the game no longer stops at start-up with both mods.
  • The start-up report no longer says an addon's hook is missing when it works.

For addon makers

  • ChoiceScreens: register(id, chooser) and open(player, id, title, chosen, choices), checked on the server; the client's ChoiceScreen.dresser puts a choice's look on the pictures.
  • AkumaMerfolk.declare(raceOrSubRace, colour) and AkumaMerfolk.inTail(entity).
  • AkumaStates.UNSOCIABLE (akumalib:unsociable): a body nobody trades with. An addon lists its own effect in the tag; a mod with traders asks AkumaStates.unsociable(entity).
  • AkumaBody.Shape.waist(wide, deep), after chest: a chest broader at one end, drawn in three bands. The 6.3.0 constructor stays.
  • AkumaHorns.Shape.HARALD and OARS.
  • AkumaRaces.subRace(stats): the sub-race, only if it belongs to the race.
  • TransmutationProjectile no longer declares NuProjectileEntity.IOnHitEntityEvent; its hit still works as before.

An addon that uses any of these declares versionRange = "[6.4.0,)". Leave the top of the range open.

6.3.0

Released 2026-11-02 · Download

Small bodies get their due, and tooltips tell the truth at every size. A body smaller than a man (the size slider, or a race brought by an addon) no longer loses damage, falls as safely as a man, sits right on a mount and stays drawn as far as anyone. A technique's tooltip now gives the cooldown, range and damage you really get at your size. A man at normal size plays exactly as before. No signature was removed or changed.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Same network protocol as 6.0.0 to 6.2.0 (16): a 6.3.0 game plays with a 6.2.0 server and the other way round. Update AkumaLib on the server and on every client all the same: damage and falls are counted on the server, the camera, the drawing and the tooltips on the client.


Bodies smaller than a man

  • No damage penalty. Under size 1 a body keeps a man's damage and a man's swing. Its lower health is the price of being hard to hit.
  • Falls. A small body takes no harm from a fall of 3 blocks, like a man, where it used to be hurt sooner the smaller it was. It never takes more damage than a man from the same height.
  • Camera. The third-person camera comes closer to a small body, as it backs off from a big one.
  • Mounts. A small rider sits on its mount or in its boat, instead of having its eyes under the floor.
  • Sneaking. A very small body no longer goes under the floor when it sneaks (a man in Mini Mini's form, and smaller).
  • Seen from afar. Other players see a small body as far away as a man's.

Tooltips

  • The real figures. Cooldown, range and damage read the figure at your size, alone: 24 damage at size 4 where it read "12 (+12)". The cooldown follows the size too, to a tenth of a second when the size changes it. A man at normal size reads the same lines as before.

Giants

  • A race over size 4 is its full size in its own game too, not a bit smaller than the server sees it.

For addon makers

  • AkumaBody: a race, a sub-race or an NPC type declares a longer neck, longer arms with elbows, longer legs or a broader chest. Real parts of the model: armour, held items and every layer follow them.
  • AkumaDwarves: a round bushy tail in the hair's colour and a pointed nose, from the UUID, for a race, a sub-race or an NPC type.
  • RecolouredSkins.hairColour reads the hair's colour of any skin; SkinTint.skinAndHair tints a skin and its hair. The four-argument SkinTint constructor stays.
  • WingsLayer.Kind.LUNARIAN: long black wings, with their own slow flight beat (WingsModel.Stroke.FLIGHT).
  • SizeTooltips.cooldownLine and rangeLine, and AkumaSize.factorAt: the factor really applied. SizeTooltips.line keeps its signature and now gives the figure at the size.

An addon that uses any of these declares versionRange = "[6.3.0,)". Leave the top of the range open.

6.2.0

Released 2026-11-01 · Download

No more "Connection Lost" on Seiryu, Anaconda and King Cobra, and no more crash with Soru. Asking for one of these three forms threw the player out of the game. Soru crashed the game for anyone whose size is not a man's, as soon as ModernFix was installed. Both are fixed, along with a memory leak in zones and worlds that stayed in memory, and a newer Mine Mine no Mi can no longer stop the game over a small change AkumaLib did not expect. No signature was removed or changed.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Same network protocol as 6.1.0 (16): a 6.2.0 game plays with a 6.1.0 server and the other way round. Update AkumaLib on the server and on every client all the same: the fix for the three forms works on the server, the fix for Soru on the client.


Fixes

  • Seiryu, Anaconda and King Cobra. Asking for the full form made the hybrid go away, then "Connection Lost". The three forms now work, solo and on a server, at every size.
  • Soru with ModernFix. A body whose size is not a man's crashed the game when it vanished: Soru, or anything that hides you the same way. With shaders it happened in first person too. A man in the Deka form was hit as well.
  • Back from a save. After a relog, a portal or a chunk loading again, a big body was a man's size on the server until its next change of pose: mobs and projectiles missed it, and its techniques aimed from a man's eyes.
  • Blocks that stayed. In singleplayer, a block laid by a technique could be forgotten and stay for good.
  • The Marine recruiter hands out the uniform once. Joining, resigning and joining again gave four new pieces each time. If you already had a uniform before this version, you get one more, once.
  • Titles. You can change the title you wear once every half second, so a click too soon changes nothing.
  • Race colours take more of your skin and less of your hair. A fishman's colour used to leave part of the skin bare on many skins, and could colour the hair instead. Clothes in the very colour of your skin take it too.
  • Race wings stop flickering and can no longer be seen through from some angles.
  • Dye layers no longer risk going wrong when a recipe viewer reads them in singleplayer.

A newer Mine Mine no Mi

  • A small change in the base mod no longer stops the game. Where AkumaLib hooks a spot that can move from one version to the next, it now carries on without that hook if the spot is gone. You lose that one fix, and the game's log names it when loading ends, louder if the fix was a protection against cheating. This is about AkumaLib's own hooks: Cruise Cruise no Mi 0.5.1 still has three that can stop the game.
  • Three hooks another mod may want too (sounds, drawing what a technique spawns, Forge's registers) give way the same way, and are named in the log.

Less memory, fewer hitches

  • Zones that show their blocks no longer eat memory for as long as they last, and rebuild only when a block changes or you move. Going through a portal no longer leaves the other dimension's zones behind, and a player who arrives sees the zones already open there.
  • Save and Quit no longer keeps the old world in memory. Two players who fought each other are let go too.

For addon makers

  • PoseTracks: the helpers every technique's pose copied (track, lean, scale, copyLayers).
  • AkumaFishmen: the base mod's three fishman looks, on players or on your own humanoid NPCs. declareSubRace gives a look to a sub-race of any main race, and Look.WOTAN is an orange dorsal fin alone.
  • AkumaHorns: curved horns on the players of a race you declare, shape and colour from the UUID.
  • AkumaSize.sizeRatio: how big a target is next to a user. A creature counts by its height.
  • AkumaTitles.wearAsked: wear for what a client asks, at most once in half a second.
  • MixinReport: set it as the plugin of your mixin config, and every optional injection of yours that did not apply is named when the game has loaded. @Protection on one makes that an error block.
  • gradlew checkMixinTargets -PbaseModJar=<jar> [-PmodJar=<jar>] in AkumaLib's repository compares every mixin target of a jar with a Mine Mine no Mi jar, without a game. See the docs, "Mixins and new versions of the base mod".
  • A recruiter button whose id is too long for the network is left out, instead of breaking the whole desk.

An addon that uses any of these declares versionRange = "[6.2.0,)". Leave the top of the range open.

6.1.0

Released 2026-10-30 · Download

No more techniques lost at launch. On some launches, a game with several addons could quietly lose techniques while starting. A server then refused that player with "The following mod versions do not match", even with the same versions on both sides, and the next launch could be fine. It no longer happens in our tests: if a server still refuses you with 6.1.0, please send us your log. Skins given by addons no longer flicker, and a big body's waves now run as far as they are wide. No signature was removed or changed.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Same network protocol as 6.0.0 (16): a 6.1.0 game plays with a 6.0.0 server and the other way round. Update AkumaLib on the server and on every client all the same: the fix for refused joins works on the game that has it.


Fixes

  • Refused by a server with the same mods on both sides. While the game starts, mods load at the same time, and an addon that builds on another addon (Infusion no Mi on Missing Missing no Mi, for one) could make the game lose techniques, from one to hundreds, of an addon or of Mine Mine no Mi itself. It only happened on some launches, with no error. The game now keeps them all, whichever mods you have.
  • Skins that flickered. A skin an addon puts on a player (a fishman's colour, a form's skin) was drawn over yours and flickered. It is now drawn instead of yours, on the body and on the first-person arm.
  • Race wings are no longer flat: they have a little thickness and stop flickering.
  • Race colours look the same on every skin. The colour is read from your cheeks and hands, whatever your complexion, and dark hair is no longer taken for skin.

Bodies of every size

  • A big body's wave runs further, not only wider. At four times a man's size, a wave runs twice as far.
  • A zone's tooltip gives the radius the zone really has at your size.
  • Techniques made for a form wait their normal cooldown and spawn at a man's size for a man in that form, as their reach and damage already did.

For addon makers

  • SkinSwaps: one skin for a player, by priority, on the body and the first-person arm. ArmSkins is deprecated and still works.
  • KeptForms: a big form whose techniques keep a man's figures.
  • SizedStep: a step height that follows the body.
  • CivilianFaction.exempt: a sanctioned fight, where a blow on the law is no civilian's strike and ends no truce.

An addon that uses any of these declares versionRange = "[6.1.0,)". Leave the top of the range open.

6.0.0

Released 2026-10-29 · Download

Bodies of every size. A player can now be bigger or smaller than a man, and everything follows: his reach, his blows, his techniques, his walk, his jump, his health, the camera, the sounds and what he summons. A man at normal size plays exactly as before. The character creator becomes a book with a size slider for every race, and addons can now bring races of their own, giants included (Race Race no Mi). Large pirate ships and Marine battleships generate again, and wild mobs may now have eaten a Devil Fruit.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

⚠️ Network protocol 16. The sizes are now sent to the players, so 6.0.0 does not play with 5.2.0 or older: update the server and every client together.

⚠️ Why a 6. One method an addon could call changed what it gives back (NpcStyles.giveFruit, see the end), and the size system changes how far and how hard the techniques of a big or small body reach. Nothing else was taken out. Every published addon accepts 6.0.0 as it is: Awaken Awaken no Mi, Awaken Path, Cruise Cruise no Mi, InoFruits, Missing Missing no Mi and Sky Island.


New

  • Your size. Mine Mine no Mi's character creator gets a size slider, from 0.75 to 1.25 times a man in small steps, a man in the middle. A race brought by an addon can be bigger by nature (Race Race no Mi's fishmen and giants) and have its own slider. The size stays with you through death, a relog and a change of dimension.
  • Everything follows the body. A big body reaches farther, hits harder, walks with bigger strides, jumps higher, falls from higher, has more health and takes knockback less. Its techniques grow with it: areas, beams, projectiles, explosions, dashes, grabs (a giant can grab several at once), walls, cages, zones, the creatures it summons, the particles and the sounds. A small body is the other way round. The tooltips give the range a technique has at your size.
  • The limits of a big body. It is slower in the air and sinks faster in water when it does not swim up, cannot ride a horse or a boat past twice a man's size, and its cooldowns are a little longer. Under a roof too low for it, it gets out instead of choking in the blocks. Chests and wandering traders open as far as its arm reaches.
  • The camera, the box and the eyes follow the size: first person at the body's real eye height, third person backs off with the size, steps up higher blocks, casts a bigger shadow, hears from its middle.
  • Forms that make you bigger add to your own size: a giant in a form that doubles a man is bigger still. Above four times a man, what a form adds grows less and less, and nothing goes past sixteen. Mine Mine no Mi's Deka, Gomu Gigant, Brachio Guard and Daibutsu count in that total: the Daibutsu of a man is about 11 blocks high instead of 13.
  • A new character creator. The choices of each step (faction, race, style, profession) are laid out in a grid, with the chosen one's sub-races, a 3D preview of the race you can turn, its bonuses, its description and its techniques with their full tooltips. Locked choices say why. characterCreator.gridBook = false in akumalib-client.toml gives back Mine Mine no Mi's own screen.
  • Wild mobs with Devil Fruits. Any mob that spawns on its own may have eaten a Devil Fruit of the wooden box and use it (mobFruitChance in akumalib-server.toml, section npcFruitUsers, 0.01 % by default). A peaceful animal that has one no longer flees: it turns on whoever hits it. Bosses, water mobs and Mine Mine no Mi's NPCs are left out. A Zoan given to a mob that is not built like a man takes its full form only.
  • Server switches in akumalib-server.toml, section sizeSystem, all on by default: sizeSlider (the creator's slider), raceBaseSizes (races bigger than a man), sizeSliderUnderOne (when off, a body the slider made smaller keeps a man's strength), sizeInPvp (when off, damage and knockback between two players as two men's) and bodyReachMenus (when off, chests and traders at a man's distance). The same section holds every figure of the size system. A change is applied to the players online within a second.

Mine Mine no Mi fixes

  • Large pirate ships and Marine battleships never appeared. They looked for a list of oceans that Mine Mine no Mi 0.11.6 does not have. They now generate in the deep oceans of new chunks.
  • Ice Age froze the server for a moment each time it was cast. Its start is now light.
  • Explosions beside a giant tornado (Awaken's Glittering Storm) froze the server for up to two seconds. They no longer do.
  • The forms that are your own body (Deka, Gomu Gigant, Hito Daibutsu, Mini, Inga Zarashi, Volt Amaru, and Awaken's Titan and Daibutsu) hid your cape, your hat, your parrot and everything addons draw on a player. They are shown now.
  • A second body inside the Mammoth hybrid. What is drawn over a player in a hybrid (Haki, a race's wings or fins) stayed on a man at rest inside the hybrid. It now follows the hybrid's body.
  • Wide forms crawled beside a block. A wide form such as Mammoth Guard Point dropped to the crawling pose against a wall. It now stands, lifted onto the block.

Fixes

  • A drawing cancelled by a vanishing effect (Missing Missing no Mi's Shima Merge) could crash the game at a size other than a man's. It no longer does.

For addon makers

  • The size system: the akumalib:size attribute and AkumaSize (factor, factorFor, hurt, damage, setBodySize, addFactorScale), SizeScale, AbilityContext, AkumaShapes, BlockShapeSize, AkumaSpawnSize, RaySize, SizeGrabs, SizeTooltips. Areas and lines through the base mod's RangeComponent and AkumaLib's bases follow the size by themselves. Tags akumalib:size_exempt (a technique that must not grow), size_form_made, form_keeps_reach, size_followers. See Attributes and size and the size defects register.
  • FormSizes.declare(form, size[, mode]): a form that makes its user bigger, as a modifier of the size.
  • Races: AkumaRaces.countAs (a race that counts as a base race for its techniques and prices), setCategoryIcon, setSize (a race's base size and slider). AkumaCreator.describe fills the creator book.
  • Looks: ArmSkins (a skin over the first-person arm), RecolouredSkins.tinted (a colour laid on a player's skin) and RecolouredSkins.hair, race wings an ability can move.
  • TornGroundEntity: ground torn out, carried and thrown, bursting where it lands.
  • Mobs with fruits: the entity tag akumalib:humanoid_fruit_users, NpcStyles.isHumanoid, NpcStyles.registerBeastFruits (the full form of a Zoan for a mob that is no humanoid).
  • Changed: NpcStyles.giveFruit now returns the abilities given (List<AbilityCore<?>>), or null when the fruit is refused, where it returned the goals. The compiled call is the same: an addon built against 5.x keeps running; one that stored the result as a list of goals needs a change to compile. AkumaAim.ahead takes a man's reach and grows it by the user's size itself. No other signature was removed or changed.

An addon that uses any of these declares versionRange = "[6.0.0,)". Leave the top of the range open.

5.2.0

Released 2026-10-23 · Download

Haki techniques that cost Haki, and a crash on new worlds gone. Addons can now make techniques that pay from your Haki gauge instead of needing your Haki switched on: once the gauge is spent they are greyed until it comes back. Bows, guns and cannons can take their ammunition from an addon's own storage. A new world could crash the server at its very first start on Windows, and saved captains could lose their Rokushiki: both are fixed. No signature was removed or changed.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Same network protocol as 5.1.0 (10): a 5.2.0 game plays with a 5.1.0 server and the other way round.


Mine Mine no Mi fixes

  • Crash on the first start of a new world. On Windows, a new world (single player or server) could stop in its very first moment while Mine Mine no Mi set up its server settings file. The settings are now written again until they go through, and the world starts.

Fixes

  • Captains lost their Rokushiki after a reload. A Marine captain (or another NPC with Rokushiki) saved in the world could come back without its Rokushiki techniques once the world was loaded again. It keeps them now.

New

  • Haki techniques pay the Haki gauge. A technique made with Armament Haki (in an addon such as Missing Missing no Mi) unlocks with your Haki mastery and no longer needs your Haki switched on. It pays from the Haki gauge instead: once per use, or every second while a form stays on. When the gauge is spent the technique is refused and greyed on the bar, and comes back once the gauge has rested a little. The tooltip gives the cost. These techniques hit a Logia's body, as Haki does. NPCs pay nothing.
  • Ammunition from other places. Bows, crossbows, Mine Mine no Mi's guns, cannons and Gun Array can take their arrows, bullets, gun powder and cannon balls from a place an addon gives you (Missing Missing no Mi's Poke Poke pocket), once your inventory has none.
  • Forms that reshape your own body. An addon's form can now stretch or lift your own body for as long as it is on (Missing Missing no Mi's Pachycephalosaurus hybrid).

For addon makers

  • HakiCost: afterMastery, perUse, perTick, canPay / pay, carriesHaki. See Haki techniques.
  • AmmoSources: register a place a player keeps ammunition in.
  • PlayerPoses: a pose held on the player's model while a form is on.

An addon that uses any of these declares versionRange = "[5.2.0,)". Leave the top of the range open.

5.1.0

Released 2026-10-20 · Download

Join the Marines, and come back from piracy. A Marine recruiter now sits at the front desk of Mine Mine no Mi's Marine bases: a civilian can sign up there, a Marine can resign, and a pirate can buy an amnesty or give themselves up and serve a sentence in a new prison. Captains and notorious NPCs blink around with Soru far less. The forms are drawn better: NPCs are no longer missing a torso or limbs, arrows stuck in a full form no longer crash the game, hybrid claws follow the arm, and weapons take their pose in whole forms. AkumaLib is now in French too. No signature was removed or changed.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

⚠️ Network protocol 10. The recruiter's window adds two messages, so 5.1.0 does not play with 5.0.0: update the server and every client together.


Mine Mine no Mi fixes

  • Marine captains without a torso. Once an NPC fruit user took a form that hides part of the body (Mochi's Flowing Body, Onyudo's hybrid...), every NPC of its kind was drawn with that part missing, new ones too, until the game restarted. Each NPC is now drawn whole again after the one in its form.
  • Crash with arrows stuck in a full form. A player or an NPC in a full form whose body is partly hidden (a missile, a beast's run form) crashed the game of everyone who saw it as soon as an arrow was stuck in it. It no longer does.
  • Hybrid claws and fur follow the arm. On every punch, the claws, fur and sleeves of a hybrid form ran ahead of the arm they sit on, and sat a little off it with an item in hand. They now move with the arm, in Mine Mine no Mi's forms and the addons' alike.
  • Weapons in whole forms. In a whole humanoid form (a giant, a stone body...) the arms hung down while you drew a bow, raised a shield, aimed a gun or a bazooka, or held a crossbow. They now take the pose, for players and NPCs.
  • Weapons in hybrid forms on NPCs. An NPC in a hybrid or partial form held its weapon where somebody else's hand was (a captain's sword floated where you drew your bow). It is now in its own hand.

New

  • The Marine recruiter. A recruiter now stands at the front desk of Mine Mine no Mi's small and large Marine bases, in old worlds too (he appears when a player walks into the base). He does not move, fight or get hurt.
    • Join the Marines: a civilian or a bounty hunter with no bounty and no crew becomes a Marine Chore Boy, with the Marine hat, shirt, trousers and boots.
    • Resign: a Marine becomes a civilian again.
    • Each refusal says why: already a Marine, a pirate, a bounty, a crew.
  • Back to civilian life. A pirate whose bounty never went over 500 000 can stop being one, at the same desk. They must leave their crew first.
    • Amnesty: pay half your bounty in Belly. Your bounty goes to 0, your wanted poster is gone and you are a civilian.
    • Give yourself up: serve a sentence of 2 minutes, plus 1 per 5 000 of bounty, 30 at most, counted only while you are online. You serve it in a cell of a new prison, in Kairoseki handcuffs, abilities off. Your weapons and fruit boxes are kept and given back at the end, where you surrendered, as a civilian.
    • A fading bounty: after 3 game days online with no new bounty, it loses a fifth of its start every game day. At 0 you are still a pirate, but the amnesty is free.
    • Truce: inside a Marine base, a pirate who could go back, with no weapon in hand and no Marine struck or robbed in the last minute, is left alone by the Marines.
  • Fewer Rokushiki for captains and notorious NPCs. Fights are easier to read: a captain (pirate, Marine, bandit leader) or a notorious NPC (vice admiral, notorious captain) no longer blinks around with Soru all the time. Most know one Rokushiki technique, some none, a few two or three (a notorious NPC two at most), and Soru is no more likely than Shigan. Their Rokushiki wait twice as long as a player's, and 15 s at least between two Soru. They keep the same techniques after a reload. Named bosses (Morgan, Kuro, Mr. 1...) are unchanged. New section npcRokushiki in akumalib-server.toml: the split, the Soru wait, the multiplier, and npcRokushiki = false for Mine Mine no Mi's own draw and cooldowns.
  • French translation.

For addon makers

  • MarineRecruiter.addPirateOptions: add your own choices to a pirate's window at the recruiter's desk.

An addon that uses any of these declares versionRange = "[5.1.0,)". Leave the top of the range open.

5.0.0

Released 2026-10-18 · Download

Mine Mine no Mi's NPCs get better at using Devil Fruits, and servers can turn professions off. Grunts, brutes and snipers can now get a fruit, flying Zoans fly on NPCs, NPCs no longer wreck the terrain or set fires, and a Logia is a rare boss. A notorious NPC keeps its fruit after a reload, and under One Fruit per World NPCs no longer draw a fruit somebody already has. A server can turn off any profession, and a civilian who robs the Marines turns pirate. The corrections of Mine Mine no Mi of 4.0.0 to 4.8.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

⚠️ Network protocol 9. The list of turned-off professions is now sent to the players, so 5.0.0 does not play with 4.5.0 to 4.8.0: update the server and every client together.

⚠️ Why a 5. Nothing an addon uses was taken out. Two inner pieces changed, both for the turned-off professions: the message that sends players their professions, and the client side that reads it, now carry that list. No published addon used them. But an addon that asked for "AkumaLib 4" only refuses to start beside 5.0.0, so take these versions or newer with it: Cruise Cruise no Mi 0.5.1, Awaken Path 2.3.1 and Missing Missing no Mi 4.0.0. InoFruits, Awaken Awaken no Mi and Sky Island accept 5.0.0 as they are.


Mine Mine no Mi fixes

  • A notorious NPC lost its fruit's techniques. After a reload, a vice admiral or another notorious NPC kept its fruit but no longer used any of its techniques, or used those of another fruit. It now uses its own fruit's again.
  • One Fruit per World and NPCs. With NPC fruit users on, captains and notorious NPCs could draw a fruit a player already had. Under One Fruit per World they now draw only fruits nobody has, and an NPC's fruit takes nobody's place. With no fruit left, the NPC has none.
  • The Marines circled a civilian for ever. A civilian who opened a chest in a Marine building had every Marine around set on them, though they could not hurt them. They now leave them alone, unless they steal (see below).

New

  • Grunts, brutes and snipers with Devil Fruits. Two new settings in akumalib-server.toml, section npcFruitUsers, troopFruitGruntChance and troopFruitBruteSniperChance (0 to 100 %, decimals allowed, off by default), give the common troops of the pirates, the Marines and the bandits a Devil Fruit whose techniques they use. Troops spawn about 25 times as often as captains: 0.5 % for grunts and 2 % for brutes and snipers keep fruit users rare. A grunt only gets a fruit of the wooden box, a brute or a sniper one of the wooden or iron box, even when every fruit is in every box. Under One Fruit per World they never get a taken fruit, and they keep theirs after a reload. Captains and notorious NPCs keep Mine Mine no Mi's own setting.
  • NPCs no longer wreck the terrain. With the new npcAbilityGriefing setting (same section, false by default), the abilities of NPCs break and replace no block: no crater, no broken wall. Their techniques still hit, knock back and apply their effects. Blocks they lay into air and walls that are taken down again still appear. NPCs light no fire either. Players are not concerned: Mine Mine no Mi's "Ability Griefing" alone decides for them. Set it to true to let NPCs break blocks as before.
  • Logia NPCs are rarer. A captain, bandit leader, vice admiral or notorious NPC draws a Logia four times less often than another fruit: a player without Haki cannot touch one, so it stays a rare boss. Troops never get one.
  • Flying NPCs. An NPC with a flying Zoan form now takes off: it circles above its target, comes down for a low pass every 5 s, lands after 20 s and rests 10 s. A player with a sword reaches it on each low pass.
  • /akumalib npcfruit <targets> <fruit> (operators): gives any Devil Fruit to an NPC, an addon's included, with its techniques. clear takes it off. The NPC keeps it after a reload.
  • Turn off a profession. The new disabledProfessions setting in akumalib-server.toml lists professions the server turns off. A profession turned off gives no XP and no talents, its workstation does not open, and it is hidden from the Professions screen and the character creator. Its XP and talents are taken back at the next login; in Crew mode a player whose profession is off chooses again. Items already made stay and work.
  • A civilian who steals turns pirate. Taking a weapon (swords, axes, guns, the cannon, bullets, cannonballs, arrows...) or a Devil Fruit box from a chest in a Marine building makes a civilian a pirate at once. Anything else is one strike per chest opened, counted with their blows on the law: three in a game day and they are a pirate. Breaking the chest counts too. Once they are a pirate, the Marines go for them.

Fixes

  • Spreading zones and chests. A zone that turns the ground around its user (Awaken's Candle World, Sabaku no Okoku and the others) took furnaces, chests and barrels with the rest: they came back empty, and a buried chest spilled its items. It now leaves them alone, and protected areas too.

For addon makers

  • NPCs: FlightAbilityWrapperGoal and AboveTargetAbilityWrapperGoal (an NPC flies with a flight passive and strikes from above), AkumaProtection.canBreakBlocksAt(entity, pos) (a lasting break an NPC may not make), NpcStyles.giveFruit / takeFruit.
  • Shared kit helpers, moved out of Missing Missing no Mi so every addon has one copy: SquadAbility (a squad that fights for its user, a player or an NPC), ExtraLivesAbility, GroundLayerBlock and SparedEffect with GroundLayers.spareAround, ZoanMounts, ArmCoating.coat, AkumaAim.inSight / inPath / fromFront, ParticleBursts.burst, BigFormsStand, MatterSource, Shots.hostile.
  • Opt-in hooks: HoldingSphereEntity (slack, releases, opensFrames, getHeld), MoveAbility.strikesInPath(). GustAbility.turnBack now defaults to Shots.turnBack.
  • Civilians: CivilianFaction.stole(player, stack) reports a theft from a chest of your own; the item tag #akumalib:turns_civilian_pirate lists what turns a civilian at once.
  • SpreadingBlockAbility now refuses blocks with a block entity and protected areas in its base canReplaceBlock: a subclass that returns super gets it for free.

An addon that uses any of these declares versionRange = "[5.0.0,)". Leave the top of the range open: a range that stops at the next major refuses it, as [4.x,5) refuses 5.0.0.

4.8.0

Released 2026-10-16 · Download

The character creator crash of 4.7.0 is fixed, Haki shows in Gear Fifth, and civilians get their place in the book. 4.7.0 could stop the game in the character creator: it no longer does. Armament Haki now shows on a body in a form like Gear Fifth. The Civilian faction gets its page, and a civilian who attacks the law becomes a pirate. The corrections of Mine Mine no Mi of 4.0.0 to 4.7.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Nothing changes for a player's setup: the network protocol is the same (8), so 4.5.0 to 4.8.0 play together. Nothing changes for an addon either: no signature was removed or changed, and an addon made for 4.0.0 to 4.7.0 works with 4.8.0.


Fixes

  • The character creator crashed. In 4.7.0, scrolling the races in Mine Mine no Mi's character creator stopped the game. It no longer does.

Mine Mine no Mi fixes

  • Haki in a form that keeps your body. In Gear Fifth, and in the other forms that keep the player's own body and add to it, the Armament Haki of a punching arm stayed beside the body while the arm moved, and full-body Haki did not show at all. Both now show as they do without the form.

New

  • Civilians. The Civilian faction has its page in the faction book, after the Revolutionaries, with its own icon and flag.
  • A civilian who attacks the law becomes a pirate. A civilian who strikes 3 different Marines or World Government men in one day becomes a pirate. He is warned after the 1st and the 2nd, and the count starts again each day.
  • Struck back. A Bounty Hunter or a Revolutionary that a civilian struck may strike him back for 30 seconds after his last blow.

For addon makers

  • CivilianFaction: the Civilian's page, icon, flag and rules above.

An addon that uses it declares versionRange = "[4.8.0,5)".

4.7.0

Released 2026-10-15 · Download

Awakenings and trades get their own tabs. In the abilities screen a fruit's awakened abilities now sit in an Awakening tab of their own, and a trade's abilities in a Profession tab. A technique that waits for a form is greyed on the bar until the form is on. Creative flight climbs again after a fruit flight. The corrections of Mine Mine no Mi of 4.0.0 to 4.6.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Nothing changes for a player's setup: the network protocol is the same (8), so 4.5.0, 4.6.0 and 4.7.0 play together. Nothing changes for an addon either: no signature was removed or changed, and an addon made for 4.0.0 to 4.6.0 works with 4.7.0.


Mine Mine no Mi fixes

  • Creative flight that would not climb. A player who went into creative mode while a Devil Fruit flight was on could switch creative flight on but never rise. Creative flight climbs again.

New

  • An Awakening tab. The awakened abilities of a fruit get a tab of their own in the abilities screen, right after Devil Fruit. Its picture is your fruit outlined in gold. The fruit's tooltip lists only its base abilities, and the tooltip of an awakened ability says "Awakening" under its name. For the addons that mark their awakenings: Awaken Awaken no Mi 2.3.0 does.
  • A Profession tab. The abilities of a trade get a tab of their own too. Its picture is your trade's icon.
  • Greyed techniques. In the addons built on AkumaLib, a technique that needs a form you are not in is greyed on the ability bar. It lights up as soon as the form is on. A cooldown is still drawn over it.

Improved

  • Talent webs follow the GUI Scale. The talent web screen is the size of the game's other screens: GUI Scale makes it and its words larger or smaller. It fits the web again when the window is resized.

For addon makers

  • Awakenings. Awakenings.mark(...) sets abilities apart as a fruit's awakening: the Awakening tab and the tooltips above come from it. Awakenings.canUnlock(user, fruit) is the shared unlock check (the fruit eaten and awakened). The abilities keep the Devil Fruit category, which Seastone, water and /remove_df read. Mark them on both sides, at mod construction or in the common setup.
  • Profession tab. ProfessionAbilities.CATEGORY for a trade's abilities.
  • Greyed slots. A MorphGates gate is greyed by itself. GreyedSlots.unless(ability, check) greys a technique for any other condition.
  • Walls. WallAbility: an ability that goes on while its wall stands, ends when the wall goes, and brings it down when used again.
  • Armour. HiddenArmour hides one armour piece at a time during a technique.
  • Wings and antennae. client.race: the wings of the Skypieans, the Shandia and the Birkans (WingsLayer) and the Skypieans' antennae (AntennaeLayer), for a mod that puts a race on players, with a filter for who wears them.
  • Claims. ClaimEvents.allowed(level, entity, pos, state) asks for a block of another world than the entity's.

An addon that uses them declares versionRange = "[4.7.0,5)".

4.6.0

Released 2026-10-12 · Download

A crash at launch is gone, and powers can now have a world of their own. With several fruit mods installed the game could stop before the title screen, on one launch and not on the next: it no longer does. Addons get what a power needs to take players into its own world and bring them back, and a world that mends itself. The corrections of Mine Mine no Mi of 4.0.0 to 4.5.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

Nothing changes for a player's setup: the network protocol is the same (8), so 4.5.0 and 4.6.0 play together. Nothing changes for an addon either: no signature was removed or changed, and an addon made for 4.0.0 to 4.5.0 works with 4.6.0.


Mine Mine no Mi fixes

  • The game stopped before the title screen, now and then. With Mine Mine no Mi and one or more mods that add fruits, a launch could end on an error before the title screen, or a fruit could lose its place in the ability menu, and the next launch be fine. Every launch now goes through.

Improved

  • Skypiea generates faster. New chunks of a world built on AkumaLib's cells (Sky Island's islands) take about 13 % less time to generate. The worlds are the same.
  • Talent webs. A node that gives an ability shows that ability's own picture, and a web that grows to one side (a tree from its foot) fills its window when it opens.

For addon makers

  • Pocket worlds. For a power that has a world of its own: PocketGuests keeps who was taken in, by whom and where each stood, saved with the world, and brings them back, a player who left the game included; AkumaDimensionTravel.place sets a body down standing still at the nearest free place, never inside another body or a wall; WorldMending makes a dimension come back as it was some time after it was dug or built in.
  • Block writes. BlockWrites: a mod watches a dimension and is told of every block that changes there, whoever changed it.
  • Catchable creatures. CatchableCreature.addQuietStep and addLinger: an addon says how much closer a player may come before a creature reacts, and how much longer a creature waits before it takes off.

An addon that uses them declares versionRange = "[4.6.0,5)".

4.5.0

Released 2026-10-11 · Download

Powers now meet each other. Lightning hurts a soaked target more, fire dries it, ice holds it longer, rust bites steel, wind blows clouds away, and a creature or a player held by one power can no longer be taken by another. All of it works between the fruits of Mine Mine no Mi and those of every addon, without any of them knowing the others. A Zoan's head that stayed turned to one side is straight again. The corrections of Mine Mine no Mi of 4.0.0 to 4.4.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.6 or newer. JEI and EMI are optional.

⚠️ Mine Mine no Mi 0.11.6 is now the minimum. A game still on 0.11.5 must update the base mod first.

⚠️ The network protocol is now 8: a client and a server must both have 4.5.0. 4.5.0 and 4.4.0 refuse each other.

Nothing changes for an addon: no signature was removed or changed, and an addon made for 4.0.0 to 4.4.0 works with 4.5.0.


Added

  • Lightning and water. Lightning hurts a soaked target 25 % more. Any lightning counts (Goro Goro no Mi, Electro, the weather tempos, a thunderstorm) and any way of being soaked: standing in water, the bubbles of the Awa Awa no Mi, a thrown bottle of water.
  • Ice and water. Ice holds a soaked target frozen 2 seconds longer.
  • Fire and water. Fire and magma deal 20 % less to a soaked target, and dry it. The burn a target keeps afterwards does not count.
  • Metal. Lightning hurts a body made of metal 25 % more, and the rust of the Sabi Sabi no Mi hurts steel 25 % more. Gold does not rust. A Supa Supa no Mi user is made of metal while Spider hardens their body.
  • Wind. Using an air technique (Rankyaku, the pound cannons, wind blades) blows away the smoke star and chloro ball clouds in front of the user.
  • A sign when it happens. A short burst of particles and a sound show each of these reactions.
  • One master at a time. A creature that already belongs to a player through a Devil Fruit power can no longer be tamed by another player.

Fixes

  • A Zoan's head stayed turned to one side. After you had turned your camera a whole turn and the server had set your position (a teleport, an ability that moves you), the head or the neck of a form stayed turned to one side for good, walking or not. It is straight again. Every addon's forms are covered.

For addon makers

  • Shared states (api.effects.AkumaStates): what a body is in, as mob effect tags that any addon fills from its own data. silenced (akumalib:silenced, the base mod's Silent), soaked (akumalib:soaked: in water or bubbles, or the base mod's Wet or Washed; rain is not counted), metal and rusts (akumalib:metal, akumalib:rustproof, with two hidden effects to lay through AkumaStates.hold while a power makes its user steel or gold). canBeHeard is a ready can-use check for a power that has to be heard.
  • Reactions (api.effects.AkumaReactions): on(element, state, reaction) says once what a blow of an element of the base mod does to a body in a state. by(technique) names a technique the base mod gave no element, spare takes a technique that is of an element in name only (steam, boiling water) out of the reactions to it, and show plays the particles and the sound.
  • Wind (util.Winds): the entity type tag akumalib:blown_away lists what an air technique blows away. Winds.blow(user) for a wind technique of another element.
  • Whose a creature is (util.Masters): a power that takes creatures declares its hold with claim and asks isTaken before taking one. The same for players with claimPlayer and isHeld: the first hold keeps him.
  • LookWinding.unwind(entity) for a creature of your own drawn with a model that shares the head's angle between several parts.
  • Talent webs (api.professions.talents): a profession can have a web of talents, one file per profession at data/<namespace>/talent_webs/<path>.json, read with AkumaTalents.total(player, profession, bonus) and has(...); TalentEvent.Taken and Reset. A player earns 1 point every 5 levels and spends it from a Talents button on the profession's page or with the Talents key (J). Nothing shows for a profession that has no web. See the Talent webs page of the docs.
  • Built against Mine Mine no Mi 0.11.6.

4.4.0

Released 2026-10-10 · Download

One more damage type icon, a softer landing for flying forms, and a large set of shared pieces for addon makers. Abilities whose damage is indirect now show it as an icon like the other damage types, a player in a flying form who leaves the game in the air no longer pays the fall when coming back, and addons get the pieces that several fruit kits had each written for themselves. The corrections of Mine Mine no Mi of 4.0.0 to 4.3.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (7): 4.4.0 and 4.3.0 play together. Nothing changes for an addon: no signature was removed or changed, and an addon made for 4.0.0 to 4.3.0 works with 4.4.0.


Added

  • An icon for indirect damage. In an ability's tooltip the damage type "indirect" was written as a line of text while every other type had its icon. It has one now, beside the others.

  • Flying forms and a lost connection. A player in a flying form who leaves the game in the air came back as a man in the sky and paid the whole fall. The first fall after coming back is now free, for every addon whose flight is built on AkumaLib.

For addon makers

  • Whom an ability may reach. AkumaAim gathers the rules every sweep, hold and projectile should follow: canStrike and mayFight (never a player in creative, never the animal of another player unless its master is there and may be fought, never an armour stand), and the usual shapes: within, ahead, alongLook, around.

  • Small helpers moved in from a fruit addon: TechniqueSource, Techniques, Smash, Holds, SparedFalls, PanelWalls, GroundLayers, CooldownFamily.

  • A creature that loses its quarry. Quarry makes a creature forget the one it is after, in its target and in its memory (piglins and wardens keep it there): forget, dropPursuers, and blind, which stops a creature from taking any quarry for a while.

  • A body in another matter. MatterBodyMorphInfo is a form that is the player's own model in a skin worked out from his own, at any size: a giant of stone, a coat of metal. MatterMorphRenderer draws its first-person arm in that matter. MorphEyes gives a form's eyes for the poses it names its box for.

  • Giants of matter. MatterGiantAbility: a giant body at several sizes, chosen before it is raised, whose matter takes the blows, grows back on the right ground and falls apart when none is left.

  • Forms that last a time. TimedSizeFormAbility: a form with a time limit in several sizes, whose cooldown is paid for the share of the time it was held.

  • Items a player keeps with him. PlayerStore: a store that follows a player over a death, opened with any chest screen of the game, and that hands back what it refuses.

  • Strong bodies and turned shots. StrongBodies (players, bosses and the akumalib:bosses entity tag) for a hold that lasts less on them, and Shots to send a projectile back the way it came (the akumalib:thrown_weapons entity tag stays with its thrower).

  • Counting blocks. BlockScan.countAround and BlockScan.nearest, for a power that feeds on the stone, the gold or the plants around its user.

An addon that uses them declares versionRange = "[4.4.0,5)".

All of these are described on the AkumaLib pages.

4.3.0

Released 2026-10-08 · Download

Devil Fruit boxes without tiers, a book of the fruits found, and new tools for addon makers. A server can put every Devil Fruit in every box, /fruits shows on a screen what has become of each fruit in your world, and addons get decoys, waves, dives, holding spheres and techniques that pass through blocks. The corrections of Mine Mine no Mi of 4.0.0 to 4.2.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is new (7): update the server and every player together. A 4.2.0 game cannot join a 4.3.0 server, nor the other way round. Nothing changes for an addon: no signature was removed or changed, and an addon made for 4.0.0 to 4.2.0 works with 4.3.0.


Added

  • Devil Fruit boxes without tiers. A server can now put every Devil Fruit in every box: fruitBoxMode in akumalib-server.toml, NORMAL as before or MIXED. In mixed boxes every fruit has the same chance, unless fruitBoxKeepWeights is on. Every fruit of every installed mod is taken, and a fruit is still found only once in a world where that rule is on. An operator changes it while the server runs with /akumalib fruitboxes mode normal|mixed.
  • The fruits found, on a screen. /fruits opens a book that lists every Devil Fruit and what has become of it in your world: free, on the ground, carried or eaten, and by whom, with a search line and filters. It is open to whoever Mine Mine no Mi's /check_fruits is open to; operators also see where a fruit lies and can go there. It needs one fruit per world to be on.

Fixed

  • Temporary blocks of a player who leaves the game come down as he leaves: they used to stay until the server stopped.

For addon makers

  • Decoys. DecoyEntity is a copy of a player that stands in his place: set under his name, it does not move, draws the monsters that are his enemies, and ignores his own blows; how it ends is the addon's. PlayerCopyRenderer draws it with its maker's body and arms, in the skin the addon gives it, with an optional layer over it, and it keeps its maker's look for a player who never saw him. PlayerCopy is what the renderer asks of an entity, so a body of your own can be drawn as a player too. RecolouredSkins gives a player's own skin in another matter, and PlayerSkins a skin from a profile.
  • Passing through blocks. BlockPassageAbility is the base of a technique during which its user passes through blocks - a dive under the ground, a walk through a wall - and is put where he fits at the end. AkumaRoom finds that place: the first room straight above a point, or the nearest one all round it.
  • Blocks taken out for a while. A TemporaryBlocks group now also takes blocks out (cut) and gives them back when it is removed: a pit, a gap. A block somebody set there meanwhile stays, a chest is never taken out, and whoever is in the gap as it closes is set on top.
  • A temporary layer goes under bodies too. A block one can stand in (a pool on the ground, a web) can now be laid with lay, and no longer leaves a hole under everybody caught in it.
  • Holding spheres. HoldingSphereEntity: a sphere that closes over a body, holds it and takes its air, with a hit as it shuts and one every second after. The addon gives the look and the sounds.
  • Waves. WaveAbility: a wave that leaves from its user's feet and runs ahead of him, hitting each body once and carrying it along.
  • Dives and gusts. DiveStrikeAbility: a dive on the enemy in sight that ends in one blow. GustAbility: a blow of air in a cone that throws bodies back and can turn shots back. ServerAim tells a client the point its server aimed at.

An addon that uses them declares versionRange = "[4.3.0,5)".

All of these are described on the AkumaLib pages.

4.2.0

Released 2026-10-07 · Download

Four more corrections of Mine Mine no Mi, and sturdier temporary blocks. A player carrying another one is no longer taken out of the world when his rider leaves, a Logia whose power is off no longer swims through the ground, a throw no longer sends a player twice as far now and then, and a transformed player crouched under a low ceiling is no longer stood up into it. The corrections of 4.0.0 and 4.1.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

No signature was removed or changed: an addon made for 4.0.0 or 4.1.0 works with 4.2.0. The network protocol is the same (6): 4.0.0, 4.1.0 and 4.2.0 play together.


Mine Mine no Mi fixes

Each has its own switch in akumalib-server.toml (section baseModFixes), on by default.

  • Riding a player. When a player sitting on another player's back left the game, the player carrying him was taken out of the world: nobody saw him any more, and he saw nothing, until he logged in again. The rider is now taken off first (fixRiderLeaving).
  • A Logia in the ground, its power off. A Logia merged in the blocks of its element went on crossing them, flying and breathing in them while its abilities were disabled (seastone, a net, handcuffs), in a protected area that refuses abilities, and kept the flight when the fruit was taken away. The blocks now close, the flight ends, and it smothers in a block like anybody (fixBlockTravel).
  • Thrown twice. A technique that hurts a player and then throws him sent that player his throw twice. Now and then he flew nearly twice as far, and higher, than the same technique did the time before. The throw is now sent once (fixDoubleThrow).
  • Crouched in a form under a low ceiling. A transformed player whose form is taller standing than crouching, crouched in a low corridor, was stood up into the ceiling: he smothered and could not crouch again until he left the form. The game is now told the right size, and he stays crouched until there is room (fixMorphPoseSize).

Fixed

  • Temporary blocks stay temporary. The walls and bridges a technique raises for a while could be made permanent: a shovel or a hoe used on them, nylium that turned to netherrack, or their owner leaving by the End's way out. They now all come down when their time is over. A wither that breaks them gets no drop, a wall no longer gets a slit on servers with claim mods, and a real block set where a temporary one stood drops its item again.
  • Markers on the screen are cleared when you change world or dimension: they could stay for hours in another world, or point at the other dimension's places.
  • Highlighted creatures that were already glowing keep their own glow when the highlight ends.

For addon makers

  • ClaimEvents.isAsking(): tells the question asked to the claim mods from a real break, for a listener of BreakEvent that must not act on the question.

All of these are described on the AkumaLib pages.

4.1.0

Released 2026-10-06 · Download

Three more corrections of Mine Mine no Mi, and new tools for addon makers. A Logia can no longer fall out of the world for ever, a technique you are refused no longer cuts the one that was running, and opening your own ender chest in a faction building is no longer a theft. The corrections of 4.0.0 are all still there, each with its switch.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

No signature was removed or changed: an addon made for 4.0.0 works with 4.1.0. The network protocol is the same (6): 4.0.0 and 4.1.0 play together.


Mine Mine no Mi fixes

Each has its own switch in akumalib-server.toml (section baseModFixes), on by default.

  • A Logia in the void. A Logia user who fell out of the world kept falling for ever, and an operator could not kill one with /kill. Both now work as for anybody else (fixLogiaAbsoluteDamage).
  • A refused technique stopped the one that was running. Pressing a technique that could not be used (nothing in reach, nothing to give back, no ammunition) ended the lasting technique you had running and started its cooldown. A refused press now changes nothing (fixRefusedPress).
  • Thefts that were not thefts. In a marine or a revolutionary building, opening your own ender chest, or a storage window of another mod, counted as stealing and lowered your loyalty. Only a chest of the place counts now (fixChestTheft).

Fixed

  • Coasts read the same way every time. A dimension shaped by the overworld's seas (Sky Island's islands and sea of clouds) asks AkumaLib where the sea is. On a few columns right on a coastline, the answer could differ from one moment to the next. It is now always the same.
  • Messages between the game and the server go one way only. On a world opened to LAN, a modified game could send the host messages that are meant for players. They are now refused.

For addon makers

  • SteadyBiomes: reads the biome of a column that is not loaded with the same answer every time. Use it in any search that looks for a place by its biome and is checked again afterwards.
  • A packet registered on your own channel should be given its direction: without one, Forge accepts it from either side.
  • World events: EventClock (so many days between two events, so many hours' stay), Whereabouts (a place told as a way and a distance - "to the north-east, about 400 blocks" - and a rumour told from a named place), AkumaWorldEvents.rumoursNear (every rumour near a place, nearest first: what a board of news lists) and AkumaWorldEvents.hasEnded (for an entity that goes with its event).
  • AkumaAmounts.grouped: an amount with its thousands grouped, 12 500, the same in every language.
  • UnseenSeat: the base of a seat entity nobody sees, which is saved with whoever sits on it.
  • BookScreen, NoteScreen and ParchmentNote: Mine Mine no Mi's open book and its parchment note as bases for your own screens - the frame, the arrows and the pages of the one, the sheet, the slots and the inks of the other.
  • A use check that refuses is now told before the base mod's own refusals (protected area, pool in use). It is still a refusal, with the check's own words.

All of these are described on the AkumaLib pages.

4.0.0

Released 2026-10-02 · Download

AkumaLib now repairs Mine Mine no Mi itself. After a full read of the base mod's code, this version corrects its faults in some seventy-five places: crashes and freezes, things lost at a relog, items destroyed for nothing, checks the server never made, protected areas that were not protected, and a great deal of needless work on every tick and every frame. Until now AkumaLib changed nothing in your game on its own. From 4.0.0 it does: for the better, and each correction can be switched off.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

This is a beta. Every correction was tested by itself, most of them in automated game tests, some in a real client and on a dedicated server with two players. Very few have been played in a long, normal game yet. If something behaves oddly, switch the correction off in the config (see below) and tell us.

⚠️ The network protocol is new (6). A 4.0.0 client cannot join a 3.1.0 or older server, nor the other way round. Update the server and every player together.

⚠️ Addons must be updated with it. No signature was removed or changed: an addon made for 3.1.0 works with 4.0.0 as it is. But 4.0.0 is a new major number, and an addon that told Forge it accepts "any 3.x" refuses to start beside it. Use the versions of the addons released for AkumaLib 4.


Switching a correction off

Every correction of Mine Mine no Mi has a switch, in the section baseModFixes of akumalib-server.toml (in the world's serverconfig folder) or of akumalib-client.toml (in config). All are on, except one that is named below. Setting one to false gives the base mod's own behaviour back for that group of corrections.


Mine Mine no Mi: crashes, freezes and lost progress

  • Worlds that froze at "Preparing spawn area". On some seeds a new world never finished loading, because of how Humandrills were created. It now loads.
  • Six crashes and freezes. Among them: a crash with the "In Event" effect, a crash with a tenth combat bar, a freeze when a mod's weighted list was not in the expected order, and players with a flight power who could be kicked when respawning.
  • Things that were lost at a relog. Loyalty was rounded down at every login (a small penalty grew to a full point each time). A second transformation worn over a first was forgotten. The blocks stored by the Yami Yami no Mi came back as other kinds of blocks. A cooldown bar restarted full. Training points of an old save were reset.
  • Techniques left running. A technique in use when you died, or when you left the End, came back half-working: no bonus, still draining, sometimes stuck until you logged out. It is now ended cleanly first.
  • Coming back from the End. Leaving the End healed you completely and gave back a stolen shadow or a taken heart. You now come back as you went in.
  • Effects that never end. An effect given with no end (by a command, another mod, or one of ours) vanished from your screen as soon as your character was drawn: no icon, while the server still applied it. It now stays.
  • Hotbar keys. If you had changed your hotbar keys, leaving combat mode put them back to 1-9, and leaving a server while in combat mode left them unbound. Your keys are now given back in both cases.
  • World events. A caravan or a visit that had already happened could happen a second time after a restart.
  • Challenges. In single player, a second world opened without closing the game used the challenge data of the first one.

Mine Mine no Mi: items and blocks

  • Items destroyed for nothing. The MH5 gas could wipe out everything around it when its area was simply unloaded. A Straw Doll left in a cave took its owner's totems away. A Sake Cup used from the off hand erased the enchantments of the item in the main hand. A Devil Fruit dropped next to a hopper vanished even with "One Fruit per World" off.
  • Baku Factory. Opening the crafting grid while standing on a chest emptied the chest on the ground. It no longer touches the block under you.
  • Black Hole. Blocks turned to darkness stayed in the world for good when their user logged out, died or changed dimension. They are now given back.
  • Dyeing in the crafting grid. The colour layer you pick is now yours: on a server, the layer one player picked was the layer everybody dyed on.

Mine Mine no Mi: combat and techniques

  • Launches seen backwards in multiplayer. A very fast launch (Yutai Ridatsu, Spring Snipe and others) was shown to the other players going the opposite way. They now see it go the right way.
  • Explosions at a distance. Gastanet and Death Wink hurt nobody when the blast was far from the caster. They now hurt what is beside the blast. Dai Enkai's ring of fire burned allies and spared enemies; it is the right way round now.
  • Techniques shouted twice. With "Anime Scream" on, 58 techniques were announced twice in chat.
  • Instant shots. Guns and other instant shots went through walls and could hit the farther of two targets. A shot now stops at the first block and hits the nearest target (server option fixHitScan).
  • Imbuing Haki and durability. With Haki on, nothing you wore or held lost durability: armour, shield, elytra, tools. Haki now protects the item in your hand only (server option fixImbuingDurability).
  • Tornadoes. A tornado tore blocks out of the ground only inside protected areas, the one place it should not. It no longer lifts blocks.
  • Changing a transformation's size ended it. For an addon's transformation that comes in several sizes, pressing the mode key while transformed ended the transformation and put it on cooldown. It is now left running.

Mine Mine no Mi: NPCs

  • NPCs after a reload. A grunt, brute, sniper or captain whose area had been unloaded came back without the techniques of its fighting style: snipers no longer shot, bandit leaders no longer threw knives. They now fight as they did. NPCs were also healed to full every time their chunk was loaded again, and those from a camp or a base no longer went away. Both are fixed.
  • NPCs on old servers. On a server that has run for weeks, NPCs used their techniques in bursts or late: their timers lost precision as the world aged. They now stay exact.
  • Barkeeper rumours. A pirate who paid 1000 belly for a rumour was always told "nothing new", even when there was one. He is now told it.
  • White Walkie. A guest who turned the page of a White Walkie's storage saw nothing change, while the owner had the storage opened on him. The page now changes for the player who turns it.

Mine Mine no Mi: servers, rules and protection

  • The server now checks what the screens checked. Selling to a trader, buying from one, being healed by a doctor, resetting the ability tree, buying rum, equipping an ability and starting a challenge are now verified by the server itself. Buying with a full inventory no longer takes your belly for nothing.
  • Crew names. A crew whose name was the same as an existing one, capitals and spaces aside, was announced to the whole server and never created. The name is now refused, as is a name made of spaces. The server also checks the details of a crew's flag as it checks the rest of it.
  • Protected areas. An explosion that went off just outside a protected area destroyed blocks inside it. It no longer does, and an area set to rebuild itself now rebuilds what such an explosion takes.
  • Areas that rebuild themselves. A block destroyed in such an area gave its drop and came back anyway, and a chest spilled its contents and came back full. A block that will be rebuilt now drops nothing, and a chest waiting to be rebuilt keeps its contents through a restart.
  • Griefing protection. Shima Yurashi, Ryu no Ibuki, the Blue Sword and Ice Age changed blocks where abilities are not allowed to: with griefing off, and inside protected areas. They now follow the same rules as every other ability.
  • Claim mods. New server option abilityBlockEvents (off by default): when on, a block changed by an ability is announced to claim and protection mods, which can refuse it.
  • One Fruit per World. Under the extended rule, a shulker box you picked up kept one fruit out of two, and coloured boxes were not checked: every fruit is now removed, whatever the colour of the box. The options that deal with a dropped fruit nobody sees any more only worked for a fruit a single player had seen: they now apply when the last player walks away. A fruit taken out of a container by that rule could come back in it after a restart.

Mine Mine no Mi: lighter servers

  • Needless work on every tick. The base mod did a lot of it for every mob, and sent each of its particles to every player of the dimension, however far. Both are gone: less memory churn, fewer packets, and nothing changes in what you see.
  • Fewer packets. A Devil Fruit user standing in water made the server send about 240 packets a second to everyone around; it is now about 20, and the weakness works the same. A revived Yomi Yomi no Mi user, a player carrying somebody and idle NPCs no longer make the server send an update many times a second, and the splashes of running on water are sent in one go.
  • Freezes. Aiming El Thor, Raigo and a few others at the horizon could freeze the server for seconds while it loaded the land in between. The end of a challenge froze it for a third of a second, sometimes more. Raigo and Ursus Shock carved their whole crater in a single tick, and Liberation threw up to a thousand projectiles at once. None of these freezes the server any more: the large ones are spread over a few ticks (server option fixAbilitySpikes), and the result is the same.
  • Nekkai Jigoku. While it ran, the ability took a fifth of the server's time on its own, for up to thirty seconds. It now takes a fraction of that, and boils the same water.
  • Large searches. Closing a chest under the extended One Fruit rule, a fruit user's death, sea animals looking for kairoseki, Ice Age and other large builds: each walked through tens or hundreds of thousands of blocks it did not need. They now read what they need directly.
  • Challenges and server memory. Each challenge left 99 chunks of its arena loaded for good, and each player's arena stayed in the server's memory after a challenge, a little more for every player who had played one. Both are now let go once nobody is there.
  • Pirate NPCs. Their list grew for as long as the server ran and slowed every pirate down a little more each hour.

Mine Mine no Mi: on your screen

  • Deka, Mini, Gomu Gigant and other morphs on wide-armed skins. These morphs, and the Hana wings, were drawn with the slim-armed body whatever your skin. Each skin now gets its own.
  • Third-person view inside a block. A Logia inside its element, or the Ishi Ishi no Mi's user inside stone, saw a close-up of their own character in third person (F5). The camera now stays at its normal distance while you are inside the blocks you can pass through; against a wall, it still stops at the wall.
  • Glowing and teams. A glowing entity was always outlined in white. It is outlined in its team's colour again.
  • Punk Cross and handcuffs. What was drawn on a body after these two was shifted, by several blocks under Punk Cross. It is drawn in its place.
  • Frozen mobs and lightning discharges. Two frozen mobs of the same kind were drawn facing the same way, and two discharges on screen were drawn with the same bolts. Each now has its own.
  • Drums of Liberation. The sound was silent and never stopped. It can now be heard, and ends.
  • Smoother with many mobs on screen. Ability effects drawn on bodies no longer rebuild their drawing settings on every frame, armour textures are no longer looked up on every frame, and the game no longer works out, for every mob on every frame, fifteen special effects that mob does not have (client option skipIdleLayers).

For addon makers

  • Awakened-zoan smoke in any colour. The scarf of smoke around an awakened form was always black. An addon can now give each form its own colour, such as white clouds. Forms that set nothing keep the black smoke they had.
  • Abilities fired with the mouse. An addon can now make an ability answer to a held right or left click, even with an empty hand aimed at nothing.
  • Gauges that show more than a number. An addon's gauge can now draw its own marks under its icon: one pip per head, a bar, a second line.
  • Carrying a target. A new base for techniques that take a body along while their user stays free to move, with a way out for the one carried (one blow, a total of damage, or none) and a message for each side.
  • Grabs that never let go. A grab technique that caught a target it could not pull in (one pinned to the ground, for example) kept it held for ever and left its user unable to use other techniques. The target is now let go after two seconds.

All of these are described on the AkumaLib pages.

3.1.0

Released 2026-09-30 · Download

Tools for addon makers, taken from Missing Missing no Mi. Blocks a technique puts in the world and takes back, bodies thrown into walls, allies an ability summons, forms put on from outside a fruit, markers on one player's screen, first-person arms and legs drawn right with a form on: the parts every fruit addon ends up writing are now written once, in the library. On its own, AkumaLib still changes nothing in your game.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

No signature was removed or changed: an addon made for 3.0.0 works with 3.1.0.

⚠️ The network protocol is new (5). A 3.1.0 client cannot join a 3.0.0 or older server, nor the other way round. Update the server and every player together. Missing Missing no Mi 1.0.0 needs AkumaLib 3.1.0.


New

  • Blocks that go away on their own. Walls, cages and platforms a technique raises disappear when it ends, when their owner dies or when the server stops. Breaking them, blowing them up or pushing them with a piston drops nothing.
  • Techniques that end with their user. A continuous technique can stop when its user dies; in Mine Mine no Mi it keeps going. The library also turns gravity back on after a floating technique, even across a reconnect, and gives a soft landing after a leap.
  • Thrown bodies hit what they meet. A body sent flying slams into the wall or the ground it meets, once.
  • Summoned allies behave. A summoned creature does not hit with its master's punch strength, only attacks what it should, and leaves when its master goes.
  • Forms put on from outside a fruit (a curse that turns someone into a toy) are seen by every player, stay after a respawn, a dimension change or a reconnect as long as they still apply, and come off at the right size.
  • Outlined creatures and screen markers for one player. An ability can outline a creature, or point at places on the screen, for its user only.
  • Ropes and lines seen by late comers. A player who comes into range after a line was drawn now sees it.
  • Progress, shared cooldowns and unlocks. A technique can count its uses to unlock the next one, and two techniques can share one cooldown.
  • Several hits in one blow. A technique can hit the same target several times in a row, each hit counted.
  • First-person arms and legs with a form on. Claws, nails and tools a form puts on the hands follow the arm as it moves, a Black Leg user sees their leg rather than a bare arm, and Haki and Diable Jambe cover them as they do without a form.

All of these are described on the AkumaLib pages.

3.0.0

Released 2026-09-30 · Download

Devil Fruit boxes can now be changed without code. Addons, modpacks and servers choose which fruits each box (wooden, iron, golden) can give, how rare each one is, and can take any fruit out, the base mod's included, with a simple data file. The chance for a box to give a fruit of the tier above is unchanged.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

⚠️ This is a major version: update your addons with it. Addons that fill the boxes through AkumaLib now declare their fruits in data files, so InoFruits and Missing Missing no Mi need their next version (made for AkumaLib 3.0.0) for their fruits to appear in the boxes. An addon built for AkumaLib 2.x that uses one of the removed parts listed below will not start with 3.0.0.

The network protocol is unchanged (4): a 3.0.0 client can join a 2.8.0 to 2.12.0 server and the other way round. Install it on the server to use data files: the boxes are rolled there.


New

  • Devil Fruit boxes from data files. A data pack or an addon puts a file in data/<namespace>/akumalib/dfboxes/, in the same shape as the base mod's box tables, to add fruits to a box, make any fruit rarer or more common, or remove one. Several files add up, and a server's data pack has the last word. See the Devil Fruit boxes page.
  • A warning for fruits nobody can find. When the game starts, any Devil Fruit that ended up in no box is named in the log.

For addon makers: removed

These were marked for removal and are gone:

  • the automatic box filling of registerFruitItem, and its three-argument form: declare the fruit in a data file;
  • AkumaLootInjection;
  • BlockOverlayManager.addOverlay, removeOverlay and removeAllForZone (they did nothing), and the old SyncZoneOverlayPacket constructor: use addZone / removeZone;
  • AkumaI18n.MESSAGE_MISSING and its akumalib.ability.missing_message text: use MESSAGE_MISSING_MATERIALS.

2.12.0

Released 2026-09-30 · Download

The ability bar shows the right techniques after a change, on every screen. After a fruit change or a rearranged combat bar, you, and the players around you, could see an empty slot, a technique that was no longer there, or lose one of two swapped techniques, until the next refresh. In multiplayer, the others then saw no transformation and no technique running.

No signature was removed or changed: an addon built against 2.5.0, 2.6.x, 2.7.0, 2.8.0, 2.9.0, 2.10.0 or 2.11.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (4): a 2.12.0 client can join a 2.8.0 to 2.11.0 server and the other way round. Install it on both the server and the clients to get the fix everywhere.


Fixes

  • Combat bar slots follow the server. Each slot now shows the technique it really holds after a refresh:
  • after eating a new fruit, the new techniques appear at once instead of leaving empty slots;
  • two techniques swapped between slots both stay;
  • a technique taken off the bar disappears from it.

This applies to your own bar and to what the other players see of you: your transformations and your running techniques show up for them straight away.

2.11.0

Released 2026-09-28 · Download

Transformations that change size are now drawn at their real size. Some Zoan and Devil Fruit forms were drawn far bigger or smaller than intended, and much bigger than the body that actually gets hit; the base mod's own Mammoth and Allosaurus hybrids were among them. This release also brings three new tools for addon makers.

No signature was removed or changed: an addon built against 2.5.0, 2.6.x, 2.7.0, 2.8.0, 2.9.0 or 2.10.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (4): a 2.11.0 client can join a 2.8.0, 2.9.0 or 2.10.0 server and the other way round.

⚠️ Some transformations will look different after the update. They were drawn at the wrong size until now, so they change on screen, back to the size their authors chose:

  • in Mine Mine no Mi, the Mammoth hybrid was drawn twice its size, and the Allosaurus hybrid almost half again as big;
  • in addons, every form that is drawn bigger or smaller than the player, over the player: some shrink (InoFruits' Tsuchi golem, Isa Isa and Kuma Kuma hybrids...), a few small ones grow back a little (Nezu Nezu, Ita Ita, Usa Usa hybrids...).

New

For addon makers:

  • Projectiles that latch on. A new kind of projectile sticks to the first creature it meets, rides it and hits it several times, each hit counting as a full ability hit. It stops being drawn on contact and shows each cut instead.
  • Hands that count as blades. A technique that turns the user's hands into blades (claws, scissors...) now lets them use the sword techniques that need a sword, with an empty hand, keeping everything a bare fist gets.
  • Wind has its icon. Wind techniques now show an element icon in their tooltip, like fire or ice already did.

Fixes

  • Transformations are drawn at the size they were made for. A form drawn over the player, such as a hybrid, was drawn at the square of its size: a form meant to be one and a half times as big came out more than twice as big.
  • The body of a transformed player matches the form on every screen. When a player turned into a bigger hybrid, other players (and the player's own game) still treated them as the size of a normal player: they were hit, pushed and blocked as if they had not grown. Their body now follows the form everywhere.

2.10.0

Released 2026-09-28 · Download

Dying no longer wipes your professions or your titles, a bug since 2.8.0. And server owners can now choose what a death costs: nothing, a share of every profession's XP, or everything.

No signature was removed or changed: an addon built against 2.5.0, 2.6.x, 2.7.0, 2.8.0 or 2.9.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (4): a 2.10.0 client can join a 2.8.0 or 2.9.0 server and the other way round.


New

  • What a death costs, your choice. Server owners now decide what players' professions lose when they die, in the world's serverconfig/akumalib-server.toml:
  • deathXpLoss = "KEEP": nothing is lost (the default);
  • deathXpLoss = "PERCENT": a share of every profession's XP is lost, set by deathXpLossPercent (10 by default), so levels can go down;
  • deathXpLoss = "ALL": every profession goes back to level 1.

The chosen trade and the recipes you learned are always kept. Coming back from the End never costs anything.

Fixes

  • Dying no longer wipes your professions or your titles. Since 2.8.0, every death, and every return from the End, made players lose all their profession XP or all their titles. Both are kept again.

2.9.0

Released 2026-09-27 · Download

Ability tooltips can now say what the icons leave out. Mine Mine no Mi shows an ability's damage type, element and haki as small icons after its name, and shows nothing at all for some of them (wind, honey, rubber, rust, gravity, indirect hits). Addons can now write those in words, and say when a hit goes through armour or through an intangible Logia. Tornadoes made by addons also stop hurting a second time on contact.

No signature was removed or changed: an addon built against 2.5.0, 2.6.x, 2.7.0 or 2.8.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (4): a 2.9.0 client can join a 2.8.0 server and the other way round.


New

  • "Source" and "Pierces" lines in ability tooltips. An addon's ability can now show, in its tooltip:
  • Source: the element or kind of hit Mine Mine no Mi has no icon for, like "Source Wind, Indirect";
  • Pierces: "Pierces Armour, Logia" for a hit that ignores armour or lands on a Logia user who would otherwise let it pass through.

InoFruits is the first to use them.

Fixes

  • Tornadoes made by addons no longer hurt twice. A creature caught in an addon's tornado took the tornado's own damage and, on top of it, a hit for "flying into a wall". An addon can now turn that second hit off; InoFruits' wind tornadoes do.

2.8.0

Released 2026-09-27 · Download

Titles to earn and wear, recipes to find, and world events: things that come to the world now and then, announced in the chat and told by Mine Mine no Mi's barkeepers. Mobs from the base mod's structures no longer appear inside walls.

No signature was removed or changed: an addon built against 2.5.0, 2.6.x or 2.7.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

⚠️ The network protocol changed (4): a 2.8.0 client cannot join a 2.7.x or older server, nor the other way round. Update the server and every player together.


New

  • Titles. Players now earn titles and can wear one after their name in the player list, like "Steve - Chef of the Baratie". A new Titles plank in the character screen lists them by category: the ones you have, the one you wear, and how to earn the others. Click a title to wear it, click it again to take it off.

  • Titles come from the mods that use AkumaLib (Cruise Cruise no Mi gives one at levels 25, 50, 75 and 100 of each profession), and modpacks can add their own with a data pack, earned through an advancement.

  • Recipes to find. Some recipes are no longer reached by level alone: their recipe has to be found first (in a chest, on a stall...) and read once to be learned for good. Until then, the profession page shows them as "Find its recipe".

  • World events. The mods that use AkumaLib can now bring events to the world, the way Mine Mine no Mi brings its caravans: they come on their own now and then near a player, are announced in the chat, and end on time. Cruise Cruise no Mi's merchant ship, Sea King and wreck are the first ones. Operators can list, start and stop them with /akumalib events.

  • Barkeepers tell rumours again. In Mine Mine no Mi 0.11.5 a barkeeper always answered "nothing new" to a player who is not a Marine or a Bounty Hunter; now he tells of the world events near him.

Fixes

  • Mobs from structure spawners no longer appear inside walls. In Mine Mine no Mi's camps, bases and houses, the guards and trainers now appear where they fit, on solid ground and on the spawner's side of the walls. Server owners who prefer the base mod's own placement can turn this off with fixStructureSpawnerPlacement, in the new [baseModFixes] section of serverconfig/akumalib-server.toml.
  • Long names on a profession's page are readable again. In the Unlocks column, a name too long for the page ends in "…", and hovering it shows the whole name.

2.7.0

Released 2026-09-26 · Download

Server owners now choose how fast professions level, from the server's own config file: a speed for every profession, and each profession's level curve, without writing a data pack.

No signature was removed or changed: an addon built against 2.5.0 or 2.6.x keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (3): a 2.7.0 client can join a 2.6.x or 2.5.0 server and the other way round.


New

  • Profession XP settings. The world's serverconfig/akumalib-server.toml now has:
    • xpMultiplier: speeds up or slows down XP in every profession (2.0 = twice as fast, 0.5 = half as fast);
    • curves: one line per profession, with how much each level costs and a speed of its own.

    Every installed profession is already listed when the world starts, with its usual values, so you only change numbers. Players keep their XP: their levels simply follow the new curve. A line you never changed keeps up with the mod's own updates and with data packs, even after a /reload; a line you changed stays as you set it. Edit the file with the world closed. For a modpack, put the file in defaultconfigs/ and every new world starts with it.

Fixes

  • A very steep profession curve no longer gives players wrong levels at the top of the scale.

2.6.1

Released 2026-09-25 · Download

A start-up crash fix. With AkumaLib 2.6.0 (and 2.5.0), a normal game launched from a launcher crashed while loading, before the main menu. 2.6.1 fixes it. Nothing else changes.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

Replace 2.6.0 with 2.6.1: addons made for 2.6.0 (InoFruits 3.1.0 among them) work with it as they are. 2.6.1 can play with a 2.6.0 or 2.5.0 server or client.


Fixes

  • The game crashed on start-up. A part of the library that changes the size of transformed players could not find what it needed in a normal game, and Forge stopped loading. It only worked in the development environment, which is why it was not caught before release.

2.6.0

Released 2026-09-25 · Download

Three additions for addons with gauges, flying forms and pushes, taken out of InoFruits where each had been written three to five times: a gauge passive, a two-form flight in the shape of the base mod's Phoenix, and directional pushes next to the pulls.

No signature was removed or changed: an addon built against 2.5.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

The network protocol is unchanged (3): a 2.6.0 client can join a 2.5.0 server and the other way round.


New

Gauge passive

  • GaugePassiveAbility: a passive holding one value between zero and a maximum, shown on the HUD. It clamps every change and does nothing on an unchanged value. Every server change is synced to the holder, and the value is saved under a key you choose, so an ability migrated onto it keeps its saves. The GaugeComponent is client-only. getValue, add, spend, fill, drain, plus four hooks: onValueChanged, gaugeText, gaugeColour, shouldRenderGauge.
  • AkumaGauge.draw: the icon-plus-text layout of every ability gauge, for a gauge with no stored value (a figure computed from health).

Flight

  • TwoFormFlightAbility: the flight of a Zoan with two flying forms, on the base mod's PropelledFlightAbility, as the Phoenix does it. Each form is a Form (its point ability, its morph, sprint and cruise speed and acceleration), plus a ceiling. The gate is the points' continuity (the morph lags a tick on a switch), the speed is read off the active morph, and speedMultiplier scales both for a buff.
  • AkumaFlight.takeOff / land: switches a flight passive on and off from the forms' start and end events, as PhoenixFlyPointAbility does. It never enables through a pause (haki overuse, Seastone, protected areas).

Motion

  • AkumaMotion.shoveAlong (replaces the motion) and nudgeAlong (adds to it): a push along a direction rather than toward a point. The degenerate direction (straight up, or a target on the origin) becomes a straight lift instead of a silent push of zero.

Documentation

  • Passives, Movement and "Pulls and pushes" pages cover the three.

2.5.0

Released 2026-09-24 · Download

Two large groups of additions since 2.4.0: professions (workstations, catchable creatures, traps, gathering) — the systems behind Cruise Cruise no Mi — and worldgen and dimensions (a cell grid, the overworld read from another dimension, travel between dimensions, the worldgen and fluid registers) — the ones behind Mine Mine no Mi: Sky Island. Both are written for every addon.

No signature was removed or changed: an addon built against 2.4.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5. JEI and EMI are optional.

⚠️ The network protocol moves from 2 to 3: a client and a server must both run 2.5.0, or the connection is refused. Update both sides together.


New

Professions

  • Framework: a profession registry (AkumaProfessionRegistry), per-player XP and levels (AkumaProfessions, the ProfessionData capability), level curves in data (data/<ns>/professions/*.json: base_xp × L^exponent), synced to the client. Events: ProfessionXpEvent, ProfessionLevelUpEvent, ProfessionChangeEvent.
  • Modes (akumalib-server.toml, professionMode): Solo (every profession), Crew (one chosen profession per player; changing it resets everything), Auto (Solo in singleplayer and LAN, Crew on a dedicated server). /profession command (choose, mode, reset, get, set, addxp).
  • Professions screen (K, and a plank on Mine Mine no Mi's character screen): levels and XP; in Crew mode only the chosen profession, or the list with Choose buttons before any choice.
  • Profession pages: the screen wears Mine Mine no Mi's parchment and planks; clicking a profession opens its page in the base mod's book: level, perks (Profession.withPerk) and unlocks by level (ProfessionUnlocks: workstation recipes, profession-only seeds and blocks by their minimum level, and addon providers; synced from the server).
  • Mine Mine no Mi's character creator: in Crew mode, a fourth tab "Profession" (a client mixin): the arrows cycle the professions and Random, Finish applies the choice.
  • Icons: an item (withIcon) or a dedicated texture of any size (withIconTexture), shown in the screen and in the creator tab.
  • XP boosts: ProfessionXpBoostEffect, and exclusive effect groups (AkumaEffectGroups: one effect of a group at a time).

Workstations

  • WorkstationBlock + ProfessionRecipe (JSON, shapeless, a level and an XP each) + one shared menu and screen: recipes shown as silhouettes until the level is reached and until first made. ProfessionCraftEvent can change the result.
  • Recipes are not a crafting grid: up to 36 ingredients (ProfessionRecipe.MAX_INGREDIENTS), read as a bill of materials (getPortions(): each ingredient with its count). The workstation screen shows each line as have / need.
  • JEI and EMI: every workstation of every addon gets a category (the ingredients as a list with their counts, the result, the level, the XP), with no addon code.
  • Notes in JEI and EMI (RecipeViewers.note(items, text...)): an information page for an item no recipe explains (a part made at one station and fitted at another).
  • Profession drops in JEI and EMI (ProfessionDrops): what a gathering profession gets and from what (the rocks a miner breaks, the creatures a hunter catches), with each output's chance, count, level and XP; built on the server and synced before the recipes. LootSummary reads a loot table into outputs with their chances. CreatureHabitats says where a catchable creature lives (its biomes in the wild and in traps), shown under a "Where?" label; BiomeNames is the biome list it uses, for any other "where" line.

Catchable creatures

  • CatchableCreature / CatchableFlyingCreature: small creatures caught rather than killed, with variants (a rare one as a texture swap), a minimum render range, a capture that rolls capture/<entity> and fires CreatureCaptureEvent, and release from an item (a released creature is calm and kept).
  • Reactions to a player who does not sneak: FLEE, TAKE_OFF (runs 2–3 s, flies off and vanishes), ATTACK (a few hits, then the take-off).
  • Perches (CreaturePerch): on top of a block (a hornet on a flower, a lizard on a rock) or on a side face (a beetle on a trunk, drawn nose up by CatchableCreatureRenderer); still until disturbed or hurt; tall plants are sat on, not in; one creature to a block; breaking a perch (or the block above or below it) startles the creature, which flees.
  • Flying creatures stay airborne when spawned in the air; one that canLand() rests on solid ground now and then (never on water); they flee up into the air.
  • Surface spawner (data/<ns>/creature_spawns/*.json: entity, biomes, chance, group, max around the player, sky, altitude): tries every 5 s around each player, on the surface, through the entity's own spawn rules. Vanilla's natural spawning put most attempts underground.
  • Creature spawns take an optional time (day or night: a firefly), underground (a spot in the caves under the surface: a floor, room above, no sky), min_y and max_y (with the biomes under the base mod's sky islands, the islands alone).
  • Creature spawns keep to their dimension: the Overworld, unless "dimensions" names others ([] for every one). An entry with no biomes no longer spawns in the Nether.
  • Lures: CreatureSpawns.lure(level, player, rounds) runs a player's spawn entries a few rounds early and says how many landed. It cannot bring anything the place would not give on its own.

Traps

  • TrapBlock (+ one shared block entity type): set on the ground, it closes on a creature after a random delay, picked from data/<ns>/trapping/*.json (entity, weight, biomes, sky, which traps); a right-click collects it through the capture. Single use or reusable; optionally kept to one profession.
  • Trap catches keep to their dimension too: the Overworld unless "dimensions" says otherwise.
  • A trap remembers what it was made of: the stack it was placed from (getGear(), NBT included) is saved with it, handed to the capture, and given back when it is broken. Two hooks read it: delayFor(gear, random) and isSpentBy(player, gear).

Gathering

  • HangingFruitBlock: a fruit hanging under leaves that ripens (random ticks, bone meal) and grows back once picked; kept softly to a profession (others bruise half the fruit, practitioners sometimes pick two and earn XP). Hangs in generated trees through vanilla's attached_to_leaves decorator.
  • ProfessionBlockItem: a block item only a profession's practitioners can place (a farmer's sapling) — or one of several (or(profession, minLevel): "Only a Farmer or a Lumberjack can plant this.").
  • ProfessionCropBlock and ProfessionSeedsItem (both item classes take a minimum level): a crop with the fruit's rules (others spoil half the ripe harvests, practitioners sometimes reap one more and earn XP), and seeds only the profession sows.

Worldgen and dimensions

  • Worldgen registers on AkumaRegistry: DENSITY_FUNCTION_TYPES, BIOME_SOURCES, CHUNK_GENERATORS, STRUCTURE_TYPES, STRUCTURE_PLACEMENT_TYPES, STRUCTURE_PIECE_TYPES, FEATURES and PLACEMENT_MODIFIER_TYPES. They register codecs and types; the instances come from datapack registries. ⚠️ A structure whose piece type is not registered generates once and is lost on reload.
  • Fluids: FLUIDS and FLUID_TYPES on AkumaRegistry. A Fluid that is not a FlowingFluid never flows — a body of liquid that stays where it was placed (a sea with no container); the javadoc says why and what LiquidBlock would do instead.
  • AkumaCells: a deterministic grid of jittered cells, each of which may hold a round feature — "an island here, and nothing for a few thousand blocks". mask, cellAt, featureAt, and a filter every reader shares. The outline can be warped off a circle (off by default); blend mixes a per-cell value across overlapping features (weighted, no seam where two meet); a RadiusRule (withRadiusRule) lets a cell's radius depend on the cell. The nine-cell condition is stated in the javadoc as an inequality to check with your own numbers.
  • OverworldLookup: the overworld's biome and seed from anywhere, including another dimension's worldgen thread: is(x, z, tag), coverage(x, z, tag) (0 to 1, smoothed over a window wide enough to be a fade), seed().
  • AkumaDimensionTravel: send a body to another dimension with what it rides and who rides it, arriving with a chosen velocity (send); push an entity so the push sticks on the client, rider case included (launch); generate the arrival early (preload). The arrival chunk is held loaded across the transfer, for a boat or a mob as for a player.
  • AkumaJigsaw: add a placed feature or a structure template to another mod's jigsaw pool (a village's decorations) at server start, without replacing its files.

Currency

  • AkumaCurrency: read, give and take Belly and Extol through Mine Mine no Mi.

Doriki

  • AkumaStats: read and grant Mine Mine no Mi's Doriki, synced to the client. DorikiGainEffect: an effect that multiplies the Doriki earned in fights (NPC and player kills) while it lasts.
  • AkumaDevilFruits: which fruit an entity ate, whether it is a Zoan, whether it is transformed; end its abilities' cooldowns.
  • AkumaStats.runsOnCola/getCola/addCola: refill a cyborg's Cola as the base mod's Cola does, synced. SatietyEffect: an effect that slows hunger drain while it lasts.

Advancements

  • Triggers akumalib:profession_level, akumalib:profession_craft (item predicate on the result, NBT included), akumalib:creature_capture (creature, variant, tool, released).

Registry

  • AkumaRegistry: menu, block entity, recipe type and recipe serializer registers (and the worldgen and fluid registers above).

Fixes (within this cycle, never released)

  • A data-load crash (TrapCatches built before its Gson) that made every world fail to load.
  • The profession sync no longer throws for a player with no open connection (a player being disconnected, a game test's player).
  • A blank profession no longer reads as a finished one ("level 1, Max", a gold XP bar).
  • From the code review: a reusable trap waited no delay after a collection; requires_sky failed under leaves (now: nothing solid above); the spawner goes through Forge's spawn hooks; workstation ingredients are matched rather than first-fit; an interrupted take-off no longer leaves a creature floating.

2.4.0

Released 2026-09-18 · Download

Nine groups of additions and two fixes since 2.3.0. No signature was removed or changed: an addon built against 2.3.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5.

⚠️ One fix changes how existing abilities behave: a charge force-stopped from outside (water, Seastone, handcuffs) now releases what its start put in the world. See Fixes below.


New

Targeting: three more AkumaTargeting helpers

AkumaTargeting already had firstInLine, firstInSight and inCone. It gains the three checks aimed abilities kept re-deriving by hand:

Method Answers
aimPoint(caster, range) where the caster is aiming: the hit location, or range blocks along the look on a miss
isEnemy(user, target) the one enemy check, through the base mod's own faction predicate, caster excluded
sizedRange(caster, base) a reach grown by the caster's own bulk, so a fixed range stays usable in a large morph

Pulls: AkumaMotion and PullProfile

Moving a body toward a point - a target dragged to a centre, a user lunging at a target, loot drawn to hand - as one call. A PullProfile states the speed curve (base, perBlock, max, boost), the vertical rule, whether the pull replaces or adds to the motion, and a minimum distance. The velocity always goes through AbilityHelper.setDeltaMovement, so a player's client cannot drop it.

Deferred work: AkumaTickQueue

One queue for work that has to wait for a later tick - typically a blow that must land at the end of the tick so the triggering hit's invulnerability frames do not swallow it.

Effect owners: EffectOwners

Who applied an effect to whom, for effects whose point is that relationship. Keyed on the target's UUID, so it survives the entity object being replaced while the effect lives on - a dimension change, a respawn, a chunk reload.

Charges: ChargeGuard, IChargeInterruptible, AkumaCharges.interrupt

  • ChargeGuard tells a completed charge from one stopped early, and gives the partial cooldown an early stop should cost. It reads the charge's own progress rather than counting ticks, so it agrees with the component under a changed TIME_PROGRESSION.
  • IChargeInterruptible: a charge whose start puts something in the world (a lock, a pose, a sphere) implements it to take that back when the charge is cut from outside.
  • AkumaCharges.interrupt(entity, ability): the one right way to cut a charge yourself - neither firing the ability nor leaking its start state.
  • DomainAbility.interruptCharge: a zone's charge can be cancelled from outside, taking down its sphere or putting back the blocks it had placed.

Zone sounds: ZoneSoundSet.intervalClip

A zone's charge sound was replayed every 18 ticks - the pace of the base mod's short Room sound - so any longer clip layered two or three copies of itself over the whole charge. A set can now declare its clip's length, and setZoneSounds replays it only once a play has finished. The cadence is taken at the slot's base pitch, since a lower pitch plays a clip for longer. A set without it keeps the old cadence.

Protected areas: AkumaProtection

The protected-area checks the base mod only runs on the caster and on block placement, for everything else an ability touches (a pulled target, a landing point, a container). Matches the base mod exactly: the server's global whitelist, ABILITY_GRIEFING and the mobGriefing gamerule.

Lines: AkumaLines

A line between two anchors - a rope, a thread, a tether - drawn on the client as real geometry. One packet instead of a particle per step, and an end anchored to an entity follows it every frame.

Failed presses: AkumaAbilityHelper.FAILED_PRESS_COOLDOWN

The cooldown an aimed ability charges when it finds nothing or is refused: never zero (a held key would sweep a room for free), never the full cooldown. GrabAbility.DEFAULT_WHIFF_COOLDOWN now points to it, at the same value.


Fixes

  • A force-stopped charge now cleans up after itself. AbilityHelper.emergencyStopAbility - reached by water, Seastone, handcuffs, nets and anything calling disableAbilities - skipped the charge's end event, which is where a charge takes back what its start put in the world. A zone left its sphere behind, a spreading zone's charge blocks became permanent, and a charging user stayed rooted. A mixin now runs AkumaCharges.interrupt first. StompAbility, OceanAbility and every DomainAbility implement the cleanup.
  • OceanAbility scans one surface per column and covers grass, instead of leaving holes in a meadow.

Documentation

  • New pages and sections for every addition above
  • ChargeGuard documented as preventive for most abilities, with the exact list of stops that reach a charge's end event
  • The awakened-Zoan smoke head anchor does not work on every partial morph, and why

2.3.0

Released 2026-09-14 · Download

One addition, three fixes and one deprecation since 2.2.0. No signature was removed: a renamed constant keeps its old name as a deprecated alias, so an addon built against 2.2.0 keeps compiling and keeps working. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5.

⚠️ Two fixes change how existing abilities play: every InstantDashAbility now hits over the width it declares, and a RunningSmashAbility hits a target twice a second instead of every tick. See Fixes below.


New

Spreading zones are restored when their holder leaves

A SpreadingBlockAbility puts back the ground it converted from its own ticks, and those ticks stop the moment its holder is gone: a logout, a dimension change, a server shutdown. The ability reloaded afterwards is a fresh instance that knows none of the positions, so the converted blocks stayed in the world for good.

The static zone registry that allows a restore from outside existed, but the only thing draining it lived in Awaken Awaken no Mi. Any other addon extending the class left its blocks behind.

The library now ships SpreadingBlockCleanupHandler itself:

Event Restores
PlayerLoggedOutEvent the zones of the player leaving
EntityLeaveLevelEvent the zones of an entity changing dimension or being unloaded
ServerStoppingEvent every zone still active
  • You wire nothing. Extending SpreadingBlockAbility is enough.
  • Running alongside an addon's own copy is harmless. A zone leaves the registry when it restores, and each restore walks a snapshot of the registry, so whichever handler runs second finds nothing left to do. An addon can drop its copy on its next library bump rather than in lockstep.

Fixes

InstantDashAbility hits over GetWidth()

GetWidth() (default 2.5) was declared overridable and never read: the dash path was swept with the user's entity reach instead. An override changed nothing, and the width grew in creative mode and with any reach bonus.

⚠️ Every dash changes width:

Dash Before After
Ferret Dart (InoFruits) about 3, more in creative 1.5, the width it already declared
Totsushin (InoFruits) about 3 2.5
Hyozan: Kyousou (Awaken Awaken no Mi) about 3 2.5

The width no longer depends on the game mode or on reach bonuses.

RunningSmashAbility no longer hits every tick

Its hit tracker was cleared every tick while its hits clear the target's invulnerability frames, so nothing limited the rate: a target the knockback did not throw clear took the damage 20 times a second. The tracker now resets every 10 ticks, the window MoveAbility already uses, so a target in contact is hit about twice a second.

⚠️ A subclass that turns knockback off was the one hitting every tick, and loses the most. Awaken Awaken no Mi's Reverse Slow Smash, at its default damage, drops from 16 to 1.6 real HP per second against a target in contact.

The 10-tick window is shared by all targets: a target first hit on the last tick of a window can be hit once more on the next tick.

CraftingAbility shows a real message when materials are missing

Its default message was a developer placeholder, "A message is missing here please contact the dev to fix it.", shown to every player lacking the materials unless the subclass set its own. The default is now "You do not have the materials to use this ability." It stays overridable through the message field.


Deprecated

  • AkumaI18n.MESSAGE_MISSING: use MESSAGE_MISSING_MATERIALS. The old name is an alias of the new one, and its lang key akumalib.ability.missing_message stays mapped to the new text, so an addon built against 2.2.0 shows the right line rather than a raw key. Both go at the next major version.

Notes for addon developers

  • Bump your akumalib_version to 2.3.0 if you rely on the zone restore: below it, your mods.toml range would accept a library that restores nothing.
  • If you carried your own copy of SpreadingBlockCleanupHandler, delete it once you require 2.3.0. Keeping it is harmless, just redundant.
  • Check your dashes and running smashes in game. A dash declaring a narrow GetWidth() now needs a more precise aim; a running smash without knockback deals a tenth of what it did.
  • The distributable jar still comes from gradlew releaseJar, in build/release — never from build/libs.
  • Run the control build (gradlew build -PakumalibFromMaven in the consumer, after gradlew publishToMavenLocal here) before releasing anything that depends on this version.

Consumers

  • Awaken Awaken no Mi, in its next release, requires AkumaLib 2.3.0 and drops its own copy of the zone restore handler.

2.2.0

Released 2026-09-13 · Download

Six additions and one behaviour change since 2.1.0. No existing signature moved, so an addon built against 2.1.0 keeps compiling. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5.

⚠️ One default changed: a TornadoEntity is no longer put out by rain. See Changes below.


New

AkumaLootInjection — addon fruits inside the base mod's own box pool

An addon fruit could never come out of the base mod's 5% tier cascade — the roll where a wooden box upgrades into an iron one — because that nested roll resolves through a code path that skips loot modifiers by design. Every addon fruit was therefore rarer than a base mod fruit of the same tier, and no number in a loot file could fix it.

The fruit is now added as an entry inside the pool mineminenomi:fruits, while the table is still being loaded:

  • Parity is weight 100, the figure every base mod fruit already carries. No share to compute and nothing to re-tune when a fruit is added.
  • The cascade works, because the upgraded roll draws from a pool that now holds the addon fruit.
  • The base mod's own guard applies: the entry carries FruitAlreadyExistsFunction, as theirs do.

registerFruitItem injects by default, into the box matching the fruit's tier, with an inLootBoxes overload to opt out. That removes a whole class of bug: a fruit registered with no loot entry exists, drops from commands and grants its abilities, and cannot be found in survival — with nothing logged. Two consumers had shipped exactly that.

AkumaLootInjection.addFruit(...) is public for anything registered another way. Each injected table logs one line at server start.

BlockHighlightManager — outline block positions through terrain, for one player

Draws a box around scattered block positions visible through walls, sent to a single player. The three obvious routes each fail: particles are depth-tested against terrain, glowing marker entities cost hundreds of real entities per player, and BlockOverlayManager shades a contiguous zone rather than single blocks.

BlockHighlightManager.show(player, groupId, positions, colour, ticks);
BlockHighlightManager.clear(player, groupId);
  • Positions travel in groups, one colour each, keyed by a UUID the caller owns.
  • A group counts itself down on the client: an ability showing something for twelve seconds sends one packet and never has to take it away.
  • ⚠️ Capped at 512 positions per group, enforced when writing and when reading.
  • Cleared on level unload, so highlights never survive into the next world.

GrabAbility.beginGrab(user, target) — a grab that is not a melee swing

GrabAbility only knew one way to catch somebody: open a reach window, then turn the next hit into the grab. A ranged grab — a tongue, a rope, a harpoon — decides its target when a projectile arrives, with no swing to intercept. beginGrab is that entry; the pull, the hold and the release run exactly as they do for a melee catch.

  • It applies the one-tick ANTI_KNOCKBACK the melee path applies. Without it, the impact that caught the target knocks them straight back out of the grab.
  • Server side only, and it refuses to start a second grab while one is running.

AkumaTargeting.inCone(caster, target, halfAngleDegrees)

The cone test two consumers were carrying as character-for-character copies. Written as a plain dot product against a cosine rather than delegated to TargetPredicate.testAdvancedInView(float), whose float is documented nowhere. A target standing exactly on the caster counts as inside the cone.

IAwakenZoanSmokeLayerHeadAnchor — the awakened-zoan smoke follows the model's head

A form implementing this marker has its smoke moved to the pivot of the morph model's head, read at render time, before its Y/Z offsets apply. On most morph models that pivot is where the neck leaves the body, so the offsets shrink to small corrections — and the scarf follows the model when it moves its head.

  • Only Y and Z follow the pivot, never X: some models shift the head group sideways and compensate in the cubes.
  • Opt-in: a form without the marker renders exactly as before.

AkumaRollTableModifier — an insertion mode

"mode": "append" (the default, and what every existing file already means) or "mode": "compete". compete inserts the rolled loot at the front of the list, for a container that keeps only its first match. An unrecognised value is a hard codec error rather than a silent fall back to append.

For Devil Fruit boxes you no longer need this at all — AkumaLootInjection handles them. It stays for chests and any container whose pool cannot be reached.


Changes

A tornado is no longer put out by rain

TornadoEntity was a copy of the base mod's Suna Suna no Mi sandstorm, and it inherited the sandstorm's rule: water and rain discard it. A generic funnel switching itself off when the weather turns is nonsense, so the rule is now two hooks:

Hook Default
isQuenchedByWater() true kept — water is the universal Devil Fruit weakness
isQuenchedByRain() false changed — override and return true for a sand funnel

⚠️ This changes existing consumers. A tornado subclass that overrides neither hook now survives rain where it did not before — AwakenAwakenNoMi's diamond funnel among them.


Fixes

  • compete could replace a higher-tier fruit with a lower one. The cascade pool is rolled before the same-tier pool, so its fruit heads the list, and a compete insert went in front of it: the player lost the upgrade, and nothing said so.

Notes for addon developers

  • Bump your akumalib_version to 2.2.0 so your mods.toml range refuses an older library rather than loading against one and crashing during registration.
  • ⚠️ If you shipped loot modifier files for Devil Fruit boxes, delete them. With injection on by default, keeping them makes a fruit appear in the pool and get inserted by the modifier.
  • The distributable jar still comes from gradlew releaseJar, in build/release — never from build/libs.
  • Run the control build (gradlew build -PakumalibFromMaven in the consumer, after gradlew publishToMavenLocal here) before releasing anything that depends on this version.

Consumers released alongside

  • Awaken Awaken no Mi 1.1.0 requires AkumaLib 2.2.0: its twelve new awakened forms place their smoke with the head anchor.

2.1.0

Released 2026-09-10 · Download

Six additions since 2.0.0. Everything here is additive — no existing signature moved, so an addon built against 2.0.0 keeps compiling. That is why this is a minor bump.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5.


New

MorphGates — a factory for requiresMorph conditions

Every ability locked to a form was writing the same use-condition by hand, and a form gate that is subtly wrong fails in the worst possible way: the ability is simply usable out of shape, which nothing logs and nobody notices until somebody tries it. One addon had eleven such copies. They are now one constant each.

MorphStats — a builder for a morph ability's attribute block

A Zoan form is mostly a wall of attribute modifiers — speed, armour, knockback resistance, step height, jump height, reach — and the base mod's own morphs write them out longhand. This builds the block instead, which makes two forms of the same fruit readable side by side and stops the modifier UUIDs being copy-pasted between them.

onlyWhile(...) adds a conditional block: a set of modifiers that applies only while some predicate holds, so a form that is faster in water or heavier on land is one declaration rather than a tick handler.

AkumaTargeting — the target-picking helpers

Consolidates the entity selection every ability was reimplementing, and — more usefully — documents which of them exclude the caster and which do not. That distinction had already produced two shipped bugs in a consumer, where a technique with a radius damaged the person who used it.

AmplifiedPresentation and the amplification bus

The pattern where a form amplifies its own fruit's kit — the base mod does it with Venom Demon and Shinokuni — has three axes: the numbers, the shape of the technique, and its name and icon. The third is pushed once by the form rather than polled by each technique, and that is the part a sixth ability in a kit forgets.

AmplificationBus.push(entity, amplified, ...abilities) is the whole of the wiring; IAmplifiableAbility and AmplifiedPresentation are what a technique implements to answer.

MarkerEffect — a base for effects that are read, not felt

An effect that exists only so something else can ask about it has no per-tick work, and saying so matters: returning true from isDurationEffectTick asks the game to tick it every single tick for nothing. It also settles the client-visibility override that, left at its default, makes an effect exist only on the server — so the overlay is never painted and the failure looks like the colour being wrong rather than like the effect being invisible.

OverlayEffect — a marker that also tints the body it is on

Adds the body tint on top of MarkerEffect. ⚠️ The alpha has to be spelled out: new Color(rgb) fills it in at 255, which paints the body a flat silhouette with no skin left underneath. Two calibrated values are documented on the class — around 100 for something the user wears and has to stay readable through, around 150 for a mark whose whole job is to be impossible to miss.

⚠️ The amplifier on such an effect is not always a potency. An instance carries a duration and an amplifier and nothing else, so it is the only place a per-application value can travel — one consumer puts a DyeColor id there, which is what makes sixteen colours one registered effect instead of sixteen.


Documentation

Three corrections, each of which had already cost somebody a wrong answer:

  • ModAttributes.STEP_HEIGHT is an alias, not an inert attribute. It resolves to Forge's own, so writing to it works and reading the Forge one back reflects it.
  • What does and does not exclude the caster, spelled out per helper rather than left to be discovered by damaging yourself.
  • Only one of MarkerEffect's four overrides was ever load-bearing — the other three restate defaults, and the class says which is which so a subclass knows what it is actually inheriting.

Notes for addon developers

  • Bump your akumalib_version to 2.1.0 so your mods.toml range refuses an older library rather than loading against one and crashing during registration.
  • gradlew build leaves a mapped jar in build/libs; the distributable comes from gradlew releaseJar, in build/release. The two are indistinguishable by eye, and shipping the mapped one produces a mod that loads and then fails on its first Minecraft call.
  • Consumers resolving AkumaLib from Maven need gradlew publishToMavenLocal in this checkout first.
  • ⚠️ Run the control build before releasing anything that depends on this. The composite build (includeBuild('../AkumaLib')) puts this project's classes on the classpath directly, which hides a resource missing from the packaged jar completely — a lang file, a texture, mods.toml itself. gradlew build -PakumalibFromMaven in the consumer is the only build that would catch it.

2.0.0

Released 2026-09-07 · Download

Ten changes since 1.0.0. Everything here is additive — no existing signature moved, so an addon built against 1.0.0 keeps compiling.

Requires Minecraft 1.20.1, Forge 47+ and Mine Mine no Mi 0.11.5.


New

GrabAbility — a base class for grabs

Mine Mine no Mi has exactly one worked grab, SpinningBrawlAbility, and roughly two thirds of it is plumbing rather than technique. This class owns that part: the four-way state machine behind the key, the reach window that turns the first entity struck into the grabbed target, the hold, and a cooldown that runs once however the grab ends — at full price only if the grab actually connected.

A subclass provides three things: what happens on the catch, on each tick of the hold, and on release. The throw is deliberately left out, so a technique can end by hurling its target or by dropping it.

BarrelRollAnimation — the missing roll axis

ForwardRollAnimation somersaults; the base mod's YAW_SPIN pirouettes. Neither is a body spinning about the axis it faces along. Typed on EntityModel rather than HumanoidModel, so it is not restricted to player-shaped models.

ProduceItemAbility — for fruits that make their own substance

The counterpart of CraftingAbility. Crafting is materials in, result out — a recipe, a cost, a failure message. A fruit producing salt, ink, honey or bone has none of those, because the user is the material. On CraftingAbility such an ability spends three abstract methods saying nothing and carries a charge component it never starts.

A subclass provides the stack, and optionally a sound. A full inventory and a holder with no inventory at all are both handled here.

BoomerangProjectile — an out-and-back projectile

The base mod's ChakramEntity has reusable return maths but an unusable base class: it extends AbstractArrow and hurts with a vanilla trident source, which carries no AbilityCore and therefore skips the ability damage pipeline entirely. This extends NuProjectileEntity like every other ability projectile and borrows only the steering.

registerFruitItem — group a fruit's abilities

registerItem was the wrong entry point for a Devil Fruit and nothing said so. The difference is one call, AbilityGroups.addFruitGroup, and it is what ties a fruit's moves together in the ability menu. Registered as a plain item, a fruit loads, drops, is edible and grants its abilities — ungrouped. Nothing logs it; it shows up only when a player opens the menu.

akumalib:roll_table — a loot modifier consumers drive from data

Addons need to add items to loot tables they do not own. Minecraft loot tables do not merge, so the only supported route is a Forge global loot modifier, which needs a codec registered in Java — and the codec is identical for every addon. Consumers now ship JSON only.


Fixed

The loot modifier never rolled its table

It had never worked. Every invocation logged Detected infinite loop in loot tables and contributed nothing. Found after about fifty wooden Devil Fruit boxes in a dev client produced no drop against a 0.208 chance — roughly 1 in 116,000 of being luck.

Opening a box could crash the server thread

StackOverflowError, from the modifier re-entering itself: every public getRandomItems* overload funnels into one private method that calls ForgeHooks.modifyLoot, so rolling a table from inside a modifier re-enters the modifier pipeline with the same context. The nested table is now rolled raw.


Notes for addon developers

  • gradlew build leaves a mapped jar in build/libs; the distributable comes from gradlew releaseJar, in build/release. The two are indistinguishable by eye, and shipping the mapped one produces a mod that loads and then fails on its first Minecraft call.
  • Consumers resolving AkumaLib from Maven need gradlew publishToMavenLocal in this checkout first.
  • Bump your akumalib_version to 2.0.0 so your mods.toml range refuses an older library rather than loading against one and crashing during registration.

1.0.0

Released 2026-09-03 · Download

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.