From 657467f49ddd99aa3c15307e94eeb1ddfed087d1 Mon Sep 17 00:00:00 2001 From: ForestOfLight Date: Wed, 2 Jul 2025 20:02:17 -0700 Subject: [PATCH] configure for regolith --- .gitignore | 4 ++- config.json | 26 ++++++++++++++++++ .../BP}/items/easy_place.json | 0 .../BP}/items/material_grabber.json | 0 {Construct[BP] => packs/BP}/items/menu.json | 0 {Construct[BP] => packs/BP}/manifest.json | 0 {Construct[BP] => packs/BP}/pack_icon.png | Bin {Construct[BP] => packs/BP}/scripts/blocks.js | 0 .../BP}/scripts/classes/BlockInfo.js | 0 .../BP}/scripts/classes/Builder/Builder.js | 0 .../scripts/classes/Builder/BuilderForm.js | 0 .../classes/Builder/BuilderFormBuilder.js | 0 .../scripts/classes/Builder/BuilderOption.js | 0 .../scripts/classes/Builder/BuilderOptions.js | 0 .../BP}/scripts/classes/Builder/Builders.js | 0 .../classes/Enums/BlockVerificationLevel.js | 0 .../scripts/classes/Enums/InstanceButtons.js | 0 .../classes/Errors/InstanceNotPlacedError.js | 0 .../classes/Errors/InvalidInstanceError.js | 0 .../classes/Errors/InvalidStructureError.js | 0 .../scripts/classes/Instance/InstanceForm.js | 0 .../classes/Instance/InstanceFormBuilder.js | 0 .../classes/Instance/InstanceOptions.js | 0 .../classes/Instance/StructureInstance.js | 0 .../classes/Materials/MaterialGrabberForm.js | 0 .../Materials/MaterialGrabberFormBuilder.js | 0 .../classes/Materials/StructureMaterials.js | 0 .../BP}/scripts/classes/MenuForm.js | 0 .../BP}/scripts/classes/MenuFormBuilder.js | 0 .../BP}/scripts/classes/Option.js | 0 .../BP}/scripts/classes/Outliner.js | 0 .../BP}/scripts/classes/Raycaster.js | 0 .../Render/BlockVerificationLevelRender.js | 0 .../classes/Render/StructureOutliner.js | 0 .../classes/Render/VerificationRenderer.js | 0 .../scripts/classes/Structure/Structure.js | 0 .../classes/Structure/StructureCollection.js | 0 .../classes/Structure/StructureStatistics.js | 0 .../scripts/classes/Verifier/BlockVerifier.js | 0 .../classes/Verifier/StructureVerifier.js | 0 .../BP}/scripts/commands/construct.js | 0 {Construct[BP] => packs/BP}/scripts/config.js | 0 {Construct[BP] => packs/BP}/scripts/data.js | 0 .../BP}/scripts/lib/Vector.js | 0 .../BP}/scripts/lib/canopy/CanopyExtension.js | 0 .../BP}/scripts/lib/canopy/Command.js | 0 .../BP}/scripts/lib/canopy/Rule.js | 0 .../BP}/scripts/lib/canopy/extension.ipc.js | 0 .../BP}/scripts/lib/ipc/ipc.d.ts | 0 .../BP}/scripts/lib/ipc/ipc.js | 0 {Construct[BP] => packs/BP}/scripts/main.js | 0 .../BP}/scripts/options/easyPlace.js | 0 .../BP}/scripts/options/fastEasyPlace.js | 0 .../BP}/scripts/options/materialGrabber.js | 0 {Construct[BP] => packs/BP}/scripts/utils.js | 0 .../BP}/structures/construct.mcstructure | Bin packs/BP/structures/german.mcstructure | Bin 0 -> 2307739 bytes {Construct[RP] => packs/RP}/font/glyph_E2.png | Bin {Construct[RP] => packs/RP}/manifest.json | 0 {Construct[RP] => packs/RP}/pack_icon.png | Bin .../particles/blockoverlay_xy.particle.json | 0 .../particles/blockoverlay_xz.particle.json | 0 .../particles/blockoverlay_yz.particle.json | 0 .../RP}/particles/outline.particle.json | 0 .../RP}/textures/item_texture.json | 0 .../RP}/textures/items/easy_place.png | Bin .../RP}/textures/items/material_grabber.png | Bin .../RP}/textures/items/menu.png | Bin .../RP}/textures/particle/white.png | Bin 69 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 config.json rename {Construct[BP] => packs/BP}/items/easy_place.json (100%) rename {Construct[BP] => packs/BP}/items/material_grabber.json (100%) rename {Construct[BP] => packs/BP}/items/menu.json (100%) rename {Construct[BP] => packs/BP}/manifest.json (100%) rename {Construct[BP] => packs/BP}/pack_icon.png (100%) rename {Construct[BP] => packs/BP}/scripts/blocks.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/BlockInfo.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Builder/Builder.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Builder/BuilderForm.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Builder/BuilderFormBuilder.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Builder/BuilderOption.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Builder/BuilderOptions.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Builder/Builders.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Enums/BlockVerificationLevel.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Enums/InstanceButtons.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Errors/InstanceNotPlacedError.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Errors/InvalidInstanceError.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Errors/InvalidStructureError.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Instance/InstanceForm.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Instance/InstanceFormBuilder.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Instance/InstanceOptions.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Instance/StructureInstance.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Materials/MaterialGrabberForm.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Materials/MaterialGrabberFormBuilder.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Materials/StructureMaterials.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/MenuForm.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/MenuFormBuilder.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Option.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Outliner.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Raycaster.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Render/BlockVerificationLevelRender.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Render/StructureOutliner.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Render/VerificationRenderer.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Structure/Structure.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Structure/StructureCollection.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Structure/StructureStatistics.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Verifier/BlockVerifier.js (100%) rename {Construct[BP] => packs/BP}/scripts/classes/Verifier/StructureVerifier.js (100%) rename {Construct[BP] => packs/BP}/scripts/commands/construct.js (100%) rename {Construct[BP] => packs/BP}/scripts/config.js (100%) rename {Construct[BP] => packs/BP}/scripts/data.js (100%) rename {Construct[BP] => packs/BP}/scripts/lib/Vector.js (100%) rename {Construct[BP] => packs/BP}/scripts/lib/canopy/CanopyExtension.js (100%) rename {Construct[BP] => packs/BP}/scripts/lib/canopy/Command.js (100%) rename {Construct[BP] => packs/BP}/scripts/lib/canopy/Rule.js (100%) rename {Construct[BP] => packs/BP}/scripts/lib/canopy/extension.ipc.js (100%) rename {Construct[BP] => packs/BP}/scripts/lib/ipc/ipc.d.ts (100%) rename {Construct[BP] => packs/BP}/scripts/lib/ipc/ipc.js (100%) rename {Construct[BP] => packs/BP}/scripts/main.js (100%) rename {Construct[BP] => packs/BP}/scripts/options/easyPlace.js (100%) rename {Construct[BP] => packs/BP}/scripts/options/fastEasyPlace.js (100%) rename {Construct[BP] => packs/BP}/scripts/options/materialGrabber.js (100%) rename {Construct[BP] => packs/BP}/scripts/utils.js (100%) rename {Construct[BP] => packs/BP}/structures/construct.mcstructure (100%) create mode 100644 packs/BP/structures/german.mcstructure rename {Construct[RP] => packs/RP}/font/glyph_E2.png (100%) rename {Construct[RP] => packs/RP}/manifest.json (100%) rename {Construct[RP] => packs/RP}/pack_icon.png (100%) rename {Construct[RP] => packs/RP}/particles/blockoverlay_xy.particle.json (100%) rename {Construct[RP] => packs/RP}/particles/blockoverlay_xz.particle.json (100%) rename {Construct[RP] => packs/RP}/particles/blockoverlay_yz.particle.json (100%) rename {Construct[RP] => packs/RP}/particles/outline.particle.json (100%) rename {Construct[RP] => packs/RP}/textures/item_texture.json (100%) rename {Construct[RP] => packs/RP}/textures/items/easy_place.png (100%) rename {Construct[RP] => packs/RP}/textures/items/material_grabber.png (100%) rename {Construct[RP] => packs/RP}/textures/items/menu.png (100%) rename {Construct[RP] => packs/RP}/textures/particle/white.png (100%) diff --git a/.gitignore b/.gitignore index 860f418..903b950 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store -.vscode/ \ No newline at end of file +.vscode/ +/build +/.regolith \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..69a4ea8 --- /dev/null +++ b/config.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://raw.githubusercontent.com/Bedrock-OSS/regolith-schemas/main/config/v1.4.json", + "author": "ForestOfLight", + "name": "Construct", + "packs": { + "behaviorPack": "./packs/BP", + "resourcePack": "./packs/RP" + }, + "regolith": { + "dataPath": "./packs/data", + "filterDefinitions": {}, + "formatVersion": "1.4.0", + "profiles": { + "default": { + "export": { + "build": "standard", + "readOnly": false, + "target": "development", + "rpName": "project.name+'[RP]'", + "bpName": "project.name+'[BP]'" + }, + "filters": [] + } + } + } +} \ No newline at end of file diff --git a/Construct[BP]/items/easy_place.json b/packs/BP/items/easy_place.json similarity index 100% rename from Construct[BP]/items/easy_place.json rename to packs/BP/items/easy_place.json diff --git a/Construct[BP]/items/material_grabber.json b/packs/BP/items/material_grabber.json similarity index 100% rename from Construct[BP]/items/material_grabber.json rename to packs/BP/items/material_grabber.json diff --git a/Construct[BP]/items/menu.json b/packs/BP/items/menu.json similarity index 100% rename from Construct[BP]/items/menu.json rename to packs/BP/items/menu.json diff --git a/Construct[BP]/manifest.json b/packs/BP/manifest.json similarity index 100% rename from Construct[BP]/manifest.json rename to packs/BP/manifest.json diff --git a/Construct[BP]/pack_icon.png b/packs/BP/pack_icon.png similarity index 100% rename from Construct[BP]/pack_icon.png rename to packs/BP/pack_icon.png diff --git a/Construct[BP]/scripts/blocks.js b/packs/BP/scripts/blocks.js similarity index 100% rename from Construct[BP]/scripts/blocks.js rename to packs/BP/scripts/blocks.js diff --git a/Construct[BP]/scripts/classes/BlockInfo.js b/packs/BP/scripts/classes/BlockInfo.js similarity index 100% rename from Construct[BP]/scripts/classes/BlockInfo.js rename to packs/BP/scripts/classes/BlockInfo.js diff --git a/Construct[BP]/scripts/classes/Builder/Builder.js b/packs/BP/scripts/classes/Builder/Builder.js similarity index 100% rename from Construct[BP]/scripts/classes/Builder/Builder.js rename to packs/BP/scripts/classes/Builder/Builder.js diff --git a/Construct[BP]/scripts/classes/Builder/BuilderForm.js b/packs/BP/scripts/classes/Builder/BuilderForm.js similarity index 100% rename from Construct[BP]/scripts/classes/Builder/BuilderForm.js rename to packs/BP/scripts/classes/Builder/BuilderForm.js diff --git a/Construct[BP]/scripts/classes/Builder/BuilderFormBuilder.js b/packs/BP/scripts/classes/Builder/BuilderFormBuilder.js similarity index 100% rename from Construct[BP]/scripts/classes/Builder/BuilderFormBuilder.js rename to packs/BP/scripts/classes/Builder/BuilderFormBuilder.js diff --git a/Construct[BP]/scripts/classes/Builder/BuilderOption.js b/packs/BP/scripts/classes/Builder/BuilderOption.js similarity index 100% rename from Construct[BP]/scripts/classes/Builder/BuilderOption.js rename to packs/BP/scripts/classes/Builder/BuilderOption.js diff --git a/Construct[BP]/scripts/classes/Builder/BuilderOptions.js b/packs/BP/scripts/classes/Builder/BuilderOptions.js similarity index 100% rename from Construct[BP]/scripts/classes/Builder/BuilderOptions.js rename to packs/BP/scripts/classes/Builder/BuilderOptions.js diff --git a/Construct[BP]/scripts/classes/Builder/Builders.js b/packs/BP/scripts/classes/Builder/Builders.js similarity index 100% rename from Construct[BP]/scripts/classes/Builder/Builders.js rename to packs/BP/scripts/classes/Builder/Builders.js diff --git a/Construct[BP]/scripts/classes/Enums/BlockVerificationLevel.js b/packs/BP/scripts/classes/Enums/BlockVerificationLevel.js similarity index 100% rename from Construct[BP]/scripts/classes/Enums/BlockVerificationLevel.js rename to packs/BP/scripts/classes/Enums/BlockVerificationLevel.js diff --git a/Construct[BP]/scripts/classes/Enums/InstanceButtons.js b/packs/BP/scripts/classes/Enums/InstanceButtons.js similarity index 100% rename from Construct[BP]/scripts/classes/Enums/InstanceButtons.js rename to packs/BP/scripts/classes/Enums/InstanceButtons.js diff --git a/Construct[BP]/scripts/classes/Errors/InstanceNotPlacedError.js b/packs/BP/scripts/classes/Errors/InstanceNotPlacedError.js similarity index 100% rename from Construct[BP]/scripts/classes/Errors/InstanceNotPlacedError.js rename to packs/BP/scripts/classes/Errors/InstanceNotPlacedError.js diff --git a/Construct[BP]/scripts/classes/Errors/InvalidInstanceError.js b/packs/BP/scripts/classes/Errors/InvalidInstanceError.js similarity index 100% rename from Construct[BP]/scripts/classes/Errors/InvalidInstanceError.js rename to packs/BP/scripts/classes/Errors/InvalidInstanceError.js diff --git a/Construct[BP]/scripts/classes/Errors/InvalidStructureError.js b/packs/BP/scripts/classes/Errors/InvalidStructureError.js similarity index 100% rename from Construct[BP]/scripts/classes/Errors/InvalidStructureError.js rename to packs/BP/scripts/classes/Errors/InvalidStructureError.js diff --git a/Construct[BP]/scripts/classes/Instance/InstanceForm.js b/packs/BP/scripts/classes/Instance/InstanceForm.js similarity index 100% rename from Construct[BP]/scripts/classes/Instance/InstanceForm.js rename to packs/BP/scripts/classes/Instance/InstanceForm.js diff --git a/Construct[BP]/scripts/classes/Instance/InstanceFormBuilder.js b/packs/BP/scripts/classes/Instance/InstanceFormBuilder.js similarity index 100% rename from Construct[BP]/scripts/classes/Instance/InstanceFormBuilder.js rename to packs/BP/scripts/classes/Instance/InstanceFormBuilder.js diff --git a/Construct[BP]/scripts/classes/Instance/InstanceOptions.js b/packs/BP/scripts/classes/Instance/InstanceOptions.js similarity index 100% rename from Construct[BP]/scripts/classes/Instance/InstanceOptions.js rename to packs/BP/scripts/classes/Instance/InstanceOptions.js diff --git a/Construct[BP]/scripts/classes/Instance/StructureInstance.js b/packs/BP/scripts/classes/Instance/StructureInstance.js similarity index 100% rename from Construct[BP]/scripts/classes/Instance/StructureInstance.js rename to packs/BP/scripts/classes/Instance/StructureInstance.js diff --git a/Construct[BP]/scripts/classes/Materials/MaterialGrabberForm.js b/packs/BP/scripts/classes/Materials/MaterialGrabberForm.js similarity index 100% rename from Construct[BP]/scripts/classes/Materials/MaterialGrabberForm.js rename to packs/BP/scripts/classes/Materials/MaterialGrabberForm.js diff --git a/Construct[BP]/scripts/classes/Materials/MaterialGrabberFormBuilder.js b/packs/BP/scripts/classes/Materials/MaterialGrabberFormBuilder.js similarity index 100% rename from Construct[BP]/scripts/classes/Materials/MaterialGrabberFormBuilder.js rename to packs/BP/scripts/classes/Materials/MaterialGrabberFormBuilder.js diff --git a/Construct[BP]/scripts/classes/Materials/StructureMaterials.js b/packs/BP/scripts/classes/Materials/StructureMaterials.js similarity index 100% rename from Construct[BP]/scripts/classes/Materials/StructureMaterials.js rename to packs/BP/scripts/classes/Materials/StructureMaterials.js diff --git a/Construct[BP]/scripts/classes/MenuForm.js b/packs/BP/scripts/classes/MenuForm.js similarity index 100% rename from Construct[BP]/scripts/classes/MenuForm.js rename to packs/BP/scripts/classes/MenuForm.js diff --git a/Construct[BP]/scripts/classes/MenuFormBuilder.js b/packs/BP/scripts/classes/MenuFormBuilder.js similarity index 100% rename from Construct[BP]/scripts/classes/MenuFormBuilder.js rename to packs/BP/scripts/classes/MenuFormBuilder.js diff --git a/Construct[BP]/scripts/classes/Option.js b/packs/BP/scripts/classes/Option.js similarity index 100% rename from Construct[BP]/scripts/classes/Option.js rename to packs/BP/scripts/classes/Option.js diff --git a/Construct[BP]/scripts/classes/Outliner.js b/packs/BP/scripts/classes/Outliner.js similarity index 100% rename from Construct[BP]/scripts/classes/Outliner.js rename to packs/BP/scripts/classes/Outliner.js diff --git a/Construct[BP]/scripts/classes/Raycaster.js b/packs/BP/scripts/classes/Raycaster.js similarity index 100% rename from Construct[BP]/scripts/classes/Raycaster.js rename to packs/BP/scripts/classes/Raycaster.js diff --git a/Construct[BP]/scripts/classes/Render/BlockVerificationLevelRender.js b/packs/BP/scripts/classes/Render/BlockVerificationLevelRender.js similarity index 100% rename from Construct[BP]/scripts/classes/Render/BlockVerificationLevelRender.js rename to packs/BP/scripts/classes/Render/BlockVerificationLevelRender.js diff --git a/Construct[BP]/scripts/classes/Render/StructureOutliner.js b/packs/BP/scripts/classes/Render/StructureOutliner.js similarity index 100% rename from Construct[BP]/scripts/classes/Render/StructureOutliner.js rename to packs/BP/scripts/classes/Render/StructureOutliner.js diff --git a/Construct[BP]/scripts/classes/Render/VerificationRenderer.js b/packs/BP/scripts/classes/Render/VerificationRenderer.js similarity index 100% rename from Construct[BP]/scripts/classes/Render/VerificationRenderer.js rename to packs/BP/scripts/classes/Render/VerificationRenderer.js diff --git a/Construct[BP]/scripts/classes/Structure/Structure.js b/packs/BP/scripts/classes/Structure/Structure.js similarity index 100% rename from Construct[BP]/scripts/classes/Structure/Structure.js rename to packs/BP/scripts/classes/Structure/Structure.js diff --git a/Construct[BP]/scripts/classes/Structure/StructureCollection.js b/packs/BP/scripts/classes/Structure/StructureCollection.js similarity index 100% rename from Construct[BP]/scripts/classes/Structure/StructureCollection.js rename to packs/BP/scripts/classes/Structure/StructureCollection.js diff --git a/Construct[BP]/scripts/classes/Structure/StructureStatistics.js b/packs/BP/scripts/classes/Structure/StructureStatistics.js similarity index 100% rename from Construct[BP]/scripts/classes/Structure/StructureStatistics.js rename to packs/BP/scripts/classes/Structure/StructureStatistics.js diff --git a/Construct[BP]/scripts/classes/Verifier/BlockVerifier.js b/packs/BP/scripts/classes/Verifier/BlockVerifier.js similarity index 100% rename from Construct[BP]/scripts/classes/Verifier/BlockVerifier.js rename to packs/BP/scripts/classes/Verifier/BlockVerifier.js diff --git a/Construct[BP]/scripts/classes/Verifier/StructureVerifier.js b/packs/BP/scripts/classes/Verifier/StructureVerifier.js similarity index 100% rename from Construct[BP]/scripts/classes/Verifier/StructureVerifier.js rename to packs/BP/scripts/classes/Verifier/StructureVerifier.js diff --git a/Construct[BP]/scripts/commands/construct.js b/packs/BP/scripts/commands/construct.js similarity index 100% rename from Construct[BP]/scripts/commands/construct.js rename to packs/BP/scripts/commands/construct.js diff --git a/Construct[BP]/scripts/config.js b/packs/BP/scripts/config.js similarity index 100% rename from Construct[BP]/scripts/config.js rename to packs/BP/scripts/config.js diff --git a/Construct[BP]/scripts/data.js b/packs/BP/scripts/data.js similarity index 100% rename from Construct[BP]/scripts/data.js rename to packs/BP/scripts/data.js diff --git a/Construct[BP]/scripts/lib/Vector.js b/packs/BP/scripts/lib/Vector.js similarity index 100% rename from Construct[BP]/scripts/lib/Vector.js rename to packs/BP/scripts/lib/Vector.js diff --git a/Construct[BP]/scripts/lib/canopy/CanopyExtension.js b/packs/BP/scripts/lib/canopy/CanopyExtension.js similarity index 100% rename from Construct[BP]/scripts/lib/canopy/CanopyExtension.js rename to packs/BP/scripts/lib/canopy/CanopyExtension.js diff --git a/Construct[BP]/scripts/lib/canopy/Command.js b/packs/BP/scripts/lib/canopy/Command.js similarity index 100% rename from Construct[BP]/scripts/lib/canopy/Command.js rename to packs/BP/scripts/lib/canopy/Command.js diff --git a/Construct[BP]/scripts/lib/canopy/Rule.js b/packs/BP/scripts/lib/canopy/Rule.js similarity index 100% rename from Construct[BP]/scripts/lib/canopy/Rule.js rename to packs/BP/scripts/lib/canopy/Rule.js diff --git a/Construct[BP]/scripts/lib/canopy/extension.ipc.js b/packs/BP/scripts/lib/canopy/extension.ipc.js similarity index 100% rename from Construct[BP]/scripts/lib/canopy/extension.ipc.js rename to packs/BP/scripts/lib/canopy/extension.ipc.js diff --git a/Construct[BP]/scripts/lib/ipc/ipc.d.ts b/packs/BP/scripts/lib/ipc/ipc.d.ts similarity index 100% rename from Construct[BP]/scripts/lib/ipc/ipc.d.ts rename to packs/BP/scripts/lib/ipc/ipc.d.ts diff --git a/Construct[BP]/scripts/lib/ipc/ipc.js b/packs/BP/scripts/lib/ipc/ipc.js similarity index 100% rename from Construct[BP]/scripts/lib/ipc/ipc.js rename to packs/BP/scripts/lib/ipc/ipc.js diff --git a/Construct[BP]/scripts/main.js b/packs/BP/scripts/main.js similarity index 100% rename from Construct[BP]/scripts/main.js rename to packs/BP/scripts/main.js diff --git a/Construct[BP]/scripts/options/easyPlace.js b/packs/BP/scripts/options/easyPlace.js similarity index 100% rename from Construct[BP]/scripts/options/easyPlace.js rename to packs/BP/scripts/options/easyPlace.js diff --git a/Construct[BP]/scripts/options/fastEasyPlace.js b/packs/BP/scripts/options/fastEasyPlace.js similarity index 100% rename from Construct[BP]/scripts/options/fastEasyPlace.js rename to packs/BP/scripts/options/fastEasyPlace.js diff --git a/Construct[BP]/scripts/options/materialGrabber.js b/packs/BP/scripts/options/materialGrabber.js similarity index 100% rename from Construct[BP]/scripts/options/materialGrabber.js rename to packs/BP/scripts/options/materialGrabber.js diff --git a/Construct[BP]/scripts/utils.js b/packs/BP/scripts/utils.js similarity index 100% rename from Construct[BP]/scripts/utils.js rename to packs/BP/scripts/utils.js diff --git a/Construct[BP]/structures/construct.mcstructure b/packs/BP/structures/construct.mcstructure similarity index 100% rename from Construct[BP]/structures/construct.mcstructure rename to packs/BP/structures/construct.mcstructure diff --git a/packs/BP/structures/german.mcstructure b/packs/BP/structures/german.mcstructure new file mode 100644 index 0000000000000000000000000000000000000000..a1ed9059cf06f2955a1d017909553407ac65291a GIT binary patch literal 2307739 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 zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyKwwGW*|Y!r+}VFq2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ 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 W;1;Cx%sggL6%2BFIFJUJ%>V$irdI9% literal 0 HcmV?d00001 diff --git a/Construct[RP]/font/glyph_E2.png b/packs/RP/font/glyph_E2.png similarity index 100% rename from Construct[RP]/font/glyph_E2.png rename to packs/RP/font/glyph_E2.png diff --git a/Construct[RP]/manifest.json b/packs/RP/manifest.json similarity index 100% rename from Construct[RP]/manifest.json rename to packs/RP/manifest.json diff --git a/Construct[RP]/pack_icon.png b/packs/RP/pack_icon.png similarity index 100% rename from Construct[RP]/pack_icon.png rename to packs/RP/pack_icon.png diff --git a/Construct[RP]/particles/blockoverlay_xy.particle.json b/packs/RP/particles/blockoverlay_xy.particle.json similarity index 100% rename from Construct[RP]/particles/blockoverlay_xy.particle.json rename to packs/RP/particles/blockoverlay_xy.particle.json diff --git a/Construct[RP]/particles/blockoverlay_xz.particle.json b/packs/RP/particles/blockoverlay_xz.particle.json similarity index 100% rename from Construct[RP]/particles/blockoverlay_xz.particle.json rename to packs/RP/particles/blockoverlay_xz.particle.json diff --git a/Construct[RP]/particles/blockoverlay_yz.particle.json b/packs/RP/particles/blockoverlay_yz.particle.json similarity index 100% rename from Construct[RP]/particles/blockoverlay_yz.particle.json rename to packs/RP/particles/blockoverlay_yz.particle.json diff --git a/Construct[RP]/particles/outline.particle.json b/packs/RP/particles/outline.particle.json similarity index 100% rename from Construct[RP]/particles/outline.particle.json rename to packs/RP/particles/outline.particle.json diff --git a/Construct[RP]/textures/item_texture.json b/packs/RP/textures/item_texture.json similarity index 100% rename from Construct[RP]/textures/item_texture.json rename to packs/RP/textures/item_texture.json diff --git a/Construct[RP]/textures/items/easy_place.png b/packs/RP/textures/items/easy_place.png similarity index 100% rename from Construct[RP]/textures/items/easy_place.png rename to packs/RP/textures/items/easy_place.png diff --git a/Construct[RP]/textures/items/material_grabber.png b/packs/RP/textures/items/material_grabber.png similarity index 100% rename from Construct[RP]/textures/items/material_grabber.png rename to packs/RP/textures/items/material_grabber.png diff --git a/Construct[RP]/textures/items/menu.png b/packs/RP/textures/items/menu.png similarity index 100% rename from Construct[RP]/textures/items/menu.png rename to packs/RP/textures/items/menu.png diff --git a/Construct[RP]/textures/particle/white.png b/packs/RP/textures/particle/white.png similarity index 100% rename from Construct[RP]/textures/particle/white.png rename to packs/RP/textures/particle/white.png