{"id":21080577,"url":"https://github.com/VoxlD/BlockCore","last_synced_at":"2025-05-16T08:32:42.218Z","repository":{"id":258456402,"uuid":"872715011","full_name":"VoxlD/BlockCore","owner":"VoxlD","description":"Minecraft Bedrock API Wrapper.","archived":false,"fork":false,"pushed_at":"2024-11-17T04:04:10.000Z","size":161,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T01:41:15.048Z","etag":null,"topics":["api-wrapper","bedrock-scripting","blockcore","minecraft","minecraft-addon","minecraft-api","minecraft-bedrock-addon","minecraft-bedrock-edition","minecraft-wrapper","scripting-api"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VoxlD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-15T00:11:13.000Z","updated_at":"2025-02-21T15:35:41.000Z","dependencies_parsed_at":"2024-10-26T03:55:40.873Z","dependency_job_id":"e3fe9818-8191-424e-97fd-6c1e235a15fe","html_url":"https://github.com/VoxlD/BlockCore","commit_stats":null,"previous_names":["voxldevv/blockcore","voxld/blockcore"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxlD%2FBlockCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxlD%2FBlockCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxlD%2FBlockCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxlD%2FBlockCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VoxlD","download_url":"https://codeload.github.com/VoxlD/BlockCore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254496351,"owners_count":22080696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","bedrock-scripting","blockcore","minecraft","minecraft-addon","minecraft-api","minecraft-bedrock-addon","minecraft-bedrock-edition","minecraft-wrapper","scripting-api"],"created_at":"2024-11-19T20:01:15.226Z","updated_at":"2025-05-16T08:32:37.208Z","avatar_url":"https://github.com/VoxlD.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/SC3cMPU_d.webp?maxwidth=760\u0026fidelity=grand\" alt=\"Thumbnail\"\u003e\n\n![Module Version](https://img.shields.io/badge/1.1.0-none?color=142336\u0026style=for-the-badge\u0026label=Stable\u0026labelColor=142336)\n![Space](https://img.shields.io/badge/·-none?color=142336\u0026style=for-the-badge)\n![Minecraft Version](https://img.shields.io/badge/1.21.40-none?color=142336\u0026style=for-the-badge\u0026label=Minecraft\u0026labelColor=142336)\n\n  \u003cp align=\"center\"\u003e\n    \u003cstrong\u003eBlockCore\u003c/strong\u003e is a powerful script wrapper for the Bedrock Scripting API. This wrapper helps you maintain clean code and simplifies interactions with the Bedrock Scripting API. It includes a variety of classes, managers, and utilities for your development needs.\n    \u003c/br\u003e\n    \u003c/br\u003e\n    \u003ca href=\"https://github.com/VoxlDevv/BlockCore\"\u003eView Repository \u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/VoxlDevv/BlockCore/issues\"\u003eReport a Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/VoxlDevv/BlockCore/issues\"\u003eRequest a Feature\u003c/a\u003e\n\n  \u003c/p\u003e\n\n---\n\n[![MIT License](https://img.shields.io/github/license/VoxlDevv/BlockCore?style=for-the-badge\u0026color=2E4F4F\u0026labelColor=2E4F4F)](LICENSE)\n[![Discord Server](https://img.shields.io/discord/1125432627382460498?color=1A4870\u0026label=Discord\u0026labelColor=1A4870\u0026style=for-the-badge)](https://discord.gg/ffZHPHRBhY)\n[![GitHub Releases](https://img.shields.io/github/downloads/VoxlDevv/BlockCore/total?style=for-the-badge\u0026color=FF6363\u0026labelColor=FF6363)](https://github.com/VoxlDevv/BlockCore/releases/latest)\n\n---\n\n\u003c/div\u003e\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Features](#features)\n- [Development](#development)\n- [Plugin Example](#plugin-example)\n- [Configuration](#configuration)\n- [Commands](#commands)\n- [License](#license)\n\n---\n\n# Looking for documentation? Check out the [documentation](./documentations/list.md) folder.\n\n---\n\n## Installation\n\nTo install the BlockCore addon, follow these steps:\n\n1. **Download the Repository**:\n   Download the repository as a ZIP file.\n\n2. **Extract the ZIP File**:\n   Extract the contents of the downloaded ZIP file and copy the extracted folder.\n\n3. **Navigate to the Minecraft Bedrock Directory**:\n   Open your Minecraft Bedrock installation directory.\n\n4. **Locate the `development_behavior_pack` Folder**:\n   Find the `development_behavior_pack` folder within the Minecraft directory and paste the copied folder inside it.\n\n---\n\n## Usage\n\nTo use the BlockCore addon, follow these steps:\n\n1. **Create a New World or Edit an Existing World**:\n   You can either create a new world or modify an existing one.\n\n2. **Access the Experimental Menu**:\n   Navigate to the Experimental menu in the world settings:\n\n   ![](https://i.imgur.com/MuZfNrw_d.webp?maxwidth=384\u0026fidelity=grand)\n\n3. **Enable the `Beta APIs`**:\n   Make sure to enable the `Beta APIs` option:\n\n   ![](https://i.imgur.com/HrogvBu.png)\n\n**NOTE**: _If you plan to apply any scripting-related modifications to your world, please make a backup copy of your world beforehand. I am not responsible for any issues that may arise!_\n\n---\n\n## Features\n\nBlockCore offers a variety of powerful features to enhance your development experience:\n\n1. **Custom Commands**: Easily create and manage custom commands for your addon.\n2. **Event Manager**: Handle events efficiently with a dedicated event management system.\n3. **Form Generator (JSON-Based)**: Generate forms using a simple JSON structure for user interactions.\n4. **Binary Operator**: Utilize binary operations for advanced data manipulation.\n5. **Chunk Manager**: Manage chunks effectively for optimized performance in your projects.\n6. **Data Collection**: Support for both database and collection data management.\n7. **Vector Support (2D \u0026 3D)**: Work with 2D and 3D vectors for spatial calculations and manipulations.\n8. **Process Interval**: Control the timing of processes to ensure smooth execution.\n9. **Development Logger**: Keep track of development activities and debug information with a built-in logger.\n10. **Utilities**: Access a range of utility functions to simplify common tasks.\n\n---\n\n## Development\n\nWe highly recommend using `TypeScript` for developing the addon, as `BlockCore` is built on top of it. TypeScript provides strong typing, which helps catch errors during development and improves code quality.\n\n### Getting Started with TypeScript\n\n1. **Clone this repository**:\n\n   ```bash\n   git clone https://github.com/VoxlDevv/BlockCore.git\n   ```\n\n2. **Navigate to the project directory**:\n\n   ```bash\n   cd $DIR/BlockCore\n   ```\n\n   Replace `$DIR` with the path where you cloned the repository.\n\n3. **Install dependencies**:\n\n   You can install dependencies using either of the following package managers:\n\n   - **NPM**:\n\n     ```bash\n     npm install\n     ```\n\n   - **Bun**:\n     ```bash\n     bun install\n     ```\n\n4. **Build the code**:\n\n   You can build the project using either of the following methods:\n\n   - **NPM**:\n\n     ```bash\n     npm run build\n     ```\n\n     For development mode, use:\n\n     ```bash\n     npm run dev\n     ```\n\n   - **Bun**:\n\n     ```bash\n     bun run build\n     ```\n\n     For development mode, use:\n\n     ```bash\n     bun run dev\n     ```\n\nMake sure you have Node.js and TypeScript installed on your machine to run the above commands successfully.\n\n---\n\n## Plugin Example\n\n### Custom Command\n\nTo create a custom command, follow these steps:\n\n1. **Create a New File**:\n   Navigate to the BlockCore Plugin directory, open the **Custom Commands** folder, and create a new file named `some.ts` (or any name you prefer).\n\n   ```typescript\n   // some.ts\n\n   import { CommandBuilder, CommandRegister } from \"../block-core\";\n\n   CommandBuilder.Build({\n     register: new CommandRegister().setName(\"some\"), // Registering a new command called \"some\".\n     onExecute: ({ sender }) =\u003e {\n       // This callback is triggered when the player executes the \"some\" command.\n       sender.sendMessage(\"Hello There!\"); // Send a message to the player after the command is executed.\n     },\n   });\n   ```\n\n2. **Import the Command**:\n   To make the command available in the system, import the file into the `Execute.ts` file located in the **Custom Commands** folder. Add the file entry as follows:\n\n   ```typescript\n   const command_entry = [\n     // ... Existing entries\n\n     // Add your own file entry (without file extensions)\n     \"./some\",\n   ];\n   ```\n\nBy following these steps, you can successfully create and register a custom command in BlockCore.\n\n### Custom Plugin\n\nTo create a custom plugin, follow these steps:\n\n1. **Create a New Folder**:\n   Navigate to the BlockCore Plugin directory and create a new folder named `MyPlugin` (or any name you prefer).\n\n2. **Create an Entry File**:\n   Inside your new plugin folder (e.g., `MyPlugin`), create an entry file called `Execute.ts`. You can add any necessary imports or code to this file.\n\n3. **Register the Plugin**:\n   Locate the `user_plugin_loader.ts` file in the root directory of the Plugin. To register your plugin, edit the `plugin_path_name` array as follows:\n\n   ```typescript\n   const plugin_path_name = [\n     \"Better Ranks\",\n     \"Custom Commands\",\n\n     // Your Plugin\n     \"MyPlugin\",\n   ];\n   ```\n\n   This will read the folder name specified in `plugin_path_name` and execute the corresponding entry file (`Execute.ts`).\n\nFor more detailed information and documentation, please refer to the [documentation](./documentation/list.md).\n\n---\n\n## Configuration\n\nYou can configure the project by modifying the `config.ts` or `config.js` file. Here are some of the key configurations:\n\n- `enable_custom_command`: Enable or disable custom commands.\n- `custom_command_prefixes`: Set the prefixes for custom commands.\n\n---\n\n## Commands\n\nHere are some of the available commands you can use:\n\n- `help`: Provides a list of commands and their descriptions.\n- `sethome \u003cname\u003e`: Sets a home location with the specified name.\n- `delhome \u003cname\u003e`: Deletes the home location with the specified name.\n- `home \u003cname\u003e`: Teleports to the specified home location.\n\n---\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":["Tool"],"sub_categories":["Behavior Pack Authoring"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVoxlD%2FBlockCore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVoxlD%2FBlockCore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVoxlD%2FBlockCore/lists"}