{"id":25059831,"url":"https://github.com/blockception/bc-minecraft-project","last_synced_at":"2025-03-31T11:14:53.305Z","repository":{"id":39093542,"uuid":"364356008","full_name":"Blockception/BC-Minecraft-Project","owner":"Blockception","description":"A Typescript library for dealing with minecraft bedrock project data","archived":false,"fork":false,"pushed_at":"2024-04-06T18:06:12.000Z","size":509,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-06T19:23:41.671Z","etag":null,"topics":["hacktoberfest","hacktoberfest2022","minecraft","project","ts","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/bc-minecraft-project","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blockception.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-05-04T18:52:35.000Z","updated_at":"2024-04-06T19:23:47.725Z","dependencies_parsed_at":"2023-01-23T20:00:20.467Z","dependency_job_id":"5d3520e3-dc6b-476d-b2e8-713629d5b001","html_url":"https://github.com/Blockception/BC-Minecraft-Project","commit_stats":{"total_commits":241,"total_committers":3,"mean_commits":80.33333333333333,"dds":"0.20331950207468885","last_synced_commit":"3e37eefdb5a413849f02f0ed31b53f5013a876c1"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blockception%2FBC-Minecraft-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blockception%2FBC-Minecraft-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blockception%2FBC-Minecraft-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blockception%2FBC-Minecraft-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blockception","download_url":"https://codeload.github.com/Blockception/BC-Minecraft-Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246458009,"owners_count":20780678,"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":["hacktoberfest","hacktoberfest2022","minecraft","project","ts","typescript"],"created_at":"2025-02-06T15:55:12.803Z","updated_at":"2025-03-31T11:14:53.270Z","avatar_url":"https://github.com/Blockception.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blockception Minecraft Project\n\n[![Npm Package \u0026 Publish](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/npm-publish.yml)\n[![Npm Test](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/npm-test.yml/badge.svg)](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/npm-test.yml)\n[![tagged-release](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/tagged-release.yml/badge.svg)](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/tagged-release.yml)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/bc-minecraft-project\"\u003e\n  \t\u003cimg alt=\"npm\" src=\"https://img.shields.io/npm/v/bc-minecraft-project\"\u003e\n\t\t\u003cimg alt=\"npm\" src=\"https://img.shields.io/npm/dt/bc-minecraft-project\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nA Typescript library for dealing with minecraft bedrock project data\n\n## Examples\n\n```ts\nlet project = MCProject.loadSync(\"some folder\");\n\n//First way of getting data\nlet tags = project.definitions.tag;\nif (tags \u0026\u0026 tags.defined.includes('target')) {\n  ...\n}\n\n//Second way of getting data\nlet tag = MCDefinition.getOrAdd(project.definitions, \"tag\");\nif (tag.defined.includes(\"target\")) {\n  ...\n}\n\n//First way of getting project attribute\nif (project.attributes.diagnose === \"true\") {\n  ...\n}\n\n//Second way of gettin project attribute\nif (MCAttributes.getOrAdd(project.attributes, \"diagnose\", \"false\") === \"true\") {\n  ...\n}\n\n```\n\n## Project Attribute\n\nThis standard will introduce 3 new file that will help with project definition, attributes, excluded/includes of folders/files and settings that deal\nwith project for minecraft bedrock.  \nThe file can be found in the root of the project. The following files will be added:\n\n- [Blockception Minecraft Project](#blockception-minecraft-project)\n  - [Examples](#examples)\n  - [Project Attribute](#project-attribute)\n    - [McAttributes](#mcattributes)\n    - [McDefinitions](#mcdefinitions)\n    - [McIgnore](#mcignore)\n  - [Contributing](#contributing)\n\n### McAttributes\n\nThe file with the name: `.mcattributes`. This file stores any of the settings or attribtues related to the project. Which uses universal determined\nkeys along each project. Each tool/program may also introduce each own set of keys, aslong as they are unique to the tool/program. Other\nprograms/tools simply ignore these keys. But when overwriting the file, must keep the old keys from other tools or programs.\n\nA wider specification can be found in [McAttributes](https://faq.blockception.dev/mcproject/mcattributes)\n\n**Example**\n\n```ini\ndiagnose=true\ndiagnose.objectives=true\ndiagnose.tags=true\ndiagnose.mcfunctions=true\n\nworld.area_used=0 0 0 1000 256 1000\n```\n\n---\n\n### McDefinitions\n\nThis file specifies anything that is included in the project, but cannot be found in the project files itself, or not easly. At the same time the user\ncan also blacklist definition through this same project.\n\nA wider specification can be found in [McDefinitions](https://faq.blockception.dev/mcproject/mcdefinitions)\n\n**Example**\n\n```ini\n## I am a comment\n\n## Tags used in the map\ntag=initialized\ntag=calculating\ntag=enemy\ntag=monster\n\n## Tags to be black listed\ntag=!Monster\n\n## Objectives used in the map\nobjective=var\nobjective=coin\nobjective=foo\n\n## Objectives blacklisted\nobjective=!Var\nobjective=!Coin\n\n## Families\nfamily=npc\n\n## Families Blacklisted\nfamily=!Npc\n\n## Entity names\nname=Steve\n\n## Entity names blacklisted\nname=!steve\n```\n\n---\n\n### McIgnore\n\nBased upon `.gitignore`. This file specifies through glob-patterns what files, folder to included/excluded from the project.\n\nA wider specification can be found in [McIgnore](https://faq.blockception.dev/mcproject/mcignore)\n\n**Example**\n\n```ini\n## This is a comment\n## this will ignore the folders/file called Template\nTemplate\n\n## This will included file/folders that are in a folder called template and have the name and extension: settings.json\n!Template/settings.json\n```\n\n---\n\n## Contributing\n\nFirst, read the [contributing guide](./CONTRIBUTING.md). fork the project, clone it and run the following commands:\n\n**Installation**\n\n```cmd\n  npm ci\n  npm update\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockception%2Fbc-minecraft-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockception%2Fbc-minecraft-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockception%2Fbc-minecraft-project/lists"}