Xenofactions-2.2.1.jar
Curse Maven Snippet
What's new
# Pull request: secure and distribute Wall Art controllers
- Made Wall Art configuration opening server-authoritative and restricted it to the controller's UUID owner, with localized denial feedback.
- Added the missing Wall Art block display name and a localized `/xwallart` confirmation.
- Added the permission-free `/xwallart` player command, including safe item dropping when the inventory is full.
# Pull request: fix Wall Art collision and wall orientation
- Made Wall Art non-colliding like vanilla 1.7.10 vines while retaining its thin metadata-oriented selection and ray-trace bounds.
- Derived the controller's supporting-wall facing from the clicked horizontal face, rejected vertical attachment, and stopped player yaw from overwriting placement metadata.
- Added clicked-side support validation, centralized placement/support direction mapping, and replaced invalid metadata's full-cube bounds with a safe thin panel.
# Pull request: synchronize Wall Art controller visibility
- Invalidated cached client block geometry when synchronized Wall Art image, facing, or display dimensions change, so configured controllers disappear and cleared controllers reappear immediately.
- Explicitly synchronized newly placed Wall Art tile metadata after server-side ownership and facing initialization.
- Preserved hash-driven controller visibility, thin interaction and inventory geometry, and the existing tile renderer and server update path.
# Pull request: fix Wall Art block rendering
- Hid configured Wall Art controller geometry while preserving the downloaded-image TESR and the logical block's interaction bounds.
- Added a dedicated Forge 1.7.10 block renderer for metadata-oriented thin fallback panels in the world.
- Rendered the Wall Art inventory item as a fixed, thin vertical panel using its neutral fallback texture.
# Pull request: re-audit Wall Art importing against ImageFrame
- Added an independent Wall Art source policy with correct Postimages page/CDN defaults, bounded source dimensions and bytes, manual redirect limits, and separate success/failure cooldowns.
- Added bounded HTML image-page resolution for secure OpenGraph metadata and a limited image fallback, while revalidating every resolved URL and redirect with the existing SSRF protections.
- Switched Wall Art requests to a browser-compatible user agent, retained byte-level PNG/JPEG verification and memory-efficient source subsampling, and improved actionable HTTP, resolver, timeout, size, and decode errors.
- Refactored the asynchronous import lifecycle and all Wall Art-specific source files for readable Java, accurate in-progress/cooldown messages, short failure retries, sanitized diagnostics, and main-thread-only world updates.
# Pull request: fix Wall Art image importing
- Separated bounded Wall Art source downloads and source-dimension safety checks from the much smaller custom faction flag import limits.
- Added metadata-first PNG/JPEG decoding with source subsampling so normal high-resolution photographs are efficiently scaled into the selected 128x128 through 640x640 Wall Art canvas.
- Improved direct HTTPS image handling with byte-based format detection, query-safe parsed-host validation, per-redirect SSRF checks, bounded streamed downloads, image-oriented request headers, and clearer errors for HTML or unsupported payloads.
- Retained server-worker processing, final-image hashing, bounded PNG storage and transfer, and the existing HTTPS host whitelist.
# Pull request: fix Wall Art block and configuration GUI
- Centered and restored the Wall Art URL, display-size, and download controls by separating display dimensions from the inherited GUI screen dimensions.
- Preserved URL text and selected dimensions across GUI resizing, and added an inline prompt for empty submissions.
- Replaced the missing fallback texture reference with the existing neutral concrete panel texture while retaining dynamic image rendering.
- Made wall-mounted controllers drop when their supporting wall is removed using Forge 1.7.10 side-solid checks.
# Pull request: fix Forge 1.7.10 Wall Art compilation
- Updated Wall Art support checks to use Forge 1.7.10 `ForgeDirection` values for each neighboring wall face.
- Removed the unreferenced legacy image-placement helper that still wrote deleted URL, name, and string-owner fields directly into Wall Art tile entities.
- Preserved the server-authoritative Wall Art service, metadata-only tile entities, and the `wall_image_block` registry identity.
# Pull request: fix development runClient identities
- Restored GTNH's blank-name `Developer<random numbers>` behavior for default development clients.
- Assigned one fresh random UUID during each Gradle invocation before the run task finalizes its properties, while retaining validated independent `devUsername` and `devUuid` overrides.
- Kept `runClient` identity logging read-only so task execution no longer attempts to mutate finalized Gradle properties.
# Pull request: isolate faction saves and randomize development players
- Reset all faction, membership, diplomacy, claim, cooldown, protection, and overlay runtime state at the logical-server overworld lifecycle boundary, while retaining one shared database across dimensions.
- Bound cached faction data and auxiliary JSON persistence to the active save so a new or reopened world cannot inherit another world's state.
- Give each `runClient` execution a validated random development username and UUID by default, while preserving independent `devUsername` and `devUuid` overrides.
This mod has no additional files

