Sol's MMNM Addon
An administration and gameplay addon for Mine Mine no Mi that expands Ability Protection into a more complete protected-site system.
Sol's MMNM Addon gives server owners better site-creation tools, reusable protection profiles, regenerating terrain, per-site messages and music, localized weather, spawn control, safer restoration, and fixes for several destructive-ability edge cases in base MMNM.
This mod is server-focused, but it is not server-side-only. Install the same addon version on the server and every player client. Client installation is required for the protected-site HUD, messages, music, weather rendering, and network compatibility.
Current Version and Requirements
Forge 1.20.1
- Minecraft:
1.20.1 - Forge:
47.3.0+ - Mine Mine no Mi:
0.11.4+ - Java:
17
Forge 1.16.5
- Minecraft:
1.16.5 - Forge:
36.2.39+ - Mine Mine no Mi:
0.10.11+ - Java:
8 - Optional CartAddon compatibility:
0.8.1+
Do not mix the 1.16.5 and 1.20.1 files. For multiplayer, the client and server should use the same Minecraft and addon versions.
Community and Support
Need help, want to suggest a feature, or found a bug? Join the community for previews, support, and changelogs.
What Does This Addon Improve?
Mine Mine no Mi already provides the base Ability Protection system. Sol's MMNM Addon builds on that foundation with:
- Easier commands and clearer command feedback
- Protected-site selection by label or stable list number
- WorldEdit-style rectangular cuboids with exact X, Y, and Z limits
- Reusable protection profiles
- Regenerating terrain with improved restoration reliability
- Per-site ability rules, player-building rules, entity filters, and managed spawns
- Entering and leaving title messages that work correctly with nested sites
- Per-site music playlists, including custom client resource-pack music
- Per-site clear, rain, and thunderstorm settings
- Operator boundary visualization and protected-site HUD
- Fixes for duplicate drops, entity aggro, containers, displaced blocks, and destructive abilities
- Optional debris suppression for Gekishin and Shima Yurashi
The main command is /abilityprotection. The shorter /abprotect alias performs the same actions and is used throughout this guide.
Most administration commands require permission level 3. Site names containing spaces must be placed in quotes, such as "Marine Base".
The detailed guides below are collapsed to keep this page easy to scan. Open the spoiler beneath any category to read its commands, examples, and explanations.
Quick Start: Create a Protected Site
Option 1: Normal MMNM Center-and-Size Site
Stand where the site should be centered, then run:
/abprotect new [site] [size]
Example:
/abprotect new arena 50
This keeps the traditional MMNM protected-area shape and size system.
Option 2: Exact WorldEdit-Style Cuboid
Use this for a rectangular site with exact lower and upper Y limits.
- Stand on the first corner and run:
/abprotect new pos1 [site]
- Stand on the opposite corner and run:
/abprotect new pos2
Example: if pos1 is at Y 40 and pos2 is at Y 72, the site covers only Y 40 through Y 72. Both selected corner blocks are included.
To intentionally protect the same X/Z selection through the dimension's full build height, use:
/abprotect new pos2 full_height
/abprotect new pos2 exact is also accepted, but plain pos2 already uses exact X/Y/Z bounds by default.
If pos2 fails because you changed dimensions or the name became unavailable, the pending pos1 is kept so you can correct the problem and try again.
Inspect and Visualize Sites
/abprotect list
/abprotect info [site]
/abprotect view true
/abprotect view false
/abprotect view hud_text true
/abprotect view hud_text false
listshows sites in a persistent order that survives restarts.- Most commands accept either a site label or its list number. For example,
/abprotect info 2selects site number 2. view truedisplays protected boundaries. Cuboid visualization follows the complete outer edges of the selected blocks, including one-block-wide selections.view hud_text trueenables the operator-only current-site HUD.
Other basic management commands:
/abprotect resize [site] [size]
/abprotect rename [site] [new_name]
/abprotect remove [site]
Resizing a cuboid with resize converts it back to the normal MMNM center-and-size shape.
Protection Properties
Use the following format:
/abprotect props [property] [site] [value]
| Property | What it controls |
|---|---|
block_destruction |
Whether abilities may destroy blocks in the site |
block_restoration |
Whether affected blocks are queued to regenerate |
mined_block_drops |
Whether eligible player-mined blocks use normal loot-table drops |
player_build |
Whether players may break and place blocks normally |
abilities_use |
Whether abilities may be used in the site |
entity_damage |
Whether entity-related damage and combat are allowed |
player_damage |
Whether players may receive damage |
stat_loss |
Whether MMNM stat loss is allowed |
death |
Whether death is allowed |
mob_spawns |
Whether normal mob spawning is allowed |
unconscious_time |
MMNM unconscious duration in ticks (0-1200) |
restoration_interval |
Delay between restoration batches in ticks (0-1200) |
restoration_amount |
Maximum blocks restored per batch (1-500) |
restoration_distance |
Distance around players in which restoration waits (0-1000) |
There are 20 ticks in one second. A restoration distance of 0 disables the nearby-player delay.
Example: Make Ability-Damaged Blocks Regenerate
This setup allows abilities such as destructive Hie moves to work while restoring the damaged terrain afterward:
/abprotect props abilities_use arena true
/abprotect props block_destruction arena true
/abprotect props block_restoration arena true
/abprotect props restoration_interval arena 100
/abprotect props restoration_amount arena 50
/abprotect props restoration_distance arena 0
In this example, the site restores up to 50 queued blocks per batch, with a 100-tick or approximately 5-second interval. Increase restoration_amount for faster rebuilding, or increase restoration_interval for a slower and more visible regeneration effect.
Player-Mined Block Drops
When mined_block_drops is enabled in a restorable site:
- Survival mining follows normal loot tables, tools, and enchantments.
- Creative mining does not create drops.
- Drops are produced once instead of being duplicated.
- Ability destruction remains separate from ordinary player mining.
This is useful for mines or resource areas that regenerate after players harvest them.
Per-Ability Rules
Use nogrief when an ability should still activate but should not damage protected terrain:
/abprotect nogrief add [ability] [site]
/abprotect nogrief remove [ability] [site]
/abprotect nogrief list [site]
/abprotect nogrief clear [site]
Use blacklist when an ability should not be usable in that site:
/abprotect blacklist add [ability] [site]
/abprotect blacklist remove [ability] [site]
/abprotect blacklist list [site]
/abprotect blacklist clear [site]
Command suggestions provide registered MMNM ability names. The addon also handles several ability paths that do not follow the simplest base-MMNM terrain-change flow, including Takt integration on both supported versions and Shambles integration on 1.20.1.
Reusable Protection Profiles
Profiles let staff save a standard set of protection properties and apply it to multiple sites.
/abprotect profile create [profile]
/abprotect profile list
/abprotect profile info [profile]
/abprotect profile modify [profile] [property] [value]
/abprotect profile apply [profile] [site]
/abprotect profile copy [site] [profile]
/abprotect profile remove [profile]
Profile and site references accept labels or list numbers. Profiles can store the normal protection values, restoration settings, player_build, and music playlist settings.
Site messages, entity filters, managed spawn rules, cuboid bounds, and localized weather are managed separately and are not part of a profile.
Entering and Leaving Messages
Set a title and subtitle with | between them:
/abprotect entering_message set [site] [title] | [subtitle]
Example:
/abprotect entering_message set sphinx Sphinx Island | Birthplace of Whitebeard, under Marco's watch.
The title is displayed in bold and the subtitle in italics. The same configuration automatically produces an entering message and a leaving message.
You may also edit each part separately:
/abprotect entering_message title [site] [title]
/abprotect entering_message subtitle [site] [subtitle]
/abprotect entering_message info [site]
/abprotect entering_message preview [site] entering
/abprotect entering_message preview [site] leaving
/abprotect entering_message clear [site]
Nested Sites Work Independently
The addon tracks every protected site that currently contains a player.
If a large main site contains a smaller middle site, entering middle shows only the middle entering message. Leaving middle while still standing inside main shows only the middle leaving message; it does not repeat main's entering message.
If several boundaries are crossed at once, entering messages are ordered from outermost to innermost and leaving messages from innermost to outermost.
Protected-Site Music
Each site can have a playlist containing vanilla, modded, or resource-pack sounds.
/abprotect props music add [site] [sound_id]
/abprotect props music remove [site] [sound_id]
/abprotect props music list [site]
/abprotect props music clear [site]
/abprotect props music shuffle [site] [true|false]
- A site can store up to 64 tracks.
- Tracks play in the order they were added unless shuffle is enabled.
- There is a five-second pause between tracks and before a playlist repeats.
- Music stops when the player leaves the music site or enters the active silent site.
- Playback uses Minecraft's Music volume category.
Add Custom Music from a Resource Pack
The resource pack must be enabled on every client that should hear the music. The dedicated server cannot read files from a player's local resourcepacks folder.
For a sound event named custom:ros, use this layout:
Your Resource Pack/
|- pack.mcmeta
`- assets/
`- custom/
|- sounds.json
`- sounds/
`- ros.ogg
Example assets/custom/sounds.json:
{
"ros": {
"sounds": [
{
"name": "custom:ros",
"stream": true
}
]
}
}
Then configure it with:
/abprotect props music add testworld custom:ros
For long music files, "stream": true is recommended.
The addon also accepts a direct .ogg path without a sounds.json entry. For this file:
assets/custom/sounds/music/ros.ogg
type:
/abprotect props music add testworld custom:music/ros
Do not include assets/, sounds/, or .ogg in the command. Direct-file IDs might not appear in autocomplete, but they can still be typed manually.
After enabling or changing a resource pack, reload resources and reconnect to the server so the addon's custom sound suggestions are synchronized again. If a sound works for one player but not another, verify that both players have the same resource pack enabled and that their Music volume is not muted.
Independent Per-Site Weather
Set a protected site's weather with:
/abprotect props weather_cycle [site] [default|rain|thunderstorm|no_weather]
| Mode | Result inside the protected site |
|---|---|
default |
Follows the dimension's normal weather cycle |
rain |
Keeps rain active for players in the site |
thunderstorm |
Keeps rain and the thunder weather state active for players in the site |
no_weather |
Keeps the site visually clear and suppresses positional rain checks |
The selected mode is saved, follows site renames, and is removed when the site is deleted. A player returns to the world's normal weather when leaving the site.
Does Localized Rain Affect Gameplay?
Yes, for mechanics that use Minecraft's position-aware isRainingAt(blockPos) check. Exposed positions inside rain and thunderstorm sites report rain to the server, while positions inside no_weather report no rain. This supports behavior such as rain-hydrated farmland, rain-sensitive entities, and compatible vegetation or crop-growth mods.
Localized weather does not change the entire dimension's global weather value. Mods that only check the global isRaining() or isThundering() state cannot detect different weather per site. The feature also does not create a separate localized lightning-strike simulation.
Player weather rendering follows the player's actual protected-site position. If a player stands outside and watches the site through a security-camera mod, the camera view may not render the site's rain even though farmland and other server-side positional mechanics inside the site still detect it.
Entity Spawn Blacklist and Whitelist
These rules filter entities attempting to spawn inside a site.
/abprotect props entity_blacklist add [site] [entity]
/abprotect props entity_blacklist add [site] all
/abprotect props entity_blacklist remove [site] [entity|all]
/abprotect props entity_blacklist list [site]
/abprotect props entity_blacklist clear [site]
/abprotect props entity_whitelist add [site] [entity]
/abprotect props entity_whitelist remove [site] [entity]
/abprotect props entity_whitelist list [site]
/abprotect props entity_whitelist clear [site]
Use full registry IDs such as minecraft:zombie or a modded entity ID. The whitelist takes priority over the blacklist. A common setup is to blacklist all, then whitelist only the few entities allowed to spawn.
These filters are separate from the base mob_spawns property. They provide entity-specific control instead of only enabling or disabling normal mob spawning as a whole.
Managed Protected-Site Spawns
Managed spawn rules let the addon create a chosen entity near active players in a loaded protected site. Start with a default rule:
/abprotect props entity_spawnrules defaults [site] [entity]
Default values:
- Enabled:
true - Attempt interval:
600ticks (30 seconds) - Success chance:
35% - Pack size:
1-3 - Active cap:
8 - Placement:
natural - Persistent:
true - Timed despawn:
0(disabled)
Configure a rule with:
/abprotect props entity_spawnrules enabled [site] [entity] [true|false]
/abprotect props entity_spawnrules interval [site] [entity] [ticks]
/abprotect props entity_spawnrules chance [site] [entity] [percent]
/abprotect props entity_spawnrules pack [site] [entity] [min] [max]
/abprotect props entity_spawnrules cap [site] [entity] [count]
/abprotect props entity_spawnrules placement [site] [entity] [natural|surface|water|air]
/abprotect props entity_spawnrules persistent [site] [entity] [true|false]
/abprotect props entity_spawnrules despawn_after [site] [entity] [ticks]
/abprotect props entity_spawnrules remove [site] [entity]
/abprotect props entity_spawnrules list [site]
/abprotect props entity_spawnrules clear [site]
Placement modes:
natural- general natural-style placement and a good default for ordinary land mobssurface- searches for solid ground for guards, bandits, animals, and land bosseswater- searches for valid water positions for aquatic mobs and Sea Kingsair- searches for empty air positions for flying or special entities
Managed spawning runs only where the relevant chunks are loaded and respects the site's entity blacklist and whitelist. Addon-managed mobs keep their owning site/rule identity for cap tracking, even if they move outside the original boundary. Killed or removed mobs release their cap slot.
Use persistent true for bosses, guards, and rare mobs that should resist normal despawning. Use despawn_after for addon-timed cleanup; 0 disables that timer.
Restoration and Base-MMNM Fixes
Forge 1.20.1
The 1.20.1 build includes a more extensive restoration reliability layer:
- Waterlogged and submerged protected blocks are guarded from common ability-destruction paths while ability effects may continue through the water.
- Ability-damaged blocks are snapshotted before destructive processing.
- Blocks displaced as falling entities are tracked back to their protected-site origin and cleaned when they settle outside it.
- Falling blocks and support-dependent blocks such as torches, rails, buttons, and levers are restored in a safer order.
- Restoration uses bottom-up placement and postpones blocks whose support is not ready.
- Container and block-entity data is captured so restored containers keep their stored contents instead of duplicating or losing them.
- Hanging entities such as item frames and paintings are handled during supported explosion-restoration flows.
- Duplicate coordinate entries and temporary moved/generated blocks are prevented from becoming incorrect permanent restore states.
- Takt, Shambles, block queues, explosions, and several indirect terrain-change paths receive additional protection integration.
Forge 1.16.5
The 1.16.5 build keeps MMNM 0.10.11's native restoration foundation and adds compatibility-focused safeguards:
- Improved container and block-entity snapshot restoration
- Protection against duplicate container-content drops during ability restoration
- Stable coordinate handling for restored block entities
- Improved no-grief coverage across normal and projectile ability paths
- Takt integration
- Optional CartAddon ability hooks, including supported Gura and Stella Split paths
The two Minecraft versions use different internal restoration implementations, but both include the same modern site-management features: exact cuboids, profiles, nested messages, custom music, localized weather, entity filters, managed spawns, player-building control, and improved command handling.
Entity Damage and Aggro Fix
In sites with entity_damage=false, hostile and neutral entities are prevented from continuing ordinary target-and-damage behavior through the protected rule. Entity-sourced damage is cancelled when the protected attacker/victim conditions apply. This covers vanilla mobs and modded mobs that use normal Minecraft combat hooks.
Gura Debris Controls
The common configuration file is:
config/solsmmnmaddon-common.toml
It contains separate options for suppressing launched destroyed-block debris from:
- Gekishin
- Shima Yurashi
Both debris-suppression options are enabled by default. They reduce unnecessary flying/falling block debris while leaving the main ability effect available.
Important Compatibility Notes
- Sol's MMNM Addon is an addon; Mine Mine no Mi is required.
- Install Sol's MMNM Addon on both the server and all connecting clients.
- Back up a world before changing a large number of existing sites or restoration settings.
- Custom protected-site music exists in client resource packs, so every listener needs the pack.
- Per-site rain mechanics work with position-aware weather checks; dimension-wide weather checks cannot be localized.
- Remote camera views may not render site rain when the viewing player is physically outside the site.
- CartAddon is optional and only applies to the 1.16.5 compatibility paths that are present when CartAddon is installed.
- Other mods may bypass normal Minecraft or MMNM hooks. Compatibility is strongest when they use standard damage, spawning, block-change, sound, and positional-weather APIs.
Why Use Sol's MMNM Addon?
Use this addon if your Mine Mine no Mi server needs protected towns, arenas, islands, dungeons, regenerating battlefields, controlled boss zones, atmospheric locations, or safer terrain restoration without forcing staff to rebuild every setting by hand.
It is designed to make protected sites easier for administrators to create and maintain while giving players clearer, more immersive transitions between locations.