🚀 stewbeet.plugins.initialize
📄 Source Code: stewbeet/plugins/initialize/__init__.py 🔗
📄 Source Code: stewbeet/plugins/initialize/source_lore_font.py 🔗
🔗 Dependencies
- ✅ Required: None (this is the first plugin in the pipeline)
- 📍 Position: Must be the first plugin in the beet.yml pipeline
(seebasic/beet.ymlfor an example)
📋 Overview
The initialize plugin is the foundation of the StewBeet framework.
It sets up the core infrastructure, initializes project metadata, configures pack.mcmeta files,
and prepares the build environment for all subsequent plugins.
Some Features Showcase
Automatic Item Lore (If not configured) for item definitions

Automatic pack.mcmeta + Automatic description (If not configured)

Legacy Texture Naming Conversion

🎯 Purpose
- 🛠️ Initializes the StewBeet framework
- ⚙️ Sets up more project metadata and configurations
- 📦 Configures pack.mcmeta for both datapacks and resource packs
- 📝 Preprocesses project descriptions and few settings
- 🔄 Handles legacy texture naming conversions
- 🏷️ Creates source lore fonts for item identification
⚙️ Configuration
🎯 Basic Example Configuration
name: "SimplEnergy" version: "2.0.2" pipeline: - stewbeet.plugins.initialize # must be the first plugin - ... # other plugins follow description: "" # or custom description meta: stewbeet: source_lore: "" # or custom text component textures_folder: "assets/textures" manual: name: "" # defaults to "{project_name} Manual"
📋 Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
description | TextComponent | "" | Project description for pack.mcmeta. Defaults to "{project_name} [{project_version}] by {project_author}" |
source_lore | TextComponent | "" | Lore text for item identification. Defaults [{"text":"ICON"},{"text":" {project_name}","italic":true,"color":"blue"}] |
textures_folder | string | "assets/textures" | Path to the textures folder |
manual.name | string | "" | Name for the in-game manual. Defaults to "{project_name} Manual" |
✨ Features
🚀 Framework Initialization
- 🛠️ Sets up the StewBeet memory system (
Mem.ctx) - 🔄 Converts the context meta to a Box object for easier access
- ⚙️ Initializes core project configurations
📦 Pack.mcmeta Generation
Automatically generates pack.mcmeta files for both datapacks and resource packs with:
- ✅ Correct pack format versions
- 📝 Project description
- 🆔 Project ID
- 🔧 Proper JSON encoding
📊 Project Metadata Processing
- 📝 Project Description: Auto-generates if set to "auto"
- 🏷️ Source Lore: Creates item identification lore
- 📖 Manual Name: Sets default manual name if not specified
🖼️ Pack Icon Management
Automatically handles pack.png icon distribution:
- 🔍 Searches for pack.png in common locations (
src/pack.png,assets/pack.png,*pack.png) - 📦 Copies pack.png to both datapack and resource pack outputs
- 🎨 Uses
PngFilefor proper beet integration - ✅ Ensures consistent branding across both pack types
🔄 Legacy Support
Handles legacy texture naming conversions for better later compatibility/pattern matching:
_off→ (removed) ❌_down→_bottom⬇️_up→_top⬆️_north→_front⬆️_south→_back⬇️_west→_left⬅️_east→_right➡️