@jsprismarine/bedrock-data 1.17.0 → 1.18.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,52 +1,63 @@
1
- # BedrockData
2
- Blobs of data generated from Minecraft: Bedrock Edition used by PocketMine-MP
3
-
4
- ## canonical_block_states.nbt
5
- This file contains an ordered list of `TAG_Compound`s (in varint NBT format) representing the pre-agreed blockstates in MCPE.
6
- The runtime ID of a state is the offset in the list that the state appears.
7
- The contents of this file are extracted from the vanilla BDS using [`pmmp/mapping`](https://github.com/pmmp/mapping).
8
-
9
- ## block_id_map.json
10
- This file contains a mapping of all block stringy IDs to legacy numeric IDs (which are still used internally, and still needed by third party developers for conversion and for items).
11
-
12
- #### Note
13
- Where a block's legacy ID is > 255, its item ID is `255 - legacyBlockId`. This means prismarine stairs = -2 and so on.
14
-
15
- ## r12_to_current_block_map.bin
16
- This file contains a list of mappings from legacy pre-1.13 blockstates to states of the current version.
17
- This data is obtained by plugging the legacy states into `BlockPalette` in the vanilla BDS using [`pmmp/mapping`](https://github.com/pmmp/mapping), and writing the resulting NBT state obtained.
18
-
19
- #### Schema
20
- The following structure is repeated until EOF. There is **no** length prefix, so you have to read to EOF to read all the mappings.
21
- | type | description |
22
- |------|-------------|
23
- | unsigned varint32 | r12 block string ID length |
24
- | byte[] | r12 block string ID |
25
- | little-endian int16 | r12 block metadata |
26
- | TAG_Compound (varint format) | current version NBT blockstate corresponding to the given r12 block |
27
-
28
- An example of how to read this file using the PocketMine-MP core library can be seen on the [stable branch](https://github.com/pmmp/PocketMine-MP/blob/41f7c07703bf3f7ef2d9504bbdbdf74257e75d12/src/pocketmine/network/mcpe/convert/RuntimeBlockMapping.php#L71-L86) or on the [master branch](https://github.com/pmmp/PocketMine-MP/blob/master/src/network/mcpe/convert/RuntimeBlockMapping.php#L74-L86).
29
-
30
- ## r16_to_current_block_map.json
31
- This file contains mappings to translate pre-1.16.100 item IDs into post-1.16.100 item IDs.
32
- It contains two structures:
33
- - `simple`: these are 1:1 replacement IDs (e.g. `carrotonastick` was renamed to `carrot_on_a_stick`)
34
- - `complex`: these are items that were previously metadata values on other items (e.g. `dye:4` is now represented by `lapis_lazuli`).
35
-
36
- ## item_id_map.json
37
- This file contains a mapping of all item stringy IDs to legacy numeric IDs.
38
-
39
- ## banner_patterns.json
40
- This file defines all the known banner pattern types and their crafting requirements.
41
-
42
- ## recipes.json
43
- This file defines all crafting-table, furnace and chemistry recipes. This includes recipes for the smoker, cartography table etc.
44
-
45
- ## creativeitems.json
46
- This file contains an ordered list of items which appear in the vanilla creative inventory with Education Edition and Experimental Gameplay enabled.
47
-
48
- ## biome_definitions.nbt
49
- This file contains a network-format NBT blob containing biome definitions obtained from `BiomeDefinitionListPacket`.
50
-
51
- ## entity_identifiers.nbt
52
- This file contains a network-format NBT blob containing entity identifier mappings obtained from `AvailableActorIdentifiersPacket`.
1
+ # BedrockData
2
+ Blobs of data generated from Minecraft: Bedrock Edition used by PocketMine-MP
3
+
4
+ ## canonical_block_states.nbt
5
+ This file contains an ordered list of `TAG_Compound`s (in varint NBT format) representing the pre-agreed blockstates in MCPE.
6
+ The runtime ID of a state is the offset in the list that the state appears.
7
+ The contents of this file are extracted from the vanilla BDS using [`pmmp/mapping`](https://github.com/pmmp/mapping).
8
+
9
+ ## block_id_map.json
10
+ This file contains a mapping of all block stringy IDs to legacy numeric IDs (which are still used internally, and still needed by third party developers for conversion and for items).
11
+
12
+ #### Note
13
+ Where a block's legacy ID is > 255, its item ID is `255 - legacyBlockId`. This means prismarine stairs = -2 and so on.
14
+
15
+ ## r12_to_current_block_map.bin
16
+ This file contains a list of mappings from legacy pre-1.13 blockstates to states of the current version.
17
+ This data is obtained by plugging the legacy states into `BlockPalette` in the vanilla BDS using [`pmmp/mapping`](https://github.com/pmmp/mapping), and writing the resulting NBT state obtained.
18
+
19
+ #### Schema
20
+ The following structure is repeated until EOF. There is **no** length prefix, so you have to read to EOF to read all the mappings.
21
+ | type | description |
22
+ |------|-------------|
23
+ | unsigned varint32 | r12 block string ID length |
24
+ | byte[] | r12 block string ID |
25
+ | little-endian int16 | r12 block metadata |
26
+ | TAG_Compound (varint format) | current version NBT blockstate corresponding to the given r12 block |
27
+
28
+ An example of how to read this file using the PocketMine-MP core library can be seen on the [stable branch](https://github.com/pmmp/PocketMine-MP/blob/41f7c07703bf3f7ef2d9504bbdbdf74257e75d12/src/pocketmine/network/mcpe/convert/RuntimeBlockMapping.php#L71-L86) or on the [master branch](https://github.com/pmmp/PocketMine-MP/blob/73592349cd29d91b03c2703107db859115a92e2d/src/network/mcpe/convert/RuntimeBlockMapping.php#L70-L80).
29
+
30
+ ## r16_to_current_block_map.json
31
+ This file contains mappings to translate pre-1.16.100 item IDs into post-1.16.100 item IDs.
32
+ It contains two structures:
33
+ - `simple`: these are 1:1 replacement IDs (e.g. `carrotonastick` was renamed to `carrot_on_a_stick`)
34
+ - `complex`: these are items that were previously metadata values on other items (e.g. `dye:4` is now represented by `lapis_lazuli`).
35
+
36
+ ## item_id_map.json
37
+ This file contains a mapping of all item stringy IDs to legacy numeric IDs.
38
+
39
+ ## banner_patterns.json
40
+ This file defines all the known banner pattern types and their crafting requirements.
41
+
42
+ ## recipes.json
43
+ This file defines all crafting-table, furnace and chemistry recipes. This includes recipes for the smoker, cartography table etc.
44
+
45
+ ## creativeitems.json
46
+ This file contains an ordered list of items which appear in the vanilla creative inventory with Education Edition and Experimental Gameplay enabled.
47
+
48
+ ## biome_definitions.nbt
49
+ This file contains a network-format NBT blob containing biome definitions obtained from `BiomeDefinitionListPacket`.
50
+
51
+ ## biome_id_map.json
52
+ This file contains a mapping of Minecraft string biome IDs to their legacy integer ID counterparts. While biome IDs aren't dynamic yet, it's expected they will become dynamic in the future.
53
+
54
+ ## entity_identifiers.nbt
55
+ This file contains a network-format NBT blob containing entity identifier mappings obtained from `AvailableActorIdentifiersPacket`.
56
+
57
+ ## level_sound_id_map.json
58
+ This file contains a mapping of string sound names to LevelSoundEvent IDs used by LevelSoundEventPacket.
59
+
60
+ Note that this file may be missing some IDs (it is generated from vanilla using [pmmp/mapping](https://github.com/pmmp/mapping), and vanilla itself is missing some mappings).
61
+
62
+ ## particle_id_map.json
63
+ This file contains a mapping of string particle names to their legacy particle IDs (used for LevelEventPacket). Generated by [pmmp/mapping](https://github.com/pmmp/mapping).