Page:
ModuleJSON
Pages
Config
ContactDetails
GetiyoModuleTool
Home
ModuleAPIGameLibEndScreen
ModuleAPIGameLibRatio
ModuleApiGameLibFrameCycle
ModuleApiGameLibGameDetails
ModuleApiGameLibRuntimeStorage
ModuleApiGameLibTimeSpan
ModuleClientAPI
ModuleClientAPIFeedback
ModuleClientAPIGameLib
ModuleClientAPIGameLibController
ModuleClientAPIIntroduction
ModuleClientAPINeighbor
ModuleClientAPINeighborResults
ModuleClientAPIPrincipals
ModuleClientAPIProperty
ModuleClientAPIUser
ModuleConfigCondition
ModuleConfigProperty
ModuleConfigTrigger
ModuleDebugging
ModuleDevelopmentIntroduction
ModuleEnvironment
ModuleJSON
ModuleServerAPI
ModuleServerAPIClient
ModuleServerAPIData
ModuleServerAPIDatabase
ModuleServerAPIGameLib
ModuleServerAPIGameLibCollisionSpace
ModuleServerAPIGameLibGame
ModuleServerAPIGameLibGamePlayer
ModuleServerAPIGameLibIntroduction
ModuleServerAPIGameLibRoom
ModuleServerAPIGameLibScoreboard
ModuleServerAPIGameLibScoreboardDetails
ModuleServerAPIGameLibScoreboardState
ModuleServerAPIIntroduction
ModuleServerAPILibs
ModuleServerAPILibsWebSocketLib
ModuleServerAPILibsWebSocketLibClient
ModuleServerAPIPrincipals
ModuleServerAPIProperty
ModuleStore
ModuleTS
Prerequisites
Reporting
ServerSetup
V1ModuleStructure
V2ModuleStructure
WebSocketLibCommuncationStandard
Clone
5
ModuleJSON
Mees van der Wijk edited this page 2025-08-28 19:15:31 +02:00
Table of Contents
module.json
The module.json file serves as the central configuration file for each module in Getiyo. It contains essential metadata that informs Getiyo about the module's identity, as well as the module's properties, triggers, and conditions. The GetiyoModuleTool can automatically generate this file for you, streamlining the setup process. However, if you want to modify or add properties, triggers, or conditions, you can refer to the documentation provided below.
Structure
{
"name": "DemoModule",
"author": "Mees van der Wijk",
"category": "Widget",
"description": "Showcase the module!",
"default_reference_properties": {
"text": {
"type": "text",
"title": "Text",
"description": "The text for the demo!",
"value": "Hello world!"
},
"color": {
"type": "color",
"title": "Color",
"description": "The color of the demo.",
"value": "#f44336"
},
"style": {
"type": "select",
"title": "Style",
"description": "The style of the demo",
"value": "cool",
"allowedValues": [
{
"id": "cool",
"text": "Cool Demo"
},
{
"id": "fast",
"text": "Fast Demo"
},
{
"id": "slow",
"text": "Slow Demo"
}
]
}
},
"default_module_properties": {},
"triggers": {
"setText": {
"title": "Set text",
"description": "Set the text of the demo.",
"arguments": [
{
"type": "scenes",
"title": "In scenes",
"onlyContainingModule": true
},
{
"type": "text",
"title": "New text"
}
]
}
},
"conditions": {
"server": {
"textStop": {
"title": "Text Stop",
"description": "Will be met when the text stops."
}
},
"client": {
}
},
"default_size": {
"width": 300,
"height": 300
},
"default_location": {
"x": 100,
"y": 100
}
}
| Property | Description | Example |
|---|---|---|
| name | The module name, used internally for creating an ID. Changing this will break modules using the old name. | |
| author | The module author. | |
| category | A fitting category for the module. | |
| description | A short module description. | |
| default_reference_properties | An object with property IDs as keys and property objects as values. Reference properties are unique for each scene a module is a part of. These are also the properties you edit in the scene editor. See property for all parameters. | { property1: { property }, property2: { property } } |
| default_module_properties | An object with property IDs as keys and property objects as values. Module properties are shared for the entire module instance. See property for all parameters. | { property1: { property }, property2: { property } } |
| triggers | An object with trigger IDs as keys and trigger data as values. Triggers allow a cue list to call the server-side of a module, controlling module behavior automatically. See trigger for all parameters. | { trigger1: { trigger }, trigger1: { trigger } } |
| conditions.client | An object with condition IDs as keys and condition data as values. A condition is a way for a cue list to wait till a condition is met. These are client conditions, they can be met via the ModuleClientAPI. Because the ModuleClientAPI runs on the machines of viewers which you can not trust, Getiyo has a system that allows cue list makers to specify a minimum percentage of clients to have met the condition before continuing. The ModuleServerAPI can force a client condition. See conditions for all parameters. | { condition1: { condition }, condition2: { condition } } |
| conditions.server | An object with condition IDs as keys and condition data as values. These are server conditions, they can be met via the ModuleServerAPI. The object is the same as conditions.client. |
{ condition1: { condition }, condition2: { condition } } |
| defaultsize.width | The default width of the module. | |
| defaultsize.height | The default height of the module. | |
| defaultlocation.x | Deprecated! Default x coordinate of the module. | |
| defaultlocation.y | Deprecated! Default y coordinate of the module. |
Getting Started
Module Development
- Introduction
- V2 Module Structure
- V1 Module Structure
- Development environment/Building
- Module Config
- Module Debugging
- GetiyoModuleTool
- Bug/Feature Reporting
- Contact Details
ModuleServerAPI
ModuleServerAPI GameLib
ModuleClientAPI
ModuleApi Shared
© Vix Entertainment 2023 - © Mooren Productief 2023 - All rights reserved