wip more dioramas
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#import "/lib.typ": diorama, example, todo, world
|
||||
#import "/lib.typ": diorama, example, todo
|
||||
|
||||
= Preventing Interference <timing>
|
||||
|
||||
@@ -10,23 +10,12 @@ us to spawn transmission entities in that window.
|
||||
|
||||
== Tilesets
|
||||
|
||||
The fundamental principle here is to use tile-tick priority (TTP) to set a global order. See
|
||||
Charlie's great video on TTP for details. #todo[link video]
|
||||
|
||||
#todo[fix tileset naming. the tileset is the *structure*. the particular sequence is just one instance of that tileset]
|
||||
|
||||
A *tileset* is a sequence of redstone components which all update in the tile tick phase. Components
|
||||
later in the sequence have greater significance. To make the significance match our left-to-right
|
||||
reading convention, we diagram them so the signal flows right-to-left. For example:
|
||||
|
||||
|
||||
#diorama(
|
||||
theta: 160,
|
||||
phi: 20,
|
||||
autoplay: true,
|
||||
loop: true,
|
||||
world(
|
||||
"
|
||||
"
|
||||
p 0 -1 0 smooth_stone_slab type=top
|
||||
p 1 -1 0 smooth_stone_slab type=top
|
||||
p 2 -1 0 smooth_stone_slab type=top
|
||||
@@ -61,11 +50,19 @@ p 4 0 0 powered=false
|
||||
t 20
|
||||
p 0 0 0
|
||||
",
|
||||
),
|
||||
)
|
||||
|
||||
This section will cover how to read and construct tilesets that enforce a *global* ordering for use
|
||||
in wireless redstone.
|
||||
|
||||
#todo[fix tileset naming. the tileset is the *structure*. the particular sequence is just one instance of that tileset]
|
||||
|
||||
A *tile sequence* is a chain of redstone components which all update in the tile tick phase.
|
||||
The fundamental principle here is to use tile-tick priority (TTP) to set a global order.
|
||||
#link("https://youtu.be/sLftwVwqPQE")[See Charlie's great video on TTP for details].
|
||||
|
||||
A *tile set* is a system of constructing tile sequences which enforce a particular global ordering.
|
||||
|
||||
Components which activate later in the sequence have a stronger effect on the order, so to match our
|
||||
left-to-right reading convention, we diagram tile sequences so the signal flows right-to-left.
|
||||
|
||||
=== The Tile Tick Priority Queue
|
||||
|
||||
@@ -214,4 +211,119 @@ cmp rep rep cmp cmp rep rep
|
||||
|
||||
== Block Event Delay
|
||||
|
||||
#[#show raw.where(lang: "mc-diorama"): it => diorama(
|
||||
autoplay: true,
|
||||
loop: true,
|
||||
radius: 5,
|
||||
theta: 160,
|
||||
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 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 0 -1 piston facing=down 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 -1 -1 piston facing=up extended=false
|
||||
|
||||
p -1 0 0 observer facing=west 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 4 0 -2 observer facing=south powered=false
|
||||
|
||||
t 0
|
||||
p -1 0 0 powered=true
|
||||
p 0 1 0 power=15
|
||||
p 1 1 0 power=14
|
||||
p 2 1 0 power=13
|
||||
p 3 1 0 power=12
|
||||
p 4 1 0 power=11
|
||||
|
||||
t 1
|
||||
p 0 0 -1 extended=true
|
||||
p 1 -1 -1 extended=true
|
||||
p 2 -1 -1 extended=true
|
||||
p 3 -1 -1 extended=true
|
||||
p 4 -1 -1 extended=true
|
||||
|
||||
p 0 -0.5 -1 piston_head facing=down short=true type=normal
|
||||
p 1 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
p 2 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
p 3 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
p 4 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
|
||||
t 2
|
||||
p -1 0 0 powered=false
|
||||
p 0 1 0 power=0
|
||||
p 1 1 0 power=0
|
||||
p 2 1 0 power=0
|
||||
p 3 1 0 power=0
|
||||
p 4 1 0 power=0
|
||||
|
||||
p 0 -1 -1 piston_head facing=down short=false type=normal
|
||||
p 1 0 -1 piston_head facing=up short=false type=normal
|
||||
p 2 0 -1 piston_head facing=up short=false type=normal
|
||||
p 3 0 -1 piston_head facing=up short=false type=normal
|
||||
p 4 0 -1 piston_head facing=up short=false type=normal
|
||||
|
||||
p 0 -0.5 -1 air
|
||||
p 1 -0.5 -1 air
|
||||
p 2 -0.5 -1 air
|
||||
p 3 -0.5 -1 air
|
||||
p 4 -0.5 -1 air
|
||||
|
||||
p 1 0 -2 powered=true
|
||||
p 2 0 -2 powered=true
|
||||
p 3 0 -2 powered=true
|
||||
p 4 0 -2 powered=true
|
||||
|
||||
t 3
|
||||
|
||||
p 0 -1 -1 air
|
||||
p 1 0 -1 air
|
||||
p 2 0 -1 air
|
||||
p 3 0 -1 air
|
||||
p 4 0 -1 air
|
||||
|
||||
p 0 -0.5 -1 piston_head facing=down short=true type=normal
|
||||
p 1 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
p 2 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
p 3 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
p 4 -0.5 -1 piston_head facing=up short=true type=normal
|
||||
|
||||
t 4
|
||||
p 0 -0.5 -1 air
|
||||
p 1 -0.5 -1 air
|
||||
p 2 -0.5 -1 air
|
||||
p 3 -0.5 -1 air
|
||||
p 4 -0.5 -1 air
|
||||
|
||||
p 0 0 -1 extended=false
|
||||
p 1 -1 -1 extended=false
|
||||
p 2 -1 -1 extended=false
|
||||
p 3 -1 -1 extended=false
|
||||
p 4 -1 -1 extended=false
|
||||
p 1 0 -2 powered=false
|
||||
p 2 0 -2 powered=false
|
||||
p 3 0 -2 powered=false
|
||||
p 4 0 -2 powered=false
|
||||
|
||||
t 20
|
||||
p 0 0 0
|
||||
```
|
||||
]
|
||||
|
||||
== Single-Priority Loops
|
||||
|
||||
Reference in New Issue
Block a user