Skip to content

Commit 8633dbd

Browse files
authored
pc: Fix 1.21 enchant_item button id integer type to varint (#1201)
ServerboundContainerButtonClickPacket (minecraft-data packet_enchant_item) was reworked in 1.21 to encode the button id as a VarInt. The vanilla codec is StreamCodec.composite(CONTAINER_ID/VAR_INT, ::containerId, VAR_INT, ::buttonId). mcdata updated windowId to ContainerID (varint) for 1.21+ but left enchantment (the button id) as i8. Before 1.21 both fields were a single byte (readByte/writeByte), so i8 is correct there; this only affects 1.21.1-1.21.11. A VarInt and a byte encode identically for button ids below 128, so it seldom breaks, but a button id >= 128 (e.g. a stonecutter/loom recipe index on a server with many recipes) needs a 2-byte VarInt that an i8 writer cannot represent. Serverbound. Verified against the Mojang server jars: byte/byte in 1.19.4, VAR_INT button id in 1.21.1 and 1.21.3-1.21.9. proto.yml edited, protocol.json regenerated with npm run build.
1 parent e76d604 commit 8633dbd

16 files changed

Lines changed: 16 additions & 16 deletions

File tree

data/pc/1.21.1/proto.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2702,7 +2702,7 @@
27022702
# MC: ServerboundContainerButtonClickPacket
27032703
packet_enchant_item:
27042704
windowId: ContainerID
2705-
enchantment: i8
2705+
enchantment: varint
27062706
# MC: ServerboundContainerClickPacket
27072707
packet_window_click:
27082708
windowId: ContainerID

data/pc/1.21.1/protocol.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7783,7 +7783,7 @@
77837783
},
77847784
{
77857785
"name": "enchantment",
7786-
"type": "i8"
7786+
"type": "varint"
77877787
}
77887788
]
77897789
],

data/pc/1.21.11/protocol.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10539,7 +10539,7 @@
1053910539
},
1054010540
{
1054110541
"name": "enchantment",
10542-
"type": "i8"
10542+
"type": "varint"
1054310543
}
1054410544
]
1054510545
],

data/pc/1.21.3/proto.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2855,7 +2855,7 @@
28552855
# MC: ServerboundContainerButtonClickPacket
28562856
packet_enchant_item:
28572857
windowId: ContainerID
2858-
enchantment: i8
2858+
enchantment: varint
28592859
# MC: ServerboundContainerClickPacket
28602860
packet_window_click:
28612861
windowId: ContainerID

data/pc/1.21.3/protocol.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8323,7 +8323,7 @@
83238323
},
83248324
{
83258325
"name": "enchantment",
8326-
"type": "i8"
8326+
"type": "varint"
83278327
}
83288328
]
83298329
],

data/pc/1.21.4/proto.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2859,7 +2859,7 @@
28592859
# MC: ServerboundContainerButtonClickPacket
28602860
packet_enchant_item:
28612861
windowId: ContainerID
2862-
enchantment: i8
2862+
enchantment: varint
28632863
# MC: ServerboundContainerClickPacket
28642864
packet_window_click:
28652865
windowId: ContainerID

data/pc/1.21.4/protocol.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8345,7 +8345,7 @@
83458345
},
83468346
{
83478347
"name": "enchantment",
8348-
"type": "i8"
8348+
"type": "varint"
83498349
}
83508350
]
83518351
],

data/pc/1.21.5/proto.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2979,7 +2979,7 @@
29792979
# MC: ServerboundContainerButtonClickPacket
29802980
packet_enchant_item:
29812981
windowId: ContainerID
2982-
enchantment: i8
2982+
enchantment: varint
29832983
# MC: ServerboundContainerClickPacket
29842984
packet_window_click:
29852985
windowId: ContainerID

data/pc/1.21.5/protocol.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8744,7 +8744,7 @@
87448744
},
87458745
{
87468746
"name": "enchantment",
8747-
"type": "i8"
8747+
"type": "varint"
87488748
}
87498749
]
87508750
],

data/pc/1.21.6/proto.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3076,7 +3076,7 @@
30763076
# MC: ServerboundContainerButtonClickPacket
30773077
packet_enchant_item:
30783078
windowId: ContainerID
3079-
enchantment: i8
3079+
enchantment: varint
30803080
# MC: ServerboundContainerClickPacket
30813081
packet_window_click:
30823082
windowId: ContainerID

0 commit comments

Comments
 (0)