From abf662a51d25a8dee03f8d15b340add10ff35939 Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Thu, 18 Aug 2022 14:46:26 -0700 Subject: [PATCH] bukkit/paper : Fix ItemStackPredicateArgument reflection --- .../parsers/ItemStackPredicateArgument.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/ItemStackPredicateArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/ItemStackPredicateArgument.java index 7ca00456..1d44a5cb 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/ItemStackPredicateArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/ItemStackPredicateArgument.java @@ -147,24 +147,25 @@ public final class ItemStackPredicateArgument extends CommandArgument ARGUMENT_ITEM_PREDICATE_CLASS = MinecraftArgumentTypes.getClassByKey(NamespacedKey.minecraft("item_predicate")); - private static final Class ARGUMENT_ITEM_PREDICATE_RESULT_CLASS = CraftBukkitReflection.firstNonNullOrThrow( - () -> "Couldn't find ItemPredicateArgument$Result class", + private static final Class ARGUMENT_ITEM_PREDICATE_RESULT_CLASS = CraftBukkitReflection.firstNonNullOrNull( CraftBukkitReflection.findNMSClass("ArgumentItemPredicate$b"), CraftBukkitReflection.findMCClass("commands.arguments.item.ArgumentItemPredicate$b"), CraftBukkitReflection.findMCClass("commands.arguments.item.ItemPredicateArgument$Result") ); - private static final @Nullable Method CREATE_PREDICATE_METHOD = CraftBukkitReflection.firstNonNullOrNull( - CraftBukkitReflection.findMethod( - ARGUMENT_ITEM_PREDICATE_RESULT_CLASS, - "create", - com.mojang.brigadier.context.CommandContext.class - ), - CraftBukkitReflection.findMethod( - ARGUMENT_ITEM_PREDICATE_RESULT_CLASS, - "a", - com.mojang.brigadier.context.CommandContext.class - ) - ); + private static final @Nullable Method CREATE_PREDICATE_METHOD = ARGUMENT_ITEM_PREDICATE_RESULT_CLASS == null + ? null + : CraftBukkitReflection.firstNonNullOrNull( + CraftBukkitReflection.findMethod( + ARGUMENT_ITEM_PREDICATE_RESULT_CLASS, + "create", + com.mojang.brigadier.context.CommandContext.class + ), + CraftBukkitReflection.findMethod( + ARGUMENT_ITEM_PREDICATE_RESULT_CLASS, + "a", + com.mojang.brigadier.context.CommandContext.class + ) + ); private static final Method AS_NMS_COPY_METHOD = CraftBukkitReflection.needMethod(CRAFT_ITEM_STACK_CLASS, "asNMSCopy", ItemStack.class);