diff --git a/ccIDE Functions Defines.xlsx b/ccIDE Functions Defines.xlsx
new file mode 100644
index 0000000..bde2fb2
Binary files /dev/null and b/ccIDE Functions Defines.xlsx differ
diff --git a/package-lock.json b/package-lock.json
index b25e019..3398341 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,10 +11,7 @@
"dependencies": {
"blockly": "^11.1.1",
"bootstrap": "^5.3.3",
- "electron-prompt": "^1.7.0",
- "sweetalert2": "^11.12.1",
- "xml2js": "^0.6.2",
- "xmldom": "^0.6.0"
+ "electron-prompt": "^1.7.0"
},
"devDependencies": {
"electron": "^31.1.0"
@@ -1069,11 +1066,6 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "node_modules/sax": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
- "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
- },
"node_modules/saxes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
@@ -1136,15 +1128,6 @@
"node": ">= 8.0"
}
},
- "node_modules/sweetalert2": {
- "version": "11.12.1",
- "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.12.1.tgz",
- "integrity": "sha512-xV3/YI7Ah6BeP+bXKcrHy1yn6duh8eqlX2TSI9I/rTIzGLYQvnnTa3mOIo5RHUobAjSmacC2IhPApxjvppZaEQ==",
- "funding": {
- "type": "individual",
- "url": "https://github.com/sponsors/limonte"
- }
- },
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -1304,39 +1287,11 @@
"node": ">=18"
}
},
- "node_modules/xml2js": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
- "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
- "dependencies": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
- "engines": {
- "node": ">=4.0"
- }
- },
"node_modules/xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
},
- "node_modules/xmldom": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz",
- "integrity": "sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
@@ -2134,11 +2089,6 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "sax": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
- "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
- },
"saxes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
@@ -2186,11 +2136,6 @@
"debug": "^4.1.0"
}
},
- "sweetalert2": {
- "version": "11.12.1",
- "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.12.1.tgz",
- "integrity": "sha512-xV3/YI7Ah6BeP+bXKcrHy1yn6duh8eqlX2TSI9I/rTIzGLYQvnnTa3mOIo5RHUobAjSmacC2IhPApxjvppZaEQ=="
- },
"symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -2302,30 +2247,11 @@
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
"integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="
},
- "xml2js": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
- "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
- },
"xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
},
- "xmldom": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz",
- "integrity": "sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg=="
- },
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
diff --git a/peripherals/test/toolbox.xml b/peripherals/test/toolbox.xml
index 6083aa6..6150c78 100644
--- a/peripherals/test/toolbox.xml
+++ b/peripherals/test/toolbox.xml
@@ -13,13 +13,5 @@
-
-
-
-
- 5
-
-
-
\ No newline at end of file
diff --git a/src/blocksmanager.js b/src/blocksmanager.js
index 622dd2e..347ec71 100644
--- a/src/blocksmanager.js
+++ b/src/blocksmanager.js
@@ -1,6 +1,5 @@
const fs = require('fs');
const path = require('path');
-const xml2js = require('xml2js');
const peripheralsfolder = path.join(__dirname, "../peripherals");
diff --git a/src/module_block_design.json b/src/module_block_design.json
new file mode 100644
index 0000000..7280f57
--- /dev/null
+++ b/src/module_block_design.json
@@ -0,0 +1,50 @@
+{
+ "sys_commmands_exec": {
+ "message0": "Execute %1",
+ "args0": [
+ {
+ "type": "input_value",
+ "name": "EXECOMMANDS",
+ "text": "say Hello World"
+ }
+ ],
+ "previousStatement": null,
+ "nextStatement": null,
+ "colour": 120,
+ "tooltip": "Execute a specific command.",
+ "helpUrl": "https://tweaked.cc/module/commands.html#v:exec"
+ },
+ "sys_commmands_getblockposition": {
+ "message0": "GetBlockInfo at minX %1 minY %2 minZ %3 maxX %4 maxY %5 maxZ %6",
+ "args0": [
+ {
+ "type": "input_value",
+ "name": "MINX"
+ },
+ {
+ "type": "input_value",
+ "name": "MINY"
+ },
+ {
+ "type": "input_value",
+ "name": "MINZ"
+ },
+ {
+ "type": "input_value",
+ "name": "MAXX"
+ },
+ {
+ "type": "input_value",
+ "name": "MAXY"
+ },
+ {
+ "type": "input_value",
+ "name": "MAXZ"
+ }
+ ],
+ "colour": 120,
+ "output": "Array",
+ "tooltip": "Get information about a range of blocks.",
+ "helpUrl": "https://tweaked.cc/module/commands.html#v:getBlockInfos"
+ }
+}
\ No newline at end of file
diff --git a/src/module_generator.js b/src/module_generator.js
new file mode 100644
index 0000000..e69de29
diff --git a/src/toolbox.xml b/src/toolbox.xml
index 42dadde..d457139 100644
--- a/src/toolbox.xml
+++ b/src/toolbox.xml
@@ -1,14 +1,5 @@
-
-
-
-
-
-
-
-
-
-
+
@@ -17,6 +8,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -36,8 +37,9 @@
+
-
+
123
@@ -138,7 +140,7 @@
-
+
@@ -240,7 +242,7 @@
-
+
@@ -293,8 +295,15 @@
-
+
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/virtualcode.js b/src/virtualcode.js
index dc7400d..6aec675 100644
--- a/src/virtualcode.js
+++ b/src/virtualcode.js
@@ -15,9 +15,25 @@ window.prompt = function(promptText, defaultValue) {
const Blockly = require('blockly');
+Blockly.utils.colour.setHsvSaturation(0.9)
+
const peripheralsfolder = path.join(__dirname, "../peripherals");
const originaltoolbar = fs.readFileSync(path.join(__dirname, "toolbox.xml"), 'utf8');
+const sysmodulejson = fs.readFileSync(path.join(__dirname, "module_block_design.json"), 'utf8');
+
+
+const blocksJson = JSON.parse(sysmodulejson);
+for (const blockId in blocksJson) {
+ if (blocksJson.hasOwnProperty(blockId)) {
+ Blockly.Blocks[blockId] = {
+ init: function() {
+ this.jsonInit(blocksJson[blockId]);
+ }
+ };
+ }
+}
+
var workspace = Blockly.inject('blocklyDiv', {
toolbox: originaltoolbar,
@@ -30,6 +46,7 @@ var workspace = Blockly.inject('blocklyDiv', {
}
});
+
loadperipheral(workspace, originaltoolbar, "test");
document.getElementById('statusMessage').textContent = "ready";