Beet Framework made to help generating advanced Minecraft datapack contents
Project description
โ What is StewBeet
StewBeet is a Beet framework and library ๐ฆ aiming to provide huge automation for creating Minecraft datapacks.
It is designed to be very simple to use and very convenient for developers.
Example of the in-game manual generated by StewBeet:
Here is a list of features that the package provides (the template is using all of them with clear comments):
- ๐ Automatic resource pack files generation (models, textures, sounds, music discs) with the ability to override them with help of the
assetsfolder. - โณ Versioned load, and clock functions such as
tick,second,minute. - ๐๏ธ Loot tables for every item in the
definitionsalong with a proper_give_allfunction that gives named chests. - ๐ Automatic generation of a really advanced and interactive items
manual. - ๐ Automatic generation of a
en-us.jsonlang file in the resource pack if configuration is set. - ๐ผ๏ธ Automatic headers for every function in
functionfolders. - ๐ฆ Minecraft like vanilla recipes unlocking.
- ๐ Official libraries integrations:
- ๐งช Automatic support for NBT Recipes with
Smithed CrafterandFurnace NBT Recipes - ๐ ๏ธ Placement and destruction for every custom block in the
definitionswith support for blockstates, ore drops (fortune, silk touch), withSmithed Custom Blocks. - ๐ Each module from
Bookshelfis automatically added if you are using it, ex:function #bs.math:...will add thebs.mathmodule to the datapack. - โ๏ธ Custom ore generation with
Smart Ore Generation. - ๐ฆ Item transportation / container declaration with
ItemIOwhen making custom containers. - ๐ Events such as new items detection with
Common Signals.
- ๐งช Automatic support for NBT Recipes with
- ๐ External datapack libraries support, see configuration for more information.
- ๐ Merging datapacks and resource packs with libraries using Smithed Weld.
- ๐งฉ Automatic recognition of custom blocks patterns depending on the texture names in the
assets/texturesfolder. For instance, if you have a top, side, and bottom texture, the block will be automatically recognized as a cube with the top, side, and bottom textures. - ๐ Follow the datapack conventions such as LanternLoad, CustomModelData prefix, tag specification, and namespacing.
- ๐งฐ Ability to merge a model with the autogenerated one or override it.
- ๐
mergefolder providing a way to merge custom files with the autogenerated ones or add custom files to the datapack. - โ๏ธ Automatic special compatibilities with datapacks such as
SimpleDrawer's compacted drawer,SimplEnergy's pulverizer. - ๐ Automatic copy of generated zip files to configured folders.
๐ฆ How to use (beginner friendly)
In order to use StewBeet, you need to have at least Python 3.12 ๐ or higher installed on your computer with pip!
Then, you can open a terminal ๐ป and run the following command to install the python package:
# This will install the latest version of the framework
# (including beet, bolt, mecha, and other dependencies)
pip install stewbeet
Next, there are a few templates available in the ./templates folder ๐,
There are 3 templates available, feel free to choose the one you prefer (but I highly recommend the basic template):
- ๐น
minimal template: A very minimal template using only onestewbeetplugin. - โญ
basic template: A template with complete configuration but no coded features. - ๐
extensive template: A template with all the features of the framework, including all the plugins.
The clickable links are zip files ๐ฆ, but you can check the content of the templates in the ./templates folder.
Once you have a template, you can modify the beet.yml configuration file โ๏ธ to suit your needs.
Finally, you can run the following command to build the project ๐จ:
# You can also run 'beet' instead of 'stewbeet' but with less functionality
# (Make sure you are in the project folder)
stewbeet
The command will generate a datapack and a resource pack in your build folder ๐๏ธ.
And that's it! ๐ That is this easy use the package.
Since this template is using all the features of the package, you can remove the parts you don't need! ๐งน
๐ฑ How to use (Beet users)
If you are already familiar with the Beet development kit, StewBeet is developped as a bunch of plugins for it.
Install StewBeet with pip install stewbeet and check the StewBeet plugins documentation to learn about them.
๐ Documentation
There are a lot of features in the package, you could check the extensive template to see how to use them.
Alternatively, you could join the Discord server to ask questions and get help from the community!
Or, you could check the highly detailed documentation folder
Here a list of all the currently available guides:
- ๐ Getting started
- ๐ฑ Beet Plugins
- ๐ Project structure
- ๐๏ธ Database setup
- โ๏ธ Writing to files
- ๐ External dependencies
- ๐ง Miscellaneous
- ๐ Migration guide
- ๐ Continuous delivery
- โ๏ธ Adding a sword
- More soon!
๐ค Contribute
Want to help improve StewBeet? ๐
Here's how you can contribute:
- ๐ Report Bugs: Found a bug? Open an issue on GitHub describing what happened and how to reproduce it.
- โจ Suggest Features: Have an idea for a new feature? Share it in the issues section!
- ๐ง Submit Pull Requests: Feel free to fix bugs or add new features by submitting pull requests.
- ๐ Improve Documentation: Help make our docs better by fixing errors or adding examples.
- ๐ฌ Help Others: Join our Discord server and help other users with their questions.
Every contribution matters, no matter how small! ๐
๐ What projects use StewBeet?
To search for projects that use the framework, I search like this.
Here is a list of projects that use it:
-
Actual projects:
- Your next project here!
- https://github.com/e-psi-lon/Armored-Elytra (Python Datapack: before Stewbeet was a thing)
- https://github.com/Stoupy51/SimplEnergy
- https://github.com/Stoupy51/ImagineYourCraftDatapack
- https://github.com/Stoupy51/LifeSteal
- https://github.com/Stoupy51/Survisland
- https://github.com/Stoupy51/SmithedSummit
- https://github.com/Stoupy51/SheepWars
- https://github.com/Stoupy51/MoreApples
- https://github.com/Stoupy51/CauldronConcretePowder
-
Libraries or tools:
โญ Star History
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
File details
Details for the file stewbeet-2.2.13.tar.gz.
File metadata
- Download URL: stewbeet-2.2.13.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97cd34993bc369077b5980d4c07dacb7f0fab6f42eb257e898c0f14b8a5af077
|
|
| MD5 |
266442e709647572b36eb40eb7bcce55
|
|
| BLAKE2b-256 |
46326e679d3c61611bb5f0c1f868dafcada55dd576316a72cc3d5307e47f6c9b
|