Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
fa85b21
Add nodes.js extension for Scratch
ZiploxWasTaken May 10, 2026
e2dea3c
Change extension ID from 'nodesystem' to 'ziploxnodesystem'
ZiploxWasTaken May 10, 2026
40edc5e
Add new file fdghdg to EverythingAcc0unt directory
ZiploxWasTaken May 10, 2026
22bfd70
Add files via upload
ZiploxWasTaken May 10, 2026
6568d9f
Delete static/images/EverythingAcc0unt/fdghdg
ZiploxWasTaken May 10, 2026
72723e9
Rename Nodes (1).svg to Nodes.svg
ZiploxWasTaken May 10, 2026
a8a7ed0
Create Node-System.md
ZiploxWasTaken May 10, 2026
0c9e42b
Create documentation for Node System
ZiploxWasTaken May 10, 2026
9a83139
Update Node-System.md with introduction and example
ZiploxWasTaken May 10, 2026
5984542
Add Nodes extension with description and creator
ZiploxWasTaken May 10, 2026
70bef6e
Add tags property to Nodes extension
ZiploxWasTaken May 10, 2026
cb644c6
Remove unused variables from nodes.js
ZiploxWasTaken May 10, 2026
6d76b77
Rename class Extension to NodeSystem
ZiploxWasTaken May 10, 2026
ea0e2ae
Refactor node management functions in nodes.js
ZiploxWasTaken May 10, 2026
dab6379
Update extension ID and name in nodes.js
ZiploxWasTaken May 10, 2026
eb4cf9f
Add blockIconURI to node info
ZiploxWasTaken May 10, 2026
9e3b9b9
Refactor nodes array to use Map for storage
ZiploxWasTaken May 10, 2026
6b1b2e8
Refactor NodeSystem class and update getInfo method
ZiploxWasTaken May 10, 2026
7ac4f42
Refactor unlinkNodes to improve readability
ZiploxWasTaken May 10, 2026
f7306de
Delete src/lib/Documentation/Node-System.md
ZiploxWasTaken May 10, 2026
87385cf
Refactor node search to use find method
ZiploxWasTaken May 10, 2026
dcffc22
Remove 'hideFromPalette' and 'disableMonitor' properties
ZiploxWasTaken May 10, 2026
d35cbf9
Simplify link removal from nodes
ZiploxWasTaken May 10, 2026
07df7c8
Refactor goDirection block with new properties
ZiploxWasTaken May 10, 2026
1b811ec
Clean up unlinkNodes method by removing comment
ZiploxWasTaken May 10, 2026
ab63114
Refactor node ID handling to use Scratch.Cast
ZiploxWasTaken May 10, 2026
bb823ab
Update print statement from 'Hello' to 'Goodbye'
ZiploxWasTaken May 10, 2026
cd852c5
Update print statement from 'Hello' to 'Goodbye'
ZiploxWasTaken May 10, 2026
22e14f2
Add new node operations and commands
ZiploxWasTaken May 10, 2026
48b823d
Implement unlinkAllNeighbors command
ZiploxWasTaken May 10, 2026
20032c8
Create Node-System.md
outsideflight May 10, 2026
e0e998c
Update Node-System.md
outsideflight May 10, 2026
8ff1853
Refactor node methods and update block texts
ZiploxWasTaken May 10, 2026
0be0900
Add nodes.js for ZiploxWasTaken extension
ZiploxWasTaken May 10, 2026
63e2868
Update Nodes extension code and banner references
ZiploxWasTaken May 10, 2026
ee29396
Add Nodes.svg to ZiploxWasTaken directory
ZiploxWasTaken May 10, 2026
3d161d1
Import Node System documentation page
ZiploxWasTaken May 10, 2026
66841e7
Add NodeSystem page to documentation
ZiploxWasTaken May 10, 2026
c254a6d
Add documentation field to Nodes in extensions.js
ZiploxWasTaken May 10, 2026
d951888
Change 'NodeSystem' key to 'nodesystems' in pages.js
ZiploxWasTaken May 10, 2026
47894c4
Correct documentation key from 'nodesystem' to 'nodesystems'
ZiploxWasTaken May 10, 2026
2bf9064
Update Node-System.md
outsideflight May 10, 2026
26f71f6
Change creator format in extensions.js
ZiploxWasTaken May 10, 2026
e396a36
Remove misleading comment in extensions.js
ZiploxWasTaken May 10, 2026
f962524
Fix formatting for creator field in extensions.js
ZiploxWasTaken May 10, 2026
ce79704
Update Node-System.md to remove introduction section
ZiploxWasTaken May 10, 2026
05c350c
Update fmt.Println message from 'Hello' to 'Goodbye'
ZiploxWasTaken May 10, 2026
bb78f26
Fix comment formatting in extensions.js
ZiploxWasTaken May 11, 2026
25a08bb
Update node colors and remove comments
ZiploxWasTaken May 11, 2026
2b9be24
Update banner image for node system
ZiploxWasTaken May 11, 2026
88927c7
Update print statement from 'Hello' to 'Goodbye'
ZiploxWasTaken May 11, 2026
3b89d92
Update block text to include update notice
ZiploxWasTaken May 11, 2026
57afa48
Update print statement from 'Hello' to 'Goodbye'
ZiploxWasTaken May 11, 2026
f942eab
Update credits text in nodes.js
ZiploxWasTaken May 11, 2026
1364657
Merge branch 'PenguinMod:main' into main
ZiploxWasTaken May 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions src/lib/Documentation/Node-System.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Node System

Hi! So... Just wanna let you know... this is actually the *second* version of the document. The first one got deleted because I'm pretty sure it was meant to be unused... This is OutsideFlight writing this, by the way.

Now, you clicked on this markdown so you could learn about our extension about nodes and links, right? Well, without furthur ado, here's the facts!

## Blocks

These are the blocks that are used for the Node category.

### Nodes

* **Create node**: Here you can enter the coordinates for the node to go, and enter the ID that the code will be from!
* **Delete node**: Deletes the node with the ID specified. Will create gaps, so be careful!
* **Make a grid**: Here you can make a grid full of nodes that goes from the coordinates specified. If you don't change the default values it can create 9 nodes, but the links will not be added. I'll talk about this later.
* **Remove all nodes**: Take a wild guess.
* **Node with an ID of _ exists?**: This one is a boolean that checks if the node with an exists. Can be useful for filling in gaps between nodes!
* **Set Node Position**: Moves the node with the specified ID's position to a certain point.
* **X of Node**: Checks for the X of the node specified.
* **Y of Node**: Checks for the Y of the node specified.
* **Node closest to: ___**: This block checks for the closest node to a specific coordinate. This block is here instead of the "Node at 0, 0 block" because it just kind of works the same way.
* **Lowest node ID**: Checks for the lowest node ID. Not always equal to 1, so be careful!
* **Highest node ID**: Checks for the highest node ID. If there's gaps or if the ID goes into the negatives, the highest node ID will not be the same as the number of nodes there are.
* **Number of Nodes**: Checks for the number of nodes, not always the same as the highest node ID, like I said earlier.
* **All nodes**: It's just a JSON array of all the existing nodes. Not even readable, so maybe just ignore it...

### Links

* **Link node 1 to node 2**: Links nodes together, however they can only be exactly one space apart. Sorry!
* **Unlink node 1 from node 2** Unlinks nodes together, one node at a time.
* **Unlink all neighbors of node 1**:Unlinks all neighbors of the specified note. Deleting the node does the same thing as well, however.
* **Connect nodes within a range**: This one is actually quite interesting! Remember when I said links wouldn't be added to grids automatically? Well, this is your compromise! This block automatically creates pathways for a set range of ID's! Do this to a grid, and it will now have links!
* **Node linked to another?** Checks if a node is linked to another.
* **Go right of node 1**: It outputs the ID that is to the right of node 1. Keep in mind, this block will only work if there's a link between node 1 and the node next to it, but you can bypass the link check using something I'm gonna share later.
* **Neighbors of node**: Checks for the direct neighbors of the node specified that are connected via links.
* **Node neighbor amount**: Returns the amount of linked neighbors a node has.
* **Linked node index of node ID**: Returns the index of node ID, in the order of when the nodes were linked.
* **Number of links**: Returns the amount of links.
* **All Links**: Returns every link in the form of an array, slightly more readable.

## How to use

Like said in the description, you can use links to create roadmaps and mainly just a grid you can walk across.
Keep in mind you can only link nodes that are one grid space away from each other!
Here's an example project to get you started:
<a>https://studio.penguinmod.com/editor.html?project_url=https://file.garden/Z6ed_EN2XgmRM_ni/Node%20Sample%20Project.pmp</a>
6 changes: 5 additions & 1 deletion src/lib/Documentation/pages.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
// "./test.md?raw"
// "./particle-tools.md?raw"
import PageParticleTools from "./particle-tools.md?raw";

// Node System
import PageNodeSystem from "./Node-System.md?raw";
// Extra Control (unlisted)
import PageExtraControl from "./Extra-Control.md?raw";
// Free Servers
Expand Down Expand Up @@ -65,6 +66,9 @@ export default {
// YeetYourFiles
"YeetYourFiles": PageYeetYourFiles,

// NodeSystem (hiiiii XD) -Ziplox
"nodesystems": PageNodeSystems,

"more-types": PageMoreTypes,

// Boxed Physics
Expand Down
10 changes: 10 additions & 0 deletions src/lib/extensions.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,16 @@ export default [
isGitHub: true,
creator: "TheShovel",
},
{
name: "Nodes",
description: "A node system that can be utilized for many purposes, such as world maps and more!",
tags: ["new"],
code: "ZiploxWasTaken/nodes.js",
documentation: "nodesystems",
banner: "ZiploxWasTaken/Nodes NEW!.svg",
isGitHub: true,
creator: "ZiploxWasTaken",
},
{
name: "Server Storage",
description: "Similar to the server storage blocks in the 'Storage' extension, but with a better server uptime and non-global keys.\nDid you know the server is open source?",
Expand Down
Loading