This is @griffpatch project, a copy form him, and this was a challenge, so..... just read @griffpatch one, i'll not write it here, just check out!
Thanks to @griffpatch from the codes, and i clean up all the blocks, 100% coded by me(Not the code from me, just that i look and code every block!) If they were bugs, sorry, i can't really fix it tho d: