Pokechu22 / Burger

A simple tool for picking out information from the minecraft JARs, primarily useful for developers.
https://b.wiki.vg
MIT License
83 stars 15 forks source link

Packets topping broken in 1.17 #29

Closed mat-1 closed 3 years ago

mat-1 commented 3 years ago

21w19a (the Java 16 snapshot) broke the packets topping, which also broke everything that depends on it. The error when --verbose is set is Exception: Unexpected new: Instruction(mnemonic='new', opcode=187, operands=[<ConstantClass(index=1372, name=<UTF8(index=1371, value='java/lang/Error'>))>], pos=2007)

There's also some unknown instruction warnings before the error:

Unknown instruction Instruction(mnemonic='arraylength', opcode=190, operands=[], pos=1976): stack is [None]
Unknown instruction Instruction(mnemonic='if_icmpge', opcode=162, operands=[Operand(op_type=<OperandTypes.BRANCH: 40>, value=70)], pos=1982): stack is [0, None]
Failed to execute Instruction(mnemonic='aaload', opcode=50, operands=[], pos=1987): array None index 0
Unknown instruction Instruction(mnemonic='if_icmplt', opcode=161, operands=[Operand(op_type=<OperandTypes.BRANCH: 40>, value=9)], pos=1998): stack is [0, None, -1]
Unknown instruction Instruction(mnemonic='if_icmple', opcode=164, operands=[Operand(op_type=<OperandTypes.BRANCH: 40>, value=18)], pos=2004): stack is [0, None, -1, None, 2]
Pokechu22 commented 3 years ago

This has been fixed, see 8ef423a71597439e0347beab050b84c7991f9a88. I'm currently regenerating the data for 1.16 and 1.17.

It was broken by a change to enums: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8241798