fangorn/huorn-minecraft
public
ref:52a3c86819d628ac8a224eb414f1e2ab3aeef0a1
Terminal persistence, exit→restart, Cmd-V, Matrix rain, macOS x86_64
Terminal persistence:
- Terminals survive chunk unload via global ConcurrentHashMap registry
- setRemoved() parks the terminal instead of killing it
- On reload, the BE reclaims its terminal from the registry
- onBlockRemoved() (player breaks block) actually kills the PTY
Exit handling:
- When shell exits (user runs `exit`), terminal returns to unstarted
state with Matrix rain, ready for another right-click
Platform paste:
- Cmd+V (macOS) works in addition to Ctrl+V (Windows/Linux)
- Both TerminalFocusScreen and TerminalScreen updated
Matrix rain:
- Proper falling-column animation with bright heads and fading trails
- Always renders on first frame (no conditional skip)
- RGBA byte order for memcpy compatibility
Cross-platform:
- macOS aarch64 + x86_64 natives bundled in JAR
- Linux builds need Docker for `cross` (not built yet)
Config limits:
- maxTerminalsPerPlayer enforced on terminal creation
- activeTerminalCount tracked globally
46 GameTests + 52 Rust tests, all passing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SHA:
52a3c86819d628ac8a224eb414f1e2ab3aeef0a1
Author:
Cole Christensen <cole.christensen@macmillan.com>
Date:
2026-03-20 18:18
Parents:
caceca3
6 files changed
+103
-89