diff --git a/api/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java b/api/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java index 9dfd0a8..287cbf8 100644 --- a/api/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java +++ b/api/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java @@ -1,5 +1,6 @@ package me.tofaa.entitylib.meta; +import com.github.retrooper.packetevents.PacketEvents; import com.github.retrooper.packetevents.manager.server.ServerVersion; import com.github.retrooper.packetevents.manager.server.VersionComparison; import com.github.retrooper.packetevents.protocol.entity.data.EntityData; @@ -203,17 +204,29 @@ public class EntityMeta implements EntityMetadataProvider { } protected static void isVersionNewer(ServerVersion version) { - if (!EntityLib.getApi().getPacketEvents().getServerManager().getVersion().is(VersionComparison.NEWER_THAN, version)) { + if (EntityLib.getOptionalApi().isPresent()) { + if (!EntityLib.getApi().getPacketEvents().getServerManager().getVersion().is(VersionComparison.NEWER_THAN, version)) { + throw new InvalidVersionException("This method is only available for versions newer than " + version.name() + "."); + } + } + if (!PacketEvents.getAPI().getServerManager().getVersion().is(VersionComparison.NEWER_THAN, version)) { throw new InvalidVersionException("This method is only available for versions newer than " + version.name() + "."); } } protected static boolean isVersion(ServerVersion version, VersionComparison comparison) { - return EntityLib.getApi().getPacketEvents().getServerManager().getVersion().is(comparison, version); + if (EntityLib.getOptionalApi().isPresent()) { + + return EntityLib.getApi().getPacketEvents().getServerManager().getVersion().is(comparison, version); + } + return PacketEvents.getAPI().getServerManager().getVersion().is(comparison, version); } protected static boolean isVersion(ServerVersion version) { - return EntityLib.getApi().getPacketEvents().getServerManager().getVersion().is(VersionComparison.EQUALS, version); + if (EntityLib.getOptionalApi().isPresent()) { + return EntityLib.getApi().getPacketEvents().getServerManager().getVersion().is(VersionComparison.EQUALS, version); + } + return PacketEvents.getAPI().getServerManager().getVersion().is(VersionComparison.EQUALS, version); } /** diff --git a/api/src/main/java/me/tofaa/entitylib/meta/types/PlayerMeta.java b/api/src/main/java/me/tofaa/entitylib/meta/types/PlayerMeta.java index 686f4fb..529b0a3 100644 --- a/api/src/main/java/me/tofaa/entitylib/meta/types/PlayerMeta.java +++ b/api/src/main/java/me/tofaa/entitylib/meta/types/PlayerMeta.java @@ -4,7 +4,6 @@ import com.github.retrooper.packetevents.manager.server.ServerVersion; import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes; import com.github.retrooper.packetevents.protocol.nbt.NBTCompound; import me.tofaa.entitylib.EntityLib; -import me.tofaa.entitylib.meta.EntityMeta; import me.tofaa.entitylib.meta.Metadata; import org.jetbrains.annotations.Nullable; diff --git a/test-plugin/build.gradle.kts b/test-plugin/build.gradle.kts index 7def317..8d63c5c 100644 --- a/test-plugin/build.gradle.kts +++ b/test-plugin/build.gradle.kts @@ -11,6 +11,7 @@ repositories { dependencies { compileOnly(libs.paper) compileOnly(libs.packetevents.spigot) + implementation("com.github.Tofaa2.EntityLib:spigot:24887cb05a") implementation(project(":platforms:spigot")) }