Skip to content

TheWii/integrity

Repository files navigation

Integrity

GitHub Actions PyPI PyPI - Python Version Code style: black Discord

Development facilities for the bolt environment

from integrity import Component

from ./settings import settings
from ./blocks import blocks
from ./player import player

main = Component()

function main.on("main"):
    if score settings.data.activated obj matches 1:
        main.run("active")

function main.on("active"):
    as @a at @s:
        player.run("main")

function blocks.on("placed_by_player"):
    if block ~ ~ ~ stone expand:
        say Placed stone!
        player.run("placed_stone")

Installation

The package can be installed with pip. Note, you must have both beet and mecha installed to use this package.

$ pip install integrity

Getting Started

To use this package, we must add the plugin to the require section in the beet project file alongside with mecha and bolt.

require:
    - bolt
    - integrity
pipeline:
    - mecha

Now that we've enabled integrity, we can import the module directly inside a bolt script

from integrity import Component

foo = Component("foo")

Features

  • Components

Contributing

Contributions are welcome. Make sure to first open an issue discussing the problem or the new feature before creating a pull request. The project uses poetry.

$ poetry install

You can run the tests with poetry run pytest.

$ poetry run pytest

The project must type-check with pyright. If you're using VSCode the pylance extension should report diagnostics automatically. You can also install the type-checker locally with npm install and run it from the command-line.

$ npm run watch
$ npm run check

The code follows the black code style. Import statements are sorted with isort.

$ poetry run isort bolt_expressions examples tests
$ poetry run black bolt_expressions examples tests
$ poetry run black --check bolt_expressions examples tests

License - MIT