config.schema.json
1 { 2 "$id": "https://github.com/cliftontoaster-reid/cc-roulette/blob/main/docs/config.schema.json", 3 "title": "ToasterSpin Config Schema", 4 "description": "Schema for the ToasterSpin config file", 5 "type": "object", 6 "properties": { 7 "version": { 8 "type": "string", 9 "description": "The version of the config file schema using Semantic Versioning", 10 "pattern": "^\\d+\\.\\d+\\.\\d+$" 11 }, 12 "rewards": { 13 "type": "object", 14 "description": "The rewards that can be won", 15 "properties": { 16 "numeric": { 17 "type": "number", 18 "description": "The number with witch to multiply the bet to get the payout", 19 "exclusiveMinimum": 0 20 }, 21 "dozen": { 22 "type": "number", 23 "description": "The number of points awarded for winning the 1st 12, 2nd 12, and 3rd 12 options", 24 "exclusiveMinimum": 0 25 }, 26 "binary": { 27 "type": "number", 28 "description": "The number of points awarded for winning the 1-18, 19-36, EVEN, and ODD options", 29 "exclusiveMinimum": 0 30 }, 31 "colour": { 32 "type": "number", 33 "description": "The number of points awarded for winning the RED and BLACK options", 34 "exclusiveMinimum": 0 35 } 36 }, 37 "required": [ 38 "numeric", 39 "dozen", 40 "binary", 41 "colour" 42 ] 43 }, 44 "devices": { 45 "type": "object", 46 "description": "The devices that can be used to play the game", 47 "properties": { 48 "carpet": { 49 "type": "string", 50 "description": "The device that is used as carpet" 51 }, 52 "ring": { 53 "type": "string", 54 "description": "The device that is used as ring" 55 }, 56 "redstone": { 57 "type": "string", 58 "description": "The device that is used as redstone" 59 }, 60 "ivmanagers": { 61 "type": "array", 62 "description": "The devices that are used as inventory managers", 63 "items": { 64 "type": "string" 65 } 66 }, 67 "ivmanBigger": { 68 "type": "number", 69 "description": "The strength of the signal for the lowest inventory manager" 70 }, 71 "modem": { 72 "type": "string", 73 "description": "The device that is used as modem" 74 } 75 }, 76 "required": [ 77 "carpet", 78 "ring", 79 "redstone", 80 "ivmanagers", 81 "ivmanBigger", 82 "modem" 83 ] 84 }, 85 "debug": { 86 "type": "object", 87 "description": "Debugging servers", 88 "properties": { 89 "loki": { 90 "type": "string", 91 "description": "The loki server to send logs to" 92 }, 93 "tempo": { 94 "type": "string", 95 "description": "The tempo server to send traces to" 96 } 97 } 98 } 99 }, 100 "required": [ 101 "version", 102 "rewards", 103 "devices" 104 ] 105 }