Simply Screens 0.8.4 - Fabric 1.21.1
Curse Maven Snippet
What's new
Simply Screens 0.8.4
Highlights & Major Improvements
Authoritative Multi-Block Screen Lifecycle & Topology Reconciliation:
- Multi-block screens now maintain an authoritative anchor block entity that synchronizes structure bounds, displayed image, aspect ratio, and linked-screen identity across chunks.
- Seamlessly handles expanding screens from negative directions, merging adjacent displays, and breaking middle or corner blocks without corrupting metadata or leaving orphan child entities.
- Leftover blocks outside restructured screens are cleanly detached and promoted to independent anchors with inherited properties.
- Replicated authoritative state on dedicated multiplayer clients ensures screens render reliably regardless of chunk unload states.
- Capped structure detection and dimensions to a maximum of 64x64 blocks.
Atomic Linked Screen Management & Quota Enforcement:
- Combined Screen ID assignment and image selection into a single atomic transaction packet, preventing partial updates upon permission or claim failure.
- Linked Screen IDs are now persistent, server-owned resources with claim quotas (
MAX_OWNED_SCREEN_IDS_PER_PLAYER = 64) and owner validation. - Global cross-dimension image broadcasts now iterate all loaded server levels (
server.getAllLevels()). - Added support for clearing/unlinking screen IDs directly from the GUI.
Security & Transfer Hardening:
- Added strict SSRF protections preventing URL image downloads targeting private, loopback, link-local, multicast, or cloud-metadata network destinations.
- Added bounded worker queues, per-player upload concurrency limits, transaction timeouts, and deterministic cleanup for chunked transfers.
- Added full image decode checks (
ImageIO.read()) before publication to verify image stream integrity and reject malicious/corrupted payloads. - Added server-authoritative packet security validating player permissions, world boundaries, distance, dimension, and loaded chunk status.
Crash Resilience & Registry Persistence:
- Registry writes now use a resilient
.tmp->.bakbackup with atomic file moves. - Automatic backup recovery restores corrupt registry files upon startup or reload.
- Safe world-switch cleanup and cache invalidation.
- Registry writes now use a resilient
Cross-Platform Compatibility & Fixes:
- Fixed native file picker on macOS by splitting TinyFileDialogs filter arguments.
- Fixed stale list item selection callbacks and image list broadcasts.
- Added automated GitHub Actions PR & release test workflows.
This mod has no additional files

