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
- Bandits - 2024-12-15
- Difficulty - 2024-12-15
- Intro - 2024-12-15
- Loyalty - 2024-12-15
- Marines - 2024-12-15
- Pirates - 2024-12-15
- Priorities - 2024-12-15
- One Fruit per World - 2024-12-01
- /abilityprotection - 2024-11-29
- Incompatibilities - 2024-11-22
All Chapters
User Pages
- Commands
- Config
- Factions
- Races
- Fighting Styles
- Combat
- Doriki
- Haki
- NPCs
- Items
- Challenges
- Incompatibilities
- Priorities
Dev Pages
Commands
Commands work on both vanilla permission system and bukkit like permissions.
For permissions and their meanings please read more on their page.
All the commands will have their required level labeled on their individual page.
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:
- /ability
- /abilityprotection
- /removedf
- /doriki
- /hakiexp
- /belly
- /extol
- /pouch
- /bounty
- /issuebounty
- /getwantedposter
- /loyalty
- /quest
- /challenge
- /check_player
- /check_fruits
- /damagem
- /gorogue
/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
/abilityprotection
Permission Level: 3
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!
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 <label> <size>
- Creates a new protection of selected size at the sender's position
- /abilityprotection props <props> <label> <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 protectionsentity_damage
, allows entities to be damaged within protectionblock_restoration
, allows blocks to be restored after being exploded or replaced, mined blocks will not get restoredabilities_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 500restoration_interval
, interval, in ticks, between each restoration. Capped at 60s
- /abilityprotection list
- Lists all the protection areas with their label and positions
- Entries can be clicked in order to teleport to their positions
- /abilityprotection info <label>
- Lists all the properties of a give protection
- /abilityprotection resize <label> <size>
- Resized the given protection area with the new given size
- /abilityprotection remove <label>
- Removes the protection area with the selected label
- /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
andrestoration_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.
/removedf
Permission Level: 2
- /removedf <target>
- Removes the devil fruit and all the abilities related with it from the given target
/doriki
Permission Level: 2
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
/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
/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
/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
/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
/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
/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
/getwantedposter
Permission Level: 2
- /getwantedposter <target>
- Issues a new wanted poster for the target and gives it to the player who executed the command
/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
/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
/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
/check_player
Permission Level: 2
- /check_player <target>
- Sends a client-sided chat message for the command executor detailing the target's stats
/check_fruits
Permission Level: 3
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
/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
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!
Config
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
OS | Location |
---|---|
Windows | %appdata%/.minecraft/config1 |
Linux | ~/.minecraft/config |
macOS | ~/Library/Application Support/minecraft/config |
The %appdata% folder can be opened by pressing Windows Key + R and searching for %appdata%
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.
The following configs are some of the more important ones:
Not all config options are explained here however all config options have comments in the actual config file so please read their descriptions.
- Keep Stats after Death
- Haoshoku Haki Unlock Logic
- One Fruit per World
- Ability Fraud Checks
- Randomized Fruits
- Devil Fruits Reincarnation
- Native Busoshoku Haki
- Ability Griefing
- Haoshoku Coloring Logic
- Global Ability Protection
Keep Stats after Death
Config options that help players with keeping stats through death:
- 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%)
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!
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
- 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
"Lost" along with "Not Found" are the only states during which fruits can actually spawn in the world!
- 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
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.
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
Ability Bars
How many ability bars a user should have access to on a scale of 1 to 10 (with 2 as the default).
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
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!
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
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
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.
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.
Ability Griefing
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.
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.
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
Global Ability Protection
This page is not for a singular config option but rather all options that affect Ability Protections globally.
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
Permissions
Name: "Enable Permissions"
Type: boolean (true/false)
Category: System
Config option to enable bukkit-style string based permissions formatted like mineminenomi.category.node
.
Useful for servers that want to make use of permission mods/plugins to better control what admin features different groups have access to.
Enabling these permissions without a proper permissions mod/plugin installed will lead to these features not working as expected!
These permissions will override the vanilla permission checks for commands, and might override other checks depending on the feature, read their page in detail for notes on each of them.
Permissions
Minecraft permissions
Level | Meaning |
---|---|
1 | Player can bypass spawn protection |
2 | Gives access to some cheat commands such as /clear, /attribute, /advancement or /data, command blocks also have a permission level of 2 |
3 | Server management tier for commands such as /ban, /kick, /kill or /op |
4 | Full control over all the commands as well as some extra metrics commands, the server's console has a permission level of 4 |
Bukkit permissions
In order for these to work you must enable it in the config first you will also need a mod/plugin to handle these permissions, the gold standard nowadays being LuckPerms. There is however no native forge version of it for 1.16.5 so you'll probably need to use the bukkit/spongeforge version instead.
Do note that right now (1.16.5) any method you choose will be scuffed. For example:
- using mohist will auto generate permissions for commands in the format
mods.command.<node>
which are required for the command's functionality. Meaning you'll need to set 2 permissions for 1 comment - using spongeforge has a different effect altogether where only some commands get auto registered permissions in the
format
unknown.command.<node>
and other permissions will not get registered at all
Hopefully things will improve in future ports.
Enabling these permissions without a proper permissions mod/plugin installed will lead to these features not working as expected!
Permission | Effect | Notes |
---|---|---|
mineminenomi.command.removedf | /removedf command on any online player | - |
mineminenomi.command.removedf.self | /removedf command on self only | - |
mineminenomi.command.ability_protection | unrestricted access to /ability_protection command | - |
mineminenomi.command.check_fruits.list | /check_fruits command only to check the fruits list | - |
mineminenomi.command.check_fruits.history | /check_fruits command only to check and/or export the history | - |
mineminenomi.command.check_player | /check_player command to check another player's stats | - |
mineminenomi.command.issue_bounty | /issue_bounty command | Having this permission will bypass the requirements the command normally requires, doriki, marine rank. It will however not bypass the belly requirement for issuing the bounty! |
mineminenomi.command.ability | unrestricted access to /ability command | - |
mineminenomi.command.ability.reset_cooldown | /ability reset_cooldown command only to reset the cooldowns of any online player | - |
mineminenomi.command.belly | unrestricted access to /belly command | - |
mineminenomi.command.extol | unrestricted access to /extol command | - |
mineminenomi.command.bounty | unrestricted access to /bounty command | - |
mineminenomi.command.doriki | unrestricted access to /doriki command | - |
mineminenomi.command.hakiexp | unrestricted access to /hakiexp command | - |
mineminenomi.command.loyalty | unrestricted access to /loyalty command | - |
mineminenomi.command.quest | unrestricted access to /quest command | - |
mineminenomi.command.challenge | unrestricted access to /challenge command | - |
mineminenomi.item.buster_call | allows the initiation of a buster call | Having this permission will bypass the Admiral rank or above requirement to start the buster call! |
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
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.
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.
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.
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.
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.
Stopping the day/night cycle using /gamerule doDaylightCycle false will break this functionality as well!
Losing Loyalty
Loyalty can also be lost, right now there are only ways to lose it, either by stealing items from structures of your faction, or by killing other members of your faction (NPC or Player).
When your loyalty goes under a certain threshold you will be branded a pirate.
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
- Can use the
- 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
Marines
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
Pirate
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
Crews
How to create a crew
- 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
- Shift + Right Click the Sake Bottle to create thecrew and give it a name
- 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
Bounty Hunter
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
Revolutionaries
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
Bandit
The Bandit faction is currently only available for NPCs.
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!
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
Human
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)
Fishman
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)
Cyborg
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)
Mink
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)
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
Swordsman
Swordsmen can learn their abilities from Dojo Senseis which can either spawn around the world or in their Dojo structures.
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
Sniper
Snipers can learn their abilities from Bow Masters which can either spawn around the world or in their Sniper Range structures.
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
Doctor
Doctors can learn their abilities from the Doctors NPCs which can either spawn around the world or in their Medic Tent structures.
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
Art of Weather
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.
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
Black Leg
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.
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
Brawler
Brawlers can learn their abilities from the Brawler NPCs which can either spawn around the world or in their Boxing Ring structures.
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
Combat
Combat Chapters
Blocking
Blocks
There are 3 major ways to block incoming damage as of right now.
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.
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
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.
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
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
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
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
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 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
Currently used for all projectiles but with no functionality for the moment.
Haki
Hardening
Used to denote abilities buffed by hardening haki abilities. Damage bonus is calculated based on the user's haki experience and doriki stats.
Imbuing
Used to denote abilities buffed by imbuing haki abilities. Damage bonus is calculated based on the user's haki experience and doriki stats.
Special
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
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
Light
Lightning
Used by Gomu Gomu no Mi for its lightning immunity
Magma
Shockwave
Cannot be negated by any Logia Invulnerability
Water
Cannot be negated by Suna Suna no Mi's invulnerability
Ice
Rubber
Cannot be negated by Goro Goro no Mi's invulnerability
Explosion
Wax
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
Rust
Smoke
Metal
Will be negated by Sabi Sabi no Mi's Rust Skin when its active
Air
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:
- handcuffed
- caught in a net
- when unable to move (such as devil fruit users in water)
- or simply knocked out
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.
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.
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.
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.
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.
NPCs
The following NPC categories can be found in the mod
Marines
The marines are a large organization under the World Government tasked with protecting civilians and dealing with law enforcement.
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 with busoshoku haki unlocked
-
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
Pirates
Pirate is labeled any person who takes up the jolly roger and goes to sea in search of One Piece.
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 with busoshoku haki unlocked
-
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
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 with busoshoku haki unlocked
-
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
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):
- Range (Sniper Trainer):
- Doctor Tent (Doctor Trainer):
- Boxing Ring (Brawler Trainer):
- Bistro (Black Leg Trainer):
- Sky Island(s) (Art of Weather Trainer):
(Yes Weather Wizards can spawn in 2 out of 3 sky island variations)
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.
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
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
Type: Neutral
Food: Meat and Kelp
Biomes: Near oceans and rivers
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
Type: Neutral
Food: Meat and Kelp
Biomes: Near oceans and rivers
Notes: Can use a number of grab type brawler abilities
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
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.
Yagara Bulls
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.
White Walkies
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.
Bananawanis
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.
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.
Lapahns
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.
Humandrills
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.
Gorillas
Gorillas come in 2 varieties: Blugori and Blagori.
Blugori
Type: Aggressive
Biomes: Cold forests
Notes: Have a really high targetting range and are extremely aggressive will attack using jumps and pounces.
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.
Fighting Fish
Type: Aggressive
Biomes: Oceans (except frozen ones)
Notes: Extremely aggressive fishes, will attack boats and yagara bulls.
Panda Shark
Type: Neutral
Biomes: Oceans (except frozen ones)
Notes: Will attack fishes around it for food but otherwise is harmless unless provoked.
Sea Cows
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.
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.
Breeding
Animals that can be bread are the following:
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
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.
With the exception of Wandering and Legendary Master variations.
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.
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 will use 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.
Items
Some of the more important item categories found in the mod are:
Recipes
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
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.
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.
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
The flash dial enchantment will blind your target when hit
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
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).
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.
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):
Handcuffs
Handcuffs are utility items used to block enemies from using their hands and/or abilities if the kairoseki variants are used.
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
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.
Nets
Nets are throwable utility items used to catch enemies.
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.
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.
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.
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
Mod | Impact | Details | Workaround |
---|---|---|---|
tombstone | (1)Fixed (2)Major | 1: 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 Colonies | Major | Crashes at specific points, this is a library mod used by Mine Colonies | - |
protocollib | Major | This 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 Essentials | Major | While 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 disappearing | Yes |
Minecraft Comes Alive | Minor | All transformations, be them zoans or otherwise are busted, issue is only visual as far as we know however | Yes |
optifine | Minor | Varies 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 | - |
obfuscate | Minor | Some animations will not play correctly | - |
offhandcombat | Fixed(?) | No crashes sighted or reported in quite a few years, could very well be fixed however this crash was never 100% reproductible so it might still randomlly happen. | - |
Headshot | Fixed | Note: The report was made on the Forge port by chronos_sacaria, NOT the fabric version. | - |
Magma | Fixed | Magma is no longer developed or even downloadable so it should no longer be used. | - |
FTBChunks | Fixed | - | |
pehkui | (1)Fixed (2)Fixed | 1: 2: | - |
Valkyriean Skies | Fixed | - | |
performant | Fixed | Yes |
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
Priorities
-
Open world content
- Improving currently existing NPCs
- More animals around the world
- Some form of open world bosses to keep players from feeling too overpowered while roaming around at late stages
- More stuff to explore and discover and generally more reasons to go adventuring
-
Progression
- More challenges
- Better faction progression for marines and revolutionaries
- More quests / trials that are not necessarily bound to progressing your fighting style
- More advancements
-
Combat
- New fruits, races and fighting styles
- Updating some of the older abilities where needed
- New animations, particle effects, sound effects etc
- Balance changes as needed
-
Customization
- More clothes and weapons
- More jolly roger elements
- More config options based on player suggestions
-
Support for addons and external mods
- More datapack features such as tags, advancement triggers, loot table functions and conditions (that match the mod's features or needs)
- Continuing work on the ability api and improving it
- Better documentation on how the ability api works and examples of it
- Further improving the mod's internal systems to allow for more systems to be opened up to addons
- More integrations with existing mods based on player feedback/needs
-
Porting to more recent versions
- Releasing and stabilising the 1.20.1 port
- Investigating future port possibilities such as for 1.20.6 and/or 1.21
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.
This is not a full featured resourcepack tutorial and basic datapack knowledge, such as file, pack or id formats, are assumed.
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.
Table of Contents
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:
- English (en_us)
- Arabic (ar_sa)
- Chinese (zh_cn)
- French (fr_fr)
- Russian (ru_ru)
- Brazilian Portuguese (pt_br)
- German (de_de)
- Spanish (es_es)
- Japanese (ja_jp)
This list is ordered based on the last update a file has received (top to bottom).
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
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.
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.
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.
Table of Contents
Tags
Tags are json files representing a list of ids or other tags, such as item ids or block ids.
Item Tags
Tag | Description |
---|---|
mineminenomi:kairoseki | Identifies 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:magnetic | Identifies magnetic items affected by Jiki Jiki no Mi's abilities |
mineminenomi:rusty | Identifies items that can rust, used for Sabi Sabi no Mi's abilities |
mineminenomi:paramecia | Identifies paramecia-type devil fruits |
mineminenomi:logia | Identifies logia-type devil fruits |
mineminenomi:zoan | Identifies zoan-type devil fruits |
mineminenomi:devil_fruit | Identifies devil fruits, it contains all entries that mineminenomi:paramecia mineminenomi:logia and mineminenomi:zoan do. |
mineminenomi:supreme_grade | Used to identify supreme grade blades |
mineminenomi:great_grade | Used to identify great grade blades |
mineminenomi:fruit_reincarnation | Used to identify items that Devil Fruits can get reincarnated into (more info here) |
Block Tags
Tag | Description |
---|---|
mineminenomi:kairoseki | Identifies blocks made out of Kairoseki |
mineminenomi:rusty | Identifies blocks that can rust, used for Sabi Sabi no Mi's abilities |
Entity Tags
Tag | Description |
---|---|
mineminenomi:magnetic | Identifies entities that are magnetic enough to be affected by Jiki Jiki no Mi's abilities |
Mapped Tags
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
Tag | Description |
---|---|
mineminenomi:iron_values | Contains all the iron-based items and blocks and their values, used by Jiki Jiki no Mi's abilities |
mineminenomi:conductive_values | Contains weapons and their conductivity values, used when calculating damage increases/decreases when interacting with Lighting elements |
Entity Tags
Tag | Description |
---|---|
mineminenomi:conductive_values | Contains entities and their conductivity values, used when calculating how much damage increases against Lighting elements |
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 itselfchests
, 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 ifpirate_small_ship
has 2 files it has 2 physical chests where loot can spawn.
- Every structure has their own subcategory here, for example
dfboxes
, fruits found within akuma no mi boxes when opening thementities
, loot dropped when killing an entitytrader
, 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 ofentities
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.
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.
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.
.
├── 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
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).
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.
The mineminenomi
namespace is omitted from below for readability, assume all functions have mineminenomi:
as a prefix.
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
- set_price
- infinite_stock
- set_belly_in_pouch
- fruit_clue
- encyclopedia_completion
- set_marine_color
- increase_doriki
- increase_bounty
- increase_belly
- increase_extol
- increase_loyalty
- increase_hardening_exp
- increase_observation_exp
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
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"
}
}
]
}
infinite_stock
Used for trader loot, sets the item as having infinite stock (used for bullets for example).
Format
infinite_stock
Context
By default the NBT tag given to items is only usable by trader npcs and their shops.
Example
{
"functions": [
{
"function": "mineminenomi:infinite_stock",
}
]
}
set_belly_in_pouch
Used to spawn belly pouches with belly in them.
Format
set_belly_in_pouch
└─ belly_range
- Number provider
Context
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"
}
}
]
}
fruit_clue
Used to spawn a fruit clue giving it a randomized fruit and one or more details about it.
Format
fruit_clue
Context
Works for any type of item however by default only minecraft:paper
items can be redeemed as clues.
Example
{
"functions": [
{
"function": "mineminenomi:fruit_clue",
}
]
}
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
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",
}
]
}
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",
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the doriki |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained doriki |
Example
{
"functions": [
{
"function": "mineminenomi:increase_doriki",
"amount": 200,
"source": "NATURAL"
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the bounty |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained bounty |
Example
{
"functions": [
{
"function": "mineminenomi:increase_bounty",
"amount": 20000,
"source": "NATURAL"
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the belly |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained belly |
Example
{
"functions": [
{
"function": "mineminenomi:increase_belly",
"amount": 200,
"source": "NATURAL"
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the extol |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained extol |
Example
{
"functions": [
{
"function": "mineminenomi:increase_extol",
"amount": 200000,
"source": "NATURAL"
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the loyalty |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained loyalty |
Example
{
"functions": [
{
"function": "mineminenomi:increase_loyalty",
"amount": 50,
"source": "QUEST"
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the haki exp |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained haki exp |
Example
{
"functions": [
{
"function": "mineminenomi:increase_hardening_exp",
"amount": 10,
"source": "CHALLENGE"
}
]
}
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 | |
---|---|
Required | minecraft:this_entity - Mandatory as the entity that obtains the haki exp |
Optional | mineminenomi:completed_challenge - Used purely for determining the source of the obtained haki exp |
Example
{
"functions": [
{
"function": "mineminenomi:increase_observation_exp",
"amount": 10,
"source": "CHALLENGE"
}
]
}
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.
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.
The mineminenomi
namespace is omitted from below for readability, assume all functions have mineminenomi:
as a prefix.
Definitions and examples
randomized_fruits
Determines if the Randomized Fruits config option is enabled.
Format
randomized_fruits
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 | |
---|---|
Required | minecraft: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. |
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.
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.
The mineminenomi
namespace is omitted from below for readability, assume all functions have mineminenomi:
as a prefix.
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
- obtain_doriki
- obtain_belly
- obtain_bounty
- obtain_loyalty
- unlock_ability
- encyclopedia_completion
- consume_devil_fruit
- mooteorologist
- subtle_tweaks
- yomi_revive
- unlock_challenge
- complete_challenge
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
}
}
}
}
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
}
}
}
}
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
}
}
}
}
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
}
}
}
}
unlock_ability
Checks the ability that got unlocked.
Format
unlock_ability
└─ ability
- Ability id
Example
{
"trigger": "mineminenomi:unlock_ability",
"conditions": {
"ability": "mineminenomi:hiken"
}
}
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
}
}
consume_devil_fruit
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"
}
mooteorologist
Checks if the Forwarn ability of Hiso Hiso no Mi was used on a cow.
Format
mooteorologist
Example
{
"trigger": "mineminenomi:mooteorologist"
}
subtle_tweaks
Checks if an explosion happens on one of the mod's ship structures.
Format
subtle_tweaks
Example
{
"trigger": "mineminenomi:subtle_tweaks"
}
yomi_revive
Checks if the entity got revived by Yomi Yomi no Mi's passive.
Format
yomi_revive
Example
{
"trigger": "mineminenomi:yomi_revive"
}
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"
}
}
complete_challenge
Checks what challenge got completed.
Format
complete_challenge
└─ challenge
- Challenge id
Example
{
"trigger": "mineminenomi:complete_challenge",
"conditions": {
"challenge": "mineminenomi:arlong"
}
}
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
Custom Box Loot
For this example we want to replace all fruits from the wood boxes with Goro Goro no Mi.
-
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. -
This will replace the
wooden_box.json
file inside thedfboxes
category for themineminenomi
mod. These names must be respected fully for replacing the correct file. For example adding awooden_boxes.json
file in the same folder would do nothing, since the mod does not recognize or use such a file. -
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.
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.
-
In your datapack workspace you'll have the following path:
/data/mineminenomi/tags/items/magnetic.json
. -
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.
-
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
.
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.
Addons
This is NOT a full tutorial about minecraft modding or java, basic knowledge on both sides is required.
Getting Started
Abilities
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:
- Search for "Environment Variables" and click on "Edit the system environment variables"
- On the bottom right corner, click on the "Environment Variables..." button
- Under "System variables" list click on the "New..." button
- The variable name needs to be JAVA_HOME (all caps), the value needs to be the path where you've installed the JDK.
- 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.
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 projectmods.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 curse5589898
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.