JimiIT92 / UniverseGuard2

An easy to use world protection plugin for Sponge
https://ore.spongepowered.org/Francesco_Jimi/Universe-Guard
GNU General Public License v3.0
19 stars 3 forks source link

Could not pass the event CollideBlockEvent$Impl to an Event Listener! #166

Open GodMorduk opened 3 years ago

GodMorduk commented 3 years ago

This appears after I log into the world and fly around a bit

[13:42:11] [Server thread/WARN] [Sponge]: /***************************************************************************************************************************************/
[13:42:11] [Server thread/WARN] [Sponge]: /*                                               Could not pass  CollideBlockEvent$Impl                                                */
[13:42:11] [Server thread/WARN] [Sponge]: /***************************************************************************************************************************************/
[13:42:11] [Server thread/WARN] [Sponge]: /* Could not pass the event CollideBlockEvent$Impl to an Event Listener!                                                               */
[13:42:11] [Server thread/WARN] [Sponge]: /*                                                                                                                                     */
[13:42:11] [Server thread/WARN] [Sponge]: /* Since the event can be modified during the event's listener,                                                                        */
[13:42:11] [Server thread/WARN] [Sponge]: /* there could be adverse side effects of the exception occurring                                                                      */
[13:42:11] [Server thread/WARN] [Sponge]: /* such that duplications or other game breaking issues could exist.                                                                   */
[13:42:11] [Server thread/WARN] [Sponge]: /*                                                                                                                                     */
[13:42:11] [Server thread/WARN] [Sponge]: /* Due to the nature of the exception, this is not likely an exception                                                                 */
[13:42:11] [Server thread/WARN] [Sponge]: /* that is covered by SpongeForge or Forge itself, and therefore should                                                                */
[13:42:11] [Server thread/WARN] [Sponge]: /* be reported to the mod/plugin author first prior to reporting to                                                                    */
[13:42:11] [Server thread/WARN] [Sponge]: /* Sponge or Forge.                                                                                                                    */
[13:42:11] [Server thread/WARN] [Sponge]: /*                                                                                                                                     */
[13:42:11] [Server thread/WARN] [Sponge]: /* Owning Mod/Plugin: universeguard                                                                                                    */
[13:42:11] [Server thread/WARN] [Sponge]: /* Exception:                                                                                                                          */
[13:42:11] [Server thread/WARN] [Sponge]: /*     java.lang.IllegalArgumentException:                                                                                             */
[13:42:11] [Server thread/WARN] [Sponge]: /*     Cannot get property                                                                                                             */
[13:42:11] [Server thread/WARN] [Sponge]: /*     PropertyBool{name=decayable,                                                                                                    */
[13:42:11] [Server thread/WARN] [Sponge]: /*     clazz=class java.lang.Boolean,                                                                                                  */
[13:42:11] [Server thread/WARN] [Sponge]: /*     values=[true, false]} as it does not                                                                                            */
[13:42:11] [Server thread/WARN] [Sponge]: /*     exist in                                                                                                                        */
[13:42:11] [Server thread/WARN] [Sponge]: /*     BlockStateContainer{block=dynamictre                                                                                            */
[13:42:11] [Server thread/WARN] [Sponge]: /*     sbop:leaves_flowering,                                                                                                          */
[13:42:11] [Server thread/WARN] [Sponge]: /*     properties=[can_flower, fast_leaves,                                                                                            */
[13:42:11] [Server thread/WARN] [Sponge]: /*     flowering, hydro, tree]}                                                                                                        */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.block.state.BlockStateContainer$StateImplementation.func_177229_b(BlockStateContainer.java:201)                   */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.block.BlockLeaves.impl$getIsDecayableFor(BlockLeaves.java:647)                                                    */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.block.BlockLeaves.bridge$getManipulators(BlockLeaves.java:709)                                                    */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.block.state.BlockStateContainer$StateImplementation.lazyLoadManipulatorsAndKeys(BlockStateContainer.java:726)     */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.block.state.BlockStateContainer$StateImplementation.getKeys(BlockStateContainer.java:911)                         */
[13:42:11] [Server thread/WARN] [Sponge]: /*     com.universeguard.utils.FlagUtils.getInteract(FlagUtils.java:206)                                                               */
[13:42:11] [Server thread/WARN] [Sponge]: /*     com.universeguard.event.flags.FlagInteractListener.onCollideBlock(FlagInteractListener.java:63)                                 */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.listener.CollideBlockEventListener_FlagInteractListener_onCollideBlock280.handle(Unknown Source) */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:97)                                            */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383)                                          */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:458)                                  */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:419)                                          */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:467)                                             */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:249)                                                              */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.SpongeCommonEventFactory.handleCollideBlockEvent(SpongeCommonEventFactory.java:1096)             */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.Entity.redirect$zff000$spongeImpl$onEntityCollideWithBlockState(Entity.java:8203)                          */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.Entity.func_145775_I(Entity.java:1044)                                                                     */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.Entity.func_70091_d(Entity.java:964)                                                                       */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityLivingBase.func_191986_a(EntityLivingBase.java:1958)                                                 */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityLivingBase.func_70636_d(EntityLivingBase.java:2393)                                                  */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityLiving.func_70636_d(EntityLiving.java:577)                                                           */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityAgeable.func_70636_d(EntityAgeable.java:178)                                                         */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.passive.EntityAnimal.func_70636_d(SourceFile:43)                                                           */
[13:42:11] [Server thread/WARN] [Sponge]: /*     com.animania.addons.extra.common.entity.peafowl.EntityAnimaniaPeacock.func_70636_d(EntityAnimaniaPeacock.java:261)              */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityLivingBase.TickCentral_TrueOnUpdateTick(EntityLivingBase.java:2179)                                  */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityLiving.TickCentral_TrueOnUpdateTick(EntityLiving.java:295)                                           */
[13:42:11] [Server thread/WARN] [Sponge]: /*     com.github.terminatornl.tickcentral.api.TickHub.trueOnUpdate(TickHub.java:56)                                                   */
[13:42:11] [Server thread/WARN] [Sponge]: /*     com.github.terminatornl.tickcentral.api.TickInterceptor.redirectOnUpdate(TickInterceptor.java:28)                               */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java)                                                              */
[13:42:11] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.tracking.TrackingUtil.tickEntity(TrackingUtil.java:167)                                          */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.world.WorldServer.redirect$zmk000$onCallEntityUpdate(WorldServer.java:4761)                                       */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.world.World.func_72866_a(World.java:1996)                                                                         */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)                                                              */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.world.World.func_72870_g(World.java:1958)                                                                         */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.world.World.func_72939_s(World.java:1762)                                                                         */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:3931)                                                             */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767)                                                     */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397)                                           */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)                                                     */
[13:42:11] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)                                                              */
[13:42:11] [Server thread/WARN] [Sponge]: /*     java.lang.Thread.run(Thread.java:748)                                                                                           */
[13:42:11] [Server thread/WARN] [Sponge]: /***************************************************************************************************************************************/
JimiIT92 commented 3 years ago

Looks like an issue with dynamictrees mod. Can you please share a region file where this is occurring? By the error I assume is the decay flag trying to read the decayable property from a mod block but failing, but I need an exact region configuration to confirm this

GodMorduk commented 3 years ago

I'm not sure how to identify which region file it was. But I'm having a lot of region files, and all of them should contain dynamic trees. Can I provide any on them?

JimiIT92 commented 3 years ago

Yes, one of them is fine. This is a really strange bug and possibly a Sponge bug... when the block is placed the event for "placing a block" is captured. In that function the plugin checks some keys for some particular cases, like pistons or frosted ice. It looks like that looking up for those keys is what is causing the issue, which is really weird. Essentially Sponge complains that the leaf block does not have the decayable property, which is true, however the plugin in that function doesn't check that property, so it makes no sense to complain for something that the plugin doesn't checks :/ I'll keep this up when I find new informations EDIT: Sponge issue: https://github.com/SpongePowered/SpongeAPI/issues/2318

GodMorduk commented 3 years ago

Sorry not sending you file before - got a very busy days. Now it seems that region file not needed anymore, but can do if needed.

It seems that it would take a while to fix it. Is there any workaround for now?

JimiIT92 commented 3 years ago

Unfortunately that does seem like a Sponge implementation bug. As suggested on their repo I tried using a newer version of Sponge on a test server, like 7.3.0, but still getting the error :/

GodMorduk commented 3 years ago

@JimiIT92 is there any temp workaround? Like disable some flags etc. Its flooding my logs...

JimiIT92 commented 3 years ago

You should disable place/destroy flags, which of course is not optimal.... I tried contacting Sponge directly but got no luck, since other plugins seems to have this issue when checking the context keys. Still figuring out why this happen, might as well forking the Sponge repo directly and see into the Sponge code itself what's the problem