Intro

These docs are not and should not be used as an all encompasing tutorial or guide on how to play the mod, but rather a more detailed extension of the FAQ page. Best way to learn the mod is to play it and talk with others about it.

You'll see multiple messages similar to the above one in various other places just because some people might not read this page or forget about it

How to use these docs

In the top navigation bar, you will find a series of icons.

The icon will toggle a table of contents to navigate the entire available documentation.

In this table of contents you can also find a dropdown box that allows you to access older versions of this documentation. The last patch available will always be the one used for reference in these docs. Example: the 0.9.x version of the documentation refers specifically to 0.9.5 (the last 0.9.x version) and it might not be accurate for anything before that.

You can also use and keys on your keyboard to go to the following and previous page.

The lets you choose from 9 different themes including both dark and light themes.

You can search throughout the entire documentation by pressing s on your keyboard or clicking the icon.

Finally, the icon lets you toggle the current's page table of contents.

Recently Updated

All Chapters

User Pages

Dev Pages

Last change: 2024-06-10

Commands

Commands work on the vanilla permission system, in case you don't know or have forgotten about how these work please refer to the char below:

LevelMeaning
1Player can bypass spawn protection
2Gives access to some cheat commands such as /clear, /attribute, /advancement or /data, command blocks also have a permission level of 2
3Server management tier for commands such as /ban, /kick, /kill or /op
4Full control over all the commands as well as some extra metrics commands, the server's console has a permission level of 4

All the commands will have their required level labeled on their page.

Warning

Third party permission systems generated by plugins are not supported! That doesn't mean they won't work, just that we officially won't recommend them or make adjustments for them in a timely fashion.

The following commands can be used with this mod:

Last change: 2024-07-12

/ability

Permission Level: 3

  • /ability give <ability> <targets>
    • Give the selected ability to one or multiple targets
  • /ability remove <ability> <targets>
    • Removes the selected ability from one or multiple targets
  • /ability unlock_group <group> <targets>
    • Give all the abilities of a certain group (devil fruit, race, fighting style) to one or multiple targets
  • /ability lock_group <group> <targets>
    • Removes all the abilities of a certain group (devil fruit, race, fighting style) to one or multiple targets
  • /ability reset_cooldown <targets>
    • Resets the cooldown for all the equipped abilities of one or multiple targets
Last change: 2024-05-25

/abilityprotection

Permission Level: 3

Info

Abilities can be whitelisted from these areas using the "Protection Whitelist" config field, if an ability is whitelisted it will bypass any properties an area might have, meaning a whitelisted ability can damage the ground and other entities within an area even if that area's properties do not allow for it!

Warning

The entire world restoration part is extremely new and untested properly on medium-large servers, use with care as restoring too many blocks too fast in multiple parts of the world or in multiple dimensions might result in big lag spikes. This warning will get removed once more testing is done and the system matures.

Command Usage

  • /abilityprotection new <size>
    • Creates a new protection of selected size at the sender's position
  • /abilityprotection props <props> <id> <value>
    • Changes one of the properties of the given protection
    • The following properties exist, each protection has its own properties that can be changed separately from others
      • block_destruction, allows the destruction of blocks within protections
      • entity_damage, allows entities to be damaged within protection
      • block_restoration, allows blocks to be restored after being exploded or replaced, mined blocks will not get restored
      • abilities_use, allows the usage of abilities, this extends to projectiles of said abilities being allowed, it does not however extend to the functionality of said abilities or their projectiles, the block_destruction or entity_damage properties will still have to be enabled if you wish the abilities being used to have any damage or effect on the world.
      • restoration_amount, amount of blocks to be restored every interval. Capped at 500
      • restoration_interval, interval, in ticks, between each restoration. Capped at 60s
  • /abilityprotection list
    • Lists all the protection areas with their id and positions
    • Entries can be clicked in order to teleport to their positions
  • /abilityprotection info <id>
    • Lists all the properties of a give protection
  • /abilityprotection resize <id> <size>
    • Resized the given protection area with the new given size
  • /abilityprotection remove <id>
    • Removes the protection area with the selected id
  • /abilityprotection view <true/false>
    • Generates a wall similar to the world border of vanilla surrounding the area being protected
    • If the area's Y value is bigger than 256 the top and bottom won't render

More Info

  • Block state is preserved however inventories are not! If a lamp gets destroyed while powered, it will be restored in its powered state (together with the redstone powering it), however if a chest gets destroyed all of its contents will drop as normal, these items CAN get stuck inside the restored chunks depending on how the ground looks.
  • Test using multiple values for restoration_amount and restoration_interval to see what fits your needs, if the server is small enough a large amount of blocks restored quickly might be more ideal than the default values for example.
Last change: 2024-07-10

/removedf

Permission Level: 2

  • /removedf <target>
    • Removes the devil fruit and all the abilities related with it from the given target
Last change: 2024-05-25

/doriki

Permission Level: 2

Info

Doriki Limits for the amount parameter are based on the actual Doriki limit of the config defined by the "Doriki Limit" config field

  • /doriki <amount> <targets>
    • Give the amount of doriki to one or multiple targets
    • If the provided amount is negative the value with be subtracted for the target's doriki
Last change: 2024-05-25

/hakiexp

Permission Level: 2

  • /hakiexp <type> <amount> <targets>
    • Give the amount of haki experience to one or multiple targets
    • The given type can be one of the 3 types BUSOSHOKU, KENBUNSHOKU and HAOSHOKU, each type will add the given amount to its own pool of experience
      • HAOSHOKU is a convenient shortcut for giving exp to both BUSOSHOKU and KENBUNSHOKU at the same time, it is not a separated category
    • The given amount can be between -100 and 100
Last change: 2024-11-09

/belly

Permission Level: 2

  • /belly <amount> <targets>
    • Give the amount of belly to one or multiple targets
    • If the provided amount is negative the value with be subtracted for the target's belly
    • The given amount can be between -999.999.999 and 999.999.999
Last change: 2024-05-25

/extol

Permission Level: 2

  • /extol <amount> <targets>
    • Give the amount of extol to one or multiple targets
    • If the provided amount is negative the value with be subtracted for the target's extol
    • The given amount can be between -999.999.999 and 999.999.999
Last change: 2024-05-25

/pouch

Permission Level: 0

  • /pouch ALL <currency>
    • Creates a pouch item transferring all of your funds in it, the funds are based on the currency type selected, either BELLY or EXTOL
  • /pouch <amount> <currency>
    • Creates a pouch item transferring the given amount in it based on the currency type selected, either BELLY or EXTOL
  • /pouch take <amount> <currency>
    • Takes the given amount of currency from a pouch held in hand
    • Example: if the player holds a pouch with 100 belly and uses /pouch take 50 BELLY 50 belly will be added to the player's belly amount and the pouch will now only have 50 belly in it
Last change: 2024-09-22

/bounty

Permission Level: 2

  • /bounty <amount> <targets>
    • Give the amount of bounty to one or multiple targets
    • If the provided amount is negative the value with be subtracted for the target's bounty
    • The given amount can be between -100.000.000.000 and 100.000.000.000
Last change: 2024-05-25

/issuebounty

Permission Level: 0

  • /issuebounty <target> <bounty>
    • Issues the given bounty for a target
    • Only Marines of rank Captain or higher can use this command
    • The target must be a Pirate, Revolutionary or Bandit
    • The player issuing the bounty must have the bounty amount available as belly, this amount will be used as the reward of the wanted poster
Last change: 2024-05-25

/getwantedposter

Permission Level: 2

  • /getwantedposter <target>
    • Issues a new wanted poster for the target and gives it to the player who executed the command
Last change: 2024-05-25

/loyalty

Permission Level: 2

  • /loyalty <amount> <targets>
    • Give the amount of loyalty to one or multiple targets
    • If the provided amount is negative the value with be subtracted for the target's loyalty
    • The given amount can be between -100 and 100
Last change: 2024-05-25

/quest

Permission Level: 3

  • /quest give <quest> <target>
    • Give the selected quest to the target if they don't already have it accepted
  • /quest remove <quest> <target>
    • Removes the selected quest from the target
  • /quest finish <quest> <target>
    • Finishes the quest for the target if they already have it accepted
  • /quest unfinish <quest> <target>
    • Unfinishes the quest for the target if they already have it finished
Last change: 2024-05-25

/challenge

Permission Level: 3

  • /challenge give <challenge> <target>
    • Give the selected challenge to the target if they don't already have it
  • /challenge remove <challenge> <target>
    • Removes the selected challenge from the target
  • /challenge finish <challenge> <target>
    • Finishes the challenge for the target if they have it
  • /challenge unfinish <challenge> <target>
    • Unfinishes the challenge for the target if they have it
Last change: 2024-05-05

/check_player

Permission Level: 2

  • /check_player <target>
    • Sends a client-sided chat message for the command executor detailing the target's stats
Last change: 2024-06-08

/check_fruits

Permission Level: 3

Info

This command can only be used if the "One Fruit per World" config option is set to either SIMPLE or EXTENDED

  • /check_fruits list
    • Sends a client-sided chat message for the command executor detaling all the fruits in the world, spawned fruits, which player holds or ate what fruit and the logoff details of devil fruit players
  • /check_fruits history <fruit> [(page)|export]
    • Lists the history of the given fruit, who had it, what happened to it and when
    • The fruit needs to be on a specific format as such:
      • Pika Pika no Mi turns into pika_pika
      • For Zoans with models the following Zou Zou no Mi, Model: Mammoth will turn into zou_zou_mammoth
      • Same format applies for all fruits.
    • The command will only output the last 100 entries due to Minecraft's chat, to view more entries you can use the following argument to input a number representing the page number ex: /check_fruits history pika_pika 4
      • The page numbers will start from 0 (signifying the 1st page)
    • The export argument will generate a folder called onefruit-exports holding a file (or multiple) for the fruit you've exported,
      • Ex: /check_fruits history pika_pika export will export the entire history of the Pika Pika no Mi
Last change: 2024-05-25

/damagem

Permission Level: 2

  • /damagem <multiplier> <target>
    • Sets a damage multiplier for the target
    • The multiplier can be between 0 and 10 including decimals
    • The damage multiplier should affect the damage of all abilities, their projectiles and explosions, it will NOT affect effect duration/amplifier
Last change: 2024-05-25

Go Rogue

Permission Level: 0

  • /gorogue
    • Allows the player of a faction to attack and kill members of the same faction, players who use this command can be attacked by anybody!
Last change: 2024-05-25

Config

Info

Configs are optional ways to experience the mod, they are not the intended behaviour and will never receive proper balancing from us.

Where to find the config

If you want to edit the config for your own usage (singleplayer) follow the Client instructions, otherwise if you want to edit the config for server usage, follow the Server instructions.

You can edit these configs with any text editor, however do note that the default option for Windows (Notepad) is very underpowered when it comes to editing configs of any kind so we do suggest you install and use Notepad++ for a nicer experience.

Client

OSLocation
Windows%appdata%/.minecraft/config1
Linux~/.minecraft/config
macOS~/Library/Application Support/minecraft/config
1

The %appdata% folder can be opened by pressing Windows Key + R and searching for %appdata%

Note

These files are the default ones when using the official launcher.

If you're using a different launcher, such as Prism/MultiMC, these locations will be different, however these launchers usually have a quick way of accessing their root folders.

On Prism for example right click on the instance you want to edit and select Folder this will open the installation folder for this instance and you can follow the above paths to find the config.

Server

Go to the folder where the server is installed and the config folder should be there, if its not run the server once for it to get generated.

Ingame config editor

Both cloth config and configured are supported and offer an ingame config editors.

Choose either of them and install the mod as per their install instructions. It is recommended to only install one of them as both make use of the same entry point and could cause problems if both are installed.

Make sure you download the 1.16.5 Forge version!

After installing it go in the Mods menu from the Main Screen, select the Mine Mine no Mi mod and press the Config button.

The following screen should open where you can visually edit the config using user friendly buttons, sliders and text inputs.

Cloth Config screen

The following configs are some of the more important ones:

Warning

Not all config options are explained here however all config options have comments in the actual config file so please read their descriptions.

Last change: 2024-08-08

Keep Stats after Death

Config options that help players with keeping stats through death:

Info

Challenges and Quests are kept through deaths no matter the config option!

  • Keep Fighting Style (default: true)
  • Keep Devil Fruit (default: false)
  • Keep Faction (default: true)
  • Keep Race (default: true)
  • Percentage of Doriki kept after death (default: 33%)
  • Percentage of Bounty kept after death (default: 33%)
  • Percentage of Belly kept after death (default: 33%)
  • Percentage of Haki Exp kept after death (default: 33%)
  • Percentage of Loyalty kept after death (default: 50%)
Last change: 2024-09-22

Haoshoku Haki Unlock Logic

Dictates how a player can unlock the Haoshoku Haki ability

The option is called "Haoshoku Haki Unlock Logic" and has the following possible values:

  • EXPERIENCE

    • Allows every player to eventually unlock the ability based on the total amount of haki experience they have
  • NONE

    • Nobody can unlock the ability via natural progression, commands can still be used to add it however
  • RANDOM

    • Players are determined "worthy" by their account's ID, you can check if your account is eligible via our Haoshoku Haki Checker
    • This option carries from world to world and server to server assuming the server uses the RANDOM config option
  • COMBINED (default)

    • Combines the RANDOM and EXPERIENCE options allowing players to both spawn with it and unlock it eventually via grinding
  • TRUE_RANDOM

    • For the "worthiness" of a user the server's world seed is also added into play, meaning players might get the ability on one world but not another.
    • The Checker will not work for this option!
Last change: 2024-08-10

One Fruit per World

Dictates how many fruits of the same kind and how their existence is handled

This config category has multiple options under it the most important option being "One Devil Fruit per World Logic" and has the following possible values:

  • NONE

    • Multiple fruits of the same type exist and can be eaten by any number of players without restrictions
  • SIMPLE

    • Only 1 fruit of each can be obtained and eaten, when its user dies the fruit is put back into circulation (or respawned if Devil Fruit Reincarnation is used), no further restrictions are applied
  • EXTENDED

    • SIMPLE option with the added protection against storing fruits, fruits placed in containers will immediately be dropped or not allowed to be placed, depending on the context

The following options are only available while "One Devil Fruit per World Logic" is set to "EXTENDED":

  • "Unable to pickup Devil Fruit as a fruit user"

    • Makes Devil Fruit users unable to pick up additional fruits. false by default
  • "Inventory Fruit Limit"

    • Sets a hard limit of fruits that can be hold in the user's inventory, additional fruits cannot be picked up. 3 by default
  • "Days for Inactivity"

    • Counts the offline time for players and removes their fruits if the limit has been surpassed. defaults at 6 days

Info

  • If a player eats a fruit spawned via unsupported methods while its already in existence a message will pop up that the fruit is already being used
  • Server admins can use /check_fruit command for a list of fruits and their status

Fruit Status

Fruits can have several statuses while OFPW is enabled denoting their current state in the world below you can find info on what each state means and when it will happen. You can check a fruit's status by using the /check_fruit command

  • Not Found
    • This is the default state, this means the fruit was never obtained by a player
  • Lost
    • Happens when the fruit was in the world but got destroyed, there are several ways in which this can happen such as destroying the item (fire, lava, cacti), dying with a fruit without them respawning into another fruit, when a player with a fruit is inactive for more than the allowed number of days their fruit will be marked as lost
  • Inventory
    • When the fruit is in somebody's inventory or in a container (if SIMPLE mode is used)
  • Dropped
    • Occurs when the fruit was dropped on ground, either by the player themselves, when they got killed, or if the chest they were in was destroyed
  • In Use
    • Only happens if a fruit was eaten by a player.
    • Using commands such as /ability unlock_group will not mark that fruit as in use
Last change: 2024-07-12

Ability Fraud Checks

Dictates if a player's ability list should be checked upon joining the world.

The option is called "Ability Fraud Checks" and its a simple true/false option. true by default.

Info

Abilities obtained via commands are not affected by these checks!

It covers a wide area of checks such as:

  • Devil Fruit abilities are removed if the user did not eat their required fruit
  • Race abilities are removed if the doriki values do not meet the required thresholds
  • Fighting Style abilities can be removed if the trial completion is removed from the player's data (this however cannot happen under normal circumastances without admin or mod intervention)
  • Haki abilities are removed if the doriki or haki exp values do not meet the required thresholds
Last change: 2024-05-25

Ability Bars

How many ability bars a user should have access to on a scale of 1 to 10 (with 2 as the default).

Info

This only handles the number of total ability bars, NOT the number of currently displayed ones, for that you'll have to check in the client config for 'Ability Bars on Screen'.

This config works differently depending if its on client or server side!

  • While used on the server it acts as the maximum number of allowed ability bars a player can use
  • While used on the client it'll act as the actual number of bars allowed between 1 and the server's allowed limit
  • The client's number cannot exceed the server's limit, otherwise it'll scale back to the maximum allowed

Example

If the server you're joining has a maximum limit of 5 ability bars allowed, your local config can use any number between 1 and 5!

Last change: 2024-08-08

Randomized Fruits

Dictates if the devil fruits should be obfuscated or not, to give players a more authentic sense of not knowing what each fruit does without learning about them first.

The option is called "Randomized Fruits" and its a simple true/false option. false by default.

When this option is enabled the following changes will happen:

Devil Fruits

  • Devil Fruits will get their texture randomized, different shapes, different stem and body colors
  • All names will get changed into "Devil Fruit"
  • Fruit parts are randomized for every world individually so no worlds will have the same textures for their fruits

Devil Fruit Encyclopedia & Clues

  • Devil Fruit Clues and Devil Fruit Encyclopedia items will become available as part of loot pools in mod structures as part of different pools from the regular items as to not disturb the spawn % of all other items
  • The Encyclopedia will list all the fruits and how much of each you know about them, each fruit has 3 parts you need to find in order to be 100% sure its the fruit you want, shape, stem color and body color
  • Each clue holds one or multiple parts of one or multiple fruits that will get added to all the encyclopedias in you're inventory
  • Multiple encyclopedias can be combined into one by putting them in a crafting table with the resulting output containing all clues
Last change: 2024-10-21

Devil Fruits Reincarnation

The % chance of fruits respawning into nearby fruits1 after its user's death.

The reincarnation range at the moment is hard coded at 60 blocks, this is mostly due to performance concerns.

The category called "Devil Fruits Reincarnation" holds 3 options for different respawn cases as such:

  • "Dropped Apple Reincarnation Chance"

    • The chance of devil fruits reincarnating into dropped apples or tangerines (on ground items)
  • "Inventory Apple Reincarnation Chance"

    • The chance of devil fruits reincarnating into apples or tangerines held by other players or entities (such as villagers) in their inventory
  • "Chest Apple Reincarnation Chance"

    • The chance of devil fruits reincarnating into apples or tangerines stored in chests
1

Note that fruits here can very, as this is a datapack defined behavior, by default only apples and tangerines count as fruits however modpacks and servers can change these definitions.

Last change: 2024-10-24

Native Busoshoku Haki

Dictates if NPCs can unlock and use Busoshoku Haki abilities.

By default only selected NPCs have a chance to spawn with Haki (such as Captains or Trainers), this config, when enabled, will make any NPC with above 5000 doriki or with an attack of 5 or above (7 for Hard difficulty) be able to use Busoshoku Haki.

This can be useful for players or server owners who want more of a challange, as spawning an NPC with doriki above 5000 will automatically make it use Busoshoku Haki.

Last change: 2024-05-25

Ability Griefing

Info

This config option is global, meaning all abilities will stop destroying/replacing any blocks.
If you only need to protect a small area consider using /abilityprotection command instead for it.

Allows abilities and everything related to abilities (explosions, projectiles etc) to break or replace blocks as needed.
Config is a true/false option with true enabled by default.

Each ability also has its own set of blocks that its allowed to replace/destroy which are used when this option is set to true.

Warning

Due to how some abilities work disabling this option will make certain abilities completely or partially useless.
Ex: Yami Yami no Mi's Black Hole will be useless and by extension its Liberation ability will become useless as well.

Last change: 2024-05-25

Haoshoku Coloring

Dictates how the haoshoku lightning's outline will be colored

The config is made up of two different options, one found inside the Common Config called "Haoshoku Coloring Logic" and the other one found inside the Client Config named "Haki Color".

Haoshoku Coloring Logic

Has the following options:

  • STANDARD (default)

    • Lightning will always have a red outline
    • When used by a server this means all users will follow this rule and have a default red lightning, regardless of their config
  • CUSTOM

    • This directly ties in with the "Haki Color" option in the Client Config as the color selected there will be the one the lightning will use, by default its set to the same red as STANDARD
    • When used by a server it gives all players the ability to customize their lightnings via their own config
  • RANDOM

    • When this config is enabled all users will have a random color based on their account's ID

Haki Color

Is represented in a Hexadecimal format ranging from #000000 to #FFFFFF with #FF0000 being the default

Last change: 2024-08-08

Global Ability Protection

Info

This page is not for a singular config option but rather all options that affect Ability Protections globally.

Info

Remember that 1 game tick means 0.05 seconds, every second 20 game ticks have passed

Global Protection Restoration Grace

This option sets the time period of time (in ticks) before blocks affected by explosions or replacements start to be restored, otherwise known as the grace time. Once the grace period time ends an x amount of blocks will be restored every y ticks according to each protection's properties.

Stop Restoration Near Players

A simple true/false value, if active and a player is closer than 10 blocks to an area marked for restoration this area will be paused, as to not trap the players and cause suffocation deaths. Note that this is only for players, any other npc, item, projectile, or any other entity of any kind can still be caught and trapped by the restoration.

Protection Whitelist

A list of abilities that are completely allowed inside a protection.

The format of these abilities needs to be modid:abilityid (example: mineminenomi:ice_age)

This whitelist will bypass any properties a protection area might have, as such Ice Age for example can replace blocks with its ice even if the protection has block_destruction property set to false

Last change: 2024-05-25

Factions

Factions are chosen by players upon first joining a world by pressing the Player Stats key (R by default) or by using a Character Creator book.

Choosing a faction affects what system your character is going to use for faction progression as well as what other factions are going to be aggressive or passive towards you.

Faction Progressions

Factions

Last change: 2024-05-25

Bounty

Bounties are a progression system for Pirates, Revolutionaries and Bandits, they are also a goal for Bounty Hunters who can hunt them down and early large amounts of belly from their bounties.

The only way for a player to see theirs, or somebody else's, bounty is via Wanted Posters.

Having a high bounty will eventually lead to bounty hunters and marines hunting you down (both players and NPCs alike) and ambushing you wherever possible.

Info

Wanted Posters are NOT dynamic, one poster will always represent the same person and the bounty they had at that point in time, outdated or claimed posters however will have a ∅ symbol on them.

Obtaining a bounty

Players can increase their bounty by killing civilians or marines. The amount gained varies by the NPC's importance and power level.

At random intervals when the player's bounty exceeds certain thresholds they'll get issued a Wanted Poster by the Marines, alternatively marine players that are above the rank of Captain and have the required funds can issue bounties themselves for any player they wish.

Obtaining a Wanted Poster

Every 15 minutes (real time) wanted poster packages are going to be delivered nearby players, these packages contain a random number of posters (max 5).

Marine bases also have Wanted Poster available inside them either on a wall dedicated to wanted posters or inside chests as packages.

Wanted posters can be obtained from the creative inventory as well however they are empty until used at which point they will assume the bounty of the player using the item.

Getting rid of a bounty

Only way to get rid of bounties is by dying. If the death is caused by a Bounty Hunter then the player is going to lose all of their bounty, if the death is caused by other means then they're only going to lose 1/3 of their bounty.

Hunting bounties

Bounty Hunters can hunt down these bounties and obtain their bounties as belly. In order to do so you need to have a wanted poster of your target in the inventory (it can be an outdated poster too, the ones marked with ∅) and to kill them, once they're dead you'll receive your prize and the poster(s) of your target will disappear.

Info

Due to any poster of the target working there will always be a small risk of hunting down a target who's bounty was already redeemed as posters held by other people do not disappear when a target is killed. As such it is still recommended to have an up to date poster available before searching for your target to ensure a higher chance of the bounty being available.

Last change: 2024-06-08

Loyalty

Loyalty is the progression system used by Marines and Revolutionaries.

Loyalty comes in forms of ranks unique for each organization, certain ranks come with benefits related to that faction.

Warning

At the moment ranks are soft capped to avoid the unique ones from being obtained by multiple people until the system is further developed.

How to gain Loyalty

Loyalty is gained passively, after reaching 4000 doriki you start gaining 1 loyalty point per ingame day.

Warning

Stopping the day/night cycle using /gamerule doDaylightCycle false will break this functionality as well!

Available Ranks

Marine Ranks

  • Chore Boy (default, 0 loyalty)
  • Seaman (5 loyalty)
  • Petty Officer (10 loyalty)
  • Lieutenant (15 loyalty)
  • Commander (20 loyalty)
  • Captain (25 loyalty)
  • Commodore (40 loyalty)
  • Vice Admiral (50 loyalty)
  • Admiral (70 loyalty)
  • Fleet Admiral (100 loyalty)

Revolutionary Ranks

  • Member (default, 0 loyalty)
  • Officer (30 loyalty)
  • Commander (50 loyalty)
  • Chief of Staff (80 loyalty)
  • Supreme Commander (100 loyalty)

Perks

Marine Perks

  • Lieutenants
    • Receive the Small Muster ability that allows them to summon a small group of reinforcements
  • Captains
    • Receive the Muster ability, same as Small Muster but the reinforcement group is bigger
    • Can use their belly to issue wanted posters for Pirates, Revolutionaries or Bandits
  • Commodore
    • Can use the Command ability to issue commands for nearby grunts and pacifistas
  • Admirals
    • Can use the Golden Den Den Mushi to summon a Buster Call on their current location
    • Can use the Command ability to issue commands for all nearby marines and pacifistas

Revolutionary Perks

Warning

At the moment revolutionaries have no perks gained from loyalty.

Last change: 2024-06-08

Marines

Marines Logo

Perks

  • All marines, NPC or Player, are part of the same organization and group and therefor cannot harm each other
  • Marines also cannot hurt Villagers or Civilians (this includes Trainer and Skypean NPCs)
  • Additionally Bounty Hunters are allied with the Marines helping them hunt down dangerous targets so they cannot hurt each other either
  • Marines use Loyalty to progress through ranks and unlock abilities or personal perks, read more about Loyalty
Last change: 2024-05-25

Pirate

Pirates Logo

Perks

  • Pirates are aggressive towards every other faction excluding their own crew
  • Players will gain bounties based on what they kill, gaining enough notoriety will result in them getting attacked by bounty hunters and marines, read more about Bounties
  • Players can form their own crew with any number of players by using Sake Bottles and Sake Cups, read more about Crews
Last change: 2024-05-25

Crews

How to create a crew

  1. You'll need a Sake Bottle (bought from traders) and a couple of Sake Cups (crafted) based on how many other players you want to join the crew
  2. Shift + Right Click the Sake Bottle to create thecrew and give it a name
  3. Right click on other players with the Sake Bottle while they're holding their Sake Cup to fill them, after drinking the cup they'll join the crew
    • While you can invite non-pirate players into your crew do note that they will get turned into pirates after drinking the sake!

The Jolly Roger

  • Captains can change the jolly roger at any point after the crew's creation from the Crew's screen
  • The jolly roger will show up on the back of pirate capes for all members of the crew
  • Patreons get an additional 15 jolly roger elements to use in their designs

Random info bits

  • If the Captain of the crew leaves the next in line will get appointed Captain based on the join order
  • Members of the same crew cannot harm each other
Last change: 2024-05-25

Bounty Hunter

Bounty Hunters Logo

Perks

  • Can't get hurt by Marines and other Bounty Hunters
  • Can hunt down players using their Wanted Posters to get the full amount of belly as their reward, more info on this in the Bounties section
Last change: 2024-06-08

Revolutionaries

Revolutionaries Logo

Perks

  • All Revolutionaries, NPC or Player, are part of the same organization and group and therefor cannot harm each other
  • Revolutionaries also cannot hurt Villagers or Civilians (this includes Trainer and Skypean NPCs)
  • Players will gain bounties based on what they kill, gaining enough notoriety will result in them getting attacked by bounty hunters and marines, read more about Bounties
  • Revolutionaries use Loyalty to progress through ranks and unlock abilities or personal perks, read more about Loyalty
Last change: 2024-05-25

Bandit

The Bandit faction is currently only available for NPCs.

Warning

While its possible to use this faction for players via 3rd party mods or NBT editing its not officially supported for player use at the moment. Use at your own risk!

Last change: 2024-06-08

Races

Races are chosen by players upon first joining a world by pressing the Player Stats key (R by default) or by using a Character Creator book.

Choosing a race affects what abilities you can unlock using Doriki as well as what passives you'll have.

Races

Last change: 2024-05-25

Human

Humans Logo

Perks

  • Humans are extremely neutral, they have no specific buffs or debuffs
  • They can use Rokushiki abilities starting with 500 doriki

Rokushiki

  • Soru (500 doriki)
  • Tekkai (1000 doriki)
  • Geppo (1250 doriki)
  • Shigan (3000 doriki)
  • Kami-E (3600 doriki)
  • Rankyaku (5000 doriki)
  • Rokuogan (7000 doriki)
Last change: 2024-05-05

Fishman

Fishmen Logo

Perks

  • Fishmen gain couple of permanent passives
    • infinite water breathing
    • a significant swimming speed buff
    • much better visibility while in water
  • They can use Fishman Karate abilities starting with 800 doriki
    • Certain Fishman Karate abilities will be buffed if either the user or the enemy are in water, these buffs come mostly as increased damage buffs

Fishman Karate

  • Uchimizu (800 doriki)
  • Kachiage Haisoku (1000 doriki)
  • Two Fish Engine (2000 doriki)
  • Samehada Shotei (3000 doriki)
  • Murasame (5000 doriki)
  • Yarinami (5500 doriki)
  • Karakusagawara Seiken (7500 doriki)
Last change: 2024-05-25

Cyborg

Cyborg Logo

Perks

  • Cyborgs gain a new resource, namely Cola. This resource is visible in both the player's menu and next to the combat bar
  • To replenish this resource Cyborgs must drink Cola
  • Cyborgs can increase their maximum cola in two ways:
    • Drinking Ultra Cola, up to 20 bottles for a maximum of 500 cola (100 default + 400 from ultra cola)
    • Equipping a Cola Backpack increasing the cola by another 500 cola
    • Adding up all the above the maximum cola a player can have is 1000
  • Cyborgs also gain a natural armor layer (10 armor) but the downside of this is that they're swimming is slower than regular humans
  • They can use Cyborg abilities, they start with all of them unlocked

Cyborg Abilities

  • Fresh Fire (0 doriki)
  • Cola Overdrive (0 doriki)
  • Strong Right (0 doriki)
  • Radical Beam (0 doriki)
  • Coup de Vent (0 doriki)
  • Coup de Boo (0 doriki)
Last change: 2024-05-25

Mink

Mink Logo

Perks

  • Minks gain natural buffs in Speed and Jump Height
  • Minks come in 3 varieties: Bunny, Dog and Lion, they are purely cosmetic
  • While in hot biomes (such as deserts or mesas, hot oceans are not included) Minks lose their passive buffs
  • They can use Electro abilities starting with 500 doriki
  • Starting at 1200 doriki they can start using Sulong if the full moon is visible gaining massive buffs in their stats and abilities

Mink Abilities

  • Eleclaw (500 doriki)
  • Electrical Missile (800 doriki)
  • Sulong (1200 doriki)
  • Electrical Tempesta (3000 doriki)
  • Electrical Luna (3600 doriki)
  • Electrical Shower (7000 doriki)
Last change: 2024-05-25

Fighting Styles

Fighting Styles are chosen by players upon first joining a world by pressing the Player Stats key (R by default) or by using a Character Creator book.

Each Fighting Styles gets a different set of abilities that players can learn from their respective Trainer.

Fighting Styles

Last change: 2024-05-25

Swordsman

Swordsman Logo

Swordsmen can learn their abilities from Dojo Senseis which can either spawn around the world or in their Dojo structures.

Dojo Structure

Perks

  • Swords deal an extra x1.2 damage with melee weapons, a label with "Swordsman Bonus applies" will show up in the item's tooltip if its affected by this.

Abilities

  • Shi Shishi Sonson
  • Yakkodori
  • Sanbyakurokuju Pound Ho
  • O Tatsumaki
  • Hiryu Kaen
Last change: 2024-05-25

Sniper

Sniper Logo

Snipers can learn their abilities from Bow Masters which can either spawn around the world or in their Sniper Range structures.

Sniper Structure

Perks

  • Snipers get double the accuracy normal players have
  • If the Sniper's Goggles are equipped this buff increases to 4 times the accuracy

Abilities

  • Kaen Boshi
  • Kemuri Boshi
  • Tokuyo Abura Boshi
  • Tetsu Boshi
  • Sakuretsu Saboten Boshi
  • Nemuri Boshi
  • Renpatsu Namari Boshi
Last change: 2024-05-25

Doctor

Doctor Logo

Doctors can learn their abilities from the Doctors NPCs which can either spawn around the world or in their Medic Tent structures.

Doctor Structure

Perks

  • Doctors rely on a mix of healing, buffing and DoT abilities to act as a support for other players
  • They need to have a Medic Bag equipped in order to use most of their abilities (except Doping)

Abilities

  • First Aid
  • Failed Experiment
  • Medic Bag Explosion
  • Doping
Last change: 2024-07-12

Art of Weather

Art of Weather Logo

Art of Weather players (sometimes referred to Weather Wizards) can learn their abilities from the Weather Wizards which can either spawn around the world or up on Sky Islands.

Art of Weather Structure

Perks

  • Art of Weather is a complicated fighting style that relies on creating tempos using the 3 basic weather balls (Heat, Cool and Thunder)
  • Clima Tacts are required for performing said combos, and some can only be performed using higher grade Clima Tacts
  • Sneaking while using one of the 3 basic weather balls will charge them into the clima tact, allowing for different tempos to be executed

Abilities

  • Heat Ball
  • Cool Ball
  • Weather Cloud Tempo
  • Thunder Ball
  • Thunderbolt Tempo
  • Rain Tempo
  • Mirage Tempo
  • Fog Tempo
  • Thunderstorm Tempo
  • Thunder Lance Tempo
  • Gust Sword
  • Weather Egg
Last change: 2024-05-25

Black Leg

Black Leg Logo

Black Leg players can learn their abilities from the Black Leg Trainer NPCs which can either spawn around the world or in their Kitchen structures.

Black Leg Structure

Perks

  • Black Leg players gain more fist (in their case leg) damage as their doriki increases up to a maximum of 4 extra damage
  • They also gain some extra range (about half a block more) and more attack speed

Abilities

  • Concasse
  • Extra Hachis
  • Anti Manner Kick Course
  • Party Table Kick Course
  • Skywalk
  • Diable Jambe
  • Bien Cuit Grill Shot
Last change: 2024-05-25

Brawler

Brawler Logo

Brawlers can learn their abilities from the Brawler NPCs which can either spawn around the world or in their Boxing Ring structures.

Brawler Structure

Perks

  • Brawlers gain more fist damage as their doriki increases up to a maximum of 5 extra damage

Abilities

  • Suplex
  • Spinning Brawl
  • Genkotsu Meteor
  • Hakai Ho
  • Jishin Ho
  • King Punch
Last change: 2024-05-25

Combat

Combat Chapters

Last change: 2024-05-05

Blocking

Blocks

There are 3 major ways to block incoming damage as of right now.

Info

For each of these cases a specific sound and/or particle effect will play whenever a successful block occurs!

Passive Abilities

One such category includes the logia invulnerabilities.

This is the automatic reflex that all logias (except Yami Yami no Mi) have as a passive and allows them to block most incoming damages.

All of them will get bypassed by Haki and Shockwave-type abilities.

However some of them have special exceptions, such as Goro Goro no Mi's invulnerability being completely bypassed by Rubber-type abilities, or Suna Suna no Mi's by Water-type abilities.

In this category you also have more specialized passives such as:

  • Sabi Sabi no Mi's Rust Skin, a passive which will rust all metallic items and abilities used against itself and nothing else
  • Phoenix's Flames of Regeneration which acts as both a generic invulnerability (much like that of logias) while also auto-healing the user
  • Bara Bara no Mi's immunity to Slash-type abilities (including swords)
  • And many others

Active Abilities

This includes all abilities that need to be activated by the user in order for their effect to be used, such as Tekkai, Samehade Shotei, or Supa Supa no Mi's Spider as a few examples.

This category might also include more specialized blocking mechanics such as Kame Kame no Mi users crouching while in their Animal Form blocking all incoming damages.

Shields

Shields can fully block certain abilities, such as physical grappling ones.

Physical projectiles can also be partially blocked while shields are used.

Haki Blocks

Special category used only by certain abilities, check for the difference in both entities total haki to determine if a hit is successful or not. The follow logic is used:

  • If the difference is greater than 5 for the defending side, the block will always happen
  • If the difference is greater than 5 for the attacking side, the block will always fail
  • However if the difference between the attacker's and defender's total haki experience is lower than 5 there then the block will only have a 95% chance of success, this chance increases based on how close the difference is up until a maximum of 97% chance.

So to simplify when both parties are of equal haki the attacker only has a 3% chance to hit.

Last change: 2024-07-12

Damage Reduction

While not a blocking mechanic per se, players are also given 2 major stats to boost their defences and reduce incoming damage.

Armor and Toughness.

Armor Stat

Armor is obviously obtained from the armor items you're wearing, certain Zoans such as Kame Kame no Mi might also buff this Armor stat through their buffs.

Armor can be bypassed by certain abilities either partially or fully.

Toughness Stat

Toughness is the physical toughness of your body, it can be increased in one of the following ways:

  • Passively by increasing your Doriki, at max Doriki a player will have increased their Toughness stat to 8
  • Using certain abilities that offer Toughness as part of their mechanics
    • Using Busoshoku Haki: Full Body Hardening at max Haki it will provide an additional 8
    • Kira Kira no Mi's Diamond Body will provide an additional 8
  • Certain Zoan Points offer Toughness as a passive buff such as Allosaurus, Brachiosaurus, Pteranodon, Leopard and others

Health

While health will not reduce the amount of damage you receive it will directly allow you to live longer and take more damage.

Players can gain more health in one of the following ways:

  • Passively by increasing your Doriki, at max Doriki a player will have a total HP pool of 250
  • Certain Zoan Points will offer extra Health as passive buff such as Daibutsu, Brachiosaurus, Mammoth and others
Last change: 2024-05-25

Ability Damage Types

These types are loose classifications in which abilities might fit, they denote some generic functionalities. They are further split in 3 categories, generic types, haki types and elemental types.

Info

If an ability has no type, it will be counted as "UNKNOWN" this means it will not get buffed by player stats or haki related abilities. Usually however this is not even needed as most UNKNOWN abilities are passives or purely functional abilities, such as Mera Mera no Mi's Head Dash for example.

Weapons can and do make use of the following types as well.

Types

Fist

Fist Icon

Note: Despite the name this is also used for kicks

These abilities are buffed directly by a player's punch damage, meaning an empty hand is required for this bonus to be applied.

All FIST abilities are also PHYSICAL.

Slash

Slash Icon

Abilities that are buffed by held weapons (such as swords) based on the item's damage.

Bara Bara no Mi users are completely immune to slash-types.

Blunt

Blunt Icon

Abilities that are also buffed by held weapons (such as maces) based on the item's damage.

Gomu Gomu no Mi users are completely immune to blunt-types.

Physical

Physical Icon

Used to denote an ability that makes physical contact with the enemy.

Sube Sube no Mi users will deflect all physical type abilities. Gomu Gomu no Mi users will also negate a % of damage received from such abilities

Internal

Internal Icon

Internal damage is a type of damage that bypasses all physical protective measures (such as armor) and certain abilities that can defend the user from physical damages.

Projectile

Projectile Icon

Currently used for all projectiles but with no functionality for the moment.

Haki

Hardening

Hardening Icon

Used to denote abilities buffed by hardening haki abilities. Damage bonus is calculated based on the user's haki experience and doriki stats.

Imbuing

Imbuing Icon

Used to denote abilities buffed by imbuing haki abilities. Damage bonus is calculated based on the user's haki experience and doriki stats.

Special

Special Icon

Used to denote abilities buffed by both hardening and imbuing haki abilities. Damage bonus is calculated based on the user's haki experience and doriki stats.

Elemental

Info

Elemental types are used internally for extra defence/immunity logic, they do not boost an ability's damage at all.

Some of them are also at the moment used only for futureproofing. As such they have very little or no usage.

Fire

Fire Icon

Light

Light Icon

Lightning

Lightning Icon

Used by Gomu Gomu no Mi for its lightning immunity

Magma

Magma Icon

Shockwave

Shockwave Icon

Cannot be negated by any Logia Invulnerability

Water

Water Icon

Cannot be negated by Suna Suna no Mi's invulnerability

Ice

Ice Icon

Rubber

Rubber Icon

Cannot be negated by Goro Goro no Mi's invulnerability

Explosion

Explosion Icon

Wax

Wax Icon

Wax-based projectiles will instantly destroys Poison-based projectiles if they touch Similarly used by Doru Doru no Mi's Candle Champion's increased resitance against all Poison-based physical attacks

Poison

Poison Icon

Rust

Rust Icon

Smoke

Smoke Icon

Metal

Metal Icon

Will be negated by Sabi Sabi no Mi's Rust Skin when its active

Air

Air Icon

Last change: 2024-05-25

Carrying

Carrying is a new mechanic similar with how riding works in vanilla that allows players to carry other entities.

Dragging is simply a different term used when dragging handcuffed entities instead of lifting them up. It requires a leash in order to drag handcuffed enemies.

In order to carry these they need to be either:

When they're in either of the above states just right click them and you'll lift them and carry them, the exception to these being handcuffs where you need to a leash in order to drag them.

If the effect associated with their carryable state ends (such as handcuffs/nets being removed) the carried target will stop being carried and get out of that state.

To place them back just right click again in an empty direction to throw them.

Last change: 2024-07-12

Doriki

Doriki is one of the two power levels players and entities have and can get abilities based on.

Doriki allows players to unlock and use Racial abilities, more about them here

Its also used partially in unlocking Haki abilities and improving them

Doriki also increases a user's max health, after 2000 doriki every 40 doriki1 awards the player with 1 extra health point up to a maxmimum of 250 health.

1

This is a config option and thus could vary from server to server or from modpack to modpack, 40 is the default value, the maximum can go up to every 100 doriki.

How to obtain Doriki

Killing entities is the most sustainable way to gain doriki. Stronger enemies give more doriki while non-aggressive ones will not give anything.

Large amounts of doriki can be obtained by finishing Challenges as well, however there is a limited number of challenges available and doriki is only obtained after the first completion.

Why do I stop gaining Doriki ?

Doriki gains have limits based on how strong the player and its target are, meaning players are unable to farm the same enemy until max doriki. Killing stronger and stronger enemies as the player grows is mandatory.

What mobs can give Doriki ?

Entities from the Mine Mine no Mi mod itself have more or less a set amount of doriki with little variation coming from adding or subtracting random amounts, entities coming from vanilla or other mods (that do not directly support Mine Mine no Mi) however reward doriki based on a "threat" level calculated by their attack and health stats.

Last change: 2024-06-08

Haki

Haki is a secondary power level that goes in parallel with Doriki, unlocking different Haki abilities, allowing for more damage, armor and/or hitting logias.

Haki Abilities

  • Busoshoku Haki: Hardening
  • Busoshoku Haki: Full Body Hardening
  • Busoshoku Haki: Imbuing
  • Busoshoku Haki: Emission
  • Busoshoku Haki: Internal Destruction
  • Kenbunshoku Haki: Aura
  • Kenbunshoku Haki: Future Sight
  • Haoshoku Haki
  • Haoshoku Haki: Infusion

Haki abilities are split across 4 major categories

  • Hardening, which affects the player's body, either by dealing more damage, or providing better defences
  • Imbuing, which affects the player's items, like coating weapons with it to deal more damage or not take durability damage
  • Observation, which allows to user to see living beings using their aura, or even avoid attacks by predicting the future
  • Haoshoku, which is a special category for Haoshoku Haki and Haoshoku Haki: Infusion only

All haki abilities evolve over time based on how much experience each category has and how much doriki the user has, the effects vary from more damage, longer usage time or more range.

Haki abilities will affect other abilities with slight damage increase, bypassing logia invulnerability or other buffs. To make it easier to see which ability gets affected by what icons got added on an ability's tooltip to denote what Haki type affects it.

The icons and how they affect abilities got moved here.

Haki Levels

  • Beginner
  • Initiate
  • Adept
  • Proficient
  • Master

The basic haki abilities (Hardening, Imbuing and Aura) are obtained by the time the player gets to the Initiate level. Players can view these levels at trainers from around the world, each trainer being specialized in a type of haki based on their fighting style's potency.

You can view your current haki level by talking with trainers.

Learning Haki

Each category has its own learning method and difficulty curve.

  • Hardening can be trained by killing enemies
  • Observation can be trained by getting hit
  • Haoshoku cannot be trained directly but its the sum of all the other types, higher the other categories closer you are towards unlocking the Haoshoku line

Hardening and Imbuing share the same haki experience pool named "Hardening".

The amount of experience you obtain will decrease based on how strong the enemy is and how much experience you already have.

After a certain threshold you will need to actively use the abilities in order for experience to be gained, such as using Hardening or Imbuing in order to gain Hardening experience.

Info

Haoshoku Haki unlocking behaviour can be changed via the "Haoshoku Haki Unlock Logic" config option. By default all players can obtain it by mastering at least 2 types of haki, which is not the default behaviour in the source material but is used to give all players the chance to obtain it.

Last change: 2024-05-25

NPCs

The following NPC categories can be found in the mod

Last change: 2024-09-02

Marines

The marines are a large organization under the World Government tasked with protecting civilians and dealing with law enforcement.

Info

For more info on how Players are affected when becoming a Marine read their faction entry

Marine NPCs

  • Marine Grunts

    • No particular fighting styles or special features, quite literally fodder
    • When the game is on Hard they can spawn with one ability based on their fighting style
  • Marine Captains

    • Which can spawn as either a Brawler or Swordsman, in both cases they get access to the respective fighting style's abilities
    • Can spawn with up to two Rokushiki abilities
    • Has a 30% chance to spawn knowing busoshoku haki
  • Marine Snipers

    • Uses Senriku to snipe their targets from far away, always spawn as a Sniper and can thus use their abilities in combat
  • Marine Bombers

    • Spawns with a bazooka, has no particular fighting style, just a bazooka
Last change: 2024-05-25

Pirates

Pirate is labeled any person who takes up the jolly roger and goes to sea in search of One Piece.

Info

For more info on how Players are affected when becoming a Pirate read their faction entry

Pirate NPCs

  • Pirate Grunts

    • No particular fighting styles or special features, quite literally fodder
    • When the game is on Hard they can spawn with one ability based on their fighting style
  • Pirate Captains

    • Which can spawn as either a Brawler or Swordsman, in both cases they get access to the respective fighting style's abilities
    • Has a 30% chance to spawn knowing busoshoku haki
  • Pirate Brutes

    • Mostly spawns empty handed as a Brawler but can sometimes spawn holding a mace, as a Brawler they get access to Brawler abilities
    • Has a 15% chance to spawn knowing busoshoku haki
  • Pirate Bombers

    • Has a single big bomb that they carry above their heads, after using it them effectively turn into Brutes
Last change: 2024-07-12

Bandits

Bandits are land criminals usually hiding in mountains or dense forests.

Bandit NPCs

  • Bandit Grunts

    • No particular fighting styles or special features, quite literally fodder
    • When the game is on Hard they can spawn with one ability based on their fighting style
  • Bandit Leaders

    • Which can spawn as either a Brawler or Swordsman, in both cases they get access to the respective fighting style's abilities
    • Has some extra abilities that allows them to dodge projectiles and to throw knives at enemies, when surrounded by multiple enemies it can also throw a smoke bomb
    • Has a 25% chance to spawn knowing busoshoku haki
  • Bandit Brute

    • Mostly spawns empty handed and as a Brawler but can sometimes spawn holding a mace, as a Brawler they get access to their abilities
    • Has a 15% chance to spawn knowing busoshoku haki
  • Bandit Snipers

    • Uses Senriku to snipe their targets from far away, always spawn as a Sniper and can thus use their abilities in combat
  • Bandit Bombers

    • Spawns with a bazooka, has no particular fighting style, just a bazooka
Last change: 2024-05-25

Trainers

Trainers are useful in teaching players abilities based on their fighting styles as well as giving tips on how to train their Haki and at what stage their Haki is.

Trainers randomly spawn through the world near players or in their unique structures:

  • Dojo (Swordsman Trainer):

Dojo Structure

  • Range (Sniper Trainer):

Sniper Structure

  • Doctor Tent (Doctor Trainer):

Doctor Structure

  • Boxing Ring (Brawler Trainer):

Brawler Structure

  • Bistro (Black Leg Trainer):

Black Leg Structure

  • Sky Island(s) (Art of Weather Trainer):

Art of Weather Structure

(Yes Weather Wizards can spawn in 2 out of 3 sky island variations)

Last change: 2024-05-25

Traders

Many items can be bought from traders, each trader has different based on their faction, so for example Marine Traders will have marine clothes and weapons or Skypean traders will have more dials.

Pirate and Marine traders (ground ones) will use Belly for their shops while the Skypean ones will use Extol. You can earn extol by selling dirt to these skypean traders.

Traders randomly spawn through the world near players.

Last change: 2024-05-25

Animals

Animals can be classified under these following aggression levels:

  • Friendly - Does not attack and will run away or panic when attacked
  • Neutral - Won't attack by itself however if provoked it will hit back
  • Cautious - Won't attack under normal circumstances however it can attack based on nearby entity behavior as well as when hit back
  • Aggressive - Will attack on sight

Animals can also be classified under two major categories: tameable and non-tameable.

Tameable

Non-tameable

Last change: 2024-05-25

Dugong

Dugongs come in 5 distinct varieties: Kung Fu, Boxing, Wrestling, Legendary Master and Wandering.

All dugongs can be challenged to a fist fight duel and tamed by reducing their HP below half, except for the Wandering variety which can very rarely be tamed. Attacking them with weapons will enrage them and all nearby dugongs increasing their attack and also making taming them impossible.

Kung Fu Dugong

Kung Fu Dugong

Type: Neutral

Food: Meat and Kelp

Biomes: Near oceans and rivers

Boxing Dugong

Boxing Dugong

Type: Neutral

Food: Meat and Kelp

Biomes: Near oceans and rivers

Notes: Can use a number of punch and dash type brawler abilities

Wrestling Dugong

Wrestling Dugong

Type: Neutral

Food: Meat and Kelp

Biomes: Near oceans and rivers

Notes: Can use a number of grab type brawler abilities

Legendary Master Dugong

Legendary Master Dugong

Type: Neutral

Food: Meat and Kelp

Biomes: Near oceans and rivers

Notes: Can use all brawler abilities and Haki. They also act as trainers giving players 4 unique trials for unlocking Empty Hands, Knockdown, Takedown Kick and Command abilities (which are not locked behind and fighting style).

Wandering Dugong

Wandering Dugong

Type: Aggressive

Food: Meat and Kelp

Biomes: Plains, swamps, beaches and forests

Notes: Can use some brawler abilities and have a chance of using Haki. They can easily be differentiated from the regular Kung Fu Dugong due to their scars.

Last change: 2024-10-21

Yagara Bulls

Yagara Bull

Type: Friendly

Food: Tropical Fish

Biomes: Near water

Notes: Requires a saddle to be ridden. They're faster than a boat or fighting fishes. Can also be used to traverse land but they're extremely slow there.

Last change: 2024-05-25

White Walkies

White Walkie

Type: Neutral

Food: Meat

Biomes: Cold and snowy biomes

Notes: Requires a saddle to be ridden. Slow land creature however it can be equipped with up to two chests for carry capacity without influencing its movement speed. Can bite enemies when the rider attacks.

Last change: 2024-05-25

Bananawanis

Bananawani

Type: Cautious

Food: Fish

Biomes: Deserts and mesa

Notes: Requires a saddle to be ridden. Can traverse both ground and water however they excel at ground traversal more, can bite enemies when the rider attacks. Will become aggressive towards entities that sit in its personal space for too long.

Last change: 2024-05-25

Super Spot-Billed Duck

Super Spot-Billed Duck

Type: Friendly

Food: Berries and Seeds

Biomes: More commonly in deserts but can also be found in plains

Notes: Requires a saddle to be ridden. Really fast land creatures, can jump and float in air to avoid fall damage.

Last change: 2024-05-25

Lapahns

Lapahn

Type: Aggressive

Biomes: Cold and snowy biomes

Notes: They have a relatively low targetting distance however they will start running towards their target assaulting them with pounces when a target is found, making them a hard to escape foe. Will enrage itself and all nearby Lapahns when low on health.

Last change: 2024-05-25

Humandrills

Humandrill

Type: Aggressive

Biomes: Plains, forests and jungles

Notes: If they spawn with a sword then they'll use swordsman abilities to attack otherwise they will default to a couple low level brawler abilities.

Last change: 2024-05-25

Gorillas

Gorillas come in 2 varieties: Blugori and Blagori.

Blugori

Blugori

Type: Aggressive

Biomes: Cold forests

Notes: Have a really high targetting range and are extremely aggressive will attack using jumps and pounces.

Blagori

Blagori

Type: Aggressive

Biomes: Cold forests

Notes: Have a really high targetting range and are extremely aggressive, more so than even Blugoris, will attack using jumps and pounces. They are rare and can only spawn 1 per pack however they make up for it by having much higher attack and defense stats than regular Blugoris and can attack much more frequently than they can.

Last change: 2024-05-25

Fighting Fish

Fighting Fish

Type: Aggressive

Biomes: Oceans (except frozen ones)

Notes: Extremely aggressive fishes, will attack boats and yagara bulls.

Last change: 2024-05-25

Panda Shark

Panda Shark

Type: Neutral

Biomes: Oceans (except frozen ones)

Notes: Will attack fishes around it for food but otherwise is harmless unless provoked.

Last change: 2024-05-25

Sea Cows

Sea Cow

Type: Neutral

Biomes: Oceans and beaches

Notes: Will attack nearby fishes for food. Becomes aggressive if hit or if any nearby calves are attack. It can use its tail and horns to attack and cause lots of damage.

Last change: 2024-05-25

Den Den Mushi

Den Den Mushi

Type: Friendly

Biomes: In pretty much every biome with grass

Notes: Not much...they do nothing, can be right clicked with an iron ingot and obtain a decorative Den Den Mushi block.

Last change: 2024-05-25

Breeding

Animals that can be bread are the following:

  • Sea Cow1
  • Bananawani
  • White Walkie
  • Super Spot-Billed Duck
  • Yagara Bull
  • Dugongs2

Inherited stats

As with horses in vanilla Minecraft when the above animals are bred stats from the parents will be passed down to the kids, these stats vary from animal to animal as it follows:

Bananawani: HP, Armor, Speed, Damage, Swimming Speed

Ducks: HP, Jump Height, Speed, Float Time

White Walkie: HP, Armor, Speed, Damage

Yagara Bull: HP, Swimming Speed

Dugong: HP, Armor, Speed, Damage, Haki3

1

Sea Cows are at the moment only breedable in theory as they have baby models and logic, however players cannot breed them using food as with others. Due to this they also do not make use of stat inheritance yet.

2

With the exception of Wandering and Legendary Master variations.

3

If both parents know haki the baby has a 80% to spawn with it as well, however it will be unable to use it until it becomes an adult.

Last change: 2024-08-31

Difficulty

There are 2 major difficulty kinds in the mod.

Open World Difficulty

Which is based on the Difficulty setting the world you're in has.

This affects open world entities such as marines and pirates

When the difficulty is set to "Hard" some of the ways open world entities are affected includes:

  • Gun users using Kairoseki bullets
  • Grunts can make use of basic racial or fighting style abilities (such as Soru, Yakkodori, Genkotsu Meteor or others), however its worth pointing out they will only have access to 1 ability.
  • Brutes will have access to 2 random abilities
  • Snipers will have access to 3 random abilities
  • All NPCs will have an increased amount of Doriki available to them, this translates to more damage and more protection

Challenge Difficulty

The other difficulty is the one specific to challenges which comes in 3 varieties: Normal, Hard and Ultimate.

These difficulties affect how bosses attack and react to the enemies, this can come in the form of more abilities, more accurate dodges, higher damages and so on.

For more info on challenges read the Challenges page.

Last change: 2024-09-02

Items

Some of the more important item categories found in the mod are:

Last change: 2024-09-03

Recipes

Warning

These docs will never contain a complete list of recipes for all items!

Recipes can be learned by collecting materials through the world and using the vanilla list of recipes.

Example: By collecting clay you unlock the recipe for Sake Cups, shown by a pop up in the top right corner of the screen

Sake cup recipe unlocked

Then you open the recipe book inside the player's screen or (more likely) inside the crafting table's screen. Clicking on an item will reveal its recipe.

Sake cup recipe crafted

Last change: 2024-09-22

Devil Fruit Boxes

Devil Fruit Boxes are the main way of obtaining Devil Fruits in the mod, they're found in chests in various mod and vanilla structures.

Devil Fruit Boxes come in 3 categories which also denote how rare or powerful the fruit inside will be.

Wooden Box: 22 fruits
Iron Box: 31 fruits
Golden Box: 19 fruits

All Logias will be inside the gold boxes along with strong paramecias or mythical zoans.

Every box has a 5% chance to be empty, however they also have a 5% chance to contain a fruit from the next tiered box (obviously with the exception of gold boxes). This means that you can obtain logias from iron boxes as well, just at a very low drop rate.

Other than that every fruit has an equal spawn % based on how many fruits are in their box.

Last change: 2024-05-25

Dials

Dials are items native to sky islands, they can either be used as items for their effects or used as enchantment materials. Rarely can also be found on beaches or at the bottom of oceans.

For Enchantments

When used as enchantment materials you'll need dials in the right slot of a smithing table with the item you wish to enchant in the left slot. Using more dials will also increase the enchantment's level.

  • Eisen Dials
    • Power for Bows
    • Sharpness for Swords
  • Flame Dials
    • Flame for Bows
    • Fire Aspect for Swords
  • Flash Dials
    • Flash Dial enchantment for Swords1
  • Impact Dials
    • Impact Dial enchantment for Swords2
  • Breath Dials
    • Punch for Bows
    • Knockback for Swords
1

The flash dial enchantment will blind your target when hit

2

The impact dial enchantment will explode on contact with the target

For Item Use

  • Axe Dial
    • Shoots a projectile forward exploding on impact
  • Flame Dial
    • Shoots a fireball forward
  • Impact Dial
    • Creates an explosion at the user's position dealing all nearby enemies
  • Milky Dial
    • Shoots a projectile forward that creates a cloud path in its path
  • Reject Dial
    • Instantly kills the enemy it hits but it also leaves the user down to 1 hp

Crafting Dials

Dials can also be crafted in a smithing table using various amounts of appropriate materials and a nautilus shells.

  • Feathers + Nautilus Shell = Breath Dial
  • Flint + Nautilus Shell = Axe Dial
  • Iron Ingot + Nautilus Shell = Eisen Dial
  • Blaze Powder + Nautilus Shell = Flame Dial
  • Glowstone Dust + Nautilus Shell = Flash Dial
  • Gunpowder + Nautilus Shell = Impact Dial
  • Sky Block + Nautilus Shell = Milky Dial
Last change: 2024-08-31

Kairoseki

Kairoseki (or Seastone in english dubs) is an ore found deep on the ocean's floor and near oceans.

It is used to enchant weapons with kairoseki effects allowing its wielder to hit logias.

In a smithing table combine your weapon of choice with 10 kairoseki ores to enchant it.

Kairoseki can also be used in crafting items such as bullets, handcuffs, nets or blocks and bars, all of which help players in dealing with devil fruit users without haki.

When holding kairoseki items devil fruit users will receive a weakness effect slowing them down and disabling ability usage. Which items are affected by this "kairoseki" side effect are labeled in their description with a yellow "Kairoseki" label (or "Seastone" if using the Dub Pack).

Last change: 2024-09-03

Meito / Legendary Swords

Legendary Swords cannot technically be obtained by natural means without creative or /give commands. However players can obtain replicas of these swords via traders, they're still mechanically identical with the originals and better than any other vanilla weapon however for lore reasons they're "replicas". The prices on these replicas vary between 500 belly to 10000 belly depending on its rarity and power.

Last change: 2024-06-08

Bubbly Coral

Bubbly Corals are items that coats the user in a big bubble protecting them from the water. Its used mainly by Devil Fruit users to avoid the water weakness however the downside of it is that it pops when the user gets hit.

Bubbly Corals can be obtained (with a very low 1/64 chance) by mining Brain Coral blocks (the pink ones):

Brain Coral block

Last change: 2024-05-25

Handcuffs

Handcuffs are utility items used to block enemies from using their hands and/or abilities if the kairoseki variants are used.

Info

For more info on how catching and carrying enemies works please read the Carrying page.

They come in 3 varieties:

  • Normal
  • Kairoseki (disables devil fruit abilities)
  • Explosive (will explode when removed by key)

The handcuffs time will always be 90 seconds (1800 ticks).

To use them hold them in your offhand while killing your target, the enemy won't die but instead the handcuffs will be applied.

To remove them one of the following methods can be used:

  • Waiting for a set amount of time until they're off
  • By receiving a set amount of damage1
  • Dying
  • Some other player using a key
1

The amount of damage required varies, each hit's damage is multiplied by 30 and the result is subtracted from the handcuff's remaining time. Example: Effect is at max 1800 ticks, hit deals 10 damage resulting in every hit chipping away 10*30 => 300 ticks off the effect, meaning you'd need 6 hits to completely break the handcuffs (not taking into account the time passing between hits)

Structures have a chance to spawn handcuffs as part of their loot.

Last change: 2024-05-25

Nets

Nets are throwable utility items used to catch enemies.

Info

For more info on how catching and carrying enemies works please read the Carrying page.

They come in 2 varieties:

  • Rope (normal)
  • Kairoseki (disables devil fruit abilities)

If the thrown net succeesfully catches an enemy it will remain caught for 60 seconds (1200 ticks).

To use a net you must first charge it and then throw it.

While they can be a big help in catching enemies it is useful to know they come with several limitations such as:

  • Rope nets are extremely fragile, especially to fire, if the caught entity is on fire the net will burn off
  • Similiarly to how handcuffs work dealing damage to the caught entity will remove the net
  • Nets require a 1s charge time before being thrown making them easy to dodge
  • The thrown net is slow and goes in an arch meaning it can be easily dodged and it makes aiming it a little bit more challenging than a regular projectile or bullet
  • The thrown net can be destroyed by any projectile it comes in contact with
    • The exception to this are kairoseki nets which cannot be destroyed by abilities, but can however be destroyed by their explosions
  • Nets can be completely negated via dodge type abilities such as Kami-E or Future Sight or by using a shield
  • The throwing entity can catch themselves if the net is thrown at a very low angle

Nets can be found in various structures (more so marine ones) as part of their loot.

Nets can be shot instantly by dispensers and work as expected.

Last change: 2024-06-08

Challenges

Challenges are optional instantiated fights against bosses from the One Piece universe. They can be done either alone or as a group of up to 4. They occur in a different personal dimension for each player and are set in a limited arena usually 50x50 up to 100x100 in size.

They come in 3 difficulties:

  • Standard
  • Hard
  • Ultimate

Standard is meant as a recreation of the fight as seen in the anime/manga, this means there is a clear progression of said bosses as early one piece did not have concepts such as haki and the devil fruits were rare.

Hard is meant as an updated version of that fight as if it were to happen now, this means these bosses can make use of haki quite effectively as well as various abilities from their racial/style pool of abilities. While these bosses have far bigger stats than their Standard counterparts they also have more abilities. These challenges also have certain restrictions imposed on their players such as being unable to eat, use items or potions.

Ultimate are extremely difficulty fights which might at time deviate a bit from the fight shown in the anime/manga for the sake of a bigger difficulty. Not every challenge will receive an Ultimate version. Restrictions on eating, item usage and potions are also applied here on top of which each challenge might have unique restrictions of its own.

Each difficulty has its own completion time and reward pool associated with it.

Obtaining Challenges

There are 4 main ways of obtaining challenges:

  • Right clicking a Poneglyph with a piece of paper will unlock that poneglyph's challenge, each Poneglyph has only 1 challenge
  • Winning the Standard difficulty of a challenge will unlock its Hard difficulty
  • Wanted Poster Packages can drop one or multiple special posters which unlock challenges as well
  • By using the /challenge command

By unlocking them via Poneglyphs or the special posters they will always unlock the Standard difficulty, the Hard difficulty can only be unlocked by completing the Standard version first. Ultimates are unlocked by different methods all of which have something to do with other challenges such as beating all challenges in a particular group, completing a challenge under a certain time or by having additional restrictions imposed on the players.

Groups

Challenges can be started either alone or in a group of maximum 4 people, all of which must be in the same faction/crew as the player who starts the challenge.

The player who starts the challenge will need to send invitations after choosing a challenge, the invited ones will receive a chat message and will now have a new button in the "challenges" menu listing all invitations they received.

Note that if the group owner closes their menu before starting the challenge the group will be disbanded.

Rewards

When completing a challenge for the first time all the players who are alive at the end will receive a reward in form of Doriki, Belly and, if applicable, Bounty. Items used or related with the challenge can also be obtained, these are not limited for the first try only and can be grinded endlessly.

Last change: 2024-07-19

Incompatibilities

This page will try to list and categorize based on impact all the incompatibilities the current version of Mine Mine no Mi has with other mods. Keep in mind these incompatibilities are mostly reported by players as we're unable to test compatibility with every mod or modpack out there.

Info

Unless otherwise stated in the details section the incompatibility was manually tested by a developer before being added.

While workarounds might exist this page will only note them based on how reliable, as such workarounds like "just don't use both mods" will not be noted.

The impact is noted as such:

  • Minor, issues that do not affect the gameplay or its performance, usually graphical
  • Major, issues that can affect gameplay or performance, no matter how rare or edge case it might be
  • Critical, crashes on startup, world generation or very frequently during gameplay, crashes that rarely happen or require complex setups to perform will be downgraded to Major
  • Fixed(?), fixed in theory, however large scale testing will be required to make sure its actually fixed
  • Fixed, fixed, confirmed by either a dev or multiple people using this mod as part of their modpack, kept here as information until its no longer relevant
ModImpactDetailsWorkaround
MagmaMajorThis is a server not a mod While using a Magma server mod commands will not be recognized and will not workSomewhat
tombstone(1)Fixed
(2)Major
1: Crashes on startup

2: It might still not fully work with certain config options such as One Fruit per World, thus the Major label, if no crash is going to be reported it will still remain as a Major one until that is fixed.
-
Structurize/Mine ColoniesMajorCrashes at specific points, this is a library mod used by Mine Colonies-
offhandcombatMajorRandomly crashes while in game, most likely due to NPCs-
protocollibMajorThis is a plugin not a mod. Crashes with the custom mod explosions, might not happen 100% of the time as it might be based on what other plugins using protocollib are used in that server.-
Ma EssentialsMajorWhile the "One Fruit per World" config option is set to EXTENDED using /invsee on a player with a fruit in their inventory will result in that fruit disappearingYes
HeadshotMajorCrashes when certain mod entities die
Note: The report was made on the Forge port by chronos_sacaria, NOT the fabric version.
-
FTBChunksMajorCrashes only when ability protections with block restoration enabled are used inside claims-
Minecraft Comes AliveMinorAll transformations, be them zoans or otherwise are busted, issue is only visual as far as we know howeverYes
optifineMinorVaries a lot from user to user but it generally has issues when it comes to custom rendering code such as Aura's overlay, especially when using shaders-
obfuscateMinorSome animations will not play correctly-
pehkui(1)Fixed
(2)Fixed
1: Crashes on startup, not 100% and its probably based on other mods implementing it or based on its versions

2: Crashes when hovering over abilities with projectile tooltips in the ability selection menu.
-
Valkyriean SkiesFixedCrashes whenever a challenge gets started-
performantFixedCustom spawners used in all Mine Mine no Mi structures will spawn pigs instead of their intended npcYes

If you have any reports regarding incompatibilities make sure to let us know so we can update this list and maybe fix the ones that we can fix.

Workarounds

Ma Essentials

There are two solutions to this, neither of which is perfect:

  • Avoid using "One Fruit per World" as EXTENDED while also using Ma Essentials
  • Disable the /invsee command using Ma Essential's config:
[Commands.invsee]
	#Enable command: /invsee
	enable = false

Minecraft Comes Alive

In MCA's config turn to false the following option:

"enableVillagerPlayerModel": false, // true by default

performant

In performant's config the following options need to be turned false:

#Enable faster pathfinding, default = true
fastPathFinding = false

#Enables improved entity collision and movement calculations for any non item entity, default = true
fastCollisions = false

#Enable multithreading support for entities, requires fastCollisions to be enabled. default = true
multiEntities = false

Magma

Some people mentioned using the following mod (or really anything that accomplishes the same task) fixes the issue. However this was not verified by us and you are risking bumping into different bugs by using this, the better workaround (at least for the moment) would be to not use Magma (especially since their 1.16.5 branch has been archived). A proper fix is planned, however it is not a big priority given how other similar hybrid servers exist out there.

Last change: 2024-11-09

Roadmap

Info

This roadmap only updates around the end of the year, when a new section for the current year gets created listing all the completed points in that year.

Some points might exist in both the completed list and also in the roadmap, this means there are still more plans for that feature.

Roadmap for 2024 in no particular order. Contains the unfinished points from 2023 as well

  • Official public server
  • New Devil Fruits
  • New Races and Fighting Styles (Factions too probably)
  • Public Ability API
    • ability api is technically done however its still not separated from the mod into an easy to install and use library for modders, docs are also sadly unfinished and there's some old leftover code from the old system still in use in certain places that needs to be removed, most of the progress was done in 0.10.0 but small changes started to show up since 0.9.3
  • Extended Faction systems
  • Updated Jolly Roger creator with more customization options
  • Better world exploration and more open world content
  • More goals for single player enjoyers (yes this includes more challenges as well as future undisclosed content)
  • Even more NPCs both bosses and open world ones
  • More clothes and weapons added as new bosses will be added (as drops from said bosses)
  • Further support for popular shared libraries / apis (not mandatory but heavily depending on user interest)
  • More random small improvements that nobody asked for but are going to be made anyway
  • 1.20.1 port (maybe further ports too if time allows and there's enough interest for it)
    • Improved visuals

2023

Finished

  • Improving and/or reworking current Devil Fruits
    • Major improvements for abilities in general got done in 0.9.0, 0.9.4 and 0.10.0 updates
  • Combat Rework
    • Full haki list of abilities as well as improved way abilities get imbued and buffed by haki in 0.9.0
    • Better classification for ability types to be affected by buffs or debuffs in 0.9.3 and continued til 0.9.4 based on haki affinity, element and type
    • Better grabs and blocking logic in 0.9.5
    • Rewritten ability api for more flexibility in how abilities are designed in 0.10.0
  • Improved Challenges system
    • A complete rewrite was done in 0.10.0
  • More NPCs, bosses, animals, trash mobs, all of em
    • More open world NPCs, mostly animals, got added in 0.10.0, where most of the AIs for all current NPCs got rewritten and improved.
    • Also in 0.10.0 bosses got added as part of the challenges system
  • Support for popular shared libraries / apis (cloth config, geckolib etc)
    • Support for Cloth Config got added in 0.9.2
    • Support for Configured got added in 0.10.0
  • More clothing options
  • More config options
    • 0.9.0 and 0.9.5 but minor config improvements were done in pretty much all updates except 0.9.3
  • Obviously fixing bugs and improving performance further
    • Ongoing process that happens for every update, some major performance improvements got made in 0.9.3 and 0.10.0

Unfinished

  • Official public server
  • New Devil Fruits
  • New Races and Fighting Styles (Factions too probably)
  • Improved visuals for Zoans / Minks
  • Public Ability API
  • Extended Faction systems
Last change: 2024-11-09

Resourcepacks

Resourcepacks are purely client sided, and it only affects client related aspects, such as item/block models, translations or textures. A resourcepack cannot affect server specific aspects such as loot tables, tags or advancements.

Warning

This is not a full featured resourcepack tutorial and basic datapack knowledge, such as file, pack or id formats, are assumed.

Info

For more info regarding resourcepacks you can read Minecraft Wiki's page about them.

Minecraft Wiki also has a wonderful and easy to follow tutorial on how to setup and build a resourcepack which you can find here. With the very important mention that Minecraft 1.16.5 has a pack_format of 6.

Tip

It is highly recommended to use a proper text editor such as Notepad++ (Windows only), VSCodium (Windows, Linux and Mac) or something similar in order to have an easier time when editing and formatting json files.

Note that Window's default Notepad is not "something similar".

Table of Contents

Last change: 2024-05-25

Translations

Translations (other than English) are entirely community made and community maintained! Due to this and the mod being quite old some of these translations might not be up to date with the newer versions.

For a full list of people who've helped with translations please check:

https://pixelatedw.xyz/mine-mine-no-mi/credits

Mod is currently translated (fully or partially1) in the following languages:

This list is ordered based on the last update a file has received (top to bottom).

1

The way translations work is pretty subjective, most translations do not include fruit/ability names

How to translate

All these files are found inside the mod as plain text files, however due to optimizations they are not exactly human readable, so all language files can easily be downloaded from above as JSON files. Only the entries on the right need to be translated.

%s is a special string that must not be translated, it is a placeholder for another string (such as a name).

A text editor with support for text highlighting such as Notepad++ or VSCodium is recommended as it can make life easier noticing errors (such as misplaced commas or quotation marks).

You can use these language files as part of resource packs as well (especially useful in case you want to replace the en_us file). An example of this can be found with the official dub pack which you can find here https://forum.pixelatedw.xyz/d/83-mine-mine-no-mi-dub-pack

Last change: 2024-06-08

Datapacks

Datapacks are purely server sided, a server own needs only add it to their server's datapacks folder and every player will use it. A datapack cannot affect client specific aspects such as item/block models, translations or textures.

Warning

This is not a full featured datapacks tutorial and basic datapack knowledge, such as file, pack or id formats, are assumed. These docs are meant to serve as a helping hand for datapack devs and what capabilities they can make use of when creating datapacks for Mine Mine no Mi.

Info

Since Mine Mine no Mi uses a fair chunk of datapack features added by the base game (such as tags or loot tables) you can also read the Minecraft Wiki's page about datapacks for more info on how they work.

Minecraft Wiki also has a wonderful and easy to follow tutorial on how to setup and build a datapack which you can find here. With the very important mention that Minecraft 1.16.5 has a pack_format of 6.

Tip

It is highly recommended to use a proper text editor such as Notepad++ (Windows only), VSCodium (Windows, Linux and Mac) or something similar in order to have an easier time when editing and formatting json files.

Note that Window's default Notepad is not "something similar".

Table of Contents

Last change: 2024-09-22

Tags

Tags are json files representing a list of ids or other tags, such as item ids or block ids.

Item Tags

TagDescription
mineminenomi:kairosekiIdentifies items made out of Kairoseki (It does NOT include items coated with Kairoseki (enchanted) or where the majority of the item is not Kairoseki such as the Jitte)
mineminenomi:magneticIdentifies magnetic items affected by Jiki Jiki no Mi's abilities
mineminenomi:rustyIdentifies items that can rust, used for Sabi Sabi no Mi's abilities
mineminenomi:parameciaIdentifies paramecia-type devil fruits
mineminenomi:logiaIdentifies logia-type devil fruits
mineminenomi:zoanIdentifies zoan-type devil fruits
mineminenomi:devil_fruitIdentifies devil fruits, it contains all entries that mineminenomi:paramecia mineminenomi:logia and mineminenomi:zoan do.
mineminenomi:supreme_gradeUsed to identify supreme grade blades
mineminenomi:great_gradeUsed to identify great grade blades
mineminenomi:fruit_reincarnationUsed to identify items that Devil Fruits can get reincarnated into (more info here)

Block Tags

TagDescription
mineminenomi:kairosekiIdentifies blocks made out of Kairoseki
mineminenomi:rustyIdentifies blocks that can rust, used for Sabi Sabi no Mi's abilities

Entity Tags

TagDescription
mineminenomi:magneticIdentifies entities that are magnetic enough to be affected by Jiki Jiki no Mi's abilities
Last change: 2024-10-24

Mapped Tags

Info

Mapped Tags are added by the mod itself and are not part of the vanilla datapack spec.

If tags are json files representing a list then mapped tags are a map representing key: value pairs where the key is the entry's id and the value is a numeric value.

Item Tags

TagDescription
mineminenomi:iron_valuesContains all the iron-based items and blocks and their values, used by Jiki Jiki no Mi's abilities
mineminenomi:conductive_valuesContains weapons and their conductivity values, used when calculating damage increases/decreases when interacting with Lighting elements

Entity Tags

TagDescription
mineminenomi:conductive_valuesContains entities and their conductivity values, used when calculating how much damage increases against Lighting elements
Last change: 2024-05-25

Loot Tables

Loot Tables are complex objects that determine how loot is handled in Minecraft.

Categories

There are 5 major categories of Loot Tables in Mine Mine no Mi:

  • blocks, loot obtained when breaking or mining blocks, usually the block itself
  • chests, loot contained within chests or other containers when opening them
    • Every structure has their own subcategory here, for example pirate_small_ship. Each json file stored under these categories corresponds to a physical chest found in that structure, meaning that if pirate_small_ship has 2 files it has 2 physical chests where loot can spawn.
  • dfboxes, fruits found within akuma no mi boxes when opening them
  • entities, loot dropped when killing an entity
    • trader, is a subcategory where loot tables for items sold by traders are located, these are not the drops of the traders themselves which are found in the parent folder of entities instead.
  • rewards, loot obtained when finishing a challenge

dfboxes loot tables can contain any item besides a devil fruit. It is left to the datapack creator's discression if adding non devil fruit items as part of the loot is intended or not. By default they will always only contain devil fruits.

All 5 loot table categories work the same exact way and have the same exact format, however they might have unique functions or conditions that only apply to those specific cases, for example rewards makes heavy use of the mineminenomi:first_completion condition for loot to only be given when the challenge is completed for the first time.

For more advanced Loot Tables consider adding Functions and Conditions to make your loot more customized or dynamic.

Modifying a Loot Table

To put it simply, by using datapacks you cannot append new pools to a loot table, instead the whole file is replaced.

Tip

If you are looking into appending new pools into an already existing loot table, be it from Minecraft or Mine Mine no Mi look into the LootTableLoadEvent event from Forge.

Loot Context

Certain functions or conditions require parameters passed when the loot gets constructed, some examples of these parameters might be "the player who opened the chest", "the challenge for which this loot is generated", "the entity who killed this entity" and more.

These parameters are passed via code, so they have nothing to do with datapacks and cannot be added via datapacks, however it is worth being aware of them as functions and conditions cannot work without these parameters being passed correctly. Using a function or condition randomly outside the context it was intended to be used can lead to either non-functional loot tables or (at worst) a crash.

Mine Mine no Mi adds only one context parameter for mineminenomi:completed_challenge, used for challenge rewards and is passed as the challenge that just got finished and for which the loot gets generated.

For more info check on each individual function or condition you wish to make use of outside its intended context.

Info

For vanilla contexts you can check Minecraft Wiki's page on it.

Tree structure

Below you can find the entire tree of the /data/mineminenomi folder, showcasing all the available loot tables in the mod which datapacks might replace.

Danger

TODO This tree is still heavily work in progress until 0.10.0 fully releases.

.
├── blocks
│   ├── axe_dial.json
│   ├── breath_dial.json
│   ├── cannon.json
│   ├── den_den_mushi.json
│   ├── design_barrel.json
│   ├── eisen_dial.json
│   ├── flag.json
│   ├── flame_dial.json
│   ├── flash_dial.json
│   ├── impact_dial.json
│   ├── inject
│   │   └── brain_coral_block.json
│   ├── kairoseki_bars.json
│   ├── kairoseki_block.json
│   ├── kairoseki_ore.json
│   ├── milky_dial.json
│   ├── reject_dial.json
│   ├── sky_block.json
│   └── wanted_poster.json
├── chests
│   ├── bandit_camp
│   │   ├── large_tent.json
│   │   └── small_tent.json
│   ├── bandit_large_base
│   │   ├── dorm.json
│   │   ├── food.json
│   │   ├── secret_stash.json
│   │   ├── tent.json
│   │   └── tower.json
│   ├── bandit_small_base
│   │   ├── gold.json
│   │   ├── lab.json
│   │   ├── mine.json
│   │   └── ores.json
│   ├── ghost_ship
│   │   ├── captain.json
│   │   └── supplies.json
│   ├── marine_battleship
│   │   ├── captain.json
│   │   └── supplies.json
│   ├── marine_camp
│   │   ├── large_tent.json
│   │   └── small_tent.json
│   ├── marine_large_base
│   │   ├── captain.json
│   │   ├── food.json
│   │   ├── generic.json
│   │   └── lab.json
│   ├── marine_small_base
│   │   ├── captain.json
│   │   ├── dorm.json
│   │   └── supplies.json
│   ├── pirate_large_ship
│   │   ├── captain.json
│   │   ├── supplies.json
│   │   ├── treasure.json
│   │   └── weapons.json
│   ├── pirate_medium_ship
│   │   ├── captain.json
│   │   ├── food.json
│   │   └── supplies.json
│   └── pirate_small_ship
│       └── supplies.json
├── dfboxes
│   ├── golden_box.json
│   ├── iron_box.json
│   └── wooden_box.json
├── entities
│   ├── bandit_brute.json
│   ├── bandit_captain.json
│   ├── bandit_grunt.json
│   ├── bandit_sniper.json
│   ├── big_duck.json
│   ├── blagori.json
│   ├── blugori.json
│   ├── boxing_dugong.json
│   ├── den_den_mushi.json
│   ├── kung_fu_dugong.json
│   ├── lapahn.json
│   ├── marine_brute.json
│   ├── marine_captain.json
│   ├── marine_grunt.json
│   ├── marine_sniper.json
│   ├── marine_trader.json
│   ├── pirate_bomber.json
│   ├── pirate_brute.json
│   ├── pirate_captain.json
│   ├── pirate_grunt.json
│   ├── pirate_sniper.json
│   ├── pirate_trader.json
│   ├── sea_cow.json
│   ├── trader
│   │   ├── marine_trader.json
│   │   ├── pirate_trader.json
│   │   └── skypiean_trader.json
│   ├── white_walkie.json
│   ├── wrestling_dugong.json
│   └── yagara_bull.json
└── rewards
    ├── arlong_hard.json
    └── arlong.json
Last change: 2024-08-14

Functions

Loot Functions (sometimes referred as Item Modifiers) are small self contained bits of logic that can change the data of the item generated (such as changing its NBT) or that of affecting parameters (such as the player opening the chest or player completing the challenge).

Info

For a list of vanilla functions please check this Minecraft Wiki page.

Mine Mine no Mi functions makes use of Number Providers which you should be familiar with before reading further.

Keep in mind the above links display all functions available in current day Minecraft, however in our case we can only make use of functions available in 1.16.5 or before.

Info

The mineminenomi namespace is omitted from below for readability, assume all functions have mineminenomi: as a prefix.

Info

If a function does not have any parameters below that simply means it has none, simply calling it as a function will be enough to trigger it.

Definitions and examples

Last change: 2024-09-22

set_price

Used for trader loot, sets the price NBT of the item stack to determine an item's price.

Format

set_price
└─ price_range - Number provider

Context

Context Sensitive

By default the NBT tag given to items is only usable by trader npcs and their shops.

Example

{
    "functions": [
        {
            "function": "mineminenomi:set_price",
            "price_range": {
                "min": 10.0,
                "max": 50.0,
                "type": "minecraft:uniform"
            }
        }
    ]
}
Last change: 2024-08-13

infinite_stock

Used for trader loot, sets the item as having infinite stock (used for bullets for example).

Format

infinite_stock

Context

Context Sensitive

By default the NBT tag given to items is only usable by trader npcs and their shops.

Example

{
    "functions": [
        {
	        "function": "mineminenomi:infinite_stock",
        }
    ]
}
Last change: 2024-08-13

set_belly_in_pouch

Used to spawn belly pouches with belly in them.

Format

set_belly_in_pouch
└─ belly_range - Number provider

Context

Context Sensitive

Works for any type of item however by default only mineminenomi:belly_pouch items can redeem belly within them.

Example

{
    "functions": [
        {
            "function": "mineminenomi:set_belly_in_pouch",
            "belly_range": {
                "min": 10.0,
                "max": 50.0,
                "type": "minecraft:uniform"
	        }
        }
    ]
}
Last change: 2024-08-13

fruit_clue

Used to spawn a fruit clue giving it a randomized fruit and one or more details about it.

Format

fruit_clue

Context

Context Sensitive

Works for any type of item however by default only minecraft:paper items can be redeemed as clues.

Example

{
    "functions": [
        {
	        "function": "mineminenomi:fruit_clue",
        }
    ]
}
Last change: 2024-08-13

encyclopedia_completion

Used to spawn a devil fruit encyclopedia with a randomized number of fruits of various completion rates already in it.

Format

encyclopedia_completion

Context

Context Sensitive

Works for any type of item however by default only mineminenomi:devil_fruit_encyclopedia can make use of the randomized fruit entries it receives.

Example

{
    "functions": [
        {
	        "function": "mineminenomi:encyclopedia_completion",
        }
    ]
}
Last change: 2024-08-13

set_marine_color

Used to set the color of dyeable clothes to that of the Marines (#0084BC to be more specific)

Format

set_marine_color

Example

{
    "functions": [
        {
	        "function": "mineminenomi:set_marine_color",
        }
    ]
}
Last change: 2024-08-13

increase_doriki

Used to increase the player's doriki

Format

increase_doriki
├─ amount - Integer
└─ source - Source of the doriki, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the doriki
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained doriki

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_doriki",
            "amount": 200,
            "source": "NATURAL"
        }
    ]
}
Last change: 2024-09-22

increase_bounty

Used to increase the player's bounty

Format

increase_bounty
├─ amount - Integer
└─ source - Source of the bounty, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the bounty
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained bounty

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_bounty",
            "amount": 20000,
            "source": "NATURAL"
        }
    ]
}
Last change: 2024-09-22

increase_belly

Used to increase the player's belly

Format

increase_belly
├─ amount - Integer
└─ source - Source of the belly, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the belly
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained belly

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_belly",
            "amount": 200,
            "source": "NATURAL"
        }
    ]
}
Last change: 2024-09-22

increase_extol

Used to increase the player's extol

Format

increase_extol
├─ amount - Integer
└─ source - Source of the extol, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the extol
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained extol

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_extol",
            "amount": 200000,
            "source": "NATURAL"
        }
    ]
}
Last change: 2024-09-22

increase_loyalty

Used to increase the player's loyalty

Format

increase_loyalty
├─ amount - Integer
└─ source - Source of the loyalty, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the loyalty
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained loyalty

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_loyalty",
            "amount": 50,
            "source": "QUEST"
        }
    ]
}
Last change: 2024-09-22

increase_hardening_exp

Used to increase the player's hardening haki experience

Format

increase_hardening_exp
├─ amount - Integer
└─ source - Source of the hardening exp, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the haki exp
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained haki exp

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_hardening_exp",
            "amount": 10,
            "source": "CHALLENGE"
        }
    ]
}
Last change: 2024-09-22

increase_observation_exp

Used to increase the player's observation haki experience

Format

increase_observation_exp
├─ amount - Integer
└─ source - Source of the observation exp, if its not present a NATURAL source is assumed

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the haki exp
Optionalmineminenomi:completed_challenge - Used purely for determining the source of the obtained haki exp

Example

{
    "functions": [
        {
            "function": "mineminenomi:increase_observation_exp",
            "amount": 10,
            "source": "CHALLENGE"
        }
    ]
}
Last change: 2024-09-22

Conditions

Loot Conditions (sometimes referred as Predicates) are checks performed before the loot gets generated in order to determine is the loot can spawn or not, as such you can think of them as fancy if statements.

Info

For a list of vanilla conditions please check this Minecraft Wiki page.

Keep in mind they display all conditions available in current day Minecraft, however in our case we can only make use of conditions available in 1.16.5 or before.

Info

The mineminenomi namespace is omitted from below for readability, assume all functions have mineminenomi: as a prefix.

Definitions and examples

Last change: 2024-08-14

randomized_fruits

Determines if the Randomized Fruits config option is enabled.

Format

randomized_fruits

Last change: 2024-08-13

first_completion

Used in challenge reward tables to determine if this was the first time the challenge using this table was completed.

Format

first_completion

Context

Context
Requiredminecraft:this_entity - Mandatory as the entity that obtains the extol
mineminenomi:completed_challenge - Mandatory to determine if it is the entity's first completion of this challenge.
Last change: 2024-08-13

Advancement Triggers

Advancement Triggers are well...triggers for advancements, they're used to make sure an advancement can be unlocked if these triggers are all met, as such you can think of them as fancy if statements.

Info

For a list of vanilla triggers please check this Minecraft Wiki page.

Keep in mind they display all conditions available in current day Minecraft, however in our case we can only make use of conditions available in 1.16.5 or before.

Info

The mineminenomi namespace is omitted from below for readability, assume all functions have mineminenomi: as a prefix.

Note

Some of these triggers were made specifically for Mine Mine no Mi and are not meant to be reused (such as the mooteorologist trigger). You can of course still reuse them if you think they fit your use case.

Definitions and examples

Last change: 2024-09-22

obtain_doriki

Checks the total amount of doriki owned by the entity. Triggers whenever the entity gains some doriki.

Format

obtain_doriki
└─ amount - Int Bound
  ├─ min - Integer
  └─ max - Integer

Example

Triggers when the entity has at between 5000 and 10000 total doriki.

{
    "trigger": "mineminenomi:obtain_doriki",
    "conditions": {
        "doriki": {
            "amount": {
                "min": 5000,
                "max": 10000
            }
        }
    }
}
Last change: 2024-09-22

obtain_belly

Checks the total amount of belly owned by the entity. Triggers whenever the entity gains some belly.

Format

obtain_belly
└─ amount - Int Bound
  ├─ min - Integer
  └─ max - Integer

Example

Triggers when the entity holds at minimum 100.000 total belly.

{
    "trigger": "mineminenomi:obtain_belly",
    "conditions": {
        "belly": {
            "amount": {
                "min": 100000
            }
        }
    }
}
Last change: 2024-09-22

obtain_bounty

Checks the total amount of bounty owned by the entity. Triggers whenever the entity gains some bounty.

Format

obtain_bounty
└─ amount - Int Bound
  ├─ min - Integer
  └─ max - Integer

Example

Triggers when the entity holds at minimum 100.000 total bounty.

{
    "trigger": "mineminenomi:obtain_bounty",
    "conditions": {
        "bounty": {
            "amount": {
                "min": 100000
            }
        }
    }
}
Last change: 2024-09-22

obtain_loyalty

Checks the total amount of loyalty owned by the entity. Triggers whenever the entity gains some loyalty.

Format

obtain_loyalty
└─ amount - Int Bound
  ├─ min - Integer
  └─ max - Integer

Example

Triggers when the entity has under 50 total loyalty.

{
    "trigger": "mineminenomi:obtain_loyalty",
    "conditions": {
        "loyalty": {
            "amount": {
                "max": 50
            }
        }
    }
}
Last change: 2024-09-22

unlock_ability

Checks the ability that got unlocked.

Format

unlock_ability
└─ ability - Ability id

Example

{
    "trigger": "mineminenomi:unlock_ability",
    "conditions": {
        "ability": "mineminenomi:hiken"
    }
}
Last change: 2024-08-14

encyclopedia_completion

Checks the completion percentage of the encyclopedia you're holding when it gets updated (such as when adding new clues to it).

Format

encyclopedia_completion
└─ completion - Float (between 0.0 and 1.0)

Example

{
    "trigger": "mineminenomi:encyclopedia_completion",
    "conditions": {
        "completion": 0.69 
    }
}
Last change: 2024-08-14

consume_devil_fruit

WIP

This trigger is currently not used and heavily WIP, as such it only supports the "consumed a fruit" case not what fruit was consued yet.

Checks the fruit the entity ate.

Format

consume_devil_fruit

Example

{
    "trigger": "mineminenomi:consume_devil_fruit"
}
Last change: 2024-08-14

mooteorologist

Checks if the Forwarn ability of Hiso Hiso no Mi was used on a cow.

Format

mooteorologist

Example

{
    "trigger": "mineminenomi:mooteorologist"
}
Last change: 2024-08-14

subtle_tweaks

Checks if an explosion happens on one of the mod's ship structures.

Format

subtle_tweaks

Example

{
    "trigger": "mineminenomi:subtle_tweaks"
}
Last change: 2024-08-14

yomi_revive

Checks if the entity got revived by Yomi Yomi no Mi's passive.

Format

yomi_revive

Example

{
    "trigger": "mineminenomi:yomi_revive"
}
Last change: 2024-08-14

unlock_challenge

Checks what challenge got unlocked.

Format

unlock_challenge
└─ challenge - Challenge id (can be omitted and will then trigger for any challenge that gets unlocked)

Example

{
    "trigger": "mineminenomi:unlock_challenge",
    "conditions": {
        "challenge": "mineminenomi:arlong"
    }
}
Last change: 2024-08-14

complete_challenge

Checks what challenge got completed.

Format

complete_challenge
└─ challenge - Challenge id

Example

{
    "trigger": "mineminenomi:complete_challenge",
    "conditions": {
        "challenge": "mineminenomi:arlong"
    }
}
Last change: 2024-08-14

Stat Sources

These are the possible sources from which a stat change might come from. They're used in functions such as the increase_* types but can be used in other areas such as advancement checks for example.

  • NATURAL - Generic, default entry
  • KILL_NPC - Killing a non player entity
  • KILL_PLAYER - Killing a player
  • QUEST - Completing a quest
  • CHALLENGE - Completing a challenge
  • COMMAND - When rewarded by a command (such as /doriki)
  • DEATH - Dying
  • STORE - Special type at the moment only used for the alcohol and Drunk effects that store received damage
Last change: 2024-09-22

Custom Box Loot

For this example we want to replace all fruits from the wood boxes with Goro Goro no Mi.

  1. In your datapack workspace you'll have the following path: /data/mineminenomi/loot_tables/dfboxes/wooden_box.json. In order to find the correct names and files that the mod does recognize you can open the mod's jar file and navigate through the /data/mineminenomi/loot_tables path.

  2. This will replace the wooden_box.json file inside the dfboxes category for the mineminenomi mod. These names must be respected fully for replacing the correct file. For example adding a wooden_boxes.json file in the same folder would do nothing, since the mod does not recognize or use such a file.

  3. The JSON might look something like this:

{
  "pools": [
    {
      "name": "mineminenomi:fruits",
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "weight": 100,
          "name": "mineminenomi:goro_goro_no_mi"
        }
      ]
    }
  ]
}

This will fully replace the wooden box's loot with only Goro Goro no Mi, since its the only entry in the pool that means it has a 100% chance of dropping. However keep in mind the drop chance of an item is equal with its weight divided by the sum of all the weights in that pool.

Last change: 2024-08-14

Adding new magnetic items

For this example we want to add sticks as a magnetic item.

Magnetic items are mostly used by Jiki Jiki no Mi for its abilities however all magnetic items are rusty items as well and those are counted for Sabi Sabi no Mi's abilities.

  1. In your datapack workspace you'll have the following path: /data/mineminenomi/tags/items/magnetic.json.

  2. Unlike loot tables tags do not replace the entire file by default, but instead append them all together. This can be problematic since if an item fails (such as being written wrongly) there's a chance most or all others won't work either.

  3. The JSON for our new magnetic.json file should look like so:

{
  "replace": false,
  "values": ["minecraft:stick"]
}

Notice the replace: false part, that is extremely important as we want it to be false so our new items are combined with the already defined ones from the mod. If you want to replace all items from this collection set this to true.

Last change: 2024-08-14

New advancement

What we want to achieve

For this example we want to create a new advancement for our custom datapack that unlocks when we unlock either Hiken or Higan of Mera Mera no Mi.

How to do it

Since this is our custom advancement and not something we want to replace from another mod we will be using our own namespace called datapackexample. So create this folder in the data folder, and inside it create a advancements/category folder structure with a test.json file at the very end.

Our project should look like this:

└── data
    └── datapackexample
        └── advancements
            └── category
                └── test.json

The category name can be whatever you want, same for test.json, the name of the file does not affect the name of the advancement however its a good practice to keep the names at least similar to avoid confusion.

Now inside our test.json file we want to actually write the logic for the advancement.

{
  "display": {
    "icon": {
      "item": "mineminenomi:mera_mera_no_mi"
    },
    "title": {
      "translate": "datapackexample:advancements.category.test.title"
    },
    "description": {
      "translate": "datapackexample:advancements.category.test.description"
    },
    "frame": "task",
    "show_toast": true,
    "announce_to_chat": true,
    "hidden": false,
    "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png"
  },
  "criteria": {
    "hiken": {
      "trigger": "mineminenomi:unlock_ability",
      "conditions": {
        "ability": "mineminenomi:hiken"
      }
    },
    "higan": {
      "trigger": "mineminenomi:unlock_ability",
      "conditions": {
        "ability": "mineminenomi:higan"
      }
    }
  },
  "requirements": [["hiken", "higan"]]
}

For Mine Mine no Mi you can also opt in to use abilities as icons instead of items by using something like this:

{
    "icon": {
        "ability": "mineminenomi:hiken",
        "item": "minecraft:paper"
    }
}

Note that we're also adding an item icon as a fallback, in case our ability gets removed or we've written it wrong or for any other reason where it cannot be loaded, it will fallback to the item's texture. This is optional but encouraged to avoid potential problems caused by future releases.

What interests us most in this is the criteria section:

{
    "hiken": {
        "trigger": "mineminenomi:unlock_ability",
        "conditions": {
            "ability": "mineminenomi:hiken"
        }
    },
    "higan": {
        "trigger": "mineminenomi:unlock_ability",
        "conditions": {
            "ability": "mineminenomi:higan"
        }
    }
}

The names of each criteria can be whatever you want, we could've named them like "unlocked_hiken" and "unlocked_higan" if we wanted to. However you do need to be careful to also edit the requirements list at the bottom with their proper names.

Translation notes

If you decide to use the above method don't forget to register the localized titles and descriptions!

If you want to be lazy and keep the datapack as a standalone file without a resourcepack you can also write titles and descriptions as:

{
    "title": {
      "translate": "Test Title"
    },
    "description": {
      "translate": "Test Description"
    }
}

Do keep in mind this is the lazy approach and not the intended way of doing things.

Testing

Now we need to test if everything works, so archive the datapack accordingly and put the zip file in a any world's datapacks folder.

Join that world and run /datapack list to see if the datapack was loaded correctly.

We can now unlock this advancement using the following command: /ability give mineminenomi:hiken

Or if you just want to easily unlock the advancement: /advancement grant @a from datapackexample:category/test

In both cases it should pop up in the right corner as well as in the advancements UI in a new category named "category" and with a Mera Mera no Mi icon.

Last change: 2024-08-14

Addons

Work in Progress

This section is still heavily work in progress.

Warning

This is NOT a full tutorial about minecraft modding or java, basic knowledge on both sides is required.

Getting Started

Abilities

Last change: 2024-08-14

Setup

Required programs

First and foremost you'll need a bunch of programs installed:

  • an IDE, Eclipse, IntelliJ or VSCodium are the most commonly used ones
    • note that for VSCodium you will most likely want to install some extensions for Java development
  • Java 8 JDK is also mandatory for development, if you don't already have an JDK installed I recommend installing Temurin
  • Forge 1.16.5 MDK, which you can download from here
    • for these docs we will be using the latest version, which at the time of writing is 36.2.42
    • important to note is that these setup files got heavily changed for 36.2.41 due to a backport from newer versions, so if you're using 36.2.40 or older the gradle files will look differently and the steps to set the project up will be slightly different

Setting up the JAVA_HOME variable

On Linux this is simply done by adding export JAVA_HOME=<path>;export PATH=$JAVA_HOME/bin:$PATH do your .bashrc/.zshrc or similar file, where <path> is the location of the JDK.

On Windows you need to:

  1. Search for "Environment Variables" and click on "Edit the system environment variables"
  2. On the bottom right corner, click on the "Environment Variables..." button
  3. Under "System variables" list click on the "New..." button
  4. The variable name needs to be JAVA_HOME (all caps), the value needs to be the path where you've installed the JDK.
  5. Click "Ok"

You can also directly set it up via the Command Prompt by running the following command setx /m JAVA_HOME "<path>" where <path> is the location of the JDK.

Warning

Be extra careful when adding new environment variables as this could potentially have negative effects on your whole desktop if done wrongly or if you delete things by mistake!

Checking if everything works so far

You can check the currently installed Java version by using the following command: java -version.

At this point you should also start your IDE of choice to see if everything works and to install additional extensions if you want/need to.

Configuring gradle

After unarchiving the MDK to your desired location we will work with 2 main files for this step:

  • build.gradle, found in the root directory of your project
  • mods.toml, found in /src/main/resources/META-INF folder.

The following are changes you need to do to add Mine Mine no Mi as a dependency and start using its code, however it is NOT a full explanation of how the entire build.gradle or mods.toml files work.

Due to this and for simplicity I've created an addon example here which you can read on or reuse as a base, especially for build.gradle and mods.toml files, do note however that you will need to still follow the below info to change the workspace's variables for your own.

build.gradle changes

For the first file, go to the runs block where you'll have a configureEach block, in it after all the default properties that come with the MDK add the following 2 lines:

property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

This will ensure the your setup won't crash on startup due to Mine Mine no Mi's mixins.

Further down there's a repositories block, under it we'll want to set up cursemaven's repository by adding the following block:

maven {
	url "https://cursemaven.com"
    content {
        includeGroup "curse.maven"
    }
}

We will be using it to setup the Mine Mine no Mi for your project.

Immediately below we'll have a dependencies block where we actually need to setup the Mine Mine no Mi as a dependency by using the following line:

implementation fg.deobf("curse.maven:mmnm-78726:5589898")

To break down the above, we're using cursemaven to pull the mod from curseforge. The mmnm-78726:5589898 id represents the Mine Mine no Mi mod

  • the mmnm string doesn't really matter, its up to you and its used for easier identification
  • 78726 is Mine Mine no Mi's project id on curse
  • 5589898 is the build id for 0.10.1 version, which we are using for this. When you want to update to a newer version of the mod you will need to change this id to the latest build released on curseforge

More info about setting these up and how to find these ids on cursemaven

mods.toml changes

The last step is in the mods.toml file, where we need to add Mine Mine no Mi as a dependency (this is technically optional however it does help with errors and ordering, so its good to do it)

At the very bottom of the file add the following block:

[[dependencies.<modid>]]
modId = "mineminenomi"
mandatory = true
versionRange = "[0.10,)"
ordering = "NONE"
side = "BOTH"

Where <modid> is your project's id set in the same file as modId.

In practical terms this will make it so if somebody installs your addon without Mine Mine no Mi, instead of a generic error they will receive the follow screen:

Helping both them, and you, in tracking the cause of their issue. The ordering parameter can also be used to define if the mod should be loaded BEFORE or AFTER your own, in most cases however this will not be need, so leave it as NONE.

Finishing the setup

Once everything is done you can run the setup gradlew tasks:

  • Eclipse: gradlew eclipse genEclipseRuns
  • IntelliJ: gradlew idea genIntellijRuns
  • VSCode/VSCodium: gradlew genVSCodeRuns

If everything built successfully then the setup is finished, open your IDE of choice and import the project in it:

  • Eclipse:

    • File -> Import
    • Select General/Existing Projects into Workspace
    • In the "Select root directory" field browse and select the new project
    • Make sure its marked under the "Projects" list
    • Finish
  • IntelliJ:

    • File -> New
    • Project from existing source...
    • Click the build.gradle
    • You can alternatively open it as a project folder with the windows extension and it should start importing it automatically.
  • VSCodium:

    • File -> Open Folder
    • Browse to where your project is located and open it

Give it a run first and see if both your mod and Mine Mine no Mi are loaded correctly and if there's no crash on startup.

Last change: 2024-08-07