Flare datapack compiler framework
Project description
Flare 🔥
Programmatic Minecraft Datapacks in Python
Write Minecraft logic using full Python power: scores, NBT, execute chains, recursion, and more. Compile to optimized datapacks instantly.
Read the full documentation at: flare.oguzhanumutlu.com
What is Flare?
Flare is a modern framework for building Minecraft datapacks natively in Python. It bridges the gap between Python's high-level elegance and Minecraft's native mcfunction performance. You can use standard Python syntax, variables, and math, and Flare automatically translates and compiles your logic into highly-optimized, scoreboard-driven datapacks.
Installation
pip install flaremc
Quick Start: Advanced Math & NBT
With Flare, writing advanced datapack logic is incredibly clean. Below is a quick example of defining variables, doing advanced floating-point math natively in Minecraft, running terminal commands, and interacting with NBT.
from flare import namespace, score, math, nbt, expand
# Define your datapack namespace
namespace("my_pack")
# Declare a scoreboard variable and initialize it to 10
x = score(10)
# Compute math dynamically using native scoreboard approximations (Taylor series, CORDIC, etc.)
# All complex math compiles to highly optimized raw scoreboard operations!
result = math.sin(x) * math.sqrt(x)
# Print the dynamic float result back to the game seamlessly
print(f"The result is: {result}")
# Interact seamlessly with Minecraft's NBT environment
player_data = @a.Data[dict]
# Flare smartly manages conditional blocks and inlines commands when appropriate
if expand(x > 5):
say "X is greater than 5!"
kill @e[type=zombie, distance=..10]
Compile & Run
To compile your datapack to a .mcfunction structure, simply run:
flare main.py
To compile and immediately run it using the built-in emulator:
flare main.py --run
Documentation
Ready to unleash the full power of Python in Minecraft?
Check out the interactive playground and full documentation at flare.oguzhanumutlu.com!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flaremc-0.2.4.tar.gz.
File metadata
- Download URL: flaremc-0.2.4.tar.gz
- Upload date:
- Size: 52.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
812bc68d1507daa8d7795d73e03017a4068024649162cf88d144051cc3ac7730
|
|
| MD5 |
aa8d0b8656eae1b29208aa97ef927f45
|
|
| BLAKE2b-256 |
6ef7c4634df3b9107a67da16257feedd1af8b3078daca73ac7d11f23eab5cf19
|
File details
Details for the file flaremc-0.2.4-py3-none-any.whl.
File metadata
- Download URL: flaremc-0.2.4-py3-none-any.whl
- Upload date:
- Size: 60.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b7a35572934dcb19f4eb952ece1dbef116e4b64b31d328f251df1079b030522
|
|
| MD5 |
2e7d9525f467fdc7741d84fb631cafe2
|
|
| BLAKE2b-256 |
94e99a0ad5810412e7eaa95328c54dad73d875c199e6e24954e1653fde90e407
|