{"id":16215858,"url":"https://github.com/98teg/jsonconfigfile","last_synced_at":"2025-03-19T10:30:27.297Z","repository":{"id":49650323,"uuid":"292209873","full_name":"98teg/JSONConfigFile","owner":"98teg","description":"JSON Configuration File is a plugin for Godot that aims to aid reading user input via a JSON file.","archived":false,"fork":false,"pushed_at":"2023-06-10T10:45:25.000Z","size":2055,"stargazers_count":43,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T17:50:49.374Z","etag":null,"topics":["gdscript","godot-engine","json","json-parsing"],"latest_commit_sha":null,"homepage":"","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/98teg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-02T07:23:22.000Z","updated_at":"2025-02-27T21:51:54.000Z","dependencies_parsed_at":"2024-10-27T20:30:20.936Z","dependency_job_id":"29efbfc2-2224-4fdf-904b-cbf008b74775","html_url":"https://github.com/98teg/JSONConfigFile","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/98teg%2FJSONConfigFile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/98teg%2FJSONConfigFile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/98teg%2FJSONConfigFile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/98teg%2FJSONConfigFile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/98teg","download_url":"https://codeload.github.com/98teg/JSONConfigFile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243982177,"owners_count":20378604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gdscript","godot-engine","json","json-parsing"],"created_at":"2024-10-10T11:16:47.980Z","updated_at":"2025-03-19T10:30:26.848Z","avatar_url":"https://github.com/98teg.png","language":"GDScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![JSON Configuration File Banner](./doc/images/json_configuration_file_banner.png)\n\n# JSON Configuration File\n\nJSON Configuration File is a plugin for Godot that aims to aid reading user input via a JSON file. Using a JSON file as a way to configure your Godot application would allow your users to share configuration files. Minecraft is a remarkable example that uses JSON files to configure certain aspects of the game, such as block models.\n\nThe definition of JSON Schemas inspired this plugin. However, instead of using a JSON file to define the structure of a JSON, it takes a coding approach. This approach has the advantage of allowing more features.\n\n## Code example\n\nWhen using this plugin, you would be able to set up a configuration file with code like this:\n![Code example](./doc/images/code_example.png)\nThis code would verify that this JSON file is valid:\n![Valid JSON](./doc/images/valid_json.png)\nAnd it would also detect multiple errors in this JSON file with a single validation process:\n![Incorrect JSON](./doc/images/incorrect_json.png)\nPlease, check the [documentation](./doc/README.md) to learn how to set up your own JSON configuration file.\n\n## Features\n\nThis plugin would offer you:\n- Twelve different types of properties:\n    - Booleans\n    - Real numbers\n    - Integers\n    - Percentages\n    - Strings\n    - Enums\n    - Arrays\n    - Colors\n    - Objects\n    - Files\n    - JSON Configuration Files\n    - Images\n- The ability to detect multiple errors and warnings with a single call to the validation process.\n- A representation of the errors and warnings with dictionaries to allow customization of the messages.\n- The execution of code during the validation process to transform the data or to create custom tests.\n\n## Contributing\n\nIf you want to contribute with a new kind of property or a new feature, please consider also contributing to the [documentation](./doc/README.md) or adding new tests to the [repository of tests](https://github.com/98teg/JSONConfigFileTests) for this plugin.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F98teg%2Fjsonconfigfile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F98teg%2Fjsonconfigfile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F98teg%2Fjsonconfigfile/lists"}