Mod Location
Mods are stored at 'C:\Users\USERNAME\Documents\My Games\Coin Catcher\Mods'.
Mod Requirements
Each mod is required to have a JSON file containing relevant mod information. File naming does not matter.
Mod Directory Example
- C:\Users\USERNAME\Documents\My Games\Coin Catcher\Mods\TestMod
- audio
- test.wav
- textures
- test.png
- level_audio.json
- level_skin.json
- audio
Mod Types
- player_skin
- level_skin
- level_music
- menu_music
- pickup
- pickup_texture_replacement
- scene_script
Pickup Ids
- copper_coin
- silver_coin
- gold_coin
- skull
- clock
- double_points
- double_speed
- shield
- gold_rush
- magnet
- star
- explosive_barrel
- homing_rocket
Mod Parameters
Base Parameters
- [Required] id - Unique identifier
- [Optional] author - Visible within the UI when shown
- [Optional] version - Visible within the UI when shown
- [Required] label - Visible within the UI when shown
- [Required] type - Determines the type of mod (Use from types above)
- [Optional] relative_script_paths - Determines the paths to each script file relative to the parent directory.
Player Skin
- [Optional] cost - Sets the point cost in the customization menu. By default, the cost is set to '0'.
- [Required] relative_texture_paths - Determines the path of each texture file relative to the parent directory.
- [Optional] frame_rate - Determines the texture animation frame rate.
- [Optional] animation_delay - Determines the animation delay
Example
{ "id": "some_id", "author": "thesilentdev", "version": 1.0, "label": "Some Label", "type": "player_skin", "relative_script_paths": [ "main.lua" ], "cost": 0, "relative_texture_paths": [ "image.png" ], "frame_rate": 5, "animation_delay": 1 }
Level Skin
- [Optional] cost - Sets the point cost in the customization menu. By default, the cost is set to '0'.
- [Required] relative_background_texture_paths - Determines the paths to each background texture files relative to the parent directory.
- [Required] relative_platform_texture_paths - Determines the paths to each platform texture files relative to the parent directory.
- [Optional] background_frame_rate - Determines the backgroundtexture animation frame rate.
- [Optional] platform_frame_rate - Determines the platform animation frame rate.
- [Required] primary_ui_color - Primary UI text color
- [Required] lower_third_ui_color - Lower third UI text color
- [Optional] animation_delay - Loop animation delay
Example
{ "id": "some_id", "author": "thesilentdev", "version": 1.0, "label": "Some Label", "type": "level_skin", "relative_script_paths": [ "main.lua" ], "cost": 0, "relative_background_texture_paths": [ "background.png" ], "relative_platform_texture_paths": [ "platform.png" ], "background_frame_rate": 5, "platform_frame_rate": 5, "primary_ui_color": "#ffffff", "lower_third_ui_color": "#ffffff", "animation_delay": 1 }
Level Music + Menu Music
- [Optional] cost - Sets the point cost in the customization menu. By default, the cost is set to '0'.
- [Required] relative_audio_path - Determines the path to the .wav audio file relative to the parent directory.
Important
Only supports .wav (PCM uncompressed) files at 8, 16, 24, and 32 bits. Any mp3 files detected will be automatically converted into a .wav file and placed in the mod folder.
Example
{ "id": "some_id", "label": "Some Label", "author": "thesilentdev", "version": 1.0, "type": "level_music", "cost": 0, "relative_audio_path": "audio.wav" }
Pickup
- [Required] relative_interact_sfx_path - Determines the path to the .wav audio file relative to the parent directory.
- [Required] relative_texture_paths - Determines the paths to each texture file relative to the parent directory.
- [Optional] point_value - Determines the point value. Default value is '1'.
- [Optional] spawn_chance - Determines the spawn chance. Default value is '70'.
- [Optional] fall_speed - Determines the fall speed. Default value is '5'.
- [Optional] flash_color - Determines the flash color when pickup is collected. Default value is 'white'.
- [Optional] interact_with_coin_magnet - Determines whether the pickup can be collected by the coin magnet. Default value is 'false'.
- [Optional] frame_rate - Determines the texture animation frame rate.
Example
{ "id": "some_id", "label": "Some Label", "author": "thesilentdev", "version": 1.0, "type": "pickup", "relative_script_paths": [ "main.lua" ], "relative_interact_sfx_path": "interact.wav", "relative_texture_paths": [ "texture.png" ], "frame_rate": 5, "point_value": 1, "spawn_chance": 70.0, "fall_speed": 5.0, "flash_color": "#ffffff", "interact_with_coin_magnet": false }
Pickup Texture Replacement
- [Required] relative_texture_paths - Determines the paths to each texture file relative to the parent directory.
- [Required] pickup_id - The in-game id of the pickup to replace
- [Optional] overlay_color - Changes the overlay color of the texture. By default, the overlay color is white.
- [Optional] frame_rate - Determines the texture animation frame rate.
Example
{ "id": "some_id", "label": "Some Label", "author": "thesilentdev", "version": 1.0, "type": "pickup", "relative_script_paths": [ "main.lua" ], "relative_texture_paths": [ "texture.png" ], "frame_rate": 5, "pickup_id": "gold_coin", "overlay_color": "#ffffff", }
Scene Script
No additional fields.
Example
{ "id": "some_id", "label": "Some Label", "author": "thesilentdev", "version": 1.0, "type": "scene_script", "relative_script_paths": [ "main.lua" ] }