From 1b754178c52fd9efbc24c3a01070945334ecd442 Mon Sep 17 00:00:00 2001 From: David Allemang Date: Tue, 28 Jul 2026 10:17:01 -0400 Subject: [PATCH] make pistons instantly extend for BED order demo --- content/interference-fixes.typ | 318 ++++++++++++--------------------- 1 file changed, 115 insertions(+), 203 deletions(-) diff --git a/content/interference-fixes.typ b/content/interference-fixes.typ index 0bbc9114..5445085c 100644 --- a/content/interference-fixes.typ +++ b/content/interference-fixes.typ @@ -1,4 +1,4 @@ -#import "/lib.typ": diorama, example, todo +#import "/lib.typ": diorama, example, note, todo #show raw.where(lang: "mc-diorama"): it => diorama(autoplay: true, loop: true, theta: 160, phi: 20, it.text) @@ -207,9 +207,10 @@ 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. +required length of tilesets and compact repetetive systems. 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, @@ -346,12 +347,13 @@ prefix | BED --> autoplay: true, loop: true, radius: 9, - phi:30, + phi: 30, theta: 110, speed: 0.4, it.text, ) + ```mc-diorama p 0 0 0 light_gray_terracotta @@ -465,7 +467,7 @@ p 1 1 4 power=14 p 2 1 4 power=13 p 3 1 4 power=12 p 4 1 4 power=11 -t 9 +t 10 p 5 0 8 powered=true p 0 1 8 power=11 p 1 1 8 power=12 @@ -473,59 +475,59 @@ p 2 1 8 power=13 p 3 1 8 power=14 p 4 1 8 power=15 -t 10 -p 4 0 -1 extended=true -p 4 -0.5 -1 piston_head type=normal facing=down short=true t 11 -p 4 0 3 extended=true -p 4 -0.5 3 piston_head type=normal facing=down short=true +p 4 0 -1 extended=true +p 4 -1 -1 piston_head type=normal facing=down short=false t 12 -p 4 0 7 extended=true -p 4 -0.5 7 piston_head type=normal facing=down short=true +p 4 0 3 extended=true +p 4 -1 3 piston_head type=normal facing=down short=false t 13 -p 3 -1 -1 extended=true -p 3 -0.5 -1 piston_head type=normal facing=up short=true +p 4 0 7 extended=true +p 4 -1 7 piston_head type=normal facing=down short=false t 14 -p 3 -1 3 extended=true -p 3 -0.5 3 piston_head type=normal facing=up short=true +p 3 -1 -1 extended=true +p 3 0 -1 piston_head type=normal facing=up short=false t 15 -p 3 -1 7 extended=true -p 3 -0.5 7 piston_head type=normal facing=up short=true +p 3 -1 3 extended=true +p 3 0 3 piston_head type=normal facing=up short=false t 16 -p 2 -1 -1 extended=true -p 2 -0.5 -1 piston_head type=normal facing=up short=true +p 3 -1 7 extended=true +p 3 0 7 piston_head type=normal facing=up short=false t 17 -p 2 -1 3 extended=true -p 2 -0.5 3 piston_head type=normal facing=up short=true +p 2 -1 -1 extended=true +p 2 0 -1 piston_head type=normal facing=up short=false t 18 -p 2 -1 7 extended=true -p 2 -0.5 7 piston_head type=normal facing=up short=true +p 2 -1 3 extended=true +p 2 0 3 piston_head type=normal facing=up short=false t 19 -p 1 -1 -1 extended=true -p 1 -0.5 -1 piston_head type=normal facing=up short=true +p 2 -1 7 extended=true +p 2 0 7 piston_head type=normal facing=up short=false t 20 -p 1 -1 3 extended=true -p 1 -0.5 3 piston_head type=normal facing=up short=true +p 1 -1 -1 extended=true +p 1 0 -1 piston_head type=normal facing=up short=false t 21 -p 1 -1 7 extended=true -p 1 -0.5 7 piston_head type=normal facing=up short=true +p 1 -1 3 extended=true +p 1 0 3 piston_head type=normal facing=up short=false t 22 -p 0 -1 -1 extended=true -p 0 -0.5 -1 piston_head type=normal facing=up short=true +p 1 -1 7 extended=true +p 1 0 7 piston_head type=normal facing=up short=false t 23 -p 0 -1 3 extended=true -p 0 -0.5 3 piston_head type=normal facing=up short=true +p 0 -1 -1 extended=true +p 0 0 -1 piston_head type=normal facing=up short=false t 24 -p 0 -1 7 extended=true -p 0 -0.5 7 piston_head type=normal facing=up short=true - +p 0 -1 3 extended=true +p 0 0 3 piston_head type=normal facing=up short=false t 25 +p 0 -1 7 extended=true +p 0 0 7 piston_head type=normal facing=up short=false + +t 26 p -2 0 0 powered=false p -2 0 4 powered=false -t 26 +t 27 p 6 0 8 powered=false -t 27 +t 28 p -1 0 0 powered=false p 0 1 0 power=0 p 1 1 0 power=0 @@ -533,7 +535,7 @@ p 2 1 0 power=0 p 3 1 0 power=0 p 4 1 0 power=0 -t 28 +t 29 p -1 0 4 powered=false p 0 1 4 power=0 p 1 1 4 power=0 @@ -541,7 +543,7 @@ p 2 1 4 power=0 p 3 1 4 power=0 p 4 1 4 power=0 -t 29 +t 30 p 5 0 8 powered=false p 0 1 8 power=0 p 1 1 8 power=0 @@ -549,197 +551,107 @@ p 2 1 8 power=0 p 3 1 8 power=0 p 4 1 8 power=0 -t 30 -p 4 -0.5 -1 air -p 4 -1.0 -1 piston_head type=normal facing=down short=false t 31 -p 4 -0.5 3 piston_head air -p 4 -1.0 3 piston_head type=normal facing=down short=false -t 32 -p 4 -0.5 7 piston_head air -p 4 -1.0 7 piston_head type=normal facing=down short=false -t 33 -p 3 -0.5 -1 air -p 3 0.0 -1 piston_head type=normal facing=up short=false -t 34 -p 3 -0.5 3 piston_head air -p 3 0.0 3 piston_head type=normal facing=up short=false -t 35 -p 3 -0.5 7 piston_head air -p 3 0.0 7 piston_head type=normal facing=up short=false -t 36 -p 2 -0.5 -1 air -p 2 0.0 -1 piston_head type=normal facing=up short=false -t 37 -p 2 -0.5 3 piston_head air -p 2 0.0 3 piston_head type=normal facing=up short=false -t 38 -p 2 -0.5 7 piston_head air -p 2 0.0 7 piston_head type=normal facing=up short=false -t 39 -p 1 -0.5 -1 air -p 1 0.0 -1 piston_head type=normal facing=up short=false -t 40 -p 1 -0.5 3 piston_head air -p 1 0.0 3 piston_head type=normal facing=up short=false -t 41 -p 1 -0.5 7 piston_head air -p 1 0.0 7 piston_head type=normal facing=up short=false -t 42 -p 0 -0.5 -1 air -p 0 0.0 -1 piston_head type=normal facing=up short=false -t 43 -p 0 -0.5 3 piston_head air -p 0 0.0 3 piston_head type=normal facing=up short=false -t 44 -p 0 -0.5 7 piston_head air -p 0 0.0 7 piston_head type=normal facing=up short=false - -t 45 p 3 0 -2 powered=true -t 46 +t 32 p 3 0 2 powered=true -t 47 +t 33 p 3 0 6 powered=true -t 48 +t 34 p 2 0 -2 powered=true -t 49 +t 35 p 2 0 2 powered=true -t 50 +t 36 p 2 0 6 powered=true -t 51 +t 37 p 1 0 -2 powered=true -t 52 +t 38 p 1 0 2 powered=true -t 53 +t 39 p 1 0 6 powered=true -t 54 +t 40 p 0 0 -2 powered=true -t 55 +t 41 p 0 0 2 powered=true -t 56 +t 42 p 0 0 6 powered=true +t 43 +p 4 0 -1 extended=false +p 4 -1 -1 air +t 44 +p 4 0 3 extended=false +p 4 -1 3 air +t 45 +p 4 0 7 extended=false +p 4 -1 7 air +t 46 +p 3 -1 -1 extended=false +p 3 0 -1 air +t 47 +p 3 -1 3 extended=false +p 3 0 3 air +t 48 +p 3 -1 7 extended=false +p 3 0 7 air +t 49 +p 2 -1 -1 extended=false +p 2 0 -1 air +t 50 +p 2 -1 3 extended=false +p 2 0 3 air +t 51 +p 2 -1 7 extended=false +p 2 0 7 air +t 52 +p 1 -1 -1 extended=false +p 1 0 -1 air +t 53 +p 1 -1 3 extended=false +p 1 0 3 air +t 54 +p 1 -1 7 extended=false +p 1 0 7 air +t 55 +p 0 -1 -1 extended=false +p 0 0 -1 air +t 56 +p 0 -1 3 extended=false +p 0 0 3 air t 57 -p 4 -1.0 -1 air -p 4 -0.5 -1 piston_head type=normal facing=down short=true +p 0 -1 7 extended=false +p 0 0 7 air + t 58 -p 4 -1.0 3 air -p 4 -0.5 3 piston_head type=normal facing=down short=true -t 59 -p 4 -1.0 7 air -p 4 -0.5 7 piston_head type=normal facing=down short=true -t 60 -p 3 0.0 -1 air -p 3 -0.5 -1 piston_head type=normal facing=up short=true -t 61 -p 3 0.0 3 air -p 3 -0.5 3 piston_head type=normal facing=up short=true -t 62 -p 3 0.0 7 air -p 3 -0.5 7 piston_head type=normal facing=up short=true -t 63 -p 2 0.0 -1 air -p 2 -0.5 -1 piston_head type=normal facing=up short=true -t 64 -p 2 0.0 3 air -p 2 -0.5 3 piston_head type=normal facing=up short=true -t 65 -p 2 0.0 7 air -p 2 -0.5 7 piston_head type=normal facing=up short=true -t 66 -p 1 0.0 -1 air -p 1 -0.5 -1 piston_head type=normal facing=up short=true -t 67 -p 1 0.0 3 air -p 1 -0.5 3 piston_head type=normal facing=up short=true -t 68 -p 1 0.0 7 air -p 1 -0.5 7 piston_head type=normal facing=up short=true -t 69 -p 0 0.0 -1 air -p 0 -0.5 -1 piston_head type=normal facing=up short=true -t 70 -p 0 0.0 3 air -p 0 -0.5 3 piston_head type=normal facing=up short=true -t 71 -p 0 0.0 7 air -p 0 -0.5 7 piston_head type=normal facing=up short=true - -t 72 -p 4 0.0 -1 extended=false -p 4 -0.5 -1 air -t 73 -p 4 0.0 3 extended=false -p 4 -0.5 3 air -t 74 -p 4 0.0 7 extended=false -p 4 -0.5 7 air -t 75 -p 3 -1.0 -1 extended=false -p 3 -0.5 -1 air -t 76 -p 3 -1.0 3 extended=false -p 3 -0.5 3 air -t 77 -p 3 -1.0 7 extended=false -p 3 -0.5 7 air -t 78 -p 2 -1.0 -1 extended=false -p 2 -0.5 -1 air -t 79 -p 2 -1.0 3 extended=false -p 2 -0.5 3 air -t 80 -p 2 -1.0 7 extended=false -p 2 -0.5 7 air -t 81 -p 1 -1.0 -1 extended=false -p 1 -0.5 -1 air -t 82 -p 1 -1.0 3 extended=false -p 1 -0.5 3 air -t 83 -p 1 -1.0 7 extended=false -p 1 -0.5 7 air -t 84 -p 0 -1.0 -1 extended=false -p 0 -0.5 -1 air -t 85 -p 0 -1.0 3 extended=false -p 0 -0.5 3 air -t 86 -p 0 -1.0 7 extended=false -p 0 -0.5 7 air - -t 87 p 3 0 -2 powered=false -t 88 +t 59 p 3 0 2 powered=false -t 89 +t 60 p 3 0 6 powered=false -t 90 +t 61 p 2 0 -2 powered=false -t 91 +t 62 p 2 0 2 powered=false -t 92 +t 63 p 2 0 6 powered=false -t 93 +t 64 p 1 0 -2 powered=false -t 94 +t 65 p 1 0 2 powered=false -t 95 +t 66 p 1 0 6 powered=false -t 96 +t 67 p 0 0 -2 powered=false -t 97 +t 68 p 0 0 2 powered=false -t 98 +t 69 p 0 0 6 powered=false -t 100 -p 0 0 0 # slight delay before loop +t 72 +p 0 0 0 ``` +#note()[This isn't *exactly* correct because the pistons take 2gt to extend and retract, but it correctly explains the update order of the observers] + == Single-Priority Loops