bergerhealer / TrainCarts

Minecarts redefined
MIT License
206 stars 64 forks source link

Switcher signs not working properly #285

Closed Disneykid93 closed 5 years ago

Disneykid93 commented 5 years ago

BkCommonLib version: 1.14.4-v1

Spigot version: 1.14.4-R0.1-SNAPSHOT

Problem or bug: Switcher signs using TCC on latest version of train carts/tcc plugin tends not to work properly on some straight/angle track and will bounce back trains when used to activate a destroy sign and will destroy the front car if empty as it bounces back, Have tried moving the sign on different sides of the block, but would either not work at all or still bounce the train back and destroy front car. However it will sometimes work as intended on certain track if switcher was moved on a opposite block face that it was previously on but on other track it will not.

Expected behaviour: Trains filled should keep moving to the destination and empty trains should be destroyed.

Steps to reproduce: Set up as seen below shows what it does. (command block is for respawing a button so ignore that) For steps to try and reproduce bug make angled TCC track and set up switcher destroyer as seen in the images and connect to a track node. (Hope you can reproduce bug and fix it as we open our server at the end of the month.)

2019-08-11_21 04 42

2019-08-11_20 48 53

bbayu123 commented 5 years ago

Transferred as it is a TrainCarts issue, not a BKCommonLib issue.

bbayu123 commented 5 years ago

Can you get a video here to show exactly what you mean? The dev is not able to respond immediately, so we would like to collect as much information as possible before he looks into this.

Disneykid93 commented 5 years ago

I will try to as i don't have access to the console and we reverted to the previous version we had before.

Disneykid93 commented 5 years ago

I will let the Dev on the server know so i can try and get that video to you.

zackatack108 commented 5 years ago

Here's the error message from our console from the latest version that we downloaded from the spigot site.

12.08 20:43:44 [Server] ERROR [Train_Carts] Failed to execute GROUP_ENTER for SignActionSwitcher: 12.08 20:43:44 [Server] INFO java.lang.NullPointerException: null 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.events.SignActionEvent.setRailsFromTo(SignActionEvent.java:440) ~[?:?] 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.events.SignActionEvent.setRailsTo(SignActionEvent.java:382) ~[?:?] 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.signactions.SignActionSwitcher.execute(SignActionSwitcher.java:153) ~[?:?] 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.signactions.SignAction.executeAll(SignAction.java:279) ~[?:?] 12.08 20:43:44 [Server] ERROR [Train_Carts] Failed to perform physics on train 'train1' at mk_210_72_1366: 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] java.util.ConcurrentModificationException 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at java.util.ArrayList$Itr.next(ArrayList.java:859) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.common.collections.List2DIterator.next(List2DIterator.java:53) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.components.SignTracker.updateActiveSigns(SignTracker.java:118) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.components.SignTrackerGroup.refresh(SignTrackerGroup.java:192) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.MinecartGroup.doPhysics_step(MinecartGroup.java:1482) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.MinecartGroup.doPhysics(MinecartGroup.java:1408) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.MinecartMember.onTick(MinecartMember.java:1918) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.common.internal.hooks.EntityHook.onTick(EntityHook.java:118) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.mountiplex.reflection.util.fast.GeneratedInvoker$mplgene336b2b.invokeVA(Unknown Source) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.mountiplex.reflection.util.FastMethod.invokeVA(FastMethod.java:112) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.mountiplex.reflection.ClassInterceptor$CallbackMethodInterceptor.intercept(ClassInterceptor.java:655) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.EntityMinecartRideable$$EnhancerByCGLIB$$525274f2.tick(<generated>) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.WorldServer.entityJoinedWorld(WorldServer.java:584) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.World.a(World.java:936) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.WorldServer.doTick(WorldServer.java:356) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1207) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:417) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1074) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:918) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at java.lang.Thread.run(Thread.java:748)

Disneykid93 commented 5 years ago

One more bug to Report in that when trains are present on a server when it goes down and restarted they appear as minecarts and not what they were saved as or showed up as.

zackatack108 commented 5 years ago

Here's the video that was requested: https://www.youtube.com/watch?v=9dZcU2hP7jo&feature=youtu.be

bbayu123 commented 5 years ago

Ok, are you using your switcher signs to toggle levers only, or to switch the track as well?

Disneykid93 commented 5 years ago

Mostly for levers used to destroy trains if they are empty and to replace a button as seen in the video, however switchers with 2: and 3: statements for diverting trains when empty seems to work fine, at least from what i have seen on the ride i installed it on.

Disneykid93 commented 5 years ago

We have found a temporary fix to our issue from our dev going though the plugin files and he found that adding "continue" on the last line of sign text might work and it has been at least for now.

bbayu123 commented 5 years ago

If its only toggling levers, line one should be changed to [-train] to prevent the rail switcher from kicking in, you adding continue there might have introduced a new bug

Disneykid93 commented 5 years ago

I will give it a try and see what happens.

Disneykid93 commented 5 years ago

I have given your sign change a try in some areas that we were having the issue and it indeed worked and the command block still activated, but if we run into this problem again i will let you know and also hope this still gets fixed for those who don't know whats going on with their trains that have the same problem that we had.

bbayu123 commented 5 years ago

Here's the error message from our console from the latest version that we downloaded from the spigot site.

12.08 20:43:44 [Server] ERROR [Train_Carts] Failed to execute GROUP_ENTER for SignActionSwitcher: 12.08 20:43:44 [Server] INFO java.lang.NullPointerException: null 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.events.SignActionEvent.setRailsFromTo(SignActionEvent.java:440) ~[?:?] 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.events.SignActionEvent.setRailsTo(SignActionEvent.java:382) ~[?:?] 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.signactions.SignActionSwitcher.execute(SignActionSwitcher.java:153) ~[?:?] 12.08 20:43:44 [Server] INFO at com.bergerkiller.bukkit.tc.signactions.SignAction.executeAll(SignAction.java:279) ~[?:?] 12.08 20:43:44 [Server] ERROR [Train_Carts] Failed to perform physics on train 'train1' at mk_210_72_1366: 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] java.util.ConcurrentModificationException 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at java.util.ArrayList$Itr.next(ArrayList.java:859) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.common.collections.List2DIterator.next(List2DIterator.java:53) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.components.SignTracker.updateActiveSigns(SignTracker.java:118) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.components.SignTrackerGroup.refresh(SignTrackerGroup.java:192) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.MinecartGroup.doPhysics_step(MinecartGroup.java:1482) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.MinecartGroup.doPhysics(MinecartGroup.java:1408) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.tc.controller.MinecartMember.onTick(MinecartMember.java:1918) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.bukkit.common.internal.hooks.EntityHook.onTick(EntityHook.java:118) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.mountiplex.reflection.util.fast.GeneratedInvoker$mplgene336b2b.invokeVA(Unknown Source) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.mountiplex.reflection.util.FastMethod.invokeVA(FastMethod.java:112) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at com.bergerkiller.mountiplex.reflection.ClassInterceptor$CallbackMethodInterceptor.intercept(ClassInterceptor.java:655) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.EntityMinecartRideable$$EnhancerByCGLIB$$525274f2.tick(<generated>) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.WorldServer.entityJoinedWorld(WorldServer.java:584) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.World.a(World.java:936) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.WorldServer.doTick(WorldServer.java:356) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1207) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:417) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1074) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:918) 12.08 20:43:44 [Server] ERROR [BKCommonLib] [BKCommonLib] at java.lang.Thread.run(Thread.java:748)

If this still occurs, please open a new issue ticket for this, and add information as to when this happens

I have given your sign change a try in some areas that we were having the issue and it indeed worked and the command block still activated, but if we run into this problem again i will let you know and also hope this still gets fixed for those who don't know whats going on with their trains that have the same problem that we had.

The thing that was happening with you, is that the switcher is powered by !, thus it was launching the train towards the switcher's left. Using - disables the switching part.