diff --git a/cloud-brigadier/src/main/java/org/incendo/cloud/brigadier/permission/BrigadierPermissionPredicate.java b/cloud-brigadier/src/main/java/org/incendo/cloud/brigadier/permission/BrigadierPermissionPredicate.java index 36b291ff..7b678556 100644 --- a/cloud-brigadier/src/main/java/org/incendo/cloud/brigadier/permission/BrigadierPermissionPredicate.java +++ b/cloud-brigadier/src/main/java/org/incendo/cloud/brigadier/permission/BrigadierPermissionPredicate.java @@ -23,7 +23,6 @@ // package org.incendo.cloud.brigadier.permission; -import io.leangen.geantyref.GenericTypeReflector; import java.lang.reflect.Type; import java.util.Collections; import java.util.Map; @@ -32,6 +31,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.incendo.cloud.SenderMapper; import org.incendo.cloud.internal.CommandNode; +import org.incendo.cloud.internal.SuperTypeCache; import org.incendo.cloud.permission.Permission; @API(status = API.Status.INTERNAL, since = "2.0.0") @@ -65,7 +65,7 @@ public boolean test(final @NonNull S source) { final Map accessMap = this.node.nodeMeta().getOrDefault(CommandNode.META_KEY_ACCESS, Collections.emptyMap()); for (final Map.Entry entry : accessMap.entrySet()) { - if (GenericTypeReflector.isSuperType(entry.getKey(), cloudSender.getClass())) { + if (SuperTypeCache.isSuperType(entry.getKey(), cloudSender.getClass())) { if (this.permissionChecker.hasPermission(cloudSender, entry.getValue())) { return true; } diff --git a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/BukkitCommand.java b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/BukkitCommand.java index b7f0806b..ddb8de34 100644 --- a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/BukkitCommand.java +++ b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/BukkitCommand.java @@ -23,7 +23,6 @@ // package org.incendo.cloud.bukkit; -import io.leangen.geantyref.GenericTypeReflector; import java.lang.reflect.Type; import java.util.Collections; import java.util.List; @@ -41,6 +40,7 @@ import org.incendo.cloud.bukkit.internal.BukkitHelper; import org.incendo.cloud.component.CommandComponent; import org.incendo.cloud.internal.CommandNode; +import org.incendo.cloud.internal.SuperTypeCache; import org.incendo.cloud.permission.Permission; import org.incendo.cloud.suggestion.Suggestion; import org.incendo.cloud.suggestion.Suggestions; @@ -147,7 +147,7 @@ public boolean testPermissionSilent(final @NonNull CommandSender target) { node.nodeMeta().getOrDefault(CommandNode.META_KEY_ACCESS, Collections.emptyMap()); final C cloudSender = this.manager.senderMapper().map(target); for (final Map.Entry entry : accessMap.entrySet()) { - if (GenericTypeReflector.isSuperType(entry.getKey(), cloudSender.getClass())) { + if (SuperTypeCache.isSuperType(entry.getKey(), cloudSender.getClass())) { if (this.manager.testPermission(cloudSender, entry.getValue()).allowed()) { return true; } diff --git a/cloud-bungee/src/main/java/org/incendo/cloud/bungee/BungeeCommand.java b/cloud-bungee/src/main/java/org/incendo/cloud/bungee/BungeeCommand.java index 62c89ddb..3da7e0e4 100644 --- a/cloud-bungee/src/main/java/org/incendo/cloud/bungee/BungeeCommand.java +++ b/cloud-bungee/src/main/java/org/incendo/cloud/bungee/BungeeCommand.java @@ -23,7 +23,6 @@ // package org.incendo.cloud.bungee; -import io.leangen.geantyref.GenericTypeReflector; import java.lang.reflect.Type; import java.util.Collections; import java.util.Map; @@ -36,6 +35,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.incendo.cloud.component.CommandComponent; import org.incendo.cloud.internal.CommandNode; +import org.incendo.cloud.internal.SuperTypeCache; import org.incendo.cloud.permission.Permission; import org.incendo.cloud.suggestion.Suggestion; import org.incendo.cloud.suggestion.Suggestions; @@ -82,7 +82,7 @@ public boolean hasPermission(final CommandSender sender) { node.nodeMeta().getOrDefault(CommandNode.META_KEY_ACCESS, Collections.emptyMap()); final C cloudSender = this.manager.senderMapper().map(sender); for (final Map.Entry entry : accessMap.entrySet()) { - if (GenericTypeReflector.isSuperType(entry.getKey(), cloudSender.getClass())) { + if (SuperTypeCache.isSuperType(entry.getKey(), cloudSender.getClass())) { if (this.manager.testPermission(cloudSender, entry.getValue()).allowed()) { return true; } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dcc6041f..2784884d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ ktlint = "1.8.0" errorprone = "2.49.0" run-task = "3.0.2" -cloudCore = "2.0.0" +cloudCore = "2.1.0-SNAPSHOT" immutables = "2.12.1" diff --git a/settings.gradle.kts b/settings.gradle.kts index a4084486..13de665c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,9 +18,19 @@ dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { mavenCentral() - maven("https://central.sonatype.com/repository/maven-snapshots/") { + maven("https://repo.spectr.is/releases/") { + mavenContent { releasesOnly() } + } + maven("https://repo.spectr.is/snapshots/") { mavenContent { snapshotsOnly() } } + + maven("https://central.sonatype.com/repository/maven-snapshots/") { + mavenContent { + snapshotsOnly() + excludeGroup("org.incendo") + } + } /* The Minecraft repository, used for cloud-brigadier */ maven("https://libraries.minecraft.net/") { name = "minecraftLibraries"