Sponge forge and Betweenlands mod - exception when moving between dimenstions

Hi. I am getting one exception when running forgesponge with TheBetweenlands mod. When using the Betweenlands portal tree to come back from one dimension to another (usually from betweenlands to overworld) we sometimes get the exception below, which also seems to affect the mod and cause it to getnerate new portal trees. Not always, but we are up to five portal trees when we only created one originally! These things are big also, so starting to look odd now. hehe. I will send the error to the Betweenlands team also, but thought I would check here just in case anyone has experience of using 1.10.2 sponge forge this with particular mod. We use the sponge plugin so we can have the server accessible from our Bungeecord hub.

Thanks everyone.

Running :

forge-1.10.2-12.18.3.2202
spongeforge-1.10.2-2221-5.2.0-BETA-2223.jar
TheBetweenlands-2.0.2-alpha

Exception:

[16:11:31] [Server thread/ERROR] [Sponge/]: //
[16:11:31] [Server thread/ERROR] [Sponge/]: /
/
[16:11:31] [Server thread/ERROR] [Sponge/]: /* Unexpected World Change Detected /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
/
[16:11:31] [Server thread/ERROR] [Sponge/]: /
Sponge’s tracking system is very dependent on knowing when a change to any world takes place, however there are chances where Sponge does not know of changes that mods may perform. In cases like this, it is best to report to Sponge to get this change tracked correctly and accurately. /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
/
[16:11:31] [Server thread/ERROR] [Sponge/]: /
StackTrace: /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
java.lang.Exception: null /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
org.spongepowered.common.event.tracking.CauseTracker.setBlockState(CauseTracker.java:443) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.WorldServer.func_180501_a(WorldServer.java:2665) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.block.BlockBush.func_176475_e(BlockBush.java:66) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.block.BlockBush.func_189540_a(BlockBush.java:53) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.block.state.BlockStateContainer$StateImplementation.func_189546_a(BlockStateContainer.java:463) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
org.spongepowered.common.event.tracking.CauseTracker.notifyBlockOfStateChange(CauseTracker.java:385) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.WorldServer.func_175685_c(WorldServer.java:2765) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.World.func_175722_b(World.java:423) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.WorldServer.spongeNotifyNeighborsPostBlockChange(WorldServer.java:2848) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
org.spongepowered.common.event.tracking.TrackingUtil.performBlockAdditions(TrackingUtil.java:709) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
org.spongepowered.common.event.tracking.TrackingUtil.processBlockCaptures(TrackingUtil.java:627) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
org.spongepowered.common.entity.EntityUtil.handleDisplaceEntityPortalEvent(EntityUtil.java:475) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.server.management.PlayerList.transferEntityToWorld(PlayerList.java:1944) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
thebetweenlands.common.world.teleporter.TeleporterHandler.transferEntity(TeleporterHandler.java:79) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
thebetweenlands.common.world.teleporter.TeleporterHandler.transferToOverworld(TeleporterHandler.java:26) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
thebetweenlands.common.block.structure.BlockTreePortal.func_180634_a(BlockTreePortal.java:234) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.Entity.redirect$onEntityCollideWithBlockState$zcm000(Entity.java:5682) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.Entity.func_145775_I(Entity.java:934) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.Entity.func_70091_d(Entity.java:855) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.EntityLivingBase.func_70612_e(EntityLivingBase.java:1795) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.EntityLivingBase.func_70636_d(EntityLivingBase.java:2217) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.EntityLiving.func_70636_d(EntityLiving.java:577) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.EntityAgeable.func_70636_d(EntityAgeable.java:155) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.passive.EntityAnimal.func_70636_d(SourceFile:41) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:2013) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java:295) /
[16:11:31] [Server thread/ERROR] [Sponge/]: /
org.spongepowered.common.event.tracking.TrackingUtil.tickEntity(TrackingUtil.java:156) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.WorldServer.redirect$onCallEntityUpdate$zjn000(WorldServer.java:2810) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.World.func_72866_a(World.java:4071) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:839) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.World.func_72870_g(World.java:1934) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.World.func_72939_s(World.java:5954) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:2153) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:709) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
java.lang.Thread.run(Thread.java:745) /
[16:11:32] [Server thread/ERROR] [Sponge/]: /
***********************************************************************************************************************************************************************************************************************************************************************************************/

Yep, this is Sponge’s fault. It has its own tracker for why events (like placing or breaking blocks) occur, and that tracker is currently per-dimension. It saw something happening in one dimension and started to track events there, but didn’t know to track the other dimension. Then it saw some untracked changes occurring in the other dimension and, well, now it’s screaming like a mob of angry endermen.

I’d definitely like to look into a fix (as in, making the tracker global; I’ve been having a vaguely related issue that this would also fix). I may or may not be able to find time, though. Then again, there are quite a few other Sponge developers that can also check this out.

Try with the latest spongeforge, I think this issue should be fixed now.

Indeed it is. Thanks a lot for the quick turn around on that.