Skip to content

Commit 6b1d6ea

Browse files
frej4189rom1504Frej Alexander Nielsen
authored
Add nether test (#2932)
* Add nether test * Fix nether test * use nether_portal id in higher versions * Depend on unreleased prismarine-chunk * Merge sign test structure into nether test --------- Co-authored-by: Romain Beaumont <romain.rom1@gmail.com> Co-authored-by: Frej Alexander Nielsen <frej@valoks.com>
1 parent acc6ec9 commit 6b1d6ea

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

test/externalTests/nether.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
const assert = require('assert')
2+
const Vec3 = require('vec3')
3+
const { once } = require('events')
4+
5+
module.exports = () => async (bot) => {
6+
// Test spawn event on death
7+
const Item = require('prismarine-item')(bot.registry)
8+
9+
let signItem = null
10+
for (const name in bot.registry.itemsByName) {
11+
if (name.includes('sign') && !name.includes('hanging')) signItem = bot.registry.itemsByName[name]
12+
}
13+
assert.notStrictEqual(signItem, null)
14+
15+
const p = new Promise((resolve, reject) => {
16+
bot._client.on('open_sign_entity', (packet) => {
17+
const sign = bot.blockAt(new Vec3(packet.location))
18+
bot.updateSign(sign, '1\n2\n3\n')
19+
20+
setTimeout(() => {
21+
// Get updated sign
22+
const sign = bot.blockAt(bot.entity.position)
23+
24+
assert.strictEqual(sign.signText.trimEnd(), '1\n2\n3')
25+
26+
if (sign.blockEntity) {
27+
// Check block update
28+
bot.activateBlock(sign)
29+
assert.notStrictEqual(sign.blockEntity, undefined)
30+
}
31+
32+
bot.test.sayEverywhere('/setblock ~ ~ ~ portal')
33+
bot.test.sayEverywhere('/setblock ~ ~ ~ nether_portal')
34+
once(bot, 'spawn').then(resolve)
35+
}, 500)
36+
})
37+
})
38+
39+
bot.test.sayEverywhere('/setblock ~ ~ ~ nether_portal')
40+
bot.test.sayEverywhere('/setblock ~ ~ ~ portal')
41+
await once(bot, 'spawn')
42+
bot.test.sayEverywhere('/tp 0 128 0')
43+
44+
await once(bot, 'forcedMove')
45+
await bot.waitForChunksToLoad()
46+
47+
const lowerBlock = bot.blockAt(bot.entity.position.offset(0, -1, 0))
48+
await bot.lookAt(lowerBlock.position, true)
49+
await bot.test.setInventorySlot(36, new Item(signItem.id, 1, 0))
50+
await bot.placeBlock(lowerBlock, new Vec3(0, 1, 0))
51+
return p
52+
}

0 commit comments

Comments
 (0)