From 3b9cab565a60a23c55c5089aa61255c46eebe05b Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 09:20:15 +0000 Subject: [PATCH 1/9] Set jumping variable in player snippet --- toolbox.js | 196 +++++++++++++++++++++++++++++------------------------ 1 file changed, 108 insertions(+), 88 deletions(-) diff --git a/toolbox.js b/toolbox.js index 41afd62d..953b73c2 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4292,122 +4292,142 @@ const toolboxSnippets = { inputs: { DO: { block: { - type: "load_character", + type: "variables_set", fields: { - MODELS: "Block3.glb", - ID_VAR: { - name: "player", - type: "", + VAR: { + name: "jumping", }, }, inputs: { - SCALE: { + VALUE: { shadow: { - type: "math_number", + type: "logic_boolean", fields: { - NUM: 1, + BOOL: "FALSE", }, }, }, - X: { - shadow: { - type: "math_number", - fields: { - NUM: 0, + }, + next: { + block: { + type: "load_character", + fields: { + MODELS: "Block3.glb", + ID_VAR: { + name: "player", + type: "", }, }, - }, - Y: { - shadow: { - type: "math_number", - fields: { - NUM: 0, + inputs: { + SCALE: { + shadow: { + type: "math_number", + fields: { + NUM: 1, + }, + }, }, - }, - }, - Z: { - shadow: { - type: "math_number", - fields: { - NUM: 0, + X: { + shadow: { + type: "math_number", + fields: { + NUM: 0, + }, + }, }, - }, - }, - HAIR_COLOR: { - shadow: { - type: "colour", - fields: { - COLOR: "#000000", + Y: { + shadow: { + type: "math_number", + fields: { + NUM: 0, + }, + }, }, - }, - }, - SKIN_COLOR: { - shadow: { - type: "skin_colour", - fields: { - COLOR: "#a15c33", + Z: { + shadow: { + type: "math_number", + fields: { + NUM: 0, + }, + }, }, - }, - }, - EYES_COLOR: { - shadow: { - type: "colour", - fields: { - COLOR: "#000000", + HAIR_COLOR: { + shadow: { + type: "colour", + fields: { + COLOR: "#000000", + }, + }, }, - }, - }, - SLEEVES_COLOR: { - shadow: { - type: "colour", - fields: { - COLOR: "#008b8b", + SKIN_COLOR: { + shadow: { + type: "skin_colour", + fields: { + COLOR: "#a15c33", + }, + }, }, - }, - }, - SHORTS_COLOR: { - shadow: { - type: "colour", - fields: { - COLOR: "#00008b", + EYES_COLOR: { + shadow: { + type: "colour", + fields: { + COLOR: "#000000", + }, + }, }, - }, - }, - TSHIRT_COLOR: { - shadow: { - type: "colour", - fields: { - COLOR: "#ff8f60", + SLEEVES_COLOR: { + shadow: { + type: "colour", + fields: { + COLOR: "#008b8b", + }, + }, }, - }, - }, - }, - next: { - block: { - type: "add_physics", - fields: { - MODEL_VAR: { - name: "player", - type: "", + SHORTS_COLOR: { + shadow: { + type: "colour", + fields: { + COLOR: "#00008b", + }, + }, + }, + TSHIRT_COLOR: { + shadow: { + type: "colour", + fields: { + COLOR: "#ff8f60", + }, + }, }, - PHYSICS_TYPE: - "DYNAMIC", }, next: { block: { - type: "camera_follow", + type: "add_physics", fields: { - MESH_VAR: { + MODEL_VAR: { name: "player", type: "", }, + PHYSICS_TYPE: + "DYNAMIC", }, - inputs: { - RADIUS: { - block: { - type: "math_number", - fields: { - NUM: 7, + next: { + block: { + type: "camera_follow", + fields: { + MESH_VAR: { + name: "player", + type: "", + }, + }, + inputs: { + RADIUS: { + block: { + type: "math_number", + fields: { + NUM: 7, + }, + }, }, }, }, From dd0529c7d578c62c38ea17ba06e4d94b743c2228 Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 11:37:28 +0000 Subject: [PATCH 2/9] Add snippet for detecting and acting on (some) jump logic to Movement toolbox category --- toolbox.js | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) diff --git a/toolbox.js b/toolbox.js index 953b73c2..db24d777 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4202,6 +4202,204 @@ const toolboxSnippetsMovement = { }, }, }, + { + kind: "block", + type: "forever", + extraState: "", + inputs: { + DO: { + block: { + type: "controls_if", + inputs: { + IF0: { + block: { + type: "logic_operation", + fields: { + OP: "AND", + }, + inputs: { + A: { + block: { + type: "variables_get", + fields: { + VAR: { + name: "jumping", + }, + }, + }, + }, + B: { + block: { + type: "touching_surface", + fields: { + MODEL_VAR: { + name: "player", + }, + }, + }, + }, + }, + }, + }, + DO0: { + block: { + type: "variables_set", + fields: { + VAR: { + name: "jumping", + }, + }, + inputs: { + VALUE: { + shadow: { + type: "math_number", + fields: { + NUM: 0, + }, + }, + block: { + type: "logic_boolean", + fields: { + BOOL: "TRUE", + }, + }, + }, + }, + next: { + block: { + type: "broadcast_event", + inputs: { + EVENT_NAME: { + shadow: { + type: "text", + fields: { + TEXT: "jumped", + }, + }, + }, + }, + }, + }, + }, + }, + }, + next: { + block: { + type: "controls_if", + inputs: { + IF0: { + block: { + type: "logic_operation", + fields: { + OP: "AND", + }, + inputs: { + A: { + block: { + type: "action_pressed", + fields: { + ACTION: "BUTTON4", + }, + }, + }, + B: { + block: { + type: "logic_negate", + inputs: { + BOOL: { + block: { + type: "variables_get", + fields: { + VAR: { + name: "jumping", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + DO0: { + block: { + type: "apply_force", + fields: { + MESH_VAR: { + name: "player", + }, + }, + inputs: { + X: { + shadow: { + type: "math_number", + fields: { + NUM: 0, + }, + }, + }, + Y: { + shadow: { + type: "math_number", + fields: { + NUM: 5, + }, + }, + }, + Z: { + shadow: { + type: "math_number", + fields: { + NUM: 2, + }, + }, + }, + }, + next: { + block: { + type: "variables_set", + fields: { + VAR: { + name: "jumping", + }, + }, + inputs: { + VALUE: { + block: { + type: "logic_boolean", + fields: { + BOOL: "TRUE", + }, + }, + }, + }, + next: { + block: { + type: "broadcast_event", + inputs: { + EVENT_NAME: { + block: { + type: "text", + fields: { + TEXT: "jumped", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, ] } From eff901350a2d1e1dcae337e6df48b61482382baa Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 12:09:21 +0000 Subject: [PATCH 3/9] Add jump event detection block snippets to Movement toolbox category --- toolbox.js | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/toolbox.js b/toolbox.js index db24d777..0ea9ae59 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4400,6 +4400,116 @@ const toolboxSnippetsMovement = { }, }, }, + { + kind: "block", + type: "on_event", + extraState: "", + inputs: { + EVENT_NAME: { + block: { + type: "text", + fields: { + TEXT: "jumped", + }, + }, + }, + DO: { + block: { + type: "play_animation", + fields: { + MODEL: { + name: "player", + }, + }, + inputs: { + ANIMATION_NAME: { + shadow: { + type: "animation_name", + fields: { + ANIMATION_NAME: "JumpUp", + }, + }, + }, + }, + next: { + block: { + type: "play_animation", + fields: { + MODEL: { + name: "player", + }, + }, + inputs: { + ANIMATION_NAME: { + shadow: { + type: "animation_name", + fields: { + ANIMATION_NAME: "JumpIdle", + }, + }, + }, + }, + next: { + block: { + type: "play_animation", + fields: { + MODEL: { + name: "player", + }, + }, + inputs: { + ANIMATION_NAME: { + shadow: { + type: "animation_name", + fields: { + ANIMATION_NAME: "JumpLand", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + kind: "block", + type: "on_event", + extraState: "", + inputs: { + EVENT_NAME: { + block: { + type: "text", + fields: { + TEXT: "landed", + }, + }, + }, + DO: { + block: { + type: "play_animation", + fields: { + MODEL: { + name: "player", + }, + }, + inputs: { + ANIMATION_NAME: { + shadow: { + type: "animation_name", + fields: { + ANIMATION_NAME: "Idle", + }, + }, + }, + }, + }, + }, + }, + }, ] } From c3882c10b8e08f5c98a0204452948a913296d21b Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 12:18:21 +0000 Subject: [PATCH 4/9] Make sure landed event is broadcast when player lands --- toolbox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolbox.js b/toolbox.js index 0ea9ae59..757659d7 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4382,7 +4382,7 @@ const toolboxSnippetsMovement = { block: { type: "text", fields: { - TEXT: "jumped", + TEXT: "landed", }, }, }, From 276bb935d5f91e4872b0c5e90ca659102ab35043 Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 12:21:30 +0000 Subject: [PATCH 5/9] Use switch (rather than play) animation block for idle animation upon landing broadcast received in toolbox snippet --- toolbox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolbox.js b/toolbox.js index 757659d7..5fac9b2b 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4490,7 +4490,7 @@ const toolboxSnippetsMovement = { }, DO: { block: { - type: "play_animation", + type: "switch_animation", fields: { MODEL: { name: "player", From 8c951a958a8b97f0e947f01a15f16fe42cd467f7 Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 12:36:11 +0000 Subject: [PATCH 6/9] Set boolean to False in jump logic snippet --- toolbox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolbox.js b/toolbox.js index 5fac9b2b..5521f69f 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4369,7 +4369,7 @@ const toolboxSnippetsMovement = { block: { type: "logic_boolean", fields: { - BOOL: "TRUE", + BOOL: "FALSE", }, }, }, From 265b4af096aa32ca81051b7e34f9755cfe0a504c Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Thu, 18 Dec 2025 12:36:45 +0000 Subject: [PATCH 7/9] Swap boolean assignments in jump logic snippet --- toolbox.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolbox.js b/toolbox.js index 5521f69f..5c037904 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4260,7 +4260,7 @@ const toolboxSnippetsMovement = { block: { type: "logic_boolean", fields: { - BOOL: "TRUE", + BOOL: "FALSE", }, }, }, @@ -4369,7 +4369,7 @@ const toolboxSnippetsMovement = { block: { type: "logic_boolean", fields: { - BOOL: "FALSE", + BOOL: "TRUE", }, }, }, From 7681dda3ae942658953054c673d1336d71f19ea2 Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Fri, 19 Dec 2025 09:33:02 +0000 Subject: [PATCH 8/9] Change force values for jump logic snippet --- toolbox.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolbox.js b/toolbox.js index d33974c4..49b57901 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4343,7 +4343,7 @@ const toolboxSnippetsMovement = { shadow: { type: "math_number", fields: { - NUM: 5, + NUM: 2, }, }, }, @@ -4351,7 +4351,7 @@ const toolboxSnippetsMovement = { shadow: { type: "math_number", fields: { - NUM: 2, + NUM: 0, }, }, }, From 5b868ac5efba27c862d8a8301d2b614e4b194fc0 Mon Sep 17 00:00:00 2001 From: Zishan Rahman Date: Fri, 19 Dec 2025 09:51:16 +0000 Subject: [PATCH 9/9] Swap event broadcasts in if blocks in jump logic snippet --- toolbox.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolbox.js b/toolbox.js index 49b57901..bf8ad90b 100644 --- a/toolbox.js +++ b/toolbox.js @@ -4273,7 +4273,7 @@ const toolboxSnippetsMovement = { shadow: { type: "text", fields: { - TEXT: "jumped", + TEXT: "landed", }, }, }, @@ -4382,7 +4382,7 @@ const toolboxSnippetsMovement = { block: { type: "text", fields: { - TEXT: "landed", + TEXT: "jumped", }, }, },