promotional bannermobile promotional banner

Random Structures

Periodically places a random vanilla structure or feature at each player's location.

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 runs place_random for every player.
  • place_random -> rolls a 1–100 number. If it falls within rs_structure_percent, it calls place_structure. Otherwise it calls place_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.

The Random Structures Team

profile avatar
  • 1
    Projects
  • 5
    Downloads