👷 WARNING! This repo is still in progress.
This is the monorepo for an opinionated framework for building Minecraft Bedrock addons.
The framework is inspired by Angular IoC, Angular CLI, and RxJS. The intent of this project is to provide everything to build clean and scalable bedrock addons.
Things you will need.
- Minecraft (Bedrock) on Windows, OSX, or Linux. Minecraft Bedrock Launcher is recommended for OSX, and Linux.
- Node.js >= v10.13.0
- Blokkr CLI
yarn install -g @blokkr/cli
Generating a new addon project.
blok new <project>
Building your addon
blok build
Installing your addon
blok install
Developing the addon
blok build --install --watch
git clone [email protected]:jaunkst/blokkr.git
cd blokkr
yarn install
yarn oao bootstrap
cd packages/example
yarn blok build --install
🎉 Start minecraft and add the example addon to a new game.
Modules register all services, and systems. Modules can be imported into other modules. Imported module services and systems are available to services, and systems in the target module.
This should allow publishing of sytems and services to be consumed in an addon as a module bundle. The modules also allow the developer to seperate groups of services and systems by context.
Services can be injected into modules, services, and systems. Services can provide shared functionality and state.
The entity is a general purpose object. Usually, it only consists of a unique id.
The raw data for one aspect of the object, and how it interacts with the world.
Each System runs continuously and performs global actions on every Entity that possesses a Component of the same aspect as that System. Systems can have register sub systems.
- Yarn - 📦🐈 Fast, reliable, and secure dependency management
- OAO - A Yarn-based, opinionated monorepo management tool
- minecraft-scripting-types - TypeScript typings for the Minecraft Scripting API
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
To rebuild the monorepor dependencies and example app on file change run.
yarn watch
We use a synchronized versioning scheme for versioning. For the versions available, see the tags on this repository.
- Jason Aunkst - Initial work
See also the list of contributors who participated in this project.
- Hat tip to AtomicBlom for the generation of bedrock API types.
- IoC is inspired by the great work from Angular.io
This project is licensed under the MIT License - see the LICENSE.md file for details