Location: config/reverie/contesttypes/{type_id}.conf
Contest types define the rules, scoring, phases, and behavior of a specific kind of contest. You can create unlimited custom contest types beyond the default five categories.
/contesttype list # List all contest types
/contesttype info <type_id> # View detailed type info
/contesttype create # Open creation GUI
/contesttype edit <type_id> # Open edit GUI
/contesttype reload # Reload from config files
displayName = "Cool Contest"
description = "Show off your Pokemon's coolest moves!"
{ category = "cool", weight = 1.0, secondaryStats = ["tough"] },
{ category = "beauty", weight = 0.3 }
contestStatMultiplier = 0.1
moveSelectionTime = 20000
presentationDuration = 15000
first = [{ type = "ribbon", tier = "auto" }]
second = [{ type = "ribbon", tier = "auto" }]
third = [{ type = "ribbon", tier = "auto" }]
Field Type Default Description idString Required Unique identifier (used in commands) displayNameString Required Name shown to players descriptionString ""Description in contest browser colorString "WHITE"ChatFormatting color name (AQUA, RED, GOLD, etc.) iconString "minecraft:paper"Minecraft item ID for GUI icon enabledBoolean trueWhether this type can be used priorityInt 0Sort order (higher = listed first)
Field Type Default Description baseAppealPointsInt 30Base points before any bonuses categoryMatchBonusInt 50Maximum bonus for move-category alignment contestStatMultiplierDouble 0.1Multiplier applied to Pokemon’s contest stat maxComboMultiplierDouble 3.0Cap on combo multiplier repeatPenaltyDouble 0.5Score multiplier for repeated moves
Field Type Default Description performanceRoundsInt 4Number of appeal rounds moveSelectionTimeLong 20000Move selection timeout (ms) turnDelayLong 4000Delay between contestant turns (ms) introDurationLong 10000Introduction phase duration (ms) presentationDurationLong 15000Presentation phase duration (ms) judgingDurationLong 20000Judging/voting phase duration (ms)
Field Type Default Description maxContestantsInt 4Maximum players in this contest type minContestantsInt 2Minimum to start allowMoveRepeatsBoolean trueAllow same move twice levelMin / levelMaxInt 1 / 100Allowed Pokemon level range speciesClauseBoolean falseNo duplicate species bannedSpeciesList []Banned species IDs bannedMovesList []Banned move IDs
Field Type Default Description minContestStatTotalInt 0Minimum total contest stats to enter requiredRibbonTierInt 0Required ribbon tier (0=none, 1-4) permissionString ""Permission node required (empty = none) entryFeeInt 0Economy cost to enter
Contest types can define custom stages for more complex formats:
Stage Type Description PERFORMANCETraditional appeal rounds with move selection PRESENTATIONShowcase phase for visual scoring MINIGAMEInteractive minigame (specify minigameId) VOTINGAudience/spectator voting round INTERMISSIONBreak between stages
Hall Configuration — Halls can override contest type settings
Scoring & Formulas — How scoring fields translate to appeal math