Adventure-Terraria-Server-Project / AdvancedCircuits-Plugin

Advanced Circuits Plugin for Terraria Server API and TShock.
GNU General Public License v3.0
8 stars 8 forks source link

Activator blocks doesn't work on more than 1 tile high Silt block #40

Closed zaqen closed 11 years ago

zaqen commented 11 years ago

As the title says, the activator cannot handle more than 1 tile high masses of silt. It's possible to use multiple activators that take one layer each but i feel that it shouldn't be necessary.

Activation Blocks

In the lower example only 1x8 tiles are removed by the activator and the 2nd layer is ignored and falls down.

EDIT: It was late and i forgot that it only worked for silt and not the other 3 sand types. I also updated the picture to show AC wiring and the use of silt blocks.

Ijwu commented 11 years ago

That's interesting. My guess is that the the processing starts at the bottom left, going up by column or right by row. When a sand block is removed the block over it turns into a projectile, and is no longer a tile to be removed, and the Activator finishes processing before it lands. (Big if) If this is the case, CoderCow just needs to change it to start processing at the top left (or top right) and move in a way that doesn't pull blocks out from under others.

Again, just my guess. I'd look into the source to tell you definitively but I'm not really able to read the source very well here on GitHub.

CoderCow commented 11 years ago

This looks like some big bug because Sand is not actually meant to work with Block Activators at all, will do some debugging around this.

Edit: Wait, what the hell? The circuits on your image are Vanilla Circuits, how is this even working? Edit 2: Tried to reproduce this, works fine for me (no Sand is removed) and if wired exactly as you did, the Block Activator is not signaled at all - just as it should be.

zaqen commented 11 years ago

I'm sorry for doing it in vanilla, i just made this to visualize the problem. I'll just update the image. I should also have stressed that regular sand does not work (neither does pearlsand or ebonsand for that matter).

The tests were done with Silt, which is the 4th material affected by gravity.

CoderCow commented 11 years ago

Well, looks like I forgot to exclude Silt then, so this is still a valid bug and will be fixed so that Silt will not work anymore.

If you really need Block Activators to handle falling blocks, file a new issue for it.