Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Lost Frontiers

Minecraft Bedrock add-on focused on procedural exploration layered on top of the vanilla Overworld.

1. Project context

Lost Frontiers is a technical demo and study project for Bedrock add-on development.

  • Purpose: portfolio, learning, and experimentation.
  • It is not a commercial product.
  • It has no monetization goal.
  • Scope: demonstrate data-driven world generation plus Script API integration.

2. Author

  • Caio Pessini
  • Technical focus in this project: configurable systems design, procedural content, JSON pipeline automation, debugging, and pack validation.

3. Technical background (what is behind the project)

This add-on combines three main layers:

  1. Data-driven world generation (JSON)
  • features: define how something can be placed (for example structure_template_feature, weighted_random_feature, snap_to_surface_feature).
  • feature_rules: define where and when placement is attempted (biome filters, generation pass, chunk distribution).
  • structures (.mcstructure): templates for ruins, roads, and underground POIs.
  1. Script API (@minecraft/server)
  • Discovery system based on proximity to marker blocks (lodestone).
  • Scoreboard progression updates.
  • Player feedback through title/actionbar/chat/sound.
  • Configurable milestone system.
  1. Configuration pipeline
  • A single worldgen configuration file.
  • A script that applies config values into features and feature_rules.
  • A validation script that checks references and config synchronization.

4. Project structure

Root

  • LostFrontiers_BP/ main Behavior Pack
  • LostFrontiers_RP/ supporting Resource Pack
  • README.md documentation

Behavior Pack (LostFrontiers_BP)

  • manifest.json

    • Pack metadata, data and script modules, dependencies.
  • features/

    • Base and composed generation features.
    • Includes rarity using noop, weighted selectors, and structure placement.
  • feature_rules/

    • Placement rules by biome/pass/distribution.
  • structures/lostfrontiers/*.mcstructure

    • Structures used in-world (ruins, roads, underground POIs).
  • functions/*.mcfunction

    • Debug and testing utility commands.
  • scripts/config.js

    • Runtime configuration for discovery/UI/score systems.
  • scripts/main.js

    • Script event orchestration.
  • scripts/lib/*.js

    • Support modules (scoreboard, notifications, discovery, text).
  • config/worldgen_config.json

    • Central procedural generation configuration.
  • dev/apply_worldgen_config.py

    • Applies worldgen_config.json into data-driven JSON files.
  • dev/verify_pack.py

    • Validates references and config synchronization.

Resource Pack (LostFrontiers_RP)

  • manifest.json
  • texts/en_US.lang

5. Minimum requirements

  • Minecraft Bedrock Edition compatible with the pack min_engine_version (1.21.0 in current manifest).
  • Script API support (@minecraft/server).
  • World with both Behavior Pack and Resource Pack enabled.
  • Cheats/permissions enabled for debug commands.
  • Python 3.x for local configuration pipeline scripts.

6. How to load in-game

Option A: development workflow

  1. Clone this repository.
  2. Copy LostFrontiers_BP to the development behavior packs folder.
  3. Copy LostFrontiers_RP to the development resource packs folder.
  4. Create a test world and enable both packs.
  5. Join the world and run: /function lf_debug_smoke

On Windows, development pack paths are usually:

  • %LOCALAPPDATA%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs
  • %LOCALAPPDATA%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_resource_packs

Option B: quick usage without generation tuning

If you only want to test quickly, use debug commands and /structure load without changing the Python pipeline config.

7. Project configuration

There are two configuration fronts: runtime script config and data-driven worldgen config.

7.1 Runtime config (scripts/config.js)

Controls discovery behavior, messages, score handling, and audio.

Examples:

  • Scan frequency:
scanIntervalTicks: 40 // lower = more responsive, higher = lower runtime cost
  • Marker block:
markerBlockId: "minecraft:lodestone"
  • Discovery notification mode:
notifications: {
  discovery: {
    mode: "titleraw", // chat | actionbar | title | titleraw
    actionbarAlso: true,
    chatAlso: false
  }
}
  • Milestones:
milestones: [
  { score: 1, message: "First trace found." },
  { score: 5, message: "Cartographer rank." }
]

7.2 Data-driven worldgen config (config/worldgen_config.json)

Controls density, rarity, biome targeting, and weighted selection.

Available profiles:

  • sparse
  • balanced
  • dense
  • cinematic

Examples:

  • Activate profile:
"active_profile": "cinematic"
  • Make trail placement rarer:
"lf:trail_rare_feature": { "place_weight": 1, "noop_weight": 12 }
  • Favor straight road segments:
"lf:road_segment_selector_feature": [
  ["lf:road_straight_structure_feature", 12],
  ["lf:road_curve_structure_feature", 4],
  ["lf:road_crossing_structure_feature", 1]
]

After editing:

  1. Apply config: python LostFrontiers_BP/dev/apply_worldgen_config.py
  2. Validate: python LostFrontiers_BP/dev/verify_pack.py

Quick profile switch:

  • python LostFrontiers_BP/dev/apply_worldgen_config.py --profile cinematic
  • python LostFrontiers_BP/dev/apply_worldgen_config.py --profile balanced

8. What to observe in-game

While exploring new chunks, players should see:

  • Rare micro-ruins in target biomes (plains/taiga/savanna).
  • Degraded road segments across the Overworld (excluding ocean/river).
  • Occasional underground POIs.
  • Discovery markers (lodestone) that become chiseled_stone_bricks when discovered.
  • Discovery score increasing on the scoreboard.
  • Configurable visual/audio feedback from scripts/config.js.

8.1 Short examples of project content

Structure examples (structures/lostfrontiers):

  • lostfrontiers:broken_altar
  • lostfrontiers:border_marker
  • lostfrontiers:abandoned_well
  • lostfrontiers:stone_arch
  • lostfrontiers:extinguished_camp
  • lostfrontiers:forgotten_chamber (underground)
  • lostfrontiers:collapsed_tunnel (underground)

Feature examples (features/*.json):

  • lf:micro_shrine_rare_feature (rare feature with noop)
  • lf:micro_camp_cluster_feature (weighted selector for camp structures)
  • lf:trail_rare_feature (rare trigger for roads/trails)
  • lf:road_segment_snap_feature (surface snapping)
  • lf:underground_poi_selector_feature (underground POI selector)

8.2 Generation gallery (biomes/chunks/surface/underground)

The images below demonstrate generation and composition in-world.

Surface - small ruins and markers spread across terrain

Underground - example POI in a cavern area

Distribution - procedural placement across chunks and biomes during exploration

9. Command plan for testing

Smoke/UI

  • /function lf_debug_clean_ui
  • /function lf_debug_smoke
  • /function lf_debug_help

Structures

  • /function lf_debug_place_surface
  • /function lf_debug_place_underground
  • /structure load lostfrontiers:broken_altar ~ ~ ~

Features

  • /function lf_debug_place_features (rare features can legitimately place nothing)
  • /function lf_debug_place_features_forced (deterministic)

Discovery/progression

  • /function lf_debug_reset_progress
  • Approach a discovery marker
  • /scoreboard players list @s

Natural generation in new chunks

  • /tp @s 120000 120 120000
  • Explore 300-600 blocks

10. Source of templates, blocks, and content

  • .mcstructure files in this project were assembled with vanilla blocks and the standard Bedrock Structure Block/command workflow.
  • There is no dependency on external custom 3D assets or proprietary texture packs.
  • Feature/rule modeling and pipeline design were based on official documentation and sample repositories listed below.

11. Conclusion

Lost Frontiers demonstrates a portfolio-ready Bedrock add-on architecture: clear separation between data-driven generation and script logic, centralized configuration, automated validation, and practical in-game debugging workflow.
The project keeps a vanilla-friendly visual language and provides a strong baseline for future expansion (more structures, richer progression, and broader biome coverage).

12. Technical and bibliographic references

Official Minecraft Creator documentation

Bedrock technical community

Sample repositories

About

Lost Frontiers is a Minecraft Bedrock procedural exploration add-on that expands vanilla Overworld generation with rare micro-ruins, abandoned camps, underground POIs, modular trail segments, and script-driven discovery progression, built as a non-commercial technical portfolio/study project.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages