ComputerCraft Event System Flowchart

Started by KingofGamesYami, Aug 13, 2018, 01:17 am

Previous topic - Next topic

KingofGamesYami

Aug 13, 2018, 01:17 am Last Edit: Aug 14, 2018, 01:59 am by KingofGamesYami Reason: Fix issue Incin pointed out
Reposted from here

I decided to make a visual of the event system. It's not by any means perfect, but I'd like to say it's pretty nice.

Made with lucidchart.
I'm a ComputerCraft veteran with over 3k posts on the old ComputerCraft Forum.  I'm mostly inactive in CC having moved on to bigger, more interesting projects but still contribute to the community.

Lignum

Oof, this is a great image for scaring beginners out of using the coroutine API. Either way, very nice chart, you did an awesome job!

Yemmel

It's fascinating to see how it all comes together, you wouldn't imagine it was this complex. Very cool stuff!

Incin

Great stuff. Only thing I would say is that in the bottom right under the condition that the program calls coroutine.yield directly, if I'm not mistaken it will still check the status of the coroutine and perform the appropriate action instead of bypassing that and going directly to the "set filter" section.
To understand recursion, you must first understand recursion.

KingofGamesYami

Quote from: Incin on Aug 13, 2018, 04:08 pmGreat stuff. Only thing I would say is that in the bottom right under the condition that the program calls coroutine.yield directly, if I'm not mistaken it will still check the status of the coroutine and perform the appropriate action instead of bypassing that and going directly to the "set filter" section.

Yeah, that's a mistake.  I'll see if I can figure out what account I made this on and if I can update it.
I'm a ComputerCraft veteran with over 3k posts on the old ComputerCraft Forum.  I'm mostly inactive in CC having moved on to bigger, more interesting projects but still contribute to the community.

KingofGamesYami

I'm a ComputerCraft veteran with over 3k posts on the old ComputerCraft Forum.  I'm mostly inactive in CC having moved on to bigger, more interesting projects but still contribute to the community.