Skip to main content

Beet Framework made to help generating advanced Minecraft datapack contents

Project description

YouTube GitHub PMC Discord PyPI - Downloads

โ“ 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:
In-game Manual Example

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 assets folder.
  • โณ Versioned load, and clock functions such as tick, second, minute.
  • ๐Ÿ—ƒ๏ธ Loot tables for every item in the definitions along with a proper _give_all function that gives named chests.
  • ๐Ÿ“– Automatic generation of a really advanced and interactive items manual.
  • ๐Ÿ“ Automatic generation of a en-us.json lang file in the resource pack if configuration is set.
  • ๐Ÿ–ผ๏ธ Automatic headers for every function in function folders.
  • ๐Ÿ“ฆ Minecraft like vanilla recipes unlocking.
  • ๐Ÿ“š Official libraries integrations:
    • ๐Ÿงช Automatic support for NBT Recipes with Smithed Crafter and Furnace NBT Recipes
    • ๐Ÿ› ๏ธ Placement and destruction for every custom block in the definitions with support for blockstates, ore drops (fortune, silk touch), with Smithed Custom Blocks.
    • ๐Ÿ“š Each module from Bookshelf is automatically added if you are using it, ex: function #bs.math:... will add the bs.math module to the datapack.
    • โ›๏ธ Custom ore generation with Smart Ore Generation.
    • ๐Ÿ“ฆ Item transportation / container declaration with ItemIO when making custom containers.
    • ๐Ÿ”” Events such as new items detection with Common Signals.
  • ๐ŸŒ 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/textures folder. 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.
  • ๐Ÿ”€ merge folder 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.14 ๐Ÿ 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 one stewbeet plugin.
  • โญ 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:

๐Ÿค 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:

โญ Star History

Star History Chart

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

stewbeet-2.4.0.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stewbeet-2.4.0-py3-none-any.whl (3.4 MB view details)

Uploaded Python 3

File details

Details for the file stewbeet-2.4.0.tar.gz.

File metadata

  • Download URL: stewbeet-2.4.0.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stewbeet-2.4.0.tar.gz
Algorithm Hash digest
SHA256 291c0c72c29723fefdf9828a85fd33052d8894f6524dea5516c861a648f94b1f
MD5 9023cd82a1f7180c51ac68a0cf4ba7e4
BLAKE2b-256 2c5dd6c426e674a89b6fd23e7328380c8f44273f26316c61e69f179257d34c5a

See more details on using hashes here.

File details

Details for the file stewbeet-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: stewbeet-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stewbeet-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34f61234bac64c0cab9ad485e61b4d61d395f3873b8af1db4ef66fc28ca62992
MD5 665ba0ece49b6e12d586b8aabfb61aa7
BLAKE2b-256 6cb74171787b1eb3d884b848a86fe175ce7af1e3a2a6dc7de2a36e8f19a80701

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page