Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Schrodinger Blocks
Quantum blocks that exist in superposition until a player observes them.
Every quantum block shimmers between two states:
- its natural block, whatever was actually there (
stateA), and - a "could be anything" block (
stateB), a full opaque cube picked deterministically from a safe-candidate set using the block's coordinates.
It flickers back and forth with a haze of portal particles. The moment any player gets a clear, unobstructed line of sight to it, the wavefunction collapses. The block locks to one of the two, and which one is decided purely by its coordinates, not by chance or timing. Look away all you like; until someone actually sees it, it never settles.
Quantum blocks can be placed by command or appear naturally as the world generates, scattered underground like a quantum ore.
What it does
- Natural-vs-random shimmer: each quantum block alternates between its real, original block and a deterministic "could be any safe block" pick. Same coordinates always yield the same pair and the same collapse outcome.
- Safe-candidate set: the random side (and the only blocks natural-spawn will convert) are full opaque cubes only. No slabs, stairs, glass, leaves, carpets, plants, tile entities, redstone-state blocks, pistons, spawners, bedrock, or infested blocks. The set is built once at startup by scanning the Material registry and removing a problem blacklist.
- Natural world-generation: freshly-generated chunks have a configurable chance to seed quantum blocks at a random spot within a Y range, but only where the natural block is itself a safe full cube. Honors the global cap. Main-thread only.
- Observation: detected with a real eye-to-block ray trace. The line of sight must be clear; a block in the way does not count.
- Collapse: locks to a deterministic, coordinate-seeded outcome (the same spot always collapses the same way), then leaves an ordinary block behind, with subtle particle and sound feedback and an action-bar message telling the observer what they forced into existence.
- Performance: only blocks within
observe-range x 1.5of an online player are processed each tick. Idle blocks sit on their natural state and cost nothing, so a world full of scattered quantum blocks looks untouched until a player is near. Then shimmering resumes. - Persistence: still-unobserved blocks survive restarts. The natural state and seed are stored, so the pair and the outcome are unchanged.
Commands
| Command | Description |
|---|---|
/quantum place [forcedStateB] |
Make the block you are looking at quantum. stateA is that block's current type; stateB is the seeded safe-random block, or forcedStateB if you supply a material. |
/quantum clear |
Stop tracking the quantum block you are looking at (leaves the current world block as-is). |
/quantum clear all |
Stop tracking every quantum block. |
/quantum info |
Show active count and current tunables. |
/quantum reload |
Reload config.yml (admin). |
Aliases: /qblock, /superposition.
Permissions
| Permission | Default | Grants |
|---|---|---|
quantum.use |
op | Place and clear quantum blocks. |
quantum.admin |
op | Reload the config (implies quantum.use). |
Config (config.yml)
observe-range: 24.0 # eye -> block-centre distance that allows observation
shimmer-period-ticks: 4 # ticks between shimmer flips (20 = 1s)
max-active-blocks: 500 # safety cap on concurrent superpositions
natural-spawn:
enabled: true # master switch for world-generation spawning
chance-per-chunk: 0.12 # probability a fresh chunk gets any quantum block(s)
max-per-chunk: 1 # max quantum blocks placed per new chunk
min-y: -60 # lowest Y a natural quantum block may appear at
max-y: 64 # highest Y a natural quantum block may appear at
There is no longer a default-state-a / default-state-b. The two states are now the
block's natural type and a coordinate-seeded pick from the safe-candidate set.
Reload at runtime with /quantum reload.
Compatibility
Paper / Spigot / Bukkit / Purpur 1.21.1 to 1.21.11 and the 26.1.x line (verified on 26.1.2), Java 21. Built against the Spigot API only (no Paper-specific classes), so the same jar runs on any of them.
Original concept, an internal test idea, not sourced from a Reddit post.


