-
-
Notifications
You must be signed in to change notification settings - Fork 921
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.20.6 #3412
1.20.6 #3412
Conversation
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
|
Not sure why but PrismarineJS/prismarine-item#118 is causing old versions to fail, nothing seems out of ordinary - https://github.com/PrismarineJS/minecraft-data/pull/898/files#diff-a45ce445eeb6aab3e53b018d8d2bbaf8581ce3679f8f7248641be0f83fb4e6c3 https://github.com/PrismarineJS/mineflayer/actions/runs/10610851219/job/29409134735 latest release |
It seems the current failing I noticed it was trying to connect to the 1.20.5 server as a 1.20.6 client (I am still not sure why it does this). After setting But @extremeheat said the following about this:
After which the The only remaining test case that is failing for sure is the I get the following error back: Whats strange is that the The missing bytes is most likely because of the |
Yeah, looking at buffer you seem to be correct. Wiki.vg incorrectly lists the trade_list input 1&2 as being a Slot but it doesn't appear to be a normal Slot type.
Looking at code, MerchantOffer is not writing an Item but an ItemCost for both items (though the result is an ItemSlot). Which indeed puts the ID before the count, then writing the components (?). |
Fixed the villager trading issue in mcdata.
As Count in /summon isn't working anymore on 1.20.5 (and tests are setting expected Count to 2), I'm loosening the tests which are strict on item quantity to just ensure item count is >=1. But otherwise mineflayer API is working. [08:21:17] [Server thread/INFO]: [@: Summoned new Villager]
{ // trade packet
windowId: 1,
trades: [
{
inputItem1: {
itemId: 805,
itemCount: 1,
addedComponentCount: 0,
components: []
},
outputItem: {
itemCount: 1,
itemId: 1111,
addedComponentCount: 0,
removedComponentCount: 0,
components: [],
removeComponents: []
},
inputItem2: undefined,
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: -4,
priceMultiplier: 0.05000000074505806,
demand: 60
},
{
inputItem1: {
itemId: 805,
itemCount: 1,
addedComponentCount: 0,
components: []
},
outputItem: {
itemCount: 1,
itemId: 854,
addedComponentCount: 0,
removedComponentCount: 0,
components: [],
removeComponents: []
},
inputItem2: {
itemId: 1111,
itemCount: 1,
addedComponentCount: 0,
components: []
},
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: 0,
priceMultiplier: 0,
demand: 0
},
{
inputItem1: {
itemId: 805,
itemCount: 1,
addedComponentCount: 0,
components: []
},
outputItem: {
itemCount: 1,
itemId: 188,
addedComponentCount: 0,
removedComponentCount: 0,
components: [],
removeComponents: []
},
inputItem2: undefined,
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: 0,
priceMultiplier: 0,
demand: 0
},
{
inputItem1: {
itemId: 805,
itemCount: 1,
addedComponentCount: 0,
components: []
},
outputItem: {
itemCount: 1,
itemId: 817,
addedComponentCount: 0,
removedComponentCount: 0,
components: [],
removeComponents: []
},
inputItem2: {
itemId: 925,
itemCount: 1,
addedComponentCount: 0,
components: []
},
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: 0,
priceMultiplier: 0,
demand: 0
}
],
villagerLevel: 1,
experience: 0,
isRegularVillager: true,
canRestock: true
}
Opened villager
Window {
_events: [Object: null prototype] {
close: [Function: bound onceWrapper] { listener: [Function (anonymous)] }
},
_eventsCount: 1,
_maxListeners: undefined,
acceptOutsideWindowClick: [Function: acceptClick],
acceptInventoryClick: [Function: acceptClick],
acceptNonInventorySwapAreaClick: [Function: acceptClick],
acceptSwapAreaLeftClick: [Function: acceptClick],
acceptSwapAreaRightClick: [Function: acceptClick],
acceptCraftingClick: [Function: acceptClick],
id: 1,
type: 'minecraft:merchant',
title: {
type: 'compound',
value: {
hoverEvent: {
type: 'compound',
value: {
contents: {
type: 'compound',
value: {
name: {
type: 'compound',
value: {
translate: {
type: 'string',
value: 'entity.minecraft.villager.none'
}
}
},
id: {
type: 'intArray',
value: [ 2081437318, 631719051, -1815023737, 1785188917 ]
},
type: { type: 'string', value: 'minecraft:villager' }
}
},
action: { type: 'string', value: 'show_entity' }
}
},
insertion: { type: 'string', value: '7c103686-25a7-448b-93d0-ef876a67d235' },
translate: { type: 'string', value: 'entity.minecraft.villager.none' }
}
},
slots: [
null,
null,
null,
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 3
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 4
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 5
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 6
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 7
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 8
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 9
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 10
},
Item {
type: 805,
count: 64,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined,
slot: 11
},
Item {
type: 925,
count: 11,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'book',
displayName: 'Book',
stackSize: 64,
maxDurability: undefined,
slot: 12
},
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
],
inventoryStart: 3,
inventoryEnd: 39,
hotbarStart: 30,
craftingResultSlot: 2,
requiresConfirmation: true,
selectedItem: null,
close: [Function (anonymous)],
withdraw: [AsyncFunction (anonymous)],
deposit: [AsyncFunction (anonymous)],
trades: [
{
inputItem1: Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
},
outputItem: Item {
type: 1111,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'pumpkin_pie',
displayName: 'Pumpkin Pie',
stackSize: 64,
maxDurability: undefined
},
inputItem2: undefined,
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: -4,
priceMultiplier: 0.05000000074505806,
demand: 60,
inputs: [
Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
}
],
hasItem2: false,
outputs: [
Item {
type: 1111,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'pumpkin_pie',
displayName: 'Pumpkin Pie',
stackSize: 64,
maxDurability: undefined
}
],
realPrice: 1
},
{
inputItem1: Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
},
outputItem: Item {
type: 854,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'wheat',
displayName: 'Wheat',
stackSize: 64,
maxDurability: undefined
},
inputItem2: Item {
type: 1111,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'pumpkin_pie',
displayName: 'Pumpkin Pie',
stackSize: 64,
maxDurability: undefined
},
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: 0,
priceMultiplier: 0,
demand: 0,
inputs: [
Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
},
Item {
type: 1111,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'pumpkin_pie',
displayName: 'Pumpkin Pie',
stackSize: 64,
maxDurability: undefined
}
],
hasItem2: true,
outputs: [
Item {
type: 854,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'wheat',
displayName: 'Wheat',
stackSize: 64,
maxDurability: undefined
}
],
realPrice: 1
},
{
inputItem1: Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
},
outputItem: Item {
type: 188,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'glass',
displayName: 'Glass',
stackSize: 64,
maxDurability: undefined
},
inputItem2: undefined,
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: 0,
priceMultiplier: 0,
demand: 0,
inputs: [
Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
}
],
hasItem2: false,
outputs: [
Item {
type: 188,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: [],
stackId: null,
name: 'glass',
displayName: 'Glass',
stackSize: 64,
maxDurability: undefined
}
],
realPrice: 1
},
{
inputItem1: Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
},
outputItem: Item {
type: 817,
count: 1,
metadata: 0,
nbt: {
type: 'compound',
name: '',
value: { Damage: { type: 'int', value: 0 } }
},
components: [],
removedComponents: [],
stackId: null,
name: 'wooden_sword',
displayName: 'Wooden Sword',
stackSize: 1,
maxDurability: 1
},
inputItem2: Item {
type: 925,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'book',
displayName: 'Book',
stackSize: 64,
maxDurability: undefined
},
tradeDisabled: false,
nbTradeUses: 1,
maximumNbTradeUses: 12,
xp: 1,
specialPrice: 0,
priceMultiplier: 0,
demand: 0,
inputs: [
Item {
type: 805,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'emerald',
displayName: 'Emerald',
stackSize: 64,
maxDurability: undefined
},
Item {
type: 925,
count: 1,
metadata: 0,
nbt: null,
components: [],
removedComponents: undefined,
stackId: null,
name: 'book',
displayName: 'Book',
stackSize: 64,
maxDurability: undefined
}
],
hasItem2: true,
outputs: [
Item {
type: 817,
count: 1,
metadata: 0,
nbt: {
type: 'compound',
name: '',
value: { Damage: { type: 'int', value: 0 } }
},
components: [],
removedComponents: [],
stackId: null,
name: 'wooden_sword',
displayName: 'Wooden Sword',
stackSize: 1,
maxDurability: 1
}
],
realPrice: 1
}
],
selectedTrade: null,
trade: [AsyncFunction (anonymous)],
[Symbol(shapeMode)]: false,
[Symbol(kCapture)]: false
}
I have 576x Emerald
I can trade 1x Emerald for 1x Pumpkin Pie
[08:21:17] [Server thread/INFO]: [Not Secure] I have 576x Emerald
[08:21:17] [Server thread/INFO]: [Not Secure] I can trade 1x Emerald for 1x Pumpkin Pie
[08:21:17] [Server thread/INFO]: flatbot has made the advancement [What a Deal!]
I have 565x Emerald and 11x Pumpkin Pie
I can trade 1x Emerald and 1x Pumpkin Pie for 1x Wheat
[08:21:18] [Server thread/INFO]: [Not Secure] I have 565x Emerald and 11x Pumpkin Pie
[08:21:18] [Server thread/INFO]: [Not Secure] I can trade 1x Emerald and 1x Pumpkin Pie for 1x Wheat
I have 554x Emerald
I can trade 1x Emerald for 1x Glass
[08:21:18] [Server thread/INFO]: [Not Secure] I have 554x Emerald
[08:21:18] [Server thread/INFO]: [Not Secure] I can trade 1x Emerald for 1x Glass
I have 543x Emerald and 11x Book
I can trade 1x Emerald and 1x Book for 1x Wooden Sword
[08:21:18] [Server thread/INFO]: [Not Secure] I have 543x Emerald and 11x Book
[08:21:18] [Server thread/INFO]: [Not Secure] I can trade 1x Emerald and 1x Book for 1x Wooden Sword
/kill @e[type=villager]
✔ trade (2716ms) |
Example bee still fails with Error: Do not have protocol data for protocol version 766 (attempted to use 765 data |
765 is 1.20.4 We seem to have both in mcdata |
Feels like it's because const versionInfo = minecraftData.versionsByMinecraftVersion.pc[version] |
1.20.1 and 1.20.2 fail on this : mineflayer_internal 1.20.2v |
https://github.com/PrismarineJS/node-minecraft-protocol/pull/1309/files has a bunch of chat related changes |
https://github.com/extremeheat/mineflayer/blob/1.20.5/test/internalTest.js#L110 test is here, probably needed to update the packets sent by the internal server |
updated all deps except nmp |
still getting [22:09:14] [Server thread/INFO]: [Not Secure] ### Starting exampleBee something wrong with the version data in relation with auto version detection I expect there's some duplicate/wrong protocol version |
reproduce with npm run mocha_test -- -g "mineflayer_external 1.20.5v exampleBee" |
I see; 1.20.6 has the same protocol version as 1.20.5 and auto version assumes latest |
moving to 1.20.6 support; skipping 1.20.5 |
some regression in 1.13.2 1 failing
|
finds bedrock instead of null |
could something have changed with chunks? welcome for investigations there look at wiki.vg and the code source and other implementations |
ahh
ok that sounds easy to fix |
npm run mocha_test -- -g "mineflayer_external 1.20.6v rayTrace" |
reproduce with npm run mocha_test -- -g "mineflayer_external 1.20.6v nether|mineflayer_external 1.20.6v rayTrace" problem is nether test |
btw joining the server of the test is pretty cool. nice demo of mineflayer I think we should try again to auto generate videos with the client |
npm run mocha_test -- -g "mineflayer_internal 1.20.6v entities 'itemDrop' event" to reproduce |
Slot type in entity metadata |
I tested jumper, digger, inventory ; it works |
merging |
thanks @extremeheat for implementing almost everything for 1.20.6 support in all repos! |
/makerelease |
After: