Random Structures
A Minecraft data pack that periodically places a random vanilla structure or feature at each player's location.
What it does
Every interval (1 minute by default), each online player has a chance to have a random structure (village, woodland mansion, stronghold) or a random feature (tree, ore vein, mushroom) generated where they are standing.
Configuration
There are 2 scoreboard values on the #global fake player that control behavior. Change them in-game (or via a /function file) after the pack has loaded:
| Scoreboard objective | Default | Meaning |
|---|---|---|
rs_interval_ticks |
1200 |
Ticks between placement attempts (1200 ticks = 60 seconds at 20 TPS). |
rs_structure_percent |
25 |
Percent chance (1–100) of placing a full structure instead of a feature. |
Example commands:
scoreboard players set #global rs_interval_ticks 600
scoreboard players set #global rs_structure_percent 50
How it works
The pack lives under the randstruct namespace and hooks into vanilla's #minecraft:load and #minecraft:tick function tags:
load-> creates the scoreboard objectives used by the pack and sets default values for the configurable options the first time the pack loads.tick-> advances a tick counter; once it reaches the configured interval, it resets and runsplace_randomfor every player.place_random-> rolls a 1–100 number. If it falls withinrs_structure_percent, it callsplace_structure. Otherwise it callsplace_feature. It then clones a 16×16×16 area around each players in niche cases where ghost blocks appear from the placed structure/feature.place_structure-> rolls one of the vanilla structures and places it at each player's position.place_feature-> rolls one of the vanilla features and places it at each player's position.
Both placement functions record what they placed in the randstruct:data storage and announce it in the chat via tellraw.
Installation
Copy this folder into the world's datapacks directory, then run /reload (or /datapack enable "file/random_structures" if it isn't enabled yet).
Compatibility
Data pack format is 101.2-107.1, covering the 26.2 snapshots through the 26.2 release. While technically compatible with 1.20.2+ (specifically 23w31a+), the feature/structure ID lists include things added well after 1.20.2. Any structure ID that doesn't exist yet in an older version will silently fail to place anything.
Notes
- Placement uses the player's exact position, so structures can overwrite existing terrain, builds, or generate partially outside loaded chunks.

