From 5ee48797ec240209253e459fe15a637aeea8b0c5 Mon Sep 17 00:00:00 2001 From: Basinsky <51274563+Basinsky@users.noreply.github.com> Date: Sun, 12 Sep 2021 22:20:22 +0200 Subject: [PATCH] Initial commit (#31) * Create blocks * Delete blocks * Create Blocks.js * Add files via upload * Update Blocks.js * Update metadata.js --- applications/blocks/Blocks-help.html | 42 ++ applications/blocks/Blocks.js | 658 ++++++++++++++++++ applications/blocks/Icons/Black-0-0-0-a.jpg | Bin 0 -> 914 bytes applications/blocks/Icons/Black-0-0-0.jpg | Bin 0 -> 667 bytes applications/blocks/Icons/Blocks-icons.json | 113 +++ applications/blocks/Icons/Blue-0-0-255-a.jpg | Bin 0 -> 796 bytes applications/blocks/Icons/Blue-0-0-255.jpg | Bin 0 -> 671 bytes .../blocks/Icons/Blue-0-149-255-a.jpg | Bin 0 -> 880 bytes applications/blocks/Icons/Blue-0-149-255.jpg | Bin 0 -> 671 bytes .../blocks/Icons/Brown-128-51-0-a.jpg | Bin 0 -> 892 bytes applications/blocks/Icons/Brown-128-51-0.jpg | Bin 0 -> 144 bytes .../blocks/Icons/Cyan-0-255-255-a.jpg | Bin 0 -> 910 bytes applications/blocks/Icons/Cyan-0-255-255.jpg | Bin 0 -> 671 bytes .../blocks/Icons/Fucsia-255-0-100-a.jpg | Bin 0 -> 853 bytes .../blocks/Icons/Fucsia-255-0-100.jpg | Bin 0 -> 671 bytes applications/blocks/Icons/Green-0-255-0-a.jpg | Bin 0 -> 911 bytes applications/blocks/Icons/Green-0-255-0.jpg | Bin 0 -> 671 bytes .../blocks/Icons/Grey-100-100-100-a.jpg | Bin 0 -> 828 bytes .../blocks/Icons/Grey-100-100-100.jpg | Bin 0 -> 667 bytes .../blocks/Icons/Grey-150-150-150-a.jpg | Bin 0 -> 866 bytes .../blocks/Icons/Grey-150-150-150.jpg | Bin 0 -> 667 bytes .../blocks/Icons/Grey-200-200-200-a.jpg | Bin 0 -> 878 bytes .../blocks/Icons/Grey-200-200-200.jpg | Bin 0 -> 667 bytes applications/blocks/Icons/Grey-50-50-50-a.jpg | Bin 0 -> 783 bytes applications/blocks/Icons/Grey-50-50-50.jpg | Bin 0 -> 667 bytes .../blocks/Icons/Orange-255-143-0-a.jpg | Bin 0 -> 906 bytes .../blocks/Icons/Orange-255-143-0.jpg | Bin 0 -> 672 bytes .../blocks/Icons/Purple-176-0-255-a.jpg | Bin 0 -> 863 bytes .../blocks/Icons/Purple-176-0-255.jpg | Bin 0 -> 672 bytes .../blocks/Icons/Purple-255-0-255-a.jpg | Bin 0 -> 874 bytes .../blocks/Icons/Purple-255-0-255.jpg | Bin 0 -> 671 bytes applications/blocks/Icons/Red-255-0-0-a.jpg | Bin 0 -> 856 bytes applications/blocks/Icons/Red-255-0-0.jpg | Bin 0 -> 671 bytes .../blocks/Icons/White-255-255-255-a.jpg | Bin 0 -> 913 bytes .../blocks/Icons/White-255-255-255.jpg | Bin 0 -> 631 bytes .../blocks/Icons/Yellow-255-255-0-a.jpg | Bin 0 -> 933 bytes .../blocks/Icons/Yellow-255-255-0.jpg | Bin 0 -> 671 bytes applications/blocks/Icons/deleteall-a.png | Bin 0 -> 14131 bytes applications/blocks/Icons/deleteall.png | Bin 0 -> 14133 bytes applications/blocks/Icons/help-a.png | Bin 0 -> 5205 bytes applications/blocks/Icons/help.png | Bin 0 -> 5127 bytes applications/blocks/Icons/newblock-a.png | Bin 0 -> 18222 bytes applications/blocks/Icons/newblock.png | Bin 0 -> 17675 bytes applications/blocks/blocks-active.svg | 105 +++ applications/blocks/blocks-inactive.svg | 106 +++ applications/metadata.js | 11 +- 46 files changed, 1034 insertions(+), 1 deletion(-) create mode 100644 applications/blocks/Blocks-help.html create mode 100644 applications/blocks/Blocks.js create mode 100644 applications/blocks/Icons/Black-0-0-0-a.jpg create mode 100644 applications/blocks/Icons/Black-0-0-0.jpg create mode 100644 applications/blocks/Icons/Blocks-icons.json create mode 100644 applications/blocks/Icons/Blue-0-0-255-a.jpg create mode 100644 applications/blocks/Icons/Blue-0-0-255.jpg create mode 100644 applications/blocks/Icons/Blue-0-149-255-a.jpg create mode 100644 applications/blocks/Icons/Blue-0-149-255.jpg create mode 100644 applications/blocks/Icons/Brown-128-51-0-a.jpg create mode 100644 applications/blocks/Icons/Brown-128-51-0.jpg create mode 100644 applications/blocks/Icons/Cyan-0-255-255-a.jpg create mode 100644 applications/blocks/Icons/Cyan-0-255-255.jpg create mode 100644 applications/blocks/Icons/Fucsia-255-0-100-a.jpg create mode 100644 applications/blocks/Icons/Fucsia-255-0-100.jpg create mode 100644 applications/blocks/Icons/Green-0-255-0-a.jpg create mode 100644 applications/blocks/Icons/Green-0-255-0.jpg create mode 100644 applications/blocks/Icons/Grey-100-100-100-a.jpg create mode 100644 applications/blocks/Icons/Grey-100-100-100.jpg create mode 100644 applications/blocks/Icons/Grey-150-150-150-a.jpg create mode 100644 applications/blocks/Icons/Grey-150-150-150.jpg create mode 100644 applications/blocks/Icons/Grey-200-200-200-a.jpg create mode 100644 applications/blocks/Icons/Grey-200-200-200.jpg create mode 100644 applications/blocks/Icons/Grey-50-50-50-a.jpg create mode 100644 applications/blocks/Icons/Grey-50-50-50.jpg create mode 100644 applications/blocks/Icons/Orange-255-143-0-a.jpg create mode 100644 applications/blocks/Icons/Orange-255-143-0.jpg create mode 100644 applications/blocks/Icons/Purple-176-0-255-a.jpg create mode 100644 applications/blocks/Icons/Purple-176-0-255.jpg create mode 100644 applications/blocks/Icons/Purple-255-0-255-a.jpg create mode 100644 applications/blocks/Icons/Purple-255-0-255.jpg create mode 100644 applications/blocks/Icons/Red-255-0-0-a.jpg create mode 100644 applications/blocks/Icons/Red-255-0-0.jpg create mode 100644 applications/blocks/Icons/White-255-255-255-a.jpg create mode 100644 applications/blocks/Icons/White-255-255-255.jpg create mode 100644 applications/blocks/Icons/Yellow-255-255-0-a.jpg create mode 100644 applications/blocks/Icons/Yellow-255-255-0.jpg create mode 100644 applications/blocks/Icons/deleteall-a.png create mode 100644 applications/blocks/Icons/deleteall.png create mode 100644 applications/blocks/Icons/help-a.png create mode 100644 applications/blocks/Icons/help.png create mode 100644 applications/blocks/Icons/newblock-a.png create mode 100644 applications/blocks/Icons/newblock.png create mode 100644 applications/blocks/blocks-active.svg create mode 100644 applications/blocks/blocks-inactive.svg diff --git a/applications/blocks/Blocks-help.html b/applications/blocks/Blocks-help.html new file mode 100644 index 0000000..2354a96 --- /dev/null +++ b/applications/blocks/Blocks-help.html @@ -0,0 +1,42 @@ + + + Blocks help + + + + + + +
+

Blocks help

+

With this program you can build blocks 'minecraft' style

+

First spawn a starting block by pressing on the cube with +

+

Hover over block to edit it with shortcuts on keyboard

+

and mouse

+

+

- "X" on keyboard for locking the X direction

+

- "Y" on keyboard for locking the Y direction

+

- "Z" on keyboard for locking the Z direction

+

- "CTRL" on keyboard for rotating with mousewheel

+

- "SHIFT" on keyboard for scaling with mousewheel

+

- "ALT" on keyboard for moving with mousewheel

+

- "DELETE" on keyboard for removing block

+

- Left mouse click on surface for adding block

+

- Middle mouse click on surface for removing block

+

- Thrashcan removes all blocks that you made

+

+

Click this help page to delete it

+
+ + + diff --git a/applications/blocks/Blocks.js b/applications/blocks/Blocks.js new file mode 100644 index 0000000..0623755 --- /dev/null +++ b/applications/blocks/Blocks.js @@ -0,0 +1,658 @@ +// +// Blocks.js +// +// created by Basinsky on 09/12/21 +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +var isShiftPressed = false; +var isControlPressed = false; +var isAltPressed = false; +var newPosition; +var newDirection; +var hoverID; +var webPageID; +var hoverProps = {}; +var originalPosition; +var objectSize; +var STEP_SIZE = 0.01; +var reset = false; +var RESET_TIME = 100; +var SEARCH_RADIUS = 100; +var LOCATION_ROOT_URL = Script.resolvePath("."); +var ICON_LIBRARY_URL = LOCATION_ROOT_URL + "Icons/Blocks-icons.json"; +var ICON_URL = LOCATION_ROOT_URL + "Icons/"; +var allOverlays = []; +var iconLibrary = Script.require(ICON_LIBRARY_URL + "?" + Date.now()); +var ICON_SIZE = 40; +var iconSelection = 0; +var icon; +var ICON_HORIZONTAL_ANCHOR = 50; +var ICON_VERTICAL_ANCHOR = 70; +var ICON_SHOW_TIME = 500;// ms +var UPDATE_TIME = 50; // ms +var isRunning = false; +var colorsIDs = []; +var isXPressed = false; +var isYPressed = false; +var isZPressed = false; +var currentDirection = "Y"; +var directionID; +var mainLoop; +var keys = []; +var UIkeys = ["x","X","y","Y","z","Z","ALT","SHIFT","CONTROL","DELETE"]; + +var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); +var button; + +button = tablet.addButton({ + icon: LOCATION_ROOT_URL + "blocks-inactive.svg?" + Date.now(), + activeIcon: LOCATION_ROOT_URL + "blocks-active.svg?" + Date.now(), + text: "BLOCKS", + sortOrder: 12 +}); + +var screenSize = Controller.getViewportDimensions(); + +Script.include("/~/system/libraries/toolBars.js"); + +var colorToolBar = new ToolBar(ICON_HORIZONTAL_ANCHOR,ICON_VERTICAL_ANCHOR, ToolBar.VERTICAL, "placeBlocks-colorToolbar"); + +var LIST_NAME = "SelectionExample", + ITEM_TYPE = "entity", + HIGHLIGHT_STYLE = { + outlineUnoccludedColor: { red: 0, green: 255, blue: 255 }, + outlineUnoccludedAlpha: 0.8, + outlineOccludedColor: { red: 0, green: 255, blue: 255 }, + outlineOccludedAlpha: 0.8, + outlineWidth: 2 + }; + +Selection.enableListHighlight(LIST_NAME, HIGHLIGHT_STYLE); + +Script.setInterval(function () { + reset = true; +}, RESET_TIME); + +// functions +function prefetchIcons() { + for (var t = 0; t < iconLibrary.iconData.length; t++) { + if (iconLibrary.iconData[t].inactive !== null) { + TextureCache.prefetch(iconLibrary.iconData[t].inactive); + TextureCache.prefetch(iconLibrary.iconData[t].active); + } + } +} + +function createMainloop() { + mainLoop = Script.setInterval(function () { + if (isRunning) { + if (hoverID) { + if (isControlPressed) { + HIGHLIGHT_STYLE = { + outlineUnoccludedColor: { red: 0, green: 255, blue: 255 }, + outlineUnoccludedAlpha: 0.8, + outlineOccludedColor: { red: 0, green: 255, blue: 255 }, + outlineOccludedAlpha: 0.8, + outlineWidth: 2 + }; + } + if (isAltPressed) { + HIGHLIGHT_STYLE = { + outlineUnoccludedColor: { red: 255, green: 255, blue: 0 }, + outlineUnoccludedAlpha: 0.8, + outlineOccludedColor: { red: 255, green: 255, blue: 0 }, + outlineOccludedAlpha: 0.8, + outlineWidth: 2 + }; + } + if (isShiftPressed) { + HIGHLIGHT_STYLE = { + outlineUnoccludedColor: { red: 255, green: 0, blue: 255 }, + outlineUnoccludedAlpha: 0.8, + outlineOccludedColor: { red: 255, green: 0, blue: 255 }, + outlineOccludedAlpha: 0.8, + outlineWidth: 2 + }; + } + Selection.enableListHighlight(LIST_NAME, HIGHLIGHT_STYLE); + if (isShiftPressed || isAltPressed || isControlPressed) { + Selection.clearSelectedItemsList(LIST_NAME); + Selection.addToSelectedItemsList(LIST_NAME, ITEM_TYPE, hoverID); + if (currentDirection === "X") { + addDirection(hoverID,"X"); + } + if (currentDirection === "Y") { + addDirection(hoverID,"Y"); + } + if (currentDirection === "Z") { + addDirection(hoverID,"Z"); + } + } else { + if (directionID) { + Entities.deleteEntity(directionID); + } + Selection.clearSelectedItemsList(LIST_NAME); + } + } + } + }, UPDATE_TIME); +} + +function loadColors() { + for (var i = 0; i < iconLibrary.iconData.length; i++) { + if (iconLibrary.iconData[i].type === "color") { + icon = JSON.parse(iconLibrary.iconData[i].color); + } + } +} + +function addIcons() { + if (colorToolBar === undefined) { + colorToolBar = new ToolBar(ICON_HORIZONTAL_ANCHOR, + ICON_VERTICAL_ANCHOR, + ToolBar.VERTICAL, + "placeBlocks-colorToolbar"); + } + var overlayID; + for (var t = 0; t < iconLibrary.iconData.length; t++) { + if (iconLibrary.iconData[t].inactive !== null) { + if (iconLibrary.iconData[t].type === "color") { + overlayID = colorToolBar.addTool({ + x: 0, + y: 0, + width: ICON_SIZE, + height: ICON_SIZE, + imageURL: LOCATION_ROOT_URL + "Icons/" + iconLibrary.iconData[t].inactive, + alpha: 1, + visible: true + }); + colorsIDs.push(overlayID); + } + if (iconLibrary.iconData[t].type === "action") { + overlayID = colorToolBar.addTool({ + x: 0, + y: 0, + width: ICON_SIZE, + height: ICON_SIZE, + imageURL: LOCATION_ROOT_URL + "Icons/" + iconLibrary.iconData[t].inactive, + alpha: 1, + visible: true + }); + colorsIDs.push(overlayID); + } + } + } +} + +function deleteAll() { + var allEnts = Entities.findEntities(MyAvatar.position,SEARCH_RADIUS); + for (var k in allEnts) { + var deleteProps = Entities.getEntityProperties(allEnts[k]); + if (deleteProps.name === "buildSystem" && deleteProps.description === MyAvatar.displayName) { + if (MyAvatar.displayName !== "anonymous") { + Entities.deleteEntity(deleteProps.id); + } + } + } +} + +function addDirection(currentBlockID,dir) { + var directionRotation; + var directionColor; + var directionDimensions; + + if (directionID) { + Entities.deleteEntity(directionID); + } + if (dir === "X") { + directionRotation = Quat.fromPitchYawRollRadians(0,0,Math.PI/2); + directionColor = {r: 255,g: 0,b: 0}; + directionDimensions = {x: 0.003,y: 100,z: 0.003}; + } + if (dir === "Y") { + directionRotation = Quat.fromPitchYawRollRadians(0,0,0); + directionColor = {r: 0,g: 255,b: 0}; + directionDimensions = {x: 0.003,y: 100,z: 0.003}; + } + if (dir === "Z") { + directionRotation = Quat.fromPitchYawRollRadians(Math.PI/2,0,0); + directionColor = {r: 0,g: 0,b: 255}; + directionDimensions = {x: 0.003,y: 100,z: 0.003}; + } + + directionID = Entities.addEntity({ + type: "Shape", + shape: "Cylinder", + name: "y-axis", + parentID: currentBlockID, + localPosition: {x: 0,y: 0,z: 0}, + localRotation: directionRotation, + lifetime: 3, + color: directionColor, + alpha: 1, + dimensions: directionDimensions, + ignoreForCollisions: true, + userData: "{ \"grabbableKey\": { \"grabbable\": false, \"triggerable\": false}}" + },"local"); +} + +function newBlock() { + var cubePos = Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0.7, z: -2 })); + Entities.addEntity({ + type: "Box", + name: "buildSystem", + description: MyAvatar.displayName, + position: cubePos, + color: { r: 50, g: 50, b: 50 }, + rotation: MyAvatar.orientation, + dimensions: { x: 0.1, y: 0.1, z: 0.1 }, + grab: {triggerable: true,grabbable: false}, + lifetime: -1 + }); +} + +function deleteBlock() { + if (hoverID) { + var deleteProps = Entities.getEntityProperties(hoverID); + if (deleteProps.name === "buildSystem" && deleteProps.description === MyAvatar.displayName) { + Entities.deleteEntity(hoverID); + } + } +} + +function showHelpPage() { + var METERS_TO_INCHES = 39.3701; + webPageID = Entities.addEntity({ + type: "Web", + name: "blocks-help", + sourceUrl: LOCATION_ROOT_URL + "Blocks-help.html", + position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0.8, z: -1.4 })), + rotation: MyAvatar.orientation, + dimensions: { + x: 0.7, + y: 1, + z: 0.01 + }, + dpi: 1920 / (3 * METERS_TO_INCHES), + lifetime: 60 // Delete after 5 minutes. + }); +} + +// events + +function wheelEvent(event) { + if (isRunning) { + if (hoverID) { + var currentProps = Entities.getEntityProperties(hoverID); + var newDir; + var newDim; + var newPos; + var newRot; + var direction = 1; + + if (event.delta > 0) { + direction = 1; + } else { + direction = -1; + } + + if (isShiftPressed) { + if (currentDirection === "X") { + if (direction > 0) { + newDim = + { + x: currentProps.dimensions.x + STEP_SIZE, + y: currentProps.dimensions.y, + z: currentProps.dimensions.z + }; + } else { + newDim = + { + x: currentProps.dimensions.x - STEP_SIZE, + y: currentProps.dimensions.y, + z: currentProps.dimensions.z + }; + } + } + if (currentDirection === "Y") { + if (direction > 0) { + newDim = + { + x: currentProps.dimensions.x, + y: currentProps.dimensions.y + STEP_SIZE, + z: currentProps.dimensions.z + }; + } else { + newDim = + { + x: currentProps.dimensions.x, + y: currentProps.dimensions.y - STEP_SIZE, + z: currentProps.dimensions.z + }; + } + } + if (currentDirection === "Z") { + if (direction > 0) { + newDim = + { + x: currentProps.dimensions.x, + y: currentProps.dimensions.y, + z: currentProps.dimensions.z + STEP_SIZE + }; + } else { + newDim = + { + x: currentProps.dimensions.x, + y: currentProps.dimensions.y, + z: currentProps.dimensions.z - STEP_SIZE + }; + } + } + Entities.editEntity(hoverID,{ + dimensions: newDim + }); + } + + if (isControlPressed) { + if (currentDirection === "X") { + newRot = Quat.multiply(currentProps.rotation, Quat.fromPitchYawRollDegrees(5 * direction,0,0)); + } + if (currentDirection === "Y") { + newRot = Quat.multiply(currentProps.rotation, Quat.fromPitchYawRollDegrees(0,5 * direction,0)); + } + if (currentDirection === "Z") { + newRot = Quat.multiply(currentProps.rotation, Quat.fromPitchYawRollDegrees(0,0,5 * direction)); + } + Entities.editEntity(hoverID,{ + rotation: newRot + }); + } + + if (isAltPressed) { + if (currentDirection === "X") { + newDir = { + x: direction * STEP_SIZE , + y: 0 , + z: 0 }; + newPos = Vec3.sum(currentProps.position, Vec3.multiplyQbyV(currentProps.rotation, newDir)); + } + if (currentDirection === "Y") { + newDir = { + x: 0 , + y: direction * STEP_SIZE , + z: 0 }; + newPos = Vec3.sum(currentProps.position, Vec3.multiplyQbyV(currentProps.rotation, newDir)); + } + if (currentDirection === "Z") { + newDir = { + x: 0, + y: 0, + z: direction * STEP_SIZE }; + newPos = Vec3.sum(currentProps.position, Vec3.multiplyQbyV(currentProps.rotation, newDir)); + } + Entities.editEntity(hoverID,{ + position: newPos + }); + } + } + } +} + +function mousePressEvent(event) { + if (isRunning) { + var overlay = Overlays.getOverlayAtPoint({ x: event.x, y: event.y }); + var clickedIcon = colorToolBar.clicked(overlay); + if (colorsIDs.indexOf(clickedIcon) !== -1) { + if (iconLibrary.iconData[iconSelection].type === "color") { + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[iconSelection].inactive,colorsIDs[iconSelection]); + if (colorToolBar.clicked(clickedIcon)) { + iconSelection = clickedIcon; + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[clickedIcon].active,clickedIcon); + } + } + if (iconLibrary.iconData[iconSelection].type === "action") { + iconSelection = clickedIcon; + if (iconLibrary.iconData[iconSelection].name === "newblock") { + newBlock(); + Script.setTimeout(function () { + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[iconSelection].inactive,colorsIDs[iconSelection]); + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[0].active,colorsIDs[0]); + iconSelection = 0; + }, ICON_SHOW_TIME); + + } + if (iconLibrary.iconData[iconSelection].name === "deleteall") { + deleteAll(); + Script.setTimeout(function () { + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[iconSelection].inactive,colorsIDs[iconSelection]); + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[0].active,colorsIDs[0]); + iconSelection = 0; + }, ICON_SHOW_TIME); + } + if (iconLibrary.iconData[iconSelection].name === "help") { + showHelpPage(); + Script.setTimeout(function () { + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[iconSelection].inactive,colorsIDs[iconSelection]); + colorToolBar.setImageURL(ICON_URL + + iconLibrary.iconData[0].active,colorsIDs[0]); + iconSelection = 0; + }, ICON_SHOW_TIME); + } + } + } + } +} + +function hoverOverEntity(entityID) { + if (isRunning) { + if (entityID !== hoverID || hoverID === undefined) { + hoverProps = Entities.getEntityProperties (entityID); + if (hoverProps.name === "buildSystem") { + hoverID = entityID; + } else { + hoverID = undefined; + } + } + } +} + +function mousePressOnEntity(entityID, event) { + if (isRunning) { + var objectProps = {}; + if (event.isPrimaryButton && reset) { + reset = false; + objectProps = Entities.getEntityProperties(entityID); + if (objectProps.type === "Box" && objectProps.name === "buildSystem") { + var newPosition = objectProps.position; + originalPosition = objectProps.position; + objectSize = objectProps.dimensions; + var objectRot = objectProps.rotation; + var surfaceNormal = event.normal; + var mainAxisFront = Quat.getFront(objectRot); + var mainAxisRight = Quat.getRight(objectRot); + var mainAxisUp = Quat.getUp(objectRot); + var directionz = 0; + var directiony = 0; + var directionx = 0; + var dotFront = Vec3.dot(surfaceNormal,mainAxisFront); + var dotRight = Vec3.dot(surfaceNormal,mainAxisRight); + var dotUp = Vec3.dot(surfaceNormal,mainAxisUp); + + if (Math.abs(dotRight) > 0.98) { + if (dotRight > 0) { + directionx = objectProps.dimensions.x; + } else { + directionx = -objectProps.dimensions.x; + } + } + + if (Math.abs(dotUp) > 0.98) { + if (dotUp > 0) { + directiony = objectProps.dimensions.y; + } else { + directiony = -objectProps.dimensions.y; + } + } + + if (Math.abs(dotFront) > 0.98) { + if (dotFront > 0) { + directionz = -objectProps.dimensions.z; + } else { + directionz = objectProps.dimensions.z; + } + } + newDirection = { x: directionx, y: directiony, z: directionz }; + newPosition = Vec3.sum(originalPosition, Vec3.multiplyQbyV(objectRot, newDirection)); + if (iconLibrary.iconData[iconSelection].type === "color") { + var iconColor = JSON.parse(iconLibrary.iconData[iconSelection].color); + hoverID = Entities.addEntity({ + type: "Box", + name: "buildSystem", + description: MyAvatar.displayName, + position: newPosition, + color: iconColor, + rotation: objectRot, + dimensions: objectSize, + grab: {triggerable: true,grabbable: false}, + lifetime: -1 + }); + } + } + if (objectProps.type === "Web" && objectProps.name === "blocks-help") { + Entities.deleteEntity(objectProps.id); + } + } + if (event.isMiddleButton) { + if (hoverID) { + var deleteProps = Entities.getEntityProperties(hoverID); + if (deleteProps.name === "buildSystem" && deleteProps.description === MyAvatar.displayName) { + Entities.deleteEntity(hoverID); + } + } + } + } +} + +function keyPressEvent(event) { + if (isRunning) { + if (keys.indexOf(event.text) === -1) { + if (UIkeys.indexOf(event.text) !== -1) { + keys.push(event.text); + } + } + if (keys.indexOf("DELETE") !== -1) { + deleteBlock(); + } + if (keys.indexOf("SHIFT") !== -1) { + Controller.captureWheelEvents(); + isShiftPressed = true; + } + if (keys.indexOf("CONTROL") !== -1) { + Controller.captureWheelEvents(); + isControlPressed = true; + } + if (keys.indexOf("ALT") !== -1) { + Controller.captureWheelEvents(); + isAltPressed = true; + } + if (keys.indexOf("x") !== -1 || keys.indexOf("X") !== -1) { + isXPressed = true; + currentDirection = "X"; + } + if (keys.indexOf("y") !== -1 || keys.indexOf("Y") !== -1) { + isYPressed = true; + currentDirection = "Y"; + } + if (keys.indexOf("z") !== -1 || keys.indexOf("Z") !== -1) { + isZPressed = true; + currentDirection = "Z"; + } + } +} + +function keyReleaseEvent(event) { + if (isRunning) { + keys = []; + + if (event.text === "SHIFT") { + Controller.releaseWheelEvents(); + isShiftPressed = false; + } + if (event.text === "CONTROL") { + Controller.releaseWheelEvents(); + isControlPressed = false; + } + if (event.text === "ALT") { + Controller.releaseWheelEvents(); + isAltPressed = false; + } + } +} + +function cleanUp() { + Selection.removeListFromMap(LIST_NAME); + if (webPageID) { + Entities.deleteEntity(webPageID); + } + webPageID = undefined; + if (colorToolBar !== undefined) { + colorToolBar.cleanup(); + } + colorToolBar = undefined; + if (mainLoop) { + Script.clearInterval(mainLoop); + } + if (isRunning) { + Controller.keyPressEvent.disconnect(keyPressEvent); + Controller.keyReleaseEvent.disconnect(keyReleaseEvent); + Controller.wheelEvent.disconnect(wheelEvent); + Controller.mousePressEvent.disconnect(mousePressEvent); + Entities.hoverOverEntity.disconnect(hoverOverEntity); + Entities.mousePressOnEntity.disconnect(mousePressOnEntity); + } + allOverlays = []; + colorsIDs = []; +} + +Script.scriptEnding.connect(function () { + cleanUp(); + button.clicked.disconnect(onClicked); + if (tablet) { + tablet.removeButton(button); + } +}); + +function onClicked() { + if (isRunning) { + tablet.gotoHomeScreen(); + cleanUp(); + isRunning = false; + button.editProperties({ isActive: false }); + + } else { + isRunning = true; + button.editProperties({ isActive: true }); + loadColors(); + addIcons(); + createMainloop(); + Controller.keyPressEvent.connect(keyPressEvent); + Controller.keyReleaseEvent.connect(keyReleaseEvent); + Controller.wheelEvent.connect(wheelEvent); + Controller.mousePressEvent.connect(mousePressEvent); + Entities.hoverOverEntity.connect(hoverOverEntity); + Entities.mousePressOnEntity.connect(mousePressOnEntity); + } +} + +prefetchIcons(); +button.clicked.connect(onClicked); diff --git a/applications/blocks/Icons/Black-0-0-0-a.jpg b/applications/blocks/Icons/Black-0-0-0-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dbf170f778495ed93def295149685a702b9b70b0 GIT binary patch literal 914 zcmbV}e@u*V7{H(J`+eVg-+S-Mz5S$VbSWuj5|_{3yNlma+K@pFPj^{P8@`p3fe>m+uEztWu=} zgb*Y_5&%B{@)%ua8bDke1Ofm92)O_T00amo;GaM=5C{qJ6HH+N5lLc-7SXhjj94OO z7?z=F)`?{$QmIr*i=C%9Nu7mSSR#xIQy7b+49y4~{|0{xI0j@O!$=MUhcJhD3(NpO z6q;c2U;sp5k`mF3n3eDrXp{kgFeXS$Q6vd~_9FrV$x$vo!I2`@_+(n1?G|#dq>}NC zx?*-$TkW$JY|hb(Sr5;t)4crrX9vs)RD>>E6t;Lt^s*S`@)fGswVHM76B0LQx1^+| zrDtSr-M(YzuHCvldk-DXFE~FTr=`-c$&R?jizF2dqw&Civ#_LTtnvJcu zEqB`5?{;){J?wte^SHOqHZb_?`HPpYUcVV~eE9fjc;xe!uipeO1b9+Qc-I7fcyT}= zf+R6X3touWEi`Z>@vsb||4~PfWtUg( z+2m(+YFkh1(|PI_@`3)k{w?jet+j^M z7j2q;xmz*HgZI|5g-s(LhDtl;hFCtHG%Ql4rX)oZk)&5df3?ZJs@}G;-DFpvn)mWF`qOH1mPtnkVe2;M(&h+M0xU3-Z HBKW=^Yo0?k literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Black-0-0-0.jpg b/applications/blocks/Icons/Black-0-0-0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..08dc915f818312ead0f75e075caffd0a32574e24 GIT binary patch literal 667 zcmbV}IZRbi5QhIb=iGbFz3+nWJ{Fh8@BkG$7C~(cAWtEo0Cy`u0kH#>#e^7er^8)4 zaJNGRg-Z0fcDMpIK14+;a77EQIS-?WmHK5SnPO%#U&b5qUcz4-Dhh#!P>yoIiy&Co zR9g*{lpq~|0#N`Q0D%z2dw~KlA{{^B2G^KEa6_6>>Qt7`Qp#3R+A+56a~#K!R_v@8 zCsx;bi5}NeoSTl4N_YGl-c7g)e)u^B!Cc}ld11^4$e<`Q2Lr^oFifc|+vkPR;|C+o znc#*Y1VAmsID~5ik}~qlxY7z4tc%ZV?dVj=`P~BvWrGtbS(Wu|mYq0z&fIya3l=U) zOV3`Mle=W;vVs+bp_QwOidU~$yKeo4jhi-asj9BoTDxugj-3sSP0hRZ?A^Ejz`;Z9 zhmRaRcKpQ2Q>VMmoIQ8`!o^FMuUx&>(|i3!U;nM!;X8Nl-GA`#(c>pipFJNM9*K;; z8hicb?fAR*lOH~Q`uyeV)VJ^2i@;~J^t+<`;pKu66M_q=y@)mH23HtK8D=1_R94i* z1v6V!e11n~_kfk0RW^}OSwCneresG_C$(DC?C-?d{>$u_*l({9IGn&-?qWHncaL|q H!yEnqgK5Sg literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Blocks-icons.json b/applications/blocks/Icons/Blocks-icons.json new file mode 100644 index 0000000..d1bea73 --- /dev/null +++ b/applications/blocks/Icons/Blocks-icons.json @@ -0,0 +1,113 @@ +{ + "iconData":[ + { + "type": "color", + "color":"{\"r\":\"255\",\"g\":\"0\",\"b\":\"0\"}", + "inactive":"Red-255-0-0.jpg", + "active":"Red-255-0-0-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"128\",\"g\":\"51\",\"b\":\"0\"}", + "inactive":"Brown-128-51-0.jpg", + "active":"Brown-128-51-0-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"255\",\"g\":\"0\",\"b\":\"225\"}", + "inactive":"Purple-255-0-255.jpg", + "active":"Purple-255-0-255-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"176\",\"g\":\"0\",\"b\":\"255\"}", + "inactive":"Purple-176-0-255.jpg", + "active":"Purple-176-0-255-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"0\",\"g\":\"0\",\"b\":\"255\"}", + "inactive":"Blue-0-0-255.jpg", + "active":"Blue-0-0-255-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"0\",\"g\":\"149\",\"b\":\"255\"}", + "inactive":"Blue-0-149-255.jpg", + "active":"Blue-0-149-255-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"0\",\"g\":\"255\",\"b\":\"255\"}", + "inactive":"Cyan-0-255-255.jpg", + "active":"Cyan-0-255-255-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"0\",\"g\":\"255\",\"b\":\"0\"}", + "inactive":"Green-0-255-0.jpg", + "active":"Green-0-255-0-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"255\",\"g\":\"255\",\"b\":\"0\"}", + "inactive":"Yellow-255-255-0.jpg", + "active":"Yellow-255-255-0-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"255\",\"g\":\"143\",\"b\":\"0\"}", + "inactive":"Orange-255-143-0.jpg", + "active":"Orange-255-143-0-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"255\",\"g\":\"255\",\"b\":\"255\"}", + "inactive":"White-255-255-255.jpg", + "active":"White-255-255-255-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"150\",\"g\":\"150\",\"b\":\"150\"}", + "inactive":"Grey-150-150-150.jpg", + "active":"Grey-150-150-150-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"100\",\"g\":\"100\",\"b\":\"100\"}", + "inactive":"Grey-100-100-100.jpg", + "active":"Grey-100-100-100-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"50\",\"g\":\"50\",\"b\":\"50\"}", + "inactive":"Grey-50-50-50.jpg", + "active":"Grey-50-50-50-a.jpg" + }, + { + "type": "color", + "color":"{\"r\":\"0\",\"g\":\"0\",\"b\":\"0\"}", + "inactive":"Black-0-0-0.jpg", + "active":"Black-0-0-0-a.jpg" + }, + { + "type": "action", + "name": "newblock", + "inactive":"newblock.png", + "active":"newblock-a.png" + }, + { + "type": "action", + "name": "deleteall", + "inactive":"deleteall.png", + "active":"deleteall-a.png" + }, + { + "type": "action", + "name": "help", + "inactive":"help.png", + "active":"help-a.png" + } + + ] +} \ No newline at end of file diff --git a/applications/blocks/Icons/Blue-0-0-255-a.jpg b/applications/blocks/Icons/Blue-0-0-255-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c42d876ddeec7f2928c570695fb5dfcfc41bdd2a GIT binary patch literal 796 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vMf@I2+q z4?cWtDT=?jcmQHzZ!WK{6b(%eikND_khcFu{Ex%` p8Ls?i_}TVte%OD8ge};@-$8T*npI`j{CIEh6!bCyWE2t(;O+@fQM>^vXyO6fx#6xi zaQB7^E+^3u)EnRecyZkI1nwG4n>QFuI4NJMk~&mX>PvY;-ZS`1!zE!55h_s$cu@q4 zn`&!-vNB`602vfx;$VOn7ltX7W&6Acy8K|o zITPG4gaBw4F%IDxft0KQGoidn2I~^Do7>t|YGG$jQbqr0T26I+i)ANIpD}Y*`kcA* z=4a$CSeTc;XmQb!;_%XCC8f((tX#Ev&DwSAH*Bogw7GUm!`5xv8=H3Q+`VV-zWoOd zwjMfsECr+N~IDO{qx$_q;Ub=kcYFGEQ>o;!Rz7x6I+jsB&gMq<^j~+i68Xk#0 zfAR9w>o;%Ty&wDV@zduoU%!3-p}h!vLQB6Z#w0HnjF=EyNbNknm(r0VrKs))-oltKVpBqM&NJ)bGeHU#v3|X MGk=bUGDF_*FP#a;_y7O^ literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Blue-0-149-255-a.jpg b/applications/blocks/Icons/Blue-0-149-255-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e1202cf3c1d207151f0b8b0479299229c4bbdba GIT binary patch literal 880 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vtzj^#y-;c_L|IXVn zZ`}9sd9%)Yoj=yg584R7F1vV|r8`$@lhJh62mwd-39j;6%HPU<_#E?hUQK0k^5gSt zadB}K#&0#OJY0D%xkKSwbbk%^yhiyLeqxFu~VO)4kgDCH_C-2~SSc%J7;Cow6( zOEk4vV#duB=eDP$G9CYhz5!n$h#;phm`~g%9mO<&EQ&L6FhGn8%a+P<13HSHAQ*AZ z1h*_90NPHBL-HroIG{<%-M72FI>FTbNR~EYu9hyir&6+_ul;nj~+jH+W%}|a47cj z)$r>#Z%5v}9~=Mh@zduoU%!1fUIad&W!@F%4=*2#m=Ih@<3+65H2A_w&$UB^6|$x= zIh@z3Qi?h{yL+9C{L0bP+NM4?Ewdn&HD=V}W`8Hv_Frbd#D04X!Q%wxa~}&ZJkr&! Lu_S5yp&tAJpk&CR literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Brown-128-51-0-a.jpg b/applications/blocks/Icons/Brown-128-51-0-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f58e6f31b9d4c69f83e0c7eceaec458be79b2636 GIT binary patch literal 892 zcmbW!OH30%7zglgcDLPaS!%aDB__NPP;1IV#RyG7z@mf{AAli|f`DKm0%`#zhL?be z8j2`zfFLO9#egCpF@ThZUKCISyx1c6h$cl5QHW~>ja)pa|IAGOhxsP?W%zOaB}gN} z)M0=Sf&@qa;EfO)nv<3S5E%*H0Kfo+6hHs~2LM4DDIfqq_|R}b;SM0F(a2Uh0Dw-X zlcyayoSmdSnk>)AN(JCwKnM^B;q@z|fW#3}6e*yEG>tbSvJf$hn4xL0rC4mivMfuB zB&#f03GVn2JdUSGQphqigKzv>_#WUGkb;y%E1Z)l29vT+DLmjbu&)$78v2pv84ko9h9!g8kK6d9eut z;}erc)6}c!nb&XLzMK8{Y3}p7s_2xl?&i4D7 zCkY)zJ3I9OuA`=ybH%$t2s@{uA(sm!_0~&@<|T!B`uWS9blC(Gx$s;ABe27Bb%8+trZt9l!(Gk4GPa4Wwnn}@uy X8D)dgs9aROKTx^Y-o0_=G(YhJ>h&Ze literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Brown-128-51-0.jpg b/applications/blocks/Icons/Brown-128-51-0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8e30d69b365d83a1642048b817e288999c2cdf8 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0XBW`Z!ImY$h5 z0|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$QVa|XvYsxEAr`&KIR7lU|?YIboFyt=akR{0Cj~YZ2$lO literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Cyan-0-255-255-a.jpg b/applications/blocks/Icons/Cyan-0-255-255-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bfac151cc762c8e350111135a0cfe61a244fae4 GIT binary patch literal 910 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`v$g-bTlt~?Vc*h~uj05bu3Pu+-5%X!lkdT{JvyH}-U_CdC3z-!s!Xa} z{O#u7&V4*Tg1;I4*tsgRp5vdy%U$zkKiHf0>e9RGhpri%&o+uUb5bR5Bb$2|LmP{L zgYqo$*WJ;<7+FYCqaBwj_$Tl!#c+OL&-ictb^fpI)2H9|m#+P^@&8Q##OF+q literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Cyan-0-255-255.jpg b/applications/blocks/Icons/Cyan-0-255-255.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d67c7ad069eeae3edea2beebad143ccfbf138611 GIT binary patch literal 671 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vBm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vSZ!THi9H+Ny z>xcff+;wZWM4wEYrK`s>Nj*YlwKnSsg$75NCXFAOAJ-q;6@G9%$E~{++Yg&v54)v1 zC)inUC6lM{8V<=w?-T(?7CA?en(QCfAKVRpaJ_qNZcX&V*|S&A75k)-*d5aNWa=$; xu2l;+d8#n5tIYbk_nhBs`Pb=xlHy-Y|8uz7e|7!kb$R)z-|ziru%7?_CIGKIA@TqK literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Fucsia-255-0-100.jpg b/applications/blocks/Icons/Fucsia-255-0-100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98acb53ba616cd683404628a7474395f813cdcb6 GIT binary patch literal 671 zcmbV}Nla8h5QhKi?)SRin+MDr7MF`*07Y&rt``HyC?p)fofDv_Zn*0W zcfA-y+)ko{+YML1i{q{*aK}rV9*icQ)Gt*@9jYqzrSyP)hG0dcJOUy@EouQBN4Tt| zu>q*8L>>SIq7XO$0wIBZic&Bl6F=b=H`qdOOWIPJR8GKA%2iUjNv<34JkOI(a!Qhy zY-+Q_jGHOWZBI#MI{poP9lk;kK~7;XpSVvthDiWflwj;&fEX8+EtTU2bPPQ~FyfpE zZdpPAw1pUl@U2j0ezBceRVTwuX$7qvohqxOt2e#6e>l6azPZhDGscadFfnKHl-#L# zMboCwm^o{9>D;o&y!qu73l=U~ykzOJn&m52Hmq9RxMtn@4I85^n>KITzGLUE-Fw>i z?%RLh;Gx4ujvhOH;^e8*XU?9x(0#Gz(&Z~xuidyA>$`RP&fRUFXTtB2F;oBQ32?4o$ih*3+J{he6bf0_Lf`|ULZj}w^Beayk=*7n@< KYc--NdhiFBxW`=p literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Green-0-255-0-a.jpg b/applications/blocks/Icons/Green-0-255-0-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9a885fb3bdbca3aafffdf0bd6210d8c0b085cdf GIT binary patch literal 911 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vnDTSJ+IDT*wtGsOr)AHKI~VG4QOqfFW(T8# z$|Q#MpMU=|;{V$GFTSWc|NX5y{~1cxe%kmi`ai?5;D1~GGn{c(zh?jPxxW6E-)r-y I_W!>L0E*a1V*mgE literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Green-0-255-0.jpg b/applications/blocks/Icons/Green-0-255-0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..990f365461f19498531de77846adc33d07379c65 GIT binary patch literal 671 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`v_uS$m0M2 literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Grey-100-100-100-a.jpg b/applications/blocks/Icons/Grey-100-100-100-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ee875e87100b0ba19e571b6496c9ae243cfadcc GIT binary patch literal 828 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`v=58jWj58SdpaG&+&y^70+%C?8? z674Z|Hd~)BGhx^51*xg}QxhCnh(`X!Or9=?5& W=iIe-v{tpBHdJ9?SDD4||0V$STos}K literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Grey-100-100-100.jpg b/applications/blocks/Icons/Grey-100-100-100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3026b8451f2072d06812390aeb1105fc455c02e GIT binary patch literal 667 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vBm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vnDTSJ+IDT*wtGsOr)AHKI~VG4QOqfFW(T8# M$|Qyb{QqwP05h2^4gdfE literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Grey-150-150-150.jpg b/applications/blocks/Icons/Grey-150-150-150.jpg new file mode 100644 index 0000000000000000000000000000000000000000..560f86538647f0068c7963d5fba3a84341b64f4f GIT binary patch literal 667 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vBm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vIORUasI>nkgHq$nO>Kbg@x7WU4Fh}&pcnd Yl0J>ck>1vu1y-%%RB2$#VE%s-0PI^d1poj5 literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Grey-200-200-200.jpg b/applications/blocks/Icons/Grey-200-200-200.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64970bfb332b0c215ff9321fa4a685b2ae85a27b GIT binary patch literal 667 zcmbV}IZRbi5QhIbbM8Io-gm)wAB#()JV23-#kDbjJcWb;+^ql=#SUCR6AN&s!(BUY zw?hS&N)*=)SHQ;St`)dzVy-z4qluOJWhR+oW-?zU7zmyqTplZnfrwCzY9NRsTH0J+ z2UJub7k~y)1Pp*cNDw?m2?UXepRmOSTS~T+t&~aagdDA1t(2SOx*^Z=Jmn;hN%E3S zZI+mEGsSFsT4~eqZvb?Y~5Y---LdF!_AJ9h5c-L_}% zzWoOd9y)xa^XReTCr+L^edg@B^W8lcE?&BP^;+Nc8#iy=zH|59{Ra;p4Ga#&pFVs3 z;^nK?Z{Ci)d;j6%r_W!$eluPK9@R4MO7Mr54?#jomdbdMXfh4Hv@-JSNKvJ#X-J9Y zx9HU3_KvPzC$pexIIXs^-%ZadjAxG+wS?KQ2j3@kw&idz F_yc_{#RLEV literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Grey-50-50-50-a.jpg b/applications/blocks/Icons/Grey-50-50-50-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b30a052ce74f326c5ce9054282741f630c0272a0 GIT binary patch literal 783 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vYn)(owTy#XY++)~J`1Z0U`Z za62O4@Ss1+hV}7XzVioe=@@56`2@QrGFjQ)$vSb!ltsXwr7H08eYqFq^VqH}Y>&E> aIxCvwt<17**r%WmlL4|Q!Pvn736_?vwBv??K6Hm6h*?Os zEGYrnN`fJME0U2{WT#ZtsAxlKeoK3Y&MfZgO{*Fh$ttLAY<1l9@e?La%APVcXIgII z^cgc}&7M;-uQWD)L0S32MT?g#UABD1%2liD)~u~xw|>LMO-;?4w`|+KW9P2jd)oHy z+kfETp~FXxb{;!^;^e8*XU?8Gf1$hQ;-$-1u3hiDakKx{?K^kx-GA`#(csW<{OPmj zFJ8WS{pRiHyZ0YHe)|07>o?;?;4v-pt^|L0`4A+eWT}i7i6+zFODiMKjucg@nue5U zev3{mZtv*obutU8M$&2<2i)|m!g%(mQA?QpomlICnf(&`?KKRK3BqR|bMd{uvn_{% Fp&x;^#i{@R literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Orange-255-143-0-a.jpg b/applications/blocks/Icons/Orange-255-143-0-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8237f183b35aea0b687faa5ee828fd8169fcd2fa GIT binary patch literal 906 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`v#9l>BKXkv{s%`O#3TMxqyLRpTaCOS%m{Z>ZHlKKRaavlM$~2Wpo@)KK zxxd-|aDO=ert+g{OPBr8{ZYL9l~sLdcp zhkm#}$_H68d)c3$AH^%OtlC>lv$Lb4^M!8unx0voYP2MyTQMyyi6MYfr9u18>;DWr u-G7t*Gfe+8@BY7eQTHyt+qy5zevAD>@!#VAVvDQw-^KlzU;D29|4jhtUqP(^ literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Orange-255-143-0.jpg b/applications/blocks/Icons/Orange-255-143-0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..59a6b5830cf8bc82f5c28c50086d6c41db39df42 GIT binary patch literal 672 zcmbV}IZRbi5QhIb=iGbFz3&3=J{Fh8@Bl?R7T3nGJ%xk<+>HewqS%28Xkr2GbhvAW zyEXxz@6rp^DvrNsb6N2DP|_~W%Qtaj$nDDECM1zHL3v}L%6i1 zp&qEHKn?%}q7XO$0wIomhGH-x6F=b=H`qdOOWIPJR8GKA%2iUj39cLPJkOI(Vp4*a zXlk>>jGHOWZBI#MI{poP3%)`SK~7;XpSVvtifI5@6ldaKfEX8+EtTU2bQIk|FyfpE zZdpPAw4E4-@U2jKZlRrAStG-ZDS53OohqZKt0%RpZzMCnwyDi=({? z1+!+)nLBTOaY<=p;i9tg#Y>hhTfSoDsx@_M>({Ms*syWa<}J-FTet1lxoh{Hz5Ckt zA2@jE@R6g(j-NPr>hzhj=gwcaboom6)oa&p+`N4!diUP_2M>GuA3c8ZbYO63IQHV@ ztJiPdzI*>+bnN4&&tJZN`#x^G2z)}zyerNhUOpHxA-Isni&(R1@P(D0YljLeWldvp zIImTu6m@iV^*9;%RU@gjO?_@!WBm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vKLhs(Z;{jyyW zbX0FSmyO?s1*xgJ6C7CtD%tvb=1bZruBuV|7`k?S*Bn0{uf(Zt^Y3W&-~hV I_5W`I0IGf{F#rGn literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Purple-176-0-255.jpg b/applications/blocks/Icons/Purple-176-0-255.jpg new file mode 100644 index 0000000000000000000000000000000000000000..acb0db338ecce071f1ff595dc34765834d637238 GIT binary patch literal 672 zcmbV}IZ#wV5QhJrnfGSi+Xw7h4v#=(0Yx$n&%}b2Rj48W#VZ0-6f^Jutug>_GQ2gz zTN4Wv4Y%%;ziQpDpCecvEsKJPP=gvk#}O`V zX{ZM(Dv$?2fhYtHfIvu~pCJN9Wa1~>;s#p?Zb@58lgbG=O1Vl(H_3Gap67YeNlr=f zl1*)vm~k`3x$P;bOvk^WuftaeBFHHW<`efx$1oWnixP|-3=reOvZZp|fR3R%2u7SU z!7WP&fVL9j5WW@4%rCZ6D{E!AF|DArqf=#-boHiJ^$leg)-|;`ZpOIr6DHlyyLz3h!m6S4x~4uiBfBV`Gi=lnW`8Hv_Frbd#D04X!s7(yb070CI;lPP M{KyoINQxf#0bGa2ZvX%Q literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Purple-255-0-255-a.jpg b/applications/blocks/Icons/Purple-255-0-255-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89a05dde393bff4259456ef40d8dad2e90aa26c7 GIT binary patch literal 874 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vo=HA$^Ci>LG^Ztbs?75=sj2_L_`p{Bfqn0K zoj<}4rK5MpGX2U>Z+G9`=MkIxMC;T+qct2Xf+v*v8|1gJH+;!&_{X_<&&Ta8xp{9( zxFyn?a+B^^Dwb~VG1@f!)CPqneuXYO`+pbYn6K3_|G0JT{IPq2yLRuopuez*qqMtH zW#+AW4y#tl>l~TDATufZFVla9p8CJ>{~4y+{5$@8`hNBM)qmdAuay7TUBBx7Xa4hF T>wlG>J^SY0@B7b-|K9`vt${BF literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Purple-255-0-255.jpg b/applications/blocks/Icons/Purple-255-0-255.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72a89dc8dcd2e7ca32943a40f8ffb5fa82112d18 GIT binary patch literal 671 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`v_X%$OQlZ literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Red-255-0-0-a.jpg b/applications/blocks/Icons/Red-255-0-0-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6ee186db0cc5f11a991cfdafabc53be02089c28 GIT binary patch literal 856 zcmex=Bm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vh5}; zimH2$?tAW4hlEn|@kDljzxu46%Fu(9oJ%99_=$B?2Pm9dz z(fYWdl`)KU6NfU3+?1M_A3Gn~dOvjUeEar~|HIea-MwnBEEe?#w$5`i*uk~H%v0q7 zBm<7<_#hv=|r|I2afig&3F_7#J8C z7#YCe|7`|m1|~*E5P||`R%Q@jV_{)tWoKh&2Vo9QZcYvkE)I5fE?zD!ZXO;U9(GPX zeqJ6v5F2C&NIOUuGcy|x2RjEy1!>^_0R}-11_1^EW=16jCP7AKLB{__7~~lk7+D#? z0ODW<21X`k7FITP4o)ua|3?_M3NSD+GBY!=Ftf6ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lK6V1{@L6kT9|<}X18CPpR}7G@T9kiQt2%0UVQSy&Yf*@PSe*%J$em5drWM4Tor z+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`v_vN$oBvM literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/White-255-255-255-a.jpg b/applications/blocks/Icons/White-255-255-255-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a28c9039f43813742afc5709e810e75b0a3c665 GIT binary patch literal 913 zcmbV}Sx8i26oAiv|9j`&SzNA;T0K-cE@fc2wonb4+bBM`r!cvcTM?m^no#PLW(A>{ znihe!*z!rPKEZy#TUUvNlhSop4p$US@G z;u8{+_8mHWBsDGlXvT??Ik~6uPMhmT{QCa0!nzI^>Q`+bi0LV%aG_;)SwhZhS3 zB1jUGH1CCoG`@i)DN9FziF+U&lWc0`l+8#z3d*aRg)-+Lomp&3r^wveWzc4lS6eds zJ2BONnf(&`?bQbojDTP<3vyUA;6N3Z+3eI9-@lrJW;YHJI?|MjSM>CF)z|=`i|9KcsZfj+900CZ>Epx3^CyVinefJ_}NfURX5mHY?T(Yvn$d}>EvEL zGf}w>vc|42Vk2TKRTE~xCZ%nZcKYSh=RA*ug$If9nYCx+1Eo>A;Dg%QrYK!NqjuUu zlbI;bo^ztCaYDYm=3Ek$-`gA77c3>nA)<;sET((#Ul z?Hs5M=wD`-=ghk=81+;?-amLZZ^C79M@ws@vZH%ZU9W8Ok_1|h3>UmD3YD6uvyg3; HoYVdQ>eERZ literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/White-255-255-255.jpg b/applications/blocks/Icons/White-255-255-255.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5d100f919707b384448d81e57cf7f1c084fb24a GIT binary patch literal 631 zcmex=3yB2nv{4nL&V!g@u`wosFFxggH35 zIXO7EIM~^_c)7T^d3bnu*g5(5d3pFiY>*)!?I2yu%xpXy>>MB!q=Ekj7z8;O1Q-OE z8I>5A1R0qH8UG()kY`|EWMu>c1}I=;VrF4wW9Q)H;{JbxVXFWG6C*P-6ALpdD+>z) z17j^C6Eg#gAghp~p(C4cU?RIxp@>oA#DyHnP8$!323`E1Vw_ae#K|QlE+HwUs-~`? zsbyknW^Q3==I-I?6&w;879J59m7J2AmY$KBRa{b9R$ftA)!fqB*51+CHEHsc zsne#9glAUcUPH>GPMb-@gC&`3vMPMh0exw?I(=259~gWME=sVqsxsVF&q(k*OS{K#+x1 z(U48ZF_1m6P*};Rkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n&xrF_6Inikdko>P aTMRtRj0{YI%z_N|41fPD>e68Te-i+WAi-?_ literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/Yellow-255-255-0-a.jpg b/applications/blocks/Icons/Yellow-255-255-0-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc9d44af81bbd5868a3656c3e3846d0ca170b259 GIT binary patch literal 933 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 N#?s!R{9iZj{TE2_K$QRh literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/newblock-a.png b/applications/blocks/Icons/newblock-a.png new file mode 100644 index 0000000000000000000000000000000000000000..4c75dcf11bc581bcca238e2ff9eaecfe0a563508 GIT binary patch literal 18222 zcmch+M38dm6r^EjLFo>uLAsF`6cs_F zkr+}$x@%tx(D(hmv#)c`zV@~EAM@8*v(^*8yzl#2!5ViJDakI90RTX$tc1`40DJ)a zkq`j@u;J3T2LJ%6os!;j0HDeTe|W2O#Et*}TtF%4qVCx~Mmd`}m;=tv&VrUUR?m?p zcIJY%4i<^OB`yL02cV3Q)pki*8nZ$%IHpLg@QRQ!N7j*Xa`}pzf&}soWA^0#tt!=eHnTL=M2N+o@5LnAmL^u z`B5D#1Ni%Jb00Ge8$jA+3ikHj?n$P`^Kaa9+AK*aF1FQCQ&dzW4hjlVx{B$=3knM2 z+tUStf`V?e;maTpS(g|APEJlr3_wFmYZ*l76BMK*4+Rhi#6?p)4o=Qq8ghV^HY(tM z^DpVJ1@M{U=HCl+`1twdQl&hL_s2JXekZRQb?DkY+HY$^pcea=+>brw1d+_ zFo15?uD%iiQQ3xXEHGz#iI#SVj@+jrsmULKFjIvB{SK!$KB`42Pdg$_O=;-qxz>hz zPL@L@8h$RVwaVKETnL7Cd}9I0%IKgV>p;Thhi=w9w6sH1StEd>*xmX6SJn7Vh zzYo)*K6kS8bZyuFK2{ef%*NiQqm5cB1$0#-inuvBM@;@-AO5d#N>P4&`2S}-|NaX_ z=b!m@|F6IBf3`3?!W>qhkwrzj5dD9xWyr$({Cp&pECMmRJLi35QE1d;2)`Zgd9*uM zZ8s^`XCx*fLVJ#gB4}^Xsonbk>uvmdv_@>hVhZ|E4uOzEv)&3∓^n2Ry4NFCYAU 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 G`~D9ii~G9( literal 0 HcmV?d00001 diff --git a/applications/blocks/Icons/newblock.png b/applications/blocks/Icons/newblock.png new file mode 100644 index 0000000000000000000000000000000000000000..9df7c4ee20249c275cbb6c65988d4ab90f3a79ab GIT binary patch literal 17675 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 literal 0 HcmV?d00001 diff --git a/applications/blocks/blocks-active.svg b/applications/blocks/blocks-active.svg new file mode 100644 index 0000000..293889a --- /dev/null +++ b/applications/blocks/blocks-active.svg @@ -0,0 +1,105 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/blocks/blocks-inactive.svg b/applications/blocks/blocks-inactive.svg new file mode 100644 index 0000000..dfc6dd8 --- /dev/null +++ b/applications/blocks/blocks-inactive.svg @@ -0,0 +1,106 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/metadata.js b/applications/metadata.js index 9235fe5..a320728 100644 --- a/applications/metadata.js +++ b/applications/metadata.js @@ -98,6 +98,15 @@ var metadata = { "applications": "jsfile": "materialDataCreator/appMaterialDataCreator.js", "icon": "materialDataCreator/images/icon_materialDate_inactive.png", "caption": "MAT-GEN" + }, + { + "isActive": true, + "directory": "blocks", + "name": "Blocks", + "description": "Script to create blocks in a Minecraft way", + "jsfile": "blocks/Blocks.js", + "icon": "blocks/blocks-inactive.svg", + "caption": "BLOCKS" } ] -}; \ No newline at end of file +};