sub-document rework
This commit is contained in:
19
content/00-index.typ
Normal file
19
content/00-index.typ
Normal file
@@ -0,0 +1,19 @@
|
||||
#import "/docs.typ": docs-page, note, warn
|
||||
|
||||
#show: docs-page("index.html", footer: none, header: none)
|
||||
|
||||
#title()
|
||||
|
||||
Everything I know about Entity ID Wireless Redstone (EID Wireless) for Minecraft Java Edition 1.14+.
|
||||
|
||||
#warn[
|
||||
In versions 1.14 - 26.1, only multiplayer servers are supported.
|
||||
|
||||
Singleplayer is supported in 26.2+. See @singleplayer for details.
|
||||
|
||||
It works on most (but not all) versions of Paper servers. See @paper for details.
|
||||
|
||||
It does not work with any version of Bedrock Edition.
|
||||
]
|
||||
|
||||
#outline(title: [Outline], depth: 2)
|
||||
@@ -1,21 +1,9 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Core Mechanics])
|
||||
#show: docs-page("/core.html")
|
||||
|
||||
#tip[
|
||||
Until version 26.2, this only works on multiplayer servers. See @singleplayer.
|
||||
]
|
||||
|
||||
#note[
|
||||
Until version 26.2, this only works on multiplayer servers. See @singleplayer.
|
||||
]
|
||||
|
||||
#warn[
|
||||
Until version 26.2, this only works on multiplayer servers. See @singleplayer.
|
||||
]
|
||||
|
||||
= Entity IDs
|
||||
= Stationary Item Optimization
|
||||
= Observable Drop Delay
|
||||
= Core Mechanics
|
||||
|
||||
== Entity IDs
|
||||
== Stationary Item Optimization
|
||||
== Observable Drop Delay
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Interference])
|
||||
#show: docs-page("interference.html")
|
||||
|
||||
= Entity Spawns
|
||||
= Single-Player (before 26.2) <singleplayer>
|
||||
= Mixed Diode
|
||||
= Lazy chunks
|
||||
= Reloading Chunks
|
||||
= Interference
|
||||
|
||||
== Entity Spawns
|
||||
== Single-Player (before 26.2) <singleplayer>
|
||||
== Paper, Spigot, and Bukkit Servers <paper>
|
||||
== Lazy chunks
|
||||
== Reloading Chunks
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Design Considerations])
|
||||
#show: docs-page("/design-tips.html")
|
||||
|
||||
= Tilesets
|
||||
== Binary vs Lexicographic
|
||||
= Block Event Delay
|
||||
= Synchronization
|
||||
== Daylight Detector
|
||||
== Geyser
|
||||
== Ender Pearl
|
||||
== Synchronization Protocols
|
||||
= Settling time
|
||||
= Horizontal vs Vertical Arrangement
|
||||
10
content/03-tileset.typ
Normal file
10
content/03-tileset.typ
Normal file
@@ -0,0 +1,10 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#show: docs-page("/tilesets.html")
|
||||
|
||||
= Global Ticking Order
|
||||
|
||||
== Tilesets
|
||||
=== Binary vs Lexicographic
|
||||
=== Mixed Diode Interference
|
||||
== Block Event Delay
|
||||
@@ -1,8 +0,0 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Channels])
|
||||
#show: docs-page("/channels.html")
|
||||
|
||||
= Static Channel Allocation
|
||||
= Dynamic Channel Selectors
|
||||
= Looped Connections
|
||||
13
content/04-design.typ
Normal file
13
content/04-design.typ
Normal file
@@ -0,0 +1,13 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#show: docs-page("/design-tips.html")
|
||||
|
||||
= Design Tips
|
||||
|
||||
== Synchronization
|
||||
=== Daylight Detector
|
||||
=== Geyser
|
||||
=== Ender Pearls
|
||||
=== Synchronization Protocols
|
||||
== Settling time
|
||||
== Horizontal vs Vertical Arrangement
|
||||
9
content/05-channels.typ
Normal file
9
content/05-channels.typ
Normal file
@@ -0,0 +1,9 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#show: docs-page("/channels.html")
|
||||
|
||||
= Channels
|
||||
|
||||
== Static Channel Allocation
|
||||
== Dynamic Channel Selectors
|
||||
== Looped Connections
|
||||
@@ -1,12 +0,0 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Transport Protocols])
|
||||
#show: docs-page("/transport-protocols.html")
|
||||
|
||||
= Mod 4 Binary
|
||||
= Mod 2 Binary
|
||||
= Mod 4 Quaternary
|
||||
= Transceivers
|
||||
= Logical Operations
|
||||
= Transport Protocol Catalog
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Bulk Transport])
|
||||
#show: docs-page("/bulk-transport.html")
|
||||
|
||||
= Tileable Receivers
|
||||
= Interleaved vs Sequential Channels
|
||||
= Chained vs Shared Reference
|
||||
= Broadcast and Multicast
|
||||
= Entity Batching
|
||||
|
||||
13
content/06-transport.typ
Normal file
13
content/06-transport.typ
Normal file
@@ -0,0 +1,13 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#show: docs-page("/transport-protocols.html")
|
||||
|
||||
= Transport Protocols
|
||||
|
||||
== Mod 4 Binary
|
||||
== Mod 2 Binary
|
||||
== Mod 4 Quaternary
|
||||
== Transceivers
|
||||
== Logical Operations
|
||||
== Transport Protocol Catalog
|
||||
|
||||
12
content/07-bulk.typ
Normal file
12
content/07-bulk.typ
Normal file
@@ -0,0 +1,12 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#show: docs-page("/bulk-transport.html")
|
||||
|
||||
= Bulk Transport
|
||||
|
||||
== Tileable Receivers
|
||||
== Interleaved vs Sequential Channels
|
||||
== Chained vs Shared Reference
|
||||
== Broadcast and Multicast
|
||||
== Entity Batching
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#set document(title: [Network Protocols])
|
||||
#show: docs-page("/network-protocols.html")
|
||||
|
||||
= Collision Prevention
|
||||
== Checkbit
|
||||
== Queue
|
||||
= Load Balancing
|
||||
= Private Channels
|
||||
= Self Syncing Protocol
|
||||
|
||||
12
content/08-network.typ
Normal file
12
content/08-network.typ
Normal file
@@ -0,0 +1,12 @@
|
||||
#import "/docs.typ": docs-page, note, tip, warn
|
||||
|
||||
#show: docs-page("/network-protocols.html")
|
||||
|
||||
= Network Protocols
|
||||
|
||||
== Collision Prevention
|
||||
=== Checkbit
|
||||
=== Queue
|
||||
== Load Balancing
|
||||
== Private Channels
|
||||
== Self Syncing Protocol
|
||||
12
docs.typ
12
docs.typ
@@ -2,9 +2,16 @@
|
||||
|
||||
#import "/static/index.typ": stylesheets
|
||||
|
||||
#let chapter-title = state("chapter-title", context document.title)
|
||||
|
||||
#let docs-page(path, header: auto, footer: auto) = main => document(path, html.html(
|
||||
lang: "en_US",
|
||||
{
|
||||
context chapter-title.update(old => context {
|
||||
let head = query(heading.where(level: 1).after(here())).first(default: none)
|
||||
return head.body
|
||||
})
|
||||
|
||||
html.head({
|
||||
html.meta(charset: "utf-8")
|
||||
html.meta(name: "viewport", content: "width=device-width, initial-scale=1")
|
||||
@@ -18,10 +25,9 @@
|
||||
context {
|
||||
let doc = query(document).first()
|
||||
link(doc.location(), doc.title)
|
||||
title(chapter-title.get())
|
||||
}
|
||||
|
||||
title()
|
||||
|
||||
context {
|
||||
let doc = query(selector(document).before(here())).last()
|
||||
outline(title: none, target: selector(heading).within(doc.location()))
|
||||
@@ -47,8 +53,6 @@
|
||||
} else {
|
||||
header
|
||||
})
|
||||
|
||||
divider()
|
||||
}
|
||||
html.main(main)
|
||||
if (footer != none) {
|
||||
|
||||
26
index.typ
26
index.typ
@@ -1,26 +0,0 @@
|
||||
#import "/docs.typ": docs-page, note
|
||||
|
||||
#set document(title: [The Wireless Masterclass])
|
||||
#show: docs-page("index.html", footer: none, header: none)
|
||||
|
||||
#title()
|
||||
|
||||
Everything I know about Entity ID based wireless redstone (EID Wireless) for Minecraft Java Edition 1.14+.
|
||||
|
||||
#note[ Until version 26.2, this only works on multiplayer servers. See @singleplayer. ]
|
||||
|
||||
#context {
|
||||
heading(numbering: none, outlined: false)[Outline]
|
||||
|
||||
html.nav({
|
||||
html.ol(style: "list-style-type: none", {
|
||||
for doc in query(selector(document).after(here())) {
|
||||
show html.elem.where(tag: "nav"): it => it.body
|
||||
html.li({
|
||||
html.div(link(doc.location(), doc.title))
|
||||
outline(title: none, depth: 1, target: selector(heading).within(doc.location()))
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
36
main.typ
36
main.typ
@@ -1,32 +1,14 @@
|
||||
#set heading(numbering: "1.")
|
||||
|
||||
// #import "docs.typ": docs-page
|
||||
|
||||
// #show: it => document("/index.html", it)
|
||||
|
||||
// #include "static/index.typ"
|
||||
|
||||
// #docs-page(include "index.typ") <index>
|
||||
// #docs-page(include "content/00-intro.typ")
|
||||
|
||||
|
||||
// #let docs-page(it) = document("index.html", {
|
||||
// context {
|
||||
// repr(query(selector(metadata).before(<front-matter>)))
|
||||
// }
|
||||
// it
|
||||
// })
|
||||
|
||||
// #let docs-page(it) = context {
|
||||
// }
|
||||
#set heading(numbering: "1.1 -")
|
||||
#set document(title: [The EID Wireless Masterclass])
|
||||
|
||||
#include "static/index.typ"
|
||||
|
||||
#include "index.typ"
|
||||
#include "content/00-index.typ"
|
||||
#include "content/01-core.typ"
|
||||
#include "content/02-interference.typ"
|
||||
#include "content/03-design.typ"
|
||||
#include "content/04-channels.typ"
|
||||
#include "content/05-transport.typ"
|
||||
#include "content/06-bulk.typ"
|
||||
#include "content/07-network.typ"
|
||||
#include "content/03-tileset.typ"
|
||||
#include "content/04-design.typ"
|
||||
#include "content/05-channels.typ"
|
||||
#include "content/06-transport.typ"
|
||||
#include "content/07-bulk.typ"
|
||||
#include "content/08-network.typ"
|
||||
|
||||
@@ -14,12 +14,10 @@
|
||||
color: mediumblue;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: LinkText;
|
||||
@media print {
|
||||
:root {
|
||||
font: 10pt / 1.5 serif
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
@@ -48,12 +46,8 @@ nav > ol {
|
||||
padding-inline-start: 0;
|
||||
}
|
||||
|
||||
ol ol {
|
||||
margin-block-end: 1em;
|
||||
}
|
||||
|
||||
body {
|
||||
max-width: 800px;
|
||||
max-width: 88ch;
|
||||
margin: 40px auto;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user