Pasting IF clause into else-if breaks the condition


#1

I was trying to convert an IF that I had inside the ELSE section of a pistion, to being an advanced ELSE IF statement. When doing this I copied the IF, and when I went to create the ELSE IF I told pasted it from the clipboard. When doing this, it breaks the ELSE IF such that the THEN clause no longer works. I also can no longer delete this ELSE IF as the THEN clause remains still. If I simply create the ELSE IF by selecting the exact same comparisons as I Was pasting, everything works fine.

I have at least two of these in my pistion now that I can’t get rid of. Although they don’t break the piston from working since they don’t evaluate anything and they can’t take any actions, I can’t find any way to get rid of them either.


#2

This sounds similar to a previous bug report. It was suspected to be related to copy and paste but seemed like it happened again in an unrelated scenario.

It sounds like you may have found a repeatable scenario. I created a blank piston with an if, nested another if inside it, then copied that condition into the outer else if and the piston became corrupted as you described.

Unfortunately there is no known fix for these else if’s, I think it is a piston data corruption issue. The piston needs to be rebuilt from a blank slate. If you have to piston editor tabs open in your browser it should be possible to copy and paste between them but I would avoid copying anything in the if/else if conditions.


#3

Thanks, I’ll have to find a time to rebuild from blank. I think mine is actually broken, it throws a Java exception when registering to events now. I’ll find out when I recreate if that was from this corruption or some other part unrelated.


#4

I have re-built my piston with out making this error. I am no longer getting the Java errors and I don’t think I changed anything else. So I would say I was incorrect that this didn’t break the piston. It probably does break it. However knowing what to avoid doing, really helps since it can’t be recovered.