From 278e75e72ad1da6704a554ad1455d2fd488d853b Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Fri, 22 May 2020 14:15:16 -0700 Subject: [PATCH] Fix identification of chatcomponent in older versions --- burger/toppings/identify.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/burger/toppings/identify.py b/burger/toppings/identify.py index 183112e6..81b2921b 100644 --- a/burger/toppings/identify.py +++ b/burger/toppings/identify.py @@ -97,9 +97,10 @@ def identify(classloader, path, verbose): # As of 20w17a, there is another interface in the middle that we don't # want, but the interface we do want extends Brigadier's Message interface. # So, loop up until a good-looking interface is present. - while len(class_file.interfaces) == 1: + # In other versions, the interface extends Iterable. In some versions, it extends both. + while len(class_file.interfaces) in (1, 2): parent = class_file.interfaces[0].name.value - if "com/mojang/brigadier" in parent: + if "com/mojang/brigadier" in parent or "java/lang/Iterable" == parent: break class_file = classloader[parent] else: