|
1 | 1 | # Blockception Minecraft Project |
2 | 2 |
|
3 | | -[](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/npm-publish.yml) |
4 | | -[](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/npm-test.yml) |
5 | | -[](https://github.com/Blockception/BC-Minecraft-Project/actions/workflows/tagged-release.yml) |
6 | | - |
7 | | -<p align="center"> |
8 | | - <a href="https://www.npmjs.com/package/bc-minecraft-project"> |
9 | | - <img alt="npm" src="https://img.shields.io/npm/v/bc-minecraft-project"> |
10 | | - <img alt="npm" src="https://img.shields.io/npm/dt/bc-minecraft-project"> |
11 | | - </a> |
12 | | -</p> |
13 | | - |
14 | | -A Typescript library for dealing with minecraft bedrock project data |
15 | | - |
16 | | -## Examples |
17 | | - |
18 | | -```ts |
19 | | -let project = MCProject.loadSync("some folder"); |
20 | | - |
21 | | -//First way of getting data |
22 | | -let tags = project.definitions.tag; |
23 | | -if (tags && tags.defined.includes('target')) { |
24 | | - ... |
25 | | -} |
26 | | - |
27 | | -//Second way of getting data |
28 | | -let tag = MCDefinition.getOrAdd(project.definitions, "tag"); |
29 | | -if (tag.defined.includes("target")) { |
30 | | - ... |
31 | | -} |
32 | | - |
33 | | -//First way of getting project attribute |
34 | | -if (project.attributes.diagnose === "true") { |
35 | | - ... |
36 | | -} |
37 | | - |
38 | | -//Second way of gettin project attribute |
39 | | -if (MCAttributes.getOrAdd(project.attributes, "diagnose", "false") === "true") { |
40 | | - ... |
41 | | -} |
42 | | - |
43 | | -``` |
44 | | - |
45 | | -## Project Attribute |
46 | | - |
47 | | -This standard will introduce 3 new file that will help with project definition, attributes, excluded/includes of folders/files and settings that deal |
48 | | -with project for minecraft bedrock. |
49 | | -The file can be found in the root of the project. The following files will be added: |
50 | | - |
51 | | -- [Blockception Minecraft Project](#blockception-minecraft-project) |
52 | | - - [Examples](#examples) |
53 | | - - [Project Attribute](#project-attribute) |
54 | | - - [McAttributes](#mcattributes) |
55 | | - - [McDefinitions](#mcdefinitions) |
56 | | - - [McIgnore](#mcignore) |
57 | | - - [Contributing](#contributing) |
58 | | - |
59 | | -### McAttributes |
60 | | - |
61 | | -The file with the name: `.mcattributes`. This file stores any of the settings or attribtues related to the project. Which uses universal determined |
62 | | -keys along each project. Each tool/program may also introduce each own set of keys, aslong as they are unique to the tool/program. Other |
63 | | -programs/tools simply ignore these keys. But when overwriting the file, must keep the old keys from other tools or programs. |
64 | | - |
65 | | -A wider specification can be found in [McAttributes](https://faq.blockception.dev/mcproject/mcattributes) |
66 | | - |
67 | | -**Example** |
68 | | - |
69 | | -```ini |
70 | | -diagnose=true |
71 | | -diagnose.objectives=true |
72 | | -diagnose.tags=true |
73 | | -diagnose.mcfunctions=true |
74 | | - |
75 | | -world.area_used=0 0 0 1000 256 1000 |
76 | | -``` |
77 | | - |
78 | | ---- |
79 | | - |
80 | | -### McDefinitions |
81 | | - |
82 | | -This 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 |
83 | | -can also blacklist definition through this same project. |
84 | | - |
85 | | -A wider specification can be found in [McDefinitions](https://faq.blockception.dev/mcproject/mcdefinitions) |
86 | | - |
87 | | -**Example** |
88 | | - |
89 | | -```ini |
90 | | -## I am a comment |
91 | | - |
92 | | -## Tags used in the map |
93 | | -tag=initialized |
94 | | -tag=calculating |
95 | | -tag=enemy |
96 | | -tag=monster |
97 | | - |
98 | | -## Tags to be black listed |
99 | | -tag=!Monster |
100 | | - |
101 | | -## Objectives used in the map |
102 | | -objective=var |
103 | | -objective=coin |
104 | | -objective=foo |
105 | | - |
106 | | -## Objectives blacklisted |
107 | | -objective=!Var |
108 | | -objective=!Coin |
109 | | - |
110 | | -## Families |
111 | | -family=npc |
112 | | - |
113 | | -## Families Blacklisted |
114 | | -family=!Npc |
115 | | - |
116 | | -## Entity names |
117 | | -name=Steve |
118 | | - |
119 | | -## Entity names blacklisted |
120 | | -name=!steve |
121 | | -``` |
122 | | - |
123 | | ---- |
124 | | - |
125 | | -### McIgnore |
126 | | - |
127 | | -Based upon `.gitignore`. This file specifies through glob-patterns what files, folder to included/excluded from the project. |
128 | | - |
129 | | -A wider specification can be found in [McIgnore](https://faq.blockception.dev/mcproject/mcignore) |
130 | | - |
131 | | -**Example** |
132 | | - |
133 | | -```ini |
134 | | -## This is a comment |
135 | | -## this will ignore the folders/file called Template |
136 | | -Template |
137 | | - |
138 | | -## This will included file/folders that are in a folder called template and have the name and extension: settings.json |
139 | | -!Template/settings.json |
140 | | -``` |
141 | | - |
142 | | ---- |
143 | | - |
144 | | -## Contributing |
145 | | - |
146 | | -First, read the [contributing guide](./CONTRIBUTING.md). fork the project, clone it and run the following commands: |
147 | | - |
148 | | -**Installation** |
149 | | - |
150 | | -```cmd |
151 | | - npm ci |
152 | | - npm update |
153 | | -``` |
| 3 | +> [!IMPORTANT] |
| 4 | +> This repository has been archived and if moved over to: https://github.com/Blockception/minecraft-bedrock-language-server |
0 commit comments