Requirements Config ReferenceUser-focused guide for adding, editing, and removing requirement entries in plugin config files.
Scope
This page includes config behavior relevant to server owners and admins. API details are excluded.Core Requirement TypesUse these type IDs in config requirement blocks.
ITEMRequired: type, requiredItemsOptional: consumeOnComplete, exactMatch, descriptiontype: ITEM
requiredItems:
- type: DIAMOND
amount: 16
consumeOnComplete: true
exactMatch: trueCURRENCYRequired: type, currency, amountOptional: consumabletype: CURRENCY
currency: vault
amount: 5000
consumable: trueEXPERIENCE_LEVELRequired: typeOptional: requiredLevel, experienceType, consumeOnComplete, descriptiontype: EXPERIENCE_LEVEL
requiredLevel: 30
experienceType: LEVEL
consumeOnComplete: truePERMISSIONRequired: type, requiredPermissionsOptional: permissionMode, checkNegated, descriptiontype: PERMISSION
requiredPermissions:
- raindrop.rank.warrior
- raindrop.rank.guardian
permissionMode: ANYLOCATIONRequired: type, at least one of: requiredWorld | requiredRegion | requiredCoordinatesOptional: requiredDistance, descriptiontype: LOCATION
requiredWorld: world
requiredCoordinates:
x: 100.0
y: 64.0
z: -200.0
requiredDistance: 12.0PLAYTIMERequired: type, requiredPlaytimeSeconds OR worldPlaytimeRequirementsOptional: descriptiontype: PLAYTIME
requiredPlaytimeSeconds: 72000COMPOSITERequired: type, requirementsOptional: operator, minimumRequired, allowPartialProgress, descriptiontype: COMPOSITE
operator: MINIMUM
minimumRequired: 2
requirements:
- type: CURRENCY
currency: vault
amount: 2000
- type: EXPERIENCE_LEVEL
requiredLevel: 25CHOICERequired: type, choicesOptional: minimumChoicesRequired, mutuallyExclusive, allowChoiceChange, descriptiontype: CHOICE
minimumChoicesRequired: 1
choices:
- type: ITEM
requiredItems:
- type: DIAMOND_BLOCK
amount: 8
- type: CURRENCY
currency: vault
amount: 15000TIME_BASEDRequired: type, delegate, timeLimitMillisOptional: autoStart, descriptiontype: TIME_BASED
timeLimitMillis: 600000
delegate:
type: ITEM
requiredItems:
- type: BLAZE_ROD
amount: 12PLUGINRequired: type, valuesOptional: plugin, category, consumable, descriptiontype: PLUGIN
plugin: auto
category: SKILLS
values:
mining: 50
combat: 30Module-Specific Config Notes
RDQ
Supports ITEM, CURRENCY, EXPERIENCE_LEVEL, PERMISSION, LOCATION, PLAYTIME, COMPOSITE, CHOICE, and PLUGIN.
SKILLS and JOBS config sections are normalized into PLUGIN requirements.
CURRENCY sections can contain multiple currencies, but current mapping uses the first configured entry.
RDR
Store requirement sections are normalized before evaluation.
Aliases are accepted for common fields, including world -> requiredWorld and requiredType -> experienceType.
Timed aliases such as timeConstraintSeconds and timeLimitMinutes/hours/days are normalized to timeLimitMillis.
RDS
Uses the same normalized requirement map strategy as RDR for store requirements.
Shop store tiers can define PLUGIN requirement entries for skills/jobs checks.
For banking progress in store flows, non-consumable currency/item requirements are treated as checks only.
Known Config Caveats
PERMISSION map config currently ignores minimumRequired in mode handling.
CHOICE map config currently ignores maximumRequired and allowPartialProgress.
COMPOSITE map config currently ignores maximumRequired.
PLAYTIME map config infers world mode from worldPlaytimeRequirements.
TIME_BASED support in RDQ config adapters can differ by section source; validate this in your active config path.
Combined Example
requirements:
item_req:
type: ITEM
requiredItems:
- type: DIAMOND
amount: 16
consumeOnComplete: true
currency_req:
type: CURRENCY
currency: vault
amount: 2500
consumable: true
composite_req:
type: COMPOSITE
operator: MINIMUM
minimumRequired: 2
requirements:
- type: CURRENCY
currency: vault
amount: 3000
consumable: true
- type: EXPERIENCE_LEVEL
requiredLevel: 25
- type: PERMISSION
requiredPermissions:
- raindrop.guild.member
plugin_req:
type: PLUGIN
plugin: jobsreborn
category: JOBS
values:
miner: 10