EchoPet

EchoPet

882k Downloads

java.lang.IncompatibleClassChangeError: Found interface but class was expected

mibby opened this issue ยท 3 comments

commented

@DSH105 @sk89q
Not sure who is to blame for the breakage.
Using EchoPet dev 480. WorldGuard 6.0 dev 1406.

[04:10:22] [Server thread/WARN]: [EchoPet] Task #3736 for EchoPet v2.4.0-SNAPSHOT-b480 generated an exception
java.lang.IncompatibleClassChangeError: Found interface com.sk89q.worldguard.protection.ApplicableRegionSet, but class was expected
    at com.dsh105.echopet.compat.api.util.WorldUtil.allowRegion(WorldUtil.java:49) ~[?:?]
    at com.dsh105.echopet.compat.api.util.WorldUtil.allowPets(WorldUtil.java:32) ~[?:?]
    at com.dsh105.echopet.api.PetManager.createPet(PetManager.java:112) ~[?:?]
    at com.dsh105.echopet.api.PetManager.createPetFromFile(PetManager.java:230) ~[?:?]
    at com.dsh105.echopet.api.PetManager.loadPets(PetManager.java:77) ~[?:?]
    at com.dsh105.echopet.listeners.PetOwnerListener$1.run(PetOwnerListener.java:170) ~[?:?]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-1618]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1618]
commented

EchoPet now supports WorldGuard 6.0+

WorldGuard support is otherwise disabled if a compatible API version is not found. This will fix your issue :)

commented

@DSH105 Just a heads up, it seems users are unable to spawn in pets at all due to the class error.

[11:17:00] [Server thread/INFO]: mibby issued server command: /pet chicken
[11:17:00] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing 'pet chicken' in com.dsh105.echopet.commands.util.DynamicPluginCommand(pet)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:188) ~[spigot.jar:git-Spigot-1618]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1013) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:850) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:184) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1618]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1618]
Caused by: java.lang.IncompatibleClassChangeError: Found interface com.sk89q.worldguard.protection.ApplicableRegionSet, but class was expected
    at com.dsh105.echopet.compat.api.util.WorldUtil.allowRegion(WorldUtil.java:49) ~[?:?]
    at com.dsh105.echopet.compat.api.util.WorldUtil.allowPets(WorldUtil.java:32) ~[?:?]
    at com.dsh105.echopet.api.PetManager.createPet(PetManager.java:112) ~[?:?]
    at com.dsh105.echopet.commands.PetCommand.onCommand(PetCommand.java:409) ~[?:?]
    at com.dsh105.echopet.commands.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:45) ~[?:?]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-1618]
    ... 12 more
commented

WorldGuard changed its API.

If EchoPet is only checking if the player should have permission in a location, it may be better served if I add an API call specifically for that, not tied to regions.