mineflayer 4.15.0 → 4.16.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/docs/history.md +3 -0
- package/index.d.ts +2 -1
- package/lib/loader.js +17 -17
- package/lib/version.js +4 -2
- package/package.json +1 -1
package/docs/history.md
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
## 4.16.0
|
|
2
|
+
* [Fix version check (#3259)](https://github.com/PrismarineJS/mineflayer/commit/88d361f9209cdc2bc4620b32118fb2245f6dcdf9) (thanks @extremeheat)
|
|
3
|
+
|
|
1
4
|
## 4.15.0
|
|
2
5
|
* [Fix several bugs in villager trading (#3230)](https://github.com/PrismarineJS/mineflayer/commit/1caa2c216b3a10a2bccd7b78a22f3809cb359fe3) (thanks @evan-goode)
|
|
3
6
|
* [Fix `bot.heldItem` and `bot.entity.equipment` (#3225)](https://github.com/PrismarineJS/mineflayer/commit/9865ab72f7438fff9d74f2fe19a138da870c41aa) (thanks @szdytom)
|
package/index.d.ts
CHANGED
|
@@ -867,7 +867,8 @@ export class Particle {
|
|
|
867
867
|
);
|
|
868
868
|
}
|
|
869
869
|
|
|
870
|
-
export let supportedVersions: string[]
|
|
871
870
|
export let testedVersions: string[]
|
|
871
|
+
export let latestSupportedVersion: string
|
|
872
|
+
export let oldestSupportedVersion: string
|
|
872
873
|
|
|
873
874
|
export function supportFeature (feature: string, version: string): boolean
|
package/lib/loader.js
CHANGED
|
@@ -45,8 +45,8 @@ const plugins = {
|
|
|
45
45
|
particle: require('./plugins/particle')
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
const
|
|
49
|
-
const testedVersions = require('./version')
|
|
48
|
+
const minecraftData = require('minecraft-data')
|
|
49
|
+
const { testedVersions, latestSupportedVersion, oldestSupportedVersion } = require('./version')
|
|
50
50
|
|
|
51
51
|
module.exports = {
|
|
52
52
|
createBot,
|
|
@@ -55,9 +55,10 @@ module.exports = {
|
|
|
55
55
|
ScoreBoard: require('./scoreboard'),
|
|
56
56
|
BossBar: require('./bossbar'),
|
|
57
57
|
Particle: require('./particle'),
|
|
58
|
-
|
|
58
|
+
latestSupportedVersion,
|
|
59
|
+
oldestSupportedVersion,
|
|
59
60
|
testedVersions,
|
|
60
|
-
supportFeature: (feature, version) =>
|
|
61
|
+
supportFeature: (feature, version) => minecraftData(version).supportFeature(feature)
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
function createBot (options = {}) {
|
|
@@ -107,22 +108,21 @@ function createBot (options = {}) {
|
|
|
107
108
|
if (!bot._client.wait_connect) next()
|
|
108
109
|
else bot._client.once('connect_allowed', next)
|
|
109
110
|
function next () {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (
|
|
113
|
-
throw new Error(`Version ${version.minecraftVersion} is not supported.`)
|
|
114
|
-
}
|
|
111
|
+
const serverPingVersion = bot._client.version
|
|
112
|
+
bot.registry = require('prismarine-registry')(serverPingVersion)
|
|
113
|
+
if (!bot.registry?.version) throw new Error(`Server version '${serverPingVersion}' is not supported, no data for version`)
|
|
115
114
|
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
const versionData = bot.registry.version
|
|
116
|
+
if (versionData['>'](latestSupportedVersion)) {
|
|
117
|
+
throw new Error(`Server version '${serverPingVersion}' is not supported. Latest supported version is '${latestSupportedVersion}'.`)
|
|
118
|
+
} else if (versionData['<'](oldestSupportedVersion)) {
|
|
119
|
+
throw new Error(`Server version '${serverPingVersion}' is not supported. Oldest supported version is '${oldestSupportedVersion}'.`)
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
bot.protocolVersion =
|
|
123
|
-
bot.majorVersion =
|
|
124
|
-
bot.version =
|
|
125
|
-
options.version =
|
|
122
|
+
bot.protocolVersion = versionData.version
|
|
123
|
+
bot.majorVersion = versionData.majorVersion
|
|
124
|
+
bot.version = versionData.minecraftVersion
|
|
125
|
+
options.version = versionData.minecraftVersion
|
|
126
126
|
bot.supportFeature = bot.registry.supportFeature
|
|
127
127
|
setTimeout(() => bot.emit('inject_allowed'), 0)
|
|
128
128
|
}
|
package/lib/version.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
const testedVersions = ['1.8.8', '1.9.4', '1.10.2', '1.11.2', '1.12.2', '1.13.2', '1.14.4', '1.15.2', '1.16.5', '1.17.1', '1.18.2', '1.19', '1.19.2', '1.19.3', '1.19.4', '1.20.1']
|
|
1
2
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
testedVersions,
|
|
4
|
+
latestSupportedVersion: testedVersions[testedVersions.length - 1],
|
|
5
|
+
oldestSupportedVersion: testedVersions[0]
|
|
4
6
|
}
|