• • 8/10/26 7:58 pm • 5 logs
- 3k views • 4 today
- save_alt 100 downloads
- Compatibility
- Minecraft 1.21
- to version
- Minecraft 26.3 snapshot
- Changes include
- Advancements
- Functions
- Loot Tables
- Predicates
- Recipes
56
❓ 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 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.
- 🖼️ render key on any text component: {"render":"steel_ingot"} in an item lore, a tellraw or the source_lore becomes an image of that item, drawn with a font generated for you (vanilla items and items from other packs included).
- 🏗️ 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:🌐 stewbeet.paralya.fr
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.
📜 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/Paralya/Switch
- https://github.com/VGreluchon/Crazy-Adventure-Datapack
- https://github.com/YuWan886/Lucky-Pillar
- https://www.planetminecraft.com/data-pack/elemental-wands/
- https://github.com/Stoupy51/MC_Guns_System
- https://github.com/Stoupy51/LifeSteal
- https://github.com/Stoupy51/SimplEnergy
- https://github.com/Stoupy51/StardustFragment
- https://github.com/Stoupy51/CauldronConcretePowder
- https://github.com/Stoupy51/MoreApples
- https://github.com/Stoupy51/RandomMobSizes
- https://github.com/Stoupy51/Survisland
- https://github.com/Stoupy51/SmithedSummit2024
- https://github.com/Stoupy51/SmithedDirect
- https://github.com/Stoupy51/SmithedSummit2026
- https://github.com/Stoupy51/ImagineYourCraftDatapack
- Libraries or tools:
5 Update Logs
StewBeet From v3.3.0 to v3.6.0 : by Stoupy 08/10/2026 7:58:28 pmAugust 10 @ 11:58 pm UTC
Changelog
Features
- [Auto.text Renders] ✨ Added a "render" key on text components (#37) 6949845
- [Auto.text Renders] ✨ Made the plugin work without item definitions (#37) 2de9c37
- [Core] ✨ Added INVERSE_SLOTS constant 0d62609
- [Core] ✨ Refactor get_vanilla to get_vanilla_item_tags for improved caching 419bea4
- [Extension] ✨ Implement block detection and parsing for mcfunction strings 142eb48
- [Ingame Manual] ✨ Added ability to override the page's book texture 4e213d1
- [Ingame Manual] ✨ Can now add more button items to pages 272c31e
- [Ingame Manual] ✨ Can now configure home button texture and presence 81102d1
- [Ingame Manual] ✨ Add support for custom item lists in showcase image generation ea5b94f
- [Simplenergy] ✨ Added ability to disable servo by rotating them 45° 94b0e5d
- [Web] ✨ Add Discord link and enhance GitHub link styling 6a07a4c
- [Web] ✨ Implement full-text search functionality with a modal interface d3098df
- [Web] ✨ Lead the landing page with code instead of feature lists 5a450ff
- [Web] ✨ Rebuild the landing page around generated output 88bddc9
- [Web] ✨ Per-page metadata, real 404 status and a generated sitemap 789eafd
- [Web] ✨ Trust strip, why-it-exists and final CTA, on a block-derived palette cd77007
- [Web] ✨ Hero fits one screen, richer feature previews, honest project scale 7cab386
- [Web] ✨ Hero fits one screen, richer feature previews, honest project scale d6faaab
- [Web] ✨ Hero fits one screen, richer feature previews, honest project scale 19b2157
- [Web] ✨ Entrance animation that compiles the hero into its own output f11c675
- ✨ Added support for 26.2 3582de6
- ✨ Full rewrite of the ingame_manual (#31) e85df1e
- ✨ Add livereload plugin for automatic in-game reloads on build b585ea1
- ✨ Now supporting hand_model 18f9034
- ✨ Add new Resource class and references in lots of classes ee038f6
- ✨ Enhanced source lore by using advanced tooltip 9161cae
Bug Fixes
- [AutoModel] 🐛 Refactor variant generation logic to improve clarity and maintainability d6bdfb2
- [Auto.headers] 🐛 Improve function call analysis and string reference handling ca443c1
- [Auto.headers] 🐛 Scan dialogs so their buttons count as callers 9517e97
- [Auto.headers] 🐛 Fixed a loss of information in headers f2baa66
- [Auto.headers] 🐛 Infer macro arg types from escaped-quote payloads 96e4cc9
- [Cli] 🐛 Force UTF-8 output so stewbeet runs on a default Windows console 372dd48
- [Continuous Delivery] 🐛 Add support for underline conversion to BBCode 5c7484c
- [Contrib.simplenergy] 🐛 Cable update used Item.base_item descriptor instead of CUSTOM_ITEM_VANILLA 19fabc4
- [Core] 🐛 Restored one line per provider in generated font files (#37) ef0bc55
- [Equipments] 🐛 The boots are in the top layer c122f7a
- [Extension] 🐛 Fixed say block end patterns to prevent swallowing closing quotes f03d184
- [Extension] 🐛 Fixed inline functions with only a comment b65eb7f
- [Extension] 🐛 Fixed quotes on comment lines d1b124d
- [Ingame Manual] 🐛 Adjust breakline count for dialog content 2fe29af
- [Item Models] 🐛 Don't inject default textures into child models aac8607
- [Item Models] 🐛 Explicit None value for excluding textures 678e316
- [Last Final] 🐛 Fixed wrong macro usage detection 6810023
- [Vscode] 🐛 Fixed a small comment detail 75bc49b
- [Watch] 🐛 Detected libs now correctly reset b9857d9
- [Web] 🐛 Fixed DarkReader compatibility 4f88ad1
- [Web] 🐛 Fixed MarkdownToBBCodePage 34f04ec
- [Web] 🐛 Enhance link resolution and scrolling behavior in MarkdownPage 9c226b2
- [Web] 🎨 Align the hero pair instead of centring two unequal columns 7971ec7
- [Web] 🐛 Blur the search backdrop and rotate the feature panels b7cbef6
- [Web] 🐛 Address the second review pass on the landing page 59273c1
- [Web/docker] 🐛 Install ca-certificates so the clone can verify GitHub 289d2f2
- [Weld] 🐛 Fixed pack format override in datapack and resource pack merging by reversing order (bug from weld reported) c73a9ea
- [Weld] 🐛 Errors are no more silent, they are replayed 0af62d7
- 🐛 Fixed Minecraft version check 1381608
- 🐛 Fixed stewbeet watch ef2770d
- 🐛 v1 plguin doesn't exist anymore 6751465
- 🐛 Fixed linting (pyright & ruff) eb9f853
- 🐛 Fixed doctest 3fe028c
- 🐛 Fixed auto lang silent plugin d89542a
- 🐛 Fixed simple cache method 1e76a8f
Documentation
- [Fr] ♻️ Port the restructure to the eight French guides c1367ae
- [Resource] 📝 Update resource class documentation for clarity aa55190
- [Web] ♻️ Group the docs index by task and label pages by their title 0eaf14e
- 📝 Update recommended software for VS Code to include StewBeet extension 6e9b125
- 📝 Note why analyze_dialogs runs last aa8a4b9
- 📝 Updated source lore images e1ef9cf
- ♻️ One summary per page, task titles, and markdown served by the site 636fc08
- ✨ A quickstart that is three commands and was actually timed 67ba74a
- ♻️ Split writing-to-files on its Diataxis seams, not on size f499068
- 📝 Python version 7628d47
- 📝 Documented the auto.text_renders plugin and the render key (#37) 54282d2
Style
- [Web] 🎨 Align every section on one grid and fix code links 02eb7a9
- 💄 Replacing logo almost everywhere dd62ac7
- 💄 Better minecraft title 3de0136
- 🎨 Replace em-dashes and lookalike glyphs with plain ASCII 63fe506
Chores
- [Definitions Helper] 🔧 Added '#' for examples of create_gradient_text for easy VScode color palette 94047a8
- [Deps] 🔧 Update dependencies to latest versions (#23) af164c9
- [Deps] 🔧 Update dependencies to latest versions (#24) 0361a6a
- [Deps] 🔧 Update dependencies to latest versions (#25) e8d11e8
- [Deps] 🔧 Update dependencies to latest versions (#26) b31de0f
- [Deps] 🔧 Update dependencies to latest versions (#27) 09886fa
- [Deps] 🔧 Update dependencies to latest versions (#28) 47dc45e
- [Deps] 🔧 Update dependencies to latest versions (#30) 77d7e80
- [Deps] 🔧 Update dependencies to latest versions (#32) c01bedb
- [Deps] 🔧 Update dependencies to latest versions (#33) 1b274cd
- [Deps] 🔧 Update dependencies to latest versions (#34) 4e9d6f7
- [Deps] 🔧 Updated stouputils to v1.30.0 to fix docstrings codeblocks for docs 33984f8
- [Deps] 🔧 Update dependencies to latest versions (#38) f9b978a
- [Deps] 🔧 Update dependencies to latest versions (#40) 8d899f3
- [Docstring] 🔧 Adjusted docstrings everywhere d2df9cd
- [Pyproject] 🔧 Added Source link 052f3f6
- [Pyproject] 🔧 Source -> Repository 2168204
- [Templates] 🔧 Synced templates with latest version 7594b10
- [Templates] 🔧 Updated templates ce4504c
- [Templates] 🔧 Updated templates 793c251
- [Templates] 🔧 Updated templates 16ec396
- [Templates] 🔧 Updated templates 5aa54e3
- [Templates] 🔧 Added bolt/mecha examples in extensive template ed2d743
- [Templates] 🔧 Demoed the render key and moved the item renders (#37) f7a113c
- [Templates] 🔧 Tweaked the render smoke test and its screenshot (#37) dfaceda
- [Templates] 🔧 Tweaked the render smoke test and its screenshot (#37) b104c85
- [Typing] 🔧 Handle missing definitions gracefully in StMapping.from_id method 02da0b0
- [Vscode] 🔧 Update configuration and cleanup for StewBeet extension 2291dec
- [Vscode] 🔧 Adjusted package and released 79d3418
- 🔧 File renaming c1748ca
- 🔧 Removed unnecessary import annotations a9058d6
- 🔧 Removed breakline near f""" 81c70e6
- 🔧 Fixed ruff check d9a0c07
Code Refactoring
- [Auto.lang File] ♻️ Shared the file scanner in core/utils/text_component (#37) 974ad81
- [Core] ♻️ Extracted font machinery into core/utils/fonts (#37) 13b5b5c
- [Dependencies] ♻️ Diagnose download failures instead of caching empty files 5e7a6f7
- [Item] [🚨] ♻️ No longer using command block but recovery compass instead 4ba2aed
- [Web] ♻️ Cut the landing page reading load 4e6cd09
- [Web] ♻️ Reduce Built with StewBeet to the evidence that counts befb44f
- [Web] ♻️ Group the header by what each item does 84a49c1
- ♻️ Optimize dataclass usage by adding slots for memory efficiency bdfd1b9
Performance Improvements
- [Copy To Destination] ⚡️ Optimized copy by using a proper cache system 6b4eb00
- [Dependencies] ⚡️ Optimized library discover code f605aa4
- [Io] ⚡️ Optimized write functions by making condition None by default 9f50bb5
- [Merge Smithed Weld] ⚡️ Optimized runs and allow for welding only datapack or resource pack 9f2d1d6
- ⚡️ Optimized parts of StewBeet e917dd6
- ⚡️ Optimized item models json encoder 49d790f
- ⚡️ Optimized headers, copy, ingame_manual, weld, cli, and beet patches 30a00d8
Tests
- [Auto.text Renders] ✅ Added the plugin_21 integration test (#37) 502fbb1
Build System
- [Deps-dev] update uv-build requirement from <0.12.0,>=0.11.2 to >=0.12.0,<0.13.0 in /python_package (#35) d73904a
- [Extension] 🚀 Bump version to 1.0.3 in package.json 6eb778c
- [Web/docker] 🔥 Drop the broken auto-update loop, harden the image 2a6cb7d
- 🚀 Bumped v3.3.1 6884e6b
- 🚀 Bumped v3.3.2 005ee6d
- 🚀 Bumped v3.4.0 50ab403
- 🚀 Bumped v3.4.1 f5cc238
- 🚀 Bumped v3.4.3 with proper stouputils version 9151f65
- 🚀 Bumped v3.4.4 82e2089
- 🚀 Bumped v3.4.5 4fbc7e6
- 🚀 Bumped v3.5.0 381d768
- 🚀 Bumped v3.5.1 69fc622
- 🚀 Bumped v3.5.2 509cd5b
- 🚀 Bumped v3.5.3 c61d7e9
- 🚀 Bumped v3.5.4 cf72fb1
- 🚀 Bumped v3.5.5 decc6da
- 🚀 Bumped v3.5.6 6a31c2f
- 🚀 Bumped v3.5.7 2a8f928
- 🚀 Bumped v3.5.8 dd1717e
- 🚀 Bumped v3.5.9 81f8de4
- 🚀 Bumped v3.6.0 8a4a8cf
Work in Progress
- 🚧 Full rewrite of the ingame manual creation 26f9822
- 🚧 Full rewrite of the ingame manual creation (2/?) 0e76cd2
- 🚧 Full rewrite of the ingame manual creation (3/?) 962b7de
- 🚧 Full rewrite of the ingame manual creation (4/5) ed9bc44
- 🚧 Full rewrite of the ingame manual creation (5/5) 3534802
Mergebranchmainofhttps
- //github.com/Stoupy51/StewBeet 9d975e7
Other
- uh 2193fa0
LOAD MORE LOGS
More like this
6470302
119


Have something to say?
also, is it to be coded using dialog in-game or with coding in the files
(realising those questions are tha same)
Python Datapack is an external program made using Python, it's not a thing in-game, the video shows what the program can generate/compile to mcfunction.
There is a '📦 How to use' section explain how to start using it. There are also guides in the '📚 Documentation' section.
> is it to be coded using dialog in-game or with coding in the files
That's the second one. You can see Python Datapack as a compiler, for instance a famous compiler would be compiling C code to a .exe file.
Python Datapack is similar in the way that it takes Python and Mcfunction code and generate datapack and resource pack .zip files that can be used by Minecraft (world/datapacks, .minecraft/resource_packs)
I hope this makes it clearer ;-;
BTW how are you doing the custom blocks? Is it slabs? Or like spawners or smth
On the custom blocks implementation, you can use whatever vanilla block you want to use.
Each custom block will always have an item_display entity bigger than the block itself to make it appear "custom".
Then there are optimized place and destroy functions that does the job to make the player believe it is a real custom block.
Now it's just "a little less by using tricks"