prismarine-windows 2.4.4 → 2.6.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/.github/workflows/npm-publish.yml +17 -10
- package/HISTORY.md +8 -0
- package/index.d.ts +2 -1
- package/index.js +10 -6
- package/package.json +6 -5
|
@@ -13,13 +13,20 @@ jobs:
|
|
|
13
13
|
- name: Set up Node.js
|
|
14
14
|
uses: actions/setup-node@master
|
|
15
15
|
with:
|
|
16
|
-
node-version:
|
|
17
|
-
-
|
|
18
|
-
uses:
|
|
19
|
-
with:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
node-version: 14.0.0
|
|
17
|
+
- id: publish
|
|
18
|
+
uses: JS-DevTools/npm-publish@v1
|
|
19
|
+
with:
|
|
20
|
+
token: ${{ secrets.NPM_AUTH_TOKEN }}
|
|
21
|
+
- name: Create Release
|
|
22
|
+
if: steps.publish.outputs.type != 'none'
|
|
23
|
+
id: create_release
|
|
24
|
+
uses: actions/create-release@v1
|
|
25
|
+
env:
|
|
26
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
27
|
+
with:
|
|
28
|
+
tag_name: ${{ steps.publish.outputs.version }}
|
|
29
|
+
release_name: Release ${{ steps.publish.outputs.version }}
|
|
30
|
+
body: ${{ steps.publish.outputs.version }}
|
|
31
|
+
draft: false
|
|
32
|
+
prerelease: false
|
package/HISTORY.md
CHANGED
package/index.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
/// <reference types="prismarine-item" />
|
|
3
3
|
|
|
4
4
|
import {EventEmitter} from 'events';
|
|
5
|
+
import TypedEmitter from 'typed-emitter'
|
|
5
6
|
import {Item} from 'prismarine-item';
|
|
6
7
|
|
|
7
|
-
export class Window extends EventEmitter {
|
|
8
|
+
export class Window<T = unknown> extends (EventEmitter as new <T>() => TypedEmitter<T>)<T> {
|
|
8
9
|
constructor (id: number, type: number | string, title: string, slotCount: number, inventorySlotsRange: { start: number, end: number }, craftingResultSlot: number, requiresConfirmation: boolean);
|
|
9
10
|
|
|
10
11
|
/**
|
package/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
function loader (
|
|
2
|
-
const
|
|
1
|
+
function loader (registryOrVersion) {
|
|
2
|
+
const registry = typeof registryOrVersion === 'string' ? require('prismarine-registry')(registryOrVersion) : registryOrVersion
|
|
3
|
+
const Item = require('prismarine-item')(registry)
|
|
3
4
|
const Window = require('./lib/Window')(Item)
|
|
4
|
-
const mcData = require('minecraft-data')(mcVersion)
|
|
5
5
|
|
|
6
6
|
let windows
|
|
7
|
-
if (
|
|
7
|
+
// if (registry.supportFeature("village&pillageInventoryWindows")) {
|
|
8
|
+
if (registry.isNewerOrEqualTo('1.14')) { // this line should be discarded for the one above when the corresponding feature is added to minecraft-data
|
|
8
9
|
// https://wiki.vg/Inventory
|
|
9
10
|
windows = {}
|
|
10
11
|
let protocolId = -1
|
|
@@ -29,7 +30,8 @@ function loader (mcVersion) {
|
|
|
29
30
|
windows['minecraft:loom'] = { type: protocolId++, inventory: { start: 4, end: 39 }, slots: 40, craft: 3, requireConfirmation: true }
|
|
30
31
|
windows['minecraft:merchant'] = { type: protocolId++, inventory: { start: 3, end: 38 }, slots: 39, craft: 2, requireConfirmation: true }
|
|
31
32
|
windows['minecraft:shulker_box'] = { type: protocolId++, inventory: { start: 27, end: 62 }, slots: 63, craft: -1, requireConfirmation: true }
|
|
32
|
-
if (
|
|
33
|
+
// if (registry.supportFeature("netherUpdateInventoryWindows")) {
|
|
34
|
+
if (registry.isNewerOrEqualTo('1.16')) { // this line should be discarded for the one above when the corresponding feature is added to minecraft-data
|
|
33
35
|
windows['minecraft:smithing'] = { type: protocolId++, inventory: { start: 3, end: 38 }, slots: 39, craft: 2, requireConfirmation: true }
|
|
34
36
|
}
|
|
35
37
|
windows['minecraft:smoker'] = { type: protocolId++, inventory: { start: 3, end: 38 }, slots: 39, craft: 2, requireConfirmation: true }
|
|
@@ -37,8 +39,10 @@ function loader (mcVersion) {
|
|
|
37
39
|
windows['minecraft:stonecutter'] = { type: protocolId++, inventory: { start: 2, end: 37 }, slots: 38, craft: 1, requireConfirmation: true }
|
|
38
40
|
} else {
|
|
39
41
|
// https://wiki.vg/index.php?title=Inventory&oldid=14093
|
|
42
|
+
// const inventorySlots = registry.supportFeature("shieldSlot") ? 46 : 45
|
|
43
|
+
const inventorySlots = registry.isNewerOrEqualTo('1.9') ? 46 : 45// this line should be discarded for the one above when the corresponding feature is added to minecraft-data
|
|
40
44
|
windows = {
|
|
41
|
-
'minecraft:inventory': { type: 'minecraft:inventory', inventory: { start: 9, end: 44 }, slots:
|
|
45
|
+
'minecraft:inventory': { type: 'minecraft:inventory', inventory: { start: 9, end: 44 }, slots: inventorySlots ? 46 : 45, craft: 0, requireConfirmation: true },
|
|
42
46
|
'minecraft:chest': null,
|
|
43
47
|
'minecraft:crafting_table': { type: 'minecraft:crafting_table', inventory: { start: 10, end: 45 }, slots: 46, craft: 0, requireConfirmation: true },
|
|
44
48
|
'minecraft:furnace': { type: 'minecraft:furnace', inventory: { start: 3, end: 38 }, slots: 39, craft: 2, requireConfirmation: true },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prismarine-windows",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Represent minecraft windows",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
"url": "git+ssh://git@github.com/PrismarineJS/prismarine-windows.git"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"
|
|
17
|
-
"prismarine-item": "^1.5.0"
|
|
16
|
+
"prismarine-registry": "^1.5.0",
|
|
17
|
+
"prismarine-item": "^1.5.0",
|
|
18
|
+
"typed-emitter": "^1.0.0"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
|
-
"@types/node": "^
|
|
21
|
-
"standard": "^
|
|
21
|
+
"@types/node": "^18.6.4",
|
|
22
|
+
"standard": "^17.0.0"
|
|
22
23
|
},
|
|
23
24
|
"keywords": [
|
|
24
25
|
"minecraft",
|