
XenoFactions
Xenofactions is a fork of the Xradar factions mod with various improvements and usability for server owners wanting a factions/claiming mod without using plugins.
Оцените первым
5.9K
5
Список изменений
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
/xwallartconfirmation. - Added the permission-free
/xwallartplayer 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
ForgeDirectionvalues 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_blockregistry 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
devUsernameanddevUuidoverrides. - Kept
runClientidentity 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
runClientexecution a validated random development username and UUID by default, while preserving independentdevUsernameanddevUuidoverrides.
Файлы
Xenofactions-2.2.2.jar(33.33 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
2.2.2
Загрузчики
Forge
Версии игры
1.7.10
Загрузок
38
Дата публикации
24.08.2026
