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 @@
-