Jcode - Official Forum

Welcome to the Jcode Official forum! Jcode is a mod of Snap! that aims to bring new functionality and quirks.

Please stay on topic, and follow the Snap! Forums community guidelines.
PLEASE STOP COMPLAINING ABOUT THE NEW LIBRARIES, I AM VERY NEW TO MODDING

You can try out Jcode here.
You can view the Jcode Source code here.
View the official website here.
View the devlog here.

You are more then welcome to contribute to the Github Repo, any help modding Snap! is much appreciated!

Please do not complain about there not being a bunch of modifications, I am working super hard on this (and basically, I have no idea how the code is structured, so that's why new mods are taking so long. I'm having to work out the code myself.)

P.S. if @jens or one of the Snap! devs could tell me some modding tips, that would be great. I'm about 11 years old anyway. I believe I emailed the contact email and @bh replied to me the next day. The title was "Modding Snap! and publishing it" if that will come useful. (at that point I could not login to my Snap! account, but now I'm logged in I figured I would tie the email and my account together)

©Jcode 2025. All rights reserved (my Dad is working on that legal stuff :rofl:)

Thank you for showing interest in Jcode!


Please do NOT unlist this topic. The old one was unfairly unlisted because the devlog was not released, but I was working on one at the time. You can view the devlog here.

Is this any different from Snap?

Thank you for the advice.

Yes, view the changelog to find out more! Also, it has better performance with Snap, and is cross-compatible with Snap and Scratch (a big thank you to Deborah Servilla for the Scratch > Jcode converter source code)

why did you lock it onto flat design? just wondering. also, are there any changes other than speed improvements?

Tell your dad that Snap! is published under the AGPL, which means that you can do whatever you want with it, but you can't make a modified version proprietary; it has to be released under the same license.

(The same is true of projects published on our web site; the license is different (CC BY-NC-SA) but the principle is the same.)


You won't like it: Don't be in such a hurry to mod a system you don't understand. You could usefully spend a year reading the code, if you want to understand how Snap! works. Start by reading the huge long comment at the beginning of morphic.js.

Or just tell your dad to look at the LICENSE file.

Ok! Thanks for the advice. I think I have all the licensing stuff correct, and Jcode is licensed under the GNU Affero General Public License. Is that correct?

Can you please look at the credits section of the Jcode Website to see if I got everything correct? Thanks!

Yes, I added new libraries too. I am also working on more cross compatibility, for a Snap! to Scratch converter instead of just a Scratch to Snap! converter.

That is the one in the LICENSE file in the snap source code, so yes, that is correct.

One quibble: You don't have to accept the license to download or use Snap!; it's only if you modify and redistribute it that the license comes into play. And the same for Jcode.

Ohh I understand. Thank you!

The flat design should not be locked. Sorry about that!

I just patched that today.

You can go to the website* or you can go to the Github Repo to view the patch.

*The website can take awhile to update. Download the latest version from the Github Repo to get the changes now (The Github Repo is more reliable anyways)

I'm sorry, but the only differences I can find in this entire mod is the modified Snap! logo, a modified "About Snap!" dialog (with literally all of the credits except a few removed), forced flat dark mode, and two libraries that were converted from Scratch that don't really do much of anything.

Literally the #1 rule of internet safety for minors is to not post your age online to people you don't know, and you just completely disregarded that. The "about" implies you aren't even {age}, too!

You have no right to license this in any way that isn't what Snap uses; this is largely not your code at all. Please read the LICENSE file in the main directory of the Snap! source.

Could mean a little less or a little more. :~)

We've been through the license discussion. Please read to the end of a thread before replying to it!

I am trying my best to mod this, please do not boggle at me. The forced flat mode is fixed, Idk why the website has not updated. Please rely on the Github Repo for the latest changes. I am sorry for the inconvenience.

I am allowed to share my basic age. It is not exact, as @bh pointed out, "Could mean a little less or a little more. :~)"

I have a understanding for internet security, and I purposely said about. I am trying to imply I am a kid, while not giving my exact age. Thank you for your concern, I'll keep that in mind.

That's loads of work, since Snap!, and potentially Jcode would have a lot of features that are incompatible with Scratch. I am afraid to say that this would be mostly unachievable.

Nah, I'll still try. If there is a block that is incompatible I'll mark it as a custom block in Scratch.

Thanks!

you're allowed to say any age, but you really, really shouldn't.

oh god. for any advanced snap project, almost ~50% of the blocks will be undefined.

nice, but those blocks seem to be blocks made with scratch, not snap. could you please change this?.