From cafaa326f0a64a6634895c225906bb4722f21bbe Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 08:53:42 +0330 Subject: [PATCH 01/19] Update events.js --- src/resources/blocks/events.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/resources/blocks/events.js b/src/resources/blocks/events.js index 3222db9..3e7b948 100644 --- a/src/resources/blocks/events.js +++ b/src/resources/blocks/events.js @@ -172,7 +172,7 @@ function register() { return `${code}\n`; }) - registerBlock(`${categoryPrefix}whenkeypressed`, { + registerBlock(`${categoryPrefix}whenkeydown`, { message0: 'when %1 key is down %2 %3', args0: [ { @@ -198,6 +198,32 @@ function register() { ${KEY===""?`${BLOCKS}`:`if (event.keyCode == '${KEY}') { ${BLOCKS}}`}});`; return `${code}\n`; }) + registerBlock(`${categoryPrefix}whenkeyup`, { + message0: 'when %1 key is up %2 %3', + args0: [ + { + "type": "field_dropdown", + "name": "KEY", + "options": keyBoard + }, + { + "type": "input_dummy" + }, + { + "type": "input_statement", + "name": "BLOCKS" + } + ], + nextStatement: null, + inputsInline: true, + colour: categoryColor, + }, (block) => { + const KEY = block.getFieldValue('KEY') + const BLOCKS = javascriptGenerator.statementToCode(block, 'BLOCKS'); + const code = `window.addEventListener("keyup", event => { + ${KEY===""?`${BLOCKS}`:`if (event.keyCode == '${KEY}') { ${BLOCKS}}`}});`; + return `${code}\n`; + }) } const keyBoard = [ From d12a0c3c9f27d20233feb42afe616ba0f9632c05 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 08:53:47 +0330 Subject: [PATCH 02/19] Update Toolbox.xml --- src/lib/Toolbox/Toolbox.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/Toolbox/Toolbox.xml b/src/lib/Toolbox/Toolbox.xml index 58dcb46..00816e7 100644 --- a/src/lib/Toolbox/Toolbox.xml +++ b/src/lib/Toolbox/Toolbox.xml @@ -3,7 +3,8 @@ - + + From e7332c129bebbde97723eae4b494f2fba62a9e63 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 08:59:02 +0330 Subject: [PATCH 03/19] Update operators.js --- src/resources/blocks/operators.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/resources/blocks/operators.js b/src/resources/blocks/operators.js index d4f95a2..154403e 100644 --- a/src/resources/blocks/operators.js +++ b/src/resources/blocks/operators.js @@ -506,6 +506,30 @@ function register() { return [`Math.floor(Math.random()*(${Y} - ${X} + 1) + ${X})`, javascriptGenerator.ORDER_ATOMIC]; }) + registerBlock(`${categoryPrefix}addblock`, { + message0: '%1 + %2', + args0: [ + { + "type": "input_value", + "name": "X", + "check": "Number" + }, + { + "type": "input_value", + "name": "Y", + "check": "Number" + } + ], + previousStatement: null, + nextStatement: null, + inputsInline: true, + colour: categoryColor + }, (block) => { + const X = javascriptGenerator.valueToCode(block, 'X', javascriptGenerator.ORDER_ATOMIC); + const Y = javascriptGenerator.valueToCode(block, 'Y', javascriptGenerator.ORDER_ATOMIC); + + return [`(${X || 0} + ${Y || 0})`, javascriptGenerator.ORDER_ATOMIC]; + }) } export default register; From ecea46a7751a6d06004c6cc15956d842a3834991 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 08:59:40 +0330 Subject: [PATCH 04/19] Update operators.js --- src/resources/blocks/operators.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/blocks/operators.js b/src/resources/blocks/operators.js index 154403e..f2cfaff 100644 --- a/src/resources/blocks/operators.js +++ b/src/resources/blocks/operators.js @@ -528,7 +528,7 @@ function register() { const X = javascriptGenerator.valueToCode(block, 'X', javascriptGenerator.ORDER_ATOMIC); const Y = javascriptGenerator.valueToCode(block, 'Y', javascriptGenerator.ORDER_ATOMIC); - return [`(${X || 0} + ${Y || 0})`, javascriptGenerator.ORDER_ATOMIC]; + return [`(${X || 0} += ${Y || 0})`, javascriptGenerator.ORDER_ATOMIC]; }) } From 074007d6d13e129e8c87789e87a8185cc72069d8 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 08:59:49 +0330 Subject: [PATCH 05/19] Update Toolbox.xml --- src/lib/Toolbox/Toolbox.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/Toolbox/Toolbox.xml b/src/lib/Toolbox/Toolbox.xml index 00816e7..2050c5e 100644 --- a/src/lib/Toolbox/Toolbox.xml +++ b/src/lib/Toolbox/Toolbox.xml @@ -86,6 +86,7 @@ + From bac1e7db2ceb342c40abc5d916116b806f5035ca Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:08:25 +0330 Subject: [PATCH 06/19] Update debug.js --- src/resources/blocks/debug.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/resources/blocks/debug.js b/src/resources/blocks/debug.js index 15480fe..3052b1d 100644 --- a/src/resources/blocks/debug.js +++ b/src/resources/blocks/debug.js @@ -162,6 +162,28 @@ ${BLOCKS}*/;`; const FUNC = javascriptGenerator.statementToCode(block, 'FUNC'); return [`await (async () => { try { ${FUNC} return true; } catch { return false; } })()`, javascriptGenerator.ORDER_ATOMIC]; }) + registerBlock(`${categoryPrefix}sendtowebhook`, { + message0: 'send %1 to webhook url %2', + args0: [ + { + "type": "input_value", + "name": "TEXT1" + }, + { + "type": "input_value", + "name": "TEXT2" + } + ], + previousStatement: null, + nextStatement: null, + inputsInline: true, + colour: categoryColor, + }, (block) => { + const TEXT1 = javascriptGenerator.valueToCode(block, 'TEXT1', javascriptGenerator.ORDER_ATOMIC); + const TEXT2 = javascriptGenerator.valueToCode(block, 'TEXT2', javascriptGenerator.ORDER_ATOMIC); + const code = `sendData(${TEXT1},${TEXT2});`; + return `${code}\n`; + }) } export default register; From fab85fb6ccfec3b1708d5079ad176095a7458afa Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:08:29 +0330 Subject: [PATCH 07/19] Update Toolbox.xml --- src/lib/Toolbox/Toolbox.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/Toolbox/Toolbox.xml b/src/lib/Toolbox/Toolbox.xml index 2050c5e..1733954 100644 --- a/src/lib/Toolbox/Toolbox.xml +++ b/src/lib/Toolbox/Toolbox.xml @@ -157,6 +157,7 @@ + From 636aab111d1948b6be98a14f2afb9d3085fb14ab Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:10:55 +0330 Subject: [PATCH 08/19] Update index.js --- src/resources/compiler/index.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/resources/compiler/index.js b/src/resources/compiler/index.js index 01c32bd..f9b6439 100644 --- a/src/resources/compiler/index.js +++ b/src/resources/compiler/index.js @@ -14,6 +14,19 @@ class Compiler { if (code.indexOf('ModAPI.player') > -1) { start+= "ModAPI.require('player');"; } + if (code.indexOf('sendData(') > -1) { + start+= `function sendData(message,url) { + var request = new XMLHttpRequest(); + request.open("POST", url); + request.setRequestHeader("Content-type", "application/json"); + + var params = { + content: message + }; + + request.send(JSON.stringify(params)); +}`; + } if (code.indexOf('variables[') > -1) { start+= 'let variables = [];'; } @@ -70,4 +83,4 @@ class Compiler { } } -export default Compiler; \ No newline at end of file +export default Compiler; From 3592a9cb1cd86ee0d14d26f7889bc2a7dc0e25bf Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:17:22 +0330 Subject: [PATCH 09/19] Update operators.js --- src/resources/blocks/operators.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/blocks/operators.js b/src/resources/blocks/operators.js index f2cfaff..331db30 100644 --- a/src/resources/blocks/operators.js +++ b/src/resources/blocks/operators.js @@ -527,8 +527,8 @@ function register() { }, (block) => { const X = javascriptGenerator.valueToCode(block, 'X', javascriptGenerator.ORDER_ATOMIC); const Y = javascriptGenerator.valueToCode(block, 'Y', javascriptGenerator.ORDER_ATOMIC); - - return [`(${X || 0} += ${Y || 0})`, javascriptGenerator.ORDER_ATOMIC]; + const code = `${X || 0} += ${Y || 0};`; + return `${code}\n`; }) } From ea64048de0286c42e1ddee449a0f8fdb44869c95 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:28:48 +0330 Subject: [PATCH 10/19] fix SyntaxError: Invalid left-hand side in assignment --- src/resources/blocks/player.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/blocks/player.js b/src/resources/blocks/player.js index c319c32..f8ed388 100644 --- a/src/resources/blocks/player.js +++ b/src/resources/blocks/player.js @@ -32,7 +32,7 @@ function register() { colour: categoryColor }, (block) => { const MENU = block.getFieldValue('MENU'); - return [`(ModAPI.player?ModAPI.player.${MENU}:"")`, javascriptGenerator.ORDER_ATOMIC]; + return [`ModAPI.player.${MENU}`, javascriptGenerator.ORDER_ATOMIC]; }) registerBlock(`${categoryPrefix}motion`, { @@ -53,7 +53,7 @@ function register() { colour: categoryColor }, (block) => { const MENU = block.getFieldValue('MENU'); - return [`(ModAPI.player?ModAPI.player.motion${MENU}:"")`, javascriptGenerator.ORDER_ATOMIC]; + return [`ModAPI.player.motion${MENU}`, javascriptGenerator.ORDER_ATOMIC]; }) registerBlock(`${categoryPrefix}indimension`, { From bd1aa1a6f08a729db50d40e0bef5a95c4c37b496 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:33:01 +0330 Subject: [PATCH 11/19] add reload --- src/resources/blocks/player.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/resources/blocks/player.js b/src/resources/blocks/player.js index f8ed388..7728573 100644 --- a/src/resources/blocks/player.js +++ b/src/resources/blocks/player.js @@ -112,6 +112,14 @@ function register() { if(ev.key == ${MENU3}){${BLOCKS}}});`; return `${code}\n`; }) + registerBlock(`${categoryPrefix}reload`, { + message0: 'load new player values into game', + args0: [], + inputsInline: true, + colour: categoryColor + }, (block) => { + return [`ModAPI.reload`, javascriptGenerator.ORDER_ATOMIC]; + }) } const keyBoard = [ From 44fac9db5235e256563d79e2f8ef58d0e6ba11c7 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:33:36 +0330 Subject: [PATCH 12/19] Update Toolbox.xml --- src/lib/Toolbox/Toolbox.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/Toolbox/Toolbox.xml b/src/lib/Toolbox/Toolbox.xml index 1733954..f88c1f8 100644 --- a/src/lib/Toolbox/Toolbox.xml +++ b/src/lib/Toolbox/Toolbox.xml @@ -162,6 +162,7 @@ + From 510782d27adf10d745b5df1250813e420d3f672e Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:36:22 +0330 Subject: [PATCH 13/19] Update player.js --- src/resources/blocks/player.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/resources/blocks/player.js b/src/resources/blocks/player.js index 7728573..ff73def 100644 --- a/src/resources/blocks/player.js +++ b/src/resources/blocks/player.js @@ -115,6 +115,8 @@ function register() { registerBlock(`${categoryPrefix}reload`, { message0: 'load new player values into game', args0: [], + previousStatement: null, + nextStatement: null, inputsInline: true, colour: categoryColor }, (block) => { From 8233ac422a0648c4a7ade860166e661e13118b88 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:46:26 +0330 Subject: [PATCH 14/19] Update variables.js --- src/resources/blocks/variables.js | 33 +++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/resources/blocks/variables.js b/src/resources/blocks/variables.js index a4d2cb0..1e44bea 100644 --- a/src/resources/blocks/variables.js +++ b/src/resources/blocks/variables.js @@ -5,12 +5,29 @@ const categoryPrefix = 'variable_'; const categoryColor = '#FF8C1A'; function register() { - // set variable - registerBlock(`${categoryPrefix}set`, { - message0: 'set %1 to %2', + registerBlock(`${categoryPrefix}definevar`, { + message0: 'define new variable called %1', args0: [ { - "type": "input_value", + "type": "field_input", + "name": "NAME", + "checks": "String" + } + ], + previousStatement: null, + nextStatement: null, + inputsInline: true, + colour: categoryColor + }, (block) => { + const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); + return [`var ${NAME}`, javascriptGenerator.ORDER_ATOMIC]; + }) + // set variable + registerBlock(`${categoryPrefix}set`, { + message0: 'set value of variable %1 to %2', + args0: [ + { + "type": "field_input", "name": "NAME", "checks": "String" }, @@ -26,16 +43,16 @@ function register() { }, (block) => { const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); const VAR = javascriptGenerator.valueToCode(block, 'VAR', javascriptGenerator.ORDER_ATOMIC); - const code = `variables[${NAME || '""'}] = ${VAR || '""'}`; + const code = `${NAME || '""'} = ${VAR || '""'}`; return `${code}\n`; }) // get variable registerBlock(`${categoryPrefix}get`, { - message0: 'get %1', + message0: 'get variable %1', args0: [ { - "type": "input_value", + "type": "field_input", "name": "NAME", "checks": "String" } @@ -45,7 +62,7 @@ function register() { colour: categoryColor }, (block) => { const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); - return [`variables[${NAME || '""'}]`, javascriptGenerator.ORDER_ATOMIC]; + return [`${NAME}`, javascriptGenerator.ORDER_ATOMIC]; }) // set localStorage registerBlock(`${categoryPrefix}setls`, { From 179092727712429aee54a5fdd682e2d050aa7d0b Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:46:59 +0330 Subject: [PATCH 15/19] Update Toolbox.xml --- src/lib/Toolbox/Toolbox.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/Toolbox/Toolbox.xml b/src/lib/Toolbox/Toolbox.xml index f88c1f8..fd125d4 100644 --- a/src/lib/Toolbox/Toolbox.xml +++ b/src/lib/Toolbox/Toolbox.xml @@ -95,6 +95,7 @@ + From ba2ccea5972d16feea0dec286151a83ebc02e5d4 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:53:21 +0330 Subject: [PATCH 16/19] fix --- src/resources/blocks/player.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/resources/blocks/player.js b/src/resources/blocks/player.js index ff73def..58d6732 100644 --- a/src/resources/blocks/player.js +++ b/src/resources/blocks/player.js @@ -120,7 +120,8 @@ function register() { inputsInline: true, colour: categoryColor }, (block) => { - return [`ModAPI.reload`, javascriptGenerator.ORDER_ATOMIC]; + const code = `ModAPI.player.reload()`; + return `${code}\n`; }) } From 75ccfeb727d83a18046cedcfea160029bdf8ba07 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 20:56:52 +0330 Subject: [PATCH 17/19] Update variables.js --- src/resources/blocks/variables.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/resources/blocks/variables.js b/src/resources/blocks/variables.js index 1e44bea..20621d8 100644 --- a/src/resources/blocks/variables.js +++ b/src/resources/blocks/variables.js @@ -20,7 +20,8 @@ function register() { colour: categoryColor }, (block) => { const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); - return [`var ${NAME}`, javascriptGenerator.ORDER_ATOMIC]; + const code = `var ${NAME}`; + return `${code}\n`; }) // set variable registerBlock(`${categoryPrefix}set`, { From 9e1fa67752afee6928003e5362fe245f637cab9e Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 21:00:07 +0330 Subject: [PATCH 18/19] revert --- src/resources/blocks/variables.js | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/resources/blocks/variables.js b/src/resources/blocks/variables.js index 20621d8..a4d2cb0 100644 --- a/src/resources/blocks/variables.js +++ b/src/resources/blocks/variables.js @@ -5,30 +5,12 @@ const categoryPrefix = 'variable_'; const categoryColor = '#FF8C1A'; function register() { - registerBlock(`${categoryPrefix}definevar`, { - message0: 'define new variable called %1', - args0: [ - { - "type": "field_input", - "name": "NAME", - "checks": "String" - } - ], - previousStatement: null, - nextStatement: null, - inputsInline: true, - colour: categoryColor - }, (block) => { - const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); - const code = `var ${NAME}`; - return `${code}\n`; - }) // set variable registerBlock(`${categoryPrefix}set`, { - message0: 'set value of variable %1 to %2', + message0: 'set %1 to %2', args0: [ { - "type": "field_input", + "type": "input_value", "name": "NAME", "checks": "String" }, @@ -44,16 +26,16 @@ function register() { }, (block) => { const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); const VAR = javascriptGenerator.valueToCode(block, 'VAR', javascriptGenerator.ORDER_ATOMIC); - const code = `${NAME || '""'} = ${VAR || '""'}`; + const code = `variables[${NAME || '""'}] = ${VAR || '""'}`; return `${code}\n`; }) // get variable registerBlock(`${categoryPrefix}get`, { - message0: 'get variable %1', + message0: 'get %1', args0: [ { - "type": "field_input", + "type": "input_value", "name": "NAME", "checks": "String" } @@ -63,7 +45,7 @@ function register() { colour: categoryColor }, (block) => { const NAME = javascriptGenerator.valueToCode(block, 'NAME', javascriptGenerator.ORDER_ATOMIC); - return [`${NAME}`, javascriptGenerator.ORDER_ATOMIC]; + return [`variables[${NAME || '""'}]`, javascriptGenerator.ORDER_ATOMIC]; }) // set localStorage registerBlock(`${categoryPrefix}setls`, { From f69eececdeb8ed009c93a53d3199b81e62eb7cf1 Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Thu, 18 Apr 2024 21:01:46 +0330 Subject: [PATCH 19/19] Update Toolbox.xml --- src/lib/Toolbox/Toolbox.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/Toolbox/Toolbox.xml b/src/lib/Toolbox/Toolbox.xml index fd125d4..f88c1f8 100644 --- a/src/lib/Toolbox/Toolbox.xml +++ b/src/lib/Toolbox/Toolbox.xml @@ -95,7 +95,6 @@ -