How eliaslucky/posix-and-dos-computers-mod works
POSIX and DOS Computers is a Minecraft mod that turns in-world computer blocks into retro operating environments, including DOS, UNIX/Linux-style shells, and QBasic. The main user workflow is to interact with a computer terminal, boot or configure its machine, enter commands, and receive terminal output; commands may run through shell pipelines and redirections. The product also includes virtual filesystems, BIOS setup, terminal applications, and peripheral drivers. The graph reflects documented capabilities and sampled shell/network code; unsampled runtime wiring is omitted where it cannot be confirmed.
Main entry points: ComputerTerminalScreen.java Terminal screen · PipelineExecutor.java Pipeline executor · ComputerBlockEntity.java Computer block entity · QBasicApplication.java QBasic application
Components 23
Computer Runtime
- Computer block entity
src/main/java/com/eliaslucky/mc_dos/blocks/computer/ComputerBlockEntity.java - BIOS and setup
src/main/java/com/eliaslucky/mc_dos/blocks/computer/bios - OS kernels
src/main/java/com/eliaslucky/mc_dos/blocks/computer/kernel - Command processors
src/main/java/com/eliaslucky/mc_dos/blocks/computer/processors - Executable formats
src/main/java/com/eliaslucky/mc_dos/api/exec/ExecutableRegistry.java
Shell And Files
- Pipeline executor
src/main/java/com/eliaslucky/mc_dos/api/shell/PipelineExecutor.java - Pipeline stages
src/main/java/com/eliaslucky/mc_dos/api/shell/Pipeline.java - Stream resolver
src/main/java/com/eliaslucky/mc_dos/api/shell/StreamResolver.java - Virtual filesystem
src/main/java/com/eliaslucky/mc_dos/blocks/computer/VirtualFileSystem.java - Removable media
src/main/java/com/eliaslucky/mc_dos/items/RemovableMediaItem.java
Terminal Applications
- QBasic application
src/main/java/com/eliaslucky/mc_dos/client/apps/qbasic/QBasicApplication.java - QBasic interpreter
src/main/java/com/eliaslucky/mc_dos/blocks/computer/basic/QBasicInterpreter.java - Terminal app registry
src/main/java/com/eliaslucky/mc_dos/client/apps/TerminalApplicationRegistry.java - BIOS setup apps
src/main/java/com/eliaslucky/mc_dos/client/apps/bios
Hardware And Drivers
- Peripheral bus
src/main/java/com/eliaslucky/mc_dos/blocks/computer/bus/AdjacentBlocksBus.java - Driver registry
src/main/java/com/eliaslucky/mc_dos/api/hardware/DriverRegistry.java - OS device tables
src/main/java/com/eliaslucky/mc_dos/blocks/computer/kernel - Minecraft command peripheral
src/main/java/com/eliaslucky/mc_dos/blocks/peripheral/mccmd/MinecraftCommandTranslatorBlockEntity.java
Client And Network
- Terminal screen
src/main/java/com/eliaslucky/mc_dos/client/ComputerTerminalScreen.java - Terminal output packet
src/main/java/com/eliaslucky/mc_dos/network/ClientboundTerminalOutputPacket.java - Terminal state packet
src/main/java/com/eliaslucky/mc_dos/network/ClientboundTerminalStatePacket.java - File write result packet
src/main/java/com/eliaslucky/mc_dos/network/ClientboundFileWriteResultPacket.java
Other components
- Minecraft player
Connections 9
- Minecraft player → Terminal screen: interacts with
- Pipeline executor → Pipeline stages: executes stages
- Pipeline executor → Stream resolver: reads and writes streams
- Pipeline executor → Computer block entity: dispatches commands
- Computer block entity → Command processors: selects processor
- QBasic application → QBasic interpreter: runs BASIC
- Terminal output packet → Terminal screen: appends output
- Terminal state packet → Terminal screen: updates state
- File write result packet → Terminal screen: reports write result