some details about BED

This commit is contained in:
David Allemang
2026-07-27 11:20:26 -04:00
parent 67d729eeba
commit ac44e5f15e
2 changed files with 113 additions and 1 deletions

View File

@@ -206,6 +206,11 @@ cmp rep rep cmp cmp rep rep
== Block Event Delay
Block Event Delay is not a complete substitute for tilesets, but it can significantly reduce the
required length of tilesets. It is based on a behavior of piston push lists which repeats a given
global order for multiple components. A smaller tileset can set a 'template' ordering for a few
components, then BED can trivially 'repeat' that order for a subsequent set of components.
#show raw.where(lang: "mc-diorama"): it => diorama(
autoplay: true,
loop: true,
@@ -321,4 +326,111 @@ t 20
p 0 0 0
```
#show raw.where(lang: "mc-diorama"): it => diorama(
autoplay: true,
loop: true,
radius: 5,
theta: 180,
phi: 0,
it.text,
)
```
prefix | BED -->
00 | A D G ...
01 | B E H ...
10 | C F I ...
```
#show raw.where(lang: "mc-diorama"): it => diorama(
autoplay: true,
loop: true,
radius: 9,
phi:30,
theta: 110,
it.text,
)
```mc-diorama
p 0 0 0 light_gray_terracotta
p 1 0 0 light_gray_terracotta
p 2 0 0 light_gray_terracotta
p 3 0 0 light_gray_terracotta
p 4 0 0 light_gray_terracotta
p -1 -1 0 smooth_stone_slab type=top
p -2 -1 0 smooth_stone_slab type=top
p -3 -1 0 smooth_stone_slab type=top
p 0 1 0 redstone_wire east=side west=side power=0
p 1 1 0 redstone_wire east=side west=side power=0
p 2 1 0 redstone_wire east=side west=side power=0
p 3 1 0 redstone_wire east=side west=side power=0
p 4 1 0 redstone_wire east=side west=side power=0
p 0 -1 -1 piston facing=up extended=false
p 1 -1 -1 piston facing=up extended=false
p 2 -1 -1 piston facing=up extended=false
p 3 -1 -1 piston facing=up extended=false
p 4 0 -1 piston facing=down extended=false
p 0 0 -2 observer facing=south powered=false
p 1 0 -2 observer facing=south powered=false
p 2 0 -2 observer facing=south powered=false
p 3 0 -2 observer facing=south powered=false
p -1 0 0 observer facing=west powered=false
p -2 0 0 repeater facing=west powered=false locked=false delay=1
p -3 0 0 repeater facing=west powered=false locked=false delay=1
p 0 0 4 cyan_terracotta
p 1 0 4 cyan_terracotta
p 2 0 4 cyan_terracotta
p 3 0 4 cyan_terracotta
p 4 0 4 cyan_terracotta
p -1 -1 4 smooth_stone_slab type=top
p -2 -1 4 smooth_stone_slab type=top
p -3 -1 4 smooth_stone_slab type=top
p 0 1 4 redstone_wire east=side west=side power=0
p 1 1 4 redstone_wire east=side west=side power=0
p 2 1 4 redstone_wire east=side west=side power=0
p 3 1 4 redstone_wire east=side west=side power=0
p 4 1 4 redstone_wire east=side west=side power=0
p 0 -1 3 piston facing=up extended=false
p 1 -1 3 piston facing=up extended=false
p 2 -1 3 piston facing=up extended=false
p 3 -1 3 piston facing=up extended=false
p 4 0 3 piston facing=down extended=false
p 0 0 2 observer facing=south powered=false
p 1 0 2 observer facing=south powered=false
p 2 0 2 observer facing=south powered=false
p 3 0 2 observer facing=south powered=false
p -1 0 4 observer facing=west powered=false
p -2 0 4 repeater facing=west powered=false locked=false delay=1
p -3 0 4 comparator facing=west powered=false mode=compare
p 0 0 8 white_terracotta
p 1 0 8 white_terracotta
p 2 0 8 white_terracotta
p 3 0 8 white_terracotta
p 4 0 8 white_terracotta
p 5 -1 8 smooth_stone_slab type=top
p 6 -1 8 smooth_stone_slab type=top
p 7 -1 8 smooth_stone_slab type=top
p 0 1 8 redstone_wire east=side west=side power=0
p 1 1 8 redstone_wire east=side west=side power=0
p 2 1 8 redstone_wire east=side west=side power=0
p 3 1 8 redstone_wire east=side west=side power=0
p 4 1 8 redstone_wire east=side west=side power=0
p 0 -1 7 piston facing=up extended=false
p 1 -1 7 piston facing=up extended=false
p 2 -1 7 piston facing=up extended=false
p 3 -1 7 piston facing=up extended=false
p 4 0 7 piston facing=down extended=false
p 0 0 6 observer facing=south powered=false
p 1 0 6 observer facing=south powered=false
p 2 0 6 observer facing=south powered=false
p 3 0 6 observer facing=south powered=false
p 5 0 8 observer facing=east powered=false
p 6 0 8 comparator facing=east powered=false mode=compare
p 7 0 8 repeater facing=east powered=false locked=false delay=1
```
== Single-Priority Loops

View File

@@ -398,7 +398,7 @@ export class Engine {
const viewProj = diorama.updateMatrices(aspect);
gl.uniformMatrix4fv(this.uniforms.viewProj, false, viewProj);
gl.uniform3f(this.uniforms.lightDir, 1.0, 3.0, 2.0);
gl.uniform3f(this.uniforms.lightDir, 1.0, 3.0, -2.0);
gl.uniform3f(this.uniforms.viewDir, diorama.viewDir[0], diorama.viewDir[1], diorama.viewDir[2]);
gl.uniform3f(this.uniforms.upDir, diorama.upDir[0], diorama.upDir[1], diorama.upDir[2]);