Skip to content

Stoupy51/StewBeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

766 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

YouTube GitHub Documentation Lint Powered by StewBeet PMC Discord PyPI - Downloads

Tests 3.14 Tests 3.14t Tests 3.15 Tests 3.15t

❓ 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.
  • πŸ”’ Automatic scoreboard constants generation: detects #{integer} namespace.data patterns across functions and generates initialization commands.
  • 🍳 Multiple recipe types support: Vanilla, Smithed Crafter, Furnace, Pulverizer, and Awakened Forge recipes.
  • πŸ–ΌοΈ Custom paintings support with author, title, and texture metadata.
  • πŸ—οΈ Item and Block Python classes for defining custom items and blocks with recipes, components, model overrides, manual categories, and more β€” registered automatically in Mem.definitions on instantiation. Block extends Item with vanilla block mapping, silk-touch drops, and growing seed support. Variants BlockAlternative (item frame) and BlockHead (player head) are also available.
  • βž• ScoreboardEquation and StorageEquation Python builder classes for generating chained scoreboard arithmetic commands with method chaining (set, add, subtract, multiply, divide, modulo) and standard Python operators (+, -, *, /, %). Handles int constants, macro arguments ($(foo)), and nested equations, outputting self-documenting commands with an auto-generated header comment.
  • πŸ“š 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, and NeoEnchant's veinminer for custom ores.
  • πŸ”Œ Automatic generation of an unload function to cleanly remove scoreboards, storages, entities, and libraries.
  • πŸ”’ Efficient sorting functions generation (Quick Sort, Selection Sort) for NBT storage lists.
  • πŸ“‚ Automatic copy of generated zip files to configured folders.

πŸ“¦ Getting Started & Documentation

For complete installation instructions, tutorials, and comprehensive documentation, visit the official website:

Quick links:

🀝 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

About

StewBeet is a Framework built on top of Beet aiming to provide huge automation for creating datapacks. It is designed to be very simple to use and very convenient for developers.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors