CommandHelper

CommandHelper

46.5k Downloads

player_portal_travel

LadyCailinBot opened this issue ยท 5 comments

commented

CMDHELPER-3005 - Reported by SirWill

hey,
is there any way that commandhelper doesn't spam the console if I use the player_portal_travel event and use a portal of a mod?

[13:03:59 ERROR]: [CommandHelper][ERROR][RUNTIME] When trying to convert org.bukkit.event.player.PlayerTeleportEvent$TeleportCause.MOD to a com.laytonsmith.abstraction.enums.MCTeleportCause, no match was found. This may be caused by an old plugin version, or a newer server version.
[13:03:59 ERROR]: Could not pass event PlayerPortalEvent to CommandHelper v3.3.1-SNAPSHOT.2780-
org.bukkit.event.EventException
>       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:338) ~[JavaPluginLoader$1.class:git-Cauldron-MCPC-Plus-1.7.10-1.1231.01.207]
>       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[RegisteredListener.class:git-Cauldron-MCPC-Plus-1.7.10-1.1231.01.207]
>       at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507) [SimplePluginManager.class:git-Cauldron-MCPC-Plus-1.7.10-1.1231.01.207]
>       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:492) [SimplePluginManager.class:git-Cauldron-MCPC-Plus-1.7.10-1.1231.01.207]
>       at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:868) [oi.class:?]
>       at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:816) [oi.class:?]
>       at thaumic.tinkerer.common.block.kami.BlockBedrockPortal.func_149670_a(BlockBedrockPortal.java:133) [BlockBedrockPortal.class:?]
>       at net.minecraft.entity.Entity.func_145775_I(Entity.java:1061) [sa.class:?]
>       at net.minecraft.entity.Entity.func_70091_d(Entity.java:618) [sa.class:?]
>       at micdoodle8.mods.galacticraft.core.entities.player.GCEntityPlayerMP.func_70091_d(GCEntityPlayerMP.java:51) [GCEntityPlayerMP.class:?]
>       at net.minecraft.entity.EntityLivingBase.func_70612_e(EntityLivingBase.java:1745) [sv.class:?]
>       at net.minecraft.entity.player.EntityPlayer.func_70612_e(EntityPlayer.java:1863) [yz.class:?]
>       at net.minecraft.entity.EntityLivingBase.func_70636_d(EntityLivingBase.java:2077) [sv.class:?]
>       at net.minecraft.entity.player.EntityPlayer.func_70636_d(EntityPlayer.java:624) [yz.class:?]
>       at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:1868) [sv.class:?]
>       at net.minecraft.entity.player.EntityPlayer.func_70071_h_(EntityPlayer.java:316) [yz.class:?]
>       at net.minecraft.entity.player.EntityPlayerMP.func_71127_g(EntityPlayerMP.java:393) [mw.class:?]
>       at net.minecraft.network.NetHandlerPlayServer.func_147347_a(NetHandlerPlayServer.java:496) [nh.class:?]
>       at net.minecraft.network.play.client.C03PacketPlayer.func_148833_a(C03PacketPlayer.java:36) [jd.class:?]
>       at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.func_148833_a(C03PacketPlayer.java:144) [je.class:?]
>       at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:244) [ej.class:?]
>       at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:173) [nc.class:?]
>       at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:980) [MinecraftServer.class:?]
>       at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:423) [lt.class:?]
>       at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798) [MinecraftServer.class:?]
>       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658) [MinecraftServer.class:?]
>       at java.lang.Thread.run(Thread.java:745) [?:1.7.0_72]
Caused by: java.lang.IllegalArgumentException: No enum constant com.laytonsmith.abstraction.enums.MCTeleportCause.MOD
>       at java.lang.Enum.valueOf(Enum.java:236) ~[?:1.7.0_72]
>       at com.laytonsmith.abstraction.enums.EnumConvertor.getAbstractedEnum(EnumConvertor.java:66) ~[?:?]
>       at com.laytonsmith.abstraction.bukkit.events.BukkitPlayerEvents$BukkitMCPlayerTeleportEvent.getCause(BukkitPlayerEvents.java:285) ~[?:?]
>       at com.laytonsmith.core.events.drivers.PlayerEvents$player_portal_travel.matches(PlayerEvents.java:471) ~[?:?]
>       at com.laytonsmith.core.events.EventUtils.GetMatchingEvents(EventUtils.java:207) ~[?:?]
>       at com.laytonsmith.core.events.EventUtils.TriggerListener(EventUtils.java:241) ~[?:?]
>       at com.laytonsmith.abstraction.bukkit.events.drivers.BukkitPlayerListener.onPortalEnter(BukkitPlayerListener.java:256) ~[?:?]
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_72]
>       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_72]
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_72]
>       at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_72]
>       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:334) ~[JavaPluginLoader$1.class:git-Cauldron-MCPC-Plus-1.7.10-1.1231.01.207]
>       ... 26 more

commented

Comment by sat

i have same issue with SNAPSHOT 2807 on last spigot 1.8

[22:39:26] [Server thread/ERROR]: Could not pass event PlayerPortalEvent to CommandHelper v3.3.1-SNAPSHOT.2807-
org.bukkit.event.EventException
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot18.jar:git-Spigot-330d66b-fe41b01]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot18.jar:git-Spigot-330d66b-fe41b01]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.PlayerList.changeDimension(PlayerList.java:623) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.EntityPlayer.c(EntityPlayer.java:526) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.Entity.K(Entity.java:277) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.EntityLiving.K(EntityLiving.java:163) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.Entity.s_(Entity.java:244) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.EntityLiving.s_(EntityLiving.java:1406) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.EntityHuman.s_(EntityHuman.java:173) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.EntityPlayer.l(EntityPlayer.java:282) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:366) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.PacketPlayInFlying.a(SourceFile:126) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.PacketPlayInPosition.a(SourceFile:57) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_65]
	at java.util.concurrent.FutureTask.run(FutureTask.java:262) [?:1.7.0_65]
	at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:683) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot18.jar:git-Spigot-330d66b-fe41b01]
	at java.lang.Thread.run(Thread.java:745) [?:1.7.0_65]
Caused by: java.lang.IncompatibleClassChangeError: Found interface com.sk89q.worldguard.protection.ApplicableRegionSet, but class was expected
	at com.laytonsmith.core.functions.WorldEdit$sk_current_regions.exec(WorldEdit.java:678) ~[?:?]
	at com.laytonsmith.core.Script.eval(Script.java:353) ~[?:?]
	at com.laytonsmith.core.Script.eval(Script.java:322) ~[?:?]
	at com.laytonsmith.core.Script.eval(Script.java:322) ~[?:?]
	at com.laytonsmith.core.MethodScriptCompiler.execute(MethodScriptCompiler.java:1908) ~[?:?]
	at com.laytonsmith.core.MethodScriptCompiler.execute(MethodScriptCompiler.java:1865) ~[?:?]
	at com.laytonsmith.core.events.AbstractEvent.execute(AbstractEvent.java:98) ~[?:?]
	at com.laytonsmith.core.events.BoundEvent.execute(BoundEvent.java:320) ~[?:?]
	at com.laytonsmith.core.events.BoundEvent.trigger(BoundEvent.java:278) ~[?:?]
	at com.laytonsmith.core.events.EventUtils.FireListeners(EventUtils.java:254) ~[?:?]
	at com.laytonsmith.core.events.EventUtils.TriggerListener(EventUtils.java:241) ~[?:?]
	at com.laytonsmith.abstraction.bukkit.events.drivers.BukkitPlayerListener.onPortalEnter(BukkitPlayerListener.java:256) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65]
	at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65]
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot18.jar:git-Spigot-330d66b-fe41b01]
	... 22 more

Just on travel portal.

commented

Comment by PseudoKnight

That's a separate problem. I believe you're using WG6 with CH, which are still incompatible as of this time. You're running sk_current_regions() in a player_portal_travel event bind. Either you have to use WG 5.9 or remove sk_current_regions() and other WG functions from your scripts.

commented

Comment by TheChampTF

Can confirm this issue on CraftBukkit 1.8 also if you are using WG 6+

commented

Comment by PseudoKnight

It's a Cauldron specific issue, not CraftBukkit 1.8. In fact, try searching for "TeleportCause.MOD" on Google. Nothing but this issue pops up. Found their changelog that mentions it though:

"Added new "TeleportCause.MOD" which will now be used when mods call
transferPlayerToDimension. In addition, a PlayerPortalEvent will be fired
for mod portals with this cause. This will allow plugins to block
teleports to these custom mod dimensions."

Of course they didn't consider plugins with platform specific abstraction layers. heh. This is an easy fix if you want to make a custom build of CommandHelper. You'd simply add MOD to this list:
https://github.com/sk89q/CommandHelper/blob/master/src/main/java/com/laytonsmith/abstraction/enums/MCTeleportCause.java
This will stop the error and allow you to handle the event in your scripts.

I should note that the error itself is not directly causing any damage. If you don't need to use that event for anything, then it's probably not an issue, aside from the spam.

commented

Comment by PseudoKnight

There is no teleport cause "MOD" in the Bukkit/Spigot API. This looks like a Cauldron issue. I'm not sure why they would add that to the ENUM if their goal is plugin compatibility.