minecraft-data 3.95.0 → 3.96.0
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.
- package/data.js +2 -2
- package/doc/history.md +8 -0
- package/index.d.ts +115 -28
- package/minecraft-data/.github/helper-bot/index.js +43 -7
- package/minecraft-data/README.md +2 -0
- package/minecraft-data/data/bedrock/1.17.10/items.json +245 -245
- package/minecraft-data/data/bedrock/1.21.100/protocol.json +5 -2
- package/minecraft-data/data/bedrock/1.21.60/biomes.json +87 -87
- package/minecraft-data/data/bedrock/common/features.json +1 -0
- package/minecraft-data/data/bedrock/latest/proto.yml +1 -1
- package/minecraft-data/data/dataPaths.json +3 -3
- package/minecraft-data/data/pc/1.21.5/proto.yml +3388 -0
- package/minecraft-data/data/pc/1.21.5/protocol.json +48 -22
- package/minecraft-data/data/pc/1.21.6/entities.json +2843 -179
- package/minecraft-data/data/pc/1.21.6/protocol.json +10249 -0
- package/minecraft-data/data/pc/common/features.json +10 -0
- package/minecraft-data/data/pc/common/protocolVersions.json +8 -0
- package/minecraft-data/data/pc/latest/proto.yml +181 -66
- package/minecraft-data/doc/history.md +11 -0
- package/minecraft-data/schemas/biomes_schema.json +60 -3
- package/minecraft-data/schemas/enchantments_schema.json +3 -2
- package/minecraft-data/schemas/features_schema.json +65 -6
- package/minecraft-data/schemas/items_schema.json +40 -2
- package/minecraft-data/tools/js/incrementVersion.js +12 -0
- package/package.json +1 -1
package/data.js
CHANGED
|
@@ -1584,7 +1584,7 @@ module.exports =
|
|
|
1584
1584
|
get tints () { return require("./minecraft-data/data/pc/1.21.5/tints.json") },
|
|
1585
1585
|
get version () { return require("./minecraft-data/data/pc/1.21.5/version.json") },
|
|
1586
1586
|
get windows () { return require("./minecraft-data/data/pc/1.16.1/windows.json") },
|
|
1587
|
-
proto: __dirname + '/minecraft-data/data/pc/
|
|
1587
|
+
proto: __dirname + '/minecraft-data/data/pc/1.21.5/proto.yml'
|
|
1588
1588
|
},
|
|
1589
1589
|
'1.21.6': {
|
|
1590
1590
|
get attributes () { return require("./minecraft-data/data/pc/1.21.6/attributes.json") },
|
|
@@ -1605,7 +1605,7 @@ module.exports =
|
|
|
1605
1605
|
get mapIcons () { return require("./minecraft-data/data/pc/1.20.2/mapIcons.json") },
|
|
1606
1606
|
get materials () { return require("./minecraft-data/data/pc/1.21.6/materials.json") },
|
|
1607
1607
|
get particles () { return require("./minecraft-data/data/pc/1.21.6/particles.json") },
|
|
1608
|
-
get protocol () { return require("./minecraft-data/data/pc/1.21.
|
|
1608
|
+
get protocol () { return require("./minecraft-data/data/pc/1.21.6/protocol.json") },
|
|
1609
1609
|
get recipes () { return require("./minecraft-data/data/pc/1.21.6/recipes.json") },
|
|
1610
1610
|
get sounds () { return require("./minecraft-data/data/pc/1.21.6/sounds.json") },
|
|
1611
1611
|
get tints () { return require("./minecraft-data/data/pc/1.21.6/tints.json") },
|
package/doc/history.md
CHANGED
package/index.d.ts
CHANGED
|
@@ -48,13 +48,13 @@ declare namespace MinecraftData {
|
|
|
48
48
|
/**
|
|
49
49
|
* The type of precipitation: none, rain or snow [before 1.19.4]
|
|
50
50
|
*/
|
|
51
|
-
precipitation?:
|
|
51
|
+
precipitation?: "none" | "rain" | "snow";
|
|
52
52
|
/**
|
|
53
53
|
* True if a biome has any precipitation (rain or snow) [1.19.4+]
|
|
54
54
|
*/
|
|
55
55
|
has_precipitation?: boolean;
|
|
56
56
|
/**
|
|
57
|
-
* The dimension of a biome: overworld, nether or
|
|
57
|
+
* The dimension of a biome: overworld, nether, end, or the_end (bedrock)
|
|
58
58
|
*/
|
|
59
59
|
dimension: string;
|
|
60
60
|
/**
|
|
@@ -69,7 +69,73 @@ declare namespace MinecraftData {
|
|
|
69
69
|
* How much rain there is in a biome [before 1.19.4]
|
|
70
70
|
*/
|
|
71
71
|
rainfall?: number;
|
|
72
|
-
|
|
72
|
+
/**
|
|
73
|
+
* The depth/height variation of the biome terrain
|
|
74
|
+
*/
|
|
75
|
+
depth?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Climate data for the biome
|
|
78
|
+
*
|
|
79
|
+
* @minItems 1
|
|
80
|
+
*/
|
|
81
|
+
climates?: [
|
|
82
|
+
{
|
|
83
|
+
/**
|
|
84
|
+
* Climate temperature value
|
|
85
|
+
*/
|
|
86
|
+
temperature: number;
|
|
87
|
+
/**
|
|
88
|
+
* Climate humidity value
|
|
89
|
+
*/
|
|
90
|
+
humidity: number;
|
|
91
|
+
/**
|
|
92
|
+
* Climate altitude value
|
|
93
|
+
*/
|
|
94
|
+
altitude: number;
|
|
95
|
+
/**
|
|
96
|
+
* Climate weirdness value
|
|
97
|
+
*/
|
|
98
|
+
weirdness: number;
|
|
99
|
+
/**
|
|
100
|
+
* Climate offset value
|
|
101
|
+
*/
|
|
102
|
+
offset: number;
|
|
103
|
+
},
|
|
104
|
+
...{
|
|
105
|
+
/**
|
|
106
|
+
* Climate temperature value
|
|
107
|
+
*/
|
|
108
|
+
temperature: number;
|
|
109
|
+
/**
|
|
110
|
+
* Climate humidity value
|
|
111
|
+
*/
|
|
112
|
+
humidity: number;
|
|
113
|
+
/**
|
|
114
|
+
* Climate altitude value
|
|
115
|
+
*/
|
|
116
|
+
altitude: number;
|
|
117
|
+
/**
|
|
118
|
+
* Climate weirdness value
|
|
119
|
+
*/
|
|
120
|
+
weirdness: number;
|
|
121
|
+
/**
|
|
122
|
+
* Climate offset value
|
|
123
|
+
*/
|
|
124
|
+
offset: number;
|
|
125
|
+
}[]
|
|
126
|
+
];
|
|
127
|
+
/**
|
|
128
|
+
* Legacy name of the biome used in older versions
|
|
129
|
+
*/
|
|
130
|
+
name_legacy?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Parent biome name for variant biomes
|
|
133
|
+
*/
|
|
134
|
+
parent?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Child biome ID for variant biomes
|
|
137
|
+
*/
|
|
138
|
+
child?: number;
|
|
73
139
|
}
|
|
74
140
|
|
|
75
141
|
|
|
@@ -414,7 +480,6 @@ declare namespace MinecraftData {
|
|
|
414
480
|
* Can this enchantment be discovered
|
|
415
481
|
*/
|
|
416
482
|
discoverable: boolean;
|
|
417
|
-
[k: string]: unknown;
|
|
418
483
|
}
|
|
419
484
|
|
|
420
485
|
|
|
@@ -504,25 +569,18 @@ declare namespace MinecraftData {
|
|
|
504
569
|
}
|
|
505
570
|
|
|
506
571
|
|
|
507
|
-
type
|
|
572
|
+
type FeatureEntry =
|
|
573
|
+
| {
|
|
574
|
+
[k: string]: unknown;
|
|
575
|
+
}
|
|
576
|
+
| {
|
|
577
|
+
[k: string]: unknown;
|
|
578
|
+
}
|
|
579
|
+
| {
|
|
580
|
+
[k: string]: unknown;
|
|
581
|
+
};
|
|
508
582
|
type Features = FeatureEntry[];
|
|
509
583
|
|
|
510
|
-
interface FeatureEntry {
|
|
511
|
-
/**
|
|
512
|
-
* The name of the feature
|
|
513
|
-
*/
|
|
514
|
-
name?: string;
|
|
515
|
-
/**
|
|
516
|
-
* The description of the feature
|
|
517
|
-
*/
|
|
518
|
-
description?: string;
|
|
519
|
-
/**
|
|
520
|
-
* A tuple that describes the range of versions in the range
|
|
521
|
-
*/
|
|
522
|
-
versions?: VersionForFeatureIdentification[];
|
|
523
|
-
[k: string]: unknown;
|
|
524
|
-
}
|
|
525
|
-
|
|
526
584
|
|
|
527
585
|
type Foods = Food[];
|
|
528
586
|
|
|
@@ -611,16 +669,42 @@ declare namespace MinecraftData {
|
|
|
611
669
|
* the amount of durability an item has before being damaged/used
|
|
612
670
|
*/
|
|
613
671
|
maxDurability?: number;
|
|
672
|
+
/**
|
|
673
|
+
* durability value for editions that specify it alongside maxDurability
|
|
674
|
+
*/
|
|
675
|
+
durability?: number;
|
|
676
|
+
/**
|
|
677
|
+
* legacy data value used in some editions at the item level
|
|
678
|
+
*/
|
|
679
|
+
metadata?: number;
|
|
614
680
|
/**
|
|
615
681
|
* The name of an item
|
|
616
682
|
*/
|
|
617
683
|
name: string;
|
|
684
|
+
/**
|
|
685
|
+
* Block state id associated with this item in some editions
|
|
686
|
+
*/
|
|
687
|
+
blockStateId?: number;
|
|
618
688
|
variations?: {
|
|
619
689
|
metadata: number;
|
|
620
690
|
displayName: string;
|
|
621
|
-
|
|
691
|
+
/**
|
|
692
|
+
* The unique identifier for a variation (when applicable)
|
|
693
|
+
*/
|
|
694
|
+
id?: number;
|
|
695
|
+
/**
|
|
696
|
+
* The name of a variation (when applicable)
|
|
697
|
+
*/
|
|
698
|
+
name?: string;
|
|
699
|
+
/**
|
|
700
|
+
* Stack size for a variation (when applicable)
|
|
701
|
+
*/
|
|
702
|
+
stackSize?: number;
|
|
703
|
+
/**
|
|
704
|
+
* describes categories of enchants this variation can use
|
|
705
|
+
*/
|
|
706
|
+
enchantCategories?: string[];
|
|
622
707
|
}[];
|
|
623
|
-
[k: string]: unknown;
|
|
624
708
|
}
|
|
625
709
|
|
|
626
710
|
|
|
@@ -1163,19 +1247,19 @@ declare namespace MinecraftData {
|
|
|
1163
1247
|
* sign text send when updating signs is send as stringified strings */
|
|
1164
1248
|
"sendStringifiedSignText": boolean;
|
|
1165
1249
|
/** `1.13 - latest`
|
|
1166
|
-
*
|
|
1250
|
+
* uses block states for block identification instead of block ID + metadata */
|
|
1167
1251
|
"usesBlockStates": boolean;
|
|
1168
1252
|
/** `1.17 - latest`
|
|
1169
|
-
*
|
|
1253
|
+
* effect names match their registry names rather than legacy names */
|
|
1170
1254
|
"effectNamesMatchRegistryName": boolean;
|
|
1171
1255
|
/** `1.9 - latest`
|
|
1172
|
-
*
|
|
1256
|
+
* shields are equipped in the off-hand slot */
|
|
1173
1257
|
"shieldSlot": boolean;
|
|
1174
1258
|
/** `1.14 - latest`
|
|
1175
|
-
*
|
|
1259
|
+
* inventory windows introduced in Village & Pillage update */
|
|
1176
1260
|
"village&pillageInventoryWindows": boolean;
|
|
1177
1261
|
/** `1.16 - latest`
|
|
1178
|
-
*
|
|
1262
|
+
* inventory windows introduced in Nether Update */
|
|
1179
1263
|
"netherUpdateInventoryWindows": boolean;
|
|
1180
1264
|
/** `1.8 - 1.8.9`
|
|
1181
1265
|
* Chunk unloading is done by sending an empty chunk */
|
|
@@ -1390,6 +1474,9 @@ declare namespace MinecraftData {
|
|
|
1390
1474
|
/** `1.21.5 - latest`
|
|
1391
1475
|
* chatGlobalIndexAndChecksum */
|
|
1392
1476
|
"chatGlobalIndexAndChecksum": boolean;
|
|
1477
|
+
/** `1.21.6 - latest`
|
|
1478
|
+
* entity_action packet uses string mappings instead of numeric actionId */
|
|
1479
|
+
"entityActionUsesStringMapper": boolean;
|
|
1393
1480
|
}
|
|
1394
1481
|
|
|
1395
1482
|
type Object = { [key: string]: any }
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
const fs = require('fs')
|
|
2
2
|
const cp = require('child_process')
|
|
3
|
-
const
|
|
3
|
+
const github = require('gh-helpers')()
|
|
4
|
+
const exec = (cmd) => github.mock ? console.log('> ', cmd) : (console.log('> ', cmd), cp.execSync(cmd, { stdio: 'inherit' }))
|
|
4
5
|
const pcManifestURL = 'https://launchermeta.mojang.com/mc/game/version_manifest.json'
|
|
5
6
|
const changelogURL = 'https://feedback.minecraft.net/hc/en-us/sections/360001186971-Release-Changelogs'
|
|
6
7
|
|
|
7
|
-
const download = (url, dest) =>
|
|
8
|
+
const download = (url, dest) => exec(`curl -L ${url} -o ${dest}`)
|
|
8
9
|
|
|
9
10
|
function buildFirstIssue (title, result, jarData) {
|
|
10
11
|
const protocolVersion = jarData?.protocol_version || 'Failed to obtain from JAR'
|
|
@@ -33,6 +34,21 @@ A new Minecraft Java Edition version is available (as of ${date}), version **${r
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
async function createInitialPull (edition, issueUrl, { version, protocolVersion }) {
|
|
38
|
+
exec('cd tools/js && npm install')
|
|
39
|
+
exec(`cd tools/js && npm run version ${edition} ${version} ${protocolVersion}`)
|
|
40
|
+
const branchNameVersion = version.replace(/[^a-zA-Z0-9]/g, '.').toLowerCase()
|
|
41
|
+
const branchName = `${edition}-${branchNameVersion}`
|
|
42
|
+
const title = `Initial data for ${edition} ${version}`
|
|
43
|
+
exec(`git checkout -b ${branchName}`)
|
|
44
|
+
exec(`git add --all`)
|
|
45
|
+
exec(`git commit -m "${title}"`)
|
|
46
|
+
exec(`git push origin ${branchName}`)
|
|
47
|
+
// createPullRequest(title: string, body: string, fromBranch: string, intoBranch?: string): Promise<{ number: number, url: string }>;
|
|
48
|
+
const pr = await github.createPullRequest(title, `${title}.\n\nRef: ${issueUrl}`, branchName, 'master')
|
|
49
|
+
return pr
|
|
50
|
+
}
|
|
51
|
+
|
|
36
52
|
const protocolVersions = {
|
|
37
53
|
pc: require('../../data/pc/common/protocolVersions.json'),
|
|
38
54
|
bedrock: require('../../data/bedrock/common/protocolVersions.json')
|
|
@@ -51,7 +67,7 @@ async function updateManifestPC () {
|
|
|
51
67
|
const latestVersionIsSnapshot = latestVersionData.type !== 'release'
|
|
52
68
|
|
|
53
69
|
const title = `Support Minecraft PC ${latestVersion}`
|
|
54
|
-
const issueStatus = await
|
|
70
|
+
const issueStatus = await github.findIssue({ titleIncludes: title }) || {}
|
|
55
71
|
|
|
56
72
|
if (latestVersionIsSnapshot) {
|
|
57
73
|
// don't make issues for snapshots
|
|
@@ -62,7 +78,7 @@ async function updateManifestPC () {
|
|
|
62
78
|
} else {
|
|
63
79
|
if (supportedVersions.pc.includes(latestVersion)) {
|
|
64
80
|
if (issueStatus.isOpen) {
|
|
65
|
-
|
|
81
|
+
github.close(issueStatus.id, `Closing as PC ${latestVersion} is now supported`)
|
|
66
82
|
}
|
|
67
83
|
console.log('Latest PC version is supported.')
|
|
68
84
|
return
|
|
@@ -85,7 +101,7 @@ async function updateManifestPC () {
|
|
|
85
101
|
} else {
|
|
86
102
|
console.log('Latest PC version is not supported and we failed to load data. Opening issue...')
|
|
87
103
|
const issuePayload = buildFirstIssue(title, latestVersionData)
|
|
88
|
-
|
|
104
|
+
github.createIssue(issuePayload)
|
|
89
105
|
|
|
90
106
|
fs.writeFileSync('./issue.md', issuePayload.body)
|
|
91
107
|
console.log('OK, wrote to ./issue.md', issuePayload)
|
|
@@ -96,10 +112,30 @@ async function updateManifestPC () {
|
|
|
96
112
|
console.log('Opening issue', versionJson)
|
|
97
113
|
const issuePayload = buildFirstIssue(title, latestVersionData, versionJson)
|
|
98
114
|
|
|
99
|
-
|
|
115
|
+
const issue = await github.createIssue(issuePayload)
|
|
100
116
|
|
|
101
117
|
fs.writeFileSync('./issue.md', issuePayload.body)
|
|
102
|
-
console.log('
|
|
118
|
+
console.log('Created issue', issue)
|
|
119
|
+
|
|
120
|
+
// Now create an initial PR with the new version data
|
|
121
|
+
const pr = await createInitialPull('pc', issue.url, {
|
|
122
|
+
minecraftVersion: versionJson.id,
|
|
123
|
+
version: latestVersion,
|
|
124
|
+
protocolVersion: versionJson.protocol_version
|
|
125
|
+
})
|
|
126
|
+
console.log('Created PR', pr)
|
|
127
|
+
// Ask minecraft-data-generator to handle new update
|
|
128
|
+
const dispatchPayload = {
|
|
129
|
+
owner: 'PrismarineJS',
|
|
130
|
+
repo: 'minecraft-data-generator',
|
|
131
|
+
workflow: 'handle-mcdata-update.yml',
|
|
132
|
+
branch: 'main',
|
|
133
|
+
inputs: {
|
|
134
|
+
version: latestVersion
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
console.log('Sending workflow dispatch', dispatchPayload)
|
|
138
|
+
await github.sendWorkflowDispatch(dispatchPayload)
|
|
103
139
|
}
|
|
104
140
|
|
|
105
141
|
async function addEntryFor (releaseVersion, releaseData) {
|
package/minecraft-data/README.md
CHANGED
|
@@ -10,7 +10,9 @@ Language independent module providing minecraft data for minecraft clients, serv
|
|
|
10
10
|
Supports
|
|
11
11
|
* Minecraft PC version 0.30c (classic), 1.7.10, 1.8.8, 1.9 (15w40b, 1.9, 1.9.1-pre2, 1.9.2, 1.9.4),
|
|
12
12
|
1.10 (16w20a, 1.10-pre1, 1.10, 1.10.1, 1.10.2), 1.11 (16w35a, 1.11, 1.11.2), 1.12 (17w15a, 17w18b, 1.12-pre4, 1.12, 1.12.1, 1.12.2), 1.13 (17w50a, 1.13, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2), 1.14 (1.14, 1.14.1, 1.14.3, 1.14.4), 1.15 (1.15, 1.15.1, 1.15.2), 1.16 (20w13b, 20w14a, 1.16-rc1, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5), 1.17, 1.17.1, 1.18 (1.18, 1.18.1, 1.18.2), 1.19 (1.19, 1.19.2, 1.19.3, 1.19.4), 1.20 (1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6), 1.21 (1.21, 1.21.1, 1.21.3)
|
|
13
|
+
<!--NEXT PC-->
|
|
13
14
|
* Minecraft bedrock version 0.14, 0.15, 1.0, 1.16.201, 1.16.210, 1.16.220, 1.17.0, 1.17.10, 1.17.30, 1.17.40, 1.18.0, 1.18.11, 1.18.30, 1.19.1, 1.19.10, 1.19.20, 1.19.21, 1.19.30, 1.19.40, 1.19.50, 1.19.60, 1.19.62, 1.19.63, 1.19.70, 1.19.80, 1.20.0, 1.20.10, 1.20.30, 1.20.40, 1.20.50, 1.20.61, 1.20.71, 1.20.80, 1.21.0, 1.21.2, 1.21.20, 1.21.30, 1.21.42, 1.21.50, 1.21.60, 1.21.70, 1.21.80, 1.21.90, 1.21.93, 1.21.100
|
|
15
|
+
<!--NEXT BEDROCK-->
|
|
14
16
|
|
|
15
17
|
## Wrappers
|
|
16
18
|
|