đī¸ Project Structure
You installed the plugin last chapter. Now let's look at how CraftEngine's files are organized, then create the workspace for this tutorial with a single command.
The plugin folderâ
Open plugins/CraftEngine/ and you'll see:
The resources/ folder is where everything you create lives.
What's a "pack"â
In CraftEngine, your work is organized into packs. A pack is a folder under resources/ containing:
configuration/â your.ymlconfig files. Items, blocks, furniture â all defined hereresourcepack/â model files (.json), texture files (.png), sound files (.ogg). Same structure as a vanilla Minecraft resource packpack.ymlâ the pack's identity card: what it's called, who made it, what namespace it uses
đĄ Folder names starting with
.(like.hidden_pack) are ignored by CraftEngine and won't be loaded.
You can have multiple packs (tutorial, my_weapons, furniture_pack) â CraftEngine merges them together. This tutorial uses a single pack called tutorial.
What's a namespaceâ
A namespace is like a surname. Everything in Minecraft has an ID like minecraft:diamond â minecraft is the vanilla namespace, diamond is the thing's name.
Your creations need their own namespace so they don't collide with vanilla items. This tutorial uses tutorial as the namespace, so your item IDs look like tutorial:xxx.
Namespaces only allow lowercase letters, digits, -, _, ., /. No uppercase, no spaces.
đĄ Quick quiz: which IDs are valid?
MyFirst:golden_swordminecraft:steel furnaceabcd-efgh:1122.3344craftengine:happy$craftingtest:tutorial_book
- â uppercase not allowed
- â spaces not allowed
- â digits, hyphens, and dots are all valid
- â
$is not a valid character - â lowercase and underscores are valid
Step 1: create a pack with a commandâ
Don't create folders by hand. CraftEngine has a command that generates the full pack structure for you.
In-game, run:
/ce resource create tutorial
What this does:
tutorial= the pack name and folder name. The namespace defaults to this too- Auto-generates
pack.yml(with namespacetutorial, author, version, etc.) - Auto-creates the
configuration/folder and the full subfolder tree underresourcepack/
You'll see a success message. Now open plugins/CraftEngine/resources/tutorial/ â all the subfolders are already there:
â ī¸ If you get "pack already exists", the
tutorialfolder is already there. Delete it first or pick a different name.
đĄ You can open
pack.ymlto take a look â namespace, author, and version are already filled in. No changes needed.
Step 2: create a config fileâ
The pack is ready. Now create your first config file under configuration/. You'll need it for the next chapter.
What editor to useâ
You need a plain text editor. VS Code is recommended (free, with syntax highlighting).
Option A: file managerâ
Open the configuration folder, right-click â New â Text Document, rename to items.yml.
â ī¸ The filename must be
items.yml, notitems.yml.txt. Windows hides file extensions by default â you might think you've renamed to.ymlwhen it's actually.yml.txt. To check: click "View" in File Explorer â check "File name extensions", then verify the extension is really.yml.
Option B: command lineâ
# Navigate to the configuration directory
cd plugins/CraftEngine/resources/tutorial/configuration
# Linux / Mac
touch items.yml
# Windows PowerShell
ni items.yml
Once created, open it with VS Code or a command-line editor (nano items.yml) and you're ready to write configs.
Step 3: how configs get loadedâ
Every .yml and .json file under configuration/ gets loaded. You can put everything in one file, or split across many â CraftEngine reads and merges them all.
You could organize by type:
Or by theme:
However you split them is fine. This tutorial keeps it simple â everything in items.yml. We'll create new files later for blocks and furniture.
đĄ You can also use subfolders under
configuration/, likeconfiguration/weapons/orconfiguration/blocks/. CraftEngine scans all subdirectories recursively â every.ymland.jsoninside gets loaded.
How to apply your changesâ
After editing configs or resource pack files, tell CraftEngine to reload:
| What you changed | Command |
|---|---|
.yml configs (items, names, properties) | /ce reload config |
| Recipes | /ce reload recipe |
Texture files (.png) or model files (.json) | /ce reload all |
| Not sure which | /ce reload all (safest) |
â ī¸ This is the most important reminder in the entire tutorial: if you change a texture and only run
/ce reload config, nothing will happen. Texture changes must rebuild the resource pack â that meansall. "Why didn't my texture change show up?" â 99% of the time it's because you ranconfig.
Running /ce reload with no argument defaults to config.
AI-assisted config editingâ
CraftEngine provides a VS Code AI Skill that can auto-complete, validate configs, and explain field meanings. Once installed, the AI assists you in real time while editing .yml files in VS Code.
đĻ Skill download: not yet available
Ready? Next chapter â your first item.