ModularJobs
Guides

Anti-exploit

Place-break protection, hopper, piston, and monster-damage rules.

The idea

Some job actions can be farmed. Anti-exploit timers stop the obvious place, break, hopper, and monster tricks from paying twice.

basics

Starter exploit-config.yml is already on. You can ignore it until someone farms.

Everyday

Tune durations when a farm shows up. Most servers only touch place-break.

Advanced

Advanced — you do not need this to get started.

Hopper, piston, and monster-damage rules are extra surfaces.

Anti-farm timers and exploit protections live in exploit-config.yml. Durations apply after a player performs the protected action.

# Place→break: materials listed under placed are marked on place and
# deny break-pay while protected.
place-and-break:
  silk-touch-deny: false      # deny break-pay for protectable materials with silk-touch
  rearm-after-break: true     # re-arm protection on a location after a paid break
  protect-ore-generators: true # keep protection on stone/cobble/obsidian generators

hopper:
  prevent-smelt: false        # prevent hopper fill-up protection for smelting
  prevent-brew: false         # ... and brewing

piston:
  move-protections: true      # move protections with pushed blocks

monster-damage:
  use: false                  # optional monster damage contribution requirement
  percentage: 60              # fraction of max health players must deal (0..1 or 0..100)

wax:
  duration-seconds: 5
  materials: [ "*COPPER*" ]   # non-waxed copper-like blocks (wildcard)

placed:
  duration-seconds: 60
  materials: [ "*" ]          # "*" / ALL = every non-air block material (recommended)

dye:
  duration-seconds: 5
  entities: [ WOLF, SHEEP ]

milk:
  duration-seconds: 30
  entities: [ COW, GOAT, MOOSHROOM ]

strip:
  duration-seconds: 5
  materials: [ "*_LOG", "*_STEM", "*_WOOD", "*_HYPHAE" ]

Payment eligibility

config.yml controls when job actions pay at all:

pay-in-creative: true
pay-while-riding: false
disabled-worlds: []          # world names (case-insensitive) where job actions never pay
kill-contribution-cutoff: 0.5 # fraction of total damage a contributor must deal for kill pay
furnace-max-distance: 25.0   # max distance (blocks) from furnace for smelt/bake attribution
  • Multi-damage kills pay each qualifying contributor above the cutoff.
  • disabled-worlds also gates job joining when progression-limits.world-join-restriction is true.

Interaction gates moved to Azoth

Gathering gates (block breaking, fishing, log stripping, mature plant harvesting) are no longer enforced or configured by ModularJobs. Install and configure the optional Azoth plugin for world-interaction enforcement; cancelled gathering events receive no progression or payment.

On this page