wip more dioramas
This commit is contained in:
@@ -1,8 +1,129 @@
|
||||
#import "/lib.typ": diorama
|
||||
|
||||
= Design Tips
|
||||
|
||||
== Synchronization
|
||||
=== Daylight Detector
|
||||
|
||||
#[#show raw.where(lang: "mc-diorama"): it => diorama(
|
||||
autoplay: true,
|
||||
loop: true,
|
||||
radius: 5,
|
||||
theta: 115,
|
||||
phi: 20,
|
||||
it.text,
|
||||
)
|
||||
|
||||
```mc-diorama
|
||||
p 0 0 0 smooth_stone_slab type=top
|
||||
p 0 1 0 daylight_detector inverted=true
|
||||
p 0 2 0 piston facing=north extended=false
|
||||
p 0 0 -1 smooth_stone_slab type=top
|
||||
p 0 1 -1 observer facing=south powered=false
|
||||
t 0
|
||||
p 0 2 0 extended=true
|
||||
p 0 2 -0.5 piston_head facing=north short=true type=normal
|
||||
t 1
|
||||
p 0 2 -0.5 air
|
||||
p 0 2 -1 piston_head facing=north short=false type=normal
|
||||
t 2
|
||||
p 0 1 -1 powered=true
|
||||
t 4
|
||||
p 0 1 -1 powered=false
|
||||
|
||||
t 20
|
||||
p 0 2 -1 air
|
||||
p 0 2 -0.5 piston_head facing=north short=true type=normal
|
||||
|
||||
t 21
|
||||
p 0 2 -0.5 air
|
||||
p 0 2 0 extended=false
|
||||
|
||||
t 22
|
||||
p 0 1 -1 powered=true
|
||||
t 24
|
||||
p 0 1 -1 powered=false
|
||||
|
||||
t 40
|
||||
p 0 0 0
|
||||
|
||||
```
|
||||
|
||||
```mc-diorama
|
||||
p 1 -1 -1 smooth_stone_slab type=top
|
||||
p 0 -1 -1 smooth_stone_slab type=top
|
||||
p 1 -1 0 smooth_stone_slab type=top
|
||||
p 0 -1 0 smooth_stone_slab type=top
|
||||
p 1 -1 1 smooth_stone_slab type=top
|
||||
p 0 -1 1 smooth_stone_slab type=top
|
||||
p 1 -1 2 smooth_stone_slab type=top
|
||||
p 0 -1 2 smooth_stone_slab type=top
|
||||
|
||||
p 1 0 0 daylight_detector inverted=true
|
||||
p 0 0 0 daylight_detector inverted=true
|
||||
p 0 0 1 comparator facing=north mode=subtract powered=false
|
||||
p 1 0 1 redstone_wire north=side west=side power=12
|
||||
p 0 0 2 black_concrete
|
||||
p 0 1 2 redstone_wire north=side south=side east=side west=side power=0
|
||||
p 0 1 1 sticky_piston facing=north extended=false
|
||||
p 0 1 0 light_gray_terracotta
|
||||
p 0 0 -1 observer facing=south powered=false
|
||||
|
||||
t 2
|
||||
p 0 0 1 powered=true
|
||||
p 0 1 2 power=1
|
||||
|
||||
t 3
|
||||
p 0 1 1 extended=true
|
||||
p 0 1 0 air
|
||||
p 0 1 -.5 light_gray_terracotta
|
||||
p 0 1 .5 piston_head type=sticky short=true facing=north
|
||||
|
||||
t 4
|
||||
p 0 0 -1 powered=true
|
||||
p 0 1 -.5 air
|
||||
p 0 1 .5 air
|
||||
p 0 1 -1 light_gray_terracotta
|
||||
p 0 1 0 piston_head type=sticky short=false facing=north
|
||||
|
||||
t 6
|
||||
p 0 0 -1 powered=false
|
||||
|
||||
t 22
|
||||
p 0 0 1 powered=false
|
||||
p 0 1 2 power=0
|
||||
|
||||
t 23
|
||||
p 0 1 -1 air
|
||||
p 0 1 0 air
|
||||
p 0 1 -.5 light_gray_terracotta
|
||||
p 0 1 .5 piston_head type=sticky short=true facing=north
|
||||
|
||||
t 24
|
||||
p 0 1 -.5 air
|
||||
p 0 1 .5 air
|
||||
p 0 1 0 light_gray_terracotta
|
||||
p 0 1 1 extended=false
|
||||
p 0 0 -1 powered=true
|
||||
|
||||
t 26
|
||||
p 0 0 -1 powered=false
|
||||
|
||||
t 40
|
||||
p 0 0 0
|
||||
```]
|
||||
|
||||
|
||||
=== Geyser
|
||||
=== Synchronization Protocols
|
||||
== Settling time
|
||||
== Horizontal vs Vertical Arrangement
|
||||
|
||||
#html.div(id: "atlas-container", style: "position: fixed; left: 0; top: 0; border 1px solid white;")
|
||||
#html.script(
|
||||
"
|
||||
document.onreadystatechange = () => {
|
||||
document.getElementById('atlas-container')?.appendChild(window.mcEngine.atlas.canvas)
|
||||
}
|
||||
",
|
||||
)
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
#import "/lib.typ": callout, diorama, warn, world
|
||||
#import "/lib.typ": callout, diorama, warn
|
||||
|
||||
#title()
|
||||
|
||||
#diorama(
|
||||
orbit: false,
|
||||
"
|
||||
p 0 0 0 dropper facing=up
|
||||
p 0 1 0 dropper facing=up
|
||||
p 0 2 0 dropper facing=east
|
||||
p 1 0 0 hopper facing=west
|
||||
p 1 1 0 oak_trapdoor facing=north open=false half=top
|
||||
p 1 2 0 oak_trapdoor facing=north open=true half=top
|
||||
",
|
||||
)
|
||||
|
||||
Everything I know about Entity ID Wireless Redstone (EID Wireless) for Minecraft Java Edition 1.14+.
|
||||
|
||||
#warn[
|
||||
|
||||
@@ -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