Skip to content

Workspaces

A workspace is where you develop your bundle. FoundryEngine supports two approaches.

Which one should you pick?

Start with the in-game folder if you are exploring or building a small personal project. You can always migrate later.

Use the template project if you are building a bundle for others to use, working in a team, or want automated builds.

Comparison

AspectIn-Game FolderTemplate Project
SetupNone (create a folder)Clone from GitHub template
Build stepNonegradlew deployBundle
Reload/engine reload (instant)Build → /engine reload
Version controlManualGit built-in
IDE supportAny text editorIntelliJ / VS Code
Best forQuick prototypes, learningTeam projects, distribution

In-game folder

Create a folder directly in your Minecraft directory:

.minecraft/FoundryEngine/bundles/your-bundle/

The .bundles.toml manifest goes at the bundle root:

.minecraft/FoundryEngine/bundles/your-bundle/your-bundle.bundles.toml

Workflow:

  1. Edit or add files in the folder
  2. Run /engine reload in-game
  3. Test changes immediately — no restart needed

Template project

The FoundryEngine Bundle Template is a GitHub template with a full Gradle project.

Creating a project

bash
git clone https://github.com/LuckyMcDev/FoundryEngineBundleTemplate my-bundle
cd my-bundle

Or click Use this template on the GitHub page.

Project structure

my-bundle/
├── build.gradle
├── settings.gradle
├── gradle.properties
├── gradlew / gradlew.bat
├── gradle/
│   └── wrapper/
├── src/
│   └── main/
│       ├── groovy/           # Groovy scripts (common, client, server)
│       └── resources/        # Manifest, assets, data
└── build/
    └── bundles/              # deployBundle output

Key differences

AspectIn-Game FolderTemplate Project
Script locationscripts/common/src/main/groovy/common/
Manifest locationBundle root foldersrc/main/resources/
Assets locationassets/src/main/resources/assets/
Data locationdata/src/main/resources/data/

Gradle tasks

TaskCommandWhat it does
deployBundle./gradlew deployBundleBuild bundle and copy to run directory
runClient./gradlew runClientLaunch Minecraft with the bundle
clean./gradlew cleanRemove build files
test./gradlew testRun JUnit tests

Build and deploy workflow

bash
./gradlew deployBundle
./gradlew runClient

deployBundle compiles your Groovy scripts, packages assets, and copies the output to the bundles folder so /engine reload picks it up.

Version control

The template initializes Git automatically:

bash
git add .
git commit -m "Add my first bundle"

Migrating from in-game folder to template

  1. Clone or generate the template project
  2. Copy .bundles.toml to src/main/resources/
  3. Copy scripts/ to src/main/groovy/
  4. Copy assets/ and data/ to src/main/resources/
  5. Run ./gradlew deployBundle and verify with /engine reload

What's next

FoundryEngine is a work-in-progress. Documentation may change.