Type Definitions


Repository

Description

Repository definition.

Properties
Name Type Attributes Description
type string

Repository type. Can be one of github, url or local.

repository string <optional>

When type is github this is a mandatory field. If your GitHub repository is at https://github.com/user/repository then this value should be user/repository.

path string <optional>

When type is github this is an optional field. The path under the repository where the plugins are. Default is src.

version string <optional>

When type is github this is an optional field. This is the branch, tag or commit of the repository you want to use.

url string <optional>

When type is url this is a mandatory field. The URL to your repository. Take care that your host has CORS enabled.

plugins object <optional>

When type is local this is a mandatory field. This property contains the code for plugins in a local repository.

e.g.

{
			  type: 'local',
			  plugins: {
			    'pluginName1': 'JavaScript code',
			    'pluginName2': 'JavaScript code'
			  }
			}
			
path string <optional>

When type is local this is an optional field. This property contains the path from where the local repository has been loaded.


Plugin

Description

Object containing HHM plugin name and content.

Properties
Name Type Attributes Description
name string <optional>

Plugins name. Can be overriden by the plugin itself if it defines the pluginSpec.name property.

content string

UTF-8 encoded content of the plugin.

Details
Object

PluginData

Description

Object containing information about a plugin.

Properties
Name Type Description
id number

The plugin id.

name string | number

The plugin name.

isEnabled boolean

Indicates whether the plugin is enabled or disabled.

pluginSpec object

HHM pluginSpec property.

pluginSpecOriginal object

Plugins initial pluginSpec (default values).


RoomEventArgs

Description

Event argument object that gets sent from the browser when a room event happens.

The handlerName can be one of the following: onPlayerJoin onPlayerLeave onTeamVictory onPlayerChat onTeamGoal onGameStart onGameStop onPlayerAdminChange onPlayerTeamChange onPlayerKicked onGamePause onGameUnpause onPositionsReset or onStadiumChange

See the roomObject documentation to find out what kind of arguments to expect.

Properties
Name Type Description
handlerName string

Name of the haxball room event handler function that got triggered.

args Array.<any>

Arguments that the event handler function received.

Details
Object

RepositoryData

Description

Repository data.

Properties
Name Type Attributes Description
name string

Name of the repository.

description string <optional>

Description of repository.

author string <optional>

Author of the repository.

plugins Array.<string> <optional>

Plugins that the repository contains.

config object <optional>

Configuration object for this repository. Can for example define the path of where to load the plugins.


BrowserAction

Description

Data object sent from the browser context.

Used internally to communicate with the headless browser.

Follows the flux standard action form loosely. See (https://github.com/redux-utilities/flux-standard-action).

Properties
Name Type Attributes Description
type string

The type of data identifies to the consumer the nature of the data that was sent.

payload any <optional>

The optional payload property MAY be any type of value.

error boolean <optional>

The optional error property MAY be set to true if the data represents an error.

Details
Object

File

Description

Represents a file.

Properties
Name Type Description
name string

Files name.

content string

UTF-8 encoded contents of the file.

Details
Object