diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/internal/CraftBukkitReflection.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/internal/CraftBukkitReflection.java index 0dd17846..7d2028d4 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/internal/CraftBukkitReflection.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/internal/CraftBukkitReflection.java @@ -32,7 +32,6 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays; -import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Stream; @@ -68,7 +67,7 @@ public final class CraftBukkitReflection { @SafeVarargs public static @Nullable T firstNonNullOrNull( - final @Nullable T @NonNull... elements + final @Nullable T @NonNull ... elements ) { for (final T element : elements) { if (element != null) { @@ -82,7 +81,7 @@ public final class CraftBukkitReflection { @SuppressWarnings("varargs") public static @NonNull T firstNonNullOrThrow( final @NonNull Supplier<@NonNull String> errorMessage, - final @Nullable T @NonNull... elements + final @Nullable T @NonNull ... elements ) { final @Nullable T t = firstNonNullOrNull(elements); if (t == null) { @@ -205,11 +204,8 @@ public final class CraftBukkitReflection { } } - public static T streamMethods( - final @NonNull Class clazz, - final @NonNull Function, T> function - ) { - return function.apply(Arrays.stream(clazz.getDeclaredMethods())); + public static Stream streamMethods(final @NonNull Class clazz) { + return Arrays.stream(clazz.getDeclaredMethods()); } private CraftBukkitReflection() { diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/BlockPredicateArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/BlockPredicateArgument.java index 99469afc..92b47fe1 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/BlockPredicateArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/BlockPredicateArgument.java @@ -203,18 +203,18 @@ public final class BlockPredicateArgument extends CommandArgument stream.filter(it -> it.getReturnType().equals(MINECRAFT_SERVER_CLASS) && it.getParameterCount() == 0) - .findFirst().orElseThrow(() -> new IllegalStateException("Could not find CommandSourceStack#getServer.")) - ); + private static final Method GET_SERVER_METHOD = CraftBukkitReflection.streamMethods(COMMAND_LISTENER_WRAPPER_CLASS) + .filter(it -> it.getReturnType().equals(MINECRAFT_SERVER_CLASS) && it.getParameterCount() == 0) + .findFirst() + .orElseThrow(() -> new IllegalStateException("Could not find CommandSourceStack#getServer.")); private static final Method GET_TAG_REGISTRY_METHOD = CraftBukkitReflection.firstNonNullOrThrow( () -> "getTags method on MinecraftServer", CraftBukkitReflection.findMethod(MINECRAFT_SERVER_CLASS, "getTagRegistry"), CraftBukkitReflection.findMethod(MINECRAFT_SERVER_CLASS, "getTags"), - CraftBukkitReflection.streamMethods(MINECRAFT_SERVER_CLASS, stream -> - stream.filter(it -> it.getReturnType().equals(TAG_CONTAINER_CLASS) && it.getParameterCount() == 0) - .findFirst().orElse(null)) + CraftBukkitReflection.streamMethods(MINECRAFT_SERVER_CLASS) + .filter(it -> it.getReturnType().equals(TAG_CONTAINER_CLASS) && it.getParameterCount() == 0) + .findFirst() + .orElse(null) ); private final ArgumentParser parser;