Anti-Exploit Features
Built-in protections against XP farming
Placed Block Tracking
Players cannot gain XP from blocks they placed (enabled by default).
How It Works
- Block positions are recorded when players place blocks
- Breaking a self-placed block awards no XP
- Other players CAN still get XP from blocks you placed
- Applies to Mining, Woodcutting, Excavation
- Placements made in creative mode are not recorded at all (and earn no Building XP either: a creative placement is not announced as a place moment, so nothing reacts to it)
New in 1.6.0: one ledger, read by everything
Configuration
The knobs stay in skill-config.json, and they are read live, so /mmoconfig reload moves them without a restart.
// skill-config.json
{
"trackPlacedBlocks": true,
"placedItemExpireMinutes": 5
}trackPlacedBlocks- Enable/disable tracking (default: true)placedItemExpireMinutes- Minutes until placed items "become natural" (default 5)
A placed block is remembered until it is broken, whoever breaks it, and earns nobody credit; there is no expiry and no lenient mode. The case the old lenient setting was really for, a builder standing ore up for players to mine, is answered by the mmoskilltree.placedblocks.exempt permission: an exempt player's placements are never recorded, so players who mine them earn normally, and the builder still earns for placing. OP and creative placements are exempt already.
These knobs and the blacklist are server-owner settings only, kept in skill-config.json; no content pack can ship or override them. For the neighboring surfaces a pack can ship (bonus drops, XP maps, item requirements), see Building the zip.
Upgrading: one window of exposure
mods/mmoskilltree/placed-blocks.json is renamed to .legacy on the first start after upgrading to 1.6.0, with one notice naming the replacement, and 1.6.1 retires the library's own mods/ziggfreedcommon/placed-blocks.json the same way, since the record moved onto the chunks. Neither file is read or deleted. Blocks placed before the upgrade are forgotten once: place them again and they are remembered as usual. Two keys retire with the file, strictPlacedBlockCheck and placedBlockExpireMinutes; a skill-config.json still carrying either gets one boot notice and drops them on the next save.One action, one credit
Break, kill, craft, pickup and place are each announced once, and XP, statistics, quest progress, achievement progress and bonus drops all answer that same announcement instead of re-detecting the moment for themselves. A self-placed block pays nothing anywhere: not XP, not a statistic, not a quest step, not a bonus drop. A placement the world cancels, and a placement made in creative mode, produce no place moment at all, so neither one advances a place-block objective either. See Bonus Drops for how a self-placed block is refused there too.
Placed Item Tracking
Prevents the place-and-harvest exploit for the Harvesting skill.
How It Works
- Placed items (fruits, crops) are recorded in the same shared ledger as placed blocks
- Harvesting an item you placed awards no XP, and counts toward no objective
- Items expire after 5 minutes by default (
placedItemExpireMinutes)
Combat Entity Blacklist
Certain entities don't give combat XP to prevent farming.
Default Blacklist
Deployable- Totems, turrets, and player-deployed entitiesProjectile- Arrows and other projectiles (hardcoded)
Managing the Blacklist
A bare /mmoconfig blacklist with no arguments prints the current list. Every other verb takes its argument after a pipe, not a space, or it silently fails:
/mmoconfig blacklist # View current blacklist
/mmoconfig blacklist --args=add|Dummy # Add "Dummy" entities
/mmoconfig blacklist --args=remove|Deployable # Remove from blacklist
/mmoconfig blacklist --args=clear # Clear entire blacklistPattern Matching
Blacklist patterns use substring matching against entity archetype component names.
Creative Mode XP
XP is disabled in creative mode by default.
/mmoconfig creative --args=true # Disable XP in creative (default)
/mmoconfig creative --args=false # Enable XP in creativeCrafting Exploits
Currency conversion recipes give 0 XP:
Ingredient_Life_Essence_100_Recipe_→ 0 XPIngredient_Life_Essence_Concentrated_Recipe_→ 0 XP
Luck for Crafting
Luck bonuses are disabled for Crafting due to item duplication bugs. This may be re-enabled in a future update.
Protection Summary
| Exploit | Protection | Configurable |
|---|---|---|
| Place & break blocks | Placed block tracking | Yes |
| Place & harvest items | Placed item tracking | Yes |
| Hit deployables | Entity blacklist | Yes |
| Hit projectiles | Hardcoded block | No |
| Creative mode farming | Creative XP disable | Yes |
| Currency conversion | Zero XP recipes | Yes (via xp-maps) |
| Place then break, for a quest step | The shared ledger | Yes |